Split Girlsway from Adult Time. Added Fantasy Massage. Using Gamma scraper for Pure Taboo. Added photo path parameter to Gamma scraper.
|
@ -22,7 +22,7 @@ module.exports = {
|
||||||
'famedigital',
|
'famedigital',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
// Gamma; Evil Angel + Devil's Film and Wicked have their own assets
|
// Gamma; Evil Angel + Devil's Film, Pure Taboo (unavailable) and Wicked have their own assets
|
||||||
'xempire',
|
'xempire',
|
||||||
'blowpass',
|
'blowpass',
|
||||||
],
|
],
|
||||||
|
|
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 51 KiB |
|
@ -0,0 +1,84 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 2150 270" style="enable-background:new 0 0 2150 270;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#6a6a6a;}
|
||||||
|
.st1{fill:#ED74A6;}
|
||||||
|
</style>
|
||||||
|
<title>agm-hor</title>
|
||||||
|
<path class="st0" d="M1268.7,49.9c0.1-4.8,3.2-10.6,9.1-17.5c8.5-9.8,14.7-14.3,18.4-13.6c3.5,0.5,5.1,1.7,4.7,3.6
|
||||||
|
c-0.5,2.4-3.7,7.4-9.8,15c-50.3,63.1-80.3,108.6-89.9,136.4c40-48.3,75.1-83.6,105.3-105.7c6.3-4.8,12.1-7.1,17.5-7.1
|
||||||
|
c4.9,0,6.7,3.1,5.6,9.3c-1,4.4-2.6,8.6-4.7,12.5c-3.7,7.4-13.2,24.2-28.5,50.4c-10.8,18.8-16.2,30-16.4,33.6
|
||||||
|
c1-1.2,16.4-18.2,46.3-51.1c18.9-20.9,35.9-37.4,51-49.3c5.1-4,10-6.7,14.6-7.9c6.2-1.7,8.7,0.8,7.4,7.5c-1,5.2-4.4,12.9-10.1,22.9
|
||||||
|
c-20.3,35.2-32,61.1-35.2,77.5c-2.3,11.9,0.1,18.5,7.1,19.6c2.5,0.5,6.6-1.3,12.4-5.4c5.8-4.1,9.2-6.1,10.2-6.1
|
||||||
|
c0.6-0.1,1.2,0.2,1.4,0.7c0.7,1.7-2.1,4.6-8.4,8.7c-6.3,4.2-11,6.4-14.2,6.6c-14.3,0.9-20-6.3-17.1-21.8c1.7-8.8,6.6-21.7,14.7-38.6
|
||||||
|
c6.9-13.6,13.8-27.3,20.5-41.1c5.2-11.2,8-17.6,8.3-19.3c0.4-1.9,0.1-3.1-0.9-3.6c-1.5-0.5-7.1,3.6-17,12.1
|
||||||
|
c-15.1,13.3-33.4,32.4-54.8,57.1c-23.1,26.7-35.4,40.8-37.2,42.5c-1.7,1.7-4.4,2.5-8,2.5c-5.1,0-7.1-1.4-5.7-4.3
|
||||||
|
c2.6-5.5,17.6-32.9,44.9-82.1c4.4-8.1,7.1-15.1,8.2-21.1c0.6-3.3,0.3-5.1-0.9-5.4c-1.5-0.5-8.5,4.4-21.3,14.6
|
||||||
|
c-15.8,12.6-34.5,31.2-56.1,55.7c-16.3,18.3-29.3,34-39,47.1c-2.1,2.9-5.7,4.3-10.8,4.3c-3.9,0-5.2-1.2-3.9-3.6
|
||||||
|
C1201.7,153.6,1229.1,108.2,1268.7,49.9z M1522.7,96.9c0.3,1.2,1.2,2.1,2.3,2.5c1.1,0.4,1.9,1.3,2.3,2.3c-0.6,1.6-1.4,3-2.4,4.4
|
||||||
|
c-16,24.6-25.5,44.8-28.6,60.7c-1.8,9.2-0.3,14.9,4.4,17c0.6,0.3,1.3,0.5,2,0.5c0.8-0.1,1.6-0.2,2.3-0.5c0.7-0.2,1.3-0.4,2-0.5
|
||||||
|
c1.2,0,1.8,0.3,1.6,1c-0.4,2.1-2.8,3.2-7.1,3.2c-1.6,0-3.3-0.3-4.8-1c-6.5-2.7-8.7-9.5-6.6-20.1c1.1-5.3,2.6-10.5,4.4-15.6
|
||||||
|
c1.6-4.4,2.9-8.9,4-13.5c-12.9,14.7-25.9,26.7-39,35.9c-14.5,10.2-26.9,15.3-37.2,15.3c-1.9,0-3.8-0.2-5.7-0.5
|
||||||
|
c-8.4-1.8-11.3-9.4-8.7-22.8c3-15.5,10.6-32.1,23.1-49.7c30.6-43.2,58.1-64.8,82.7-64.8c14.5,0,20.1,8.7,16.8,26
|
||||||
|
C1529,83.7,1526.4,90.6,1522.7,96.9z M1512.4,108.3c0.3-4.4,0.8-7.3,1.4-8.7c1.3-2,2.7-3.8,4.2-5.6c2.6-5.7,4.5-11.6,5.7-17.7
|
||||||
|
c2.7-14.2-0.9-21.3-10.9-21.4c-9.1,0-20.7,5.5-34.9,16.5c-14.6,11.4-27.4,24.9-38.1,40c-14.6,20.5-23.4,38.8-26.4,54.8
|
||||||
|
c-2.1,11.2,0.4,17.2,7.5,18.2c11.6,1.6,28.9-8,52.1-28.9C1494.5,136.2,1507.6,120.5,1512.4,108.3L1512.4,108.3z M1631,63
|
||||||
|
c-13-0.6-26.6,3-40.8,10.9c-15.4,8.4-24,18-25.9,28.6c-1.7,9.9,1.9,19.2,10.9,27.9c1.6,1.5,10,7.5,25.1,18.2
|
||||||
|
c15.8,11.3,23.2,20.1,22.2,26.4c-0.8,4.2-6.2,7.8-16.3,10.9c-10.5,3.1-21.4,4.7-32.4,4.6c-2.9,0-5.9-0.2-8.8-0.5
|
||||||
|
c-26.1-2.3-38.2-8.2-36.2-17.7c0.9-3.9,3.4-7.8,7.4-11.9s7.8-6.2,11.3-6.6c0.5,0,0.8,0.2,0.7,0.5c0,0.2-1.8,2.3-5.4,6.6
|
||||||
|
s-5.4,7.4-5.5,9.7c-0.6,8.6,9.3,13.6,29.6,15c6.7,0.5,15.3-0.1,25.7-1.7c13.8-2.1,21.2-5.3,22-9.7c0.7-3.7-3.3-9.1-12.1-16.3
|
||||||
|
c-1.4-1.1-9.4-6.9-24.2-17.2c-18.2-12.8-25.1-26.5-20.7-41.2c2.9-9.9,12.4-19.4,28.5-28.5c16.1-9.1,32-13.6,47.8-13.5
|
||||||
|
c19.7,0.2,27,12.9,21.8,38.1c0.6,0.6,0.9,1.6,0.6,2.4c0,0.2-2,4-5.9,11.6c-6.7,13.4-12.7,20.9-17.9,22.6c-1.2,0.4-2.5,0.7-3.8,0.7
|
||||||
|
c-0.6,0.1-1.2-0.2-1.3-0.8c-0.1-0.2,0-0.4,0-0.7c0.2-1,2.3-4.3,6.3-9.9c4.1-5.7,7.7-11.7,10.7-18c0.7-2.9,1.3-5.7,1.8-8.2
|
||||||
|
C1650.3,74.5,1645.2,63.6,1631,63L1631,63z M1750.4,63c-13-0.6-26.6,3-40.8,10.9c-15.4,8.4-24,18-25.9,28.6
|
||||||
|
c-1.7,9.9,1.9,19.2,10.9,27.9c1.6,1.5,10,7.5,25.1,18.2c15.8,11.3,23.2,20.1,22.2,26.4c-0.8,4.2-6.2,7.8-16.3,10.9
|
||||||
|
c-10.5,3.1-21.4,4.7-32.4,4.6c-2.9,0-5.9-0.2-8.8-0.5c-26.1-2.3-38.2-8.2-36.2-17.7c0.9-3.9,3.4-7.8,7.4-11.9s7.8-6.2,11.3-6.6
|
||||||
|
c0.5,0,0.8,0.2,0.7,0.5c0,0.2-1.8,2.3-5.4,6.6s-5.4,7.4-5.5,9.7c-0.6,8.6,9.3,13.6,29.6,15c6.7,0.5,15.3-0.1,25.7-1.7
|
||||||
|
c13.8-2.1,21.2-5.3,22-9.7c0.7-3.7-3.3-9.1-12.1-16.3c-1.4-1.1-9.4-6.9-24.2-17.2c-18.2-12.8-25.1-26.5-20.7-41.2
|
||||||
|
c2.9-9.9,12.4-19.4,28.5-28.5s32-13.6,47.8-13.5c19.7,0.2,27,12.9,21.8,38.1c0.6,0.6,0.9,1.6,0.6,2.4c0,0.2-2,4-5.9,11.6
|
||||||
|
c-6.7,13.4-12.7,20.9-17.9,22.6c-1.2,0.4-2.5,0.7-3.8,0.7c-0.6,0.1-1.2-0.2-1.3-0.8c-0.1-0.2,0-0.4,0-0.7c0.2-1,2.3-4.3,6.3-9.9
|
||||||
|
c4.1-5.7,7.7-11.7,10.7-18c0.7-2.9,1.3-5.7,1.8-8.2C1769.7,74.5,1764.6,63.6,1750.4,63L1750.4,63z M1886.6,96.9
|
||||||
|
c0.3,1.2,1.2,2.1,2.3,2.5c1.1,0.4,1.9,1.3,2.3,2.3c-0.6,1.6-1.4,3-2.4,4.4c-16,24.6-25.5,44.8-28.6,60.7c-1.8,9.2-0.3,14.9,4.4,17
|
||||||
|
c0.6,0.3,1.3,0.5,2,0.5c0.8-0.1,1.6-0.2,2.3-0.5c0.7-0.2,1.4-0.4,2.1-0.5c1.2,0,1.8,0.3,1.6,1c-0.4,2.1-2.8,3.2-7.1,3.2
|
||||||
|
c-1.6,0-3.3-0.3-4.8-1c-6.5-2.7-8.7-9.5-6.6-20.1c1.1-5.3,2.6-10.5,4.4-15.6c1.6-4.4,2.9-8.9,4-13.5c-12.9,14.7-25.9,26.7-39,35.9
|
||||||
|
c-14.5,10.2-26.9,15.3-37.2,15.3c-1.9,0-3.8-0.2-5.7-0.5c-8.4-1.8-11.3-9.4-8.7-22.8c3-15.5,10.6-32.1,23.1-49.7
|
||||||
|
c30.6-43.2,58.1-64.8,82.7-64.8c14.5,0,20.1,8.7,16.8,26C1893,83.7,1890.4,90.6,1886.6,96.9z M1876.3,108.3c0.3-4.4,0.8-7.3,1.4-8.7
|
||||||
|
c1.3-2,2.7-3.8,4.2-5.6c2.6-5.7,4.5-11.6,5.7-17.7c2.7-14.2-0.9-21.3-10.9-21.4c-9.1,0-20.7,5.5-34.9,16.5
|
||||||
|
c-14.6,11.4-27.4,24.9-38.1,40c-14.6,20.5-23.4,38.8-26.4,54.8c-2.1,11.2,0.4,17.2,7.5,18.2c11.6,1.6,28.9-8,52.1-28.9
|
||||||
|
C1858.4,136.2,1871.6,120.5,1876.3,108.3L1876.3,108.3z M2027.2,118.8c-4.3,6.1-8,12.5-11.2,19.2c-4.8,10.7-9.7,21.3-14.7,31.8
|
||||||
|
c-9.5,19.9-18,35.5-25.4,46.8c-19.6,29.4-39.7,44.2-60.5,44.2c-12.2,0-20.7-4-25.4-12.1c-4.1-7.1-5-16.7-2.9-28.6
|
||||||
|
c-0.7-0.6-1-1.7-0.7-3.2c1-4.3,2.9-8.2,5.6-11.6c2.3-3.1,5.6-4.3,9.9-3.6c2,0.3,2.9,1.1,2.7,2.4c-0.2,1.1-1.3,2.9-3.4,5.3
|
||||||
|
c-1.7,1.8-3.3,3.6-4.7,5.6c-1.6,2.7-2.7,5.6-3.2,8.7c-1.5,7.2-0.7,14.7,2.5,21.3c3.6,7.6,9.5,11.6,17.6,12.1
|
||||||
|
c19.6,1.3,39.3-13.1,59-43.2c11.6-18,22.7-42.2,33.2-72.8c-11.4,12.1-24,22.8-37.8,32c-19,12.8-35.4,18.6-49.1,17.5
|
||||||
|
c-14.8-1.1-20.6-10-17.4-26.7c1.7-8.9,5.8-19.2,12.4-30.8c5.6-10,12.2-19.5,19.8-28.1c33.2-38,62.8-56.3,88.7-54.8
|
||||||
|
c15.4,0.8,21.3,10.6,17.7,29.4c-2,10.7-6.9,22.5-14.6,35.4C2026,116,2026.8,117.3,2027.2,118.8L2027.2,118.8z M2021.7,113.2
|
||||||
|
c5.8-12.3,9.6-23.2,11.5-32.8c3.3-17.3-1-26.1-12.8-26.4c-13.7-0.5-28.3,4.9-43.9,16.3c-10.9,7.9-24.3,20.5-40.2,37.8
|
||||||
|
c-6.7,7.6-12.6,15.9-17.5,24.7c-7,11.8-11.3,22.1-12.9,30.8c-2.7,14.4,2.1,22.3,14.6,23.8c11.1,1.3,25.8-4.4,44.1-17
|
||||||
|
c14.3-9.6,27.2-21.1,38.4-34.2c5.2-7.9,9.9-14.6,14-20.1C2018.5,115,2020.1,114.1,2021.7,113.2L2021.7,113.2z M2054.9,134.5
|
||||||
|
c-4.6,7.6-7.8,16-9.4,24.7c-2.8,14.6,0.8,23,10.6,25.2c3.1,0.7,6.3,1,9.5,1c7.9,0,17.6-2.5,29.3-7.6c11.7-5.1,17.2-7.6,16.5-7.6
|
||||||
|
c0.5,0,0.7,0.4,0.6,1.2c-0.2,1.1-3.2,3.2-9.1,6.3c-14,7.6-27.9,11.4-41.7,11.4c-18.3,0-25.7-9.4-22.1-28.1
|
||||||
|
c2.2-11.3,8.1-24.4,17.7-39.3c18-27.8,34.9-46.4,50.7-55.8c5.1-3,10.9-4.5,16.8-4.4c1.7,0,3.5,0.2,5.1,0.5c3.7,0.8,6.4,3.2,8.3,7.3
|
||||||
|
s2.3,8.8,1.2,14.3c-0.9,4.6-2.7,9.1-5.1,13.1c-6,10.1-13.7,19.1-22.8,26.4c-9.7,7.6-19.8,12.3-30.4,14.1c-2.4,0.5-4.8,0.7-7.2,0.7
|
||||||
|
c-3.1-0.1-6.2-0.6-9.1-1.7C2061.2,135.1,2058.1,134.6,2054.9,134.5L2054.9,134.5z M2076.9,134.3c7.9,0,16.9-3.8,27-11.4
|
||||||
|
c9.7-7,17.7-16.2,23.4-26.7c1.7-3.3,2.9-6.8,3.6-10.4c2.5-12.9-1.8-18.8-12.9-17.5c-6.2,0.6-17.1,8.9-32.6,24.9
|
||||||
|
s-23.8,26.7-24.9,32.4c-0.5,2.6,1.5,4.8,6.1,6.6C2069.8,133.5,2073.4,134.3,2076.9,134.3L2076.9,134.3z"/>
|
||||||
|
<path class="st1" d="M388.5,191.2h-34L343.8,158h-56.9l-9.9,33.2h-32.8l55.3-155.7h34.2L388.5,191.2z M335.6,133.4L316,62.2
|
||||||
|
l-20.2,71.2H335.6L335.6,133.4z M495.5,191.2H415V35.5h30.7v128.6h49.8L495.5,191.2L495.5,191.2z M603.9,191.2h-80.5V35.5h30.7
|
||||||
|
v128.6h49.8L603.9,191.2L603.9,191.2z M838.4,110.3c0,21.4-6.4,40.1-19.2,56.1s-24.8,24.7-36,26.1c-11.2,1.4-17.8,2.1-19.6,2.1h-4.3
|
||||||
|
c-15.7,0.2-31.1-4-44.5-12.1c-13.3-8.1-23.5-19.7-30.5-34.8c-4.4-10.6-6.7-22-6.7-33.5c0.2-5.9,0.8-11.8,1.7-17.7
|
||||||
|
c1.1-8.6,5.4-18.5,12.9-29.8c7.3-11.2,17.5-20.1,29.5-26c6.3-2.6,12.7-4.6,19.3-6.1c6.5-1.5,13.2-2.3,20-2.3
|
||||||
|
c5.3,0.2,10.6,0.6,15.9,1.3c7.4,0.8,15.9,4,25.7,9.4c9.7,5.3,18.1,12.7,24.6,21.6l-24.8,19c-4.6-7.3-11-13.3-18.6-17.3
|
||||||
|
c-7.5-4-15.8-6.1-24.3-6c-7.4-0.1-14.8,1.6-21.5,4.7c-6.5,3.1-12.2,7.7-16.5,13.5c-7.8,10.1-12.1,22.5-12,35.3
|
||||||
|
c0,10.1,2.6,20,7.6,28.7c4.9,8.8,12.4,15.9,21.4,20.3c24.6,10.9,53.4,0.7,65.6-23.3l1.3-2.9h-34v-26.3H838.4L838.4,110.3z
|
||||||
|
M905.8,191.2h-30.7V35.5h30.7L905.8,191.2L905.8,191.2z M1054.1,191.2h-37.6l-39.9-71.9v71.9h-30.9V35.5l57.6,0.6
|
||||||
|
c11.3,0,21,4.3,29,13c7.8,8.2,12.1,19,12,30.3c0,5-0.9,9.9-2.5,14.6c-2.5,6.7-6.6,12.6-12.1,17.2c-5.4,4.5-12,7.3-19,8L1054.1,191.2
|
||||||
|
z M1003.7,65.6c-3.3-1.9-6.9-3.1-10.7-3.6h-16.4v41h20c4.7-1.3,8.8-4.2,11.7-8.1c2.9-3.7,4.5-8.2,4.5-12.9c0-3.1-0.7-6.3-2.2-9
|
||||||
|
C1008.9,69.9,1006.6,67.4,1003.7,65.6z M1160,191.2h-80.5V35.5h30.7v128.6h49.8L1160,191.2L1160,191.2z M183.3,46.4
|
||||||
|
c48.1,102.3-50,153-100.2,119.1c49.5,14.8,129-18.4,102.9-105.4c1.3,9.8-0.1,19.7-4.1,28.8c-2.9,6.6-6.7,12.6-11.9,17.1
|
||||||
|
c-22.3,19.2-50.7,11.2-60.9,8c-31.4-9.7-54.6,8.5-60,27.2c-8.1,28.1,5.2,50.5,27.7,60.4l-0.1,0.1c48.3,21.2,104.9-1.3,126.1-49.6
|
||||||
|
C218.6,116.2,210.9,74.3,183.3,46.4z M51.3,112.2c22.5-18.9,50.9-10.5,61.1-7.2c31.2,10.1,54.8-7.8,60.4-26.3
|
||||||
|
c8.5-28-4.5-50.5-26.8-60.7l0.1-0.1C97.9-4,41,17.7,19.1,65.7c-16,35.1-9.3,76.5,17,104.7c-44-105,56.8-151.3,105.4-115
|
||||||
|
C91.7,37.9,8.1,69,35.4,161.8c-2.2-11-0.9-22.5,3.8-32.7C42.2,122.5,46.1,116.5,51.3,112.2L51.3,112.2z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 36 KiB |
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 561.6 67.3" style="enable-background:new 0 0 561.6 67.3;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#0DAEA6;}
|
||||||
|
.st1{fill:#B3B3B3;stroke:#B3B3B3;stroke-miterlimit:10;}
|
||||||
|
.st2{fill:#B3B3B3;}
|
||||||
|
.st3{fill:#00ACA3;}
|
||||||
|
</style>
|
||||||
|
<path class="st0" d="M69.3,23.2c6.1,1.5,9.9,3.6,9.9,5.9c0,4.6-14.8,8.3-33.1,8.3s-33.1-3.7-33.1-8.3c0-2.3,3.8-4.4,9.9-5.9
|
||||||
|
c-8.6,1.7-14,4.4-14,7.3c0,5.2,16.7,9.4,37.2,9.4s37.2-4.2,37.2-9.4C83.4,27.5,77.9,24.9,69.3,23.2z"/>
|
||||||
|
<path class="st0" d="M61.5,23.6c4,1,6.5,2.4,6.5,3.9c0,3-9.8,5.5-21.8,5.5s-21.8-2.5-21.8-5.5c0-1.5,2.5-2.9,6.5-3.9
|
||||||
|
c-5.6,1.1-9.3,2.9-9.3,4.8c0,3.4,11,6.2,24.5,6.2s24.5-2.8,24.5-6.2C70.7,26.5,67.1,24.8,61.5,23.6z"/>
|
||||||
|
<path class="st1" d="M335.8,33.7l-8,11.1c-0.2,0.3-0.5,0.4-0.7,0.4H327c-0.3,0-0.6-0.1-0.8-0.4l-8-11.1v20.6c0,0.5-0.4,0.9-0.9,0.9
|
||||||
|
c-0.5,0-0.9-0.4-0.9-0.9V31.1c0-0.3,0.1-0.5,0.4-0.7c0,0,0,0,0.1-0.1c0.4-0.3,0.9-0.2,1.2,0.2l8.9,12.3l8.9-12.3
|
||||||
|
c0.3-0.4,0.8-0.5,1.2-0.2c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.3,0.1,0.5v23.2c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9
|
||||||
|
L335.8,33.7L335.8,33.7z"/>
|
||||||
|
<path class="st1" d="M371.6,48.7h-11.4l-2.2,5.9c-0.1,0.4-0.5,0.6-0.8,0.6c-0.1,0-0.2,0-0.3,0c-0.4-0.2-0.7-0.7-0.5-1.1l8.7-23.2
|
||||||
|
c0.1-0.3,0.5-0.5,0.9-0.5c0.4,0,0.8,0.2,0.9,0.5l8.7,23.2c0.2,0.4,0,1-0.5,1.1c-0.1,0-0.2,0-0.3,0c-0.3,0-0.7-0.2-0.8-0.6
|
||||||
|
L371.6,48.7z M360.9,46.9H371l-5-13.5L360.9,46.9z"/>
|
||||||
|
<path class="st1" d="M392.9,50.5c0.3-0.4,0.8-0.4,1.1-0.1c1.9,1.5,5,3.3,8.2,3.2c2.2,0,4.2-0.6,5.5-1.6c1.4-1,2.1-2.3,2.1-3.7
|
||||||
|
c0-1.4-0.7-2.5-2-3.4c-1.4-0.9-3.4-1.6-5.8-2H402c-2.3-0.4-4.4-1.1-5.9-2.1c-1.5-1-2.6-2.5-2.6-4.4c0-1.9,1-3.5,2.6-4.7
|
||||||
|
c1.6-1.1,3.7-1.8,6-1.8c3.3,0,5.8,1.6,7.7,2.9c0.4,0.3,0.5,0.7,0.2,1.1c-0.2,0.4-0.7,0.5-1.1,0.2c-2-1.3-4.1-2.6-6.9-2.6
|
||||||
|
c-2,0-3.9,0.6-5.1,1.5c-1.3,0.9-2,2.1-2,3.4c0,1.3,0.6,2.2,1.9,3c1.3,0.9,3.1,1.5,5.4,1.9h0.1c2.5,0.5,4.7,1.2,6.4,2.3
|
||||||
|
c1.6,1.1,2.8,2.7,2.8,4.7c0,2-1.1,3.8-2.8,5c-1.7,1.2-3.9,2-6.4,2c-3.8,0-7.2-2-9.2-3.6C392.7,51.3,392.7,50.8,392.9,50.5z"/>
|
||||||
|
<path class="st1" d="M430,50.5c0.3-0.4,0.8-0.4,1.1-0.1c1.9,1.5,5,3.3,8.2,3.2c2.2,0,4.2-0.6,5.5-1.6c1.4-1,2.1-2.3,2.1-3.7
|
||||||
|
c0-1.4-0.7-2.5-2-3.4c-1.4-0.9-3.4-1.6-5.8-2h-0.1c-2.3-0.4-4.4-1.1-5.9-2.1c-1.5-1-2.6-2.5-2.6-4.4c0-1.9,1-3.5,2.6-4.7
|
||||||
|
c1.6-1.1,3.7-1.8,6-1.8c3.3,0,5.8,1.6,7.7,2.9c0.4,0.3,0.5,0.7,0.2,1.1c-0.2,0.4-0.7,0.5-1.1,0.2c-2-1.3-4.1-2.6-6.9-2.6
|
||||||
|
c-2,0-3.9,0.6-5.1,1.5c-1.3,0.9-2,2.1-2,3.4c0,1.3,0.6,2.2,1.9,3c1.3,0.9,3.1,1.5,5.4,1.9h0.1c2.5,0.5,4.7,1.2,6.4,2.3
|
||||||
|
c1.6,1.1,2.8,2.7,2.8,4.7c0,2-1.1,3.8-2.8,5c-1.7,1.2-3.9,2-6.4,2c-3.8,0-7.2-2-9.2-3.6C429.8,51.3,429.8,50.8,430,50.5z"/>
|
||||||
|
<path class="st1" d="M481.8,48.7h-11.4l-2.2,5.9c-0.1,0.4-0.5,0.6-0.8,0.6c-0.1,0-0.2,0-0.3,0c-0.4-0.2-0.7-0.7-0.5-1.1l8.7-23.2
|
||||||
|
c0.1-0.3,0.5-0.5,0.9-0.5c0.4,0,0.8,0.2,0.9,0.5l8.7,23.2c0.2,0.4,0,1-0.5,1.1c-0.1,0-0.2,0-0.3,0c-0.3,0-0.7-0.2-0.8-0.6
|
||||||
|
L481.8,48.7z M471,46.9h10.1l-5-13.5L471,46.9z"/>
|
||||||
|
<path class="st1" d="M515.4,43.9c-0.5,0-0.9-0.4-0.9-0.9c0-0.5,0.4-0.9,0.9-0.9h7.7h0.1c0.4,0,0.8,0.4,0.8,0.9v8.6v0.1
|
||||||
|
c0,0.3-0.1,0.5-0.3,0.6c-2.2,1.8-5,2.8-8.1,2.8c-7.2,0-13-5.7-13-12.7c0-7,5.8-12.7,13-12.7c3.1,0,5.9,1.1,8.1,2.8
|
||||||
|
c0.3,0.3,0.4,0.9,0.1,1.2c-0.3,0.4-0.8,0.4-1.3,0.1c-1.8-1.5-4.3-2.4-7-2.4c-6.3,0-11.3,4.9-11.3,10.9c0,6.1,5,11,11.3,11
|
||||||
|
c2.4,0,4.8-0.8,6.6-2.1v-7.4C522.2,43.9,515.4,43.9,515.4,43.9z"/>
|
||||||
|
<path class="st1" d="M546.4,31c0-0.5,0.4-0.9,0.9-0.9h0.1h12.8c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9h-12v9.9h10.5
|
||||||
|
c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9h-10.5v9.9h12c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9h-12.8h-0.1h-0.1
|
||||||
|
c-0.4,0-0.8-0.4-0.8-0.9V31z"/>
|
||||||
|
<g>
|
||||||
|
<path class="st2" d="M75.8,22.9c8.3,2,13.5,4.8,13.5,7.9c0,6-19.5,10.9-43.5,10.9S2.3,36.8,2.3,30.8c0-3.4,6.3-6.5,16.2-8.5
|
||||||
|
C8.2,24.1,0.1,27,0.1,30.6c0,2.7,3.6,36.6,46.1,36.6c41.5,0,46.1-29.9,46.1-36.2C92.3,27.6,85.1,24.8,75.8,22.9z"/>
|
||||||
|
</g>
|
||||||
|
<path class="st3" d="M38.1,15.1l7.5-13c0.3-0.5,1-0.5,1.2,0l7.5,12.9c0.8,1.4,1.3,3,1.3,4.7c0,5.2-4.2,9.4-9.4,9.4
|
||||||
|
c-5.2,0-9.4-4.2-9.4-9.4C36.8,18.1,37.3,16.5,38.1,15.1z"/>
|
||||||
|
<path class="st3" d="M149.4,28.9c0,15.8-2.3,23.7-6.9,23.7c-1,0-2.7-1.1-4.9-3.4l-18.9-19.5l-0.5,7.4c-0.2,2.5-0.8,5.6-1.9,9.3
|
||||||
|
c-1.7,5.7-4,9.5-6.7,11.4c-0.1,0-0.2,0.1-0.4,0.1c-0.7,0-1.8-0.4-3.4-1.3c-1.6-0.8-2.4-1.4-2.4-1.7c0-0.2,0.1-0.4,0.4-0.4
|
||||||
|
c0.2,0,0.4,0.1,0.8,0.2c0.4,0.1,0.7,0.2,1,0.2c1.1,0,3-2.7,5.7-8.2c3-6.1,5-12.1,6.1-18c-1.4-1.8-2.7-3.2-4-4
|
||||||
|
c-0.9-0.5-1.3-0.8-1.3-0.9c0-0.2,0.2-0.4,0.7-0.4c5.1,0,8.1,0.5,8.9,1.4l19.3,23.8c0.6,0.8,1.2,1.1,1.9,1.1c0.6,0,1.1-0.6,1.5-1.7
|
||||||
|
c0.4-1.2,0.6-2.7,0.6-4.5c0-5.3-0.3-9.5-0.9-12.7c-0.4-2.3-0.9-3.9-1.6-5.1c-0.6-1-0.9-1.4-0.9-1.3c0-0.3,0.3-0.5,1-0.5
|
||||||
|
c0.6,0,1.8,0.6,3.6,1.7C148.4,27.1,149.4,28.1,149.4,28.9z"/>
|
||||||
|
<path class="st3" d="M203.7,54.3c0,0.2-0.7,0.6-2,1.2c-4.6,2.1-6.9,3.2-7.1,3.2c-0.6,0-1.9-6.6-3.7-19.7l0.2-0.1v0.1h-0.3
|
||||||
|
c-2,4-5.2,7.6-9.5,10.9c-4.7,3.7-9,5.5-13.1,5.5c-4.2,0-6.2-2.6-6.2-7.7c0-0.1,0.3-2.4,0.9-7c0.6-4.5,0.9-8.2,0.9-10.9
|
||||||
|
c0-0.6,0.3-1,0.8-1c0.6,0,1.8,0.3,3.6,1c1.8,0.7,2.6,1.2,2.6,1.6c0-0.1-0.3,1.2-1,3.8c-0.7,2.7-1,5.1-1,7.3c0,1.5,0.4,2.8,1.3,3.8
|
||||||
|
c1,1.3,2.3,1.9,4.1,1.9c3.4,0,6.9-1.8,10.4-5.4c2.3-2.3,4.2-4.9,5.8-7.7c1-1.8,1.8-3,2.3-3.3c0.5-0.4,1.7-0.6,3.6-0.7
|
||||||
|
c-0.2,1.2-0.3,1.9-0.3,2.2c0,2.5,0.6,6.3,1.8,11.2c1.4,5.8,2.9,8.7,4.2,8.7C203.2,53.4,203.7,53.7,203.7,54.3z"/>
|
||||||
|
<path class="st3" d="M249.2,37.3c0,0.5-0.5,1.2-1.5,2c-1,0.8-2,1.2-3,1.2c-1.8,0-3.5-0.7-5.2-2.1c-1.5-1.1-2.6-2.4-3.2-3.8l-5.7,6.8
|
||||||
|
c-4.6,5.5-7.2,9.8-7.8,13c-0.2,0.8-0.5,1.2-1,1.2c-2.5,0-3.8-0.5-3.8-1.6c0,0.1,0-1.6,0-5.3c-0.1-3.6-0.1-6.4-0.1-8.2
|
||||||
|
c0-2.2-0.3-5.5-0.8-9.8c0-0.9,0.6-1.3,1.7-1.3c1.3,0,2.7,0.2,4.3,0.6c2,0.5,3,1.1,3,1.8c0,0.8-0.6,3.3-1.6,7.5
|
||||||
|
c-1.1,4.3-1.6,6.9-1.6,8c0,0.3,0,0.6,0.1,0.7l0.1,0.1c1.7-3.2,5.8-8.3,12.2-15.3l0.3-0.4c0-1.6,0.5-3.1,1.6-4.5c1.1-1.4,2.3-2,3.7-2
|
||||||
|
c0.5,0,0.7,0.2,0.7,0.6c0.3,1.9,0.7,3.5,1.2,4.9c1.2,3.3,2.9,5.1,5.1,5.4C248.8,36.9,249.2,37.1,249.2,37.3z"/>
|
||||||
|
<path class="st3" d="M302.3,54.3c0,0.2-0.7,0.6-2,1.2c-4.6,2.1-6.9,3.2-7.1,3.2c-0.6,0-1.9-6.6-3.7-19.7l0.2-0.1v0.1h-0.3
|
||||||
|
c-2,4-5.2,7.6-9.5,10.9c-4.7,3.7-9,5.5-13.1,5.5c-4.2,0-6.2-2.6-6.2-7.7c0-0.1,0.3-2.4,0.9-7c0.6-4.5,0.9-8.2,0.9-10.9
|
||||||
|
c0-0.6,0.3-1,0.8-1c0.6,0,1.8,0.3,3.6,1c1.8,0.7,2.6,1.2,2.6,1.6c0-0.1-0.3,1.2-1,3.8c-0.7,2.7-1,5.1-1,7.3c0,1.5,0.4,2.8,1.3,3.8
|
||||||
|
c1,1.3,2.3,1.9,4.1,1.9c3.4,0,6.9-1.8,10.4-5.4c2.3-2.3,4.2-4.9,5.8-7.7c1-1.8,1.8-3,2.3-3.3c0.5-0.4,1.7-0.6,3.6-0.7
|
||||||
|
c-0.2,1.2-0.3,1.9-0.3,2.2c0,2.5,0.6,6.3,1.8,11.2c1.4,5.8,2.9,8.7,4.2,8.7C301.8,53.4,302.3,53.7,302.3,54.3z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 38 KiB |
|
@ -0,0 +1,52 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 684 100" style="enable-background:new 0 0 684 100;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#F6B0C2;}
|
||||||
|
.st1{fill:#C66780;}
|
||||||
|
.st2{fill:#929393;}
|
||||||
|
.st3{fill:none;}
|
||||||
|
</style>
|
||||||
|
<g>
|
||||||
|
<path class="st0" d="M85.1,98.9C85.1,98.9,85.1,98.9,85.1,98.9c-9.9,0-20.4-4.8-29.1-13.3c-8.7,8.5-19.2,13.3-29.1,13.3
|
||||||
|
c-8.8,0-16.5-3.9-21.7-11l-0.1-0.1c-20.5-30.7,46.2-82,49.1-84.1l1.8-1.4l1.8,1.4c2.8,2.2,69.5,53.5,49.1,84.1l-0.1,0.1
|
||||||
|
C101.6,95,93.9,98.9,85.1,98.9z M55.9,76.9l2.2,2.4c7.9,8.5,17.9,13.6,26.9,13.6h0c6.9,0,12.7-2.9,16.8-8.5
|
||||||
|
C115.7,63.5,75,24.8,55.9,9.8C36.9,24.8-3.8,63.5,10,84.4c4.1,5.6,9.9,8.5,16.8,8.5c9,0,19-5.1,26.9-13.6L55.9,76.9z"/>
|
||||||
|
</g>
|
||||||
|
<path class="st1" d="M55.9,63.2c-1.8-1.9-4.3-2.3-5.6-0.6c-2.2,3.3,5.6,9.2,5.6,9.2s7.8-5.9,5.6-9.2C60.2,60.8,57.7,61.3,55.9,63.2z
|
||||||
|
"/>
|
||||||
|
<path class="st2" d="M158.4,56.2c-2.3,0-3.5-1-3.5-3c0-2.1,1.3-3.1,3.7-3.1h17.2c4.6,0,5.1,3.6,5.1,7.5c0,16-9.2,29.1-23.7,29.1
|
||||||
|
c-17.5,0-25.9-17.2-25.9-33.2c0-17.8,9-32.9,27-32.9c5.6,0,12.9,2.4,17.7,7.8c0.9,0.9,1.3,1.9,1.3,2.8c0,1.6-1.1,3.5-3.1,3.5
|
||||||
|
c-0.9,0-2.1-0.8-2.8-1.4c-4.5-4.4-9.2-6-13.5-6c-13.5,0-20.2,11.1-20.2,26.1c0,12.7,6.5,26.8,19.7,26.8c11.1,0,17.5-10.3,17.5-22.7
|
||||||
|
c0-0.8,0.1-1.2-0.3-1.3H158.4z"/>
|
||||||
|
<path class="st2" d="M188.3,26.2c0-2.1,1-3.1,2.9-3.1c2,0,2.9,1,2.9,3.1v56.4c0,2.1-1,3.1-2.9,3.1c-1.9,0-2.9-1-2.9-3.1V26.2z"/>
|
||||||
|
<path class="st2" d="M203.5,26.6c0-2.3,1.5-3.4,4.5-3.4h18.3c11.8,0,18.1,8.8,18.1,17.6c0,6.9-4,13.8-12.2,16.2l11.1,23.1
|
||||||
|
c0.5,1,0.7,2,0.7,3c0,1.6-0.8,2.8-2.5,2.8c-1,0-2.1-0.3-2.7-1.7l-12.8-25.8h-16.7V82c0,2.5-1,3.8-2.9,3.8c-2,0-2.9-1.3-2.9-3.8V26.6
|
||||||
|
z M209.3,29.4v22.8h17.6c7.8,0,11.4-5.5,11.4-11.1c0-5.7-3.9-11.7-11.4-11.7H209.3z"/>
|
||||||
|
<path class="st2" d="M252.3,26.2c0-2.1,1-3.1,2.9-3.1c2,0,2.9,1,2.9,3.1v53.4h25.5c2,0,2.9,1,2.9,3c0,2.1-1,3.1-2.9,3.1h-27.4
|
||||||
|
c-2.6,0-3.9-1.6-3.9-4.8V26.2z"/>
|
||||||
|
<path class="st2" d="M310,28.4C304.8,28.4,300,33,300,39c0,5.4,6.8,8.5,13.6,12.4c7.1,4.1,14.8,8.3,14.8,17.1
|
||||||
|
c0,12.1-8.5,18.3-19.4,18.3c-5,0-9.6-1.4-13.7-4.2c-1.4-1-2.1-2.3-2.1-3.7c0-1.9,0.9-2.9,2.7-2.9c0.9,0,1.8,0.3,2.8,1
|
||||||
|
c3.1,2,7.1,3.2,10.6,3.2c6.9,0,12.8-3.2,12.8-11.3c0-5.1-5.7-8.3-11.9-11.7c-7.8-4.3-16.5-9-16.5-17.8c0-11.1,7.9-17.5,17.9-17.5
|
||||||
|
c4.3,0,9,1.3,13.5,3.9c1.5,0.9,2.2,2.4,2.2,3.9c0,1.7-1.1,3.3-2.8,3.3c-1,0-1.9-0.8-3-1.5C318.7,29.7,314.2,28.4,310,28.4z"/>
|
||||||
|
<path class="st3" d="M420.7,41c0-5.2-3.5-10.4-10.2-10.4h-16.4v20.4h16.4C417.6,50.9,420.7,46,420.7,41z"/>
|
||||||
|
<path class="st2" d="M377.4,24.4h-29.3c-1.5,0-2,0.5-2,1.9c0,1.2,0.3,1.8,2,1.8H361v54.1c0,2.2,0.9,2.3,1.8,2.3c0.7,0,1.6,0,1.6-2.3
|
||||||
|
V28.1h13c1.3,0,1.8-0.5,1.8-1.8C379.2,24.9,378.8,24.4,377.4,24.4z"/>
|
||||||
|
<path class="st2" d="M409.9,24.4h-18.3c-3.3,0-3.3,1.4-3.3,2.2V82c0,2.6,1,2.6,1.7,2.6c0.6,0,1.6,0,1.6-2.6V57.1h18.6l13.1,26.5
|
||||||
|
c0.3,0.7,0.8,1,1.6,1c0.4,0,1.3,0,1.3-1.6c0-0.8-0.2-1.6-0.6-2.4L414,56.2l1.4-0.4c8.4-2.4,11.3-9.3,11.3-15
|
||||||
|
C426.8,32.6,421,24.4,409.9,24.4z M410.5,53.4h-18.8V28.1h18.8c8.3,0,12.6,6.5,12.6,12.9C423.2,47,419.2,53.4,410.5,53.4z"/>
|
||||||
|
<path class="st2" d="M470.5,25.8c0-1.3-0.5-1.5-1.4-1.5c-0.5,0-1.1,0.1-1.8,1.3L452.7,52l-15-26.5c-0.6-1.2-1.1-1.2-1.4-1.2
|
||||||
|
c-0.7,0-1.4,0.1-1.4,1.7c0,0.6,0.1,1.1,0.4,1.6l15.2,28.4v26.1c0,2.2,0.9,2.4,1.8,2.4c0.9,0,1.7-0.2,1.7-2.4V56.1L470.2,27
|
||||||
|
C470.4,26.6,470.5,26.2,470.5,25.8z"/>
|
||||||
|
<path class="st2" d="M522.7,72.9h-27.3l-3.3,9.6c-0.7,2.1-1.9,3.2-3.6,3.2c-1.8,0-2.5-1.4-2.5-3c0-0.6,0.2-1.2,0.3-1.7l17.9-54
|
||||||
|
c0.9-2.5,2.5-3.8,4.6-3.8c2.1,0,3.7,1.3,4.6,3.8l18.6,54c0.2,0.6,0.3,1.3,0.3,1.8c0,1.7-1,2.9-2.7,2.9c-1.4,0-2.4-0.7-2.9-2
|
||||||
|
L522.7,72.9z M497.1,66.5h23.5L509,31.9L497.1,66.5z"/>
|
||||||
|
<path class="st2" d="M539.9,26.8c0-2.4,1-3.7,2.9-3.7c1.5,0,2.9,1,4.1,3l31,48.5V26.4c0-2.1,1-3.2,2.9-3.2c2,0,2.9,1.1,2.9,3.2V82
|
||||||
|
c0,2.4-1,3.7-2.9,3.7c-1.5,0-2.9-0.8-4-2.5l-31.1-48.3v47.6c0,2.1-1,3.2-2.9,3.2c-2,0-2.9-1.1-2.9-3.2V26.8z"/>
|
||||||
|
<path class="st2" d="M629.6,72.9h-27.3l-3.3,9.6c-0.7,2.1-1.9,3.2-3.6,3.2c-1.8,0-2.5-1.4-2.5-3c0-0.6,0.2-1.2,0.3-1.7l17.9-54
|
||||||
|
c0.9-2.5,2.5-3.8,4.6-3.8s3.7,1.3,4.6,3.8l18.6,54c0.2,0.6,0.3,1.3,0.3,1.8c0,1.7-1,2.9-2.7,2.9c-1.4,0-2.4-0.7-2.9-2L629.6,72.9z
|
||||||
|
M603.9,66.5h23.5l-11.6-34.6L603.9,66.5z"/>
|
||||||
|
<path class="st2" d="M646.7,26.2c0-2.1,1-3.1,2.9-3.1c2,0,2.9,1,2.9,3.1v53.4H678c2,0,2.9,1,2.9,3c0,2.1-1,3.1-2.9,3.1h-27.4
|
||||||
|
c-2.6,0-3.9-1.6-3.9-4.8V26.2z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 63 KiB |
|
@ -0,0 +1,77 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 391 318" style="enable-background:new 0 0 391 318;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#D484B8;}
|
||||||
|
.st1{fill:#C2C2C1;}
|
||||||
|
.st2{fill:#D484B7;}
|
||||||
|
</style>
|
||||||
|
<path class="st0" d="M148.1,127.7c1.5,0.2,3,0.3,4.5,0.3c4.5,0,8.7-0.8,12.7-2.5s7.4-4,10.4-6.9c2.9-3,5.5-6.4,7.2-10.4l23.8-12.7
|
||||||
|
c0,4.5,1,8.7,2.7,12.7s3.9,7.5,6.9,10.4c2.9,3,6.4,5.3,10.3,6.9c3.9,1.7,8.1,2.5,12.6,2.5c0.5,0,1,0,1.5,0c3.8-0.2,7.4-1,10.8-2.5
|
||||||
|
c2.7-1.1,5.1-2.6,7.4-4.3c1.1-0.8,2.1-1.7,3-2.7c2.9-3,5.2-6.4,6.9-10.4c1.7-4,2.5-8.2,2.5-12.7V60.2l21.4-11.5v46.7
|
||||||
|
c0,1.9-0.1,3.7-0.3,5.5v37.5c0,7.5-1.4,14.5-4.1,20.9c-2.8,6.5-6.6,12.2-11.4,17.1s-10.4,8.8-16.8,11.6c-6.4,2.8-13.3,4.2-20.7,4.2
|
||||||
|
h-10.7V171H239c4.4,0,8.6-0.8,12.4-2.5c3.9-1.7,7.3-4,10.2-6.9c2.9-3,5.2-6.4,6.9-10.4c1.7-4,2.5-8.2,2.5-12.7v-0.1
|
||||||
|
c-2.2,1.7-4.5,3.2-7,4.5c-1.4,0.8-2.8,1.5-4.3,2.1c-0.1,0-0.1,0.1-0.2,0.1c-1.7,0.7-3.5,1.4-5.3,1.9c-0.1,0-0.1,0-0.2,0.1
|
||||||
|
c-0.6,0.2-1.2,0.4-1.8,0.5c-0.1,0-0.1,0-0.2,0.1c-0.5,0.1-1.1,0.3-1.6,0.4c-0.2,0-0.4,0.1-0.7,0.1c-0.5,0.1-1,0.2-1.6,0.3
|
||||||
|
c-0.2,0-0.5,0.1-0.7,0.1c-0.4,0.1-0.8,0.1-1.3,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.6,0.1-1.3,0.1-1.9,0.2c-0.1,0-0.1,0-0.2,0
|
||||||
|
c-1.6,0.1-3.2,0.2-4.8,0.2c-8.8,0-16.9-2-24.4-5.9s-13.7-9.2-18.6-15.9c-4.9,6.7-11.1,12-18.5,15.9s-15.6,5.9-24.5,5.9
|
||||||
|
c-7.3,0-14.3-1.4-20.8-4.2c-2.7-1.2-5.2-2.6-7.6-4.1C124.1,140.9,148.1,127.6,148.1,127.7"/>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M124.2,140.9c-3.4-2.1-6.5-4.6-9.3-7.5c-4.9-4.9-8.8-10.7-11.6-17.2c-2.8-6.5-4.2-13.5-4.2-20.8V41.8h21.5
|
||||||
|
v53.6c0,4.5,0.8,8.7,2.5,12.7c1.7,4,4,7.5,6.9,10.4c2.9,3,6.4,5.3,10.3,6.9c2.5,1.1,5.1,1.8,7.8,2.2L124.2,140.9z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M80.5,253.7v20.9c0,2.9-0.6,5.6-1.7,8.1c-1.1,2.6-2.7,4.8-4.6,6.7c-2,1.9-4.2,3.4-6.8,4.5
|
||||||
|
c-2.6,1.1-5.4,1.6-8.3,1.6c-3.5,0-6.7-0.8-9.7-2.3s-5.5-3.6-7.4-6.2c-2,2.6-4.4,4.7-7.4,6.2s-6.2,2.3-9.8,2.3
|
||||||
|
c-2.9,0-5.7-0.5-8.3-1.6s-4.9-2.6-6.9-4.5s-3.5-4.2-4.6-6.7c-1.1-2.6-1.7-5.3-1.7-8.1v-20.9h8.6v20.9c0,1.7,0.3,3.4,1,5
|
||||||
|
s1.6,2.9,2.8,4.1s2.5,2.1,4.1,2.7c1.6,0.7,3.2,1,5,1s3.5-0.3,5.1-1s3-1.6,4.1-2.7c1.2-1.2,2.1-2.5,2.8-4.1s1-3.2,1-5v-20.9h8.5
|
||||||
|
v20.9c0,1.7,0.3,3.4,1,5s1.6,2.9,2.8,4.1s2.5,2.1,4.1,2.7c1.6,0.7,3.2,1,5,1s3.5-0.3,5.1-1s3-1.6,4.1-2.7c1.2-1.2,2.1-2.5,2.8-4.1
|
||||||
|
c0.7-1.6,1-3.2,1-5v-20.9H80.5z"/>
|
||||||
|
<path class="st1" d="M114,280.8l6,5.9l-3,2.9c-2,2-4.4,3.5-7,4.6s-5.3,1.6-8.2,1.6c-2.9,0-5.6-0.5-8.2-1.6s-4.9-2.6-7-4.6
|
||||||
|
c-2.1-2.1-3.7-4.4-4.7-7s-1.5-5.2-1.5-7.9c0-2.7,0.5-5.3,1.5-7.9s2.6-4.9,4.7-6.9c2.1-2.1,4.5-3.6,7.1-4.6s5.3-1.5,8.1-1.5
|
||||||
|
c2.7,0,5.4,0.5,8.1,1.5c2.6,1,5,2.6,7.1,4.6l3,2.9l-23.7,23.3c2.4,1.2,5,1.6,7.7,1.2s5.1-1.6,7.1-3.6L114,280.8z M92.8,265.8
|
||||||
|
c-2.5,2.5-3.8,5.5-3.8,9c0,1.9,0.4,3.8,1.3,5.5c0.8-0.7,1.9-1.9,3.5-3.4s3.2-3.1,5-4.9c1.7-1.7,3.4-3.3,5.1-4.9
|
||||||
|
c1.6-1.6,2.9-2.8,3.8-3.6c-2.4-1.2-5-1.6-7.7-1.2C97.2,262.6,94.8,263.8,92.8,265.8z"/>
|
||||||
|
<path class="st1" d="M150,255.4c2.6,1.1,4.8,2.6,6.8,4.5c1.9,1.9,3.5,4.1,4.6,6.6s1.7,5.3,1.7,8.2c0,2.9-0.6,5.6-1.7,8.1
|
||||||
|
c-1.1,2.6-2.6,4.8-4.6,6.7c-1.9,1.9-4.2,3.4-6.8,4.5c-2.6,1.1-5.4,1.6-8.3,1.6s-5.7-0.5-8.3-1.6c-2.6-1.1-4.9-2.6-6.9-4.5
|
||||||
|
s-3.5-4.2-4.6-6.7c-1.1-2.6-1.7-5.3-1.7-8.1V237h8.5v16.8h13C144.7,253.8,147.4,254.4,150,255.4z M141.7,287.4c1.8,0,3.4-0.3,5-1
|
||||||
|
s2.9-1.6,4.1-2.7c1.2-1.2,2.1-2.5,2.8-4.1c0.7-1.6,1-3.2,1-5c0-1.7-0.3-3.4-1-4.9s-1.6-2.9-2.8-4c-1.2-1.2-2.5-2.1-4.1-2.7
|
||||||
|
c-1.6-0.7-3.2-1-5-1h-13v12.6c0,1.7,0.3,3.4,1,5s1.6,2.9,2.8,4.1c1.2,1.2,2.6,2.1,4.1,2.7C138.2,287.1,139.9,287.4,141.7,287.4z"/>
|
||||||
|
<path class="st2" d="M212.9,253.7v37.8c0,2.9-0.6,5.7-1.7,8.2s-2.6,4.8-4.6,6.7c-1.9,1.9-4.2,3.4-6.8,4.5c-2.6,1.1-5.4,1.6-8.3,1.6
|
||||||
|
h-4.3v-8.3h4.3c1.8,0,3.4-0.3,5-1s2.9-1.6,4.1-2.7c1.2-1.2,2.1-2.5,2.8-4.1c0.7-1.6,1-3.2,1-5v-0.1c-1.8,1.4-3.8,2.4-6,3.2
|
||||||
|
c-2.2,0.7-4.5,1.1-6.9,1.1c-2.9,0-5.7-0.5-8.3-1.6c-2.6-1.1-4.9-2.6-6.9-4.5s-3.5-4.2-4.6-6.7c-1.1-2.6-1.7-5.3-1.7-8.1v-20.9h8.5
|
||||||
|
v20.9c0,1.7,0.3,3.4,1,5s1.6,2.9,2.8,4.1c1.2,1.2,2.6,2.1,4.1,2.7c1.6,0.7,3.3,1,5.1,1c1.8,0,3.4-0.3,5-1s2.9-1.6,4.1-2.7
|
||||||
|
c1.2-1.2,2.1-2.5,2.8-4.1c0.7-1.6,1-3.2,1-5v-20.9h8.5V253.7z"/>
|
||||||
|
<path class="st2" d="M213.1,274.7c0-2.9,0.6-5.7,1.7-8.2s2.6-4.7,4.6-6.6c1.9-1.9,4.2-3.4,6.8-4.5c2.6-1.1,5.4-1.6,8.3-1.6
|
||||||
|
c3,0,5.8,0.5,8.3,1.6c2.6,1.1,4.8,2.6,6.8,4.5s3.5,4.1,4.6,6.6s1.7,5.3,1.7,8.2c0,2.9-0.6,5.6-1.7,8.1c-1.1,2.6-2.7,4.8-4.6,6.7
|
||||||
|
c-2,1.9-4.2,3.4-6.8,4.5c-2.6,1.1-5.4,1.6-8.3,1.6s-5.7-0.5-8.3-1.6c-2.6-1.1-4.9-2.6-6.8-4.5s-3.5-4.2-4.6-6.7
|
||||||
|
C213.6,280.3,213.1,277.6,213.1,274.7z M221.5,274.7c0,1.7,0.3,3.4,1,5s1.6,2.9,2.8,4.1c1.2,1.2,2.6,2.1,4.1,2.7
|
||||||
|
c1.6,0.7,3.3,1,5.1,1c1.8,0,3.5-0.3,5.1-1s3-1.6,4.1-2.7c1.2-1.2,2.1-2.5,2.8-4.1c0.7-1.6,1-3.2,1-5c0-1.7-0.3-3.4-1-4.9
|
||||||
|
s-1.6-2.9-2.8-4c-1.2-1.2-2.6-2.1-4.1-2.7c-1.6-0.7-3.3-1-5.1-1c-1.8,0-3.5,0.3-5.1,1s-3,1.6-4.1,2.7c-1.2,1.2-2.1,2.5-2.8,4
|
||||||
|
C221.8,271.4,221.5,273,221.5,274.7z"/>
|
||||||
|
<path class="st2" d="M298.7,253.6v20.9c0,2.9-0.6,5.6-1.7,8.1c-1.1,2.6-2.7,4.8-4.6,6.7c-2,1.9-4.2,3.4-6.8,4.5
|
||||||
|
c-2.6,1.1-5.4,1.6-8.3,1.6s-5.7-0.5-8.3-1.6c-2.6-1.1-4.9-2.6-6.8-4.5s-3.5-4.2-4.6-6.7c-1.1-2.6-1.7-5.3-1.7-8.1v-20.9h8.5v20.9
|
||||||
|
c0,1.7,0.3,3.4,1,5s1.6,2.9,2.8,4.1c1.2,1.2,2.5,2.1,4.1,2.7c1.6,0.7,3.2,1,5,1s3.5-0.3,5.1-1s3-1.6,4.1-2.7
|
||||||
|
c1.2-1.2,2.1-2.5,2.8-4.1c0.7-1.6,1-3.2,1-5v-20.9H298.7z"/>
|
||||||
|
<path class="st2" d="M300.6,266.5c1.1-2.5,2.6-4.7,4.6-6.6c1.9-1.9,4.2-3.4,6.8-4.5s5.4-1.6,8.3-1.6c3,0,5.8,0.5,8.3,1.6
|
||||||
|
c2.6,1.1,4.8,2.6,6.8,4.5s3.5,4.1,4.6,6.6s1.7,5.2,1.7,8.2v21h-8.5v-21c0-1.7-0.3-3.4-1-4.9s-1.6-2.9-2.8-4
|
||||||
|
c-1.2-1.2-2.6-2.1-4.1-2.7c-1.6-0.7-3.3-1-5.1-1s-3.4,0.3-5,1s-2.9,1.6-4.1,2.7c-1.2,1.2-2.1,2.5-2.8,4c-0.7,1.5-1,3.2-1,4.9v21
|
||||||
|
h-8.5v-21C298.9,271.7,299.5,269,300.6,266.5z"/>
|
||||||
|
<path class="st2" d="M363.3,253.6c3,0,5.8,0.5,8.3,1.6c2.6,1.1,4.8,2.6,6.8,4.5c1.9,1.9,3.5,4.1,4.6,6.6s1.7,5.2,1.7,8.2v16.8
|
||||||
|
c0,2.9-0.6,5.7-1.7,8.2c-1.1,2.5-2.6,4.8-4.6,6.7c-1.9,1.9-4.2,3.4-6.8,4.5s-5.4,1.6-8.3,1.6H359V304h4.3c2.9,0,5.4-0.8,7.6-2.4
|
||||||
|
c2.2-1.6,3.7-3.6,4.6-6.1h-12.2c-2.9,0-5.7-0.5-8.3-1.6s-4.9-2.6-6.9-4.5s-3.5-4.2-4.6-6.7c-1.1-2.6-1.7-5.3-1.7-8.1
|
||||||
|
c0-2.9,0.6-5.7,1.7-8.2c1.1-2.5,2.7-4.7,4.6-6.6c2-1.9,4.3-3.4,6.9-4.5S360.4,253.6,363.3,253.6z M350.3,274.6c0,1.7,0.3,3.4,1,5
|
||||||
|
s1.6,2.9,2.8,4.1s2.6,2.1,4.1,2.7c1.6,0.7,3.3,1,5.1,1h13v-12.7c0-1.7-0.3-3.4-1-4.9s-1.6-2.9-2.8-4c-1.2-1.2-2.6-2.1-4.1-2.7
|
||||||
|
c-1.6-0.7-3.3-1-5.1-1s-3.5,0.3-5.1,1s-3,1.6-4.1,2.7c-1.2,1.2-2.1,2.5-2.8,4C350.7,271.2,350.3,272.8,350.3,274.6z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M345.5,216.4H49.4V3.5h296.1V216.4z M61.2,204.6h272.5V15.3H61.2V204.6z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M182.8,108.1c1.7-4,2.5-8.2,2.5-12.7V41.8h21.3v53.6C206.6,95.4,182.7,108.4,182.8,108.1z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M292.4,41.8v6.9L271,60.2V41.8H292.4z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 13 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 351.1 22.5" style="enable-background:new 0 0 351.1 22.5;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#FFFFFF;}
|
||||||
|
</style>
|
||||||
|
<path class="st0" d="M8,0.4C6.7,0.4,5.5,0.6,4.3,1c-1,0.3-1.8,0.9-2.5,1.6S0.7,4.1,0.4,5C0.1,6-0.1,7,0,8.1v14.4h3.9v-8.7H17v-3.7
|
||||||
|
H3.7V8c0-0.5,0.1-1,0.2-1.5C4,6.1,4.3,5.6,4.6,5.3C5,4.9,5.5,4.7,6,4.5c0.7-0.2,1.4-0.3,2.2-0.3h8.9V0.3L8,0.4L8,0.4z M28,0.4v15
|
||||||
|
c0,4.7,2.4,7,7.1,7h4.6c1.9,0.1,3.9-0.5,5.4-1.8c1.3-1.4,1.9-3.3,1.8-5.3v-15h-3.8V15c0.1,0.9-0.3,1.9-0.9,2.6
|
||||||
|
c-0.8,0.7-1.7,1-2.7,0.9h-3.9c-1,0.1-2-0.2-2.8-0.9c-0.6-0.7-0.9-1.6-0.9-2.6V0.4H28L28,0.4z M56.9,0.4v3.9h6.4v18.2h3.9V4.3h6.4
|
||||||
|
V0.4L56.9,0.4L56.9,0.4z M83.6,0.4v15c0,4.7,2.4,7,7.1,7h4.6c1.9,0.1,3.9-0.5,5.4-1.8c1.3-1.4,1.9-3.3,1.8-5.3v-15h-3.8V15
|
||||||
|
c0.1,0.9-0.3,1.9-0.9,2.6c-0.8,0.7-1.7,1-2.7,0.9h-3.9c-1,0.1-2-0.2-2.8-0.9c-0.6-0.7-0.9-1.6-0.9-2.6V0.4
|
||||||
|
C87.6,0.4,83.6,0.4,83.6,0.4z M114.2,0.4v3.9h12.1c0.9-0.1,1.7,0.2,2.3,0.9c0.5,0.6,0.7,1.3,0.7,2c0,0.4-0.1,0.8-0.2,1.1
|
||||||
|
c-0.1,0.4-0.3,0.7-0.5,1c-0.3,0.3-0.6,0.5-0.9,0.7c-0.4,0.2-0.9,0.3-1.4,0.3h-8.6c-1-0.1-1.9,0.2-2.6,0.8c-0.6,0.7-0.9,1.7-0.8,2.7
|
||||||
|
v8.7h3.9v-8c0-0.3,0.1-0.5,0.4-0.6h0.1h5.7l5,8.5h4.3l-5.1-8.8c0.8-0.2,1.5-0.6,2.1-1s1.1-1,1.4-1.6c0.4-0.6,0.6-1.2,0.8-1.9
|
||||||
|
s0.3-1.4,0.3-2.1c0-0.9-0.1-1.7-0.4-2.5c-0.3-0.8-0.7-1.5-1.3-2.1s-1.4-1.1-2.2-1.4c-1-0.4-2.1-0.6-3.2-0.5L114.2,0.4L114.2,0.4z
|
||||||
|
M150.7,0.4c-1.1,0-2.3,0.1-3.3,0.4c-0.8,0.2-1.6,0.7-2.3,1.2c-0.6,0.5-1,1.2-1.3,1.9c-0.3,0.8-0.4,1.6-0.4,2.4
|
||||||
|
c-0.2,2.2,1.1,4.2,3.1,5c-1,0.4-1.8,1-2.4,1.9c-0.6,0.9-0.9,2-0.8,3.1c0,0.8,0.1,1.6,0.4,2.4c0.3,0.7,0.7,1.4,1.3,1.9
|
||||||
|
c0.7,0.6,1.4,1,2.3,1.3c1.1,0.3,2.2,0.5,3.3,0.5h11.2v-3.8h-11.2c-0.9,0.1-1.8-0.2-2.5-0.7c-0.6-0.5-0.9-1.3-0.8-2
|
||||||
|
c0-1.8,1.1-2.7,3.4-2.7h10.9V9.7h-10.8c-2.2,0-3.4-0.9-3.4-2.6c0-0.8,0.2-1.5,0.8-2c0.7-0.6,1.6-0.8,2.5-0.8h11V0.4H150.7L150.7,0.4
|
||||||
|
z M190.3,0.4c-0.9-0.1-1.7,0.5-1.8,1.3c0,0.2,0,0.3,0,0.5v18.4c-0.1,0.9,0.5,1.7,1.4,1.8c0.2,0,0.3,0,0.5,0h7.8
|
||||||
|
c3.2,0,5.7-0.9,7.4-2.7s2.5-4.6,2.5-8.3s-0.8-6.5-2.5-8.3s-4.2-2.7-7.4-2.7H190.3L190.3,0.4z M192.3,4.7c0-0.2,0.1-0.4,0.3-0.4h0.1
|
||||||
|
h5.3c2.2,0,3.7,0.6,4.7,1.7c0.9,1.1,1.4,2.9,1.4,5.5s-0.5,4.4-1.4,5.5s-2.5,1.7-4.6,1.7h-5.3c-0.2,0-0.4-0.1-0.4-0.3v-0.1L192.3,4.7
|
||||||
|
L192.3,4.7z M227,4.7c0.2-0.5,0.6-0.8,1.1-0.8s0.9,0.3,1.1,0.8l6.7,17.7h4.3l-7.4-19.6c-0.3-0.9-0.9-1.7-1.7-2.2
|
||||||
|
c-0.9-0.5-1.9-0.7-2.9-0.6c-1,0-2,0.2-2.9,0.6c-0.8,0.5-1.4,1.3-1.7,2.2l-7.7,19.6h4.2L227,4.7z M249.9,0.4v3.9H262
|
||||||
|
c0.9-0.1,1.7,0.2,2.3,0.9c0.5,0.6,0.7,1.3,0.7,2c0,0.4-0.1,0.8-0.2,1.1c-0.1,0.4-0.3,0.7-0.5,1c-0.3,0.3-0.6,0.5-0.9,0.7
|
||||||
|
c-0.4,0.2-0.9,0.3-1.4,0.3h-8.6c-1-0.1-1.9,0.2-2.6,0.8c-0.6,0.7-0.9,1.7-0.8,2.7v8.7h3.9v-8c0-0.3,0.1-0.5,0.4-0.6h0.1h5.7l5,8.5
|
||||||
|
h4.3l-5.1-8.8c0.8-0.2,1.5-0.6,2.2-1c0.6-0.4,1.1-1,1.4-1.6c0.4-0.6,0.6-1.2,0.8-1.9c0.2-0.7,0.3-1.4,0.3-2.1c0-0.9-0.1-1.7-0.4-2.5
|
||||||
|
s-0.7-1.5-1.3-2.1c-0.6-0.6-1.4-1.1-2.2-1.4c-1-0.4-2.1-0.6-3.2-0.5L249.9,0.4L249.9,0.4z M279.8,0.4v22h3.9v-9.2h2.1
|
||||||
|
c1,0,1.9,0,2.5,0.1c0.6,0,1.1,0.2,1.6,0.4c0.4,0.2,0.8,0.5,1.1,0.8c0.3,0.4,0.6,0.9,0.9,1.4l3.4,6.5h4.3l-3.6-6.9
|
||||||
|
c-0.3-0.6-0.6-1.2-0.9-1.6c-0.3-0.4-0.6-0.8-1-1.2c-0.3-0.3-0.7-0.6-1.1-0.8s-0.9-0.4-1.4-0.5c0.8-0.3,1.6-0.9,2.2-1.6
|
||||||
|
c0.6-0.7,1.2-1.6,1.6-2.4l3.5-6.9h-4.1l-3.4,6.6c-0.2,0.5-0.5,1-0.9,1.5c-0.3,0.4-0.6,0.6-1,0.8c-0.5,0.2-1,0.3-1.5,0.4
|
||||||
|
c-0.6,0.1-1.4,0.1-2.3,0.1h-2.1V0.6h-3.8V0.4z M308.5,0.4v14.4c0,1,0.1,2.1,0.4,3.1c0.3,0.9,0.8,1.7,1.4,2.4
|
||||||
|
c0.7,0.7,1.6,1.3,2.5,1.6c1.2,0.4,2.5,0.6,3.7,0.6h8.8v-3.8h-8.5c-0.7,0-1.5-0.1-2.2-0.3c-0.5-0.2-1-0.4-1.4-0.8
|
||||||
|
c-0.3-0.3-0.6-0.7-0.7-1.2c-0.1-0.5-0.2-1-0.2-1.5V0.4H308.5L308.5,0.4z M329.4,0.4l8.9,12.5v9.5h3.9v-9.5l8.9-12.5h-4.6l-6.2,9.4
|
||||||
|
l-6.2-9.4L329.4,0.4L329.4,0.4z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 196 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
@ -79,12 +79,24 @@ const networks = [
|
||||||
url: 'https://evilangel.com',
|
url: 'https://evilangel.com',
|
||||||
description: 'Welcome to the award winning Evil Angel website, home to the most popular pornstars of today, yesterday and tomorrow in their most extreme and hardcore porn scenes to date. We feature almost 30 years of rough sex videos and hardcore anal porn like you\'ve never seen before, and have won countless AVN and XBiz awards including \'Best Site\' and \'Best Studio\'.',
|
description: 'Welcome to the award winning Evil Angel website, home to the most popular pornstars of today, yesterday and tomorrow in their most extreme and hardcore porn scenes to date. We feature almost 30 years of rough sex videos and hardcore anal porn like you\'ve never seen before, and have won countless AVN and XBiz awards including \'Best Site\' and \'Best Studio\'.',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
slug: 'fantasymassage',
|
||||||
|
name: 'Fantasy Massage',
|
||||||
|
url: 'https://www.fantasymassage.com',
|
||||||
|
description: '',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
slug: 'fakehub',
|
slug: 'fakehub',
|
||||||
name: 'Fake Hub',
|
name: 'Fake Hub',
|
||||||
url: 'https://www.fakehub.com',
|
url: 'https://www.fakehub.com',
|
||||||
description: 'Wherever they go, there is porn. Hospital, Taxis, Casting… Maybe fucking to a fake cop, fake agent or fake taxi driver. And we record it all.',
|
description: 'Wherever they go, there is porn. Hospital, Taxis, Casting… Maybe fucking to a fake cop, fake agent or fake taxi driver. And we record it all.',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
slug: 'girlsway',
|
||||||
|
name: 'Girlsway',
|
||||||
|
url: 'https://www.girlsway.com',
|
||||||
|
description: 'Girlsway.com has the best lesbian porn videos online! The hottest pornstars & first time lesbians in real girl on girl sex, tribbing, squirting & pussy licking action right HERE!',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
slug: 'jayrock',
|
slug: 'jayrock',
|
||||||
name: 'JayRock Productions',
|
name: 'JayRock Productions',
|
||||||
|
|
|
@ -137,27 +137,6 @@ const sites = [
|
||||||
description: 'LadyGonzo.com is a new Adult Time porn series featuring Joanna Angel shooting hardcore sex and gonzo porn movies the way she\'d like to see it!',
|
description: 'LadyGonzo.com is a new Adult Time porn series featuring Joanna Angel shooting hardcore sex and gonzo porn movies the way she\'d like to see it!',
|
||||||
network: 'adulttime',
|
network: 'adulttime',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: 'Girlsway',
|
|
||||||
slug: 'girlsway',
|
|
||||||
url: 'https://www.girlsway.com',
|
|
||||||
description: 'Girlsway.com has the best lesbian porn videos online! The hottest pornstars & first time lesbians in real girl on girl sex, tribbing, squirting & pussy licking action right HERE!',
|
|
||||||
network: 'adulttime',
|
|
||||||
parameters: {
|
|
||||||
scene: 'https://www.girlsway.com/en/video/girlsway',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Under The Bed',
|
|
||||||
slug: 'underthebed',
|
|
||||||
url: 'https://www.underthebed.com',
|
|
||||||
description: '',
|
|
||||||
network: 'adulttime',
|
|
||||||
parameters: {
|
|
||||||
referer: 'https://freetour.underthebed.com/en/join',
|
|
||||||
deep: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// BABES
|
// BABES
|
||||||
{
|
{
|
||||||
name: 'Babes',
|
name: 'Babes',
|
||||||
|
@ -1477,6 +1456,93 @@ const sites = [
|
||||||
upcoming: '/en/scenes/All/0/superCat/0/upcoming',
|
upcoming: '/en/scenes/All/0/superCat/0/upcoming',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
// FANTASY MASSAGE
|
||||||
|
{
|
||||||
|
slug: 'allgirlmassage',
|
||||||
|
name: 'All Girl Massage',
|
||||||
|
url: 'https://www.allgirlmassage.com',
|
||||||
|
network: 'fantasymassage',
|
||||||
|
parameters: {
|
||||||
|
latest: '/en/videos/updates/All-Categories/0/All-Pornstars/0/',
|
||||||
|
upcoming: '/en/videos/upcoming',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'nurumassage',
|
||||||
|
name: 'Nuru Massage',
|
||||||
|
url: 'https://www.nurumassage.com',
|
||||||
|
network: 'fantasymassage',
|
||||||
|
parameters: {
|
||||||
|
latest: '/en/videos/updates/All-Categories/0/All-Pornstars/0/',
|
||||||
|
upcoming: '/en/videos/upcoming',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'trickyspa',
|
||||||
|
name: 'Tricky Spa',
|
||||||
|
url: 'https://www.trickyspa.com',
|
||||||
|
network: 'fantasymassage',
|
||||||
|
parameters: {
|
||||||
|
latest: '/en/videos/updates/All-Categories/0/All-Pornstars/0/',
|
||||||
|
upcoming: '/en/videos/upcoming',
|
||||||
|
photos: '/en/photogallery/',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'soapymassage',
|
||||||
|
name: 'Soapy Massage',
|
||||||
|
url: 'https://www.soapymassage.com',
|
||||||
|
network: 'fantasymassage',
|
||||||
|
parameters: {
|
||||||
|
latest: '/en/videos/updates/All-Categories/0/All-Pornstars/0/',
|
||||||
|
upcoming: '/en/videos/upcoming',
|
||||||
|
photos: '/en/photogallery/',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// GIRLSWAY
|
||||||
|
{
|
||||||
|
slug: 'girlsway',
|
||||||
|
name: 'Girlsway',
|
||||||
|
url: 'https://www.girlsway.com',
|
||||||
|
description: 'Girlsway.com has the best lesbian porn videos online! The hottest pornstars & first time lesbians in real girl on girl sex, tribbing, squirting & pussy licking action right HERE!',
|
||||||
|
network: 'girlsway',
|
||||||
|
parameters: {
|
||||||
|
scene: 'https://www.girlsway.com/en/video/girlsway',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'girlstryanal',
|
||||||
|
name: 'Girls Try Anal',
|
||||||
|
url: 'https://www.girlstryanal.com',
|
||||||
|
network: 'girlsway',
|
||||||
|
parameters: {
|
||||||
|
referer: 'https://www.girlsway.com',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'mommysgirl',
|
||||||
|
name: 'Mommy\'s Girl',
|
||||||
|
url: 'https://www.mommysgirl.com',
|
||||||
|
network: 'girlsway',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'webyoung',
|
||||||
|
name: 'Web Young',
|
||||||
|
url: 'https://www.webyoung.com',
|
||||||
|
network: 'girlsway',
|
||||||
|
parameters: {
|
||||||
|
referer: 'https://www.girlsway.com',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
slug: 'sextapelesbians',
|
||||||
|
name: 'Sex Tape Lesbians',
|
||||||
|
url: 'https://www.sextapelesbians.com',
|
||||||
|
network: 'girlsway',
|
||||||
|
parameters: {
|
||||||
|
referer: 'https://www.girlsway.com',
|
||||||
|
},
|
||||||
|
},
|
||||||
// JAYS POV
|
// JAYS POV
|
||||||
{
|
{
|
||||||
slug: 'jayspov',
|
slug: 'jayspov',
|
||||||
|
@ -2797,13 +2863,54 @@ const sites = [
|
||||||
},
|
},
|
||||||
// PURE TABOO
|
// PURE TABOO
|
||||||
{
|
{
|
||||||
slug: 'puretaboo',
|
|
||||||
name: 'Pure Taboo',
|
name: 'Pure Taboo',
|
||||||
|
slug: 'puretaboo',
|
||||||
url: 'https://www.puretaboo.com',
|
url: 'https://www.puretaboo.com',
|
||||||
description: 'PureTaboo.com is the ultimate site for family taboo porn, featuring submissive teens & virgins in rough sex videos in ultra 4k HD.',
|
description: 'PureTaboo.com is the ultimate site for family taboo porn, featuring submissive teens & virgins in rough sex videos in ultra 4k HD.',
|
||||||
|
network: 'puretaboo',
|
||||||
|
priority: 1,
|
||||||
parameters: { independent: true },
|
parameters: { independent: true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Pretty Dirty',
|
||||||
|
slug: 'prettydirty',
|
||||||
|
url: 'https://www.prettydirty.com',
|
||||||
|
network: 'puretaboo',
|
||||||
|
parameters: {
|
||||||
|
referer: 'https://www.puretaboo.com',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
/* series, not sites, that appear on Pure Taboo itself
|
||||||
|
{
|
||||||
|
name: 'Under The Bed',
|
||||||
|
slug: 'underthebed',
|
||||||
|
url: 'https://www.underthebed.com',
|
||||||
|
description: '',
|
||||||
|
network: 'puretaboo',
|
||||||
|
parameters: {
|
||||||
|
scene: 'https://www.puretaboo.com/en/video',
|
||||||
|
referer: 'https://www.puretaboo.com',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Lesbian Revenge',
|
||||||
|
slug: 'lesbianrevenge',
|
||||||
|
url: 'https://www.lesbianrevenge.com',
|
||||||
|
description: '',
|
||||||
|
network: 'puretaboo',
|
||||||
|
parameters: {
|
||||||
|
scene: 'https://www.puretaboo.com/en/video',
|
||||||
|
referer: 'https://www.puretaboo.com',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Future Darkly',
|
||||||
|
slug: 'futuredarkly',
|
||||||
|
url: 'https://www.futuredarkly.com',
|
||||||
|
description: '',
|
||||||
network: 'puretaboo',
|
network: 'puretaboo',
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
// REALITY KINGS
|
// REALITY KINGS
|
||||||
{
|
{
|
||||||
name: 'Look At Her Now',
|
name: 'Look At Her Now',
|
||||||
|
|
|
@ -5,7 +5,7 @@ const Promise = require('bluebird');
|
||||||
const UrlPattern = require('url-pattern');
|
const UrlPattern = require('url-pattern');
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
const logger = require('./logger');
|
const logger = require('./logger')(__filename);
|
||||||
const knex = require('./knex');
|
const knex = require('./knex');
|
||||||
const argv = require('./argv');
|
const argv = require('./argv');
|
||||||
const scrapers = require('./scrapers/scrapers');
|
const scrapers = require('./scrapers/scrapers');
|
||||||
|
|
|
@ -1,25 +1,30 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
const path = require('path');
|
||||||
const winston = require('winston');
|
const winston = require('winston');
|
||||||
const args = require('./argv');
|
|
||||||
require('winston-daily-rotate-file');
|
require('winston-daily-rotate-file');
|
||||||
|
|
||||||
function logger(filename) {
|
const args = require('./argv');
|
||||||
|
|
||||||
|
function logger(filepath) {
|
||||||
|
const root = filepath.match(/src\/|dist\//);
|
||||||
|
const filename = filepath.slice(root.index + root[0].length)
|
||||||
|
.replace(path.extname(filepath), '');
|
||||||
|
|
||||||
return winston.createLogger({
|
return winston.createLogger({
|
||||||
format: winston.format.combine(
|
format: winston.format.combine(
|
||||||
winston.format.timestamp(),
|
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
|
||||||
winston.format.printf(info => `${info.timestamp} [${info.label}] ${info.level}: ${util.inspect(info.message)}`),
|
winston.format(info => (info instanceof Error
|
||||||
|
? { ...info, message: info.stack }
|
||||||
|
: { ...info, message: typeof info.message === 'string' ? info.message : util.inspect(info.message) }))(),
|
||||||
|
winston.format.colorize(),
|
||||||
|
winston.format.printf(({ level, timestamp, label, message }) => `${timestamp} ${level} [${label || filename}] ${message}`),
|
||||||
),
|
),
|
||||||
transports: [
|
transports: [
|
||||||
new winston.transports.Console({
|
new winston.transports.Console({
|
||||||
level: args.level,
|
level: args.level,
|
||||||
format: winston.format.combine(
|
|
||||||
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
|
|
||||||
winston.format.colorize(),
|
|
||||||
// winston.format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`),
|
|
||||||
winston.format.printf(info => `${info.timestamp} ${info.level} [${filename}]: ${util.inspect(info.message)}`),
|
|
||||||
),
|
|
||||||
timestamp: true,
|
timestamp: true,
|
||||||
}),
|
}),
|
||||||
new winston.transports.DailyRotateFile({
|
new winston.transports.DailyRotateFile({
|
||||||
|
|
|
@ -4,7 +4,7 @@ const config = require('config');
|
||||||
const Promise = require('bluebird');
|
const Promise = require('bluebird');
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
const logger = require('./logger');
|
const logger = require('./logger')(__filename);
|
||||||
const knex = require('./knex');
|
const knex = require('./knex');
|
||||||
const argv = require('./argv');
|
const argv = require('./argv');
|
||||||
const whereOr = require('./utils/where-or');
|
const whereOr = require('./utils/where-or');
|
||||||
|
@ -358,7 +358,7 @@ async function storeReleaseAssets(releases) {
|
||||||
role: 'teaser',
|
role: 'teaser',
|
||||||
}, identifier);
|
}, identifier);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error({ label: 'media', message: error.message });
|
logger.error(error.message);
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
concurrency: 10,
|
concurrency: 10,
|
||||||
|
@ -422,7 +422,7 @@ async function storeReleases(releases) {
|
||||||
...releaseWithChannelSite,
|
...releaseWithChannelSite,
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error({ label: 'media', message: error.message });
|
logger.error(error);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
const config = require('config');
|
const config = require('config');
|
||||||
const Promise = require('bluebird');
|
const Promise = require('bluebird');
|
||||||
|
|
||||||
const logger = require('./logger');
|
const logger = require('./logger')(__filename);
|
||||||
const argv = require('./argv');
|
const argv = require('./argv');
|
||||||
const scrapers = require('./scrapers/scrapers');
|
const scrapers = require('./scrapers/scrapers');
|
||||||
const { findSiteByUrl } = require('./sites');
|
const { findSiteByUrl } = require('./sites');
|
||||||
|
|
|
@ -4,7 +4,7 @@ const Promise = require('bluebird');
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
const argv = require('./argv');
|
const argv = require('./argv');
|
||||||
const logger = require('./logger');
|
const logger = require('./logger')(__filename);
|
||||||
const knex = require('./knex');
|
const knex = require('./knex');
|
||||||
const { fetchIncludedSites } = require('./sites');
|
const { fetchIncludedSites } = require('./sites');
|
||||||
const scrapers = require('./scrapers/scrapers');
|
const scrapers = require('./scrapers/scrapers');
|
||||||
|
|
|
@ -22,8 +22,6 @@ async function networkFetchScene(url, site) {
|
||||||
async function fetchLatest(site, page = 1) {
|
async function fetchLatest(site, page = 1) {
|
||||||
const releases = await fetchApiLatest(site, page, false);
|
const releases = await fetchApiLatest(site, page, false);
|
||||||
|
|
||||||
console.log(releases);
|
|
||||||
|
|
||||||
return releases.map(release => curateRelease(release, site));
|
return releases.map(release => curateRelease(release, site));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const { fetchLatest, fetchUpcoming, fetchScene } = require('./gamma');
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
fetchLatest,
|
||||||
|
fetchScene,
|
||||||
|
fetchUpcoming,
|
||||||
|
};
|
|
@ -7,7 +7,7 @@ const cheerio = require('cheerio');
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
const argv = require('../argv');
|
const argv = require('../argv');
|
||||||
const logger = require('../logger');
|
const logger = require('../logger')(__filename);
|
||||||
const { ex, get } = require('../utils/q');
|
const { ex, get } = require('../utils/q');
|
||||||
const slugify = require('../utils/slugify');
|
const slugify = require('../utils/slugify');
|
||||||
|
|
||||||
|
@ -20,11 +20,12 @@ async function fetchPhotos(url) {
|
||||||
function scrapePhotos(html) {
|
function scrapePhotos(html) {
|
||||||
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
||||||
|
|
||||||
return $('.preview .imgLink').toArray().map((linkEl) => {
|
return $('.preview .imgLink, .pgFooterThumb a').toArray().map((linkEl) => {
|
||||||
const url = $(linkEl).attr('href');
|
const url = $(linkEl).attr('href');
|
||||||
|
|
||||||
if (url.match('/join')) {
|
if (/\/join|\/createaccount/.test(url)) {
|
||||||
// URL links to join page instead of full photo, extract thumbnail
|
// URL links to join page instead of full photo, extract thumbnail
|
||||||
|
// /createaccount is used by e.g. Tricky Spa
|
||||||
const src = $(linkEl).find('img').attr('src');
|
const src = $(linkEl).find('img').attr('src');
|
||||||
|
|
||||||
if (src.match('previews/')) {
|
if (src.match('previews/')) {
|
||||||
|
@ -46,12 +47,14 @@ function scrapePhotos(html) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getPhotos(albumPath, site) {
|
async function getPhotos(albumPath, site) {
|
||||||
const albumUrl = `${site.url}${albumPath}`;
|
const albumUrl = site.parameters?.photos
|
||||||
|
? `${site.url}${site.parameters.photos}${albumPath.split('/').slice(-2).join('/')}`
|
||||||
|
: `${site.url}${albumPath}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const html = await fetchPhotos(albumUrl);
|
const html = await fetchPhotos(albumUrl);
|
||||||
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
||||||
const photos = scrapePhotos(html);
|
const photos = scrapePhotos(html, site);
|
||||||
|
|
||||||
const lastPage = $('.Gamma_Paginator a.last').attr('href')?.match(/\d+$/)[0];
|
const lastPage = $('.Gamma_Paginator a.last').attr('href')?.match(/\d+$/)[0];
|
||||||
|
|
||||||
|
@ -62,7 +65,7 @@ async function getPhotos(albumPath, site) {
|
||||||
const pageUrl = `${site.url}/${albumPath}/${page}`;
|
const pageUrl = `${site.url}/${albumPath}/${page}`;
|
||||||
const pageHtml = await fetchPhotos(pageUrl);
|
const pageHtml = await fetchPhotos(pageUrl);
|
||||||
|
|
||||||
return scrapePhotos(pageHtml);
|
return scrapePhotos(pageHtml, site);
|
||||||
}, {
|
}, {
|
||||||
concurrency: 2,
|
concurrency: 2,
|
||||||
});
|
});
|
||||||
|
@ -97,9 +100,9 @@ async function scrapeApiReleases(json, site) {
|
||||||
release.actors = scene.actors.map(({ name }) => name);
|
release.actors = scene.actors.map(({ name }) => name);
|
||||||
release.director = scene.directors[0].name;
|
release.director = scene.directors[0].name;
|
||||||
|
|
||||||
console.log(release.url);
|
release.tags = scene.master_categories
|
||||||
|
.concat(scene.categories?.map(category => category.name))
|
||||||
release.tags = scene.master_categories.concat(scene.categories?.map(category => category.name));
|
.filter(Boolean); // some categories don't have a name
|
||||||
|
|
||||||
const posterPath = scene.pictures.resized || (scene.pictures.nsfw?.top && Object.values(scene.pictures.nsfw.top)[0]);
|
const posterPath = scene.pictures.resized || (scene.pictures.nsfw?.top && Object.values(scene.pictures.nsfw.top)[0]);
|
||||||
|
|
||||||
|
@ -118,38 +121,35 @@ async function scrapeApiReleases(json, site) {
|
||||||
|
|
||||||
function scrapeAll(html, site, networkUrl, hasTeaser = true) {
|
function scrapeAll(html, site, networkUrl, hasTeaser = true) {
|
||||||
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
||||||
const scenesElements = $('li[data-itemtype=scene]').toArray();
|
const scenesElements = $('li[data-itemtype=scene], div[data-itemtype=scenes]').toArray();
|
||||||
|
|
||||||
return scenesElements.map((element) => {
|
return scenesElements.map((element) => {
|
||||||
const release = {};
|
const release = {};
|
||||||
|
|
||||||
const sceneLinkElement = $(element).find('.sceneTitle a');
|
const sceneLinkElement = $(element).find('.sceneTitle a, .tlcTitle a');
|
||||||
|
|
||||||
if (site) release.url = `${networkUrl ? site.network.url : site.url}${sceneLinkElement.attr('href')}`;
|
if (site) release.url = `${networkUrl ? site.network.url : site.url}${sceneLinkElement.attr('href')}`;
|
||||||
else release.url = `${networkUrl}${sceneLinkElement.attr('href')}`;
|
else release.url = `${networkUrl}${sceneLinkElement.attr('href')}`;
|
||||||
|
|
||||||
release.title = sceneLinkElement.attr('title');
|
release.title = sceneLinkElement.attr('title');
|
||||||
|
|
||||||
release.entryId = $(element).attr('data-itemid');
|
release.entryId = $(element).attr('data-itemid');
|
||||||
|
|
||||||
const dateEl = $(element).find('.sceneDate').text() || null;
|
const dateEl = $(element).find('.sceneDate, .tlcSpecsDate .tlcDetailsValue').text() || null;
|
||||||
if (dateEl) {
|
if (dateEl) {
|
||||||
release.date = moment
|
release.date = moment
|
||||||
.utc($(element).find('.sceneDate').text(), ['MM-DD-YYYY', 'YYYY-MM-DD'])
|
.utc(dateEl, ['MM-DD-YYYY', 'YYYY-MM-DD'])
|
||||||
.toDate();
|
.toDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
release.actors = $(element).find('.sceneActors a')
|
release.actors = $(element).find('.sceneActors a, .tlcActors a')
|
||||||
.map((actorIndex, actorElement) => $(actorElement).attr('title'))
|
.map((actorIndex, actorElement) => $(actorElement).attr('title'))
|
||||||
.toArray();
|
.toArray();
|
||||||
|
|
||||||
const [likes, dislikes] = $(element).find('.value')
|
[release.likes, release.dislikes] = $(element).find('.value')
|
||||||
.toArray()
|
.toArray()
|
||||||
.map(value => Number($(value).text()));
|
.map(value => Number($(value).text()));
|
||||||
|
|
||||||
release.rating = { likes, dislikes };
|
const posterEl = $(element).find('.imgLink img, .tlcImageItem');
|
||||||
|
|
||||||
const posterEl = $(element).find('.imgLink img');
|
|
||||||
if (posterEl) release.poster = posterEl.attr('data-original') || posterEl.attr('src');
|
if (posterEl) release.poster = posterEl.attr('data-original') || posterEl.attr('src');
|
||||||
|
|
||||||
if (hasTeaser) {
|
if (hasTeaser) {
|
||||||
|
@ -189,18 +189,18 @@ async function scrapeScene(html, url, site) {
|
||||||
release.director = data.director?.[0].name || data2?.director?.[0].name;
|
release.director = data.director?.[0].name || data2?.director?.[0].name;
|
||||||
|
|
||||||
const actors = data?.actor || data2?.actor || [];
|
const actors = data?.actor || data2?.actor || [];
|
||||||
const hasTrans = actors.some(actor => actor.gender === 'shemale');
|
|
||||||
release.actors = actors.map(actor => actor.name);
|
release.actors = actors.map(actor => actor.name);
|
||||||
|
|
||||||
const stars = (data.aggregateRating.ratingValue / data.aggregateRating.bestRating) * 5;
|
const stars = (data.aggregateRating.ratingValue / data.aggregateRating.bestRating) * 5;
|
||||||
if (stars) release.rating = { stars };
|
if (stars) release.rating = { stars };
|
||||||
|
|
||||||
release.duration = moment.duration(data.duration.slice(2)).asSeconds();
|
release.duration = moment.duration(data.duration.slice(2)).asSeconds();
|
||||||
|
|
||||||
const rawTags = data.keywords?.split(', ');
|
|
||||||
release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const hasTrans = release.actors.some(actor => actor.gender === 'shemale');
|
||||||
|
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ');
|
||||||
|
release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags;
|
||||||
|
|
||||||
const channel = data?.productionCompany?.name || $('.studioLink a').attr('title')?.trim();
|
const channel = data?.productionCompany?.name || $('.studioLink a').attr('title')?.trim();
|
||||||
if (channel) release.channel = slugify(channel, { delimiter: '' });
|
if (channel) release.channel = slugify(channel, { delimiter: '' });
|
||||||
|
|
||||||
|
@ -345,7 +345,7 @@ function getApiUrl(appId, apiKey) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchApiCredentials(referer, site) {
|
async function fetchApiCredentials(referer, site) {
|
||||||
if (site.parameters?.appId && site.parameters?.apiKey) {
|
if (site?.parameters?.appId && site?.parameters?.apiKey) {
|
||||||
return getApiUrl(site.parameters.appId, site.parameters.apiKey);
|
return getApiUrl(site.parameters.appId, site.parameters.apiKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ async function fetchApiLatest(site, page = 1, upcoming = false) {
|
||||||
requests: [
|
requests: [
|
||||||
{
|
{
|
||||||
indexName: 'all_scenes',
|
indexName: 'all_scenes',
|
||||||
params: `query=&hitsPerPage=36&maxValuesPerFacet=100&page=${page - 1}&facetFilters=[["lesbian:"],["bisex:"],["shemale:"],["upcoming:${upcoming ? 1 : 0}"]]&filters=sitename:${site.slug}`,
|
params: `query=&hitsPerPage=36&maxValuesPerFacet=100&page=${page - 1}&facetFilters=[["lesbian:"],["bisex:"],["shemale:"],["upcoming:${upcoming ? 1 : 0}"]]&filters=sitename:${site.slug} OR channels.id:${site.slug}`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}, {
|
}, {
|
||||||
|
@ -384,6 +384,8 @@ async function fetchApiLatest(site, page = 1, upcoming = false) {
|
||||||
encodeJSON: true,
|
encodeJSON: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log(res.body);
|
||||||
|
|
||||||
if (res.statusCode === 200 && res.body.results?.[0]?.hits) {
|
if (res.statusCode === 200 && res.body.results?.[0]?.hits) {
|
||||||
return scrapeApiReleases(res.body.results[0].hits, site);
|
return scrapeApiReleases(res.body.results[0].hits, site);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const { fetchApiLatest, fetchApiUpcoming, fetchScene } = require('./gamma');
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
fetchLatest: fetchApiLatest,
|
||||||
|
fetchScene,
|
||||||
|
fetchUpcoming: fetchApiUpcoming,
|
||||||
|
};
|
|
@ -4,7 +4,7 @@
|
||||||
const Promise = require('bluebird');
|
const Promise = require('bluebird');
|
||||||
const bhttp = require('bhttp');
|
const bhttp = require('bhttp');
|
||||||
|
|
||||||
const logger = require('../logger');
|
const logger = require('../logger')(__filename);
|
||||||
const slugify = require('../utils/slugify');
|
const slugify = require('../utils/slugify');
|
||||||
|
|
||||||
async function fetchToken(site) {
|
async function fetchToken(site) {
|
||||||
|
|
|
@ -1,103 +1,10 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const bhttp = require('bhttp');
|
const { fetchApiLatest, fetchApiUpcoming, fetchScene } = require('./gamma');
|
||||||
const moment = require('moment');
|
|
||||||
|
|
||||||
// const { fetchLatest } = require('./gamma');
|
|
||||||
const { ex, ctxa } = require('../utils/q');
|
|
||||||
const { getPhotos } = require('./gamma');
|
|
||||||
|
|
||||||
function scrape(html) {
|
|
||||||
const { document } = ex(html);
|
|
||||||
|
|
||||||
return ctxa(document, '.sceneList .sceneContainer').map(({ q, qa }) => {
|
|
||||||
const release = {};
|
|
||||||
|
|
||||||
const linkEl = q('a.imgLink');
|
|
||||||
|
|
||||||
release.entryId = linkEl.dataset.id;
|
|
||||||
release.title = linkEl.title;
|
|
||||||
release.url = `https://www.puretaboo.com${linkEl.href}`;
|
|
||||||
release.actors = qa('.sceneActors a', true);
|
|
||||||
|
|
||||||
release.poster = q('.imgLink img').dataset.original;
|
|
||||||
release.trailer = `https://videothumb.gammacdn.com/307x224/${release.entryId}.mp4`;
|
|
||||||
|
|
||||||
return release;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
async function scrapeScene(html, url, site) {
|
|
||||||
const release = {};
|
|
||||||
|
|
||||||
const { q, qa, qd, qm } = ex(html);
|
|
||||||
const { pathname } = new URL(url);
|
|
||||||
|
|
||||||
const dataPrefix = 'dataLayer = [';
|
|
||||||
const dataStart = html.indexOf(dataPrefix);
|
|
||||||
const dataString = html.slice(dataStart + dataPrefix.length, html.indexOf('];', dataStart));
|
|
||||||
const { sceneDetails: data } = JSON.parse(dataString);
|
|
||||||
|
|
||||||
const dataString2 = q('script[type="application/ld+json"]', true);
|
|
||||||
const data2 = JSON.parse(dataString2)[1];
|
|
||||||
|
|
||||||
const videoPrefix = 'window.ScenePlayerOptions = ';
|
|
||||||
const videoStart = html.indexOf(videoPrefix);
|
|
||||||
const videoString = html.slice(videoStart + videoPrefix.length, html.indexOf('};', videoStart) + 1);
|
|
||||||
const videoData = JSON.parse(videoString);
|
|
||||||
|
|
||||||
release.entryId = data.sceneId || videoData.playerOptions.sceneInfos.sceneId || pathname.slice(pathname.lastIndexOf('/') + 1);
|
|
||||||
release.url = url;
|
|
||||||
release.title = data.sceneTitle || videoData.playerOptions.sceneInfos.sceneTitle || qm('meta[name="twitter:title"]') || q('.sceneTitle', true);
|
|
||||||
release.description = data.sceneDescription || data2.description || q('.sceneDesc', true).replace('Video Description:', '');
|
|
||||||
|
|
||||||
release.duration = moment.duration(data2.duration.slice(2)).asSeconds();
|
|
||||||
|
|
||||||
// data2.dateCreated is the date the scene was first added to 'upcoming'
|
|
||||||
release.date = videoData.playerOptions.sceneInfos.sceneReleaseDate
|
|
||||||
? moment.utc(videoData.playerOptions.sceneInfos.sceneReleaseDate, 'YYYY-MM-DD').toDate()
|
|
||||||
: qd('.updatedDate', 'MM-DD-YYYY');
|
|
||||||
|
|
||||||
release.actors = data.sceneActors?.map(actor => actor.actorName)
|
|
||||||
|| data2.actor?.map(actor => actor.name)
|
|
||||||
|| qa('.sceneColActors a', true);
|
|
||||||
|
|
||||||
release.tags = data2.keywords.split(', ') || qa('.sceneColCategories a', 'title');
|
|
||||||
|
|
||||||
release.poster = videoData.picPreview;
|
|
||||||
release.trailer = {
|
|
||||||
src: `${videoData.playerOptions.host}${videoData.url}`,
|
|
||||||
};
|
|
||||||
|
|
||||||
release.photos = await getPhotos(q('.picturesItem a').href, site);
|
|
||||||
|
|
||||||
return release;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function fetchLatest(site, page = 1) {
|
|
||||||
const res = await bhttp.get(`${site.url}/en/videos/AllCategories/0/${page}`);
|
|
||||||
|
|
||||||
if (res.statusCode === 200) {
|
|
||||||
return scrape(res.body.toString(), site);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function fetchUpcoming(site) {
|
|
||||||
const res = await bhttp.get(`${site.url}/en/videos/AllCategories/0/1/upcoming`);
|
|
||||||
|
|
||||||
return scrape(res.body.toString(), site);
|
|
||||||
}
|
|
||||||
|
|
||||||
async function fetchScene(url, site) {
|
|
||||||
const res = await bhttp.get(url);
|
|
||||||
|
|
||||||
return scrapeScene(res.body.toString(), url, site);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
fetchLatest,
|
fetchLatest: fetchApiLatest,
|
||||||
fetchScene,
|
fetchScene,
|
||||||
fetchUpcoming,
|
fetchUpcoming: fetchApiUpcoming,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,54 +1,51 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// releases
|
|
||||||
const adulttime = require('./adulttime');
|
const adulttime = require('./adulttime');
|
||||||
const babes = require('./babes');
|
const babes = require('./babes');
|
||||||
const bang = require('./bang');
|
const bang = require('./bang');
|
||||||
const dogfart = require('./dogfart');
|
|
||||||
const digitalplayground = require('./digitalplayground');
|
|
||||||
const fakehub = require('./fakehub');
|
|
||||||
const jayrock = require('./jayrock');
|
|
||||||
const kink = require('./kink');
|
|
||||||
const mikeadriano = require('./mikeadriano');
|
|
||||||
const milehighmedia = require('./milehighmedia');
|
|
||||||
const perfectgonzo = require('./perfectgonzo');
|
|
||||||
const pervcity = require('./pervcity');
|
|
||||||
const pornpros = require('./pornpros');
|
|
||||||
const privateNetwork = require('./private'); // reserved keyword
|
|
||||||
const puretaboo = require('./puretaboo');
|
|
||||||
const mindgeek = require('./mindgeek');
|
|
||||||
const realitykings = require('./realitykings');
|
|
||||||
const teamskeet = require('./teamskeet');
|
|
||||||
const vixen = require('./vixen');
|
|
||||||
const vogov = require('./vogov');
|
|
||||||
|
|
||||||
// releases and profiles
|
|
||||||
const bangbros = require('./bangbros');
|
const bangbros = require('./bangbros');
|
||||||
const blowpass = require('./blowpass');
|
const blowpass = require('./blowpass');
|
||||||
|
const boobpedia = require('./boobpedia');
|
||||||
const brazzers = require('./brazzers');
|
const brazzers = require('./brazzers');
|
||||||
const ddfnetwork = require('./ddfnetwork');
|
const ddfnetwork = require('./ddfnetwork');
|
||||||
const famedigital = require('./famedigital');
|
const digitalplayground = require('./digitalplayground');
|
||||||
|
const dogfart = require('./dogfart');
|
||||||
const evilangel = require('./evilangel');
|
const evilangel = require('./evilangel');
|
||||||
const julesjordan = require('./julesjordan');
|
const fakehub = require('./fakehub');
|
||||||
const kellymadison = require('./kellymadison');
|
const famedigital = require('./famedigital');
|
||||||
const legalporno = require('./legalporno');
|
const fantasymassage = require('./fantasymassage');
|
||||||
const men = require('./men');
|
|
||||||
const metrohd = require('./metrohd');
|
|
||||||
const mofos = require('./mofos');
|
|
||||||
const naughtyamerica = require('./naughtyamerica');
|
|
||||||
const score = require('./score');
|
|
||||||
const twentyonesextury = require('./21sextury');
|
|
||||||
const twistys = require('./twistys');
|
|
||||||
const xempire = require('./xempire');
|
|
||||||
const wicked = require('./wicked');
|
|
||||||
|
|
||||||
// profiles
|
|
||||||
const boobpedia = require('./boobpedia');
|
|
||||||
const freeones = require('./freeones');
|
const freeones = require('./freeones');
|
||||||
const freeonesLegacy = require('./freeones_legacy');
|
const freeonesLegacy = require('./freeones_legacy');
|
||||||
const iconmale = require('./iconmale');
|
const iconmale = require('./iconmale');
|
||||||
const transangels = require('./transangels');
|
const jayrock = require('./jayrock');
|
||||||
|
const julesjordan = require('./julesjordan');
|
||||||
|
const kellymadison = require('./kellymadison');
|
||||||
|
const kink = require('./kink');
|
||||||
|
const legalporno = require('./legalporno');
|
||||||
|
const men = require('./men');
|
||||||
|
const metrohd = require('./metrohd');
|
||||||
|
const mikeadriano = require('./mikeadriano');
|
||||||
|
const milehighmedia = require('./milehighmedia');
|
||||||
|
const mindgeek = require('./mindgeek');
|
||||||
|
const mofos = require('./mofos');
|
||||||
|
const girlsway = require('./girlsway');
|
||||||
|
const naughtyamerica = require('./naughtyamerica');
|
||||||
|
const perfectgonzo = require('./perfectgonzo');
|
||||||
|
const pervcity = require('./pervcity');
|
||||||
const pornhub = require('./pornhub');
|
const pornhub = require('./pornhub');
|
||||||
|
const pornpros = require('./pornpros');
|
||||||
|
const privateNetwork = require('./private'); // reserved keyword
|
||||||
|
const puretaboo = require('./puretaboo');
|
||||||
|
const realitykings = require('./realitykings');
|
||||||
|
const score = require('./score');
|
||||||
|
const teamskeet = require('./teamskeet');
|
||||||
|
const transangels = require('./transangels');
|
||||||
|
const twentyonesextury = require('./21sextury');
|
||||||
|
const twistys = require('./twistys');
|
||||||
|
const vixen = require('./vixen');
|
||||||
|
const vogov = require('./vogov');
|
||||||
|
const wicked = require('./wicked');
|
||||||
|
const xempire = require('./xempire');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
releases: {
|
releases: {
|
||||||
|
@ -67,6 +64,8 @@ module.exports = {
|
||||||
famedigital,
|
famedigital,
|
||||||
evilangel,
|
evilangel,
|
||||||
fakehub,
|
fakehub,
|
||||||
|
fantasymassage,
|
||||||
|
girlsway,
|
||||||
jayrock,
|
jayrock,
|
||||||
julesjordan,
|
julesjordan,
|
||||||
kellymadison,
|
kellymadison,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
const config = require('config');
|
const config = require('config');
|
||||||
|
|
||||||
const logger = require('./logger');
|
const logger = require('./logger')(__filename);
|
||||||
const argv = require('./argv');
|
const argv = require('./argv');
|
||||||
const knex = require('./knex');
|
const knex = require('./knex');
|
||||||
const whereOr = require('./utils/where-or');
|
const whereOr = require('./utils/where-or');
|
||||||
|
|
|
@ -35,9 +35,11 @@ function curateTags(tags) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function matchTags(rawTags) {
|
async function matchTags(rawTags) {
|
||||||
const tags = rawTags
|
const filteredTags = rawTags.filter(Boolean);
|
||||||
.concat(rawTags.map(tag => tag.toLowerCase()))
|
|
||||||
.concat(rawTags.map(tag => tag.toUpperCase()));
|
const tags = filteredTags
|
||||||
|
.concat(filteredTags.map(tag => tag.toLowerCase()))
|
||||||
|
.concat(filteredTags.map(tag => tag.toUpperCase()));
|
||||||
|
|
||||||
const tagEntries = await knex('tags')
|
const tagEntries = await knex('tags')
|
||||||
.pluck('aliases.id')
|
.pluck('aliases.id')
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const knex = require('../knex');
|
const knex = require('../knex');
|
||||||
const logger = require('./logger')(__filename);
|
const logger = require('../logger')(__filename);
|
||||||
|
|
||||||
async function upsert(table, items, identifier = ['id'], _knex) {
|
async function upsert(table, items, identifier = ['id'], _knex) {
|
||||||
const identifiers = Array.isArray(identifier) ? identifier : [identifier];
|
const identifiers = Array.isArray(identifier) ? identifier : [identifier];
|
||||||
|
|