Merge branch 'AliasIO:master' into master

main
Mohammed J. Razem 4 years ago committed by GitHub
commit 9d32da5278
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,15 +1,17 @@
# Wappalyzer [![Travis](https://travis-ci.org/aliasio/wappalyzer.svg?branch=master)](https://travis-ci.org/aliasio/wappalyzer/)
[![Travis](https://travis-ci.org/aliasio/wappalyzer.svg?branch=master)](https://travis-ci.org/aliasio/wappalyzer/)
[![wappalyzer NPM](https://img.shields.io/badge/npm-wappalyzer-blue)](https://www.npmjs.com/package/wappalyzer)
[![wappalyzer-core NPM](https://img.shields.io/badge/npm-wappalyzer--core-blue)](https://www.npmjs.com/package/wappalyzer-core)
[![Github Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/AliasIO)](https://github.com/sponsors/AliasIO)
<a href="https://www.wappalyzer.com/?utm_source=readme&utm_medium=github&utm_campaign=wappalyzer"><img src="https://www.wappalyzer.com/images/logo/icon_192.png" height="72" alt="Wappalyzer" align="left" /></a>
[Wappalyzer](https://www.wappalyzer.com) identifies technologies on websites, including content management systems, ecommerce platforms, JavaScript frameworks, analytics tools and [much more](https://www.wappalyzer.com/technologies).
# Wappalyzer
* [wappalyzer on NPM](https://www.npmjs.com/package/wappalyzer)
* [wappalyzer-core on NPM](https://www.npmjs.com/package/wappalyzer-core)
* [Chrome extension](https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg)
* [Firefox add-on](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/)
* [Edge extension](https://microsoftedge.microsoft.com/addons/detail/mnbndgmknlpdjdnjfmfcdjoegcckoikn)
* [Safari extension](https://apps.apple.com/app/wappalyzer/id1520333300)
* [All apps and integrations](https://www.wappalyzer.com/api/download)
* [Wappalyzer REST APIs](https://www.wappalyzer.com/api/)
<br>
**[Wappalyzer](https://www.wappalyzer.com) identifies technologies on websites, such as CMS, web frameworks, ecommerce platforms, JavaScript libraries, analytics tools and [more](https://www.wappalyzer.com/technologies).**
If you don't have time to configure, host, debug and maintain your own infrastructure to analyse websites at scale, we offer a SaaS solution that has all the same capabilities and a lot more. Our [apps](https://www.wappalyzer.com/apps/) and [APIs](https://www.wappalyzer.com/api/) not only reveal the technology stack a website uses but also company and contact details, social media profiles, keywords and metadata.
## Prerequisites
@ -92,6 +94,7 @@ Patterns (regular expressions) are kept in [`src/technologies.json`](https://git
"css": "\\.example-class",
"robots": "Disallow: /unique-path/",
"implies": "PHP\\;confidence:50",
"requires": "WordPress",
"meta": {
"generator": "(?:Example|Another Example)"
},
@ -224,8 +227,7 @@ Plus any of:
</tbody>
</table>
### Implies and excludes (optional)
### Implies, requires and excludes (optional)
<table>
<thead>
@ -246,6 +248,14 @@ Plus any of:
</td>
<td><code>"PHP"</code></td>
</tr>
<tr>
<td><code>requires</code></td>
<td>String | Array</td>
<td>
Similar to implies but detection only runs if the required technology has been identified. Useful for themes for a specific CMS.
</td>
<td><code>"WordPres"</code></td>
</tr>
<tr>
<td><code>excludes</code></td>
<td>String | Array</td>
@ -395,7 +405,6 @@ Patterns are essentially JavaScript regular expressions written as strings, but
Tags (a non-standard syntax) can be appended to patterns (and implies and excludes, separated by `\\;`) to store additional information.
<table>
<thead>
<tr>
@ -433,7 +442,6 @@ Tags (a non-standard syntax) can be appended to patterns (and implies and exclud
Application version information can be obtained from a pattern using a capture group. A condition can be evaluated using the ternary operator (`?:`).
<table>
<thead>
<tr>

@ -348,7 +348,7 @@ class Driver {
log(message, source = 'driver') {
if (this.options.debug) {
// eslint-disable-next-line no-console
console.log(`wappalyzer | log | ${source} |`, message)
console.log(`log | ${source} |`, message)
}
}
}
@ -393,7 +393,7 @@ class Site {
log(message, source = 'driver', type = 'log') {
if (this.options.debug) {
// eslint-disable-next-line no-console
console[type](`wappalyzer | ${type} | ${source} |`, message)
console[type](`${type} | ${source} |`, message)
}
this.emit(type, { message, source })
@ -422,7 +422,7 @@ class Site {
promiseTimeout(
promise,
fallback,
errorMessage = 'The website took too long to respond'
errorMessage = 'Operation took too long to respond'
) {
let timeout = null
@ -435,7 +435,11 @@ class Site {
timeout = setTimeout(() => {
clearTimeout(timeout)
fallback ? resolve(fallback) : reject(new Error(errorMessage))
const error = new Error(errorMessage)
error.code = 'PROMISE_TIMEOUT_ERROR'
fallback !== undefined ? resolve(fallback) : reject(error)
}, this.options.maxWait)
}),
promise.then((value) => {
@ -573,7 +577,9 @@ class Site {
try {
await this.promiseTimeout(
page.goto(url.href, { waitUntil: 'domcontentloaded' })
page.goto(url.href, { waitUntil: 'domcontentloaded' }),
undefined,
'Timeout (navigation)'
)
await sleep(1000)
@ -596,10 +602,12 @@ class Site {
})
)
),
{ jsonValue: () => [] }
{ jsonValue: () => [] },
'Timeout (links)'
)
).jsonValue(),
[]
[],
'Timeout (links)'
)
// CSS
@ -629,10 +637,12 @@ class Site {
return css.join('\n')
}, this.options.htmlMaxRows),
{ jsonValue: () => '' }
{ jsonValue: () => '' },
'Timeout (css)'
)
).jsonValue(),
''
'',
'Timeout (css)'
)
// Script tags
@ -644,10 +654,12 @@ class Site {
.map(({ src }) => src)
.filter((src) => src)
),
{ jsonValue: () => [] }
{ jsonValue: () => [] },
'Timeout (scripts)'
)
).jsonValue(),
[]
[],
'Timeout (scripts)'
)
// Meta tags
@ -669,17 +681,19 @@ class Site {
{}
)
),
{ jsonValue: () => [] }
{ jsonValue: () => [] },
'Timeout (meta)'
)
).jsonValue(),
[]
[],
'Timeout (meta)'
)
// JavaScript
const js = await this.promiseTimeout(getJs(page), [])
const js = await this.promiseTimeout(getJs(page), [], 'Timeout (js)')
// DOM
const dom = await this.promiseTimeout(getDom(page), [])
const dom = await this.promiseTimeout(getDom(page), [], 'Timeout (dom)')
// Cookies
const cookies = (await page.cookies()).reduce(
@ -728,7 +742,8 @@ class Site {
return []
}),
[]
[],
'Timeout (dns)'
)
}
@ -771,9 +786,9 @@ class Site {
) {
await page.close()
this.log('Page closed')
this.log(`Page closed (${url})`)
throw new Error('No response from server')
throw new Error(`No response from server`)
}
this.cache[url.href] = {
@ -838,12 +853,37 @@ class Site {
return reducedLinks
} catch (error) {
if (error.constructor.name === 'TimeoutError') {
throw new Error('The website took too long to respond')
let hostname = url
try {
;({ hostname } = new URL(url))
} catch (error) {
// Continue
}
if (
error.constructor.name === 'TimeoutError' ||
error.code === 'PROMISE_TIMEOUT_ERROR'
) {
const newError = new Error(
`The website took too long to respond: ${
error.message || error
} at ${hostname}`
)
newError.code = 'WAPPALYZER_TIMEOUT_ERROR'
throw newError
}
if (error.message.includes('net::ERR_NAME_NOT_RESOLVED')) {
throw new Error('Hostname could not be resolved')
const newError = new Error(
`Hostname could not be resolved at ${hostname}`
)
newError.code = 'WAPPALYZER_DNS_ERROR'
throw newError
}
throw error
@ -982,10 +1022,15 @@ class Site {
const { page, cookies, html, css, scripts, meta } =
this.cache[url.href]
const js = await this.promiseTimeout(getJs(page, technologies), [])
const js = await this.promiseTimeout(
getJs(page, technologies),
[],
'Timeout (js)'
)
const dom = await this.promiseTimeout(
getDom(page, technologies),
[]
[],
'Timeout (dom)'
)
await this.onDetect(

@ -13,7 +13,7 @@
"software"
],
"homepage": "https://www.wappalyzer.com/",
"version": "6.7.6",
"version": "6.7.9",
"author": "Wappalyzer",
"license": "MIT",
"repository": {

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Taulers de missatgeria" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Nachrichten Board" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Διαδικτυακό Φόρουμ" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Message boards" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "Gestor de Contenido" },
"categoryName2": { "message": "Foro" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "سیستم مدیریت محتوا" },
"categoryName2": { "message": "انجمن پیام" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Forum" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Taboleiro de mensaxes" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Διαδικτυακό Φόρουμ" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "Sistem Pengelola Konten" },
"categoryName2": { "message": "Papan Pesan" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Forum" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "会社種別" },
"attributeCompanyFounded": { "message": "会社創立日" },
"attributeKeywords": { "message": "キーワード" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "メッセージボード" },

@ -10,82 +10,85 @@
"optionTracking": { "message": "익명으로 wappalyzer.com에 식별된 기술 정보 전송" },
"optionThemeMode": { "message": "다크 모드 호환 활성화" },
"optionBadge": { "message": "아이콘에 식별된 기술 갯수 표시" },
"optionShowCached": { "message": "Include cached detections in results" },
"optionApiKey": { "message": "API key" },
"optionApiKeyDescription": { "message": "get your API key" },
"optionShowCached": { "message": "결과에 캐시된 식별 정보 포함" },
"optionApiKey": { "message": "API " },
"optionApiKeyDescription": { "message": "API 키 얻기" },
"disableOnDomain": { "message": "이 웹 사이트에서 끄기" },
"clearCache": { "message": "캐시된 식별 정보 지우기" },
"nothingToDo": { "message": "여기에는 할 일이 없네요." },
"noAppsDetected": { "message": "식별된 기술이 없습니다." },
"categoryPin": { "message": "항상 아이콘 보이기" },
"termsAccept": { "message": "I'm ok with that" },
"termsDecline": { "message": "Disable" },
"termsAccept": { "message": "동의합니다" },
"termsDecline": { "message": "비활성화" },
"termsContent": { "message": "이 확장 기능은 사이트의 도메인과 식별된 기술을 포함한 익명 정보를 <a href='https://www.wappalyzer.com'>wappalyzer.com</a>에 전송합니다. 이 기능은 설정에서 비활성화 할 수 있습니다." },
"privacyPolicy": { "message": "개인정보처리방침" },
"createAlert": { "message": "이 웹 사이트에 대한 알림 받기" },
"leadLists": { "message": "Lead generation tools" },
"tabTechnologies": { "message": "Technologies" },
"tabPro": { "message": "More info" },
"creditBalance": { "message": "Credit balance:" },
"proMessageHeading": { "message": "Unlock PRO features" },
"proMessage": { "message": "Subscribe to a PRO plan to view company and contact information of the websites you visit." },
"proButton": { "message": "Compare plans" },
"proInfo": { "message": "Learn more" },
"proEmpty": { "message": "No results found." },
"proCrawl": { "message": "No results found, please check back later." },
"formSave": { "message": "Save" },
"leadLists": { "message": "잠재 고객 발굴 툴" },
"tabTechnologies": { "message": "기술" },
"tabPro": { "message": "더 보기" },
"creditBalance": { "message": "소유 크레딧:" },
"proMessageHeading": { "message": "PRO 기능 해제하기" },
"proMessage": { "message": "PRO 플랜에 가입하면 방문하는 웹 사이트의 회사 및 연락처 정보를 볼 수 있습니다." },
"proButton": { "message": "플랜 비교하기" },
"proInfo": { "message": "더 알아보기" },
"proEmpty": { "message": "결과가 없습니다." },
"proCrawl": { "message": "결과가 없습니다, 잠시 후에 확인해주세요." },
"formSave": { "message": "저장" },
"setCompany": { "message": "Company information" },
"setKeywords": { "message": "Keywords" },
"setEmail": { "message": "Email addresses" },
"setPhone": { "message": "Phone numbers" },
"setAddress": { "message": "Addresses" },
"setContact": { "message": "Contact details" },
"setSocial": { "message": "Social media accounts" },
"setMeta": { "message": "Metadata" },
"setLocale": { "message": "Locale" },
"setTrackers": { "message": "Trackers" },
"setSecurity": { "message": "Security" },
"setCompany": { "message": "회사 정보" },
"setKeywords": { "message": "키워드" },
"setEmail": { "message": "이메일 주소" },
"setPhone": { "message": "휴대폰 번호" },
"setAddress": { "message": "주소" },
"setContact": { "message": "연락처 상세" },
"setSocial": { "message": "소셜 미디어 계정" },
"setMeta": { "message": "메타데이터" },
"setLocale": { "message": "언어(지역)" },
"setTrackers": { "message": "추적기" },
"setSecurity": { "message": "보안" },
"attributeIpCountry": { "message": "IP country" },
"attributeIpRegion": { "message": "IP region" },
"attributeLanguage": { "message": "Language" },
"attributeEmail": { "message": "Email address" },
"attributePhone": { "message": "Phone number" },
"attributeIpCountry": { "message": "IP 나라" },
"attributeIpRegion": { "message": "IP 지역" },
"attributeLanguage": { "message": "언어" },
"attributeEmail": { "message": "이메일 주소" },
"attributePhone": { "message": "휴대폰 번호" },
"attributeSkype": { "message": "Skype" },
"attributeWhatsapp": { "message": "WhatsApp" },
"attributeInferredCompanyName": { "message": "Inferred company name" },
"attributeTwitter": { "message": "Twitter" },
"attributeFacebook": { "message": "Facebook" },
"attributeInstagram": { "message": "Instagram" },
"attributeInferredCompanyName": { "message": "유추 회사 명" },
"attributeTwitter": { "message": "트위터" },
"attributeFacebook": { "message": "페이스북" },
"attributeInstagram": { "message": "인스타그램" },
"attributeGithub": { "message": "GitHub" },
"attributeTiktok": { "message": "TikTok" },
"attributeYoutube": { "message": "YouTube" },
"attributeYoutube": { "message": "유튜브" },
"attributePinterest": { "message": "Pinterest" },
"attributeLinkedin": { "message": "LinkedIn" },
"attributeOwler": { "message": "Owler" },
"attributeTitle": { "message": "Title" },
"attributeDescription": { "message": "Description" },
"attributeCopyright": { "message": "Copyright" },
"attributeCopyrightYear": { "message": "Copyright year" },
"attributeResponsive": { "message": "Responsive" },
"attributeCertInfo_issuer": { "message": "Cert issuer" },
"attributeCertInfo_protocol": { "message": "Cert protocol" },
"attributeCertInfo_validTo": { "message": "Cert expiry" },
"attributeHttps": { "message": "SSL/TLS enabled" },
"attributeTitle": { "message": "제목" },
"attributeDescription": { "message": "설명" },
"attributeCopyright": { "message": "저작권" },
"attributeCopyrightYear": { "message": "저작 년도" },
"attributeResponsive": { "message": "반응형" },
"attributeCertInfo_issuer": { "message": "인증서 발행자" },
"attributeCertInfo_protocol": { "message": "인증서 프로토콜" },
"attributeCertInfo_validTo": { "message": "인증서 만료" },
"attributeHttps": { "message": "SSL/TLS 활성화됨" },
"attributeTrackerGoogleAnalytics": { "message": "Google Analytics" },
"attributeTrackerGoogleAdSense": { "message": "Google AdSense" },
"attributeTrackerMedianet": { "message": "Medianet" },
"attributeTrackerFacebook": { "message": "Facebook" },
"attributeTrackerOptimizely": { "message": "Optimizely" },
"attributeCompanyName": { "message": "Company name" },
"attributeIndustry": { "message": "Industry" },
"attributeAbout": { "message": "About" },
"attributeLocations": { "message": "Locations" },
"attributeCompanySize": { "message": "Company size" },
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeTrackerFacebook": { "message": "페이스북" },
"attributeTrackerOptimizely": { "message": "최적화" },
"attributeCompanyName": { "message": "회사 정보" },
"attributeIndustry": { "message": "산업" },
"attributeAbout": { "message": "정보" },
"attributeLocations": { "message": "위치" },
"attributeCompanySize": { "message": "회사 크기" },
"attributeCompanyType": { "message": "회사 종류" },
"attributeCompanyFounded": { "message": "회사 상장" },
"attributeKeywords": { "message": "키워드" },
"attributeDns_spf": { "message": "SPF 레코드" },
"attributeDns_dmarc": { "message": "DMARC 레코드" },
"attributeSchemaOrgTypes": { "message": "schema.org 타입" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "포럼 소프트웨어" },
@ -128,7 +131,7 @@
"categoryName39": { "message": "웹캠" },
"categoryName40": { "message": "프린터" },
"categoryName41": { "message": "결제 처리" },
"categoryName42": { "message": "Tag managers" },
"categoryName42": { "message": "태그 관리자" },
"categoryName44": { "message": "CI" },
"categoryName46": { "message": "원격 접속" },
"categoryName47": { "message": "개발" },
@ -154,18 +157,18 @@
"categoryName67": { "message": "쿠키 동의" },
"categoryName68": { "message": "접근성" },
"categoryName69": { "message": "소셜 로그인" },
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
"categoryName73": { "message": "Surveys" },
"categoryName74": { "message": "A/B testing" },
"categoryName75": { "message": "Email" },
"categoryName76": { "message": "Personalisation" },
"categoryName77": { "message": "Retargeting" },
"categoryName70": { "message": "SSL/TLS 인증 기관" },
"categoryName71": { "message": "제휴 프로그램" },
"categoryName72": { "message": "약속 스케줄링" },
"categoryName73": { "message": "설문" },
"categoryName74": { "message": "A/B 테스팅" },
"categoryName75": { "message": "이메일" },
"categoryName76": { "message": "개인화" },
"categoryName77": { "message": "리타겟팅" },
"categoryName78": { "message": "RUM" },
"categoryName79": { "message": "Geolocation" },
"categoryName80": { "message": "WordPress themes" },
"categoryName81": { "message": "Shopify themes" },
"categoryName82": { "message": "Drupal themes" },
"categoryName83": { "message": "Browser fingerprinting" }
"categoryName79": { "message": "위치" },
"categoryName80": { "message": "WordPress 테마" },
"categoryName81": { "message": "Shopify 테마" },
"categoryName82": { "message": "Drupal 테마" },
"categoryName83": { "message": "브라우저 지문 (fingerprinting)" }
}

@ -86,6 +86,10 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "System zarządzania treścią" },
"categoryName2": { "message": "Forum" },
"categoryName3": { "message": "Menedżer baz danych" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Fórum" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Fórum" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Forum de discuții" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Форум" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Message Board" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "İçerik Yönetim Sistemi" },
"categoryName2": { "message": "Mesaj Tahtası" },

@ -86,7 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Форум" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "CMS (KBT)" },
"categoryName2": { "message": "Forum" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "内容管理系统CMS" },
"categoryName2": { "message": "信息板" },

@ -86,6 +86,9 @@
"attributeCompanyType": { "message": "Company type" },
"attributeCompanyFounded": { "message": "Company founded" },
"attributeKeywords": { "message": "Keywords" },
"attributeDns_spf": { "message": "SPF record" },
"attributeDns_dmarc": { "message": "DMARC record" },
"attributeSchemaOrgTypes": { "message": "schema.org types" },
"categoryName1": { "message": "內容管理系統CMS" },
"categoryName2": { "message": "留言板/討論區" },

@ -13,6 +13,7 @@
* {
box-sizing: border-box;
scrollbar-width: none;
}
body {
@ -23,10 +24,13 @@ body {
font-size: .9rem;
line-height: 1.5rem;
margin: 0;
width: 34rem;
overflow-x: hidden;
}
.body__popup {
width: 34rem;
}
a, a:focus, a:hover {
color: var(--color-primary);
outline: none;

@ -11,7 +11,7 @@
<script src="../js/utils.js"></script>
<script src="../js/options.js"></script>
</head>
<body>
<body class="body__options">
<div class="options">
<button data-i18n="clearCache" class="options__cache">&nbsp;</button>

@ -11,7 +11,7 @@
<script src="../js/utils.js"></script>
<script src="../js/popup.js"></script>
</head>
<body>
<body class="body__popup">
<div class="popup">
<div class="header">
<a href="https://www.wappalyzer.com/?utm_source=popup&utm_medium=extension&utm_campaign=wappalyzer" class="header__link">
@ -46,8 +46,8 @@
</div>
<div class="tabs">
<div class="tab tab--technologies tab--active" data-i18n="tabTechnologies"></div>
<div class="tab tab--pro" data-i18n="tabPro"></div>
<div class="tab tab--technologies tab--active" data-i18n="tabTechnologies">&nbsp;</div>
<div class="tab tab--pro" data-i18n="tabPro">&nbsp;</div>
<div class="credits credits--hidden">
<span data-i18n="creditBalance">&nbsp;</span>
@ -57,7 +57,7 @@
</div>
<div class="tab-item">
<div class="empty">
<div class="empty empty--hidden">
<div class="empty__text" data-i18n="noAppsDetected">&nbsp;</div>
<div class="ttt-game">
@ -103,7 +103,7 @@
</div>
</div>
<div class="detections detections--hidden"></div>
<div class="detections"></div>
<div class="terms terms--hidden">
<div class="terms__content" data-i18n="termsContent"></div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,6 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.6189 2.625C18.92 2.63562 17.3852 3.08971 16.0167 3.98898L16 4L15.9349 3.95743C14.5625 3.06863 13.0239 2.625 11.321 2.625C5.05883 2.625 0 7.48685 0 13.5994C0 16.5434 0.96473 18.9062 3.30649 21.6082C4.8883 23.4334 4.48155 25.7707 2.30801 27.6785L0.323327 29.4206L2.9274 28.9818C5.68393 28.5172 7.98916 27.4737 9.83462 25.8487C9.92878 25.7658 10.0656 25.7529 10.1736 25.8168L15.0085 28.6757C15.6305 29.0435 16.3962 29.072 17.0437 28.7514C26.955 23.845 32 18.8006 32 13.5994C32 7.48689 26.9411 2.625 20.679 2.625H20.6189ZM20.679 4.125C26.1257 4.125 30.5 8.32894 30.5 13.5994C30.5 18.057 25.8267 22.7298 16.3782 27.4071C16.1853 27.5026 15.9573 27.4941 15.772 27.3846L10.9371 24.5256C10.278 24.1359 9.44504 24.209 8.86423 24.7048L8.79438 24.7658C7.69813 25.7193 6.41356 26.4454 4.93346 26.944L4.88081 26.9615L4.89131 26.9448C6.15966 24.8721 6.09121 22.5311 4.44003 20.6258C2.3249 18.1853 1.5 16.165 1.5 13.5994C1.5 8.3289 5.87422 4.125 11.321 4.125C12.771 4.125 14.052 4.50397 15.1995 5.26898L16 5.80267L16.8005 5.26898C17.948 4.50397 19.229 4.125 20.679 4.125Z" fill="black"/>
<path d="M9.0625 17.375C10.098 17.375 10.9375 16.5355 10.9375 15.5C10.9375 14.4645 10.098 13.625 9.0625 13.625C8.02697 13.625 7.1875 14.4645 7.1875 15.5C7.1875 16.5355 8.02697 17.375 9.0625 17.375Z" fill="#FF3EF4"/>
<path d="M16 17.375C17.0355 17.375 17.875 16.5355 17.875 15.5C17.875 14.4645 17.0355 13.625 16 13.625C14.9645 13.625 14.125 14.4645 14.125 15.5C14.125 16.5355 14.9645 17.375 16 17.375Z" fill="#011CEA"/>
<path d="M22.9375 17.375C23.973 17.375 24.8125 16.5355 24.8125 15.5C24.8125 14.4645 23.973 13.625 22.9375 13.625C21.902 13.625 21.0625 14.4645 21.0625 15.5C21.0625 16.5355 21.902 17.375 22.9375 17.375Z" fill="#13EBFF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1007 B

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.0753 5.16177H13.557C12.8861 5.14457 12.3183 5.6951 12.3183 6.36607V6.40048C12.3011 7.07145 12.8517 7.63919 13.5226 7.63919H21.0753C25.6517 7.63919 29.3678 11.3553 29.3678 15.9317C29.3678 20.508 25.6517 24.2241 21.0753 24.2241H14.8129V15.9661C14.8129 15.2779 14.2624 14.7274 13.5742 14.7274C12.8861 14.7274 12.3355 15.2779 12.3355 15.9661V25.5145C12.3183 26.1854 12.8689 26.7532 13.5398 26.7532H21.0925C27.0624 26.7532 31.8968 21.9188 31.8968 15.9489C31.8968 9.97897 27.0452 5.16177 21.0753 5.16177Z" fill="#283269"/>
<path d="M7.48389 7.67347C8.16801 7.67347 8.7226 7.11888 8.7226 6.43476C8.7226 5.75063 8.16801 5.19604 7.48389 5.19604C6.79977 5.19604 6.24518 5.75063 6.24518 6.43476C6.24518 7.11888 6.79977 7.67347 7.48389 7.67347Z" fill="#283269"/>
<path d="M1.41077 7.67347C2.09489 7.67347 2.64948 7.11888 2.64948 6.43476C2.64948 5.75063 2.09489 5.19604 1.41077 5.19604C0.726647 5.19604 0.172058 5.75063 0.172058 6.43476C0.172058 7.11888 0.726647 7.67347 1.41077 7.67347Z" fill="#283269"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

@ -0,0 +1,8 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.8293 0.780273H0.780518V31.2193H14.8293V0.780273Z" fill="black"/>
<path d="M31.9999 0.780273H17.1707V14.8291H31.9999V0.780273Z" fill="black"/>
<path d="M31.9999 17.1709H17.1707V31.2197H31.9999V17.1709Z" fill="black"/>
<path d="M14.8293 0.780273H0.780518V31.2193H14.8293V0.780273Z" fill="#253328"/>
<path d="M31.9999 0.780273H17.1707V14.8291H31.9999V0.780273Z" fill="#0067C8"/>
<path d="M31.9999 17.1709H17.1707V31.2197H31.9999V17.1709Z" fill="#CED8DC"/>
</svg>

After

Width:  |  Height:  |  Size: 569 B

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 281.23 226.85"><defs><style>.cls-1{fill:#1a936f;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><g id="Layer_2-2" data-name="Layer 2"><g id="Layer_1-2-2" data-name="Layer 1-2"><path class="cls-1" d="M201.77,204.55,55.31,168.79,59.16,153c-3,.15-6.06.21-9.09.15q-4.92-.09-9.83-.55L33,182.33l182.35,44.52,12.86-52.66A117.12,117.12,0,0,1,209.73,172Z"/><path class="cls-1" d="M67.53,118.77,91.08,22.33,237.53,58.09l-19.9,81.52A84.06,84.06,0,0,0,236.3,141l23.59-96.48L77.51,0,48.25,119.84A98.73,98.73,0,0,0,67.53,118.77Z"/><path class="cls-1" d="M50.2,145.79a123.64,123.64,0,0,0,27.2-2.53l24.72-5.11.32-.05H105l.31.08h0l.28.09h.1l.22.09H106l.29.14,28.37,14.07,12.41-4.16-2.41-7.11L142.89,136l-4.36-2-24-11.87-.56-.27-.17-.08-.41-.18-.18-.08-.53-.21h0l-.57-.22-.22-.09-.42-.14-.19-.07-.51-.16h-.08l-.6-.17h-.16l-.45-.12h-.18l-.53-.12h-.09l-.61-.12h-.16l-.47-.08h-.18l-.56-.08h-.07l-.62-.07h-4.94l-.61.06h0l-.63.09h-.17l-.47.07H99l-.62.12-24.71,5.1a105.8,105.8,0,0,1-46.21-.81L4.38,118.86,0,136.86l23.09,5.64A124.52,124.52,0,0,0,42,145.58C44.74,145.67,47.47,145.74,50.2,145.79Z"/><path class="cls-1" d="M281.23,137.67l-20.1,6.43-1.57.48-.52.16-1,.3-.62.17-1,.26-.66.17-.92.23-.69.16-.9.21-.69.15-.9.19-.7.14-.9.18-.7.13-.9.15-.7.12-.9.14-.7.1-.92.13-.69.09-.93.11-.68.08L242,148l-.67.06-1,.08h-.64l-1,.07H227.78l-1-.06-.67-.05-.94-.08-.7-.06-.91-.09-.71-.09-.9-.1-.71-.09-.9-.13-.72-.1-.88-.14-.72-.12-.88-.15-.73-.13-.88-.17-.72-.14-.88-.19-.71-.16-.91-.21-.68-.16-1-.25-.53-.14-1.56-.42-1.85-.5-.26-.07-1.77-.45-.32-.08-1.78-.41-.29-.07-1.85-.4h-.13l-1.85-.37h-.17l-1.84-.34h-.3c-.6-.11-1.21-.21-1.81-.3L194,142c-.61-.1-1.23-.19-1.84-.27H192l-1.93-.26h0l-1.93-.22h-.24c-.62-.07-1.23-.13-1.85-.18h-.31l-1.83-.15h-.29l-1.89-.12h-.13l-1.9-.08h-.15l-1.89-.06h-6.5l-16.22.36,9.45,9-8.91,9.47,16.2-.47h8.48l1.14.07H182l1.17.08.74.06,1.29.12.62.07,1.83.2h.07l1.9.25.59.09,1.3.19.72.13,1.18.19.76.14,1.13.22.77.15,1.12.24.77.17,1.15.26.72.17,1.26.31.6.16,1.85.49c.62.18,1.25.35,1.87.51l.62.16,1.09.27h.17l.82.19,1.09.26.85.18,1.06.23.87.17,1,.2.88.16,1,.18.89.15,1,.16.91.13,1,.14.91.12,1,.12.92.1,1,.1.92.09,1,.09.91.06,1,.07h.91l1,.05h9.49l1.07-.05.9-.06,1-.06.92-.07,1-.09.92-.09,1-.1.93-.1,1-.12.92-.12,1-.14.92-.14,1-.15.91-.16,1-.17.91-.17,1-.2.89-.17,1-.22.87-.2,1-.24.86-.2,1.07-.27.82-.21,1.13-.3.76-.21,1.25-.37.64-.18,1.87-.58,9.36-3,5.13-21Z"/></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="32" height="32" fill="#0050C8"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.12738 19.3028C2.85911 19.302 2.59372 19.2474 2.3469 19.1423C2.10009 19.0372 1.87685 18.8837 1.69038 18.6908C1.30881 18.2899 1.096 17.7577 1.096 17.2043C1.096 16.6509 1.30881 16.1186 1.69038 15.7178L16.0844 0.820778C16.27 0.62647 16.4931 0.471811 16.7402 0.366145C16.9872 0.260479 17.2532 0.206 17.5219 0.206C17.7906 0.206 18.0565 0.260479 18.3036 0.366145C18.5507 0.471811 18.7738 0.62647 18.9594 0.820778C19.7514 1.64078 19.7514 2.97378 18.9594 3.79378L4.56438 18.6798C4.16338 19.0948 3.64438 19.3028 3.12738 19.3028ZM14.4254 31.0748C14.1569 31.074 13.8913 31.0193 13.6442 30.914C13.3972 30.8087 13.1739 30.655 12.9874 30.4618C12.6058 30.0609 12.393 29.5287 12.393 28.9753C12.393 28.4219 12.6058 27.8896 12.9874 27.4888L27.3824 12.6028C27.568 12.4086 27.791 12.2541 28.038 12.1485C28.285 12.043 28.5508 11.9885 28.8194 11.9885C29.088 11.9885 29.3538 12.043 29.6008 12.1485C29.8477 12.2541 30.0708 12.4086 30.2564 12.6028C31.0494 13.4228 31.0494 14.7558 30.2564 15.5758L15.8624 30.4508C15.4604 30.8658 14.9424 31.0738 14.4254 31.0738V31.0748ZM25.7024 31.1288C25.4339 31.1281 25.1684 31.0736 24.9214 30.9685C24.6744 30.8634 24.451 30.7098 24.2644 30.5168C23.8828 30.1159 23.67 29.5837 23.67 29.0303C23.67 28.4769 23.8828 27.9446 24.2644 27.5438L27.4344 24.2648C27.62 24.0705 27.8431 23.9158 28.0902 23.8101C28.3372 23.7045 28.6032 23.65 28.8719 23.65C29.1406 23.65 29.4065 23.7045 29.6536 23.8101C29.9007 23.9158 30.1238 24.0705 30.3094 24.2648C31.1024 25.0848 31.1024 26.4178 30.3094 27.2378L27.1394 30.5168C26.9534 30.7105 26.7301 30.8647 26.483 30.9698C26.2358 31.075 25.97 31.1291 25.7014 31.1288H25.7024ZM3.03238 7.67378C2.76394 7.67312 2.49837 7.61862 2.25137 7.5135C2.00437 7.40837 1.78096 7.25477 1.59438 7.06178C1.21281 6.66093 1 6.1287 1 5.57528C1 5.02186 1.21281 4.48963 1.59438 4.08878L4.76538 0.809778C4.951 0.61547 5.17409 0.460811 5.42116 0.355145C5.66823 0.249479 5.93416 0.195 6.20288 0.195C6.4716 0.195 6.73753 0.249479 6.9846 0.355145C7.23168 0.460811 7.45476 0.61547 7.64038 0.809778C8.43238 1.62978 8.43238 2.96278 7.64038 3.78278L4.47038 7.06178C4.28301 7.25374 4.05946 7.40666 3.81264 7.51171C3.56581 7.61675 3.30062 7.67184 3.03238 7.67378ZM3.06338 31.0848C2.79511 31.084 2.52972 31.0294 2.2829 30.9243C2.03609 30.8192 1.81285 30.6657 1.62638 30.4728C1.24481 30.0719 1.032 29.5397 1.032 28.9863C1.032 28.4329 1.24481 27.9006 1.62638 27.4998L21.7384 6.70078C21.924 6.50647 22.1471 6.35181 22.3942 6.24615C22.6412 6.14048 22.9072 6.086 23.1759 6.086C23.4446 6.086 23.7105 6.14048 23.9576 6.24615C24.2047 6.35181 24.4278 6.50647 24.6134 6.70078C25.4054 7.52078 25.4054 8.85378 24.6134 9.67378L4.50138 30.4728C4.11038 30.8878 3.58138 31.0848 3.06338 31.0848V31.0848ZM27.5094 5.78278C27.2409 5.78212 26.9754 5.72762 26.7284 5.6225C26.4814 5.51737 26.258 5.36377 26.0714 5.17078C25.6898 4.76993 25.477 4.2377 25.477 3.68428C25.477 3.13086 25.6898 2.59863 26.0714 2.19778L27.6354 0.614778C27.821 0.42047 28.0441 0.265811 28.2912 0.160145C28.5382 0.0544789 28.8042 0 29.0729 0C29.3416 0 29.6075 0.0544789 29.8546 0.160145C30.1017 0.265811 30.3248 0.42047 30.5104 0.614778C31.3034 1.43478 31.3034 2.76778 30.5104 3.58678L28.9464 5.17178C28.5554 5.57678 28.0264 5.78378 27.5094 5.78378V5.78278Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

@ -0,0 +1,10 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M4.35678 27.3477C7.40958 30.2586 11.4813 32.0065 15.6995 31.8636C20.0631 32.0116 24.1369 30.2686 27.1931 27.3614C29.9583 24.7448 31.5605 21.1094 31.7083 17.1823L31.7098 14.7095C31.5666 10.9276 29.8234 7.14476 27.2068 4.52501C24.1541 1.46863 20.0823 -0.133807 15.8641 0.00911957C11.646 -0.138863 7.42675 1.60406 4.51592 4.51141C1.75072 7.12794 0.148537 10.7633 0.000728931 14.6905L-0.000752835 17.1633C-0.00301907 20.9451 1.59471 24.7278 4.35678 27.3477ZM8.58229 15.132C8.58342 13.2411 9.31165 11.6416 10.6215 10.3333C12.0769 9.02503 13.9682 8.29889 15.8591 8.30003C17.8956 8.15579 19.6405 9.02957 21.0943 10.3395C22.4026 11.6494 23.1289 13.2498 23.1277 15.1407L23.127 16.3044C23.1259 18.1953 22.3977 19.7949 21.0878 21.1032C19.6325 22.4114 17.7411 23.1375 15.8502 23.1364C13.8138 23.2806 12.0688 22.4068 10.6151 21.0969C9.30677 19.787 8.58046 18.1866 8.58159 16.2957L8.58229 15.132Z" fill="#7B66F4"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 527 B

@ -0,0 +1,15 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="32" height="32">
<path d="M15.9039 0.516113C18.1671 0.516113 20.2636 0.908887 22.1929 1.69805C24.1258 2.48669 25.8089 3.57469 27.2463 4.96515C28.6822 6.3556 29.8063 7.99482 30.6192 9.88489C31.4321 11.777 31.8378 13.826 31.8378 16.032C31.8378 18.24 31.4321 20.288 30.6192 22.1796C29.8063 24.0702 28.6822 25.7115 27.2463 27.0988C25.8089 28.4888 24.1232 29.5793 22.1929 30.3659C20.2636 31.1546 18.1671 31.5473 15.9039 31.5473C13.6396 31.5473 11.5436 31.1546 9.61176 30.3659C7.68144 29.5783 5.99834 28.4888 4.56195 27.0988C3.12505 25.7115 2.0004 24.0702 1.1875 22.1796C0.50348 20.5857 0.108159 18.8848 0 17.07V14.9945C0.108172 13.1802 0.503491 11.477 1.1875 9.88489C2.0004 7.99482 3.12505 6.3556 4.56195 4.96515C5.99834 3.57469 7.68144 2.48566 9.61176 1.69805C11.541 0.908887 13.6396 0.516113 15.9039 0.516113ZM7.96376 19.3378H5.46466C5.48376 20.7267 5.74698 22.0222 6.26105 23.2186C6.79266 24.4588 7.53021 25.5329 8.4706 26.4433C9.41202 27.3538 10.5155 28.0676 11.781 28.5842C13.0445 29.1009 14.4195 29.3579 15.9039 29.3579C17.3852 29.3579 18.7607 29.1009 20.0262 28.5842C21.2902 28.0676 22.3927 27.3538 23.3336 26.4433C24.275 25.5329 25.0125 24.4588 25.5436 23.2186C26.0577 22.0222 26.323 20.7267 26.34 19.3378H23.8409C23.813 19.7646 23.7201 20.1662 23.5586 20.5409C23.3671 20.991 23.0992 21.3806 22.7581 21.712C22.4133 22.0428 22.0133 22.3014 21.5555 22.4882C21.0956 22.6761 20.5976 22.77 20.0572 22.77C19.5189 22.77 19.0213 22.6782 18.5609 22.4882C18.1041 22.3014 17.7031 22.0428 17.3594 21.712C17.0203 21.3822 16.7524 20.992 16.5578 20.5409C16.4293 20.2431 16.3467 19.9303 16.3039 19.5969H15.5034C15.46 19.9303 15.3749 20.2431 15.2469 20.5409C15.0549 20.991 14.787 21.3806 14.4458 21.712C14.1041 22.0428 13.701 22.3014 13.2432 22.4882C12.7834 22.6761 12.2853 22.77 11.7475 22.77C11.2066 22.77 10.7096 22.6782 10.2487 22.4882C9.79189 22.3014 9.39086 22.0428 9.05021 21.712C8.70802 21.3822 8.43963 20.992 8.24815 20.5409C8.08505 20.1662 7.99266 19.7657 7.96376 19.3378ZM20.0598 16.8872C19.7398 16.8872 19.4435 16.9424 19.17 17.0534C18.9005 17.1639 18.6611 17.3208 18.4592 17.5148C18.2554 17.711 18.0969 17.9437 17.9829 18.2111C17.8667 18.479 17.8094 18.7675 17.8094 19.0792C17.8094 19.3915 17.8667 19.6805 17.9829 19.9489C18.0969 20.2142 18.2554 20.4475 18.4592 20.6436C18.6611 20.8397 18.9005 20.992 19.17 21.1045C19.4435 21.216 19.7398 21.2707 20.0598 21.2707C20.3798 21.2707 20.6755 21.216 20.949 21.1045C21.2216 20.992 21.461 20.8397 21.6618 20.6436C21.8657 20.4475 22.0252 20.2142 22.1392 19.9489C22.2554 19.6805 22.3116 19.391 22.3116 19.0792C22.3116 18.7695 22.2554 18.479 22.1392 18.2111C22.0252 17.9437 21.8657 17.711 21.6618 17.5148C21.461 17.3208 21.2216 17.1639 20.949 17.0534C20.6755 16.9424 20.3798 16.8872 20.0598 16.8872ZM11.7475 16.8872C11.4275 16.8872 11.1312 16.9424 10.8587 17.0534C10.5857 17.1639 10.3488 17.3208 10.1449 17.5148C9.94363 17.711 9.78466 17.9437 9.66853 18.2111C9.55447 18.479 9.49563 18.7675 9.49563 19.0792C9.49563 19.3915 9.55447 19.6805 9.66853 19.9489C9.78466 20.2142 9.94363 20.4475 10.1449 20.6436C10.3488 20.8397 10.5857 20.992 10.8587 21.1045C11.1312 21.216 11.4275 21.2707 11.7475 21.2707C12.0675 21.2707 12.3638 21.216 12.6368 21.1045C12.9093 20.992 13.1467 20.8397 13.348 20.6436C13.5519 20.4475 13.7129 20.2142 13.827 19.9489C13.9405 19.6805 13.9978 19.391 13.9978 19.0792C13.9978 18.7695 13.9405 18.479 13.827 18.2111C13.7129 17.9437 13.5519 17.711 13.348 17.5148C13.1467 17.3208 12.9093 17.1639 12.6368 17.0534C12.3638 16.9424 12.0675 16.8872 11.7475 16.8872ZM16.3989 10.0299C16.3989 10.0299 15.7047 11.951 10.5238 13.5799C10.5238 13.5799 9.03292 14.0459 7.53069 14.528L7.14509 14.652C6.88909 14.7346 6.63649 14.8165 6.39473 14.8955C6.34879 14.9868 6.30131 15.072 6.26105 15.1644C5.91989 15.9556 5.68969 16.7891 5.56944 17.6645H8.22905C8.23421 17.6495 8.24144 17.6325 8.24815 17.6175C8.43963 17.167 8.70802 16.7773 9.05021 16.447C9.39086 16.1166 9.79189 15.857 10.2512 15.6702C10.7096 15.4823 11.2097 15.3868 11.7475 15.3868C12.2853 15.3868 12.7854 15.4823 13.2432 15.6702C13.7031 15.857 14.1041 16.1166 14.4458 16.447C14.787 16.7773 15.0549 17.167 15.2469 17.6175C15.3088 17.7595 15.3583 17.905 15.4012 18.0526H16.4061C16.4489 17.905 16.499 17.7595 16.5604 17.6175C16.7524 17.167 17.0203 16.7773 17.3614 16.447C17.7031 16.1166 18.1041 15.857 18.5635 15.6702C19.0234 15.4823 19.522 15.3868 20.0598 15.3868C20.5976 15.3868 21.0956 15.4823 21.5555 15.6702C22.0154 15.857 22.4164 16.1166 22.7581 16.447C23.0992 16.7773 23.3671 17.167 23.5612 17.6175C23.5658 17.6325 23.5725 17.6495 23.5782 17.6645H26.2378C26.115 16.7891 25.8843 15.9546 25.5436 15.1644C25.4585 14.9641 25.3563 14.7762 25.2613 14.5842C25.0367 14.5042 24.81 14.4244 24.5849 14.3458L24.3157 14.2522C22.7075 13.6946 21.25 13.2222 21.25 13.2222C17.4869 11.951 16.3989 10.0299 16.3989 10.0299Z" fill="white"/>
</mask>
<g mask="url(#mask0)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 31.5473H31.8382V27.6686H0.000793457V31.5473Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 27.6687H31.8382V23.7894H0.000793457V27.6687Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 23.7894H31.8382V19.9102H0.000793457V23.7894Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 19.9107H31.8382V16.0315H0.000793457V19.9107Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 32H16H32V0H0V32Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 12.1528H31.8382V8.27405H0.000793457V12.1528Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 8.274H31.8382V4.39478H0.000793457V8.274Z" fill="#E05E31"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000793457 4.39482H31.8382V0.516113H0.000793457V4.39482Z" fill="#E05E31"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

@ -1,19 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="110.03257" height="107.5" viewBox="0 0 88.026056 86" version="1.1" id="svg2" inkscape:version="0.48.3.1 r9886" sodipodi:docname="popwe.svg">
<metadata id="metadata126">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs124"/>
<sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="960" id="namedview122" showgrid="false" inkscape:zoom="1.0905983" inkscape:cx="258.62288" inkscape:cy="53.75" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg2" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0"/>
<path d="m 46.01,0 5.98,0 c 0,6.67 0,13.33 0,20 10.36,0.02 20.71,-0.03 31.06,0 2.04,-0.1 4.83,0.49 4.79,3.06 0.38,12.65 0.01,25.33 0.18,37.99 0.04,2.24 -0.03,5.77 -3.08,5.8 -10.97,0.38 -21.97,0.03 -32.95,0.15 0,6.33 0,12.67 0,19 l -6.2,0 C 30.55,83.23 15.27,80.68 0.01,78 0,54.67 0,31.34 0,8.02 15.34,5.33 30.68,2.73 46.01,0 z" id="path18" inkscape:connector-curvature="0" style="fill:#0071c5"/>
<path d="m 51.99,23 c 11.08,0.01 22.15,-0.03 33.23,0.02 -0.19,1.31 -0.59,2.6 -1.69,3.42 C 76.91,32.61 70.33,38.81 63.73,45 59.76,41.41 55.9,37.7 51.99,34.05 c 0,-3.69 0,-7.37 0,-11.05 z" id="path64" inkscape:connector-curvature="0" style="fill:#ffffff"/>
<path d="m 21.44,26.66 c 5.64,-2.13 12.23,0.86 14.62,6.31 3.26,7.5 2.8,17.76 -3.68,23.43 -5.97,5.11 -15.98,2.2 -18.7,-5.06 -3.58,-8.37 -1.84,-21.25 7.76,-24.68 z" id="path76" inkscape:connector-curvature="0" style="fill:#ffffff"/>
<path d="m 66.87,45.89 c 6.01,-5.71 12.07,-11.38 18.11,-17.06 0.03,11.72 0,23.45 0.01,35.17 -11,0 -22,0 -33,0 0,-8.72 -0.01,-17.44 0.01,-26.15 3.73,3.3 7.07,7.06 11.03,10.07 1.63,0.3 2.73,-1.11 3.84,-2.03 z" id="path92" inkscape:connector-curvature="0" style="fill:#ffffff"/>
<path d="m 22.41,32.67 c 2.66,-1.27 5.99,0.02 7.24,2.65 2,3.96 1.99,8.79 0.68,12.97 -0.93,2.97 -4.18,5.42 -7.33,4.25 -3.93,-1.24 -5.12,-5.9 -5.16,-9.55 -0.05,-3.78 0.82,-8.49 4.57,-10.32 z" id="path96" inkscape:connector-curvature="0" style="fill:#0071c5"/>
</svg>
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.7178 0.571411H18.8536C18.8536 2.95355 18.8536 5.33213 18.8536 7.71427C22.5536 7.72141 26.25 7.70355 29.9466 7.71427C30.6751 7.67855 31.6714 7.88927 31.6571 8.80713C31.7928 13.325 31.6606 17.8536 31.7214 22.375C31.7357 23.175 31.7108 24.4357 30.6214 24.4464C26.7036 24.5821 22.775 24.4571 18.8536 24.5C18.8536 26.7607 18.8536 29.0251 18.8536 31.2857H16.6393C11.1964 30.2966 5.73928 29.3857 0.289277 28.4286C0.285706 20.0964 0.285706 11.7643 0.285706 3.4357C5.76428 2.47498 11.2428 1.54641 16.7178 0.571411Z" fill="#0071C5"/>
<path d="M18.8536 8.78575C22.8107 8.78932 26.7643 8.77504 30.7214 8.79289C30.6534 9.26075 30.5106 9.72146 30.1177 10.0143C27.7536 12.2179 25.4036 14.4322 23.0464 16.6429C21.6286 15.3607 20.25 14.0357 18.8536 12.7322C18.8536 11.4143 18.8536 10.1 18.8536 8.78575Z" fill="white"/>
<path d="M7.94283 10.0929C9.95712 9.33216 12.3107 10.4 13.1643 12.3464C14.3285 15.025 14.1643 18.6893 11.85 20.7143C9.71783 22.5393 6.14284 21.5 5.17141 18.9072C3.89283 15.9179 4.51426 11.3179 7.94283 10.0929Z" fill="white"/>
<path d="M24.1678 16.9607C26.3143 14.9214 28.4786 12.8964 30.6357 10.8678C30.6466 15.0535 30.6357 19.2428 30.6391 23.4285C26.7107 23.4285 22.7821 23.4285 18.8536 23.4285C18.8536 20.3142 18.85 17.1999 18.8571 14.0892C20.1893 15.2678 21.3821 16.6107 22.7964 17.6857C23.3786 17.7928 23.7714 17.2892 24.1678 16.9607Z" fill="white"/>
<path d="M8.28929 12.2393C9.23929 11.7857 10.4286 12.2465 10.875 13.1857C11.5893 14.6 11.5857 16.325 11.1179 17.8179C10.7857 18.8786 9.62501 19.7536 8.5 19.3357C7.09643 18.8929 6.67143 17.2286 6.65715 15.925C6.63929 14.575 6.95001 12.8929 8.28929 12.2393Z" fill="#0071C5"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.9999 0L0 15.9999H15.9999V32L32 15.9999V0H15.9999Z" fill="#EC2059"/>
</svg>

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

@ -0,0 +1,6 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.8294 0L27.6588 7.9844V23.9532L13.8294 31.9376L0 23.9532V7.9844L13.8294 0Z" fill="#673AB8"/>
<path d="M4.13746 23.4585C5.71037 25.5084 11.3281 23.8378 16.6851 19.7273C22.0421 15.6168 25.1096 10.6228 23.5367 8.57292C21.9638 6.52307 16.346 8.19358 10.9891 12.3041C5.63213 16.4147 2.56455 21.4086 4.13746 23.4585Z" stroke="white" stroke-width="1"/>
<path d="M23.5205 23.4425C25.0934 21.3927 22.0258 16.3987 16.6688 12.2882C11.3119 8.17762 5.69411 6.5071 4.1212 8.55696C2.54829 10.6068 5.61587 15.6008 10.9728 19.7113C16.3298 23.8219 21.9476 25.4924 23.5205 23.4425Z" stroke="white" stroke-width="1"/>
<path d="M13.8396 18.1304C15.0109 18.1304 15.9605 17.1808 15.9605 16.0095C15.9605 14.8382 15.0109 13.8887 13.8396 13.8887C12.6683 13.8887 11.7188 14.8382 11.7188 16.0095C11.7188 17.1808 12.6683 18.1304 13.8396 18.1304Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 948 B

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.9891 13.767C21.9891 13.767 21.3386 12.8176 21.1803 12.6418C21.0221 12.4483 20.8814 12.2374 20.5649 12.2374C20.2309 12.2374 20.1078 12.4483 19.9495 12.6418C19.7913 12.8352 19.1583 13.8198 19.1583 13.8198L17.4353 16.4044L16.2045 18.1626C16.2045 18.1626 12.3012 23.9648 12.1605 24.1758C11.9847 24.4044 11.7913 24.7385 11.5627 24.7385C11.3342 24.7385 11.1232 24.4044 10.9649 24.1758C10.8243 23.9824 6.85065 18.1626 6.85065 18.1626C6.85065 18.1626 6.27043 17.2483 5.97153 16.8088C5.93636 16.756 5.76054 16.5275 5.63746 16.4044C5.42647 16.1934 5.28581 16.0879 5.02208 15.9824C4.68801 15.8418 4.26603 15.8769 4.26603 15.8769H0.802295C0.802295 15.8769 0.433064 15.8769 0.274823 16.1934C0.134163 16.5275 0.151746 17.4769 0.274823 17.7582C0.415482 18.0747 0.855042 18.0747 0.855042 18.0747C0.855042 18.0747 2.33197 18.0747 3.80889 18.0747C3.87922 18.0747 3.98471 18.0747 4.03746 18.0923C4.09021 18.1099 4.14295 18.1978 4.17812 18.2505C4.82867 19.2176 10.2616 27.1472 10.9649 28.1846C11.1232 28.3956 11.2287 28.589 11.5627 28.589C11.8968 28.589 11.9847 28.4132 12.1605 28.1846C12.3012 27.9736 14.8858 24.1582 14.8858 24.1582L18.9298 18.1451C18.9298 18.1451 19.7913 16.844 19.932 16.633C20.1078 16.4044 20.3012 16.0703 20.5298 16.0703C20.7583 16.0703 20.9869 16.4044 21.1627 16.6154C21.3386 16.8615 22.3408 18.3209 22.3408 18.3209C22.3408 18.3209 22.5869 18.6725 22.8858 18.6549C23.1847 18.6549 24.1693 17.8989 24.2924 17.6176C24.4155 17.3363 24.1869 17.0022 24.1869 17.0022L21.9891 13.767ZM31.8528 14.3648C31.7122 14.0483 31.2726 14.0483 31.2726 14.0483C31.2726 14.0483 29.7957 14.0483 28.3188 14.0483C28.2484 14.0483 28.143 14.0483 28.0902 14.0308C28.0375 14.0132 27.9847 13.9253 27.9495 13.8725C27.299 12.9055 21.866 4.97582 21.1627 3.93846C21.0045 3.70989 20.899 3.51648 20.5649 3.51648C20.2309 3.51648 20.143 3.6923 19.9671 3.92088C19.8265 4.13186 17.2419 7.94725 17.2419 7.94725L13.1979 13.9604C13.1979 13.9604 12.3364 15.2615 12.1957 15.4725C12.0199 15.7011 11.8265 16.0352 11.5979 16.0352C11.3693 16.0352 11.1408 15.7011 10.9649 15.4901C10.7891 15.244 9.78691 13.7846 9.78691 13.7846C9.78691 13.7846 9.54076 13.433 9.24186 13.4505C8.94295 13.4505 7.95834 14.2066 7.83526 14.4879C7.71219 14.7692 7.94076 15.1033 7.94076 15.1033L10.1386 18.3736C10.1386 18.3736 10.7891 19.3231 10.9474 19.4989C11.1056 19.6923 11.2463 19.9033 11.5627 19.9033C11.8968 19.9033 12.0199 19.6923 12.1781 19.4989C12.3364 19.3055 12.9693 18.3209 12.9693 18.3209L14.6924 15.7363L15.9232 13.978C15.9232 13.978 19.8265 8.17582 19.9671 7.96483C20.143 7.73626 20.3364 7.40219 20.5649 7.40219C20.7935 7.40219 21.0045 7.73626 21.1627 7.96483C21.3034 8.15824 25.277 13.978 25.277 13.978C25.277 13.978 25.8572 14.8923 26.1561 15.3319C26.1913 15.3846 26.3671 15.6132 26.4902 15.7363C26.7012 15.9472 26.8419 16.0527 27.1056 16.1582C27.4397 16.2989 27.8616 16.2637 27.8616 16.2637H31.3254C31.3254 16.2637 31.6946 16.2637 31.8528 15.9472C31.9935 15.5956 31.9759 14.6462 31.8528 14.3648Z" fill="#DB1753"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M28 0H4C1.79086 0 0 1.79086 0 4V28C0 30.2091 1.79086 32 4 32H28C30.2091 32 32 30.2091 32 28V4C32 1.79086 30.2091 0 28 0Z" fill="#ECE000"/>
<path d="M15.8895 4.23411C14.3798 4.24445 12.8187 4.64512 11.5946 5.61302C10.6779 6.33662 9.95712 7.29559 9.50277 8.36693C9.50209 8.36952 9.50144 8.37213 9.50082 8.37474C9.0681 9.47862 9.10817 10.6534 9.16684 11.7419C9.16687 11.7426 9.16681 11.7432 9.16684 11.7439C9.20249 12.5089 9.28679 13.2496 9.21567 13.9529C9.20992 13.9802 9.20967 13.9871 9.2059 14.0036C8.86558 14.0653 8.49515 14.043 8.12778 13.9724C8.12583 13.9724 8.12387 13.9724 8.12192 13.9724C7.87027 13.9291 7.60142 13.8254 7.2977 13.74C7.29253 13.7385 7.28732 13.7372 7.28208 13.7361C6.98731 13.6687 6.69755 13.7545 6.47544 13.9197C6.47258 13.9215 6.46857 13.9236 6.46567 13.9255C6.46123 13.9289 6.45638 13.9318 6.452 13.9353C6.27121 14.055 6.02356 14.256 6.01059 14.6052C6.01003 14.6281 6.012 14.6511 6.01645 14.6736C6.05549 14.8787 6.1817 15.0288 6.29379 15.1267C6.40588 15.2246 6.51178 15.2893 6.577 15.3396C6.58208 15.3436 6.58729 15.3476 6.59262 15.3513C7.14243 15.7222 7.75092 15.8852 8.28012 16.0915C8.28068 16.0917 8.28153 16.0913 8.28207 16.0915C8.64845 16.2539 8.96682 16.5063 9.03988 16.824C9.13112 17.2256 8.96196 17.6868 8.74105 18.1345C8.7408 18.1351 8.7413 18.1359 8.74105 18.1364C8.14522 19.3231 7.26038 20.355 6.1727 21.1111C5.60246 21.5045 4.95916 21.7982 4.28793 21.9802C4.27867 21.983 4.26954 21.9863 4.26059 21.99C4.12285 22.0418 3.79626 22.0758 3.59066 22.3884C3.57605 22.4102 3.56421 22.4339 3.55551 22.4587C3.48618 22.6598 3.56527 22.8756 3.66293 22.9939C3.75619 23.1068 3.86022 23.1725 3.95004 23.2204C3.95463 23.2231 3.95911 23.2256 3.96371 23.2283C4.52888 23.5549 5.14612 23.6965 5.7098 23.8415C5.7124 23.8422 5.715 23.8429 5.71762 23.8435C6.12375 23.936 6.49816 23.9854 6.80355 24.1169C6.8185 24.1421 6.84909 24.2456 6.92074 24.4177C7.02083 24.7302 7.06634 25.0992 7.18246 25.4861C7.21421 25.5932 7.3076 25.6795 7.41683 25.7029C7.67333 25.7574 7.81441 25.6693 7.83676 25.6677C7.84723 25.6669 7.85766 25.6656 7.86801 25.6638C8.81177 25.4984 9.75353 25.3517 10.618 25.57C10.6186 25.5702 10.6193 25.5699 10.6199 25.57C11.5272 25.809 12.3156 26.4397 13.2039 26.9822C13.2055 26.9831 13.2062 26.9851 13.2078 26.9861V26.9841C13.7974 27.3583 14.479 27.7246 15.2664 27.7517V27.7536C15.269 27.7537 15.2716 27.7536 15.2742 27.7536C15.8689 27.7873 16.4526 27.7495 17.0222 27.7107C17.0255 27.7107 17.0288 27.7107 17.032 27.7107C17.5198 27.6624 17.9933 27.5 18.407 27.2341C18.4129 27.2308 18.4187 27.2277 18.4246 27.2243C19.3587 26.6891 20.1887 26.0442 21.0984 25.6404C21.0997 25.6399 21.101 25.6389 21.1023 25.6384C21.3973 25.5314 21.766 25.5375 22.1765 25.5095C22.1804 25.5094 22.1843 25.5096 22.1882 25.5095C22.9415 25.4862 23.6963 25.5266 24.4441 25.6267C24.47 25.63 24.4963 25.63 24.5222 25.6267C24.6204 25.615 24.7278 25.5491 24.78 25.4822C24.8323 25.4152 24.8473 25.3607 24.8581 25.322C24.8798 25.2446 24.8998 25.2076 24.864 25.2712C24.8754 25.2515 24.8846 25.2305 24.8914 25.2087C25.0287 24.7537 25.1034 24.342 25.325 24.0857C25.4245 23.9884 25.5958 23.9395 25.7898 23.9431C25.8042 23.9434 25.8185 23.9428 25.8328 23.9411C26.4829 23.8642 27.0706 23.6295 27.6277 23.4294C27.6343 23.427 27.6408 23.4244 27.6472 23.4216C27.8542 23.3314 28.1626 23.2279 28.3738 22.9314C28.3749 22.9298 28.3765 22.9291 28.3777 22.9275L28.3757 22.9255C28.5534 22.6772 28.4709 22.3365 28.2195 22.1814L28.2234 22.1775C28.2154 22.1721 28.2079 22.169 28.1999 22.1638C28.1978 22.1626 28.1962 22.161 28.194 22.1599V22.1618C27.8924 21.9681 27.5902 21.9412 27.3991 21.8708C27.3952 21.8695 27.3913 21.8682 27.3874 21.8669C26.0945 21.4522 24.9763 20.5594 24.1413 19.4724C23.6777 18.8667 23.2857 18.2085 23.0261 17.5056C23.0252 17.503 23.025 17.5003 23.0241 17.4978C22.9225 17.1926 22.9174 16.8597 23.0671 16.6579C23.0691 16.656 23.0711 16.6541 23.073 16.6521C23.3065 16.3166 23.7351 16.1009 24.1921 15.9314C24.194 15.9307 24.1961 15.9301 24.198 15.9294C24.7031 15.7537 25.2559 15.549 25.7117 15.1443C25.7137 15.1423 25.7156 15.1404 25.7175 15.1384C25.7881 15.0717 25.8729 14.9849 25.9363 14.8552C25.9997 14.7255 26.0298 14.5233 25.9461 14.3474C25.9461 14.3468 25.9461 14.3461 25.9461 14.3455C25.8145 14.0745 25.5852 13.9351 25.4148 13.8337C25.4142 13.8337 25.4135 13.8337 25.4129 13.8337C25.1274 13.6671 24.7953 13.6563 24.5066 13.7498C24.506 13.7499 24.5053 13.7496 24.5047 13.7498C24.5028 13.7504 24.5008 13.7511 24.4988 13.7517C24.187 13.8466 23.9324 13.9601 23.6961 13.99C23.6908 13.9911 23.6856 13.9924 23.6805 13.9939C23.3446 14.0537 23.0194 14.0681 22.7664 13.9744C22.764 13.9365 22.7628 13.8625 22.7527 13.7712H22.7547C22.736 13.214 22.7832 12.6396 22.7918 12.0447C22.7918 12.0433 22.7918 12.0421 22.7918 12.0408C22.8175 11.1368 22.8539 10.2062 22.7215 9.26928C22.7209 9.26471 22.7203 9.26015 22.7195 9.25561C22.4311 7.67514 21.4266 6.3139 20.1531 5.40795C19.2274 4.75108 18.1283 4.38446 17.0125 4.281C17.0119 4.28093 17.0112 4.28106 17.0106 4.281C16.6361 4.24319 16.2622 4.22978 15.8895 4.23412L15.8895 4.23411Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 689 B

@ -0,0 +1,54 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M15.9889 26.9761L11.4001 24.7378L11.4052 24.7353L11.4039 24.7347L6.528 27.113L15.9924 31.7291L25.472 27.1232L20.5787 24.6991L15.9889 26.9761Z" fill="url(#paint0_linear)" stroke="url(#paint1_linear)"/>
<path d="M6.53964 27.1289V22.3719L11.2319 20.0836L16.0582 22.464L6.53964 27.1289Z" fill="url(#paint2_radial)" stroke="url(#paint3_radial)"/>
<path d="M21.1963 7.55138V15.073L15.9502 17.6304L20.7745 20.0328L25.4715 17.7449V4.87976L21.1963 7.55138Z" fill="url(#paint4_radial)" stroke="url(#paint5_radial)"/>
<path d="M25.472 27.1247V22.3675L10.8157 15.0685V7.54686L6.54028 4.87524V17.7404L25.472 27.1247Z" fill="url(#paint6_radial)" stroke="url(#paint7_radial)"/>
<path d="M10.8027 7.53972V7.53819L15.9922 5.00711L21.1821 7.53819L25.452 4.8699L15.9887 0.254089L6.528 4.86849V4.87259L10.7991 7.54151L10.8027 7.53972Z" fill="url(#paint8_linear)" stroke="url(#paint9_linear)"/>
</g>
<defs>
<linearGradient id="paint0_linear" x1="16" y1="-0.111612" x2="16" y2="31.4984" gradientUnits="userSpaceOnUse">
<stop stop-color="#002E3B"/>
<stop offset="1" stop-color="#002639"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="16" y1="-0.111612" x2="16" y2="31.4984" gradientUnits="userSpaceOnUse">
<stop stop-color="#002E3B"/>
<stop offset="1" stop-color="#002639"/>
</linearGradient>
<radialGradient id="paint2_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.10292 30.1584) scale(28.1342)">
<stop stop-color="#00BC85"/>
<stop offset="1" stop-color="#149D91"/>
</radialGradient>
<radialGradient id="paint3_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.10292 30.1584) scale(28.1342)">
<stop stop-color="#00BC85"/>
<stop offset="1" stop-color="#149D91"/>
</radialGradient>
<radialGradient id="paint4_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(17.5139 -1.636) scale(33.9914)">
<stop stop-color="#00BC85"/>
<stop offset="1" stop-color="#149D91"/>
</radialGradient>
<radialGradient id="paint5_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(17.5139 -1.636) scale(33.9914)">
<stop stop-color="#00BC85"/>
<stop offset="1" stop-color="#149D91"/>
</radialGradient>
<radialGradient id="paint6_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.71119 -4.12646) scale(64.9716)">
<stop stop-color="#004473"/>
<stop offset="1" stop-color="#00345F"/>
</radialGradient>
<radialGradient id="paint7_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.71119 -4.12646) scale(64.9716)">
<stop stop-color="#004473"/>
<stop offset="1" stop-color="#00345F"/>
</radialGradient>
<linearGradient id="paint8_linear" x1="15.99" y1="0.0494686" x2="15.99" y2="31.4996" gradientUnits="userSpaceOnUse">
<stop stop-color="#002E3B"/>
<stop offset="1" stop-color="#002639"/>
</linearGradient>
<linearGradient id="paint9_linear" x1="15.99" y1="0.0494686" x2="15.99" y2="31.4996" gradientUnits="userSpaceOnUse">
<stop stop-color="#002E3B"/>
<stop offset="1" stop-color="#002639"/>
</linearGradient>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -1,4 +1,4 @@
<svg width="43" height="43" viewBox="0 0 43 43" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M41.3 11.9C42.2 12.3 42.6 12.9 42.6 13.7V26.8C42.6 27.6 42.2 28.2 41.4 28.5C41.2 28.6 41 28.6 40.8 28.6H35.9C35.5 29.2 35.1 29.8 34.8 30.5C34.3 31.4 33.8 32.2 33.3 33.1C33.1 33.4 32.9 33.6 32.7 33.8C32.5 34 32.2 34 31.9 33.8C31.7 33.6 31.6 33.4 31.4 33.2C30.7 31.9 29.9 30.6 29.2 29.2C29 28.8 28.8 28.7 28.3 28.7H2C1.7 28.7 1.4 28.7 1.2 28.6C0.800001 28.5 0.400001 28.2 0.200001 27.7C0.200001 27.6 0.1 27.5 0 27.4V13C0.1 13 0.100001 12.9 0.200001 12.9C0.400001 12.4 0.800001 12.1 1.2 12L1.3 11.9H41.3ZM33.1 23.2C33.3 23.3 33.5 23.5 33.6 23.6C34.1 24.1 34.7 24.4 35.3 24.4C37.2 24.6 38.5 23.5 39 21.8C39.3 20.8 39.3 19.9 39.1 18.9C38.9 17.9 38.4 17.1 37.6 16.5C36.4 15.7 35 15.7 33.8 16.6C33.5 16.8 33.3 17 33.1 17.3V17.1V16.9C33.1 16.3 32.5 16 32.1 16C31.6 16 31.2 16.4 31.2 16.9V26.8C31.2 27.1 31.4 27.4 31.7 27.5C32.3 27.8 33 27.5 33.1 26.7V25.9V23.2V23.2ZM27.4 23.4C27.6 23.7 27.8 23.9 27.9 24.1C28.2 24.5 28.6 24.6 29 24.4C29.6 24.1 29.8 23.8 29.6 23.1C29.4 22.5 29.3 21.8 29.3 21.2V19C29.3 18.6 29.3 18.2 29.2 17.8C29.1 17.3 28.8 16.8 28.3 16.5C27.8 16.2 27.3 16 26.7 16H24.8C24 16.1 23.3 16.3 22.7 16.9C22.4 17.2 22.2 17.6 22.1 18.1C22 18.5 22.2 18.9 22.6 19C23 19.2 23.3 19.1 23.6 18.7C23.7 18.6 23.8 18.5 23.8 18.4C24.3 17.5 25.2 17.3 26.1 17.4C27 17.5 27.1 17.8 27.2 18.6C27.2 18.9 27.2 19 26.9 19.1C26.2 19.2 25.6 19.4 24.9 19.6C24.4 19.7 23.9 19.8 23.4 20C22.4 20.3 21.7 21.3 21.7 22.4C21.8 23.4 22.7 24.3 23.6 24.5C24.6 24.7 25.4 24.6 26.3 24.2C26.6 23.9 26.9 23.6 27.4 23.4V23.4ZM14.5 17.1C14.4 16.8 14.3 16.4 14 16.1C13.5 15.7 12.8 15.9 12.6 16.5C12.5 16.7 12.5 16.9 12.5 17.1V23.2C12.5 23.4 12.5 23.6 12.6 23.8C12.7 24.2 13.1 24.4 13.5 24.5C13.9 24.5 14.3 24.3 14.4 23.9C14.5 23.6 14.6 23.3 14.6 23V19.5C14.6 18.5 15.3 17.5 16.7 17.6C17.2 17.7 17.5 17.9 17.6 18.3C17.7 18.8 17.8 19.2 17.8 19.7V23.6C17.9 24.4 18.7 24.7 19.3 24.4C19.6 24.2 19.8 23.9 19.8 23.5V18.5C19.8 17.5 19.1 16.5 18.1 16.2C17.3 15.9 16.4 15.9 15.6 16.4C15.3 16.5 14.9 16.8 14.5 17.1V17.1ZM7 16H6.5C5.6 16 4.8 16.4 4.2 17.1C3.5 17.9 3.6 19.5 4.6 20C5.2 20.4 5.8 20.6 6.4 20.8C7 21 7.7 21.1 8.3 21.4C8.6 21.6 8.7 21.8 8.7 22.1C8.7 22.4 8.6 22.7 8.3 22.8C7.5 23.2 6.1 23.2 5.5 22.1C5.4 21.9 5.3 21.8 5.2 21.6C5 21.3 4.6 21.2 4.2 21.4C3.9 21.5 3.7 21.8 3.7 22.1C3.7 22.7 3.9 23.2 4.4 23.6C5.1 24.2 6 24.4 6.9 24.5C7.5 24.5 8 24.5 8.6 24.4C9.4 24.2 10.1 23.9 10.6 23.2C11 22.6 11.1 21.9 10.9 21.2C10.7 20.5 10.1 20.1 9.5 19.8C8.9 19.5 8.2 19.4 7.6 19.2C7.1 19.1 6.6 19 6.2 18.7C5.7 18.4 5.7 17.9 6.1 17.6C6.5 17.3 7 17.2 7.4 17.3C7.9 17.4 8.2 17.7 8.5 18C8.7 18.2 8.9 18.5 9.2 18.6C9.7 18.9 10.3 18.6 10.4 18.1C10.5 17.7 10.4 17.4 10.1 17.1C9.9 16.9 9.6 16.6 9.3 16.5C8.6 16.1 7.8 15.9 7 16Z" fill="#FF9900"/>
<path d="M37.2 20.3C37.2 20.8 37.1 21.3 36.9 21.8C36.3 23.1 34.5 23.2 33.7 22C33.5 21.6 33.3 21.2 33.3 20.8C33.2 20.1 33.3 19.3 33.6 18.6C33.9 18 34.5 17.6 35.2 17.6C36 17.6 36.5 18 36.8 18.6C37.2 19.1 37.2 19.7 37.2 20.3ZM27.2 20.3C27.3 20.8 27.2 21.4 27 21.9C26.7 22.7 26.1 23 25.3 23.1C24.8 23.2 24.3 23.1 23.9 22.6C23.6 22.3 23.6 21.7 23.9 21.3C24.1 21.1 24.3 20.9 24.7 20.9C25.5 20.7 26.4 20.5 27.2 20.3V20.3Z" fill="#FF9900"/>
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M30.7349 8.8558C31.4047 9.15348 31.7023 9.59999 31.7023 10.1953V19.9442C31.7023 20.5395 31.4047 20.986 30.8093 21.2093C30.6605 21.2837 30.5116 21.2837 30.3628 21.2837H26.7163C26.4186 21.7302 26.1209 22.1767 25.8977 22.6977C25.5256 23.3674 25.1535 23.9628 24.7814 24.6325C24.6326 24.8558 24.4837 25.0046 24.3349 25.1535C24.186 25.3023 23.9628 25.3023 23.7395 25.1535C23.5907 25.0046 23.5163 24.8558 23.3674 24.707C22.8465 23.7395 22.2512 22.7721 21.7302 21.7302C21.5814 21.4325 21.4326 21.3581 21.0605 21.3581H1.48837C1.26512 21.3581 1.04186 21.3581 0.893023 21.2837C0.59535 21.2093 0.297675 20.986 0.148838 20.6139C0.148838 20.5395 0.0744186 20.4651 0 20.3907V9.67441C0.0744186 9.67441 0.0744193 9.59999 0.148838 9.59999C0.297675 9.2279 0.59535 9.00464 0.893023 8.93022L0.967442 8.8558H30.7349ZM24.6326 17.2651C24.7814 17.3395 24.9302 17.4884 25.0046 17.5628C25.3767 17.9349 25.8233 18.1581 26.2698 18.1581C27.6837 18.307 28.6512 17.4884 29.0233 16.2232C29.2465 15.4791 29.2465 14.8093 29.0977 14.0651C28.9488 13.3209 28.5767 12.7256 27.9814 12.2791C27.0884 11.6837 26.0465 11.6837 25.1535 12.3535C24.9302 12.5023 24.7814 12.6512 24.6326 12.8744V12.7256V12.5767C24.6326 12.1302 24.186 11.907 23.8884 11.907C23.5163 11.907 23.2186 12.2046 23.2186 12.5767V19.9442C23.2186 20.1674 23.3674 20.3907 23.5907 20.4651C24.0372 20.6884 24.5581 20.4651 24.6326 19.8698V19.2744V17.2651ZM20.3907 17.4139C20.5395 17.6372 20.6884 17.786 20.7628 17.9349C20.986 18.2325 21.2837 18.307 21.5814 18.1581C22.0279 17.9349 22.1767 17.7116 22.0279 17.1907C21.8791 16.7442 21.8047 16.2232 21.8047 15.7767V14.1395C21.8047 13.8419 21.8047 13.5442 21.7302 13.2465C21.6558 12.8744 21.4326 12.5023 21.0605 12.2791C20.6884 12.0558 20.3163 11.907 19.8698 11.907H18.4558C17.8605 11.9814 17.3395 12.1302 16.893 12.5767C16.6698 12.8 16.5209 13.0977 16.4465 13.4698C16.3721 13.7674 16.5209 14.0651 16.8186 14.1395C17.1163 14.2884 17.3395 14.2139 17.5628 13.9163C17.6372 13.8419 17.7116 13.7674 17.7116 13.693C18.0837 13.0232 18.7535 12.8744 19.4233 12.9488C20.093 13.0232 20.1674 13.2465 20.2419 13.8419C20.2419 14.0651 20.2419 14.1395 20.0186 14.2139C19.4977 14.2884 19.0512 14.4372 18.5302 14.586C18.1581 14.6605 17.786 14.7349 17.414 14.8837C16.6698 15.107 16.1488 15.8512 16.1488 16.6698C16.2233 17.4139 16.893 18.0837 17.5628 18.2325C18.307 18.3814 18.9023 18.307 19.5721 18.0093C19.7953 17.786 20.0186 17.5628 20.3907 17.4139ZM10.7907 12.7256C10.7163 12.5023 10.6419 12.2046 10.4186 11.9814C10.0465 11.6837 9.52558 11.8325 9.37674 12.2791C9.30233 12.4279 9.30233 12.5767 9.30233 12.7256V17.2651C9.30233 17.4139 9.30233 17.5628 9.37674 17.7116C9.45116 18.0093 9.74884 18.1581 10.0465 18.2325C10.3442 18.2325 10.6419 18.0837 10.7163 17.786C10.7907 17.5628 10.8651 17.3395 10.8651 17.1163V14.5116C10.8651 13.7674 11.386 13.0232 12.4279 13.0977C12.8 13.1721 13.0233 13.3209 13.0977 13.6186C13.1721 13.9907 13.2465 14.2884 13.2465 14.6605V17.5628C13.3209 18.1581 13.9163 18.3814 14.3628 18.1581C14.586 18.0093 14.7349 17.786 14.7349 17.4884V13.7674C14.7349 13.0232 14.214 12.2791 13.4698 12.0558C12.8744 11.8325 12.2047 11.8325 11.6093 12.2046C11.386 12.2791 11.0884 12.5023 10.7907 12.7256ZM5.2093 11.907H4.83721C4.16744 11.907 3.57209 12.2046 3.12558 12.7256C2.60465 13.3209 2.67907 14.5116 3.42326 14.8837C3.86977 15.1814 4.31628 15.3302 4.76279 15.4791C5.2093 15.6279 5.73023 15.7023 6.17674 15.9256C6.4 16.0744 6.47442 16.2232 6.47442 16.4465C6.47442 16.6698 6.4 16.893 6.17674 16.9674C5.5814 17.2651 4.53953 17.2651 4.09302 16.4465C4.0186 16.2977 3.94419 16.2232 3.86977 16.0744C3.72093 15.8512 3.42326 15.7767 3.12558 15.9256C2.90233 16 2.75349 16.2232 2.75349 16.4465C2.75349 16.893 2.90233 17.2651 3.27442 17.5628C3.79535 18.0093 4.46512 18.1581 5.13488 18.2325C5.5814 18.2325 5.95349 18.2325 6.4 18.1581C6.99535 18.0093 7.51628 17.786 7.88837 17.2651C8.18605 16.8186 8.26046 16.2977 8.11163 15.7767C7.96279 15.2558 7.51628 14.9581 7.06977 14.7349C6.62326 14.5116 6.10233 14.4372 5.65581 14.2884C5.28372 14.2139 4.91163 14.1395 4.61395 13.9163C4.24186 13.693 4.24186 13.3209 4.53953 13.0977C4.83721 12.8744 5.2093 12.8 5.50698 12.8744C5.87907 12.9488 6.10233 13.1721 6.32558 13.3953C6.47442 13.5442 6.62326 13.7674 6.84651 13.8419C7.2186 14.0651 7.66512 13.8419 7.73953 13.4698C7.81395 13.1721 7.73954 12.9488 7.51628 12.7256C7.36744 12.5767 7.14419 12.3535 6.92093 12.2791C6.4 11.9814 5.80465 11.8325 5.2093 11.907Z" fill="#FF9900"/>
<path d="M27.6837 15.107C27.6837 15.4791 27.6093 15.8512 27.4605 16.2233C27.0139 17.1907 25.6744 17.2651 25.0791 16.3721C24.9302 16.0744 24.7814 15.7768 24.7814 15.4791C24.707 14.9582 24.7814 14.3628 25.0046 13.8419C25.2279 13.3954 25.6744 13.0977 26.1953 13.0977C26.7907 13.0977 27.1628 13.3954 27.386 13.8419C27.6837 14.214 27.6837 14.6605 27.6837 15.107ZM20.2418 15.107C20.3163 15.4791 20.2418 15.9256 20.093 16.2977C19.8698 16.893 19.4232 17.1163 18.8279 17.1907C18.4558 17.2651 18.0837 17.1907 17.786 16.8186C17.5628 16.5954 17.5628 16.1488 17.786 15.8512C17.9349 15.7023 18.0837 15.5535 18.3814 15.5535C18.9767 15.4047 19.6465 15.2558 20.2418 15.107Z" fill="#FF9900"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 995 B

@ -0,0 +1,16 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M19.1065 21.2822C17.0374 20.698 15.3413 19.2167 13.9144 17.8738L14.6759 17.0756C16.0082 18.3288 17.5814 19.7126 19.4088 20.2247C21.8176 20.9043 24.3148 20.6239 26.4396 19.4364C27.4142 18.9016 28.2721 18.1775 28.9628 17.3065C29.6535 16.4355 30.1632 15.4352 30.4619 14.3644C31.4332 10.8593 29.9808 7.05105 26.8479 4.88451L26.6424 4.74323C25.3836 3.89537 23.998 3.25323 22.5375 2.84089C19.7405 2.04395 16.766 2.12756 14.0183 3.08036C13.8063 3.15383 13.5961 3.23177 13.3874 3.31418H13.3832L13.333 3.33467L13.2624 3.36222V3.35303H13.2561H13.2497H13.2447H13.2384L13.2299 3.35798V3.36292L13.0123 3.46041C12.973 3.47886 12.9315 3.49215 12.8887 3.49997L12.4924 2.66641C12.5179 2.64663 12.5631 2.68195 12.5906 2.66641L12.7743 2.499V2.55198H12.8047L12.8336 2.46156H12.8047L12.8555 2.499L12.8407 2.46156C12.8541 2.53785 12.8619 2.56822 12.864 2.55198C12.8661 2.53573 12.8795 2.53643 12.905 2.55198L12.8887 2.46156V2.42553C12.8668 2.44446 12.8502 2.46882 12.8407 2.49617C12.8407 2.51524 12.8407 2.50253 12.8407 2.45873L12.9 2.49617C12.893 2.46579 12.8894 2.46579 12.8887 2.49617L12.9 2.39445L12.864 2.4227L12.8915 2.45873C12.8915 2.44178 12.8915 2.44178 12.8915 2.45873V2.4227L12.9029 2.45873L12.8915 2.49617L12.8668 2.42553L12.8583 2.46156L12.8915 2.42553V2.46156H12.9078C13.0547 2.40363 14.5325 1.8371 14.6787 1.78341L16.1488 1.40549C16.533 1.34191 16.9195 1.2927 17.308 1.25785L17.5142 1.24089C21.0527 0.986291 24.5714 1.9538 27.4823 3.98173L27.9061 4.28337L27.9005 4.29114C31.1224 6.76354 32.5747 10.8607 31.5229 14.6533C31.1856 15.8646 30.6097 16.9964 29.829 17.982C29.0483 18.9676 28.0784 19.7873 26.9765 20.3929C25.4561 21.2426 23.743 21.6877 22.0013 21.6856C21.0219 21.6845 20.0473 21.5485 19.1051 21.2815L19.1065 21.2822Z" fill="#E22977"/>
<path d="M3.36921 19.8772V19.7458C3.91455 23.2905 5.86069 26.8712 8.32886 28.8824C8.95261 29.391 10.2361 30.168 11.425 30.4463L11.584 30.4859C11.7959 30.5382 12.0325 30.5982 12.2402 30.6272C12.6568 30.6917 13.0775 30.7252 13.499 30.7275C13.7816 30.7275 14.0691 30.7084 14.3523 30.6809L14.5162 30.6893L14.471 30.6639C18.0807 30.2528 21.2581 27.5776 22.1934 23.8683C22.2803 23.5222 22.3283 23.1972 22.3764 22.8794C22.387 22.8087 22.3968 22.7303 22.4081 22.6498C22.459 22.269 22.5162 21.9264 22.6201 21.6608C22.3841 21.6749 22.2902 21.6792 22.1765 21.682C22.0627 21.6848 21.7046 21.682 21.4665 21.6679C21.3902 21.9766 21.3252 22.3983 21.2821 22.7134C21.2419 23.0079 21.1875 23.3011 21.1183 23.5907C20.1335 27.4971 16.3218 30.1016 12.4295 29.5344L12.3801 29.5082C10.4933 28.4656 9.38917 26.1175 9.64064 23.6762C9.67868 23.3217 9.74314 22.9706 9.83349 22.6258L9.84691 22.5643C9.8784 22.326 9.9256 22.09 9.98819 21.8579C10.9171 18.4672 12.5086 18.1627 14.4922 18.114H14.5819C14.8376 18.109 15.0941 18.1069 15.359 18.1069C16.7336 18.1069 18.2919 18.1069 19.7832 17.3765C23.9509 15.3385 25.801 10.3323 23.9142 6.21535C23.4329 5.1669 22.7301 4.23523 21.8541 3.48451C20.9782 2.73379 19.9499 2.18186 18.8401 1.86674C17.3823 1.45129 15.8378 1.44836 14.3785 1.85826L13.8444 2.02285C13.5948 2.11045 13.3488 2.20346 13.1063 2.30188L12.9155 2.38453L12.7608 2.45517C8.91164 4.12864 5.85433 7.33499 4.31226 11.2866L4.0297 12.0827L3.9859 12.2141L3.9746 12.248L3.96965 12.265L3.95835 12.3024L3.94563 12.3398L3.82201 12.7637L3.80647 12.8153L3.78034 12.9078C3.16288 15.1775 3.02289 17.5506 3.36921 19.8772V19.8772ZM14.1772 16.4956C12.5772 14.9458 11.0591 13.4814 9.27826 12.9735C9.17795 12.9452 9.07764 12.9219 8.97804 12.9029C8.13193 12.715 7.24983 12.7721 6.43499 13.0674C6.26958 13.1247 6.10796 13.1924 5.95111 13.2702C5.90378 13.2935 5.85928 13.3189 5.80983 13.3408C5.69727 13.4025 5.58778 13.4684 5.48135 13.5386C5.43897 13.5676 5.39941 13.5951 5.35349 13.6255C5.2138 13.7266 5.08072 13.8366 4.95508 13.9547C4.94943 13.9603 4.94449 13.9667 4.93883 13.9716C4.8211 14.0881 4.70957 14.2108 4.60471 14.339C4.59128 14.3559 4.57574 14.3686 4.56232 14.3856C4.63814 13.9952 4.72903 13.6057 4.83499 13.2172L4.95226 12.8061L4.97839 12.7234L4.9904 12.686L5.09424 12.361L5.20373 12.0481L5.21362 12.0213L5.22634 11.9852C6.62148 8.18621 9.50219 5.09146 13.1423 3.48934H13.1465L13.3401 3.4074H13.3457L13.4969 3.34453C13.6834 3.26895 13.8586 3.20325 14.0316 3.13897L14.2089 3.07751C15.6025 2.58126 17.1162 2.53187 18.5392 2.93623C19.4966 3.20793 20.3837 3.68413 21.1392 4.33197C21.8948 4.97981 22.5007 5.78386 22.9153 6.68864C24.5563 10.2616 22.9344 14.6131 19.3056 16.3882C18.0426 17.0063 16.6799 17.007 15.3674 17.0078H14.7112L14.1743 16.4935L14.1772 16.4956ZM4.74669 16.367C4.76223 16.319 4.78272 16.2717 4.79967 16.2258C5.12815 15.3074 5.72718 14.481 6.79596 14.1108C7.14748 13.9871 7.51568 13.9174 7.88806 13.9038C8.25585 13.8934 8.62298 13.9411 8.97592 14.0451C9.15264 14.0944 9.32605 14.1548 9.49513 14.2259L9.52691 14.238C9.69596 14.3116 9.86102 14.3942 10.0214 14.4852L10.0744 14.5134C10.2319 14.6032 10.388 14.7014 10.5448 14.8059L10.6112 14.8497C10.7638 14.9549 10.9171 15.0673 11.0704 15.1838L11.141 15.2417C11.2922 15.36 11.4431 15.4831 11.5938 15.6112L11.6758 15.6818C11.8263 15.8097 11.9767 15.9432 12.1265 16.0788L12.2084 16.1544C12.3582 16.2919 12.5084 16.4332 12.6591 16.5783L12.7502 16.6644L13.2016 17.0968L13.2235 17.118C11.5161 17.3751 9.84126 18.2835 8.93777 21.5789C8.86454 21.8459 8.80769 22.1172 8.76753 22.3912C8.66803 22.7806 8.5972 23.1768 8.55561 23.5766C8.36771 25.4026 8.80144 27.1453 9.71482 28.508C9.47714 28.3624 9.24855 28.2024 9.03031 28.029C6.76064 26.1867 4.9678 22.878 4.46554 19.6002C4.40762 18.9963 4.34122 17.6223 4.74811 16.3762L4.74669 16.367Z" fill="url(#paint0_linear)"/>
</g>
<defs>
<linearGradient id="paint0_linear" x1="13.9539" y1="16.4659" x2="13.9539" y2="29.0109" gradientUnits="userSpaceOnUse">
<stop offset="0.05" stop-color="#4657ED"/>
<stop offset="0.5" stop-color="#38C8AC"/>
<stop offset="1" stop-color="#77D8C5"/>
</linearGradient>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.56271 0V4.80763H13.4796V17.3548H18.2121V4.73243V0H8.56271Z" fill="#0099FA"/>
<path d="M5.96517 16.2387C5.96517 12.4961 8.04493 9.23937 11.1118 7.56257V7.56207H4.08948C2.29354 9.98853 1.23077 12.9883 1.23077 16.2387C1.23077 22.6881 5.40874 28.1602 11.2046 30.1004V24.9639C8.08727 23.3011 5.96517 20.0188 5.96517 16.2387Z" fill="#0099FA"/>
<path d="M20.581 2.41083V7.5616C23.6485 9.23926 25.7307 12.4955 25.7307 16.2395C25.7307 21.6956 21.3044 26.1209 15.8465 26.1209C15.0325 26.1209 14.2416 26.0218 13.4849 25.8365V30.6641C14.2543 30.7881 15.0422 30.8549 15.8465 30.8549C23.9183 30.8549 30.4626 24.3111 30.4626 16.2396C30.4625 9.82375 26.3291 4.37797 20.581 2.41083Z" fill="#0099FA"/>
</svg>

After

Width:  |  Height:  |  Size: 799 B

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, 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 1000 718.3" style="enable-background:new 0 0 1000 718.3;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0584B5;}
.st1{fill:#09AEEF;}
.st2{fill:#AED13B;}
.st3{fill:#B9880C;}
.st4{fill:#B76800;}
.st5{fill:#FDB715;}
.st6{fill:#7F9E2E;}
</style>
<polygon class="st0" points="19.6,151.7 19.6,429.5 260.2,568.4 260.2,290.6 "/>
<g>
<polygon class="st1" points="260.2,12.8 19.6,151.7 260.2,290.6 500.8,151.7 "/>
<polygon class="st2" points="741.4,12.8 500.8,151.7 741.4,290.6 982,151.7 "/>
</g>
<g>
<polygon class="st3" points="500.8,151.7 500.8,429.5 741.4,568.4 741.4,290.6 "/>
<polygon class="st4" points="260.2,290.6 260.2,568.4 500.8,429.5 500.8,151.7 "/>
<polygon class="st5" points="500.8,429.5 260.2,568.4 500.8,707.3 741.4,568.4 "/>
</g>
<polygon class="st6" points="741.4,290.6 741.4,568.4 982,429.5 982,151.7 "/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -120,7 +120,6 @@ function getDom(technologies) {
}
const Content = {
href: location.href,
cache: {},
language: '',
@ -237,7 +236,7 @@ const Content = {
Content.cache = { html, css, scripts, meta }
await Content.driver('onContentLoad', [
Content.href,
location.href,
Content.cache,
Content.language,
])
@ -325,7 +324,7 @@ const Content = {
await Promise.all([
Content.onGetTechnologies(technologies, name),
Content.driver('onContentLoad', [
Content.href,
location.href,
Content.cache,
Content.language,
name,
@ -341,14 +340,12 @@ const Content = {
* @param {Array} technologies
*/
async onGetTechnologies(technologies = [], requires) {
const url = location.href.split('#')[0]
const js = await getJs(technologies)
const dom = getDom(technologies)
await Promise.all([
Content.driver('analyzeJs', [url, js, requires]),
Content.driver('analyzeDom', [url, dom, requires]),
Content.driver('analyzeJs', [location.href, js, requires]),
Content.driver('analyzeDom', [location.href, dom, requires]),
])
},
}

@ -74,12 +74,12 @@ const Driver = {
chrome.tabs.onRemoved.addListener((id) => delete Driver.cache.tabs[id])
chrome.tabs.onUpdated.addListener(async (id, { status }) => {
delete Driver.cache.tabs[id]
chrome.tabs.onUpdated.addListener(async (id, { status, url }) => {
if (status === 'complete') {
const { url } = await promisify(chrome.tabs, 'get', id)
;({ url } = await promisify(chrome.tabs, 'get', id))
}
if (url) {
const { hostname } = new URL(url)
const cache = Driver.cache.hostnames[hostname]
@ -102,10 +102,10 @@ const Driver = {
'https://www.wappalyzer.com/installed/?utm_source=installed&utm_medium=extension&utm_campaign=wappalyzer'
)
} else if (version !== previous && upgradeMessage) {
open(
`https://www.wappalyzer.com/upgraded/?utm_source=upgraded&utm_medium=extension&utm_campaign=wappalyzer`,
false
)
// open(
// `https://www.wappalyzer.com/upgraded/?utm_source=upgraded&utm_medium=extension&utm_campaign=wappalyzer`,
// false
// )
}
await setOption('version', version)
@ -485,6 +485,8 @@ const Driver = {
incrementHits = false,
analyzeRequires = true
) {
url = url.split('#')[0]
if (!url || !detections.length) {
return
}

@ -42,20 +42,17 @@ const footers = [
]
function setDisabledDomain(enabled) {
const el = {
headerSwitchEnabled: document.querySelector('.header__switch--enabled'),
headerSwitchDisabled: document.querySelector('.header__switch--disabled'),
}
if (enabled) {
document
.querySelector('.header__switch--enabled')
.classList.add('header__switch--hidden')
document
.querySelector('.header__switch--disabled')
.classList.remove('header__switch--hidden')
el.headerSwitchEnabled.classList.add('header__switch--hidden')
el.headerSwitchDisabled.classList.remove('header__switch--hidden')
} else {
document
.querySelector('.header__switch--enabled')
.classList.remove('header__switch--hidden')
document
.querySelector('.header__switch--disabled')
.classList.add('header__switch--hidden')
el.headerSwitchEnabled.classList.remove('header__switch--hidden')
el.headerSwitchDisabled.classList.add('header__switch--hidden')
}
}
@ -64,10 +61,39 @@ const Popup = {
* Initialise popup
*/
async init() {
const el = {
body: document.body,
terms: document.querySelector('.terms'),
detections: document.querySelector('.detections'),
empty: document.querySelector('.empty'),
footer: document.querySelector('.footer'),
tabPro: document.querySelector('.tab--pro'),
termsButtonAccept: document.querySelector('.terms__button--accept'),
termsButtonDecline: document.querySelector('.terms__button--decline'),
headerSwitches: document.querySelectorAll('.header__switch'),
headerSwitchEnabled: document.querySelector('.header__switch--enabled'),
headerSwitchDisabled: document.querySelector('.header__switch--disabled'),
proConfigureApiKey: document.querySelector('.pro-configure__apikey'),
proConfigureSave: document.querySelector('.pro-configure__save'),
headerSettings: document.querySelector('.header__settings'),
headerThemes: document.querySelectorAll('.header__theme'),
headerThemeLight: document.querySelector('.header__theme--light'),
headerThemeDark: document.querySelector('.header__theme--dark'),
templates: document.querySelectorAll('[data-template]'),
tabs: document.querySelectorAll('.tab'),
tabItems: document.querySelectorAll('.tab-item'),
credits: document.querySelector('.credits'),
footerHeadingText: document.querySelector('.footer__heading-text'),
footerContentBody: document.querySelector('.footer__content-body'),
footerButtonText: document.querySelector('.footer .button__text'),
footerButtonLink: document.querySelector('.footer .button__link'),
footerToggleClose: document.querySelector('.footer__toggle--close'),
footerToggleOpen: document.querySelector('.footer__toggle--open'),
footerHeading: document.querySelector('.footer__heading'),
}
// Templates
Popup.templates = Array.from(
document.querySelectorAll('[data-template]')
).reduce((templates, template) => {
Popup.templates = Array.from(el.templates).reduce((templates, template) => {
templates[template.dataset.template] = template.cloneNode(true)
template.remove()
@ -79,7 +105,7 @@ const Popup = {
const dynamicIcon = await getOption('dynamicIcon', false)
if (dynamicIcon) {
document.querySelector('body').classList.add('dynamic-icon')
el.body.classList.add('dynamic-icon')
}
// Disabled domains
@ -89,13 +115,9 @@ const Popup = {
const theme = await getOption('theme', 'light')
if (theme === 'dark') {
document.querySelector('body').classList.add('dark')
document
.querySelector('.header__theme--light')
.classList.remove('header__icon--hidden')
document
.querySelector('.header__theme--dark')
.classList.add('header__icon--hidden')
el.body.classList.add('dark')
el.headerThemeLight.classList.remove('header__icon--hidden')
el.headerThemeDark.classList.add('header__icon--hidden')
}
// Terms
@ -103,44 +125,39 @@ const Popup = {
agent === 'chrome' || (await getOption('termsAccepted', false))
if (termsAccepted) {
document.querySelector('.terms').classList.add('terms--hidden')
document.querySelector('.empty').classList.remove('empty--hidden')
el.terms.classList.add('terms--hidden')
Popup.onGetDetections(await Popup.driver('getDetections'))
Popup.driver('getDetections').then(Popup.onGetDetections.bind(this))
} else {
document.querySelector('.terms').classList.remove('terms--hidden')
document.querySelector('.detections').classList.add('detections--hidden')
document.querySelector('.empty').classList.add('empty--hidden')
document.querySelector('.footer').classList.add('footer--hidden')
document.querySelector('.tab--pro').classList.add('tab--disabled')
document
.querySelector('.terms__button--accept')
.addEventListener('click', async () => {
await setOption('termsAccepted', true)
await setOption('tracking', true)
el.terms.classList.remove('terms--hidden')
el.detections.classList.add('detections--hidden')
el.footer.classList.add('footer--hidden')
el.tabPro.classList.add('tab--disabled')
document.querySelector('.terms').classList.add('terms--hidden')
document.querySelector('.empty').classList.remove('empty--hidden')
document.querySelector('.footer').classList.remove('footer--hidden')
document.querySelector('.tab--pro').classList.remove('tab--disabled')
el.termsButtonAccept.addEventListener('click', async () => {
await setOption('termsAccepted', true)
await setOption('tracking', true)
Popup.onGetDetections(await Popup.driver('getDetections'))
})
el.terms.classList.add('terms--hidden')
el.footer.classList.remove('footer--hidden')
el.tabPro.classList.remove('tab--disabled')
Popup.driver('getDetections').then(Popup.onGetDetections.bind(this))
})
document
.querySelector('.terms__button--decline')
.addEventListener('click', async () => {
el.termsButtonDecline('.terms__button--decline').addEventListener(
'click',
async () => {
await setOption('termsAccepted', true)
await setOption('tracking', false)
document.querySelector('.terms').classList.add('terms--hidden')
document.querySelector('.empty').classList.remove('empty--hidden')
document.querySelector('.footer').classList.remove('footer--hidden')
document.querySelector('.tab--pro').classList.remove('tab--disabled')
el.terms.classList.add('terms--hidden')
el.footer.classList.remove('footer--hidden')
el.tabPro.classList.remove('tab--disabled')
Popup.onGetDetections(await Popup.driver('getDetections'))
})
Popup.driver('getDetections').then(Popup.onGetDetections.bind(this))
}
)
}
let url
@ -158,76 +175,61 @@ const Popup = {
setDisabledDomain(disabledDomains.includes(hostname))
document
.querySelector('.header__switch--disabled')
.addEventListener('click', async () => {
disabledDomains = disabledDomains.filter(
(_hostname) => _hostname !== hostname
)
el.headerSwitchDisabled.addEventListener('click', async () => {
disabledDomains = disabledDomains.filter(
(_hostname) => _hostname !== hostname
)
await setOption('disabledDomains', disabledDomains)
await setOption('disabledDomains', disabledDomains)
setDisabledDomain(false)
setDisabledDomain(false)
Popup.onGetDetections(await Popup.driver('getDetections'))
})
Popup.driver('getDetections').then(Popup.onGetDetections.bind(this))
})
document
.querySelector('.header__switch--enabled')
.addEventListener('click', async () => {
disabledDomains.push(hostname)
el.headerSwitchEnabled.addEventListener('click', async () => {
disabledDomains.push(hostname)
await setOption('disabledDomains', disabledDomains)
await setOption('disabledDomains', disabledDomains)
setDisabledDomain(true)
setDisabledDomain(true)
Popup.onGetDetections(await Popup.driver('getDetections'))
})
Popup.driver('getDetections').then(Popup.onGetDetections.bind(this))
})
} else {
for (const el of document.querySelectorAll('.header__switch')) {
el.classList.add('header__switch--hidden')
for (const headerSwitch of el.headerSwitches) {
headerSwitch.classList.add('header__switch--hidden')
}
document.querySelector('.tab--pro').classList.add('tab--disabled')
el.tabPro.classList.add('tab--disabled')
}
}
// PRO configuration
const apiKey = document.querySelector('.pro-configure__apikey')
apiKey.value = await getOption('apiKey', '')
el.proConfigureApiKey.value = await getOption('apiKey', '')
document
.querySelector('.pro-configure__save')
.addEventListener('click', async (event) => {
await setOption(
'apiKey',
document.querySelector('.pro-configure__apikey').value
)
el.proConfigureSave.addEventListener('click', async (event) => {
await setOption('apiKey', el.proConfigureApiKey.value)
await Popup.getPro(url)
})
await Popup.getPro(url)
})
// Header
document
.querySelector('.header__settings')
.addEventListener('click', () => chrome.runtime.openOptionsPage())
el.headerSettings.addEventListener('click', () =>
chrome.runtime.openOptionsPage()
)
// Theme
const body = document.querySelector('body')
const dark = document.querySelector('.header__theme--dark')
const light = document.querySelector('.header__theme--light')
document.querySelectorAll('.header__theme').forEach((el) =>
el.addEventListener('click', async () => {
el.headerThemes.forEach((headerTheme) =>
headerTheme.addEventListener('click', async () => {
const theme = await getOption('theme', 'light')
body.classList[theme === 'dark' ? 'remove' : 'add']('dark')
body.classList[theme === 'dark' ? 'add' : 'remove']('light')
dark.classList[theme === 'dark' ? 'remove' : 'add'](
el.body.classList[theme === 'dark' ? 'remove' : 'add']('dark')
el.body.classList[theme === 'dark' ? 'add' : 'remove']('light')
el.headerThemeDark.classList[theme === 'dark' ? 'remove' : 'add'](
'header__icon--hidden'
)
light.classList[theme === 'dark' ? 'add' : 'remove'](
el.headerThemeLight.classList[theme === 'dark' ? 'add' : 'remove'](
'header__icon--hidden'
)
@ -236,19 +238,16 @@ const Popup = {
)
// Tabs
const tabHeadings = Array.from(document.querySelectorAll('.tab'))
const tabItems = Array.from(document.querySelectorAll('.tab-item'))
const credits = document.querySelector('.credits')
tabHeadings.forEach((tab, index) => {
el.tabs.forEach((tab, index) => {
tab.addEventListener('click', async () => {
tabHeadings.forEach((tab) => tab.classList.remove('tab--active'))
tabItems.forEach((item) => item.classList.add('tab-item--hidden'))
el.tabs.forEach((tab) => tab.classList.remove('tab--active'))
el.tabItems.forEach((item) => item.classList.add('tab-item--hidden'))
tab.classList.add('tab--active')
tabItems[index].classList.remove('tab-item--hidden')
el.tabItems[index].classList.remove('tab-item--hidden')
credits.classList.add('credits--hidden')
el.credits.classList.add('credits--hidden')
el.footer.classList.remove('footer--hidden')
if (tab.classList.contains('tab--pro')) {
await Popup.getPro(url)
@ -264,39 +263,32 @@ const Popup = {
: Math.round(Math.random() * (footers.length - 1))
]
document.querySelector('.footer__heading-text').textContent = item.heading
document.querySelector('.footer__content-body').textContent = item.body
document.querySelector('.footer .button__text').textContent =
item.buttonText
document.querySelector('.footer .button__link').href = item.buttonLink
el.footerHeadingText.textContent = item.heading
el.footerContentBody.textContent = item.body
el.footerButtonText.textContent = item.buttonText
el.footerButtonLink.href = item.buttonLink
const collapseFooter = await getOption('collapseFooter', false)
const footer = document.querySelector('.footer')
const footerClose = document.querySelector('.footer__toggle--close')
const footerOpen = document.querySelector('.footer__toggle--open')
if (collapseFooter) {
footer.classList.add('footer--collapsed')
footerClose.classList.add('footer__toggle--hidden')
footerOpen.classList.remove('footer__toggle--hidden')
el.footer.classList.add('footer--collapsed')
el.footerToggleClose.classList.add('footer__toggle--hidden')
el.footerToggleOpen.classList.remove('footer__toggle--hidden')
}
document
.querySelector('.footer__heading')
.addEventListener('click', async () => {
const collapsed = footer.classList.contains('footer--collapsed')
el.footerHeading.addEventListener('click', async () => {
const collapsed = el.footer.classList.contains('footer--collapsed')
footer.classList[collapsed ? 'remove' : 'add']('footer--collapsed')
footerClose.classList[collapsed ? 'remove' : 'add'](
'footer__toggle--hidden'
)
footerOpen.classList[collapsed ? 'add' : 'remove'](
'footer__toggle--hidden'
)
el.footer.classList[collapsed ? 'remove' : 'add']('footer--collapsed')
el.footerToggleClose.classList[collapsed ? 'remove' : 'add'](
'footer__toggle--hidden'
)
el.footerToggleOpen.classList[collapsed ? 'add' : 'remove'](
'footer__toggle--hidden'
)
await setOption('collapseFooter', !collapsed)
})
await setOption('collapseFooter', !collapsed)
})
Array.from(document.querySelectorAll('a')).forEach((a) =>
a.addEventListener('click', (event) => {
@ -353,25 +345,27 @@ const Popup = {
* @param {Array} detections
*/
async onGetDetections(detections = []) {
const el = {
empty: document.querySelector('.empty'),
detections: document.querySelector('.detections'),
}
detections = (detections || [])
.filter(({ confidence }) => confidence >= 50)
.filter(({ slug }) => slug !== 'cart-functionality')
if (!detections || !detections.length) {
document.querySelector('.empty').classList.remove('empty--hidden')
document.querySelector('.detections').classList.add('detections--hidden')
el.empty.classList.remove('empty--hidden')
el.detections.classList.add('detections--hidden')
return
}
document.querySelector('.empty').classList.add('empty--hidden')
const el = document.querySelector('.detections')
el.classList.remove('detections--hidden')
el.empty.classList.add('empty--hidden')
el.detections.classList.remove('detections--hidden')
while (el.firstChild) {
el.removeChild(detections.lastChild)
while (el.detections.firstChild) {
el.detections.removeChild(detections.firstChild)
}
const pinnedCategory = await getOption('pinnedCategory')
@ -381,31 +375,34 @@ const Popup = {
categorised.forEach(({ id, name, slug: categorySlug, technologies }) => {
const categoryNode = Popup.templates.category.cloneNode(true)
const link = categoryNode.querySelector('.category__link')
link.href = `https://www.wappalyzer.com/technologies/${categorySlug}/?utm_source=popup&utm_medium=extension&utm_campaign=wappalyzer`
link.dataset.i18n = `categoryName${id}`
const el = {
detections: document.querySelector('.detections'),
link: categoryNode.querySelector('.category__link'),
pins: categoryNode.querySelectorAll('.category__pin'),
pinsActive: document.querySelectorAll('.category__pin--active'),
}
const pins = categoryNode.querySelectorAll('.category__pin')
el.link.href = `https://www.wappalyzer.com/technologies/${categorySlug}/?utm_source=popup&utm_medium=extension&utm_campaign=wappalyzer`
el.link.dataset.i18n = `categoryName${id}`
if (pinnedCategory === id) {
pins.forEach((pin) => pin.classList.add('category__pin--active'))
el.pins.forEach((pin) => pin.classList.add('category__pin--active'))
}
pins.forEach((pin) =>
el.pins.forEach((pin) =>
pin.addEventListener('click', async () => {
const pinnedCategory = await getOption('pinnedCategory')
Array.from(
document.querySelectorAll('.category__pin--active')
).forEach((pin) => pin.classList.remove('category__pin--active'))
el.pinsActive.forEach((pin) =>
pin.classList.remove('category__pin--active')
)
if (pinnedCategory === id) {
await setOption('pinnedCategory', null)
} else {
await setOption('pinnedCategory', id)
pins.forEach((pin) => pin.classList.add('category__pin--active'))
el.pins.forEach((pin) => pin.classList.add('category__pin--active'))
}
})
)
@ -414,49 +411,41 @@ const Popup = {
({ name, slug, confidence, version, icon, website }) => {
const technologyNode = Popup.templates.technology.cloneNode(true)
const image = technologyNode.querySelector('.technology__icon img')
image.src = `../images/icons/${icon}`
const link = technologyNode.querySelector('.technology__link')
const linkText = technologyNode.querySelector('.technology__name')
const el = {
technologies: categoryNode.querySelector('.technologies'),
iconImage: technologyNode.querySelector('.technology__icon img'),
link: technologyNode.querySelector('.technology__link'),
name: technologyNode.querySelector('.technology__name'),
version: technologyNode.querySelector('.technology__version'),
confidence: technologyNode.querySelector('.technology__confidence'),
}
link.href = `https://www.wappalyzer.com/technologies/${categorySlug}/${slug}/?utm_source=popup&utm_medium=extension&utm_campaign=wappalyzer`
linkText.textContent = name
el.iconImage.src = `../images/icons/${icon}`
const confidenceNode = technologyNode.querySelector(
'.technology__confidence'
)
el.link.href = `https://www.wappalyzer.com/technologies/${categorySlug}/${slug}/?utm_source=popup&utm_medium=extension&utm_campaign=wappalyzer`
el.name.textContent = name
if (confidence < 100) {
confidenceNode.textContent = `${confidence}% sure`
el.confidence.textContent = `${confidence}% sure`
} else {
confidenceNode.remove()
el.confidence.remove()
}
const versionNode = technologyNode.querySelector(
'.technology__version'
)
if (version) {
versionNode.textContent = version
el.version.textContent = version
} else {
versionNode.remove()
el.version.remove()
}
categoryNode
.querySelector('.technologies')
.appendChild(technologyNode)
el.technologies.appendChild(technologyNode)
}
)
document.querySelector('.detections').appendChild(categoryNode)
el.detections.appendChild(categoryNode)
})
if (categorised.length === 1) {
document
.querySelector('.detections')
.appendChild(Popup.templates.category.cloneNode(true))
el.detections.appendChild(Popup.templates.category.cloneNode(true))
}
Array.from(document.querySelectorAll('a')).forEach((a) =>
@ -490,6 +479,7 @@ const Popup = {
configure: document.querySelector('.pro-configure'),
credits: document.querySelector('.credits'),
creditsRemaining: document.querySelector('.credits__remaining'),
footer: document.querySelector('.footer'),
}
el.error.classList.add('pro-error--hidden')
@ -497,9 +487,11 @@ const Popup = {
if (apiKey) {
el.loading.classList.remove('loading--hidden')
el.configure.classList.add('pro-configure--hidden')
el.footer.classList.remove('footer--hidden')
} else {
el.loading.classList.add('loading--hidden')
el.configure.classList.remove('pro-configure--hidden')
el.footer.classList.add('footer--hidden')
return
}

@ -4,7 +4,7 @@
"author": "Wappalyzer",
"homepage_url": "https://www.wappalyzer.com/",
"description": "Identify web technologies",
"version": "6.7.6",
"version": "6.7.9",
"default_locale": "en",
"manifest_version": 2,
"icons": {

@ -13,7 +13,7 @@
"software"
],
"homepage": "https://www.wappalyzer.com/",
"version": "6.7.6",
"version": "6.7.9",
"author": "Wappalyzer",
"license": "MIT",
"repository": {

File diff suppressed because it is too large Load Diff

@ -49,7 +49,9 @@ const Wappalyzer = {
if (name === technology.name) {
confidence = Math.min(100, confidence + pattern.confidence)
version =
_version.length > version.length && _version.length <= 10
_version.length > version.length &&
_version.length <= 15 &&
(parseInt(_version, 10) || 0) < 10000 // Ignore long numeric strings like timestamps
? _version
: version
}