@zkpassport/ui 0.16.2 → 0.17.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.bun/i18n-iso-countries@7.14.0/node_modules/i18n-iso-countries/codes.json","../../../../node_modules/.bun/i18n-iso-countries@7.14.0/node_modules/i18n-iso-countries/supportedLocales.json","../../../../node_modules/.bun/diacritics@1.3.0/node_modules/diacritics/index.js","../../../../node_modules/.bun/i18n-iso-countries@7.14.0/node_modules/i18n-iso-countries/index.js","../../src/assets.ts","../../src/button.css","../../src/inject-styles.ts","../../../../node_modules/.bun/i18n-iso-countries@7.14.0/node_modules/i18n-iso-countries/langs/en.json","../../../zkpassport-sdk/src/offline-query.ts","../../../zkpassport-sdk/src/popup/protocol.ts","../../../zkpassport-sdk/src/popup/client.ts","../../src/environment.ts","../../src/logger.ts","../../src/verification.ts","../../src/verify-button.ts","../../src/button/index.ts"],"names":["require_codes","__commonJSMin","exports","module","require_supportedLocales","require_diacritics","removeDiacritics","replacementList","diacriticsMap","i","chars","j","str","c","require_i18n_iso_countries","codes","supportedLocales","registeredLocales","alpha2","alpha3","numeric","invertedNumeric","codeInformation","s","formatNumericCode","code","hasOwnProperty","object","property","localeFilter","localeList","filter","newLocaleList","nameList","filterNameBy","type","countryNameList","localeData","alpha3ToAlpha2","alpha2ToAlpha3","alpha3ToNumeric","alpha2ToNumeric","numericToAlpha3","padded","numericToAlpha2","toAlpha3","toAlpha2","lang","options","name","normalizeString","string","areSimilar","a","b","codenames","p","mappedName","coerced","ICON_ZKP_MARK","ICON_CHECK","button_default","injectedKeys","injectStylesheet","css","key","selector","existing","style","en_default","registerLocale","i18en","normalizeCountry","country","normalizedCountry","getAlpha3Code","numericalCompare","fnName","value","requestId","requestIdToConfig","rangeCompare","generalCompare","createOfflineQuery","config","topic","hasConditions","assertNotPolicyLocked","method","builder","start","end","v","countries","lists","mode","query","id","DEFAULT_POPUP_URL","isPopupMessage","data","POPUP_WIDTH","POPUP_HEIGHT","CLOSE_POLL_INTERVAL","openVerificationPopup","popupUrl","popupOrigin","left","top","popup","callbacks","finished","closePoll","cleanup","onMessage","event","error","_z","_t","response","isInAppBrowser","ua","PREFIX","isDebugEnabled","logger","args","POPUP_REQUEST_FIELDS","POPUP_BLOCKED_MESSAGE","IN_APP_BROWSER_MESSAGE","createVerification","getOptions","onStateChange","state","popupHandle","latestAttempt","setStatus","status","thisAttempt","buildQuery","reason","handle","h","toPopupRequest","progress","finish","next","verdict","message","D","request","field","BUTTON_FONT_SIZES","DEFAULT_BUTTON_LABEL","SUCCESS_BUTTON_LABEL","isButtonDisabled","buttonTooltip","isErrorVisible","errorMessage","joinClasses","base","extra","createButtonState","className","icon","element","mark","label","mountVerifyButton","currentOptions","root","button","content","defaultState","successState","errorLine","renderState","verification"],"mappings":"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","file":"button.cjs","sourcesContent":["[\n [\"AF\", \"AFG\", \"004\", \"ISO 3166-2:AF\"],\n [\"AL\", \"ALB\", \"008\", \"ISO 3166-2:AL\"],\n [\"DZ\", \"DZA\", \"012\", \"ISO 3166-2:DZ\"],\n [\"AS\", \"ASM\", \"016\", \"ISO 3166-2:AS\"],\n [\"AD\", \"AND\", \"020\", \"ISO 3166-2:AD\"],\n [\"AO\", \"AGO\", \"024\", \"ISO 3166-2:AO\"],\n [\"AI\", \"AIA\", \"660\", \"ISO 3166-2:AI\"],\n [\"AQ\", \"ATA\", \"010\", \"ISO 3166-2:AQ\"],\n [\"AG\", \"ATG\", \"028\", \"ISO 3166-2:AG\"],\n [\"AR\", \"ARG\", \"032\", \"ISO 3166-2:AR\"],\n [\"AM\", \"ARM\", \"051\", \"ISO 3166-2:AM\"],\n [\"AW\", \"ABW\", \"533\", \"ISO 3166-2:AW\"],\n [\"AU\", \"AUS\", \"036\", \"ISO 3166-2:AU\"],\n [\"AT\", \"AUT\", \"040\", \"ISO 3166-2:AT\"],\n [\"AZ\", \"AZE\", \"031\", \"ISO 3166-2:AZ\"],\n [\"BS\", \"BHS\", \"044\", \"ISO 3166-2:BS\"],\n [\"BH\", \"BHR\", \"048\", \"ISO 3166-2:BH\"],\n [\"BD\", \"BGD\", \"050\", \"ISO 3166-2:BD\"],\n [\"BB\", \"BRB\", \"052\", \"ISO 3166-2:BB\"],\n [\"BY\", \"BLR\", \"112\", \"ISO 3166-2:BY\"],\n [\"BE\", \"BEL\", \"056\", \"ISO 3166-2:BE\"],\n [\"BZ\", \"BLZ\", \"084\", \"ISO 3166-2:BZ\"],\n [\"BJ\", \"BEN\", \"204\", \"ISO 3166-2:BJ\"],\n [\"BM\", \"BMU\", \"060\", \"ISO 3166-2:BM\"],\n [\"BT\", \"BTN\", \"064\", \"ISO 3166-2:BT\"],\n [\"BO\", \"BOL\", \"068\", \"ISO 3166-2:BO\"],\n [\"BA\", \"BIH\", \"070\", \"ISO 3166-2:BA\"],\n [\"BW\", \"BWA\", \"072\", \"ISO 3166-2:BW\"],\n [\"BV\", \"BVT\", \"074\", \"ISO 3166-2:BV\"],\n [\"BR\", \"BRA\", \"076\", \"ISO 3166-2:BR\"],\n [\"IO\", \"IOT\", \"086\", \"ISO 3166-2:IO\"],\n [\"BN\", \"BRN\", \"096\", \"ISO 3166-2:BN\"],\n [\"BG\", \"BGR\", \"100\", \"ISO 3166-2:BG\"],\n [\"BF\", \"BFA\", \"854\", \"ISO 3166-2:BF\"],\n [\"BI\", \"BDI\", \"108\", \"ISO 3166-2:BI\"],\n [\"KH\", \"KHM\", \"116\", \"ISO 3166-2:KH\"],\n [\"CM\", \"CMR\", \"120\", \"ISO 3166-2:CM\"],\n [\"CA\", \"CAN\", \"124\", \"ISO 3166-2:CA\"],\n [\"CV\", \"CPV\", \"132\", \"ISO 3166-2:CV\"],\n [\"KY\", \"CYM\", \"136\", \"ISO 3166-2:KY\"],\n [\"CF\", \"CAF\", \"140\", \"ISO 3166-2:CF\"],\n [\"TD\", \"TCD\", \"148\", \"ISO 3166-2:TD\"],\n [\"CL\", \"CHL\", \"152\", \"ISO 3166-2:CL\"],\n [\"CN\", \"CHN\", \"156\", \"ISO 3166-2:CN\"],\n [\"CX\", \"CXR\", \"162\", \"ISO 3166-2:CX\"],\n [\"CC\", \"CCK\", \"166\", \"ISO 3166-2:CC\"],\n [\"CO\", \"COL\", \"170\", \"ISO 3166-2:CO\"],\n [\"KM\", \"COM\", \"174\", \"ISO 3166-2:KM\"],\n [\"CG\", \"COG\", \"178\", \"ISO 3166-2:CG\"],\n [\"CD\", \"COD\", \"180\", \"ISO 3166-2:CD\"],\n [\"CK\", \"COK\", \"184\", \"ISO 3166-2:CK\"],\n [\"CR\", \"CRI\", \"188\", \"ISO 3166-2:CR\"],\n [\"CI\", \"CIV\", \"384\", \"ISO 3166-2:CI\"],\n [\"HR\", \"HRV\", \"191\", \"ISO 3166-2:HR\"],\n [\"CU\", \"CUB\", \"192\", \"ISO 3166-2:CU\"],\n [\"CY\", \"CYP\", \"196\", \"ISO 3166-2:CY\"],\n [\"CZ\", \"CZE\", \"203\", \"ISO 3166-2:CZ\"],\n [\"DK\", \"DNK\", \"208\", \"ISO 3166-2:DK\"],\n [\"DJ\", \"DJI\", \"262\", \"ISO 3166-2:DJ\"],\n [\"DM\", \"DMA\", \"212\", \"ISO 3166-2:DM\"],\n [\"DO\", \"DOM\", \"214\", \"ISO 3166-2:DO\"],\n [\"EC\", \"ECU\", \"218\", \"ISO 3166-2:EC\"],\n [\"EG\", \"EGY\", \"818\", \"ISO 3166-2:EG\"],\n [\"SV\", \"SLV\", \"222\", \"ISO 3166-2:SV\"],\n [\"GQ\", \"GNQ\", \"226\", \"ISO 3166-2:GQ\"],\n [\"ER\", \"ERI\", \"232\", \"ISO 3166-2:ER\"],\n [\"EE\", \"EST\", \"233\", \"ISO 3166-2:EE\"],\n [\"ET\", \"ETH\", \"231\", \"ISO 3166-2:ET\"],\n [\"FK\", \"FLK\", \"238\", \"ISO 3166-2:FK\"],\n [\"FO\", \"FRO\", \"234\", \"ISO 3166-2:FO\"],\n [\"FJ\", \"FJI\", \"242\", \"ISO 3166-2:FJ\"],\n [\"FI\", \"FIN\", \"246\", \"ISO 3166-2:FI\"],\n [\"FR\", \"FRA\", \"250\", \"ISO 3166-2:FR\"],\n [\"GF\", \"GUF\", \"254\", \"ISO 3166-2:GF\"],\n [\"PF\", \"PYF\", \"258\", \"ISO 3166-2:PF\"],\n [\"TF\", \"ATF\", \"260\", \"ISO 3166-2:TF\"],\n [\"GA\", \"GAB\", \"266\", \"ISO 3166-2:GA\"],\n [\"GM\", \"GMB\", \"270\", \"ISO 3166-2:GM\"],\n [\"GE\", \"GEO\", \"268\", \"ISO 3166-2:GE\"],\n [\"DE\", \"DEU\", \"276\", \"ISO 3166-2:DE\"],\n [\"GH\", \"GHA\", \"288\", \"ISO 3166-2:GH\"],\n [\"GI\", \"GIB\", \"292\", \"ISO 3166-2:GI\"],\n [\"GR\", \"GRC\", \"300\", \"ISO 3166-2:GR\"],\n [\"GL\", \"GRL\", \"304\", \"ISO 3166-2:GL\"],\n [\"GD\", \"GRD\", \"308\", \"ISO 3166-2:GD\"],\n [\"GP\", \"GLP\", \"312\", \"ISO 3166-2:GP\"],\n [\"GU\", \"GUM\", \"316\", \"ISO 3166-2:GU\"],\n [\"GT\", \"GTM\", \"320\", \"ISO 3166-2:GT\"],\n [\"GN\", \"GIN\", \"324\", \"ISO 3166-2:GN\"],\n [\"GW\", \"GNB\", \"624\", \"ISO 3166-2:GW\"],\n [\"GY\", \"GUY\", \"328\", \"ISO 3166-2:GY\"],\n [\"HT\", \"HTI\", \"332\", \"ISO 3166-2:HT\"],\n [\"HM\", \"HMD\", \"334\", \"ISO 3166-2:HM\"],\n [\"VA\", \"VAT\", \"336\", \"ISO 3166-2:VA\"],\n [\"HN\", \"HND\", \"340\", \"ISO 3166-2:HN\"],\n [\"HK\", \"HKG\", \"344\", \"ISO 3166-2:HK\"],\n [\"HU\", \"HUN\", \"348\", \"ISO 3166-2:HU\"],\n [\"IS\", \"ISL\", \"352\", \"ISO 3166-2:IS\"],\n [\"IN\", \"IND\", \"356\", \"ISO 3166-2:IN\"],\n [\"ID\", \"IDN\", \"360\", \"ISO 3166-2:ID\"],\n [\"IR\", \"IRN\", \"364\", \"ISO 3166-2:IR\"],\n [\"IQ\", \"IRQ\", \"368\", \"ISO 3166-2:IQ\"],\n [\"IE\", \"IRL\", \"372\", \"ISO 3166-2:IE\"],\n [\"IL\", \"ISR\", \"376\", \"ISO 3166-2:IL\"],\n [\"IT\", \"ITA\", \"380\", \"ISO 3166-2:IT\"],\n [\"JM\", \"JAM\", \"388\", \"ISO 3166-2:JM\"],\n [\"JP\", \"JPN\", \"392\", \"ISO 3166-2:JP\"],\n [\"JO\", \"JOR\", \"400\", \"ISO 3166-2:JO\"],\n [\"KZ\", \"KAZ\", \"398\", \"ISO 3166-2:KZ\"],\n [\"KE\", \"KEN\", \"404\", \"ISO 3166-2:KE\"],\n [\"KI\", \"KIR\", \"296\", \"ISO 3166-2:KI\"],\n [\"KP\", \"PRK\", \"408\", \"ISO 3166-2:KP\"],\n [\"KR\", \"KOR\", \"410\", \"ISO 3166-2:KR\"],\n [\"KW\", \"KWT\", \"414\", \"ISO 3166-2:KW\"],\n [\"KG\", \"KGZ\", \"417\", \"ISO 3166-2:KG\"],\n [\"LA\", \"LAO\", \"418\", \"ISO 3166-2:LA\"],\n [\"LV\", \"LVA\", \"428\", \"ISO 3166-2:LV\"],\n [\"LB\", \"LBN\", \"422\", \"ISO 3166-2:LB\"],\n [\"LS\", \"LSO\", \"426\", \"ISO 3166-2:LS\"],\n [\"LR\", \"LBR\", \"430\", \"ISO 3166-2:LR\"],\n [\"LY\", \"LBY\", \"434\", \"ISO 3166-2:LY\"],\n [\"LI\", \"LIE\", \"438\", \"ISO 3166-2:LI\"],\n [\"LT\", \"LTU\", \"440\", \"ISO 3166-2:LT\"],\n [\"LU\", \"LUX\", \"442\", \"ISO 3166-2:LU\"],\n [\"MO\", \"MAC\", \"446\", \"ISO 3166-2:MO\"],\n [\"MG\", \"MDG\", \"450\", \"ISO 3166-2:MG\"],\n [\"MW\", \"MWI\", \"454\", \"ISO 3166-2:MW\"],\n [\"MY\", \"MYS\", \"458\", \"ISO 3166-2:MY\"],\n [\"MV\", \"MDV\", \"462\", \"ISO 3166-2:MV\"],\n [\"ML\", \"MLI\", \"466\", \"ISO 3166-2:ML\"],\n [\"MT\", \"MLT\", \"470\", \"ISO 3166-2:MT\"],\n [\"MH\", \"MHL\", \"584\", \"ISO 3166-2:MH\"],\n [\"MQ\", \"MTQ\", \"474\", \"ISO 3166-2:MQ\"],\n [\"MR\", \"MRT\", \"478\", \"ISO 3166-2:MR\"],\n [\"MU\", \"MUS\", \"480\", \"ISO 3166-2:MU\"],\n [\"YT\", \"MYT\", \"175\", \"ISO 3166-2:YT\"],\n [\"MX\", \"MEX\", \"484\", \"ISO 3166-2:MX\"],\n [\"FM\", \"FSM\", \"583\", \"ISO 3166-2:FM\"],\n [\"MD\", \"MDA\", \"498\", \"ISO 3166-2:MD\"],\n [\"MC\", \"MCO\", \"492\", \"ISO 3166-2:MC\"],\n [\"MN\", \"MNG\", \"496\", \"ISO 3166-2:MN\"],\n [\"MS\", \"MSR\", \"500\", \"ISO 3166-2:MS\"],\n [\"MA\", \"MAR\", \"504\", \"ISO 3166-2:MA\"],\n [\"MZ\", \"MOZ\", \"508\", \"ISO 3166-2:MZ\"],\n [\"MM\", \"MMR\", \"104\", \"ISO 3166-2:MM\"],\n [\"NA\", \"NAM\", \"516\", \"ISO 3166-2:NA\"],\n [\"NR\", \"NRU\", \"520\", \"ISO 3166-2:NR\"],\n [\"NP\", \"NPL\", \"524\", \"ISO 3166-2:NP\"],\n [\"NL\", \"NLD\", \"528\", \"ISO 3166-2:NL\"],\n [\"NC\", \"NCL\", \"540\", \"ISO 3166-2:NC\"],\n [\"NZ\", \"NZL\", \"554\", \"ISO 3166-2:NZ\"],\n [\"NI\", \"NIC\", \"558\", \"ISO 3166-2:NI\"],\n [\"NE\", \"NER\", \"562\", \"ISO 3166-2:NE\"],\n [\"NG\", \"NGA\", \"566\", \"ISO 3166-2:NG\"],\n [\"NU\", \"NIU\", \"570\", \"ISO 3166-2:NU\"],\n [\"NF\", \"NFK\", \"574\", \"ISO 3166-2:NF\"],\n [\"MP\", \"MNP\", \"580\", \"ISO 3166-2:MP\"],\n [\"MK\", \"MKD\", \"807\", \"ISO 3166-2:MK\"],\n [\"NO\", \"NOR\", \"578\", \"ISO 3166-2:NO\"],\n [\"OM\", \"OMN\", \"512\", \"ISO 3166-2:OM\"],\n [\"PK\", \"PAK\", \"586\", \"ISO 3166-2:PK\"],\n [\"PW\", \"PLW\", \"585\", \"ISO 3166-2:PW\"],\n [\"PS\", \"PSE\", \"275\", \"ISO 3166-2:PS\"],\n [\"PA\", \"PAN\", \"591\", \"ISO 3166-2:PA\"],\n [\"PG\", \"PNG\", \"598\", \"ISO 3166-2:PG\"],\n [\"PY\", \"PRY\", \"600\", \"ISO 3166-2:PY\"],\n [\"PE\", \"PER\", \"604\", \"ISO 3166-2:PE\"],\n [\"PH\", \"PHL\", \"608\", \"ISO 3166-2:PH\"],\n [\"PN\", \"PCN\", \"612\", \"ISO 3166-2:PN\"],\n [\"PL\", \"POL\", \"616\", \"ISO 3166-2:PL\"],\n [\"PT\", \"PRT\", \"620\", \"ISO 3166-2:PT\"],\n [\"PR\", \"PRI\", \"630\", \"ISO 3166-2:PR\"],\n [\"QA\", \"QAT\", \"634\", \"ISO 3166-2:QA\"],\n [\"RE\", \"REU\", \"638\", \"ISO 3166-2:RE\"],\n [\"RO\", \"ROU\", \"642\", \"ISO 3166-2:RO\"],\n [\"RU\", \"RUS\", \"643\", \"ISO 3166-2:RU\"],\n [\"RW\", \"RWA\", \"646\", \"ISO 3166-2:RW\"],\n [\"SH\", \"SHN\", \"654\", \"ISO 3166-2:SH\"],\n [\"KN\", \"KNA\", \"659\", \"ISO 3166-2:KN\"],\n [\"LC\", \"LCA\", \"662\", \"ISO 3166-2:LC\"],\n [\"PM\", \"SPM\", \"666\", \"ISO 3166-2:PM\"],\n [\"VC\", \"VCT\", \"670\", \"ISO 3166-2:VC\"],\n [\"WS\", \"WSM\", \"882\", \"ISO 3166-2:WS\"],\n [\"SM\", \"SMR\", \"674\", \"ISO 3166-2:SM\"],\n [\"ST\", \"STP\", \"678\", \"ISO 3166-2:ST\"],\n [\"SA\", \"SAU\", \"682\", \"ISO 3166-2:SA\"],\n [\"SN\", \"SEN\", \"686\", \"ISO 3166-2:SN\"],\n [\"SC\", \"SYC\", \"690\", \"ISO 3166-2:SC\"],\n [\"SL\", \"SLE\", \"694\", \"ISO 3166-2:SL\"],\n [\"SG\", \"SGP\", \"702\", \"ISO 3166-2:SG\"],\n [\"SK\", \"SVK\", \"703\", \"ISO 3166-2:SK\"],\n [\"SI\", \"SVN\", \"705\", \"ISO 3166-2:SI\"],\n [\"SB\", \"SLB\", \"090\", \"ISO 3166-2:SB\"],\n [\"SO\", \"SOM\", \"706\", \"ISO 3166-2:SO\"],\n [\"ZA\", \"ZAF\", \"710\", \"ISO 3166-2:ZA\"],\n [\"GS\", \"SGS\", \"239\", \"ISO 3166-2:GS\"],\n [\"ES\", \"ESP\", \"724\", \"ISO 3166-2:ES\"],\n [\"LK\", \"LKA\", \"144\", \"ISO 3166-2:LK\"],\n [\"SD\", \"SDN\", \"729\", \"ISO 3166-2:SD\"],\n [\"SR\", \"SUR\", \"740\", \"ISO 3166-2:SR\"],\n [\"SJ\", \"SJM\", \"744\", \"ISO 3166-2:SJ\"],\n [\"SZ\", \"SWZ\", \"748\", \"ISO 3166-2:SZ\"],\n [\"SE\", \"SWE\", \"752\", \"ISO 3166-2:SE\"],\n [\"CH\", \"CHE\", \"756\", \"ISO 3166-2:CH\"],\n [\"SY\", \"SYR\", \"760\", \"ISO 3166-2:SY\"],\n [\"TW\", \"TWN\", \"158\", \"ISO 3166-2:TW\"],\n [\"TJ\", \"TJK\", \"762\", \"ISO 3166-2:TJ\"],\n [\"TZ\", \"TZA\", \"834\", \"ISO 3166-2:TZ\"],\n [\"TH\", \"THA\", \"764\", \"ISO 3166-2:TH\"],\n [\"TL\", \"TLS\", \"626\", \"ISO 3166-2:TL\"],\n [\"TG\", \"TGO\", \"768\", \"ISO 3166-2:TG\"],\n [\"TK\", \"TKL\", \"772\", \"ISO 3166-2:TK\"],\n [\"TO\", \"TON\", \"776\", \"ISO 3166-2:TO\"],\n [\"TT\", \"TTO\", \"780\", \"ISO 3166-2:TT\"],\n [\"TN\", \"TUN\", \"788\", \"ISO 3166-2:TN\"],\n [\"TR\", \"TUR\", \"792\", \"ISO 3166-2:TR\"],\n [\"TM\", \"TKM\", \"795\", \"ISO 3166-2:TM\"],\n [\"TC\", \"TCA\", \"796\", \"ISO 3166-2:TC\"],\n [\"TV\", \"TUV\", \"798\", \"ISO 3166-2:TV\"],\n [\"UG\", \"UGA\", \"800\", \"ISO 3166-2:UG\"],\n [\"UA\", \"UKR\", \"804\", \"ISO 3166-2:UA\"],\n [\"AE\", \"ARE\", \"784\", \"ISO 3166-2:AE\"],\n [\"GB\", \"GBR\", \"826\", \"ISO 3166-2:GB\"],\n [\"US\", \"USA\", \"840\", \"ISO 3166-2:US\"],\n [\"UM\", \"UMI\", \"581\", \"ISO 3166-2:UM\"],\n [\"UY\", \"URY\", \"858\", \"ISO 3166-2:UY\"],\n [\"UZ\", \"UZB\", \"860\", \"ISO 3166-2:UZ\"],\n [\"VU\", \"VUT\", \"548\", \"ISO 3166-2:VU\"],\n [\"VE\", \"VEN\", \"862\", \"ISO 3166-2:VE\"],\n [\"VN\", \"VNM\", \"704\", \"ISO 3166-2:VN\"],\n [\"VG\", \"VGB\", \"092\", \"ISO 3166-2:VG\"],\n [\"VI\", \"VIR\", \"850\", \"ISO 3166-2:VI\"],\n [\"WF\", \"WLF\", \"876\", \"ISO 3166-2:WF\"],\n [\"EH\", \"ESH\", \"732\", \"ISO 3166-2:EH\"],\n [\"YE\", \"YEM\", \"887\", \"ISO 3166-2:YE\"],\n [\"ZM\", \"ZMB\", \"894\", \"ISO 3166-2:ZM\"],\n [\"ZW\", \"ZWE\", \"716\", \"ISO 3166-2:ZW\"],\n [\"AX\", \"ALA\", \"248\", \"ISO 3166-2:AX\"],\n [\"BQ\", \"BES\", \"535\", \"ISO 3166-2:BQ\"],\n [\"CW\", \"CUW\", \"531\", \"ISO 3166-2:CW\"],\n [\"GG\", \"GGY\", \"831\", \"ISO 3166-2:GG\"],\n [\"IM\", \"IMN\", \"833\", \"ISO 3166-2:IM\"],\n [\"JE\", \"JEY\", \"832\", \"ISO 3166-2:JE\"],\n [\"ME\", \"MNE\", \"499\", \"ISO 3166-2:ME\"],\n [\"BL\", \"BLM\", \"652\", \"ISO 3166-2:BL\"],\n [\"MF\", \"MAF\", \"663\", \"ISO 3166-2:MF\"],\n [\"RS\", \"SRB\", \"688\", \"ISO 3166-2:RS\"],\n [\"SX\", \"SXM\", \"534\", \"ISO 3166-2:SX\"],\n [\"SS\", \"SSD\", \"728\", \"ISO 3166-2:SS\"],\n [\"XK\", \"XKK\", \"983\", \"ISO 3166-2:XK\"]\n]\n","[\n \"br\",\n \"cy\",\n \"dv\",\n \"sw\",\n \"eu\",\n \"af\",\n \"am\",\n \"ha\",\n \"ku\",\n \"ml\",\n \"mt\",\n \"no\",\n \"ps\",\n \"sd\",\n \"so\",\n \"sq\",\n \"ta\",\n \"tg\",\n \"tt\",\n \"ug\",\n \"ur\",\n \"vi\",\n \"ar\",\n \"az\",\n \"be\",\n \"bg\",\n \"bn\",\n \"bs\",\n \"ca\",\n \"cs\",\n \"da\",\n \"de\",\n \"el\",\n \"en\",\n \"es\",\n \"et\",\n \"fa\",\n \"fi\",\n \"fr\",\n \"ga\",\n \"gl\",\n \"he\",\n \"hi\",\n \"hr\",\n \"hu\",\n \"hy\",\n \"id\",\n \"is\",\n \"it\",\n \"ja\",\n \"ka\",\n \"kk\",\n \"km\",\n \"ko\",\n \"ky\",\n \"lt\",\n \"lv\",\n \"mk\",\n \"mn\",\n \"mr\",\n \"ms\",\n \"nb\",\n \"nl\",\n \"nn\",\n \"pl\",\n \"pt\",\n \"ro\",\n \"ru\",\n \"sk\",\n \"sl\",\n \"sr\",\n \"sv\",\n \"th\",\n \"tk\",\n \"tr\",\n \"uk\",\n \"uz\",\n \"zh\"\n]\n","exports.remove = removeDiacritics;\n\nvar replacementList = [\n {\n base: ' ',\n chars: \"\\u00A0\",\n }, {\n base: '0',\n chars: \"\\u07C0\",\n }, {\n base: 'A',\n chars: \"\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\",\n }, {\n base: 'AA',\n chars: \"\\uA732\",\n }, {\n base: 'AE',\n chars: \"\\u00C6\\u01FC\\u01E2\",\n }, {\n base: 'AO',\n chars: \"\\uA734\",\n }, {\n base: 'AU',\n chars: \"\\uA736\",\n }, {\n base: 'AV',\n chars: \"\\uA738\\uA73A\",\n }, {\n base: 'AY',\n chars: \"\\uA73C\",\n }, {\n base: 'B',\n chars: \"\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0181\",\n }, {\n base: 'C',\n chars: \"\\u24b8\\uff23\\uA73E\\u1E08\\u0106\\u0043\\u0108\\u010A\\u010C\\u00C7\\u0187\\u023B\",\n }, {\n base: 'D',\n chars: \"\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018A\\u0189\\u1D05\\uA779\",\n }, {\n base: 'Dh',\n chars: \"\\u00D0\",\n }, {\n base: 'DZ',\n chars: \"\\u01F1\\u01C4\",\n }, {\n base: 'Dz',\n chars: \"\\u01F2\\u01C5\",\n }, {\n base: 'E',\n chars: \"\\u025B\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\\u1D07\",\n }, {\n base: 'F',\n chars: \"\\uA77C\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\",\n }, {\n base: 'G',\n chars: \"\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\\u0262\",\n }, {\n base: 'H',\n chars: \"\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\",\n }, {\n base: 'I',\n chars: \"\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\",\n }, {\n base: 'J',\n chars: \"\\u24BF\\uFF2A\\u0134\\u0248\\u0237\",\n }, {\n base: 'K',\n chars: \"\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\",\n }, {\n base: 'L',\n chars: \"\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\",\n }, {\n base: 'LJ',\n chars: \"\\u01C7\",\n }, {\n base: 'Lj',\n chars: \"\\u01C8\",\n }, {\n base: 'M',\n chars: \"\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\\u03FB\",\n }, {\n base: 'N',\n chars: \"\\uA7A4\\u0220\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u019D\\uA790\\u1D0E\",\n }, {\n base: 'NJ',\n chars: \"\\u01CA\",\n }, {\n base: 'Nj',\n chars: \"\\u01CB\",\n }, {\n base: 'O',\n chars: \"\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\",\n }, {\n base: 'OE',\n chars: \"\\u0152\",\n }, {\n base: 'OI',\n chars: \"\\u01A2\",\n }, {\n base: 'OO',\n chars: \"\\uA74E\",\n }, {\n base: 'OU',\n chars: \"\\u0222\",\n }, {\n base: 'P',\n chars: \"\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\",\n }, {\n base: 'Q',\n chars: \"\\u24C6\\uFF31\\uA756\\uA758\\u024A\",\n }, {\n base: 'R',\n chars: \"\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\",\n }, {\n base: 'S',\n chars: \"\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\",\n }, {\n base: 'T',\n chars: \"\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\",\n }, {\n base: 'Th',\n chars: \"\\u00DE\",\n }, {\n base: 'TZ',\n chars: \"\\uA728\",\n }, {\n base: 'U',\n chars: \"\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\",\n }, {\n base: 'V',\n chars: \"\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\",\n }, {\n base: 'VY',\n chars: \"\\uA760\",\n }, {\n base: 'W',\n chars: \"\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\",\n }, {\n base: 'X',\n chars: \"\\u24CD\\uFF38\\u1E8A\\u1E8C\",\n }, {\n base: 'Y',\n chars: \"\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\",\n }, {\n base: 'Z',\n chars: \"\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\",\n }, {\n base: 'a',\n chars: \"\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\\u0251\",\n }, {\n base: 'aa',\n chars: \"\\uA733\",\n }, {\n base: 'ae',\n chars: \"\\u00E6\\u01FD\\u01E3\",\n }, {\n base: 'ao',\n chars: \"\\uA735\",\n }, {\n base: 'au',\n chars: \"\\uA737\",\n }, {\n base: 'av',\n chars: \"\\uA739\\uA73B\",\n }, {\n base: 'ay',\n chars: \"\\uA73D\",\n }, {\n base: 'b',\n chars: \"\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\\u0182\",\n }, {\n base: 'c',\n chars: \"\\uFF43\\u24D2\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184\",\n }, {\n base: 'd',\n chars: \"\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\u018B\\u13E7\\u0501\\uA7AA\",\n }, {\n base: 'dh',\n chars: \"\\u00F0\",\n }, {\n base: 'dz',\n chars: \"\\u01F3\\u01C6\",\n }, {\n base: 'e',\n chars: \"\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u01DD\",\n }, {\n base: 'f',\n chars: \"\\u24D5\\uFF46\\u1E1F\\u0192\",\n }, {\n base: 'ff',\n chars: \"\\uFB00\",\n }, {\n base: 'fi',\n chars: \"\\uFB01\",\n }, {\n base: 'fl',\n chars: \"\\uFB02\",\n }, {\n base: 'ffi',\n chars: \"\\uFB03\",\n }, {\n base: 'ffl',\n chars: \"\\uFB04\",\n }, {\n base: 'g',\n chars: \"\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\uA77F\\u1D79\",\n }, {\n base: 'h',\n chars: \"\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\",\n }, {\n base: 'hv',\n chars: \"\\u0195\",\n }, {\n base: 'i',\n chars: \"\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\",\n }, {\n base: 'j',\n chars: \"\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\",\n }, {\n base: 'k',\n chars: \"\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\",\n }, {\n base: 'l',\n chars: \"\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\\u026D\",\n }, {\n base: 'lj',\n chars: \"\\u01C9\",\n }, {\n base: 'm',\n chars: \"\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\",\n }, {\n base: 'n',\n chars: \"\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\\u043B\\u0509\",\n }, {\n base: 'nj',\n chars: \"\\u01CC\",\n }, {\n base: 'o',\n chars: \"\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\uA74B\\uA74D\\u0275\\u0254\\u1D11\",\n }, {\n base: 'oe',\n chars: \"\\u0153\",\n }, {\n base: 'oi',\n chars: \"\\u01A3\",\n }, {\n base: 'oo',\n chars: \"\\uA74F\",\n }, {\n base: 'ou',\n chars: \"\\u0223\",\n }, {\n base: 'p',\n chars: \"\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\\u03C1\",\n }, {\n base: 'q',\n chars: \"\\u24E0\\uFF51\\u024B\\uA757\\uA759\",\n }, {\n base: 'r',\n chars: \"\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\",\n }, {\n base: 's',\n chars: \"\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\\u0282\",\n }, {\n base: 'ss',\n chars: \"\\xDF\",\n }, {\n base: 't',\n chars: \"\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\",\n }, {\n base: 'th',\n chars: \"\\u00FE\",\n }, {\n base: 'tz',\n chars: \"\\uA729\",\n }, {\n base: 'u',\n chars: \"\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\",\n }, {\n base: 'v',\n chars: \"\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\",\n }, {\n base: 'vy',\n chars: \"\\uA761\",\n }, {\n base: 'w',\n chars: \"\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\",\n }, {\n base: 'x',\n chars: \"\\u24E7\\uFF58\\u1E8B\\u1E8D\",\n }, {\n base: 'y',\n chars: \"\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\",\n }, {\n base: 'z',\n chars: \"\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\",\n }\n];\n\nvar diacriticsMap = {};\nfor (var i = 0; i < replacementList.length; i += 1) {\n var chars = replacementList[i].chars;\n for (var j = 0; j < chars.length; j += 1) {\n diacriticsMap[chars[j]] = replacementList[i].base;\n }\n}\n\nfunction removeDiacritics(str) {\n return str.replace(/[^\\u0000-\\u007e]/g, function(c) {\n return diacriticsMap[c] || c;\n });\n}\n\nexports.replacementList = replacementList;\nexports.diacriticsMap = diacriticsMap;\n","\"use strict\";\n\nconst codes = require(\"./codes.json\");\nconst supportedLocales = require(\"./supportedLocales.json\");\nconst removeDiacritics = require(\"diacritics\").remove;\nconst registeredLocales = {};\n\n/*\n * All codes map to ISO 3166-1 alpha-2\n */\nconst alpha2 = {},\n alpha3 = {},\n numeric = {},\n invertedNumeric = {};\n\ncodes.forEach(function (codeInformation) {\n const s = codeInformation;\n alpha2[s[0]] = s[1];\n alpha3[s[1]] = s[0];\n numeric[s[2]] = s[0];\n invertedNumeric[s[0]] = s[2];\n});\n\n/**\n * @private\n * @param {number} code\n */\nfunction formatNumericCode(code) {\n return String(\"000\" + (code ? code : \"\")).slice(-3);\n}\n\n/**\n * @private\n * Avoid using obj.hasOwnProperty directly as `hasOwnProperty` could be a\n * property in itself ({ hasOwnProperty: 1 }) and cause weird bugs\n * https://eslint.org/docs/rules/no-prototype-builtins\n */\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\n/**\n * @private\n * Pass localeList through a filter and return a newLocaleList obj\n * with the same structure of the old localeList.\n *\n * @param {LocalizedCountryNames} localeList Local List in raw\n * @param {Function} filter callback to set filter rule\n * @return {String | String[]} new filtered Local List\n */\nfunction localeFilter(localeList, filter) {\n return Object.keys(localeList).reduce(function (newLocaleList, alpha2) {\n const nameList = localeList[alpha2];\n newLocaleList[alpha2] = filter(nameList, alpha2);\n return newLocaleList;\n }, {});\n}\n\n/**\n * @private\n * Preserve for getName & getNames\n *\n * @param {GetNameOptions.select} type all | official | alias\n * @param countryNameList string array of country's\n * official name and alias\n * @return {String | String[]} of a country name\n */\nfunction filterNameBy(type, countryNameList) {\n switch (type) {\n case \"official\":\n return Array.isArray(countryNameList)\n ? countryNameList[0]\n : countryNameList;\n\n case \"all\":\n return typeof countryNameList === \"string\"\n ? [countryNameList]\n : countryNameList;\n\n case \"alias\":\n return Array.isArray(countryNameList)\n ? countryNameList[1] || countryNameList[0]\n : countryNameList;\n\n default:\n throw new TypeError(\n \"LocaleNameType must be one of these: all, official, alias!\"\n );\n }\n}\n\n/**\n * Register countries in browsers' environment:\n * @param {object} localeData\n * @example countries.registerLocale(require(\"i18n-iso-countries/langs/en.json\"));\n * @return void\n */\nexports.registerLocale = function (localeData) {\n if (!localeData.locale) {\n throw new TypeError(\"Missing localeData.locale\");\n }\n\n if (!localeData.countries) {\n throw new TypeError(\"Missing localeData.countries\");\n }\n\n registeredLocales[localeData.locale] = localeData.countries;\n};\n\n/*\n * @param code Alpha-3 code\n * @return Alpha-2 code or undefined\n */\nfunction alpha3ToAlpha2(code) {\n return alpha3[code];\n}\nexports.alpha3ToAlpha2 = alpha3ToAlpha2;\n\n/*\n * @param code Alpha-2 code\n * @return Alpha-3 code or undefined\n */\nfunction alpha2ToAlpha3(code) {\n return alpha2[code];\n}\nexports.alpha2ToAlpha3 = alpha2ToAlpha3;\n\n/*\n * @param code Alpha-3 code\n * @return Numeric code or undefined\n */\nfunction alpha3ToNumeric(code) {\n return invertedNumeric[alpha3ToAlpha2(code)];\n}\nexports.alpha3ToNumeric = alpha3ToNumeric;\n\n/*\n * @param code Alpha-2 code\n * @return Numeric code or undefined\n */\nfunction alpha2ToNumeric(code) {\n return invertedNumeric[code];\n}\nexports.alpha2ToNumeric = alpha2ToNumeric;\n\n/*\n * @param code Numeric code\n * @return Alpha-3 code or undefined\n */\nfunction numericToAlpha3(code) {\n const padded = formatNumericCode(code);\n return alpha2ToAlpha3(numeric[padded]);\n}\nexports.numericToAlpha3 = numericToAlpha3;\n\n/*\n * @param code Numeric code\n * @return Alpha-2 code or undefined\n */\nfunction numericToAlpha2(code) {\n const padded = formatNumericCode(code);\n return numeric[padded];\n}\nexports.numericToAlpha2 = numericToAlpha2;\n\n/*\n * @param code ISO 3166-1 alpha-2, alpha-3 or numeric code\n * @return ISO 3166-1 alpha-3\n */\nfunction toAlpha3(code) {\n if (typeof code === \"string\") {\n if (/^[0-9]*$/.test(code)) {\n return numericToAlpha3(code);\n }\n if (code.length === 2) {\n return alpha2ToAlpha3(code.toUpperCase());\n }\n if (code.length === 3) {\n return code.toUpperCase();\n }\n }\n if (typeof code === \"number\") {\n return numericToAlpha3(code);\n }\n return undefined;\n}\nexports.toAlpha3 = toAlpha3;\n\n/*\n * @param code ISO 3166-1 alpha-2, alpha-3 or numeric code\n * @return ISO 3166-1 alpha-2\n */\nfunction toAlpha2(code) {\n if (typeof code === \"string\") {\n if (/^[0-9]*$/.test(code)) {\n return numericToAlpha2(code);\n }\n if (code.length === 2) {\n return code.toUpperCase();\n }\n if (code.length === 3) {\n return alpha3ToAlpha2(code.toUpperCase());\n }\n }\n if (typeof code === \"number\") {\n return numericToAlpha2(code);\n }\n return undefined;\n}\nexports.toAlpha2 = toAlpha2;\n\n/**\n * @param {string | number | Alpha2Code | Alpha3Code} code\n * @param {String} lang language for country name\n * @param {GetNameOptions} options\n * @return {String | String[] | undefined} name\n */\nexports.getName = function (code, lang, options = {}) {\n if (!(\"select\" in options)) {\n options.select = \"official\";\n }\n try {\n const codeMaps = registeredLocales[lang.toLowerCase()];\n const nameList = codeMaps[toAlpha2(code)];\n return filterNameBy(options.select, nameList);\n } catch (err) {\n return undefined;\n }\n};\n\n/**\n * @param {String} lang language for country names\n * @param {GetNameOptions} options getNames Options\n * @return {LocalizedCountryNames} country code\n * mapped to county name\n */\nexports.getNames = function (lang, options = {}) {\n if (!(\"select\" in options)) {\n options.select = \"official\";\n }\n const localeList = registeredLocales[lang.toLowerCase()];\n if (localeList === undefined) return {};\n return localeFilter(localeList, function (nameList) {\n return filterNameBy(options.select, nameList);\n });\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-2 or undefined\n */\nexports.getAlpha2Code = function (name, lang) {\n const normalizeString = (string) => string.toLowerCase();\n const areSimilar = (a, b) => normalizeString(a) === normalizeString(b);\n\n try {\n const codenames = registeredLocales[lang.toLowerCase()];\n for (const p in codenames) {\n if (!hasOwnProperty(codenames, p)) {\n continue;\n }\n if (typeof codenames[p] === \"string\") {\n if (areSimilar(codenames[p], name)) {\n return p;\n }\n }\n if (Array.isArray(codenames[p])) {\n for (const mappedName of codenames[p]) {\n if (areSimilar(mappedName, name)) {\n return p;\n }\n }\n }\n }\n return undefined;\n } catch (err) {\n return undefined;\n }\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-2 or undefined\n */\nexports.getSimpleAlpha2Code = function (name, lang) {\n const normalizeString = (string) => removeDiacritics(string.toLowerCase());\n const areSimilar = (a, b) => normalizeString(a) === normalizeString(b);\n\n try {\n const codenames = registeredLocales[lang.toLowerCase()];\n for (const p in codenames) {\n if (!hasOwnProperty(codenames, p)) {\n continue;\n }\n if (typeof codenames[p] === \"string\") {\n if (areSimilar(codenames[p], name)) {\n return p;\n }\n }\n if (Array.isArray(codenames[p])) {\n for (const mappedName of codenames[p]) {\n if (areSimilar(mappedName, name)) {\n return p;\n }\n }\n }\n }\n return undefined;\n } catch (err) {\n return undefined;\n }\n};\n\n/*\n * @return Object of alpha-2 codes mapped to alpha-3 codes\n */\nexports.getAlpha2Codes = function () {\n return alpha2;\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-3 or undefined\n */\nexports.getAlpha3Code = function (name, lang) {\n const alpha2 = exports.getAlpha2Code(name, lang);\n if (alpha2) {\n return exports.toAlpha3(alpha2);\n } else {\n return undefined;\n }\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-3 or undefined\n */\nexports.getSimpleAlpha3Code = function (name, lang) {\n const alpha2 = exports.getSimpleAlpha2Code(name, lang);\n if (alpha2) {\n return exports.toAlpha3(alpha2);\n } else {\n return undefined;\n }\n};\n\n/*\n * @return Object of alpha-3 codes mapped to alpha-2 codes\n */\nexports.getAlpha3Codes = function () {\n return alpha3;\n};\n\n/*\n * @return Object of numeric codes mapped to alpha-2 codes\n */\nexports.getNumericCodes = function () {\n return numeric;\n};\n\n/*\n * @return Array of registered languages\n */\nexports.langs = function () {\n return Object.keys(registeredLocales);\n};\n\n/*\n * @return Array of supported languages\n */\nexports.getSupportedLanguages = function () {\n return supportedLocales;\n};\n\n/*\n * @param code ISO 3166-1 alpha-2, alpha-3 or numeric code\n * @return Boolean\n */\nexports.isValid = function (code) {\n if (!code) {\n return false;\n }\n\n const coerced = code.toString().toUpperCase();\n return (\n hasOwnProperty(alpha3, coerced) ||\n hasOwnProperty(alpha2, coerced) ||\n hasOwnProperty(numeric, coerced)\n );\n};\n","export const ZKPASSPORT_DOWNLOAD_URL = \"https://zkpassport.id/r\"\nexport const APP_STORE_URL = \"https://apps.apple.com/us/app/zkpassport/id6477371975\"\nexport const GOOGLE_PLAY_URL =\n \"https://play.google.com/store/apps/details?id=app.zkpassport.zkpassport\"\n\nexport const ICON_ZKP_MARK = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\" fill=\"none\" aria-hidden=\"true\"><path d=\"M15.0417 29.516C23.0399 29.516 29.5237 23.0338 29.5237 15.0378C29.5237 7.04166 23.0399 0.559547 15.0417 0.559547C7.04352 0.559547 0.559692 7.04166 0.559692 15.0378C0.559692 23.0338 7.04352 29.516 15.0417 29.516Z\" fill=\"#2139A3\"/><path d=\"M15.0417 0C23.349 0 30.0834 6.73263 30.0834 15.0377C30.0834 23.3429 23.349 30.0755 15.0417 30.0755C6.73441 30.0755 0 23.3429 0 15.0377C0 6.73263 6.73441 0 15.0417 0ZM15.0417 1.60869C7.62309 1.60869 1.60911 7.62108 1.60911 15.0377C1.60911 22.4544 7.62309 28.4668 15.0417 28.4668C22.4603 28.4668 28.4743 22.4544 28.4743 15.0377C28.4743 7.62108 22.4603 1.60869 15.0417 1.60869ZM15.0592 3.09498C21.6662 3.09498 27.0226 8.44173 27.0226 15.0377C27.0226 21.6338 21.6662 26.9805 15.0592 26.9805C8.45221 26.9805 3.09579 21.6338 3.09579 15.0377C3.09579 8.44173 8.45221 3.09498 15.0592 3.09498ZM9.96458 22.0322L6.92138 22.0322C8.39067 23.7337 10.3865 24.9694 12.6564 25.4872C11.5835 24.7598 10.6605 23.5567 9.96458 22.0322ZM23.197 22.0322L20.1538 22.0322C19.4579 23.5567 18.5349 24.7598 17.4621 25.4874C19.7319 24.9694 21.7277 23.7337 23.197 22.0322ZM14.3421 22.032L11.2161 22.0321C12.0187 23.8592 13.1229 25.1125 14.3421 25.4638L14.3421 22.032ZM18.8674 22.0321L15.7413 22.032L15.7414 25.4638C16.9606 25.1125 18.0648 23.8591 18.8674 22.0321ZM25.7572 15.9821L21.5259 15.982C21.4396 17.8044 21.1057 19.5076 20.5786 20.9831L23.9963 20.983C24.9699 19.5278 25.5963 17.8215 25.7572 15.9821ZM8.59253 15.982L4.36123 15.9821C4.5221 17.8215 5.14847 19.5278 6.1221 20.983L9.53983 20.9831C9.01269 19.5076 8.67877 17.8044 8.59253 15.982ZM20.1638 15.9821L15.7413 15.982V20.9829L19.2733 20.983C19.7636 19.5382 20.0831 17.8314 20.1638 15.9821ZM14.3421 15.982L9.91967 15.9821C10.0003 17.8314 10.3198 19.5382 10.8101 20.983L14.3421 20.9829V15.982ZM24.2843 9.54718L20.7326 9.54709C21.2388 11.1259 21.5307 12.9383 21.5474 14.8629L25.7969 14.8629L25.7969 14.8605C25.7653 12.9205 25.2174 11.1057 24.2843 9.54718ZM9.38584 9.54709L5.83411 9.54718C4.9006 11.1063 4.35262 12.922 4.32152 14.8629L8.57108 14.8629L8.57113 14.8531C8.58872 12.9322 8.88051 11.1232 9.38584 9.54709ZM19.4086 9.54708L15.7413 9.54722V14.8629L20.183 14.8629C20.1655 12.9105 19.8822 11.0944 19.4086 9.54708ZM14.3421 9.54722L10.6748 9.54708C10.2012 11.0944 9.91791 12.9105 9.90041 14.8629L14.3421 14.8629V9.54722ZM17.462 4.5883L17.5252 4.6316C18.6751 5.43583 19.6492 6.78889 20.3507 8.49789H23.5684C22.073 6.56232 19.9294 5.15119 17.462 4.5883ZM12.6563 4.58812L12.6442 4.59108C10.182 5.15582 8.04296 6.5655 6.54996 8.49789H9.76772C10.4821 6.75769 11.479 5.38655 12.6563 4.58812ZM15.7414 4.64663L15.7413 8.49807L19.0424 8.49792C18.2293 6.4439 17.0518 5.02425 15.7414 4.64663ZM11.0411 8.49792L14.3421 8.49807L14.3421 4.64662C13.0317 5.02423 11.8541 6.44388 11.0411 8.49792Z\" fill=\"url(#zkp-mark-grad)\"/><defs><linearGradient id=\"zkp-mark-grad\" x1=\"15.0417\" y1=\"0\" x2=\"15.0417\" y2=\"30.0755\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#F2DCB0\"/><stop offset=\"1\" stop-color=\"#F6D38F\"/></linearGradient></defs></svg>`\n\nexport const SPINNER_SVG = `\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <defs>\n <linearGradient id=\"zkp-spin-mark-grad\" x1=\"15.0417\" y1=\"0\" x2=\"15.0417\" y2=\"30.0755\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#F2DCB0\"/>\n <stop offset=\"1\" stop-color=\"#F6D38F\"/>\n </linearGradient>\n </defs>\n <g transform=\"translate(27.5 27.5) scale(1.5)\">\n <path d=\"M15.0417 29.516C23.0399 29.516 29.5237 23.0338 29.5237 15.0378C29.5237 7.04166 23.0399 0.559547 15.0417 0.559547C7.04352 0.559547 0.559692 7.04166 0.559692 15.0378C0.559692 23.0338 7.04352 29.516 15.0417 29.516Z\" fill=\"#2139A3\"/>\n <path d=\"M15.0417 0C23.349 0 30.0834 6.73263 30.0834 15.0377C30.0834 23.3429 23.349 30.0755 15.0417 30.0755C6.73441 30.0755 0 23.3429 0 15.0377C0 6.73263 6.73441 0 15.0417 0ZM15.0417 1.60869C7.62309 1.60869 1.60911 7.62108 1.60911 15.0377C1.60911 22.4544 7.62309 28.4668 15.0417 28.4668C22.4603 28.4668 28.4743 22.4544 28.4743 15.0377C28.4743 7.62108 22.4603 1.60869 15.0417 1.60869ZM15.0592 3.09498C21.6662 3.09498 27.0226 8.44173 27.0226 15.0377C27.0226 21.6338 21.6662 26.9805 15.0592 26.9805C8.45221 26.9805 3.09579 21.6338 3.09579 15.0377C3.09579 8.44173 8.45221 3.09498 15.0592 3.09498ZM9.96458 22.0322L6.92138 22.0322C8.39067 23.7337 10.3865 24.9694 12.6564 25.4872C11.5835 24.7598 10.6605 23.5567 9.96458 22.0322ZM23.197 22.0322L20.1538 22.0322C19.4579 23.5567 18.5349 24.7598 17.4621 25.4874C19.7319 24.9694 21.7277 23.7337 23.197 22.0322ZM14.3421 22.032L11.2161 22.0321C12.0187 23.8592 13.1229 25.1125 14.3421 25.4638L14.3421 22.032ZM18.8674 22.0321L15.7413 22.032L15.7414 25.4638C16.9606 25.1125 18.0648 23.8591 18.8674 22.0321ZM25.7572 15.9821L21.5259 15.982C21.4396 17.8044 21.1057 19.5076 20.5786 20.9831L23.9963 20.983C24.9699 19.5278 25.5963 17.8215 25.7572 15.9821ZM8.59253 15.982L4.36123 15.9821C4.5221 17.8215 5.14847 19.5278 6.1221 20.983L9.53983 20.9831C9.01269 19.5076 8.67877 17.8044 8.59253 15.982ZM20.1638 15.9821L15.7413 15.982V20.9829L19.2733 20.983C19.7636 19.5382 20.0831 17.8314 20.1638 15.9821ZM14.3421 15.982L9.91967 15.9821C10.0003 17.8314 10.3198 19.5382 10.8101 20.983L14.3421 20.9829V15.982ZM24.2843 9.54718L20.7326 9.54709C21.2388 11.1259 21.5307 12.9383 21.5474 14.8629L25.7969 14.8629L25.7969 14.8605C25.7653 12.9205 25.2174 11.1057 24.2843 9.54718ZM9.38584 9.54709L5.83411 9.54718C4.9006 11.1063 4.35262 12.922 4.32152 14.8629L8.57108 14.8629L8.57113 14.8531C8.58872 12.9322 8.88051 11.1232 9.38584 9.54709ZM19.4086 9.54708L15.7413 9.54722V14.8629L20.183 14.8629C20.1655 12.9105 19.8822 11.0944 19.4086 9.54708ZM14.3421 9.54722L10.6748 9.54708C10.2012 11.0944 9.91791 12.9105 9.90041 14.8629L14.3421 14.8629V9.54722ZM17.462 4.5883L17.5252 4.6316C18.6751 5.43583 19.6492 6.78889 20.3507 8.49789H23.5684C22.073 6.56232 19.9294 5.15119 17.462 4.5883ZM12.6563 4.58812L12.6442 4.59108C10.182 5.15582 8.04296 6.5655 6.54996 8.49789H9.76772C10.4821 6.75769 11.479 5.38655 12.6563 4.58812ZM15.7414 4.64663L15.7413 8.49807L19.0424 8.49792C18.2293 6.4439 17.0518 5.02425 15.7414 4.64663ZM11.0411 8.49792L14.3421 8.49807L14.3421 4.64662C13.0317 5.02423 11.8541 6.44388 11.0411 8.49792Z\" fill=\"url(#zkp-spin-mark-grad)\"/>\n </g>\n <circle class=\"zkp-spinner-arc\" cx=\"50\" cy=\"50\" r=\"27\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-dasharray=\"42 128\"/>\n</svg>`\n\nexport const ICON_SCAN = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 7V5a2 2 0 0 1 2-2h2\"/><path d=\"M17 3h2a2 2 0 0 1 2 2v2\"/><path d=\"M21 17v2a2 2 0 0 1-2 2h-2\"/><path d=\"M7 21H5a2 2 0 0 1-2-2v-2\"/><line x1=\"7\" y1=\"12\" x2=\"17\" y2=\"12\"/></svg>`\n\nexport const ICON_SHIELD = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"/></svg>`\n\nexport const ICON_DOWNLOAD = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/><polyline points=\"7 10 12 15 17 10\"/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"/></svg>`\n\nexport const ICON_CHECK = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"/></svg>`\n\nexport const ICON_ERROR = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/><line x1=\"6\" y1=\"18\" x2=\"18\" y2=\"6\"/></svg>`\n\nexport const ICON_PHONE = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2.5\" ry=\"2.5\"/><line x1=\"11\" y1=\"18\" x2=\"13\" y2=\"18\"/></svg>`\n\nexport const ICON_REFRESH = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"23 4 23 10 17 10\"/><polyline points=\"1 20 1 14 7 14\"/><path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"/></svg>`\n\nexport const APP_STORE_BADGE = {\n ariaLabel: \"Download on the App Store\",\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 119.66407 40\" role=\"img\" aria-hidden=\"true\"><path d=\"M110.13477,0H9.53468c-.3667,0-.729,0-1.09473.002-.30615.002-.60986.00781-.91895.0127A13.21476,13.21476,0,0,0,5.5171.19141a6.66509,6.66509,0,0,0-1.90088.627A6.43779,6.43779,0,0,0,1.99757,1.99707,6.25844,6.25844,0,0,0,.81935,3.61816a6.60119,6.60119,0,0,0-.625,1.90332,12.993,12.993,0,0,0-.1792,2.002C.00587,7.83008.00489,8.1377,0,8.44434V31.5586c.00489.3105.00587.6113.01515.9219a12.99232,12.99232,0,0,0,.1792,2.0019,6.58756,6.58756,0,0,0,.625,1.9043A6.20778,6.20778,0,0,0,1.99757,38.001a6.27445,6.27445,0,0,0,1.61865,1.1787,6.70082,6.70082,0,0,0,1.90088.6308,13.45514,13.45514,0,0,0,2.0039.1768c.30909.0068.6128.0107.91895.0107C8.80567,40,9.168,40,9.53468,40H110.13477c.3594,0,.7246,0,1.084-.002.3047,0,.6172-.0039.9219-.0107a13.279,13.279,0,0,0,2-.1768,6.80432,6.80432,0,0,0,1.9082-.6308,6.27742,6.27742,0,0,0,1.6172-1.1787,6.39482,6.39482,0,0,0,1.1816-1.6143,6.60413,6.60413,0,0,0,.6191-1.9043,13.50643,13.50643,0,0,0,.1856-2.0019c.0039-.3106.0039-.6114.0039-.9219.0078-.3633.0078-.7246.0078-1.0938V9.53613c0-.36621,0-.72949-.0078-1.09179,0-.30664,0-.61426-.0039-.9209a13.5071,13.5071,0,0,0-.1856-2.002,6.6177,6.6177,0,0,0-.6191-1.90332,6.46619,6.46619,0,0,0-2.7988-2.7998,6.76754,6.76754,0,0,0-1.9082-.627,13.04394,13.04394,0,0,0-2-.17676c-.3047-.00488-.6172-.01074-.9219-.01269-.3594-.002-.7246-.002-1.084-.002Z\" fill=\"#a6a6a6\"/><path d=\"M8.44483,39.125c-.30468,0-.602-.0039-.90429-.0107a12.68714,12.68714,0,0,1-1.86914-.1631,5.88381,5.88381,0,0,1-1.65674-.5479,5.40573,5.40573,0,0,1-1.397-1.0166,5.32082,5.32082,0,0,1-1.02051-1.3965,5.72186,5.72186,0,0,1-.543-1.6572,12.41351,12.41351,0,0,1-.1665-1.875c-.00634-.2109-.01464-.9131-.01464-.9131V8.44434S.88185,7.75293.8877,7.5498a12.37039,12.37039,0,0,1,.16553-1.87207,5.7555,5.7555,0,0,1,.54346-1.6621A5.37349,5.37349,0,0,1,2.61183,2.61768,5.56543,5.56543,0,0,1,4.01417,1.59521a5.82309,5.82309,0,0,1,1.65332-.54394A12.58589,12.58589,0,0,1,7.543.88721L8.44532.875H111.21387l.9131.0127a12.38493,12.38493,0,0,1,1.8584.16259,5.93833,5.93833,0,0,1,1.6709.54785,5.59374,5.59374,0,0,1,2.415,2.41993,5.76267,5.76267,0,0,1,.5352,1.64892,12.995,12.995,0,0,1,.1738,1.88721c.0029.2832.0029.5874.0029.89014.0079.375.0079.73193.0079,1.09179V30.4648c0,.3633,0,.7178-.0079,1.0752,0,.3252,0,.6231-.0039.9297a12.73126,12.73126,0,0,1-.1709,1.8535,5.739,5.739,0,0,1-.54,1.67,5.48029,5.48029,0,0,1-1.0156,1.3857,5.4129,5.4129,0,0,1-1.3994,1.0225,5.86168,5.86168,0,0,1-1.668.5498,12.54218,12.54218,0,0,1-1.8692.1631c-.2929.0068-.5996.0107-.8974.0107l-1.084.002Z\"/><path d=\"M24.76888,20.30068a4.94881,4.94881,0,0,1,2.35656-4.15206,5.06566,5.06566,0,0,0-3.99116-2.15768c-1.67924-.17626-3.30719,1.00483-4.1629,1.00483-.87227,0-2.18977-.98733-3.6085-.95814a5.31529,5.31529,0,0,0-4.47292,2.72787c-1.934,3.34842-.49141,8.26947,1.3612,10.97608.9269,1.32535,2.01018,2.8058,3.42763,2.7533,1.38706-.05753,1.9051-.88448,3.5794-.88448,1.65876,0,2.14479.88448,3.591.8511,1.48838-.02416,2.42613-1.33124,3.32051-2.66914a10.962,10.962,0,0,0,1.51842-3.09251A4.78205,4.78205,0,0,1,24.76888,20.30068Z\" fill=\"#fff\"/><path d=\"M22.03725,12.21089a4.87248,4.87248,0,0,0,1.11452-3.49062,4.95746,4.95746,0,0,0-3.20758,1.65961,4.63634,4.63634,0,0,0-1.14371,3.36139A4.09905,4.09905,0,0,0,22.03725,12.21089Z\" fill=\"#fff\"/><path d=\"M42.30227,27.13965h-4.7334l-1.13672,3.35645H34.42727l4.4834-12.418h2.083l4.4834,12.418H43.438ZM38.0591,25.59082h3.752l-1.84961-5.44727h-.05176Z\" fill=\"#fff\"/><path d=\"M55.15969,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H48.4302v1.50586h.03418a3.21162,3.21162,0,0,1,2.88281-1.60059C53.645,21.34766,55.15969,23.16406,55.15969,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C52.30227,29.01563,53.24953,27.81934,53.24953,25.96973Z\" fill=\"#fff\"/><path d=\"M65.12453,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H58.395v1.50586h.03418A3.21162,3.21162,0,0,1,61.312,21.34766C63.60988,21.34766,65.12453,23.16406,65.12453,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C62.26711,29.01563,63.21438,27.81934,63.21438,25.96973Z\" fill=\"#fff\"/><path d=\"M71.71047,27.03613c.1377,1.23145,1.334,2.04,2.96875,2.04,1.56641,0,2.69336-.80859,2.69336-1.91895,0-.96387-.67969-1.541-2.28906-1.93652l-1.60937-.3877c-2.28027-.55078-3.33887-1.61719-3.33887-3.34766,0-2.14258,1.86719-3.61426,4.51855-3.61426,2.624,0,4.42285,1.47168,4.4834,3.61426h-1.876c-.1123-1.23926-1.13672-1.9873-2.63379-1.9873s-2.52148.75684-2.52148,1.8584c0,.87793.6543,1.39453,2.25488,1.79l1.36816.33594c2.54785.60254,3.60645,1.626,3.60645,3.44238,0,2.32324-1.85059,3.77832-4.79395,3.77832-2.75391,0-4.61328-1.4209-4.7334-3.667Z\" fill=\"#fff\"/><path d=\"M83.34621,19.2998v2.14258h1.72168v1.47168H83.34621v4.99121c0,.77539.34473,1.13672,1.10156,1.13672a5.80752,5.80752,0,0,0,.61133-.043v1.46289a5.10351,5.10351,0,0,1-1.03223.08594c-1.833,0-2.54785-.68848-2.54785-2.44434V22.91406H80.16262V21.44238H81.479V19.2998Z\" fill=\"#fff\"/><path d=\"M86.065,25.96973c0-2.84863,1.67773-4.63867,4.29395-4.63867,2.625,0,4.29492,1.79,4.29492,4.63867,0,2.85645-1.66113,4.63867-4.29492,4.63867C87.72609,30.6084,86.065,28.82617,86.065,25.96973Zm6.69531,0c0-1.9541-.89551-3.10742-2.40137-3.10742s-2.40039,1.16211-2.40039,3.10742c0,1.96191.89453,3.10645,2.40039,3.10645S92.76027,27.93164,92.76027,25.96973Z\" fill=\"#fff\"/><path d=\"M96.18606,21.44238h1.77246v1.541h.043a2.1594,2.1594,0,0,1,2.17773-1.63574,2.86616,2.86616,0,0,1,.63672.06934v1.73828a2.59794,2.59794,0,0,0-.835-.1123,1.87264,1.87264,0,0,0-1.93652,2.083v5.37012h-1.8584Z\" fill=\"#fff\"/><path d=\"M109.3843,27.83691c-.25,1.64355-1.85059,2.77148-3.89844,2.77148-2.63379,0-4.26855-1.76465-4.26855-4.5957,0-2.83984,1.64355-4.68164,4.19043-4.68164,2.50488,0,4.08008,1.7207,4.08008,4.46582v.63672h-6.39453v.1123a2.358,2.358,0,0,0,2.43555,2.56445,2.04834,2.04834,0,0,0,2.09082-1.27344Zm-6.28223-2.70215h4.52637a2.1773,2.1773,0,0,0-2.2207-2.29785A2.292,2.292,0,0,0,103.10207,25.13477Z\" fill=\"#fff\"/><path d=\"M37.82619,8.731a2.63964,2.63964,0,0,1,2.80762,2.96484c0,1.90625-1.03027,3.002-2.80762,3.002H35.67092V8.731Zm-1.22852,5.123h1.125a1.87588,1.87588,0,0,0,1.96777-2.146,1.881,1.881,0,0,0-1.96777-2.13379h-1.125Z\" fill=\"#fff\"/><path d=\"M41.68068,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C44.57522,13.99463,45.01369,13.42432,45.01369,12.44434Z\" fill=\"#fff\"/><path d=\"M51.57326,14.69775h-.92187l-.93066-3.31641h-.07031l-.92676,3.31641h-.91309l-1.24121-4.50293h.90137l.80664,3.436h.06641l.92578-3.436h.85254l.92578,3.436h.07031l.80273-3.436h.88867Z\" fill=\"#fff\"/><path d=\"M53.85354,10.19482H54.709v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915h-.88867V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z\" fill=\"#fff\"/><path d=\"M59.09377,8.437h.88867v6.26074h-.88867Z\" fill=\"#fff\"/><path d=\"M61.21779,12.44434a2.13346,2.13346,0,1,1,4.24756,0,2.1338,2.1338,0,1,1-4.24756,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C64.11232,13.99463,64.5508,13.42432,64.5508,12.44434Z\" fill=\"#fff\"/><path d=\"M66.4009,13.42432c0-.81055.60352-1.27783,1.6748-1.34424l1.21973-.07031v-.38867c0-.47559-.31445-.74414-.92187-.74414-.49609,0-.83984.18213-.93848.50049h-.86035c.09082-.77344.81836-1.26953,1.83984-1.26953,1.12891,0,1.76563.562,1.76563,1.51318v3.07666h-.85547v-.63281h-.07031a1.515,1.515,0,0,1-1.35254.707A1.36026,1.36026,0,0,1,66.4009,13.42432Zm2.89453-.38477v-.37646l-1.09961.07031c-.62012.0415-.90137.25244-.90137.64941,0,.40527.35156.64111.835.64111A1.0615,1.0615,0,0,0,69.29543,13.03955Z\" fill=\"#fff\"/><path d=\"M71.34816,12.44434c0-1.42285.73145-2.32422,1.86914-2.32422a1.484,1.484,0,0,1,1.38086.79h.06641V8.437h.88867v6.26074h-.85156v-.71143h-.07031a1.56284,1.56284,0,0,1-1.41406.78564C72.0718,14.772,71.34816,13.87061,71.34816,12.44434Zm.918,0c0,.95508.4502,1.52979,1.20313,1.52979.749,0,1.21191-.583,1.21191-1.52588,0-.93848-.46777-1.52979-1.21191-1.52979C72.72121,10.91846,72.26613,11.49707,72.26613,12.44434Z\" fill=\"#fff\"/><path d=\"M79.23,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C82.12453,13.99463,82.563,13.42432,82.563,12.44434Z\" fill=\"#fff\"/><path d=\"M84.66945,10.19482h.85547v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915H87.605V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z\" fill=\"#fff\"/><path d=\"M93.51516,9.07373v1.1416h.97559v.74854h-.97559V13.2793c0,.47168.19434.67822.63672.67822a2.96657,2.96657,0,0,0,.33887-.02051v.74023a2.9155,2.9155,0,0,1-.4834.04541c-.98828,0-1.38184-.34766-1.38184-1.21582v-2.543h-.71484v-.74854h.71484V9.07373Z\" fill=\"#fff\"/><path d=\"M95.70461,8.437h.88086v2.48145h.07031a1.3856,1.3856,0,0,1,1.373-.80664,1.48339,1.48339,0,0,1,1.55078,1.67871v2.90723H98.69v-2.688c0-.71924-.335-1.0835-.96289-1.0835a1.05194,1.05194,0,0,0-1.13379,1.1416v2.62988h-.88867Z\" fill=\"#fff\"/><path d=\"M104.76125,13.48193a1.828,1.828,0,0,1-1.95117,1.30273A2.04531,2.04531,0,0,1,100.73,12.46045a2.07685,2.07685,0,0,1,2.07617-2.35254c1.25293,0,2.00879.856,2.00879,2.27V12.688h-3.17969v.0498a1.1902,1.1902,0,0,0,1.19922,1.29,1.07934,1.07934,0,0,0,1.07129-.5459Zm-3.126-1.45117h2.27441a1.08647,1.08647,0,0,0-1.1084-1.1665A1.15162,1.15162,0,0,0,101.63527,12.03076Z\" fill=\"#fff\"/></svg>`,\n}\n\nexport const GOOGLE_PLAY_BADGE = {\n ariaLabel: \"Get it on Google Play\",\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 238.96 70.87\" role=\"img\" aria-hidden=\"true\"><rect x=\"-.11\" width=\"239.17\" height=\"70.87\" rx=\"8.86\" ry=\"8.86\"/><path fill=\"#a6a6a6\" d=\"M230.21,1.42c4.1,0,7.44,3.34,7.44,7.44v53.15c0,4.1-3.34,7.44-7.44,7.44H8.75c-4.1,0-7.44-3.34-7.44-7.44V8.86C1.31,4.76,4.65,1.42,8.75,1.42h221.46M230.21,0H8.75C3.88,0-.11,3.99-.11,8.86v53.15c0,4.87,3.99,8.86,8.86,8.86h221.46c4.87,0,8.86-3.99,8.86-8.86V8.86c0-4.87-3.99-8.86-8.86-8.86h0Z\"/><g fill=\"#fff\" stroke=\"#fff\" stroke-miterlimit=\"10\" stroke-width=\"0.2\"><path d=\"M83.9,18.15c0,1.48-.44,2.67-1.32,3.55-1,1.05-2.3,1.57-3.9,1.57s-2.84-.53-3.91-1.59c-1.07-1.06-1.61-2.38-1.61-3.96s.54-2.89,1.61-3.96c1.07-1.06,2.38-1.6,3.91-1.6.76,0,1.49.15,2.18.44.69.3,1.25.69,1.66,1.19l-.93.94c-.7-.84-1.67-1.26-2.91-1.26-1.12,0-2.09.39-2.9,1.18s-1.22,1.81-1.22,3.06.41,2.28,1.22,3.06c.82.79,1.78,1.18,2.9,1.18,1.19,0,2.18-.4,2.97-1.19.51-.52.81-1.23.89-2.15h-3.86v-1.28h5.15c.05.28.07.54.07.8Z\"/><path d=\"M92.07,13.71h-4.84v3.37h4.37v1.28h-4.37v3.37h4.84v1.31h-6.21v-10.63h6.21v1.31h0Z\"/><path d=\"M97.83,23.03h-1.37v-9.32h-2.97v-1.31h7.3v1.31h-2.97s0,9.32,0,9.32Z\"/><path d=\"M106.08,23.03v-10.63h1.36v10.63h-1.36Z\"/><path d=\"M113.51,23.03h-1.37v-9.32h-2.97v-1.31h7.3v1.31h-2.97s0,9.32,0,9.32Z\"/><path d=\"M130.3,21.66c-1.05,1.08-2.34,1.61-3.9,1.61s-2.85-.54-3.9-1.61c-1.05-1.07-1.57-2.39-1.57-3.94s.52-2.87,1.57-3.94c1.04-1.08,2.34-1.61,3.9-1.61s2.84.54,3.89,1.62c1.05,1.08,1.57,2.39,1.57,3.93s-.52,2.87-1.57,3.94ZM123.52,20.77c.79.8,1.75,1.19,2.89,1.19s2.1-.4,2.89-1.19c.79-.8,1.18-1.81,1.18-3.05s-.4-2.26-1.18-3.05c-.78-.8-1.75-1.19-2.89-1.19s-2.1.4-2.89,1.19c-.78.8-1.18,1.81-1.18,3.05s.4,2.26,1.18,3.05Z\"/><path d=\"M133.79,23.03v-10.63h1.66l5.17,8.27h.06l-.06-2.05v-6.22h1.37v10.63h-1.43l-5.41-8.67h-.06l.06,2.05v6.62h-1.37,0Z\"/></g><path fill=\"#fff\" d=\"M120.61,38.54c-4.17,0-7.56,3.17-7.56,7.53s3.4,7.53,7.56,7.53,7.56-3.2,7.56-7.53-3.4-7.53-7.56-7.53ZM120.61,50.64c-2.28,0-4.25-1.88-4.25-4.57s1.97-4.57,4.25-4.57,4.25,1.85,4.25,4.57-1.97,4.57-4.25,4.57ZM104.11,38.54c-4.17,0-7.56,3.17-7.56,7.53s3.4,7.53,7.56,7.53,7.56-3.2,7.56-7.53-3.4-7.53-7.56-7.53ZM104.11,50.64c-2.28,0-4.25-1.88-4.25-4.57s1.97-4.57,4.25-4.57,4.25,1.85,4.25,4.57-1.97,4.57-4.25,4.57ZM84.48,40.85v3.2h7.65c-.23,1.8-.83,3.11-1.74,4.03-1.11,1.11-2.85,2.34-5.91,2.34-4.71,0-8.39-3.8-8.39-8.51s3.68-8.51,8.39-8.51c2.54,0,4.4,1,5.76,2.28l2.26-2.26c-1.91-1.83-4.45-3.22-8.02-3.22-6.45,0-11.87,5.25-11.87,11.7s5.42,11.7,11.87,11.7c3.48,0,6.11-1.14,8.16-3.28,2.11-2.11,2.77-5.08,2.77-7.48,0-.74-.06-1.43-.17-2h-10.76,0ZM164.75,43.33c-.63-1.68-2.54-4.8-6.45-4.8s-7.11,3.05-7.11,7.53c0,4.22,3.2,7.53,7.48,7.53,3.45,0,5.45-2.11,6.28-3.34l-2.57-1.71c-.86,1.26-2.03,2.08-3.71,2.08s-2.88-.77-3.65-2.28l10.08-4.17-.34-.86h0ZM154.47,45.84c-.09-2.91,2.26-4.4,3.94-4.4,1.31,0,2.43.66,2.8,1.6l-6.74,2.8ZM146.28,53.15h3.31v-22.15h-3.31v22.15ZM140.86,40.22h-.11c-.74-.88-2.17-1.68-3.97-1.68-3.77,0-7.22,3.31-7.22,7.56s3.45,7.51,7.22,7.51c1.8,0,3.22-.8,3.97-1.71h.11v1.08c0,2.88-1.54,4.42-4.03,4.42-2.03,0-3.28-1.46-3.8-2.68l-2.88,1.2c.83,2,3.03,4.45,6.68,4.45,3.88,0,7.16-2.28,7.16-7.85v-13.53h-3.14v1.23ZM137.06,50.64c-2.28,0-4.2-1.91-4.2-4.54s1.91-4.6,4.2-4.6,4.03,1.94,4.03,4.6-1.77,4.54-4.03,4.54ZM180.26,31h-7.92v22.15h3.31v-8.39h4.62c3.66,0,7.27-2.65,7.27-6.88s-3.6-6.88-7.27-6.88ZM180.34,41.68h-4.7v-7.59h4.7c2.47,0,3.87,2.05,3.87,3.8s-1.4,3.8-3.87,3.8h0ZM200.77,38.5c-2.39,0-4.87,1.05-5.9,3.39l2.94,1.23c.63-1.23,1.79-1.62,3.02-1.62,1.71,0,3.45,1.03,3.48,2.85v.23c-.6-.34-1.88-.86-3.45-.86-3.16,0-6.38,1.74-6.38,4.99,0,2.96,2.59,4.87,5.5,4.87,2.22,0,3.45-1,4.22-2.16h.11v1.71h3.19v-8.49c0-3.93-2.94-6.13-6.73-6.13h0ZM200.38,50.63c-1.08,0-2.59-.54-2.59-1.88,0-1.71,1.88-2.37,3.5-2.37,1.45,0,2.14.31,3.02.74-.26,2.05-2.02,3.5-3.93,3.5ZM219.12,38.98l-3.79,9.6h-.11l-3.93-9.6h-3.56l5.9,13.42-3.36,7.47h3.45l9.09-20.89h-3.68ZM189.35,53.15h3.31v-22.15h-3.31v22.15Z\"/><path fill=\"#ea4335\" d=\"M36.6,34.41l-18.86,20.02s0,0,0,.01c.58,2.17,2.56,3.77,4.92,3.77.94,0,1.83-.26,2.58-.7l.06-.04,21.23-12.25-9.94-10.82Z\"/><path fill=\"#fbbc04\" d=\"M55.68,31h-.02s-9.17-5.33-9.17-5.33l-10.33,9.19,10.36,10.36,9.12-5.26c1.6-.86,2.68-2.55,2.68-4.49s-1.07-3.61-2.65-4.47h0Z\"/><path fill=\"#4285f4\" d=\"M17.73,16.44c-.11.42-.17.86-.17,1.31v35.38c0,.45.06.89.17,1.31l19.51-19.51-19.51-18.49Z\"/><path fill=\"#34a853\" d=\"M36.74,35.43l9.76-9.76-21.21-12.3c-.77-.46-1.67-.73-2.63-.73-2.36,0-4.34,1.6-4.92,3.78h0s19,19,19,19h0Z\"/></svg>`,\n}\n","@layer zkpassport {\n /* \"Verify with ZKPassport\" button (opens the hosted popup).\n Customize via CSS custom properties on the mount element or any ancestor:\n --zkp-btn-bg/-fg/-border-color/-radius/-padding/-font/-font-size/-letter-spacing/\n -text-transform, and --zkp-btn-success/-error for the verified and failed states.\n Sizing hangs off --zkp-btn-font-size: the icon, gap and padding are all in em.\n\n !important throughout: host resets (e.g. Tailwind preflight) are unlayered\n and would otherwise strip these. */\n .zkp-verify-button {\n --zkp-bg: #ffffff;\n --zkp-brand: #2139a3;\n --zkp-border: #d3d9e8;\n appearance: none !important;\n -webkit-appearance: none !important;\n -webkit-tap-highlight-color: transparent !important;\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: var(--zkp-btn-padding, 0.8667em 1.6em) !important;\n border: 1px solid var(--zkp-btn-border-color, var(--zkp-border)) !important;\n border-radius: var(--zkp-btn-radius, 8px) !important;\n background: var(--zkp-btn-bg, var(--zkp-bg)) !important;\n color: var(--zkp-btn-fg, var(--zkp-brand)) !important;\n font-family: var(\n --zkp-btn-font,\n ui-sans-serif,\n system-ui,\n -apple-system,\n sans-serif\n ) !important;\n font-size: var(--zkp-btn-font-size, 15px) !important;\n white-space: nowrap !important;\n font-weight: 600 !important;\n letter-spacing: var(--zkp-btn-letter-spacing, 0.04em) !important;\n text-transform: var(--zkp-btn-text-transform, none) !important;\n line-height: 1.2 !important;\n cursor: pointer !important;\n transition:\n filter 150ms ease,\n transform 150ms ease;\n }\n .zkp-verify-wrap[data-theme=\"dark\"] .zkp-verify-button {\n --zkp-bg: #0f172a;\n --zkp-brand: #93b0f5;\n --zkp-border: #334155;\n }\n @media (prefers-color-scheme: dark) {\n .zkp-verify-wrap[data-theme=\"auto\"] .zkp-verify-button {\n --zkp-bg: #0f172a;\n --zkp-brand: #93b0f5;\n --zkp-border: #334155;\n }\n }\n .zkp-verify-button:hover:not(:disabled) {\n filter: brightness(0.97);\n }\n .zkp-verify-button:active:not(:disabled) {\n transform: translateY(1px);\n filter: brightness(0.95);\n }\n /* Both states share one grid cell, so the button is as wide as the longer of the two\n and never resizes when it switches to \"Verified\" */\n .zkp-verify-content {\n display: grid !important;\n grid-template-areas: \"state\" !important;\n justify-items: center !important;\n }\n .zkp-verify-state {\n grid-area: state !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 0.7333em !important;\n }\n .zkp-verify-button:not([data-status=\"success\"]) .zkp-verify-state-success,\n .zkp-verify-button[data-status=\"success\"] .zkp-verify-state-default {\n visibility: hidden !important;\n }\n .zkp-verify-button-mark {\n position: relative;\n display: inline-flex;\n width: 1.3333em;\n height: 1.3333em;\n flex: none;\n }\n .zkp-verify-button-mark svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n /* !important: unlayered host resets (Tailwind preflight sets border-width: 0\n on all ::after elements) would otherwise erase the ring */\n .zkp-verify-button[data-status=\"in-progress\"] .zkp-verify-button-mark::after {\n content: \"\" !important;\n position: absolute !important;\n inset: -0.3333em !important;\n border-radius: 50% !important;\n border: 0.1333em solid color-mix(in srgb, currentColor 35%, transparent) !important;\n border-top-color: currentColor !important;\n box-sizing: border-box !important;\n animation: zkp-spinner-rotate 0.9s linear infinite !important;\n }\n .zkp-verify-wrap {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n --zkp-success: #15803d;\n --zkp-error: #dc2626;\n }\n .zkp-verify-wrap[data-theme=\"dark\"] {\n --zkp-success: #4ade80;\n --zkp-error: #f87171;\n }\n @media (prefers-color-scheme: dark) {\n .zkp-verify-wrap[data-theme=\"auto\"] {\n --zkp-success: #4ade80;\n --zkp-error: #f87171;\n }\n }\n .zkp-verify-error {\n margin: 0 !important;\n font-family: ui-sans-serif, system-ui, sans-serif !important;\n font-size: 12.5px !important;\n line-height: 1.4 !important;\n color: var(--zkp-btn-error, var(--zkp-error)) !important;\n }\n .zkp-verify-button:disabled {\n cursor: default !important;\n transform: none !important;\n }\n /* Only the waiting state is dimmed; success is an outcome, not an unavailable button */\n .zkp-verify-button[data-status=\"in-progress\"] {\n opacity: 0.65 !important;\n filter: saturate(0.75) !important;\n }\n .zkp-verify-button[data-status=\"success\"] {\n color: var(--zkp-btn-success, var(--zkp-success)) !important;\n }\n\n @keyframes zkp-spinner-rotate {\n to {\n transform: rotate(360deg);\n }\n }\n}\n","// One <style> tag per stylesheet key, deduped across mounts and kept in sync\n// when a stale tag from another bundle copy (hot reload, multiple widget\n// versions) is already on the page.\nconst injectedKeys = new Set<string>()\n\nexport function injectStylesheet(css: string, key: string): void {\n if (injectedKeys.has(key) || typeof document === \"undefined\") return\n const selector = `style[data-zkpassport-ui=\"${key}\"]`\n const existing = document.querySelector(selector)\n if (existing) {\n if (existing.textContent !== css) {\n existing.textContent = css\n }\n injectedKeys.add(key)\n return\n }\n const style = document.createElement(\"style\")\n style.setAttribute(\"data-zkpassport-ui\", key)\n style.textContent = css\n document.head.appendChild(style)\n injectedKeys.add(key)\n}\n","{\n \"locale\": \"en\",\n \"countries\": {\n \"AF\": \"Afghanistan\",\n \"AL\": \"Albania\",\n \"DZ\": \"Algeria\",\n \"AS\": \"American Samoa\",\n \"AD\": \"Andorra\",\n \"AO\": \"Angola\",\n \"AI\": \"Anguilla\",\n \"AQ\": \"Antarctica\",\n \"AG\": \"Antigua and Barbuda\",\n \"AR\": \"Argentina\",\n \"AM\": \"Armenia\",\n \"AW\": \"Aruba\",\n \"AU\": \"Australia\",\n \"AT\": \"Austria\",\n \"AZ\": \"Azerbaijan\",\n \"BS\": \"Bahamas\",\n \"BH\": \"Bahrain\",\n \"BD\": \"Bangladesh\",\n \"BB\": \"Barbados\",\n \"BY\": \"Belarus\",\n \"BE\": \"Belgium\",\n \"BZ\": \"Belize\",\n \"BJ\": \"Benin\",\n \"BM\": \"Bermuda\",\n \"BT\": \"Bhutan\",\n \"BO\": \"Bolivia\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"BW\": \"Botswana\",\n \"BV\": \"Bouvet Island\",\n \"BR\": \"Brazil\",\n \"IO\": \"British Indian Ocean Territory\",\n \"BN\": \"Brunei Darussalam\",\n \"BG\": \"Bulgaria\",\n \"BF\": \"Burkina Faso\",\n \"BI\": \"Burundi\",\n \"KH\": \"Cambodia\",\n \"CM\": \"Cameroon\",\n \"CA\": \"Canada\",\n \"CV\": \"Cape Verde\",\n \"KY\": \"Cayman Islands\",\n \"CF\": \"Central African Republic\",\n \"TD\": \"Chad\",\n \"CL\": \"Chile\",\n \"CN\": [\"People's Republic of China\", \"China\"],\n \"CX\": \"Christmas Island\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CO\": \"Colombia\",\n \"KM\": \"Comoros\",\n \"CG\": [\"Republic of the Congo\", \"Congo\"],\n \"CD\": [\"Democratic Republic of the Congo\", \"Congo\"],\n \"CK\": \"Cook Islands\",\n \"CR\": \"Costa Rica\",\n \"CI\": [\"Cote d'Ivoire\", \"Côte d'Ivoire\", \"Ivory Coast\"],\n \"HR\": \"Croatia\",\n \"CU\": \"Cuba\",\n \"CY\": \"Cyprus\",\n \"CZ\": [\"Czech Republic\", \"Czechia\"],\n \"DK\": \"Denmark\",\n \"DJ\": \"Djibouti\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"EC\": \"Ecuador\",\n \"EG\": \"Egypt\",\n \"SV\": \"El Salvador\",\n \"GQ\": \"Equatorial Guinea\",\n \"ER\": \"Eritrea\",\n \"EE\": \"Estonia\",\n \"ET\": \"Ethiopia\",\n \"FK\": \"Falkland Islands (Malvinas)\",\n \"FO\": \"Faroe Islands\",\n \"FJ\": \"Fiji\",\n \"FI\": \"Finland\",\n \"FR\": \"France\",\n \"GF\": \"French Guiana\",\n \"PF\": \"French Polynesia\",\n \"TF\": \"French Southern Territories\",\n \"GA\": \"Gabon\",\n \"GM\": [\"Republic of The Gambia\", \"The Gambia\", \"Gambia\"],\n \"GE\": \"Georgia\",\n \"DE\": \"Germany\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GR\": \"Greece\",\n \"GL\": \"Greenland\",\n \"GD\": \"Grenada\",\n \"GP\": \"Guadeloupe\",\n \"GU\": \"Guam\",\n \"GT\": \"Guatemala\",\n \"GN\": \"Guinea\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HT\": \"Haiti\",\n \"HM\": \"Heard Island and McDonald Islands\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"HN\": \"Honduras\",\n \"HK\": \"Hong Kong\",\n \"HU\": \"Hungary\",\n \"IS\": \"Iceland\",\n \"IN\": \"India\",\n \"ID\": \"Indonesia\",\n \"IR\": [\"Islamic Republic of Iran\", \"Iran\"],\n \"IQ\": \"Iraq\",\n \"IE\": \"Ireland\",\n \"IL\": \"Israel\",\n \"IT\": \"Italy\",\n \"JM\": \"Jamaica\",\n \"JP\": \"Japan\",\n \"JO\": \"Jordan\",\n \"KZ\": \"Kazakhstan\",\n \"KE\": \"Kenya\",\n \"KI\": \"Kiribati\",\n \"KP\": \"North Korea\",\n \"KR\": [\"South Korea\", \"Korea, Republic of\", \"Republic of Korea\"],\n \"KW\": \"Kuwait\",\n \"KG\": \"Kyrgyzstan\",\n \"LA\": \"Lao People's Democratic Republic\",\n \"LV\": \"Latvia\",\n \"LB\": \"Lebanon\",\n \"LS\": \"Lesotho\",\n \"LR\": \"Liberia\",\n \"LY\": \"Libya\",\n \"LI\": \"Liechtenstein\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"MO\": \"Macao\",\n \"MG\": \"Madagascar\",\n \"MW\": \"Malawi\",\n \"MY\": \"Malaysia\",\n \"MV\": \"Maldives\",\n \"ML\": \"Mali\",\n \"MT\": \"Malta\",\n \"MH\": \"Marshall Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MU\": \"Mauritius\",\n \"YT\": \"Mayotte\",\n \"MX\": \"Mexico\",\n \"FM\": \"Micronesia, Federated States of\",\n \"MD\": \"Moldova, Republic of\",\n \"MC\": \"Monaco\",\n \"MN\": \"Mongolia\",\n \"MS\": \"Montserrat\",\n \"MA\": \"Morocco\",\n \"MZ\": \"Mozambique\",\n \"MM\": \"Myanmar\",\n \"NA\": \"Namibia\",\n \"NR\": \"Nauru\",\n \"NP\": \"Nepal\",\n \"NL\": [\"Netherlands\", \"The Netherlands\", \"Netherlands (Kingdom of the)\"],\n \"NC\": \"New Caledonia\",\n \"NZ\": \"New Zealand\",\n \"NI\": \"Nicaragua\",\n \"NE\": \"Niger\",\n \"NG\": \"Nigeria\",\n \"NU\": \"Niue\",\n \"NF\": \"Norfolk Island\",\n \"MK\": [\"The Republic of North Macedonia\", \"North Macedonia\"],\n \"MP\": \"Northern Mariana Islands\",\n \"NO\": \"Norway\",\n \"OM\": \"Oman\",\n \"PK\": \"Pakistan\",\n \"PW\": \"Palau\",\n \"PS\": [\"State of Palestine\", \"Palestine\"],\n \"PA\": \"Panama\",\n \"PG\": \"Papua New Guinea\",\n \"PY\": \"Paraguay\",\n \"PE\": \"Peru\",\n \"PH\": \"Philippines\",\n \"PN\": [\"Pitcairn\", \"Pitcairn Islands\"],\n \"PL\": \"Poland\",\n \"PT\": \"Portugal\",\n \"PR\": \"Puerto Rico\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RU\": [\"Russian Federation\", \"Russia\"],\n \"RW\": \"Rwanda\",\n \"SH\": \"Saint Helena\",\n \"KN\": \"Saint Kitts and Nevis\",\n \"LC\": \"Saint Lucia\",\n \"PM\": \"Saint Pierre and Miquelon\",\n \"VC\": \"Saint Vincent and the Grenadines\",\n \"WS\": \"Samoa\",\n \"SM\": \"San Marino\",\n \"ST\": \"Sao Tome and Principe\",\n \"SA\": \"Saudi Arabia\",\n \"SN\": \"Senegal\",\n \"SC\": \"Seychelles\",\n \"SL\": \"Sierra Leone\",\n \"SG\": \"Singapore\",\n \"SK\": \"Slovakia\",\n \"SI\": \"Slovenia\",\n \"SB\": \"Solomon Islands\",\n \"SO\": \"Somalia\",\n \"ZA\": \"South Africa\",\n \"GS\": \"South Georgia and the South Sandwich Islands\",\n \"ES\": \"Spain\",\n \"LK\": \"Sri Lanka\",\n \"SD\": \"Sudan\",\n \"SR\": \"Suriname\",\n \"SJ\": \"Svalbard and Jan Mayen\",\n \"SZ\": \"Eswatini\",\n \"SE\": \"Sweden\",\n \"CH\": \"Switzerland\",\n \"SY\": \"Syrian Arab Republic\",\n \"TW\": [\"Taiwan, Province of China\", \"Taiwan\"],\n \"TJ\": \"Tajikistan\",\n \"TZ\": [\"United Republic of Tanzania\", \"Tanzania\"],\n \"TH\": \"Thailand\",\n \"TL\": \"Timor-Leste\",\n \"TG\": \"Togo\",\n \"TK\": \"Tokelau\",\n \"TO\": \"Tonga\",\n \"TT\": \"Trinidad and Tobago\",\n \"TN\": \"Tunisia\",\n \"TR\": [\"Türkiye\",\"Turkey\"],\n \"TM\": \"Turkmenistan\",\n \"TC\": \"Turks and Caicos Islands\",\n \"TV\": \"Tuvalu\",\n \"UG\": \"Uganda\",\n \"UA\": \"Ukraine\",\n \"AE\": [\"United Arab Emirates\", \"UAE\"],\n \"GB\": [\"United Kingdom\", \"UK\", \"Great Britain\"],\n \"US\": [\"United States of America\", \"United States\", \"USA\", \"U.S.A.\", \"US\", \"U.S.\"],\n \"UM\": \"United States Minor Outlying Islands\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VU\": \"Vanuatu\",\n \"VE\": \"Venezuela\",\n \"VN\": \"Vietnam\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"WF\": \"Wallis and Futuna\",\n \"EH\": \"Western Sahara\",\n \"YE\": \"Yemen\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\",\n \"AX\": [\"Åland Islands\", \"Aland Islands\"],\n \"BQ\": \"Bonaire, Sint Eustatius and Saba\",\n \"CW\": \"Curaçao\",\n \"GG\": \"Guernsey\",\n \"IM\": \"Isle of Man\",\n \"JE\": \"Jersey\",\n \"ME\": \"Montenegro\",\n \"BL\": \"Saint Barthélemy\",\n \"MF\": \"Saint Martin (French part)\",\n \"RS\": \"Serbia\",\n \"SX\": \"Sint Maarten (Dutch part)\",\n \"SS\": \"South Sudan\",\n \"XK\": \"Kosovo\"\n }\n}\n","import { Alpha3Code, getAlpha3Code, registerLocale } from \"i18n-iso-countries\"\nimport i18en from \"i18n-iso-countries/langs/en.json\"\nimport type {\n BoundData,\n CountryName,\n DisclosableIDCredential,\n FacematchMode,\n IDCredential,\n IDCredentialValue,\n NumericalIDCredential,\n Query,\n SanctionsCountries,\n SanctionsLists,\n SupportedChain,\n} from \"@zkpassport/utils\"\nimport type { OfflineQueryBuilderResult, QueryBuilder } from \"./types\"\n\n// Country-name normalization needs the English locale registered (idempotent)\nregisterLocale(i18en)\n\nexport function normalizeCountry(country: CountryName | Alpha3Code) {\n if (country === \"Zero Knowledge Republic\") {\n return \"ZKR\"\n }\n let normalizedCountry: Alpha3Code | \"ZKR\" | undefined = undefined\n const alpha3 = getAlpha3Code(country as CountryName, \"en\") as Alpha3Code | \"ZKR\" | undefined\n normalizedCountry = alpha3 || (country as Alpha3Code) || \"ZKR\"\n return normalizedCountry as Alpha3Code | \"ZKR\"\n}\n\nexport function numericalCompare(\n fnName: \"gte\" | \"gt\" | \"lte\" | \"lt\",\n key: NumericalIDCredential,\n value: number | Date,\n requestId: string,\n requestIdToConfig: Record<string, Query>,\n) {\n requestIdToConfig[requestId][key] = {\n ...requestIdToConfig[requestId][key],\n [fnName]: value,\n }\n}\n\nexport function rangeCompare(\n key: NumericalIDCredential,\n value: [number | Date, number | Date],\n requestId: string,\n requestIdToConfig: Record<string, Query>,\n) {\n requestIdToConfig[requestId][key] = {\n ...requestIdToConfig[requestId][key],\n range: value,\n }\n}\n\nexport function generalCompare(\n fnName: \"in\" | \"out\" | \"eq\",\n key: IDCredential,\n value: any, // eslint-disable-line\n requestId: string,\n requestIdToConfig: Record<string, Query>,\n) {\n requestIdToConfig[requestId][key] = {\n ...requestIdToConfig[requestId][key],\n [fnName]: value,\n }\n}\n\n// Same Query output as request()'s builder, with no bridge/network/class deps\nexport function createOfflineQuery(): QueryBuilder<\"offline\"> {\n const config: Record<string, Query> = { query: {} }\n const topic = \"query\"\n let hasConditions = false\n\n const assertNotPolicyLocked = (method: string) => {\n if (config[topic].policy) {\n throw new Error(\n `Cannot call .${method}() on a policy-driven query. The query for policy '${config[topic].policy}' is immutable.`,\n )\n }\n hasConditions = true\n }\n\n const builder: QueryBuilder<\"offline\"> = {\n eq: <T extends IDCredential>(key: T, value: IDCredentialValue<T>) => {\n assertNotPolicyLocked(\"eq\")\n if (key === \"issuing_country\" || key === \"nationality\") {\n value = normalizeCountry(value as CountryName) as IDCredentialValue<T>\n }\n generalCompare(\"eq\", key, value, topic, config)\n return builder as unknown as QueryBuilder\n },\n gte: <T extends NumericalIDCredential>(key: T, value: IDCredentialValue<T>) => {\n assertNotPolicyLocked(\"gte\")\n numericalCompare(\"gte\", key, value, topic, config)\n if (key === \"age\" && ((value as number) < 1 || (value as number) >= 100)) {\n throw new Error(\"Age must be between 1 and 99 (inclusive)\")\n }\n return builder as unknown as QueryBuilder\n },\n gt: <T extends NumericalIDCredential>(key: T, value: IDCredentialValue<T>) => {\n assertNotPolicyLocked(\"gt\")\n numericalCompare(\"gt\", key, value, topic, config)\n return builder as unknown as QueryBuilder\n },\n lte: <T extends NumericalIDCredential>(key: T, value: IDCredentialValue<T>) => {\n assertNotPolicyLocked(\"lte\")\n numericalCompare(\"lte\", key, value, topic, config)\n return builder as unknown as QueryBuilder\n },\n lt: <T extends NumericalIDCredential>(key: T, value: IDCredentialValue<T>) => {\n assertNotPolicyLocked(\"lt\")\n numericalCompare(\"lt\", key, value, topic, config)\n return builder as unknown as QueryBuilder\n },\n range: <T extends NumericalIDCredential>(\n key: T,\n start: IDCredentialValue<T>,\n end: IDCredentialValue<T>,\n ) => {\n assertNotPolicyLocked(\"range\")\n rangeCompare(key, [start, end], topic, config)\n return builder as unknown as QueryBuilder\n },\n in: <T extends \"nationality\" | \"issuing_country\">(key: T, value: IDCredentialValue<T>[]) => {\n assertNotPolicyLocked(\"in\")\n value = value.map((v) => normalizeCountry(v as CountryName)) as IDCredentialValue<T>[]\n generalCompare(\"in\", key, value, topic, config)\n return builder as unknown as QueryBuilder\n },\n out: <T extends \"nationality\" | \"issuing_country\">(key: T, value: IDCredentialValue<T>[]) => {\n assertNotPolicyLocked(\"out\")\n value = value.map((v) => normalizeCountry(v as CountryName)) as IDCredentialValue<T>[]\n generalCompare(\"out\", key, value, topic, config)\n return builder as unknown as QueryBuilder\n },\n disclose: (key: DisclosableIDCredential) => {\n assertNotPolicyLocked(\"disclose\")\n config[topic][key] = {\n ...config[topic][key],\n disclose: true,\n }\n return builder as unknown as QueryBuilder\n },\n bind: <T extends keyof BoundData>(\n key: T,\n value: T extends \"chain\"\n ? SupportedChain\n : T extends \"user_address\"\n ? `0x${string}`\n : string | undefined,\n ) => {\n // Runtime payload: composes with policies (it only adds committed data)\n config[topic].bind = {\n ...config[topic].bind,\n [key]: value,\n }\n return builder as unknown as QueryBuilder\n },\n sanctions: (\n countries: SanctionsCountries = \"all\",\n lists: SanctionsLists = \"all\",\n options: { strict?: boolean } = { strict: false },\n ) => {\n assertNotPolicyLocked(\"sanctions\")\n config[topic].sanctions = {\n ...config[topic].sanctions,\n countries,\n lists,\n strict: options.strict ?? false,\n }\n return builder as unknown as QueryBuilder\n },\n facematch: (mode: FacematchMode = \"strict\") => {\n assertNotPolicyLocked(\"facematch\")\n config[topic].facematch = { mode }\n return builder as unknown as QueryBuilder\n },\n raw: (query: Query) => {\n assertNotPolicyLocked(\"raw\")\n config[topic] = query\n return builder\n },\n policy: (id: string) => {\n if (typeof id !== \"string\" || id.length === 0) {\n throw new Error(\".policy() requires a non-empty string id.\")\n }\n if (config[topic].policy) {\n throw new Error(\n `Cannot call .policy() more than once on a request (already set to '${config[topic].policy}').`,\n )\n }\n if (hasConditions) {\n throw new Error(\n \"Cannot combine .policy() with builder methods like .gte()/.disclose()/etc.\",\n )\n }\n config[topic].policy = id\n return builder\n },\n done: (() => {\n return { query: config[topic] } satisfies OfflineQueryBuilderResult\n }) as QueryBuilder<\"offline\">[\"done\"],\n }\n return builder\n}\n","import type { NullifierType, ProofMode, ProofResult, Query, QueryResult } from \"@zkpassport/utils\"\n\nexport const DEFAULT_POPUP_URL = \"https://verify.zkpassport.id\"\n\nexport type PopupRequestConfig = {\n name?: string\n logo?: string\n purpose?: string\n scope?: string\n mode?: ProofMode\n devMode?: boolean\n validity?: number\n uniqueIdentifierType?: NullifierType.NON_SALTED | NullifierType.SALTED\n oprfKeyId?: string\n}\n\nexport type PopupConfigureMessage = {\n zkpassport: true\n type: \"configure\"\n request: PopupRequestConfig\n query: Query\n}\n\nexport type PopupReadyMessage = { zkpassport: true; type: \"ready\" }\n\nexport type PopupEventMessage =\n | { zkpassport: true; type: \"request-received\" }\n | { zkpassport: true; type: \"generating\" }\n | {\n zkpassport: true\n type: \"proof-generated\"\n index?: number\n total?: number\n name?: string\n }\n | {\n zkpassport: true\n type: \"success\"\n proofs: ProofResult[]\n result: QueryResult\n }\n | { zkpassport: true; type: \"rejected\" }\n | { zkpassport: true; type: \"error\"; message: string }\n\nexport type PopupMessage = PopupConfigureMessage | PopupReadyMessage | PopupEventMessage\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function isPopupMessage(data: any): data is PopupMessage {\n return !!data && data.zkpassport === true && typeof data.type === \"string\"\n}\n","import type { Query } from \"@zkpassport/utils\"\nimport type { OnSuccessVerdict } from \"../types\"\nimport {\n DEFAULT_POPUP_URL,\n isPopupMessage,\n type PopupEventMessage,\n type PopupRequestConfig,\n} from \"./protocol\"\n\nexport type PopupSuccess = Extract<PopupEventMessage, { type: \"success\" }>\n\nexport type PopupCallbacks = {\n onRequestReceived?: () => void\n onGeneratingProof?: () => void\n onProofGenerated?: (progress: { index?: number; total?: number; name?: string }) => void\n onSuccess?: (response: Omit<PopupSuccess, \"zkpassport\" | \"type\">) => OnSuccessVerdict\n onReject?: () => void\n onError?: (message: string) => void\n // Fired when the user closes the popup before a result was produced\n onClose?: () => void\n}\n\nexport type OpenVerificationPopupOptions = {\n popupUrl?: string\n request: PopupRequestConfig\n query: Query\n callbacks?: PopupCallbacks\n}\n\nexport type VerificationPopupHandle = {\n close: () => void\n popup: Window\n}\n\nconst POPUP_WIDTH = 460\nconst POPUP_HEIGHT = 780\nconst CLOSE_POLL_INTERVAL = 500\n\n/**\n * Open the hosted verification popup. MUST be called from a user gesture\n * (e.g. a click handler) or the browser will block the popup.\n *\n * If popup is blocked, will attempt to open in a new window.\n */\nexport function openVerificationPopup(\n options: OpenVerificationPopupOptions,\n): VerificationPopupHandle | null {\n if (typeof window === \"undefined\") return null\n const popupUrl = options.popupUrl ?? DEFAULT_POPUP_URL\n const popupOrigin = new URL(popupUrl).origin\n\n // Centered on the current window\n const left = Math.max(0, (window.screenX ?? 0) + (window.outerWidth - POPUP_WIDTH) / 2)\n const top = Math.max(0, (window.screenY ?? 0) + (window.outerHeight - POPUP_HEIGHT) / 2)\n const popup =\n window.open(\n popupUrl,\n \"zkpassport-verify\",\n `popup,width=${POPUP_WIDTH},height=${POPUP_HEIGHT},left=${Math.round(left)},top=${Math.round(top)}`,\n ) ??\n // Popup blocked: retry as a regular new tab\n window.open(popupUrl, \"zkpassport-verify\")\n if (!popup) return null\n\n const callbacks = options.callbacks ?? {}\n let finished = false\n let closePoll: ReturnType<typeof setInterval> | null = null\n\n const cleanup = () => {\n window.removeEventListener(\"message\", onMessage)\n if (closePoll) {\n clearInterval(closePoll)\n closePoll = null\n }\n }\n\n const onMessage = (event: MessageEvent) => {\n if (event.origin !== popupOrigin) return\n if (event.source !== popup) return\n const data = event.data\n if (!isPopupMessage(data)) return\n switch (data.type) {\n case \"ready\":\n try {\n popup.postMessage(\n {\n zkpassport: true,\n type: \"configure\",\n request: options.request,\n query: options.query,\n },\n popupOrigin,\n )\n } catch (error) {\n // Most likely DataCloneError: a non-serializable value in the request options\n console.error(\"[zkpassport] failed to send the request to the popup:\", error)\n callbacks.onError?.(\"Failed to send the request to the verification popup\")\n try {\n popup.close()\n } catch {\n // Already closed\n }\n }\n break\n case \"request-received\":\n callbacks.onRequestReceived?.()\n break\n case \"generating\":\n callbacks.onGeneratingProof?.()\n break\n case \"proof-generated\":\n callbacks.onProofGenerated?.({ index: data.index, total: data.total, name: data.name })\n break\n case \"success\": {\n finished = true\n const { zkpassport: _z, type: _t, ...response } = data\n callbacks.onSuccess?.(response)\n break\n }\n case \"rejected\":\n finished = true\n callbacks.onReject?.()\n break\n case \"error\":\n callbacks.onError?.(data.message)\n break\n }\n }\n\n window.addEventListener(\"message\", onMessage)\n closePoll = setInterval(() => {\n if (popup.closed) {\n cleanup()\n if (!finished) callbacks.onClose?.()\n }\n }, CLOSE_POLL_INTERVAL)\n\n return {\n popup,\n close: () => {\n cleanup()\n try {\n popup.close()\n } catch {\n // Already closed\n }\n },\n }\n}\n","// Best-effort environment heuristics\nexport function isMobileLike(): boolean {\n if (typeof navigator === \"undefined\" || typeof window === \"undefined\") return false\n const nav = navigator as Navigator & { userAgentData?: { mobile?: boolean } }\n if (nav.userAgentData?.mobile) return true\n const ua = navigator.userAgent\n if (/Android|iPhone|iPod|Mobile|IEMobile/i.test(ua)) return true\n // iPadOS reports as MacIntel with touch; classic iPad token as fallback\n if (/iPad/.test(ua)) return true\n if (navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1) return true\n return false\n}\n\nexport function isInAppBrowser(): boolean {\n if (typeof navigator === \"undefined\") return false\n const ua = navigator.userAgent\n // Known in-app browser tokens\n if (\n /FBAN|FBAV|FB_IAB|Instagram|Twitter|TwitterAndroid|Discord|Snapchat|TikTok|BytedanceWebview|musical_ly|Line\\/|MicroMessenger|GSA\\/|LinkedInApp|Pinterest/i.test(\n ua,\n )\n ) {\n return true\n }\n // Android WebView marks itself with \"; wv\"\n if (/Android/.test(ua) && /; wv\\)/.test(ua)) return true\n // iOS WKWebViews lack the Safari token (real Safari, Chrome iOS and Firefox\n // iOS all include it)\n if (/iPhone|iPad|iPod/.test(ua) && /AppleWebKit/.test(ua) && !/Safari\\//.test(ua)) return true\n return false\n}\n","const PREFIX = \"[zkpassport]\"\n\nfunction isDebugEnabled(): boolean {\n try {\n return typeof localStorage !== \"undefined\" && localStorage.getItem(\"zkpassport:debug\") === \"1\"\n } catch {\n return false\n }\n}\n\nexport const logger = {\n error(...args: unknown[]): void {\n console.error(PREFIX, ...args)\n },\n warn(...args: unknown[]): void {\n console.warn(PREFIX, ...args)\n },\n info(...args: unknown[]): void {\n console.info(PREFIX, ...args)\n },\n debug(...args: unknown[]): void {\n if (isDebugEnabled()) console.debug(PREFIX, ...args)\n },\n}\n","import { createOfflineQuery } from \"@zkpassport/sdk/query\"\nimport {\n openVerificationPopup,\n type PopupCallbacks,\n type PopupRequestConfig,\n type VerificationPopupHandle,\n} from \"@zkpassport/sdk/popup\"\nimport type { Query, QueryBuilder, QueryBuilderResult } from \"@zkpassport/sdk\"\n\nimport { isInAppBrowser } from \"./environment\"\nimport { logger } from \"./logger\"\n\nexport type VerificationStatus = \"idle\" | \"in-progress\" | \"success\" | \"error\"\n\nexport type VerificationState = {\n status: VerificationStatus\n // Only set when there is a message worth showing the user\n error: string | null\n}\n\nexport type VerificationOptions = PopupRequestConfig &\n PopupCallbacks & {\n // URL of the hosted verification page (override for local development)\n popupUrl?: string\n policyId?: string\n query: (queryBuilder: QueryBuilder) => QueryBuilderResult\n }\n\nexport type VerificationController = {\n readonly state: VerificationState\n verify: () => void\n close: () => void\n}\n\n// The only fields sent to the popup; anything else stays on this page.\nconst POPUP_REQUEST_FIELDS: Record<keyof PopupRequestConfig, true> = {\n name: true,\n logo: true,\n purpose: true,\n scope: true,\n mode: true,\n devMode: true,\n validity: true,\n uniqueIdentifierType: true,\n oprfKeyId: true,\n}\n\nconst POPUP_BLOCKED_MESSAGE = \"Popup blocked. Allow popups for this site and try again.\"\nconst IN_APP_BROWSER_MESSAGE =\n \"Couldn't open the verification window here. Open this page in Safari or Chrome and try again.\"\n\n// Opens the hosted popup and tracks the outcome. Shared by both buttons and the React hook.\nexport function createVerification(\n getOptions: () => VerificationOptions,\n onStateChange: (state: VerificationState) => void,\n): VerificationController {\n let state: VerificationState = { status: \"idle\", error: null }\n let popupHandle: VerificationPopupHandle | null = null\n // Numbers each verify() so a slow onSuccess from an old popup\n // can't overwrite the status of a newer one\n let latestAttempt = 0\n\n const setStatus = (status: VerificationStatus, error: string | null = null) => {\n state = { status, error }\n onStateChange(state)\n }\n\n const verify = () => {\n const options = getOptions()\n\n if (popupHandle) {\n if (!popupHandle.popup.closed) {\n popupHandle.popup.focus()\n return\n }\n // A closed popup's handle may still hold a live close-poll; dispose it\n popupHandle.close()\n popupHandle = null\n }\n\n const thisAttempt = ++latestAttempt\n let query: Query\n try {\n query = buildQuery(options)\n } catch (reason) {\n logger.error(reason)\n setStatus(\"error\")\n options.onError?.(\"Failed to build the verification query\")\n return\n }\n\n const handle = openVerificationPopup({\n popupUrl: options.popupUrl,\n request: toPopupRequest(options),\n query,\n // Callbacks resolve at event time: results arrive minutes after the\n // click, and React consumers swap callbacks between renders\n callbacks: {\n onRequestReceived: () => getOptions().onRequestReceived?.(),\n onGeneratingProof: () => getOptions().onGeneratingProof?.(),\n onProofGenerated: (progress) => getOptions().onProofGenerated?.(progress),\n // Success waits for the app's onSuccess handler, which can veto it by\n // returning false (e.g. when its backend did not verify the proofs)\n onSuccess: (response) => {\n const finish = (next: \"success\" | \"error\") => {\n if (latestAttempt === thisAttempt) setStatus(next)\n }\n let verdict: unknown\n try {\n verdict = getOptions().onSuccess?.(response)\n } catch (reason) {\n logger.error(reason)\n finish(\"error\")\n return\n }\n Promise.resolve(verdict).then(\n (value) => finish(value === false ? \"error\" : \"success\"),\n (reason) => {\n logger.error(reason)\n finish(\"error\")\n },\n )\n },\n onReject: () => {\n setStatus(\"error\")\n getOptions().onReject?.()\n },\n onError: (message) => getOptions().onError?.(message),\n onClose: () => {\n setStatus(\"idle\")\n getOptions().onClose?.()\n },\n },\n })\n\n if (!handle) {\n setStatus(\"error\", isInAppBrowser() ? IN_APP_BROWSER_MESSAGE : POPUP_BLOCKED_MESSAGE)\n options.onError?.(\"Popup blocked\")\n return\n }\n\n popupHandle = handle\n setStatus(\"in-progress\")\n }\n\n const close = () => {\n latestAttempt++\n popupHandle?.close()\n popupHandle = null\n }\n\n return {\n get state() {\n return state\n },\n verify,\n close,\n }\n}\n\nfunction buildQuery(options: VerificationOptions): Query {\n const builder = createOfflineQuery()\n if (options.policyId) {\n builder.policy(options.policyId)\n }\n const built = options.query(builder as never) as unknown as { query: Query }\n return built.query\n}\n\nfunction toPopupRequest(options: VerificationOptions): PopupRequestConfig {\n const request: Record<string, unknown> = {}\n for (const field of Object.keys(POPUP_REQUEST_FIELDS)) {\n const value = options[field as keyof PopupRequestConfig]\n if (value !== undefined) request[field] = value\n }\n return request as PopupRequestConfig\n}\n","import type { VerificationOptions, VerificationStatus } from \"./verification\"\n\n// A size is only a font size; the icon, gap and padding scale from it (see button.css)\nexport const BUTTON_FONT_SIZES = { small: \"13px\", medium: \"15px\", large: \"18px\" } as const\n\nexport type VerifyButtonSize = keyof typeof BUTTON_FONT_SIZES\n\nexport type VerifyWithZKPassportButtonOptions = VerificationOptions & {\n // Defaults to \"light\"; \"auto\" follows the operating system\n theme?: \"light\" | \"dark\" | \"auto\"\n // Defaults to \"medium\"; for anything in between, set --zkp-btn-font-size yourself\n size?: VerifyButtonSize\n label?: string\n // The error message is the only thing rendered outside the button; turn it off and use onError\n showErrorMessage?: boolean\n // Extra class names per element; prefer the --zkp-btn-* CSS custom properties\n classes?: {\n root?: string\n button?: string\n error?: string\n }\n}\n\n// Both states are always in the DOM so the button never changes size; see button.css\nexport const DEFAULT_BUTTON_LABEL = \"Verify with ZKPassport\"\nexport const SUCCESS_BUTTON_LABEL = \"Verified\"\n\nexport function isButtonDisabled(status: VerificationStatus): boolean {\n return status === \"in-progress\" || status === \"success\"\n}\n\nexport function buttonTooltip(status: VerificationStatus): string {\n if (status === \"in-progress\") return \"Verification is running in the ZKPassport window\"\n if (status === \"success\") return \"Verification complete\"\n return \"Opens a secure ZKPassport window\"\n}\n\nexport function isErrorVisible(\n status: VerificationStatus,\n options: VerifyWithZKPassportButtonOptions,\n): boolean {\n return status === \"error\" && options.showErrorMessage !== false\n}\n\nexport function errorMessage(error: string | null): string {\n return error ?? \"Verification failed. Click to try again.\"\n}\n\nexport function joinClasses(base: string, extra?: string): string {\n return extra ? `${base} ${extra}` : base\n}\n","import { ICON_CHECK, ICON_ZKP_MARK } from \"../assets\"\nimport buttonStyles from \"../button.css\"\nimport { injectStylesheet } from \"../inject-styles\"\nimport { createVerification, type VerificationState } from \"../verification\"\nimport {\n BUTTON_FONT_SIZES,\n buttonTooltip,\n DEFAULT_BUTTON_LABEL,\n errorMessage,\n isButtonDisabled,\n isErrorVisible,\n joinClasses,\n SUCCESS_BUTTON_LABEL,\n type VerifyWithZKPassportButtonOptions,\n} from \"../verify-button\"\n\nfunction createButtonState(className: string, icon: string) {\n const element = document.createElement(\"span\")\n element.className = `zkp-verify-state ${className}`\n const mark = document.createElement(\"span\")\n mark.className = \"zkp-verify-button-mark\"\n mark.innerHTML = icon\n const label = document.createElement(\"span\")\n element.append(mark, label)\n return { element, label }\n}\n\nexport type VerifyButtonHandle = {\n update(next: VerifyWithZKPassportButtonOptions): void\n unmount(): void\n}\n\n// Button-only entry: the hosted-popup button without the QR card (no bridge, no qrcode).\nexport function mountVerifyButton(\n element: HTMLElement,\n options: VerifyWithZKPassportButtonOptions,\n): VerifyButtonHandle {\n if (typeof document === \"undefined\" || typeof window === \"undefined\") {\n throw new Error(\"@zkpassport/ui: mountVerifyButton() requires a browser environment.\")\n }\n injectStylesheet(buttonStyles, \"button\")\n\n let currentOptions = options\n\n const root = document.createElement(\"div\")\n const button = document.createElement(\"button\")\n const content = document.createElement(\"span\")\n const defaultState = createButtonState(\"zkp-verify-state-default\", ICON_ZKP_MARK)\n const successState = createButtonState(\"zkp-verify-state-success\", ICON_CHECK)\n const errorLine = document.createElement(\"p\")\n\n button.type = \"button\"\n content.className = \"zkp-verify-content\"\n successState.label.textContent = SUCCESS_BUTTON_LABEL\n errorLine.setAttribute(\"role\", \"alert\")\n content.append(defaultState.element, successState.element)\n button.append(content)\n root.append(button)\n\n function renderState(state: VerificationState) {\n root.className = joinClasses(\"zkp-verify-wrap\", currentOptions.classes?.root)\n root.dataset.theme = currentOptions.theme ?? \"light\"\n if (currentOptions.size) {\n root.style.setProperty(\"--zkp-btn-font-size\", BUTTON_FONT_SIZES[currentOptions.size])\n } else {\n root.style.removeProperty(\"--zkp-btn-font-size\")\n }\n button.className = joinClasses(\"zkp-verify-button\", currentOptions.classes?.button)\n button.dataset.status = state.status\n button.disabled = isButtonDisabled(state.status)\n button.title = buttonTooltip(state.status)\n defaultState.label.textContent = currentOptions.label ?? DEFAULT_BUTTON_LABEL\n\n if (isErrorVisible(state.status, currentOptions)) {\n errorLine.className = joinClasses(\"zkp-verify-error\", currentOptions.classes?.error)\n errorLine.textContent = errorMessage(state.error)\n root.append(errorLine)\n } else {\n errorLine.remove()\n }\n }\n\n const verification = createVerification(() => currentOptions, renderState)\n button.addEventListener(\"click\", verification.verify)\n renderState(verification.state)\n element.appendChild(root)\n\n return {\n update(next) {\n currentOptions = next\n renderState(verification.state)\n },\n unmount() {\n verification.close()\n root.remove()\n },\n }\n}\n\nexport {\n createVerification,\n type VerificationController,\n type VerificationOptions,\n type VerificationState,\n type VerificationStatus,\n} from \"../verification\"\nexport type { VerifyButtonSize, VerifyWithZKPassportButtonOptions } from \"../verify-button\"\n\n// Headless integration: wire any element to the hosted popup yourself\nexport {\n openVerificationPopup,\n type PopupRequestConfig,\n type PopupSuccess,\n type VerificationPopupHandle,\n} from \"@zkpassport/sdk/popup\"\nexport { createOfflineQuery } from \"@zkpassport/sdk/query\"\n"]}
@@ -0,0 +1,10 @@
1
+ import { o as VerifyWithZKPassportButtonOptions } from './verify-button-BTuf-26F.cjs';
2
+ export { r as PopupRequestConfig, s as PopupSuccess, p as VerificationController, V as VerificationOptions, t as VerificationPopupHandle, l as VerificationState, m as VerificationStatus, n as VerifyButtonSize, u as createOfflineQuery, q as createVerification, v as openVerificationPopup } from './verify-button-BTuf-26F.cjs';
3
+
4
+ type VerifyButtonHandle = {
5
+ update(next: VerifyWithZKPassportButtonOptions): void;
6
+ unmount(): void;
7
+ };
8
+ declare function mountVerifyButton(element: HTMLElement, options: VerifyWithZKPassportButtonOptions): VerifyButtonHandle;
9
+
10
+ export { type VerifyButtonHandle, VerifyWithZKPassportButtonOptions, mountVerifyButton };