Last active
December 28, 2024 10:57
-
-
Save AngeloD2022/fc105f77e999c024dff937f792875507 to your computer and use it in GitHub Desktop.
Found inside iCloud passwords chrome extension.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var pwlog = void 0, | |
| pwerror = void 0; | |
| function isStringEmpty(e) { | |
| return !e || 0 === e.length | |
| } | |
| function urlFromURLString(e) { | |
| try { | |
| return new URL(e) | |
| } catch { | |
| return null | |
| } | |
| } | |
| function humanReadableFormType(e) { | |
| switch (e) { | |
| case WBSAutoFillFormTypeUndetermined: | |
| return "Undetermined"; | |
| case WBSAutoFillFormTypeAutoFillableStandard: | |
| return "AutoFillable:Standard"; | |
| case WBSAutoFillFormTypeNonAutoFillable: | |
| return "NonAutoFillable"; | |
| case WBSAutoFillFormTypeAutoFillableLogin: | |
| return "AutoFillable:Login"; | |
| case WBSAutoFillFormTypeNewAccount: | |
| return "NewAccount"; | |
| case WBSAutoFillFormTypeChangePassword: | |
| return "ChangePassword"; | |
| case WBSAutoFillFormTypeFoundTOTPURI: | |
| return "FoundTOTPUri" | |
| } | |
| return "Unrecognized" | |
| } | |
| function domainsForDisplayFromUsernamesAndDomains(e, t) { | |
| const s = e.length; | |
| let a = t.map((function(e) { | |
| return e.replace(/^(www|m)\./, "") | |
| })), | |
| n = []; | |
| for (var r = 0; r < s; r++) n.push([e[r], a[r]]); | |
| for (r = 0; r < s; r++) { | |
| let e = []; | |
| for (var o = r + 1; o < s; o++) n[r].join("\n") === n[o].join("\n") && (e.length || e.push(r), e.push(o)); | |
| for (let s of e) a[s] = t[s] | |
| } | |
| return a | |
| } | |
| function urlIsBrowserURL(e) { | |
| const t = e.protocol; | |
| return "chrome:" === t || "edge:" === t || "about:" == t | |
| } | |
| function isExtensionContextInvalidatedError(e) { | |
| return "Extension context invalidated." === e.message | |
| } | |
| function capabilitiesDeclaresMacOS(e) { | |
| try { | |
| return "macos" === e.operatingSystem.name | |
| } catch { | |
| return !1 | |
| } | |
| } | |
| class Localizer { | |
| static configureDocumentElementForLanguage(e, t) { | |
| switch (t) { | |
| case "he": | |
| case "ar": | |
| case "fa": | |
| e.setAttribute("dir", "rtl"), e.setAttribute("lang", t) | |
| } | |
| } | |
| #e = {}; | |
| constructor(e) { | |
| e && (this.#e = e.operatingSystem) | |
| } | |
| getMessage(e, t, s) { | |
| const a = this.messageNamesToTry(e); | |
| for (let e of a) { | |
| let a; | |
| try { | |
| a = chrome.i18n.getMessage(e, t, s) | |
| } catch { | |
| a = chrome.i18n.getMessage(e, t) | |
| } | |
| if (a) return a | |
| } | |
| return "" | |
| } | |
| messageNamesToTry(e) { | |
| let t = []; | |
| const s = this.#e, | |
| a = s ? s.name : void 0, | |
| n = s ? s.majorVersion : void 0, | |
| r = s ? s.minorVersion : void 0, | |
| o = void 0 !== n; | |
| return a && o && void 0 !== r && t.push(`${e}_${a}_${n}_${r}`), a && o && t.push(`${e}_${a}_${n}`), a ? t.push(`${e}_${a}`) : t.push(`${e}_${this.#t}`), t.push(e), t | |
| } | |
| get #t() { | |
| return navigator.platform.startsWith("Mac") ? "macos" : "windows" | |
| } | |
| } | |
| class ExtensionSettings { | |
| #s = !1; | |
| #a = !0; | |
| #n = !0; | |
| eventTarget = new EventTarget; | |
| constructor(e = !1) { | |
| this.#s = e, this.#r(), this.#o() | |
| } | |
| get enableInPageAutoFill() { | |
| return this.#a | |
| } | |
| set enableInPageAutoFill(e) { | |
| this.#a = e, this.#i() | |
| } | |
| get allowExtensionToControlAutoFillSettings() { | |
| return this.#n | |
| } | |
| set allowExtensionToControlAutoFillSettings(e) { | |
| this.#n = e, this.#c().then(this.#i.bind(this)) | |
| } | |
| #c() { | |
| return this.#n ? this.attemptToControlBrowserAutoFillSettings() : this.clearControlOfBrowserAutoFillSettings() | |
| } | |
| async attemptToControlBrowserAutoFillSettings() { | |
| if (this.#s) throw new Error("This Settings instance does not allow writing browser settings"); | |
| const e = await Promise.allSettled([this.#l(chrome.privacy.services.passwordSavingEnabled, !1), this.#l(chrome.privacy.services.autofillCreditCardEnabled, !1), this.#l(chrome.privacy.services.autofillAddressEnabled, !1)]); | |
| return this.#d(), e | |
| } | |
| async clearControlOfBrowserAutoFillSettings() { | |
| if (this.#s) throw new Error("This Settings instance does not allow writing browser settings"); | |
| const e = await Promise.allSettled([this.#m(chrome.privacy.services.passwordSavingEnabled), this.#m(chrome.privacy.services.autofillCreditCardEnabled), this.#m(chrome.privacy.services.autofillAddressEnabled)]); | |
| return this.#d(), e | |
| } | |
| #r() { | |
| let e = new Promise((e => { | |
| chrome.storage.sync.get({ | |
| enableInPageAutoFill: !0, | |
| allowExtensionToControlAutoFillSettings: !0 | |
| }, (t => { | |
| this.#a = t.enableInPageAutoFill, this.#n = t.allowExtensionToControlAutoFillSettings, e() | |
| })) | |
| })); | |
| return this.#s || (e = e.then(this.#c.bind(this))), e.then(this.#d.bind(this)) | |
| } | |
| #i() { | |
| return new Promise((e => { | |
| chrome.storage.sync.set({ | |
| enableInPageAutoFill: this.#a, | |
| allowExtensionToControlAutoFillSettings: this.#n | |
| }, e) | |
| })).then(this.#d.bind(this)) | |
| } | |
| #o() { | |
| this.#s || (chrome.privacy.services.passwordSavingEnabled && chrome.privacy.services.passwordSavingEnabled.onChange.addListener((e => { | |
| this.#d() | |
| })), chrome.privacy.services.autofillCreditCardEnabled && chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener((e => { | |
| this.#d() | |
| })), chrome.privacy.services.autofillAddressEnabled && chrome.privacy.services.autofillAddressEnabled.onChange.addListener((e => { | |
| this.#d() | |
| }))) | |
| } | |
| #d() { | |
| const e = new CustomEvent("settingsChanged", { | |
| detail: { | |
| enableInPageAutoFill: this.#a | |
| } | |
| }); | |
| this.eventTarget.dispatchEvent(e) | |
| } | |
| async #l(e, t) { | |
| let s; | |
| try { | |
| s = await this.#u(e) | |
| } catch (e) { | |
| return | |
| } | |
| if (s) { | |
| if (s.value === t) return { | |
| details: s, | |
| newValue: t | |
| }; | |
| try { | |
| s = await e.set({ | |
| value: t | |
| }) | |
| } catch (e) { | |
| return | |
| } | |
| return { | |
| details: s, | |
| newValue: t | |
| } | |
| } | |
| } | |
| async #u(e) { | |
| if (!e) throw new Error(`Unable to get ${e} setting.`); | |
| const t = await e.get({}); | |
| if ("not_controllable" === t.levelOfControl) throw new Error(`Cannot control ${e} setting.`); | |
| return t | |
| } | |
| async #m(e) { | |
| if (!e) throw new Error(`Unable to clear browser setting: ${e}.`); | |
| await e.clear({}) | |
| } | |
| } | |
| const ErrCodes = { | |
| ErrSuccess: "Success", | |
| InvalidMessage: "InvalidMessage", | |
| UnexpectedMessage: "UnexpectedMessage", | |
| InvalidSyntax: "InvalidSyntax", | |
| InvalidSessionKey: "InvalidSessionKey", | |
| CryptoError: "CryptoError", | |
| InvalidUserName: "InvalidUserName" | |
| }; | |
| class SecretSessionError extends Error { | |
| constructor(e, t = null) { | |
| super(t), this.code = e | |
| } | |
| } | |
| const SecretSessionVersion = { | |
| SRPWithOldVerification: 0, | |
| SRPWithRFCVerification: 1 | |
| }, | |
| scriptVersion = "1.0", | |
| appVersion = "1.0", | |
| MSGTypes = { | |
| MSG0: 0, | |
| MSG1: 1, | |
| MSG2: 2, | |
| MSG3: 3 | |
| }; | |
| SecretSession = function(e) { | |
| this.shouldUseBase64 = !1, e.shouldUseBase64 && (this.shouldUseBase64 = e.shouldUseBase64), this.protocolVersion = SecretSessionVersion.SRPWithOldVerification, e.secretSessionVersion && (this.protocolVersion = e.secretSessionVersion), this.grp = sjcl.keyexchange.srp.knownGroup(3072), this.keyLen = 128, this.tagLen = 128, this.setUpSRP() | |
| }, SecretSession.prototype = { | |
| createSMSG: function(e) { | |
| if ("object" == typeof e) try { | |
| e = JSON.stringify(e) | |
| } catch (e) { | |
| return ErrCodes.InvalidMessage | |
| } | |
| const t = sjcl.codec.utf8String.toBits(e), | |
| s = this.encrypt(t); | |
| if ("string" == typeof s) return s; | |
| let a = null; | |
| try { | |
| a = JSON.stringify({ | |
| TID: this.bitsToString(this.I.toBits()), | |
| SDATA: this.bitsToString(s, !1) | |
| }) | |
| } catch (e) { | |
| return ErrCodes.InvalidMessage | |
| } | |
| return a | |
| }, | |
| parseSMSG: function(e) { | |
| let t = e; | |
| if ("string" == typeof t) try { | |
| t = JSON.parse(e) | |
| } catch (t) { | |
| throw new SecretSessionError(ErrCodes.InvalidSyntax, `Unable to decode SMSG from string: ${t} ${e}`) | |
| } | |
| if ("string" != typeof t.SDATA) throw new SecretSessionError(ErrCodes.InvalidMessage, "Missing or invalid SDATA field in SMSG message."); | |
| if ("string" != typeof t.TID) throw new SecretSessionError(ErrCodes.InvalidUserName, "Missing or invalid 'TID' field in SMSG object."); | |
| const s = sjcl.bn.fromBits(this.stringToBits(t.TID)); | |
| if (!this.I.equals(s)) throw new SecretSessionError(ErrCodes.InvalidUserName, "Received SMSG message meant for another session."); | |
| return sjcl.codec.utf8String.fromBits(this.decrypt(this.stringToBits(t.SDATA))) | |
| }, | |
| setPin: function(e) { | |
| this.P = e | |
| }, | |
| stringToBase64: function(e) { | |
| let t = sjcl.codec.utf8String.toBits(e); | |
| return sjcl.codec.base64.fromBits(t, !1, !1) | |
| }, | |
| bitsToString: function(e, t = !0) { | |
| return this.shouldUseBase64 ? sjcl.codec.base64.fromBits(e) : (t ? "0x" : "") + sjcl.codec.hex.fromBits(e) | |
| }, | |
| stringToBits: function(e) { | |
| return this.shouldUseBase64 ? sjcl.codec.base64.toBits(e) : sjcl.codec.hex.toBits(e) | |
| }, | |
| setUpSRP: function() { | |
| this.I = sjcl.bn.fromBits(this._randomWords(4)), this.a = sjcl.bn.fromBits(this._randomWords(8)), this.A = this.grp.g.powermod(this.a, this.grp.N) | |
| }, | |
| currProtocols: function() { | |
| return [SecretSessionVersion.SRPWithOldVerification, SecretSessionVersion.SRPWithRFCVerification] | |
| }, | |
| initialMessage: function() { | |
| this.expectedMessage = MSGTypes.MSG1; | |
| let e = null; | |
| try { | |
| e = JSON.stringify({ | |
| TID: this.bitsToString(this.I.toBits()), | |
| MSG: 0, | |
| A: this.bitsToString(this.A.toBits()), | |
| VER: "1.0", | |
| PROTO: this.currProtocols() | |
| }) | |
| } catch (e) { | |
| return null | |
| } | |
| return this.stringToBase64(e) | |
| }, | |
| _padToModulusLength: function(e) { | |
| e = e.replace(/^0x/, ""); | |
| const t = 2 * (sjcl.bitArray.bitLength(this.grp.N.toBits()) + 7 >> 3) - e.length; | |
| if (0 === t) return e; | |
| return "0".repeat(t) + e | |
| }, | |
| processMessage: function(e) { | |
| const t = sjcl.codec.utf8String.fromBits(sjcl.codec.base64.toBits(e)); | |
| let s = null; | |
| try { | |
| s = JSON.parse(t) | |
| } catch (e) { | |
| throw new SecretSessionError(ErrCodes.InvalidMessage, `Unable to parse JSON message: ${e}`) | |
| } | |
| if ("string" != typeof s.TID) throw new SecretSessionError(ErrCodes.InvalidMessage, "Missing or invalid 'TID' field in PAKE message."); | |
| let a = sjcl.bn.fromBits(this.stringToBits(s.TID)); | |
| if (!this.I.equals(a)) throw new SecretSessionError(ErrCodes.UnexpectedMessage, "Unexpected message"); | |
| if (!s.MSG) throw new SecretSessionError(ErrCodes.InvalidMessage, "Missing 'MSG' field in PAKE message."); | |
| const n = parseInt(s.MSG, 10); | |
| if (this.expectedMessage !== n) throw new SecretSessionError(ErrCodes.UnexpectedMessage, `Received Message ${message.MSG}, but expected Message ${this.expectedMessage} `); | |
| let r = null; | |
| if (n === MSGTypes.MSG1) { | |
| var o = SecretSessionVersion.SRPWithOldVerification; | |
| "number" == typeof s.PROTO && (o = s.PROTO, Object.values(SecretSessionVersion).includes(o) || (o = SecretSessionVersion.SRPWithOldVerification)), this.protocolVersion = o, r = this.processMessage1(s) | |
| } else n === MSGTypes.MSG3 && (r = this.processMessage3(s)); | |
| return r | |
| }, | |
| createSessionKey: function(e, t) { | |
| const s = sjcl.hash.sha256.hash, | |
| a = this._calculateX(e, this.bitsToString(this.I.toBits()), this.P, s); | |
| this.v = this._calculateVerifier(this.grp.g, a, this.grp.N); | |
| const n = this.A.toString(), | |
| r = t.toString(), | |
| o = this._padToModulusLength(n).concat(this._padToModulusLength(r)), | |
| i = sjcl.bn.fromBits(s(sjcl.codec.hex.toBits(o))), | |
| c = this.a.add(i.mul(a)), | |
| l = this.grp.N.toString() + this._padToModulusLength(this.grp.g.toString()), | |
| d = sjcl.bn.fromBits(s(sjcl.codec.hex.toBits(l))).mulmod(this.v, this.grp.N); | |
| return s(t.sub(d).powermod(c, this.grp.N).toBits()) | |
| }, | |
| _calculateX: function(e, t, s, a) { | |
| const n = a(t + ":" + s); | |
| return sjcl.bn.fromBits(a(e.concat(n))) | |
| }, | |
| _calculateVerifier: function(e, t, s) { | |
| return e.powermod(t, s) | |
| }, | |
| _calculateM: function(e, t, s) { | |
| const a = sjcl.hash.sha256.hash; | |
| let n = a(this.grp.N.toBits()), | |
| r = a(sjcl.codec.hex.toBits(this._padToModulusLength(this.grp.g.toString()))); | |
| const o = sjcl.bitArray.bitLength(n) / 32; | |
| for (let e = 0; e < o; ++e) n[e] = n[e] ^ r[e]; | |
| let i = a(this.bitsToString(this.I.toBits())), | |
| c = new sjcl.hash.sha256; | |
| c.update(n), c.update(i), c.update(e), c.update(this.A.toBits()), c.update(t.toBits()), c.update(s); | |
| let l = c.finalize(); | |
| return c = new sjcl.hash.sha256, c.update(this.A.toBits()), c.update(l), c.update(s), this.hamk = c.finalize(), l | |
| }, | |
| processMessage1: function(e) { | |
| if ("string" != typeof e.s || "string" != typeof e.B) throw new SecretSessionError(ErrCodes.InvalidMessage, "Message 1 is missing some required keys."); | |
| e.VER && (this.appVer = e.VER); | |
| const t = this.stringToBits(e.s), | |
| s = sjcl.bn.fromBits(this.stringToBits(e.B)); | |
| let a = new sjcl.bn(1); | |
| if (0 == s.mulmod(a, this.grp.N)) throw new SecretSessionError(ErrCodes.CryptoError, "B.mulmod error"); | |
| const n = this.createSessionKey(t, s); | |
| this.encKey = sjcl.bitArray.bitSlice(n, 0, this.keyLen), this.expectedMessage = MSGTypes.MSG3; | |
| let r = { | |
| TID: this.bitsToString(this.I.toBits()), | |
| MSG: 2 | |
| }; | |
| switch (this.protocolVersion) { | |
| case SecretSessionVersion.SRPWithRFCVerification: | |
| r.M = this.bitsToString(this._calculateM(t, s, n), !1); | |
| break; | |
| case SecretSessionVersion.SRPWithOldVerification: | |
| const e = this.shouldUseBase64 ? this.v.toBits() : sjcl.codec.utf8String.toBits(this.v.toString()), | |
| a = this.encrypt(e); | |
| r.v = this.bitsToString(a, !1); | |
| break; | |
| default: | |
| throw new SecretSessionError(ErrCodes.UnexpectedMessage, `Unknown protocol version ${this.protocolVersion}`) | |
| } | |
| let o = null; | |
| try { | |
| o = JSON.stringify(r) | |
| } catch (e) { | |
| throw new SecretSessionError(ErrCodes.InvalidMessage, `Error encoding Message 2 to string:${e}`) | |
| } | |
| return this.stringToBase64(o) | |
| }, | |
| processMessage3: function(e) { | |
| let t = ErrCodes.ErrSuccess, | |
| s = ""; | |
| if (0 !== e.ErrCode) s = `Message 3 contained an error: ${e.ErrCode}`, t = ErrCodes.InvalidMessage; | |
| else switch (this.protocolVersion) { | |
| case SecretSessionVersion.SRPWithRFCVerification: | |
| if (e.HAMK) { | |
| const a = this.stringToBits(e.HAMK); | |
| sjcl.bitArray.equal(a, this.hamk) || (s = "Failed to verify server data.", this.msgExp = MSGTypes.MSG1, t = ErrCodes.InvalidSessionKey) | |
| } else s = `Message 3 does not contain necessary data:${e.ErrCode}`, t = ErrCodes.InvalidMessage; | |
| break; | |
| case SecretSessionVersion.SRPWithOldVerification: | |
| break; | |
| default: | |
| t = ErrCode.UnexpectedMessage, s = `Unknown SecretSessionVersion ${this.protocolVersion}.` | |
| } | |
| if (t != ErrCodes.ErrSuccess) throw this.sessionKey = null, this.expectedMessage = MSGTypes.MSG1, new SecretSessionError(t, s); | |
| return t === ErrCodes.ErrSuccess | |
| }, | |
| encrypt: function(e) { | |
| if (!this.encKey) throw new SecretSessionError(ErrCodes.InvalidSessionKey, "Called encrypt() without a session key"); | |
| const t = new sjcl.cipher.aes(this.encKey), | |
| s = this._randomWords(4); | |
| let a = null; | |
| try { | |
| a = sjcl.mode.gcm.encrypt(t, e, s) | |
| } catch (e) { | |
| throw new SecretSessionError(ErrCodes.CryptoError, e.message) | |
| } | |
| return sjcl.bitArray.concat(a, s) | |
| }, | |
| decrypt: function(e) { | |
| if (!this.encKey) throw new SecretSessionError(ErrCodes.InvalidSessionKey, "Called decrypt() without a session key!"); | |
| const t = new sjcl.cipher.aes(this.encKey), | |
| s = sjcl.bitArray.bitSlice(e, 0, this.keyLen), | |
| a = sjcl.bitArray.bitSlice(e, this.keyLen); | |
| let n = null; | |
| try { | |
| n = sjcl.mode.gcm.decrypt(t, a, s) | |
| } catch (e) { | |
| throw new SecretSessionError(ErrCodes.CryptoError, `Exception while decrypting message. ${e}`) | |
| } | |
| return n | |
| }, | |
| _randomWords: function(e) { | |
| const t = new Int32Array(e); | |
| return self.crypto.getRandomValues(t), Array.from(t) | |
| } | |
| }; | |
| const ContextState = { | |
| IncompatibleOS: "IncompatibleOS", | |
| NotInSession: "NotInSession", | |
| NativeSupportNotInstalled: "NativeSupportNotInstalled", | |
| CheckEngine: "CheckEngine", | |
| ChallengeSent: "ChallengeSent", | |
| MSG1Set: "MSG1Set", | |
| SessionKeySet: "SessionKeySet" | |
| }, | |
| DataState = { | |
| Initial: "Initial", | |
| Frame0Processed: "Frame0Processed", | |
| DataProcessed: "DataProcessed" | |
| }, | |
| RememberIC = { | |
| NoValueSet: "NoValueSet", | |
| UnknownPage: "UnknownPage", | |
| DoNotRemember: "DoNotRemember", | |
| RememberLoginAndPassword: "RememberLoginAndPassword" | |
| }, | |
| WBSAutoFillFormTypeUndetermined = 0, | |
| WBSAutoFillFormTypeAutoFillableStandard = 1, | |
| WBSAutoFillFormTypeNonAutoFillable = 2, | |
| WBSAutoFillFormTypeAutoFillableLogin = 3, | |
| WBSAutoFillFormTypeNewAccount = 4, | |
| WBSAutoFillFormTypeChangePassword = 5, | |
| WBSAutoFillFormTypeFoundTOTPURI = 6; | |
| class FrameDoesNotExistError extends Error { | |
| frame; | |
| constructor(e) { | |
| super(`Frame ${e.id} does not exist in tab ${e.tab.id}`), this.frame = e | |
| } | |
| } | |
| class FrameIsBrowserFrameError extends Error { | |
| frame; | |
| constructor(e) { | |
| super(`Frame ${e.id} in tab ${e.tab.id} is a browser frame.`), this.frame = e | |
| } | |
| } | |
| class ContentScriptNotSetUpInFrame extends Error { | |
| frame; | |
| constructor(e) { | |
| super(`Frame ${e.id} in tab ${e.tab.id} does not have active content script.`), this.frame = e | |
| } | |
| } | |
| class PromiseFulfillment { | |
| resolve; | |
| reject; | |
| constructor(e, t) { | |
| this.resolve = e, this.reject = t | |
| } | |
| } | |
| class DelayedMessageSender { | |
| static defaultDelayMS = 50; | |
| delayMS; | |
| messageName; | |
| #g = null; | |
| #p = []; | |
| #h = null; | |
| constructor(e, t = DelayedMessageSender.defaultDelayMS) { | |
| this.messageName = e, this.delayMS = t | |
| } | |
| get dateOfLastSentMessage() { | |
| return this.#h | |
| } | |
| enqueueRequest(e, t) { | |
| return new Promise(((s, a) => { | |
| this.#p.push(new PromiseFulfillment(s, a)), this.#g && (clearTimeout(this.#g), this.#g = null), this.#g = setTimeout((async () => { | |
| const s = e.tab.id, | |
| a = e.id; | |
| let n; | |
| try { | |
| n = await this.#S(s, a, this.messageName, t) | |
| } catch (t) { | |
| let s = t; | |
| return t.message.includes("Receiving end does not exist.") && (s = new FrameDoesNotExistError(e)), this.#h = null, void this.#f(null, s) | |
| } finally { | |
| this.#g = null | |
| } | |
| this.#h = new Date, this.#f(n) | |
| }).bind(this), this.delayMS) | |
| })) | |
| } | |
| cancelPendingRequests() { | |
| this.#g && (clearTimeout(this.#g), this.#g = null), this.#f(null, new Error("Cancelled")) | |
| } | |
| reset() { | |
| this.cancelPendingRequests(), this.#h = null | |
| } | |
| #S(e, t, s, a) { | |
| let n = { | |
| subject: s | |
| }; | |
| return a && (n = { | |
| ...n, | |
| ...a | |
| }), chrome.tabs.sendMessage(e, n, { | |
| frameId: t | |
| }) | |
| } | |
| #f(e, t = null) { | |
| for (; this.#p.length;) { | |
| const s = this.#p.shift(); | |
| t ? s.reject(t) : s.resolve(e) | |
| } | |
| } | |
| } | |
| class Frame { | |
| static delayForSettingUpContentScriptAfterFrameCreationMS = 50; | |
| static delayForRunningHeuristicsAfterFrameUpdateMS = 50; | |
| id; | |
| tab; | |
| url; | |
| state; | |
| #b = new DelayedMessageSender("setUp", Frame.delayForSettingUpContentScriptAfterFrameCreationMS); | |
| #C = new DelayedMessageSender("runFormMetadataHeuristics", Frame.delayForRunningHeuristicsAfterFrameUpdateMS); | |
| constructor(e, t) { | |
| this.id = e, this.tab = t | |
| } | |
| get isBrowserFrame() { | |
| const e = this.url; | |
| return !!e && urlIsBrowserURL(e) | |
| } | |
| get hasCompletedLoad() { | |
| return "complete" === this.state | |
| } | |
| get hasSetUpContentScript() { | |
| return !!this.#b.dateOfLastSentMessage | |
| } | |
| prepareForRemoval() { | |
| this.#b.cancelPendingRequests(), this.#C.cancelPendingRequests() | |
| } | |
| updateWithDetails(e, t) { | |
| this.state = e; | |
| const s = t.url; | |
| s && (this.url = urlFromURLString(s)) | |
| } | |
| setUpContentScript(e) { | |
| return this.isBrowserFrame ? Promise.reject(new FrameIsBrowserFrameError(this)) : (e = !!e, this.#b.enqueueRequest(this, { | |
| shouldEnableQRCodeScanning: e | |
| })) | |
| } | |
| async enableQRCodeScanning(e) { | |
| return this.hasSetUpContentScript ? this.#S("enableQRCodeScanner", { | |
| isEnabled: e | |
| }) : Promise.reject(new ContentScriptNotSetUpInFrame(this)) | |
| } | |
| runHeuristics() { | |
| return this.isBrowserFrame ? Promise.reject(new FrameIsBrowserFrameError(this)) : this.hasSetUpContentScript ? this.#C.enqueueRequest(this) : Promise.reject(new Error("Cannot run metadata heuristics before setting up content script")) | |
| } | |
| readyToReceiveMessages() { | |
| return this.#b.reset(), this.setUpContentScript(!0) | |
| } | |
| #S(e, t) { | |
| let s = { | |
| subject: e | |
| }; | |
| return t && (s = { | |
| ...s, | |
| ...t | |
| }), chrome.tabs.sendMessage(this.tab.id, s, { | |
| frameId: this.id | |
| }) | |
| } | |
| } | |
| class Tab { | |
| static delayForSettingUpFrameContentScript = 50; | |
| static delayForCleaningUpFrames = 2e3; | |
| static enableDeferredFrameCleanup = !0; | |
| id; | |
| state; | |
| framesById = new Map; | |
| url; | |
| #T = null; | |
| constructor(e) { | |
| this.id = e | |
| } | |
| get allFrames() { | |
| return chrome.webNavigation.getAllFrames({ | |
| tabId: this.id | |
| }) | |
| } | |
| async injectContentScripts(e = !0) { | |
| if (!this.url) return; | |
| const t = this.url.protocol; | |
| if ("http:" !== t && "https:" !== t) return; | |
| const s = chrome.runtime.getManifest().content_scripts[0], | |
| a = this.id; | |
| await chrome.scripting.executeScript({ | |
| target: { | |
| tabId: a, | |
| allFrames: e | |
| }, | |
| files: s.js | |
| }); | |
| for (const e of this.framesById.values()) try { | |
| await e.setUpContentScript() | |
| } catch (e) { | |
| if (e instanceof FrameIsBrowserFrameError) return | |
| } | |
| } | |
| prepareForRemoval() { | |
| for (const e of this.framesById.values()) e.prepareForRemoval() | |
| } | |
| activated(e) { | |
| this.#I(), chrome.contextMenus && chrome.contextMenus.removeAll() | |
| } | |
| update(e, t) { | |
| this.#I(), this.state = t.status, e ? (this.state = e.status, "loading" === e.status && (this.url = urlFromURLString(e.url))) : (this.state = t.status, this.url = urlFromURLString(t.url)) | |
| } | |
| addNewFrame(e, t, s = null) { | |
| this.#I(); | |
| const a = t.frameId, | |
| n = new Frame(a, this); | |
| this.framesById.set(a, n), this.frameUpdated(e, a, s, t) | |
| } | |
| async frameUpdated(e, t, s, a) { | |
| this.#I(); | |
| const n = this.ensureFrameExists(t); | |
| if (n.updateWithDetails(s, a), n.hasCompletedLoad) try { | |
| n.hasSetUpContentScript ? await n.runHeuristics() : await n.setUpContentScript(e.shouldEnableQRCodeScanning) | |
| } catch (e) { | |
| if (!(e instanceof FrameDoesNotExistError)) { | |
| if (e instanceof FrameIsBrowserFrameError) return; | |
| throw e | |
| } { | |
| const t = e.frameId; | |
| if (!this.framesById.get(t)) return; | |
| let s = await chrome.webNavigation.getFrame({ | |
| tabId: this.id, | |
| frameId: t | |
| }); | |
| s || (s.prepareForRemoval(), this.framesById.delete(t)) | |
| } | |
| } | |
| } | |
| async frameCompleted(e, t, s) { | |
| try { | |
| await this.frameUpdated(e, t, "complete", s) | |
| } catch (e) {} | |
| } | |
| frameIsReadyToReceiveMessages(e) { | |
| return this.ensureFrameExists(e).readyToReceiveMessages() | |
| } | |
| ensureFrameExists(e) { | |
| let t = this.framesById.get(e); | |
| return t || (t = new Frame(e, this), this.framesById.set(e, t)), t | |
| } | |
| #I() { | |
| Tab.enableDeferredFrameCleanup && (this.#T && (clearTimeout(this.#T), this.#T = null), this.#T = setTimeout((async () => { | |
| let e = new Map; | |
| const t = await this.allFrames, | |
| s = new Set((t || []).map((e => e.frameId))); | |
| if (!s.size && !this.framesById.size) return; | |
| for (const [t, a] of this.framesById) s.has(t) && e.set(t, a); | |
| this.framesById.size, e.size; | |
| this.framesById = e, this.#T = null | |
| }).bind(this), Tab.delayForCleaningUpFrames)) | |
| } | |
| } | |
| class TabMonitor { | |
| tabsById = new Map; | |
| #w; | |
| #y; | |
| constructor() { | |
| this.#A(), this.#v() | |
| } | |
| get extensionIsPaired() { | |
| return this.#w | |
| } | |
| set extensionIsPaired(e) { | |
| this.#w = e, this.#F() | |
| } | |
| get nativeAppSupportsQRCodeScanning() { | |
| return this.#y | |
| } | |
| set nativeAppSupportsQRCodeScanning(e) { | |
| this.#y = e, this.#F() | |
| } | |
| get shouldEnableQRCodeScanning() { | |
| return this.#w && this.#y | |
| } | |
| get #M() { | |
| return [...this.tabsById.values()].flatMap((e => [...e.framesById.values()])) | |
| } | |
| #F() { | |
| const e = this.shouldEnableQRCodeScanning; | |
| return Promise.allSettled(this.#M.map((t => t.enableQRCodeScanning(e).catch((e => {}))))) | |
| } | |
| async #A() { | |
| const e = await chrome.tabs.query({}); | |
| for (const t of e) { | |
| const e = t.id, | |
| s = new Tab(e); | |
| s.update(null, t), this.tabsById.set(e, s); | |
| const a = await chrome.webNavigation.getAllFrames({ | |
| tabId: e | |
| }); | |
| for (const e of a) { | |
| if (void 0 === e.frameId) break; | |
| s.addNewFrame(this, e, t.status) | |
| } | |
| } | |
| } | |
| #v() { | |
| chrome.tabs.onCreated.addListener((e => { | |
| const t = e.id; | |
| this.tabsById.set(t, new Tab(t)) | |
| })), chrome.tabs.onUpdated.addListener(((e, t, s) => { | |
| this.ensureTabExists(e).update(t, s) | |
| })), chrome.tabs.onActivated.addListener((e => { | |
| this.ensureTabExists(e.tabId).activated(e) | |
| })), chrome.tabs.onRemoved.addListener(((e, t) => { | |
| this.tabsById.delete(e) | |
| })), chrome.webNavigation.onBeforeNavigate.addListener((e => { | |
| const t = e.tabId; | |
| this.ensureTabExists(t).addNewFrame(this, e) | |
| })), chrome.webNavigation.onCompleted.addListener((async e => { | |
| const t = e.tabId, | |
| s = e.frameId, | |
| a = this.ensureTabExists(t); | |
| try { | |
| await a.frameCompleted(this, s, e) | |
| } catch (e) {} | |
| })), chrome.webNavigation.onHistoryStateUpdated.addListener((async e => { | |
| const t = e.tabId, | |
| s = e.frameId, | |
| a = this.ensureTabExists(t); | |
| try { | |
| await a.frameUpdated(this, s, "updated", e) | |
| } catch (e) {} | |
| })), chrome.webNavigation.onTabReplaced.addListener((e => { | |
| const t = e.replacedTabId; | |
| this.tabsById.get(t).prepareForRemoval(), this.tabsById.delete(t); | |
| const s = e.tabId; | |
| this.tabsById.set(s, new Tab(s)) | |
| })) | |
| } | |
| async performInitialSetup() { | |
| for (const e of this.tabsById.values()) await e.injectContentScripts() | |
| } | |
| ensureTabExists(e) { | |
| let t = this.tabsById.get(e); | |
| return t || (t = new Tab(e), this.tabsById.set(e, t)), t | |
| } | |
| frameIsReadyToReceiveMessages(e, t) { | |
| return this.ensureTabExists(e).frameIsReadyToReceiveMessages(t) | |
| } | |
| } | |
| "function" == typeof importScripts && importScripts("/sjcl.js"); | |
| const CmdEndOp = 0, | |
| CmdUnused1 = 1, | |
| CmdChallengePIN = 2, | |
| CmdSetIconNTitle = 3, | |
| CmdGetLoginNames4URL = 4, | |
| CmdGetPassword4LoginName = 5, | |
| CmdSetPassword4LoginName_URL = 6, | |
| CmdNewAccount4URL = 7, | |
| CmdTabEvent = 8, | |
| CmdPasswordsDisabled = 9, | |
| CmdReloginNeeded = 10, | |
| CmdLaunchiCP = 11, | |
| CmdiCPStateChange = 12, | |
| CmdLaunchPasswordsApp = 13, | |
| CmdHello = 14, | |
| CmdOneTimeCodeAvailable = 15, | |
| CmdGetOneTimeCodes = 16, | |
| CmdDidFillOneTimeCode = 17, | |
| CmdSetUpTOTPGenerator = 18, | |
| CmdOpenURLInSafari = 1984, | |
| QueryStatus = { | |
| Success: 0, | |
| NoResults: 3 | |
| }; | |
| function cmd2string(e) { | |
| switch (e) { | |
| case 0: | |
| return "CmdEndOp"; | |
| case 1: | |
| return "CmdUnused1"; | |
| case 2: | |
| return "CmdChallengePIN"; | |
| case 3: | |
| return "CmdSetIconNTitle"; | |
| case 4: | |
| return "CmdGetLoginNames4URL"; | |
| case 5: | |
| return "CmdGetPassword4LoginName"; | |
| case 6: | |
| return "CmdSetPassword4LoginName_URL"; | |
| case 7: | |
| return "CmdNewAccount4URL"; | |
| case 8: | |
| return "CmdTabEvent"; | |
| case 9: | |
| return "CmdPasswordsDisabled"; | |
| case 10: | |
| return "CmdReloginNeeded"; | |
| case 11: | |
| return "CmdLaunchiCP"; | |
| case 12: | |
| return "CmdiCPStateChange"; | |
| case 13: | |
| return "CmdLaunchPasswordsApp"; | |
| case 14: | |
| return "CmdHello"; | |
| case 15: | |
| return "CmdOneTimeCodeAvailable"; | |
| case 16: | |
| return "CmdGetOneTimeCodes"; | |
| case 17: | |
| return "CmdDidFillOneTimeCode"; | |
| case 1984: | |
| return "CmdOpenURLInSafari"; | |
| default: | |
| return "Unknown Command" | |
| } | |
| } | |
| var actUnknown = -1, | |
| actDelete = 0, | |
| actUpdate = 1, | |
| actSearch = 2, | |
| actAddNew = 3, | |
| actMaybeAdd = 4, | |
| actGhostSearch = 5; | |
| const DefaultCapabilities = { | |
| shouldUseBase64: !1, | |
| secretSessionVersion: SecretSessionVersion.SRPWithOldVerification, | |
| canFillOneTimeCodes: !1, | |
| operatingSystem: {}, | |
| supportsSubURLs: !1, | |
| scanForOTPURI: !1 | |
| }, | |
| AmountOfTimeToBlockRefreshForNativeAppDisconnection = 5e3; | |
| let g_tabMonitor = new TabMonitor; | |
| var g_lastToolbarIconImageName, g_timeStartedFetchingCredentials, g_nativeAppPort = null, | |
| g_portToCompletionList = null, | |
| g_portToPopup = null, | |
| thePAKE = null, | |
| g_theState = ContextState.NotInSession, | |
| g_tabIdToURL = new Map, | |
| g_Stage1Logins = new Map, | |
| g_TabsToStateMap = new Map, | |
| g_ErrorReturned = !1, | |
| g_secretSession = null, | |
| g_nativeAppCapabilities = null, | |
| g_localizer = new Localizer, | |
| g_extensionSettings = new ExtensionSettings, | |
| g_urlToDownloadNativeSupport = "https://support.apple.com/kb/DL1455", | |
| g_isDark = !1; | |
| function setIsDark(e) { | |
| g_isDark !== e && (g_isDark = e, chrome.storage.local.set({ | |
| isDark: e | |
| })) | |
| } | |
| function imageDataForName(e) { | |
| if (e) return { | |
| 16: "images/" + (g_lastToolbarIconImageName = e) + (g_isDark ? "-darkmode" : "") + "_icon16.png", | |
| 32: "images/" + g_lastToolbarIconImageName + (g_isDark ? "-darkmode" : "") + "_icon32.png" | |
| } | |
| } | |
| function setUpEventListners() { | |
| chrome.runtime.onInstalled && chrome.runtime.onInstalled.addListener((async e => { | |
| await g_tabMonitor.performInitialSetup(), chrome.declarativeContent && chrome.declarativeContent.onPageChanged.removeRules(void 0, (function() { | |
| chrome.declarativeContent.onPageChanged.addRules([{ | |
| conditions: [new chrome.declarativeContent.PageStateMatcher({ | |
| pageUrl: { | |
| schemes: ["https", "http"] | |
| } | |
| })], | |
| actions: [new chrome.declarativeContent.ShowPageAction] | |
| }]) | |
| })), "install" === e.reason && g_extensionSettings.attemptToControlBrowserAutoFillSettings().then((e => {})).catch((e => {})) | |
| })), chrome.runtime.onSuspend && chrome.runtime.onSuspend.addListener((function() { | |
| g_tabIdToURL.clear(), g_Stage1Logins.clear(), g_TabsToStateMap.clear(), g_nativeAppPort.postMessage({ | |
| cmd: 0 | |
| }) | |
| })), chrome.runtime.onSuspendCanceled && chrome.runtime.onSuspendCanceled.addListener((function() {})), chrome.runtime.onUpdateAvailable && chrome.runtime.onUpdateAvailable.addListener((function() {})) | |
| } | |
| function secdSTATUS2string(e) { | |
| switch (e) { | |
| case 0: | |
| return "secdSTATUSsuccess"; | |
| case 1: | |
| return "genericError"; | |
| case 2: | |
| return "invalidParam"; | |
| case 3: | |
| return "itemNotFound"; | |
| case 4: | |
| return "failedToDelete"; | |
| case 5: | |
| return "failedToUpdate"; | |
| case 6: | |
| return "invalidMessageFormat"; | |
| case 7: | |
| return "duplicateItem"; | |
| case 8: | |
| return "unknownAction"; | |
| case 9: | |
| return "invalidSession" | |
| } | |
| } | |
| function checkForValidOS() { | |
| if ("MacIntel" === navigator.platform) return g_urlToDownloadNativeSupport = "https://www.apple.com/macos", !0; | |
| const e = new RegExp("\\(Windows\\s*\\w*\\s*(\\d*)\\.(\\d*)", "i").exec(navigator.userAgent); | |
| return null !== e && 3 === e.length && (e[1] >= 10 ? (g_urlToDownloadNativeSupport = "ms-windows-store://pdp/?productid=9PKTQ5699M62", !0) : !(e[1] < 6) && !(e[2] < 1)) | |
| } | |
| function setGlobalState(e, t) { | |
| g_theState = e, g_tabMonitor.extensionIsPaired = g_theState === ContextState.SessionKeySet, setToolbarIcon(g_theState === ContextState.SessionKeySet ? "PasswordsToolbar" : "PasswordsToolbarUnpaired"), t || sendMessageToPopup({ | |
| subject: "nativeConnectionStateChanged", | |
| state: g_theState, | |
| appStoreURL: g_urlToDownloadNativeSupport | |
| }) | |
| } | |
| function resetTheSession(e) { | |
| setGlobalState(e), g_secretSession = new SecretSession(g_nativeAppCapabilities) | |
| } | |
| function STATUSErrorReturned(e) { | |
| switch (secdSTATUS2string(e), g_theState) { | |
| case ContextState.IncompatibleOS: | |
| case ContextState.NativeSupportNotInstalled: | |
| case ContextState.CheckEngine: | |
| case ContextState.MSG1Set: | |
| case ContextState.ChallengeSent: | |
| break; | |
| case ContextState.SessionKeySet: | |
| g_ErrorReturned = !0, resetTheSession(ContextState.NotInSession); | |
| case ContextState.NotInSession: | |
| chrome.tabs.query({ | |
| active: !0, | |
| currentWindow: !0 | |
| }, (function(e) { | |
| setToolbarIcon("PasswordsToolbarUnpaired") | |
| })) | |
| } | |
| } | |
| function logMapElements(e, t, s) {} | |
| function consultStage1Logins(e, t) { | |
| return isStringEmpty(e) ? g_Stage1Logins.has(t) ? (LoginName = g_Stage1Logins.get(t), LoginName, g_Stage1Logins.delete(t), LoginName) : "" : e | |
| } | |
| function entriesFromLoginNames4URLData(e) { | |
| let t = e.Entries; | |
| return t || (t = [], Object.entries(e).sort().map((([e, s]) => { | |
| e.includes("Entry_") && t.push(s) | |
| })), t) | |
| } | |
| function setToolbarIcon(e) { | |
| chrome.action && chrome.action.setIcon({ | |
| path: imageDataForName(e) | |
| }) | |
| } | |
| function sendMessageToPopupAndCompletionList(e) { | |
| sendMessageToPopup(e), sendMessageToCompletionList(e) | |
| } | |
| function sendMessageToPopup(e) { | |
| if (g_portToPopup) try { | |
| g_portToPopup.postMessage(e) | |
| } catch (e) {} | |
| } | |
| function sendMessageToCompletionList(e) { | |
| if (g_portToCompletionList) try { | |
| g_portToCompletionList.postMessage(e) | |
| } catch (e) {} | |
| } | |
| function onSetUpTOTPContextMenuClicked(e, t) { | |
| if (g_theState !== ContextState.SessionKeySet) window.alert(g_localizer.getMessage("enableAutoFillPasswordsMessage")); | |
| else { | |
| const t = new URL(e.pageUrl); | |
| t.hostname, e.menuItemId, setUpTOTP(t.hostname, e.menuItemId) | |
| } | |
| } | |
| function connectToBackgroundNativeAppAndSetUpListeners() { | |
| setToolbarIcon("PasswordsToolbarUnpaired"), g_nativeAppCapabilities || (g_nativeAppCapabilities = DefaultCapabilities), g_localizer = new Localizer(g_nativeAppCapabilities), g_secretSession = new SecretSession(g_nativeAppCapabilities), chrome.runtime.onMessage.addListener(((e, t, s) => { | |
| const a = t.tab.id, | |
| n = t.frameId, | |
| r = new URL(t.url); | |
| if (r.hostname, t.tab.id, t.frameId, e.from, "content" === e.from) switch (e.subject, e.subject) { | |
| case "CmdCheckEstablishSession": | |
| CheckEstablishSession(); | |
| break; | |
| case "SaveStage1LoginName": | |
| g_tabIdToURL.has(a) && (strURL = g_tabIdToURL.get(a), g_Stage1Logins.delete(strURL), g_tabIdToURL.delete(a)), r.hostname, e.theLogin, g_tabIdToURL.set(a, r.hostname), g_Stage1Logins.set(r.hostname, e.theLogin); | |
| break; | |
| case "CmdGetPassword4LoginName": | |
| const o = JSON.stringify({ | |
| ACT: actSearch, | |
| URL: r.hostname, | |
| USR: e.theLogin | |
| }), | |
| i = g_secretSession.createSMSG(o), | |
| c = { | |
| cmd: 5, | |
| tabId: t.tab.id, | |
| frameId: t.frameId, | |
| url: e.theURL, | |
| payload: JSON.stringify({ | |
| QID: e.subject, | |
| SMSG: i | |
| }) | |
| }; | |
| e.subject, e.subject, g_nativeAppPort.postMessage(c); | |
| break; | |
| case "CmdSetPassword4LoginName_URL": | |
| case "CmdNewAccount4URL": | |
| if (g_theState === ContextState.SessionKeySet) { | |
| e.theNLogin, r.hostname; | |
| let s = consultStage1Logins(e.theNLogin, r.hostname); | |
| if (!isStringEmpty(s)) { | |
| let a = JSON.stringify({ | |
| ACT: actMaybeAdd, | |
| URL: "", | |
| USR: "", | |
| PWD: "", | |
| NURL: e.theNURL, | |
| NUSR: s, | |
| NPWD: e.theNPassword | |
| }), | |
| n = g_secretSession.createSMSG(a), | |
| r = { | |
| cmd: 6, | |
| tabId: t.tab.id, | |
| frameId: t.frameId, | |
| payload: JSON.stringify({ | |
| QID: e.subject, | |
| SMSG: n | |
| }) | |
| }; | |
| e.subject, g_nativeAppPort.postMessage(r) | |
| } | |
| } | |
| break; | |
| case "CmdSetIconNTitle": { | |
| let s = e.hostPageType; | |
| setIsDark(e.isDark); | |
| let a = !1; | |
| switch (s) { | |
| case WBSAutoFillFormTypeUndetermined: | |
| case WBSAutoFillFormTypeAutoFillableStandard: | |
| case WBSAutoFillFormTypeNonAutoFillable: | |
| a = !1; | |
| break; | |
| case WBSAutoFillFormTypeAutoFillableLogin: | |
| case WBSAutoFillFormTypeNewAccount: | |
| case WBSAutoFillFormTypeChangePassword: | |
| a = !0 | |
| } | |
| switch (g_TabsToStateMap.has(t.tab.id) && g_TabsToStateMap.get(t.tab.id) || g_TabsToStateMap.set(t.tab.id, a), r.hostname, t.tab.id, t.frameId, humanReadableFormType(e.hostPageType), e.hostPageType, e.hostPageType) { | |
| case WBSAutoFillFormTypeUndetermined: | |
| case WBSAutoFillFormTypeAutoFillableStandard: | |
| case WBSAutoFillFormTypeNonAutoFillable: | |
| break; | |
| case WBSAutoFillFormTypeAutoFillableLogin: | |
| case WBSAutoFillFormTypeNewAccount: | |
| case WBSAutoFillFormTypeChangePassword: | |
| let e = { | |
| cmd: 3, | |
| tabId: t.tab.id, | |
| frameId: t.frameId, | |
| payload: JSON.stringify({ | |
| TID: "CmdSetIconNTitle", | |
| URL: r.hostname | |
| }) | |
| }; | |
| JSON.stringify(e), g_nativeAppPort.postMessage(e) | |
| } | |
| } | |
| break; | |
| case "ThemeChanged": | |
| chrome.action && (setIsDark(e.isDark), chrome.action.setIcon({ | |
| path: imageDataForName(g_lastToolbarIconImageName) | |
| })); | |
| break; | |
| case "fillOneTimeCodeIntoForm": | |
| chrome.webNavigation.getFrame({ | |
| tabId: t.tab.id, | |
| frameId: t.frameId | |
| }, (s => { | |
| s.frameId = t.frameId, didFillOneTimeCode(e.oneTimeCode, { | |
| id: t.tab.id | |
| }, s) | |
| })); | |
| break; | |
| case "typedUserNameChanged": | |
| case "keydown": | |
| sendMessageToCompletionList(e); | |
| break; | |
| case "CmdAddSetUpTOTPContextMenu": | |
| const l = !1; | |
| if (!chrome.contextMenus) break; | |
| chrome.contextMenus.create({ | |
| title: l ? `${g_localizer.getMessage("divTOTPMenu")} (${e.totpSetupURL})` : g_localizer.getMessage("divTOTPMenu"), | |
| id: e.totpSetupURL, | |
| contexts: ["all"] | |
| }), chrome.contextMenus.onClicked.addListener(onSetUpTOTPContextMenuClicked); | |
| break; | |
| case "CmdRemoveSetUpTOTPContextMenus": | |
| chrome.contextMenus && chrome.contextMenus.removeAll(); | |
| break; | |
| case "getCapabilities": | |
| s(g_nativeAppCapabilities); | |
| break; | |
| case "readyToReceiveMessages": | |
| g_tabMonitor.frameIsReadyToReceiveMessages(a, n) | |
| } | |
| })); | |
| try { | |
| (g_nativeAppPort = chrome.runtime.connectNative("com.apple.passwordmanager")).onMessage.addListener((async function(e) { | |
| switch (JSON.stringify(e), chrome.storage.local.remove(["lastRetryTimestamp"]), cmd2string(e.cmd), e.cmd, e.cmd) { | |
| case 9: | |
| case 10: | |
| resetTheSession(ContextState.CheckEngine), chrome.tabs.query({ | |
| active: !0, | |
| currentWindow: !0 | |
| }, (function(e) { | |
| setToolbarIcon("PasswordsToolbarUnpaired") | |
| })), setGlobalState(ContextState.NotInSession, !0); | |
| break; | |
| case 2: | |
| switch (e.payload.QID, e.payload.QID) { | |
| case "m0": | |
| thePAKE = e.payload.PAKE, setGlobalState(ContextState.MSG1Set); | |
| break; | |
| case "m2": | |
| try { | |
| g_secretSession.processMessage(e.payload.PAKE); | |
| setGlobalState(ContextState.SessionKeySet), thePAKE = null | |
| } catch (e) { | |
| e.code, e.message, resetTheSession(ContextState.NotInSession) | |
| } | |
| } | |
| break; | |
| case 3: | |
| var t = RememberIC.UnknownPage; | |
| switch (e.payload, e.payload) { | |
| case "DoNotRemember": | |
| t = RememberIC.DoNotRemember; | |
| break; | |
| case "RememberLoginAndPassword": | |
| t = RememberIC.RememberLoginAndPassword; | |
| break; | |
| case "UnknownPage": | |
| t = RememberIC.UnknownPage; | |
| break; | |
| case "NoValueSet": | |
| t = RememberIC.NoValueSet, STATUSErrorReturned(e.STATUS) | |
| } | |
| try { | |
| await chrome.tabs.sendMessage(e.tabId, { | |
| from: "background", | |
| subject: "RememberICSelection", | |
| tabId: e.tabId, | |
| frameId: e.frameId, | |
| theRememberICSelection: t, | |
| capabilities: g_nativeAppCapabilities | |
| }, { | |
| frameId: e.frameId | |
| }) | |
| } catch (t) { | |
| e.tabId, e.frameId, t.message | |
| } | |
| break; | |
| case 4: | |
| t = RememberIC.UnknownPage; | |
| var s = [], | |
| a = [], | |
| n = [], | |
| r = e.payload, | |
| o = e.tabId, | |
| i = e.frameId, | |
| c = g_secretSession.parseSMSG(r.SMSG); | |
| switch ((d = JSON.parse(c)).STATUS) { | |
| case QueryStatus.Success: | |
| performance.now(); | |
| var l = entriesFromLoginNames4URLData(d); | |
| l.sort(((e, t) => e.USR.localeCompare(t.USR, void 0, { | |
| numeric: !0, | |
| sensitivity: "base" | |
| }))), l.forEach((e => { | |
| if ("Passwordsย notย saved" === e.USR) t = RememberIC.DoNotRemember; | |
| else if (s.push(e.USR), a.push(e.CDate || e.ModDate), n.push(e.sites[0]), "Not Included" === e.PWD) t = RememberIC.RememberLoginAndPassword; | |
| else t = RememberIC.UnknownPage | |
| })), sendMessageToPopupAndCompletionList({ | |
| from: "background", | |
| subject: "users", | |
| arrLoginNames: s, | |
| arrDates: a, | |
| arrHLDs: n, | |
| tabId: o, | |
| frameId: i, | |
| theRememberICSelection: t | |
| }); | |
| break; | |
| case QueryStatus.NoResults: | |
| sendMessageToPopupAndCompletionList({ | |
| from: "background", | |
| subject: "users", | |
| arrDates: [], | |
| tabId: o, | |
| frameId: i, | |
| arrLoginNames: [], | |
| arrHLDs: [], | |
| theRememberICSelection: RememberIC.UnknownPage | |
| }); | |
| break; | |
| default: | |
| STATUSErrorReturned(d.STATUS) | |
| } | |
| break; | |
| case 5: | |
| var d; | |
| r = e.payload, c = g_secretSession.parseSMSG(r.SMSG); | |
| switch ((d = JSON.parse(c)).STATUS) { | |
| case QueryStatus.Success: { | |
| const t = e.url, | |
| s = entriesFromLoginNames4URLData(d).find((e => e.sites.includes(t))); | |
| s && sendUsernameAndPasswordToFrameForFilling(e.tabId, e.frameId, t, s.USR, s.PWD); | |
| break | |
| } | |
| case QueryStatus.NoResults: | |
| break; | |
| default: | |
| STATUSErrorReturned(d.STATUS) | |
| } | |
| break; | |
| case 16: | |
| handleGetOneTimeCodesCommand(e); | |
| break; | |
| case 8: | |
| case 7: | |
| case 6: | |
| break; | |
| case 14: | |
| g_nativeAppCapabilities = e.capabilities ? e.capabilities : DefaultCapabilities, g_localizer = new Localizer(g_nativeAppCapabilities), g_tabMonitor.nativeAppSupportsQRCodeScanning = g_nativeAppCapabilities.scanForOTPURI, sendMessageToPopupAndCompletionList({ | |
| subject: "hello", | |
| capabilities: g_nativeAppCapabilities | |
| }), resetTheSession(ContextState.NotInSession); | |
| break; | |
| case 15: | |
| handleOneTimeCodeAvailableCommand(e); | |
| break; | |
| case 17: | |
| handleDidFillOneTimeCodeCommand(e); | |
| break; | |
| case 18: { | |
| let e = g_secretSession.parseSMSG(r.SMSG), | |
| t = JSON.parse(e); | |
| if (JSON.stringify(t), t.STATUS === QueryStatus.Success); | |
| else STATUSErrorReturned(t.STATUS); | |
| break | |
| } | |
| default: | |
| cmd2string(e.cmd) | |
| } | |
| })), g_nativeAppPort.onDisconnect.addListener((e => { | |
| const t = chrome.runtime.lastError; | |
| t.message, setTimeout((() => { | |
| if (t.message, "Native host has exited." === t.message) chrome.storage.local.get(["lastRetryTimestamp"], (e => { | |
| const t = e.lastRetryTimestamp; | |
| let s = !1; | |
| if (t) { | |
| s = Date.now() - t > 5e3 | |
| } else s = !0; | |
| s ? (chrome.storage.local.set({ | |
| lastRetryTimestamp: Date.now() | |
| }), connectToBackgroundNativeAppAndSetUpListeners()) : (chrome.storage.local.remove(["lastRetryTimestamp"]), resetTheSession(ContextState.NativeSupportNotInstalled)) | |
| })); | |
| else t.message, resetTheSession(ContextState.NativeSupportNotInstalled) | |
| }), 1e3) | |
| })), g_nativeAppPort.postMessage({ | |
| cmd: 14 | |
| }) | |
| } catch (e) { | |
| resetTheSession(ContextState.NativeSupportNotInstalled) | |
| } | |
| } | |
| async function sendUsernameAndPasswordToFrameForFilling(t, s, a, n, r) { | |
| try { | |
| await chrome.tabs.sendMessage(t, { | |
| from: "background", | |
| subject: "fillPassword", | |
| tabId: t, | |
| frameId: s, | |
| username: n, | |
| password: r, | |
| url: a | |
| }, { | |
| frameId: s | |
| }) | |
| } catch (t) { | |
| e.message | |
| } | |
| } | |
| function handleOneTimeCodeAvailableCommand(e) { | |
| getCurrentActiveTabAndFrame().then((e => getOneTimeCodes(e[0], e[1], null))).catch((e => {})) | |
| } | |
| function handleGetOneTimeCodesCommand(e) { | |
| let t = null; | |
| try { | |
| t = JSON.parse(g_secretSession.parseSMSG(e.payload.SMSG)) | |
| } catch (e) { | |
| return | |
| } | |
| let s = t.STATUS; | |
| if (s !== QueryStatus.Success) return s !== QueryStatus.NoResults && STATUSErrorReturned(s), void sendMessageToPopupAndCompletionList({ | |
| from: "background", | |
| subject: "oneTimeCodes", | |
| oneTimeCodes: [] | |
| }); | |
| let a = t.Entries; | |
| a && sendMessageToPopupAndCompletionList({ | |
| from: "background", | |
| subject: "oneTimeCodes", | |
| oneTimeCodes: a | |
| }) | |
| } | |
| async function handleDidFillOneTimeCodeCommand(e) { | |
| let t = null; | |
| try { | |
| t = JSON.parse(g_secretSession.parseSMSG(e.payload.SMSG)) | |
| } catch (e) { | |
| return | |
| } | |
| let s = t.STATUS; | |
| if (s !== QueryStatus.Success) return void(s !== QueryStatus.NoResults && STATUSErrorReturned(s)); | |
| let a = t.Entries; | |
| if (a && a.length) try { | |
| await chrome.tabs.sendMessage(e.tabId, { | |
| subject: "fillCurrentTOTPCodeIntoForm", | |
| oneTimeCodes: a | |
| }, { | |
| frameId: e.frameId | |
| }) | |
| } catch (e) {} | |
| } | |
| function CheckEstablishSession() { | |
| if (g_theState === ContextState.NotInSession) ChallengePIN() | |
| } | |
| function startiCloudControlPanel() { | |
| var e = { | |
| cmd: 11 | |
| }; | |
| JSON.stringify(e), g_nativeAppPort.postMessage(e) | |
| } | |
| function startPasswordsApp() { | |
| let e = { | |
| cmd: 13 | |
| }; | |
| JSON.stringify(e), g_nativeAppPort.postMessage(e) | |
| } | |
| function setUpTOTP(e, t) { | |
| if (!g_nativeAppCapabilities.scanForOTPURI) return; | |
| const s = { | |
| cmd: 13, | |
| setUpTOTPPageURL: e, | |
| setUpTOTPURI: t | |
| }; | |
| JSON.stringify(s), g_nativeAppPort.postMessage(s) | |
| } | |
| async function getUsernamesForMainFrameOfActiveTab() { | |
| if (g_theState !== ContextState.SessionKeySet) return; | |
| const e = await chrome.tabs.query({ | |
| active: !0, | |
| currentWindow: !0 | |
| }); | |
| if (!e.length) return; | |
| const t = e[0].id; | |
| GetLoginNames4URL(urlFromURLString((await chrome.webNavigation.getFrame({ | |
| tabId: t, | |
| frameId: 0 | |
| })).url).hostname, t, 0) | |
| } | |
| function GetLoginNames4URL(e, t, s) { | |
| let a = JSON.stringify({ | |
| ACT: actGhostSearch, | |
| URL: e | |
| }), | |
| n = g_secretSession.createSMSG(a), | |
| r = { | |
| cmd: 4, | |
| url: e, | |
| tabId: t, | |
| frameId: s, | |
| payload: JSON.stringify({ | |
| QID: "CmdGetLoginNames4URL", | |
| SMSG: n | |
| }) | |
| }; | |
| g_timeStartedFetchingCredentials = performance.now(), g_nativeAppPort.postMessage(r) | |
| } | |
| function getOneTimeCodes(e, t, s) { | |
| getAllParentFrameURLsOfFrame(e, t).then((a => { | |
| let n = { | |
| ACT: actGhostSearch, | |
| TYPE: "oneTimeCodes", | |
| frameURLs: a | |
| }; | |
| s && (n.username = s); | |
| let r = g_secretSession.createSMSG(n), | |
| o = { | |
| cmd: 16, | |
| tabId: e.id, | |
| frameId: t.frameId, | |
| payload: JSON.stringify({ | |
| QID: "CmdGetOneTimeCodes", | |
| SMSG: r | |
| }) | |
| }; | |
| g_nativeAppPort.postMessage(o) | |
| })).catch((e => {})) | |
| } | |
| function didFillOneTimeCode(e, t, s) { | |
| if ("totp" === e.source) getAllParentFrameURLsOfFrame(t, s).then((a => { | |
| let n = { | |
| ACT: actSearch, | |
| TYPE: "oneTimeCodes", | |
| frameURLs: a | |
| }, | |
| r = e.username; | |
| r && (n.username = r); | |
| let o = g_secretSession.createSMSG(n), | |
| i = { | |
| cmd: 17, | |
| tabId: t.id, | |
| frameId: s.frameId, | |
| payload: JSON.stringify({ | |
| QID: "CmdDidFillOneTimeCode", | |
| SMSG: o | |
| }) | |
| }; | |
| g_nativeAppPort.postMessage(i) | |
| })).catch((e => {})) | |
| } | |
| function openURLInSafari(e) { | |
| g_nativeAppPort.postMessage({ | |
| cmd: 1984, | |
| url: e | |
| }) | |
| } | |
| function getAllParentFrameURLsOfFrame(e, t) { | |
| let s = e.id; | |
| return new Promise((a => { | |
| -1 !== t.parentFrameId ? chrome.webNavigation.getFrame({ | |
| tabId: s, | |
| frameId: t.parentFrameId | |
| }, (s => { | |
| getAllParentFrameURLsOfFrame(e, s).then((e => { | |
| a([t.url].concat(e)) | |
| })).catch((e => {})) | |
| })) : a([t.url]) | |
| })) | |
| } | |
| function ChallengePIN() { | |
| if (g_theState === ContextState.NotInSession) { | |
| var e = { | |
| QID: "m0", | |
| PAKE: g_secretSession.initialMessage(), | |
| HSTBRSR: g_localizer.getMessage("browserName") | |
| }, | |
| t = { | |
| cmd: 2, | |
| msg: JSON.stringify(e) | |
| }; | |
| setGlobalState(ContextState.ChallengeSent); | |
| try { | |
| g_nativeAppPort.postMessage(t) | |
| } catch (e) { | |
| e.message, resetTheSession(ContextState.NativeSupportNotInstalled) | |
| } | |
| } | |
| } | |
| function PINSet(e) { | |
| g_secretSession.setPin(e); | |
| try { | |
| let e = { | |
| QID: "m2", | |
| PAKE: g_secretSession.processMessage(thePAKE) | |
| }, | |
| t = { | |
| cmd: 2, | |
| msg: JSON.stringify(e) | |
| }; | |
| g_nativeAppPort.postMessage(t) | |
| } catch (e) { | |
| e.code, e.message, resetTheSession(ContextState.NotInSession) | |
| } | |
| } | |
| function getCurrentActiveTabAndFrame() { | |
| return new Promise((e => { | |
| chrome.tabs.query({ | |
| active: !0, | |
| currentWindow: !0 | |
| }, (function(t) { | |
| chrome.webNavigation.getAllFrames({ | |
| tabId: t[0].id | |
| }, (function(s) { | |
| e([t[0], s[0]]) | |
| })) | |
| })) | |
| })) | |
| } | |
| function getCurrentActiveTabAndItsFrames() { | |
| return new Promise((e => { | |
| chrome.tabs.query({ | |
| active: !0, | |
| currentWindow: !0 | |
| }, (function(t) { | |
| chrome.webNavigation.getAllFrames({ | |
| tabId: t[0].id | |
| }, (function(s) { | |
| e([t[0], s]) | |
| })) | |
| })) | |
| })) | |
| } | |
| function canFillOneTimeCodes() { | |
| return (g_nativeAppCapabilities || DefaultCapabilities).canFillOneTimeCodes | |
| } | |
| function setUpPortToCompetionList(e) { | |
| g_portToCompletionList = e, e.onMessage.addListener((async function(t) { | |
| switch (JSON.stringify(t), t.subject) { | |
| case "getContextAndMetadataFromContent": | |
| getCurrentActiveTabAndItsFrames().then((function(t) { | |
| const s = t[0].id; | |
| for (const a of t[1]) { | |
| const t = a.frameId; | |
| chrome.tabs.sendMessage(s, { | |
| from: "background", | |
| subject: "getContextAndMetadataForActiveTextField" | |
| }, { | |
| frameId: t | |
| }, (function(a) { | |
| a && e.postMessage({ | |
| subject: "replyForGetContextAndMetadataFromContent", | |
| state: g_theState, | |
| tabId: s, | |
| frameId: t, | |
| url: a.url, | |
| textFieldMetadata: a.textFieldMetadata, | |
| formMetadata: a.formMetadata, | |
| presetUserName: a.presetUserName, | |
| hostname: a.hostname, | |
| canFillOneTimeCodes: canFillOneTimeCodes() | |
| }) | |
| })) | |
| } | |
| })).catch((e => {})); | |
| break; | |
| case "GetLoginNames4URL": | |
| GetLoginNames4URL(t.hostname, t.tabId, t.frameId); | |
| break; | |
| case "getOneTimeCodes": | |
| const s = t.tabId, | |
| a = t.frameId; | |
| chrome.webNavigation.getFrame({ | |
| tabId: s, | |
| frameId: a | |
| }, (e => { | |
| e.frameId = a, getOneTimeCodes({ | |
| id: t.tabId | |
| }, e, t.username) | |
| })); | |
| break; | |
| case "openPasswordManagerAndDismissCompletionList": | |
| startPasswordsApp(); | |
| try { | |
| await chrome.tabs.sendMessage(t.tabId, { | |
| subject: "dismissCompletionList" | |
| }, { | |
| frameId: t.frameId | |
| }) | |
| } catch (e) {} | |
| break; | |
| case "openURLInSafari": | |
| openURLInSafari(t.url); | |
| break; | |
| case "resizeCompletionList": | |
| case "fillLoginIntoForm": | |
| case "fillOneTimeCodeIntoForm": | |
| case "dismissCompletionList": | |
| try { | |
| await chrome.tabs.sendMessage(t.tabId, t, { | |
| frameId: t.frameId | |
| }) | |
| } catch (e) {} | |
| } | |
| })), e.onDisconnect.addListener((e => { | |
| e === g_portToCompletionList && (g_portToCompletionList = null) | |
| })), sendMessageToCompletionList({ | |
| subject: "hello", | |
| capabilities: g_nativeAppCapabilities | |
| }) | |
| } | |
| function setUpPortToPopup(e) { | |
| g_portToPopup = e, e.onMessage.addListener((function(t) { | |
| switch (JSON.stringify(t), t.subject) { | |
| case "getInitialPopupState": | |
| e.postMessage({ | |
| subject: "nativeConnectionStateChanged", | |
| state: g_theState, | |
| appStoreURL: g_urlToDownloadNativeSupport | |
| }); | |
| break; | |
| case "tryToEstablishNativeConnectionInResponseToUserActivatingPopup": | |
| chrome.storage.local.set({ | |
| lastRetryTimestamp: Date.now() | |
| }), connectToBackgroundNativeAppAndSetUpListeners(); | |
| break; | |
| case "challengePIN": | |
| ChallengePIN(); | |
| break; | |
| case "userEnteredPIN": | |
| PINSet(t.pin); | |
| break; | |
| case "GetLoginNames4URL": | |
| GetLoginNames4URL(t.hostname, t.tabId, t.frameId); | |
| break; | |
| case "openPasswordManager": | |
| startPasswordsApp(); | |
| break; | |
| case "startiCloudControlPanel": | |
| startiCloudControlPanel(); | |
| break; | |
| case "SetUpTOTP": | |
| setUpTOTP(t.theURL, t.theTOTPURI); | |
| break; | |
| case "openURLInSafari": | |
| openURLInSafari(t.url) | |
| } | |
| })), e.onDisconnect.addListener((function() { | |
| g_theState === ContextState.MSG1Set && PINSet(""), g_portToPopup = null | |
| })), sendMessageToPopup({ | |
| subject: "hello", | |
| capabilities: g_nativeAppCapabilities | |
| }) | |
| } | |
| chrome.storage.local.get("isDark", (function(e) { | |
| void 0 !== e.isDark && (g_isDark = e.isDark), g_lastToolbarIconImageName && setToolbarIcon(g_lastToolbarIconImageName) | |
| })), setUpEventListners(), checkForValidOS() ? connectToBackgroundNativeAppAndSetUpListeners() : (chrome.storage.local.get("hideUnsupportedOSPrompt", (function(e) { | |
| e.hideUnsupportedOSPrompt || (chrome.storage.local.set({ | |
| hideUnsupportedOSPrompt: 1 | |
| }), window.alert(g_localizer.getMessage("unsupportedOS"))) | |
| })), setGlobalState(ContextState.IncompatibleOS)), chrome.windows.onFocusChanged.addListener((async e => { | |
| if (!g_nativeAppPort || e === chrome.windows.WINDOW_ID_NONE) return; | |
| let t = await chrome.tabs.query({ | |
| active: !0, | |
| currentWindow: !0 | |
| }); | |
| if (t.length < 1) return; | |
| const s = t[0].id; | |
| if (!s) return; | |
| const a = { | |
| cmd: 8, | |
| tabId: s, | |
| event: 1 | |
| }; | |
| JSON.stringify(a), g_nativeAppPort.postMessage(a) | |
| })), chrome.tabs.onActivated.addListener((e => { | |
| if (JSON.stringify(e), !g_nativeAppPort) return; | |
| let t = { | |
| cmd: 8, | |
| tabId: e.tabId, | |
| event: 1 | |
| }; | |
| JSON.stringify(t), g_nativeAppPort.postMessage(t) | |
| })), chrome.tabs.onRemoved.addListener(((e, t) => { | |
| if (JSON.stringify(t), !g_nativeAppPort) return; | |
| let s = { | |
| cmd: 8, | |
| tabId: e, | |
| event: 0 | |
| }; | |
| JSON.stringify(s), g_nativeAppPort.postMessage(s), g_TabsToStateMap.delete(e) | |
| })), chrome.runtime.onConnect.addListener((function(e) { | |
| e.name, "completionList" === e.name ? setUpPortToCompetionList(e) : "popup" === e.name ? setUpPortToPopup(e) : e.name | |
| })); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function lookUpSpecifier(e, r) { | |
| return r ? (mapEntry = e[r], mapEntry ? mapEntry.valueSpecifier : null) : null | |
| } | |
| function specifierForAutocompleteToken(e) { | |
| return e ? lookUpSpecifier(autocompleteTokenMap, e) : null | |
| } | |
| function specifierForFieldLabel(e) { | |
| return e ? lookUpSpecifier(fieldLabelMap, e) : null | |
| } | |
| function findValueSpecifierForKey(e) { | |
| let r = specifierForAutocompleteToken(e); | |
| return r || specifierForFieldLabel(e) | |
| } | |
| var PatternMatcherClass = function(e) { | |
| this._words = e | |
| }; | |
| PatternMatcherClass.prototype = { | |
| _resultFromMatch: function(e) { | |
| if (!e) return null; | |
| if (specifier = findValueSpecifierForKey(e), !specifier) return [e, "", "", ""]; | |
| return [e, specifier.property || "", specifier.category || "", specifier.parentCategory || ""] | |
| }, | |
| longestMatch: function(e) { | |
| let r = null, | |
| t = 0; | |
| for (let n of this._words) { | |
| let a = n.length; | |
| a < t || (regex = RegExp("\\b" + n + "\\b", "i"), regex.test(e) && (r = n, t = a)) | |
| } | |
| return r ? this._resultFromMatch(r) : null | |
| }, | |
| searchReverse: function(e) { | |
| let r = null; | |
| for (let t = this._words.length - 1; t >= 0; --t) { | |
| let n = this._words[t]; | |
| if (regex = RegExp("\\b" + n + "\\b", "i"), regex.test(e)) { | |
| r = n; | |
| break | |
| } | |
| } | |
| return r ? this._resultFromMatch(r) : null | |
| } | |
| }; | |
| var ValueSpecifier = function(e, r, t, n, a) { | |
| this.property = e, this.component = r, this.label = t, this.category = n, this.parentProperty = a | |
| }, | |
| MapEntry = function(e, r, t) { | |
| this.keyLength = e, this.key = r, this.valueSpecifier = t | |
| }, | |
| Map = function(e) { | |
| this.mapEntries = e, this.entryCount = e.length | |
| }, | |
| valueSpecifiers = [new ValueSpecifier("FullNameComposite", null, null, "FullNameComposite", null), new ValueSpecifier("First", null, null, "First", "FullNameComposite"), new ValueSpecifier("Middle", null, null, "Middle", "FullNameComposite"), new ValueSpecifier("Last", null, null, "Last", "FullNameComposite"), new ValueSpecifier("Birthday", null, null, "Birthday", null), new ValueSpecifier("JobTitle", null, null, "JobTitle", null), new ValueSpecifier("Email", null, null, "Email", null), new ValueSpecifier("Address", "Street", null, "AddressStreet", null), new ValueSpecifier("Address", "City", null, "AddressCity", null), new ValueSpecifier("Address", "State", null, "AddressState", null), new ValueSpecifier("Address", "ZIP", null, "AddressZIP", null), new ValueSpecifier("Address", "Country", null, "AddressCountry", null), new ValueSpecifier("Phone", null, null, "Phone", null), new ValueSpecifier("Organization", null, null, "Organization", null), new ValueSpecifier("Phone", null, "_$!<Home>!$_", "Phone_$!<Home>!$_", null), new ValueSpecifier("Phone", null, "_$!<Work>!$_", "Phone_$!<Work>!$_", null), new ValueSpecifier("Phone", null, "_$!<Mobile>!$_", "Phone_$!<Mobile>!$_", null), new ValueSpecifier("Phone", null, "_$!<Pager>!$_", "Phone_$!<Pager>!$_", null), new ValueSpecifier("<Invalid>", null, null, "<Invalid>", null), new ValueSpecifier("InstantMessage", "AIMInstant", null, "InstantMessageAIMInstant", null), new ValueSpecifier("InstantMessage", "ICQInstant", null, "InstantMessageICQInstant", null), new ValueSpecifier("InstantMessage", "JabberInstant", null, "InstantMessageJabberInstant", null), new ValueSpecifier("InstantMessage", "MSNInstant", null, "InstantMessageMSNInstant", null), new ValueSpecifier("InstantMessage", "QQInstant", null, "InstantMessageQQInstant", null), new ValueSpecifier("InstantMessage", "SkypeInstant", null, "InstantMessageSkypeInstant", null), new ValueSpecifier("URLs", null, "_$!<HomePage>!$_", "URLs_$!<HomePage>!$_", null)], | |
| autocompleteTokenMap = { | |
| "additional-name": new MapEntry(15, "additional-name", valueSpecifiers[2]), | |
| "additional-name-initial": new MapEntry(23, "additional-name-initial", valueSpecifiers[2]), | |
| "address-line1": new MapEntry(13, "address-line1", valueSpecifiers[7]), | |
| "address-line2": new MapEntry(13, "address-line2", valueSpecifiers[7]), | |
| "address-line3": new MapEntry(13, "address-line3", valueSpecifiers[7]), | |
| "administrative-area": new MapEntry(19, "administrative-area", valueSpecifiers[9]), | |
| bday: new MapEntry(4, "bday", valueSpecifiers[4]), | |
| "bday-day": new MapEntry(8, "bday-day", valueSpecifiers[4]), | |
| "bday-month": new MapEntry(10, "bday-month", valueSpecifiers[4]), | |
| "bday-year": new MapEntry(9, "bday-year", valueSpecifiers[4]), | |
| birthday: new MapEntry(8, "birthday", valueSpecifiers[4]), | |
| "birthday-day": new MapEntry(12, "birthday-day", valueSpecifiers[4]), | |
| "birthday-month": new MapEntry(14, "birthday-month", valueSpecifiers[4]), | |
| "birthday-year": new MapEntry(13, "birthday-year", valueSpecifiers[4]), | |
| city: new MapEntry(4, "city", valueSpecifiers[8]), | |
| country: new MapEntry(7, "country", valueSpecifiers[11]), | |
| "country-name": new MapEntry(12, "country-name", valueSpecifiers[11]), | |
| email: new MapEntry(5, "email", valueSpecifiers[6]), | |
| "family-name": new MapEntry(11, "family-name", valueSpecifiers[3]), | |
| "given-name": new MapEntry(10, "given-name", valueSpecifiers[1]), | |
| locality: new MapEntry(8, "locality", valueSpecifiers[8]), | |
| "middle-initial": new MapEntry(14, "middle-initial", valueSpecifiers[2]), | |
| "middle-name": new MapEntry(11, "middle-name", valueSpecifiers[2]), | |
| name: new MapEntry(4, "name", valueSpecifiers[0]), | |
| "name-full": new MapEntry(9, "name-full", valueSpecifiers[0]), | |
| org: new MapEntry(3, "org", valueSpecifiers[13]), | |
| organization: new MapEntry(12, "organization", valueSpecifiers[13]), | |
| "organization-title": new MapEntry(18, "organization-title", valueSpecifiers[5]), | |
| "phone-area-code": new MapEntry(15, "phone-area-code", valueSpecifiers[12]), | |
| "phone-country-code": new MapEntry(18, "phone-country-code", valueSpecifiers[12]), | |
| "phone-extension": new MapEntry(15, "phone-extension", valueSpecifiers[12]), | |
| "phone-full": new MapEntry(10, "phone-full", valueSpecifiers[12]), | |
| "phone-local": new MapEntry(11, "phone-local", valueSpecifiers[12]), | |
| "phone-local-prefix": new MapEntry(18, "phone-local-prefix", valueSpecifiers[12]), | |
| "phone-local-suffix": new MapEntry(18, "phone-local-suffix", valueSpecifiers[12]), | |
| "phone-national": new MapEntry(14, "phone-national", valueSpecifiers[12]), | |
| "postal-code": new MapEntry(11, "postal-code", valueSpecifiers[10]), | |
| province: new MapEntry(8, "province", valueSpecifiers[9]), | |
| region: new MapEntry(6, "region", valueSpecifiers[9]), | |
| state: new MapEntry(5, "state", valueSpecifiers[9]), | |
| "street-address": new MapEntry(14, "street-address", valueSpecifiers[7]), | |
| surname: new MapEntry(7, "surname", valueSpecifiers[3]), | |
| tel: new MapEntry(3, "tel", valueSpecifiers[12]), | |
| "tel-area-code": new MapEntry(13, "tel-area-code", valueSpecifiers[12]), | |
| "tel-country-code": new MapEntry(16, "tel-country-code", valueSpecifiers[12]), | |
| "tel-extension": new MapEntry(13, "tel-extension", valueSpecifiers[12]), | |
| "tel-local": new MapEntry(9, "tel-local", valueSpecifiers[12]), | |
| "tel-local-prefix": new MapEntry(16, "tel-local-prefix", valueSpecifiers[12]), | |
| "tel-local-suffix": new MapEntry(16, "tel-local-suffix", valueSpecifiers[12]), | |
| "tel-national": new MapEntry(12, "tel-national", valueSpecifiers[12]) | |
| }, | |
| fieldLabelMap = { | |
| "1รจre adresse": new MapEntry(12, "1รจre adresse", valueSpecifiers[7]), | |
| "2ยบ nome": new MapEntry(7, "2ยบ nome", valueSpecifiers[2]), | |
| Beruf: new MapEntry(5, "Beruf", valueSpecifiers[5]), | |
| Berufsbezeichnung: new MapEntry(17, "Berufsbezeichnung", valueSpecifiers[5]), | |
| Bundesland: new MapEntry(10, "Bundesland", valueSpecifiers[9]), | |
| Bundesstaat: new MapEntry(11, "Bundesstaat", valueSpecifiers[9]), | |
| CAP: new MapEntry(3, "CAP", valueSpecifiers[10]), | |
| "E-Mail Adresse": new MapEntry(14, "E-Mail Adresse", valueSpecifiers[6]), | |
| "E-Mail-Adresse": new MapEntry(14, "E-Mail-Adresse", valueSpecifiers[6]), | |
| Efternavn: new MapEntry(9, "Efternavn", valueSpecifiers[3]), | |
| "Email ใขใใฌใน": new MapEntry(10, "Email ใขใใฌใน", valueSpecifiers[6]), | |
| "Emailใขใใฌใน": new MapEntry(9, "Emailใขใใฌใน", valueSpecifiers[6]), | |
| "Eใกใผใซใขใใฌใน": new MapEntry(8, "Eใกใผใซใขใใฌใน", valueSpecifiers[6]), | |
| "FAX็ชๅท": new MapEntry(5, "FAX็ชๅท", valueSpecifiers[12]), | |
| Familienname: new MapEntry(12, "Familienname", valueSpecifiers[3]), | |
| Fon: new MapEntry(3, "Fon", valueSpecifiers[12]), | |
| GSM: new MapEntry(3, "GSM", valueSpecifiers[16]), | |
| Geburtsdatum: new MapEntry(12, "Geburtsdatum", valueSpecifiers[4]), | |
| Geburtstag: new MapEntry(10, "Geburtstag", valueSpecifiers[4]), | |
| Handy: new MapEntry(5, "Handy", valueSpecifiers[16]), | |
| Initialen: new MapEntry(9, "Initialen", valueSpecifiers[2]), | |
| Mittelname: new MapEntry(10, "Mittelname", valueSpecifiers[2]), | |
| "Mobilfunk-Vorwahl": new MapEntry(17, "Mobilfunk-Vorwahl", valueSpecifiers[16]), | |
| "Mobiltelefon-Vorwahl": new MapEntry(20, "Mobiltelefon-Vorwahl", valueSpecifiers[16]), | |
| NDT: new MapEntry(3, "NDT", valueSpecifiers[17]), | |
| NPA: new MapEntry(3, "NPA", valueSpecifiers[10]), | |
| Nachname: new MapEntry(8, "Nachname", valueSpecifiers[3]), | |
| "Netzbetreiber-Vorwahl": new MapEntry(21, "Netzbetreiber-Vorwahl", valueSpecifiers[16]), | |
| PLZ: new MapEntry(3, "PLZ", valueSpecifiers[10]), | |
| "PSฤ": new MapEntry(3, "PSฤ", valueSpecifiers[10]), | |
| "Pager-Vorwahl": new MapEntry(13, "Pager-Vorwahl", valueSpecifiers[17]), | |
| Postleitzahl: new MapEntry(12, "Postleitzahl", valueSpecifiers[10]), | |
| "Rufnummer (geschรคftlich)": new MapEntry(24, "Rufnummer (geschรคftlich)", valueSpecifiers[15]), | |
| "Rufnummer (privat)": new MapEntry(18, "Rufnummer (privat)", valueSpecifiers[14]), | |
| "Rufnummer abends": new MapEntry(16, "Rufnummer abends", valueSpecifiers[14]), | |
| "Rufnummer dienstlich": new MapEntry(20, "Rufnummer dienstlich", valueSpecifiers[15]), | |
| "Rufnummer geschรคftlich": new MapEntry(22, "Rufnummer geschรคftlich", valueSpecifiers[15]), | |
| "Rufnummer privat": new MapEntry(16, "Rufnummer privat", valueSpecifiers[14]), | |
| "Rufnummer tagsรผber": new MapEntry(18, "Rufnummer tagsรผber", valueSpecifiers[15]), | |
| Stadt: new MapEntry(5, "Stadt", valueSpecifiers[8]), | |
| "Str.": new MapEntry(4, "Str.", valueSpecifiers[7]), | |
| Strasse: new MapEntry(7, "Strasse", valueSpecifiers[7]), | |
| "Straรe": new MapEntry(6, "Straรe", valueSpecifiers[7]), | |
| Telefax: new MapEntry(7, "Telefax", valueSpecifiers[12]), | |
| "Telefon (geschรคftlich)": new MapEntry(22, "Telefon (geschรคftlich)", valueSpecifiers[15]), | |
| "Telefon (privat)": new MapEntry(16, "Telefon (privat)", valueSpecifiers[14]), | |
| "Telefon abends": new MapEntry(14, "Telefon abends", valueSpecifiers[14]), | |
| "Telefon dienstlich": new MapEntry(18, "Telefon dienstlich", valueSpecifiers[15]), | |
| "Telefon geschรคftlich": new MapEntry(20, "Telefon geschรคftlich", valueSpecifiers[15]), | |
| "Telefon privat": new MapEntry(14, "Telefon privat", valueSpecifiers[14]), | |
| "Telefon tagsรผber": new MapEntry(16, "Telefon tagsรผber", valueSpecifiers[15]), | |
| "Tรคtigkeit": new MapEntry(9, "Tรคtigkeit", valueSpecifiers[5]), | |
| "Voller Name": new MapEntry(11, "Voller Name", valueSpecifiers[0]), | |
| "Vollstรคndiger Name": new MapEntry(18, "Vollstรคndiger Name", valueSpecifiers[0]), | |
| Vorname: new MapEntry(7, "Vorname", valueSpecifiers[1]), | |
| Vorwahl: new MapEntry(7, "Vorwahl", valueSpecifiers[12]), | |
| "Vorwahl (Mobil)": new MapEntry(15, "Vorwahl (Mobil)", valueSpecifiers[16]), | |
| "Vorwahl (Mobilfunk)": new MapEntry(19, "Vorwahl (Mobilfunk)", valueSpecifiers[16]), | |
| "Vorwahl (Mobiltelefon)": new MapEntry(22, "Vorwahl (Mobiltelefon)", valueSpecifiers[16]), | |
| "Vorwahl (Netzbetreiber)": new MapEntry(23, "Vorwahl (Netzbetreiber)", valueSpecifiers[16]), | |
| "Vorwahl (Pager)": new MapEntry(15, "Vorwahl (Pager)", valueSpecifiers[17]), | |
| "Vorwahl Mobil": new MapEntry(13, "Vorwahl Mobil", valueSpecifiers[16]), | |
| "Vorwahl Mobilfunk": new MapEntry(17, "Vorwahl Mobilfunk", valueSpecifiers[16]), | |
| "Vorwahl Mobiltelefon": new MapEntry(20, "Vorwahl Mobiltelefon", valueSpecifiers[16]), | |
| "Vorwahl Netzbetreiber": new MapEntry(21, "Vorwahl Netzbetreiber", valueSpecifiers[16]), | |
| "Vorwahl Pager": new MapEntry(13, "Vorwahl Pager", valueSpecifiers[17]), | |
| Vorwahlnummer: new MapEntry(13, "Vorwahlnummer", valueSpecifiers[12]), | |
| achternaam: new MapEntry(10, "achternaam", valueSpecifiers[3]), | |
| "activitรฉ": new MapEntry(8, "activitรฉ", valueSpecifiers[5]), | |
| ad: new MapEntry(2, "ad", valueSpecifiers[1]), | |
| address: new MapEntry(7, "address", valueSpecifiers[7]), | |
| "address 1": new MapEntry(9, "address 1", valueSpecifiers[7]), | |
| address1: new MapEntry(8, "address1", valueSpecifiers[7]), | |
| addresse: new MapEntry(8, "addresse", valueSpecifiers[7]), | |
| addrstreet: new MapEntry(10, "addrstreet", valueSpecifiers[7]), | |
| adel: new MapEntry(4, "adel", valueSpecifiers[6]), | |
| "adr.": new MapEntry(4, "adr.", valueSpecifiers[7]), | |
| adres: new MapEntry(5, "adres", valueSpecifiers[7]), | |
| "adres 1": new MapEntry(7, "adres 1", valueSpecifiers[7]), | |
| adres1: new MapEntry(6, "adres1", valueSpecifiers[7]), | |
| adresa: new MapEntry(6, "adresa", valueSpecifiers[7]), | |
| "adresa 1": new MapEntry(8, "adresa 1", valueSpecifiers[7]), | |
| "adresa e-poลกte": new MapEntry(14, "adresa e-poลกte", valueSpecifiers[6]), | |
| "adresa ul.": new MapEntry(10, "adresa ul.", valueSpecifiers[7]), | |
| "adresa ulice": new MapEntry(12, "adresa ulice", valueSpecifiers[7]), | |
| adresa1: new MapEntry(7, "adresa1", valueSpecifiers[7]), | |
| adresi: new MapEntry(6, "adresi", valueSpecifiers[7]), | |
| adress: new MapEntry(6, "adress", valueSpecifiers[7]), | |
| "adress 1": new MapEntry(8, "adress 1", valueSpecifiers[7]), | |
| adress1: new MapEntry(7, "adress1", valueSpecifiers[7]), | |
| adresse: new MapEntry(7, "adresse", valueSpecifiers[7]), | |
| "adresse 1": new MapEntry(9, "adresse 1", valueSpecifiers[7]), | |
| "adresse Internet": new MapEntry(16, "adresse Internet", valueSpecifiers[6]), | |
| "adresse civique": new MapEntry(15, "adresse civique", valueSpecifiers[7]), | |
| "adresse courriel": new MapEntry(16, "adresse courriel", valueSpecifiers[6]), | |
| "adresse de courriel": new MapEntry(19, "adresse de courriel", valueSpecifiers[6]), | |
| "adresse de courrier รฉlectronique": new MapEntry(32, "adresse de courrier รฉlectronique", valueSpecifiers[6]), | |
| "adresse de messagerie": new MapEntry(21, "adresse de messagerie", valueSpecifiers[6]), | |
| "adresse e-mail": new MapEntry(14, "adresse e-mail", valueSpecifiers[6]), | |
| "adresse gรฉographique": new MapEntry(20, "adresse gรฉographique", valueSpecifiers[7]), | |
| "adresse municipale": new MapEntry(18, "adresse municipale", valueSpecifiers[7]), | |
| "adresse postale": new MapEntry(15, "adresse postale", valueSpecifiers[7]), | |
| "adresse postale 1": new MapEntry(17, "adresse postale 1", valueSpecifiers[7]), | |
| "adresse รฉlectronique": new MapEntry(20, "adresse รฉlectronique", valueSpecifiers[6]), | |
| adresse1: new MapEntry(8, "adresse1", valueSpecifiers[7]), | |
| "adresฤ": new MapEntry(6, "adresฤ", valueSpecifiers[7]), | |
| "adresฤ 1": new MapEntry(8, "adresฤ 1", valueSpecifiers[7]), | |
| "adresฤ stradalฤ": new MapEntry(15, "adresฤ stradalฤ", valueSpecifiers[7]), | |
| "adresฤ1": new MapEntry(7, "adresฤ1", valueSpecifiers[7]), | |
| "adresฤemail": new MapEntry(11, "adresฤemail", valueSpecifiers[6]), | |
| "adreรงa": new MapEntry(6, "adreรงa", valueSpecifiers[7]), | |
| "adreรงa 1": new MapEntry(8, "adreรงa 1", valueSpecifiers[7]), | |
| "adreรงa1": new MapEntry(7, "adreรงa1", valueSpecifiers[7]), | |
| "adrรฉlec": new MapEntry(7, "adrรฉlec", valueSpecifiers[6]), | |
| "adฤฑ": new MapEntry(3, "adฤฑ", valueSpecifiers[0]), | |
| aim: new MapEntry(3, "aim", valueSpecifiers[19]), | |
| "akลam alan kodu": new MapEntry(15, "akลam alan kodu", valueSpecifiers[14]), | |
| "akลam telefonu": new MapEntry(14, "akลam telefonu", valueSpecifiers[14]), | |
| "alan kodu": new MapEntry(9, "alan kodu", valueSpecifiers[12]), | |
| "alt prenume": new MapEntry(11, "alt prenume", valueSpecifiers[2]), | |
| ammatti: new MapEntry(7, "ammatti", valueSpecifiers[5]), | |
| ammattinimike: new MapEntry(13, "ammattinimike", valueSpecifiers[5]), | |
| andranamn: new MapEntry(9, "andranamn", valueSpecifiers[2]), | |
| angiAdresseAdresselinje: new MapEntry(23, "angiAdresseAdresselinje", valueSpecifiers[7]), | |
| angivAdresseAdresselinje: new MapEntry(24, "angivAdresseAdresselinje", valueSpecifiers[7]), | |
| aniversari: new MapEntry(10, "aniversari", valueSpecifiers[4]), | |
| "aniversรกrio": new MapEntry(11, "aniversรกrio", valueSpecifiers[4]), | |
| anniversaire: new MapEntry(12, "anniversaire", valueSpecifiers[4]), | |
| apelido: new MapEntry(7, "apelido", valueSpecifiers[3]), | |
| apellido: new MapEntry(8, "apellido", valueSpecifiers[3]), | |
| apellidos: new MapEntry(9, "apellidos", valueSpecifiers[3]), | |
| arbeidstelefon: new MapEntry(14, "arbeidstelefon", valueSpecifiers[15]), | |
| arbejdsnummer: new MapEntry(13, "arbejdsnummer", valueSpecifiers[15]), | |
| arbejdstelefon: new MapEntry(14, "arbejdstelefon", valueSpecifiers[15]), | |
| arbetstelefon: new MapEntry(13, "arbetstelefon", valueSpecifiers[15]), | |
| "area code": new MapEntry(9, "area code", valueSpecifiers[12]), | |
| areacode: new MapEntry(8, "areacode", valueSpecifiers[12]), | |
| "autre prรฉnom": new MapEntry(12, "autre prรฉnom", valueSpecifiers[2]), | |
| azienda: new MapEntry(7, "azienda", valueSpecifiers[13]), | |
| bedrijf: new MapEntry(7, "bedrijf", valueSpecifiers[13]), | |
| befattning: new MapEntry(10, "befattning", valueSpecifiers[5]), | |
| bellboy: new MapEntry(7, "bellboy", valueSpecifiers[17]), | |
| bipeur: new MapEntry(6, "bipeur", valueSpecifiers[17]), | |
| "birinci ad": new MapEntry(10, "birinci ad", valueSpecifiers[1]), | |
| "birinci adฤฑ": new MapEntry(11, "birinci adฤฑ", valueSpecifiers[1]), | |
| "birth date": new MapEntry(10, "birth date", valueSpecifiers[4]), | |
| "birth day": new MapEntry(9, "birth day", valueSpecifiers[4]), | |
| "birth month": new MapEntry(11, "birth month", valueSpecifiers[4]), | |
| "birth year": new MapEntry(10, "birth year", valueSpecifiers[4]), | |
| birthday: new MapEntry(8, "birthday", valueSpecifiers[4]), | |
| bolag: new MapEntry(5, "bolag", valueSpecifiers[13]), | |
| born: new MapEntry(4, "born", valueSpecifiers[4]), | |
| bostadsort: new MapEntry(10, "bostadsort", valueSpecifiers[8]), | |
| "broj telefona": new MapEntry(13, "broj telefona", valueSpecifiers[12]), | |
| bursdag: new MapEntry(7, "bursdag", valueSpecifiers[4]), | |
| busca: new MapEntry(5, "busca", valueSpecifiers[17]), | |
| buscapersonas: new MapEntry(13, "buscapersonas", valueSpecifiers[17]), | |
| business: new MapEntry(8, "business", valueSpecifiers[13]), | |
| "business area code": new MapEntry(18, "business area code", valueSpecifiers[15]), | |
| "business areacode": new MapEntry(17, "business areacode", valueSpecifiers[15]), | |
| "business phone": new MapEntry(14, "business phone", valueSpecifiers[15]), | |
| businessareacode: new MapEntry(16, "businessareacode", valueSpecifiers[15]), | |
| businessphone: new MapEntry(13, "businessphone", valueSpecifiers[15]), | |
| "c. รฉlec.": new MapEntry(8, "c. รฉlec.", valueSpecifiers[6]), | |
| "cad.": new MapEntry(4, "cad.", valueSpecifiers[7]), | |
| cadde: new MapEntry(5, "cadde", valueSpecifiers[7]), | |
| "cadde adresi": new MapEntry(12, "cadde adresi", valueSpecifiers[7]), | |
| calle: new MapEntry(5, "calle", valueSpecifiers[7]), | |
| cargo: new MapEntry(5, "cargo", valueSpecifiers[5]), | |
| "cargo profissional": new MapEntry(18, "cargo profissional", valueSpecifiers[5]), | |
| cargoprofissional: new MapEntry(17, "cargoprofissional", valueSpecifiers[5]), | |
| carrer: new MapEntry(6, "carrer", valueSpecifiers[7]), | |
| "cell area code": new MapEntry(14, "cell area code", valueSpecifiers[16]), | |
| "cell areacode": new MapEntry(13, "cell areacode", valueSpecifiers[16]), | |
| "cell phone": new MapEntry(10, "cell phone", valueSpecifiers[16]), | |
| "cell.": new MapEntry(5, "cell.", valueSpecifiers[16]), | |
| cellareacode: new MapEntry(12, "cellareacode", valueSpecifiers[16]), | |
| cellphone: new MapEntry(9, "cellphone", valueSpecifiers[16]), | |
| cellulaire: new MapEntry(10, "cellulaire", valueSpecifiers[16]), | |
| cellulare: new MapEntry(9, "cellulare", valueSpecifiers[16]), | |
| celular: new MapEntry(7, "celular", valueSpecifiers[16]), | |
| "celรฉ meno": new MapEntry(9, "celรฉ meno", valueSpecifiers[0]), | |
| cep: new MapEntry(3, "cep", valueSpecifiers[16]), | |
| "cep numarasฤฑ": new MapEntry(12, "cep numarasฤฑ", valueSpecifiers[16]), | |
| "cep telefonu": new MapEntry(12, "cep telefonu", valueSpecifiers[16]), | |
| "cercapers.": new MapEntry(10, "cercapers.", valueSpecifiers[17]), | |
| cercapersone: new MapEntry(12, "cercapersone", valueSpecifiers[17]), | |
| cercapersones: new MapEntry(13, "cercapersones", valueSpecifiers[17]), | |
| cidade: new MapEntry(6, "cidade", valueSpecifiers[8]), | |
| "cittร ": new MapEntry(5, "cittร ", valueSpecifiers[8]), | |
| city: new MapEntry(4, "city", valueSpecifiers[8]), | |
| ciudad: new MapEntry(6, "ciudad", valueSpecifiers[8]), | |
| ciutat: new MapEntry(6, "ciutat", valueSpecifiers[8]), | |
| "cod poศtal": new MapEntry(10, "cod poศtal", valueSpecifiers[10]), | |
| "code ZIP": new MapEntry(8, "code ZIP", valueSpecifiers[10]), | |
| "code postal": new MapEntry(11, "code postal", valueSpecifiers[10]), | |
| "code postal amรฉricain": new MapEntry(21, "code postal amรฉricain", valueSpecifiers[10]), | |
| "code rรฉgional": new MapEntry(13, "code rรฉgional", valueSpecifiers[12]), | |
| "codi postal": new MapEntry(11, "codi postal", valueSpecifiers[10]), | |
| "codice avviamento postale": new MapEntry(25, "codice avviamento postale", valueSpecifiers[10]), | |
| "codice di avviamento postale": new MapEntry(28, "codice di avviamento postale", valueSpecifiers[10]), | |
| "codice postale": new MapEntry(14, "codice postale", valueSpecifiers[10]), | |
| "codpoศtal": new MapEntry(9, "codpoศtal", valueSpecifiers[10]), | |
| cognom: new MapEntry(6, "cognom", valueSpecifiers[3]), | |
| cognome: new MapEntry(7, "cognome", valueSpecifiers[3]), | |
| cognoms: new MapEntry(7, "cognoms", valueSpecifiers[3]), | |
| compagnie: new MapEntry(9, "compagnie", valueSpecifiers[13]), | |
| companie: new MapEntry(8, "companie", valueSpecifiers[13]), | |
| company: new MapEntry(7, "company", valueSpecifiers[13]), | |
| "company area code": new MapEntry(17, "company area code", valueSpecifiers[15]), | |
| "company areacode": new MapEntry(16, "company areacode", valueSpecifiers[15]), | |
| "company phone": new MapEntry(13, "company phone", valueSpecifiers[15]), | |
| "company title": new MapEntry(13, "company title", valueSpecifiers[5]), | |
| companyareacode: new MapEntry(15, "companyareacode", valueSpecifiers[15]), | |
| companyia: new MapEntry(9, "companyia", valueSpecifiers[13]), | |
| companyphone: new MapEntry(12, "companyphone", valueSpecifiers[15]), | |
| compleanno: new MapEntry(10, "compleanno", valueSpecifiers[4]), | |
| corporation: new MapEntry(11, "corporation", valueSpecifiers[13]), | |
| "correo electrรณnico": new MapEntry(18, "correo electrรณnico", valueSpecifiers[6]), | |
| "correu electrรฒnic": new MapEntry(17, "correu electrรฒnic", valueSpecifiers[6]), | |
| country: new MapEntry(7, "country", valueSpecifiers[11]), | |
| courriel: new MapEntry(8, "courriel", valueSpecifiers[6]), | |
| "courrier รฉlectronique": new MapEntry(21, "courrier รฉlectronique", valueSpecifiers[6]), | |
| cp: new MapEntry(2, "cp", valueSpecifiers[10]), | |
| "cumpleaรฑos": new MapEntry(10, "cumpleaรฑos", valueSpecifiers[4]), | |
| "cร rrec": new MapEntry(6, "cร rrec", valueSpecifiers[5]), | |
| "cรฉ": new MapEntry(2, "cรฉ", valueSpecifiers[6]), | |
| "cรณdigo de รกrea": new MapEntry(14, "cรณdigo de รกrea", valueSpecifiers[12]), | |
| "cรณdigo de รกrea (celular)": new MapEntry(24, "cรณdigo de รกrea (celular)", valueSpecifiers[16]), | |
| "cรณdigo de รกrea (diurno)": new MapEntry(23, "cรณdigo de รกrea (diurno)", valueSpecifiers[15]), | |
| "cรณdigo de รกrea (empresa)": new MapEntry(24, "cรณdigo de รกrea (empresa)", valueSpecifiers[15]), | |
| "cรณdigo de รกrea (local)": new MapEntry(22, "cรณdigo de รกrea (local)", valueSpecifiers[14]), | |
| "cรณdigo de รกrea (noturno)": new MapEntry(24, "cรณdigo de รกrea (noturno)", valueSpecifiers[14]), | |
| "cรณdigo de รกrea (pager)": new MapEntry(22, "cรณdigo de รกrea (pager)", valueSpecifiers[17]), | |
| "cรณdigo de รกrea (trabalho)": new MapEntry(25, "cรณdigo de รกrea (trabalho)", valueSpecifiers[15]), | |
| "cรณdigo de รกrea comercial": new MapEntry(24, "cรณdigo de รกrea comercial", valueSpecifiers[15]), | |
| "cรณdigo de รกrea da empresa": new MapEntry(25, "cรณdigo de รกrea da empresa", valueSpecifiers[15]), | |
| "cรณdigo de รกrea de casa": new MapEntry(22, "cรณdigo de รกrea de casa", valueSpecifiers[14]), | |
| "cรณdigo de รกrea de dia": new MapEntry(21, "cรณdigo de รกrea de dia", valueSpecifiers[15]), | |
| "cรณdigo de รกrea do celular": new MapEntry(25, "cรณdigo de รกrea do celular", valueSpecifiers[16]), | |
| "cรณdigo de รกrea do pager": new MapEntry(23, "cรณdigo de รกrea do pager", valueSpecifiers[17]), | |
| "cรณdigo de รกrea do telemรณvel": new MapEntry(27, "cรณdigo de รกrea do telemรณvel", valueSpecifiers[16]), | |
| "cรณdigo de รกrea do trabalho": new MapEntry(26, "cรณdigo de รกrea do trabalho", valueSpecifiers[15]), | |
| "cรณdigo de รกrea noite": new MapEntry(20, "cรณdigo de รกrea noite", valueSpecifiers[14]), | |
| "cรณdigo postal": new MapEntry(13, "cรณdigo postal", valueSpecifiers[10]), | |
| "cรณdigodeรกrea": new MapEntry(12, "cรณdigodeรกrea", valueSpecifiers[12]), | |
| "cรณdigodeรกrea comercial": new MapEntry(22, "cรณdigodeรกrea comercial", valueSpecifiers[15]), | |
| "cรณdigodeรกrea da empresa": new MapEntry(23, "cรณdigodeรกrea da empresa", valueSpecifiers[15]), | |
| "cรณdigodeรกrea de casa": new MapEntry(20, "cรณdigodeรกrea de casa", valueSpecifiers[14]), | |
| "cรณdigodeรกrea de dia": new MapEntry(19, "cรณdigodeรกrea de dia", valueSpecifiers[15]), | |
| "cรณdigodeรกrea do celular": new MapEntry(23, "cรณdigodeรกrea do celular", valueSpecifiers[16]), | |
| "cรณdigodeรกrea do pager": new MapEntry(21, "cรณdigodeรกrea do pager", valueSpecifiers[17]), | |
| "cรณdigodeรกrea do telemรณvel": new MapEntry(25, "cรณdigodeรกrea do telemรณvel", valueSpecifiers[16]), | |
| "cรณdigodeรกrea do trabalho": new MapEntry(24, "cรณdigodeรกrea do trabalho", valueSpecifiers[15]), | |
| "cรณdigodeรกrea noite": new MapEntry(18, "cรณdigodeรกrea noite", valueSpecifiers[14]), | |
| "cรณdigodeรกreacomercial": new MapEntry(21, "cรณdigodeรกreacomercial", valueSpecifiers[15]), | |
| "cรณdigodeรกreadaempresa": new MapEntry(21, "cรณdigodeรกreadaempresa", valueSpecifiers[15]), | |
| "cรณdigodeรกreadecasa": new MapEntry(18, "cรณdigodeรกreadecasa", valueSpecifiers[14]), | |
| "cรณdigodeรกreadedia": new MapEntry(17, "cรณdigodeรกreadedia", valueSpecifiers[15]), | |
| "cรณdigodeรกreadocelular": new MapEntry(21, "cรณdigodeรกreadocelular", valueSpecifiers[16]), | |
| "cรณdigodeรกreadopager": new MapEntry(19, "cรณdigodeรกreadopager", valueSpecifiers[17]), | |
| "cรณdigodeรกreadotelemรณvel": new MapEntry(23, "cรณdigodeรกreadotelemรณvel", valueSpecifiers[16]), | |
| "cรณdigodeรกreadotrabalho": new MapEntry(22, "cรณdigodeรกreadotrabalho", valueSpecifiers[15]), | |
| "cรณdigodeรกreanoite": new MapEntry(17, "cรณdigodeรกreanoite", valueSpecifiers[14]), | |
| "cรณdigopostal": new MapEntry(12, "cรณdigopostal", valueSpecifiers[10]), | |
| dagretningsnummer: new MapEntry(17, "dagretningsnummer", valueSpecifiers[15]), | |
| dagstelefon: new MapEntry(11, "dagstelefon", valueSpecifiers[15]), | |
| dagtelefon: new MapEntry(10, "dagtelefon", valueSpecifiers[15]), | |
| "data de naixenรงa": new MapEntry(16, "data de naixenรงa", valueSpecifiers[4]), | |
| "data de nascimento": new MapEntry(18, "data de nascimento", valueSpecifiers[4]), | |
| "data di nascita": new MapEntry(15, "data di nascita", valueSpecifiers[4]), | |
| "data naศterii": new MapEntry(13, "data naศterii", valueSpecifiers[4]), | |
| "data urodzenia": new MapEntry(14, "data urodzenia", valueSpecifiers[4]), | |
| "date de naissance": new MapEntry(17, "date de naissance", valueSpecifiers[4]), | |
| "date of birth": new MapEntry(13, "date of birth", valueSpecifiers[4]), | |
| "datum roฤenja": new MapEntry(13, "datum roฤenja", valueSpecifiers[4]), | |
| "day area code": new MapEntry(13, "day area code", valueSpecifiers[15]), | |
| "day areacode": new MapEntry(12, "day areacode", valueSpecifiers[15]), | |
| "day phone": new MapEntry(9, "day phone", valueSpecifiers[15]), | |
| dayareacode: new MapEntry(11, "dayareacode", valueSpecifiers[15]), | |
| dayphone: new MapEntry(8, "dayphone", valueSpecifiers[15]), | |
| "daytime phone": new MapEntry(13, "daytime phone", valueSpecifiers[15]), | |
| "daytime telephone": new MapEntry(17, "daytime telephone", valueSpecifiers[15]), | |
| delstat: new MapEntry(7, "delstat", valueSpecifiers[9]), | |
| "dennรก predvoฤพba": new MapEntry(15, "dennรก predvoฤพba", valueSpecifiers[15]), | |
| "dennรฉ ฤรญslo": new MapEntry(11, "dennรฉ ฤรญslo", valueSpecifiers[15]), | |
| "dennรฝ telefรณn": new MapEntry(13, "dennรฝ telefรณn", valueSpecifiers[15]), | |
| "deuxiรจme prรฉnom": new MapEntry(15, "deuxiรจme prรฉnom", valueSpecifiers[2]), | |
| "direcciรณn": new MapEntry(9, "direcciรณn", valueSpecifiers[7]), | |
| "direcciรณn 1": new MapEntry(11, "direcciรณn 1", valueSpecifiers[7]), | |
| "direcciรณn1": new MapEntry(10, "direcciรณn1", valueSpecifiers[7]), | |
| "dnevni telefon": new MapEntry(14, "dnevni telefon", valueSpecifiers[15]), | |
| dojavnik: new MapEntry(8, "dojavnik", valueSpecifiers[17]), | |
| "domรกca predvoฤพba": new MapEntry(16, "domรกca predvoฤพba", valueSpecifiers[14]), | |
| "domรกci telefรณn": new MapEntry(14, "domรกci telefรณn", valueSpecifiers[14]), | |
| dopnamn: new MapEntry(7, "dopnamn", valueSpecifiers[1]), | |
| "doฤum": new MapEntry(5, "doฤum", valueSpecifiers[4]), | |
| "doฤum gรผnรผ": new MapEntry(10, "doฤum gรผnรผ", valueSpecifiers[4]), | |
| "doฤum tarihi": new MapEntry(12, "doฤum tarihi", valueSpecifiers[4]), | |
| "doฤumgรผnรผ": new MapEntry(9, "doฤumgรผnรผ", valueSpecifiers[4]), | |
| drugie: new MapEntry(6, "drugie", valueSpecifiers[2]), | |
| "drugie imiฤ": new MapEntry(11, "drugie imiฤ", valueSpecifiers[2]), | |
| "drugo ime": new MapEntry(9, "drugo ime", valueSpecifiers[2]), | |
| "drลพava": new MapEntry(6, "drลพava", valueSpecifiers[9]), | |
| "dรกtum narodenia": new MapEntry(15, "dรกtum narodenia", valueSpecifiers[4]), | |
| "dรธbenavn": new MapEntry(8, "dรธbenavn", valueSpecifiers[1]), | |
| "dรธpenavn": new MapEntry(8, "dรธpenavn", valueSpecifiers[1]), | |
| "e-mail": new MapEntry(6, "e-mail", valueSpecifiers[6]), | |
| "e-mail adresa": new MapEntry(13, "e-mail adresa", valueSpecifiers[6]), | |
| "e-mail ์ฃผ์": new MapEntry(9, "e-mail ์ฃผ์", valueSpecifiers[6]), | |
| "e-mail์ฃผ์": new MapEntry(8, "e-mail์ฃผ์", valueSpecifiers[6]), | |
| "e-navn": new MapEntry(6, "e-navn", valueSpecifiers[3]), | |
| "e-post": new MapEntry(6, "e-post", valueSpecifiers[6]), | |
| "e-posta": new MapEntry(7, "e-posta", valueSpecifiers[6]), | |
| "e-posta adresi": new MapEntry(14, "e-posta adresi", valueSpecifiers[6]), | |
| "e-postadr": new MapEntry(9, "e-postadr", valueSpecifiers[6]), | |
| "e-postadress": new MapEntry(12, "e-postadress", valueSpecifiers[6]), | |
| "e-postadresse": new MapEntry(13, "e-postadresse", valueSpecifiers[6]), | |
| "e-poลกta": new MapEntry(7, "e-poลกta", valueSpecifiers[6]), | |
| efter: new MapEntry(5, "efter", valueSpecifiers[3]), | |
| "eftern.": new MapEntry(7, "eftern.", valueSpecifiers[3]), | |
| efternamn: new MapEntry(9, "efternamn", valueSpecifiers[3]), | |
| email: new MapEntry(5, "email", valueSpecifiers[6]), | |
| "email ์ฃผ์": new MapEntry(8, "email ์ฃผ์", valueSpecifiers[6]), | |
| emailAddr: new MapEntry(9, "emailAddr", valueSpecifiers[6]), | |
| emailAddress: new MapEntry(12, "emailAddress", valueSpecifiers[6]), | |
| emailAdr: new MapEntry(8, "emailAdr", valueSpecifiers[6]), | |
| emailAdresa: new MapEntry(11, "emailAdresa", valueSpecifiers[6]), | |
| "email์ฃผ์": new MapEntry(7, "email์ฃผ์", valueSpecifiers[6]), | |
| emejl: new MapEntry(5, "emejl", valueSpecifiers[6]), | |
| empresa: new MapEntry(7, "empresa", valueSpecifiers[13]), | |
| enamn: new MapEntry(5, "enamn", valueSpecifiers[3]), | |
| enavn: new MapEntry(5, "enavn", valueSpecifiers[3]), | |
| "endereรงo": new MapEntry(8, "endereรงo", valueSpecifiers[7]), | |
| "endereรงo 1": new MapEntry(10, "endereรงo 1", valueSpecifiers[7]), | |
| "endereรงo da rua": new MapEntry(15, "endereรงo da rua", valueSpecifiers[7]), | |
| "endereรงo1": new MapEntry(9, "endereรงo1", valueSpecifiers[7]), | |
| enterAddressAddressLine: new MapEntry(23, "enterAddressAddressLine", valueSpecifiers[7]), | |
| entreprise: new MapEntry(10, "entreprise", valueSpecifiers[13]), | |
| epost: new MapEntry(5, "epost", valueSpecifiers[6]), | |
| eposta: new MapEntry(6, "eposta", valueSpecifiers[6]), | |
| "eposta adresi": new MapEntry(13, "eposta adresi", valueSpecifiers[6]), | |
| epostadress: new MapEntry(11, "epostadress", valueSpecifiers[6]), | |
| estado: new MapEntry(6, "estado", valueSpecifiers[9]), | |
| estat: new MapEntry(5, "estat", valueSpecifiers[9]), | |
| "etter-": new MapEntry(6, "etter-", valueSpecifiers[3]), | |
| etternavn: new MapEntry(9, "etternavn", valueSpecifiers[3]), | |
| etu: new MapEntry(3, "etu", valueSpecifiers[1]), | |
| "etun.": new MapEntry(5, "etun.", valueSpecifiers[1]), | |
| etunimi: new MapEntry(7, "etunimi", valueSpecifiers[1]), | |
| "ev alan kodu": new MapEntry(12, "ev alan kodu", valueSpecifiers[14]), | |
| "ev telefonu": new MapEntry(11, "ev telefonu", valueSpecifiers[14]), | |
| "evening area code": new MapEntry(17, "evening area code", valueSpecifiers[14]), | |
| "evening areacode": new MapEntry(16, "evening areacode", valueSpecifiers[14]), | |
| "evening phone": new MapEntry(13, "evening phone", valueSpecifiers[14]), | |
| eveningareacode: new MapEntry(15, "eveningareacode", valueSpecifiers[14]), | |
| eveningphone: new MapEntry(12, "eveningphone", valueSpecifiers[14]), | |
| exchange: new MapEntry(8, "exchange", valueSpecifiers[12]), | |
| eyalet: new MapEntry(6, "eyalet", valueSpecifiers[9]), | |
| "f name": new MapEntry(6, "f name", valueSpecifiers[1]), | |
| "f-navn": new MapEntry(6, "f-navn", valueSpecifiers[1]), | |
| faks: new MapEntry(4, "faks", valueSpecifiers[12]), | |
| "faks numarasฤฑ": new MapEntry(13, "faks numarasฤฑ", valueSpecifiers[12]), | |
| faksi: new MapEntry(5, "faksi", valueSpecifiers[12]), | |
| familie: new MapEntry(7, "familie", valueSpecifiers[3]), | |
| familienavn: new MapEntry(11, "familienavn", valueSpecifiers[3]), | |
| familjenamn: new MapEntry(11, "familjenamn", valueSpecifiers[3]), | |
| fax: new MapEntry(3, "fax", valueSpecifiers[12]), | |
| "fecha de nacimiento": new MapEntry(19, "fecha de nacimiento", valueSpecifiers[4]), | |
| feina: new MapEntry(5, "feina", valueSpecifiers[5]), | |
| "firemnรฉ ฤรญslo": new MapEntry(13, "firemnรฉ ฤรญslo", valueSpecifiers[15]), | |
| "firemnรฝ telefรณn": new MapEntry(15, "firemnรฝ telefรณn", valueSpecifiers[15]), | |
| firma: new MapEntry(5, "firma", valueSpecifiers[13]), | |
| firmaretningsnummer: new MapEntry(19, "firmaretningsnummer", valueSpecifiers[15]), | |
| firmatelfon: new MapEntry(11, "firmatelfon", valueSpecifiers[15]), | |
| firmenname: new MapEntry(10, "firmenname", valueSpecifiers[13]), | |
| first: new MapEntry(5, "first", valueSpecifiers[1]), | |
| "first and last": new MapEntry(14, "first and last", valueSpecifiers[0]), | |
| "first and last name": new MapEntry(19, "first and last name", valueSpecifiers[0]), | |
| "first name": new MapEntry(10, "first name", valueSpecifiers[1]), | |
| firstname: new MapEntry(9, "firstname", valueSpecifiers[1]), | |
| fname: new MapEntry(5, "fname", valueSpecifiers[1]), | |
| fnamn: new MapEntry(5, "fnamn", valueSpecifiers[1]), | |
| fnavn: new MapEntry(5, "fnavn", valueSpecifiers[1]), | |
| "for-": new MapEntry(4, "for-", valueSpecifiers[1]), | |
| "forbogstav, mellemnavn": new MapEntry(22, "forbogstav, mellemnavn", valueSpecifiers[2]), | |
| "forbokstav, mellomnavn": new MapEntry(22, "forbokstav, mellomnavn", valueSpecifiers[2]), | |
| forename: new MapEntry(8, "forename", valueSpecifiers[1]), | |
| fornavn: new MapEntry(7, "fornavn", valueSpecifiers[1]), | |
| "fulde navn": new MapEntry(10, "fulde navn", valueSpecifiers[0]), | |
| "fuldt navn": new MapEntry(10, "fuldt navn", valueSpecifiers[0]), | |
| "full name": new MapEntry(9, "full name", valueSpecifiers[0]), | |
| fullname: new MapEntry(8, "fullname", valueSpecifiers[0]), | |
| "fullstรคndigt namn": new MapEntry(17, "fullstรคndigt namn", valueSpecifiers[0]), | |
| "fullt navn": new MapEntry(10, "fullt navn", valueSpecifiers[0]), | |
| fulltnavn: new MapEntry(9, "fulltnavn", valueSpecifiers[0]), | |
| functie: new MapEntry(7, "functie", valueSpecifiers[5]), | |
| "funcศie": new MapEntry(7, "funcศie", valueSpecifiers[5]), | |
| "fรถdd": new MapEntry(4, "fรถdd", valueSpecifiers[4]), | |
| "fรถdelsedag": new MapEntry(10, "fรถdelsedag", valueSpecifiers[4]), | |
| "fรถdelsedatum": new MapEntry(12, "fรถdelsedatum", valueSpecifiers[4]), | |
| "fรถretag": new MapEntry(7, "fรถretag", valueSpecifiers[13]), | |
| "fรถretagstelefon": new MapEntry(15, "fรถretagstelefon", valueSpecifiers[15]), | |
| "fรถrn.": new MapEntry(5, "fรถrn.", valueSpecifiers[1]), | |
| "fรถrnamn": new MapEntry(7, "fรถrnamn", valueSpecifiers[1]), | |
| "fรธdselsdag": new MapEntry(10, "fรธdselsdag", valueSpecifiers[4]), | |
| "fรธdselsdato": new MapEntry(11, "fรธdselsdato", valueSpecifiers[4]), | |
| "fรธdt": new MapEntry(4, "fรธdt", valueSpecifiers[4]), | |
| gade: new MapEntry(4, "gade", valueSpecifiers[7]), | |
| gadeadresse: new MapEntry(11, "gadeadresse", valueSpecifiers[7]), | |
| gata: new MapEntry(4, "gata", valueSpecifiers[7]), | |
| gate: new MapEntry(4, "gate", valueSpecifiers[7]), | |
| gateadresse: new MapEntry(11, "gateadresse", valueSpecifiers[7]), | |
| "gatuadr.": new MapEntry(8, "gatuadr.", valueSpecifiers[7]), | |
| gatuadress: new MapEntry(10, "gatuadress", valueSpecifiers[7]), | |
| geboortedatum: new MapEntry(13, "geboortedatum", valueSpecifiers[4]), | |
| geboren: new MapEntry(7, "geboren", valueSpecifiers[4]), | |
| "given name": new MapEntry(10, "given name", valueSpecifiers[1]), | |
| grad: new MapEntry(4, "grad", valueSpecifiers[8]), | |
| "gรถbek adฤฑ": new MapEntry(9, "gรถbek adฤฑ", valueSpecifiers[2]), | |
| "gรผndรผz alan kodu": new MapEntry(16, "gรผndรผz alan kodu", valueSpecifiers[15]), | |
| "gรผndรผz telefonu": new MapEntry(15, "gรผndรผz telefonu", valueSpecifiers[15]), | |
| hakulaite: new MapEntry(9, "hakulaite", valueSpecifiers[17]), | |
| hakulaitenro: new MapEntry(12, "hakulaitenro", valueSpecifiers[17]), | |
| "hakulaitteen numero": new MapEntry(19, "hakulaitteen numero", valueSpecifiers[17]), | |
| "hela namnet": new MapEntry(11, "hela namnet", valueSpecifiers[0]), | |
| hemstad: new MapEntry(7, "hemstad", valueSpecifiers[8]), | |
| hemtelefon: new MapEntry(10, "hemtelefon", valueSpecifiers[14]), | |
| hjemmetelefon: new MapEntry(13, "hjemmetelefon", valueSpecifiers[14]), | |
| hjemnummer: new MapEntry(10, "hjemnummer", valueSpecifiers[14]), | |
| "home area code": new MapEntry(14, "home area code", valueSpecifiers[14]), | |
| "home areacode": new MapEntry(13, "home areacode", valueSpecifiers[14]), | |
| "home phone": new MapEntry(10, "home phone", valueSpecifiers[14]), | |
| homeareacode: new MapEntry(12, "homeareacode", valueSpecifiers[14]), | |
| homepage: new MapEntry(8, "homepage", valueSpecifiers[25]), | |
| homephone: new MapEntry(9, "homephone", valueSpecifiers[14]), | |
| "house name": new MapEntry(10, "house name", valueSpecifiers[7]), | |
| icq: new MapEntry(3, "icq", valueSpecifiers[20]), | |
| "ikinci ad": new MapEntry(9, "ikinci ad", valueSpecifiers[2]), | |
| "ikinci adฤฑ": new MapEntry(10, "ikinci adฤฑ", valueSpecifiers[2]), | |
| "ikinci isim": new MapEntry(11, "ikinci isim", valueSpecifiers[2]), | |
| il: new MapEntry(2, "il", valueSpecifiers[8]), | |
| iltaisin: new MapEntry(8, "iltaisin", valueSpecifiers[14]), | |
| ime: new MapEntry(3, "ime", valueSpecifiers[0]), | |
| "imiฤ": new MapEntry(4, "imiฤ", valueSpecifiers[1]), | |
| "imiฤ i nazwisko": new MapEntry(15, "imiฤ i nazwisko", valueSpecifiers[0]), | |
| "ind. e-mail": new MapEntry(11, "ind. e-mail", valueSpecifiers[6]), | |
| "ind. posta elettronica": new MapEntry(22, "ind. posta elettronica", valueSpecifiers[6]), | |
| "ind. rรฉg.": new MapEntry(9, "ind. rรฉg.", valueSpecifiers[12]), | |
| indicatif: new MapEntry(9, "indicatif", valueSpecifiers[12]), | |
| "indicatif de zone": new MapEntry(17, "indicatif de zone", valueSpecifiers[12]), | |
| "indicatif rรฉgional": new MapEntry(18, "indicatif rรฉgional", valueSpecifiers[12]), | |
| "indicatif tรฉlรฉphonique": new MapEntry(22, "indicatif tรฉlรฉphonique", valueSpecifiers[12]), | |
| indirizzo: new MapEntry(9, "indirizzo", valueSpecifiers[7]), | |
| "indirizzo 1": new MapEntry(11, "indirizzo 1", valueSpecifiers[7]), | |
| "indirizzo di posta elettronica": new MapEntry(30, "indirizzo di posta elettronica", valueSpecifiers[6]), | |
| "indirizzo e-mail": new MapEntry(16, "indirizzo e-mail", valueSpecifiers[6]), | |
| "indirizzo postale": new MapEntry(17, "indirizzo postale", valueSpecifiers[7]), | |
| indirizzo1: new MapEntry(10, "indirizzo1", valueSpecifiers[7]), | |
| "inicial do 2ยบ nome": new MapEntry(18, "inicial do 2ยบ nome", valueSpecifiers[2]), | |
| "inicial do meio": new MapEntry(15, "inicial do meio", valueSpecifiers[2]), | |
| inicialdomeio: new MapEntry(13, "inicialdomeio", valueSpecifiers[2]), | |
| "iniciรกla strednรฉho": new MapEntry(18, "iniciรกla strednรฉho", valueSpecifiers[2]), | |
| "iniciรกla strednรฉho mena": new MapEntry(23, "iniciรกla strednรฉho mena", valueSpecifiers[2]), | |
| "inicjaล drugiego imienia": new MapEntry(24, "inicjaล drugiego imienia", valueSpecifiers[2]), | |
| "initiaal tweede naam": new MapEntry(20, "initiaal tweede naam", valueSpecifiers[2]), | |
| "initial, mellemnavn": new MapEntry(19, "initial, mellemnavn", valueSpecifiers[2]), | |
| "initial, mellomnavn": new MapEntry(19, "initial, mellomnavn", valueSpecifiers[2]), | |
| "initiale autre prรฉnom": new MapEntry(21, "initiale autre prรฉnom", valueSpecifiers[2]), | |
| "initiale deuxiรจme prรฉnom": new MapEntry(24, "initiale deuxiรจme prรฉnom", valueSpecifiers[2]), | |
| "initiale second prรฉnom": new MapEntry(22, "initiale second prรฉnom", valueSpecifiers[2]), | |
| iniziale: new MapEntry(8, "iniziale", valueSpecifiers[2]), | |
| "iniziale secondo nome": new MapEntry(21, "iniziale secondo nome", valueSpecifiers[2]), | |
| ir: new MapEntry(2, "ir", valueSpecifiers[12]), | |
| isim: new MapEntry(4, "isim", valueSpecifiers[0]), | |
| "iล alan kodu": new MapEntry(12, "iล alan kodu", valueSpecifiers[15]), | |
| "iล telefonu": new MapEntry(11, "iล telefonu", valueSpecifiers[15]), | |
| "iล รผnvanฤฑ": new MapEntry(9, "iล รผnvanฤฑ", valueSpecifiers[5]), | |
| jabber: new MapEntry(6, "jabber", valueSpecifiers[21]), | |
| "job title": new MapEntry(9, "job title", valueSpecifiers[5]), | |
| jobbretningsnummer: new MapEntry(18, "jobbretningsnummer", valueSpecifiers[15]), | |
| jobbtelefon: new MapEntry(11, "jobbtelefon", valueSpecifiers[15]), | |
| jobbtitel: new MapEntry(9, "jobbtitel", valueSpecifiers[5]), | |
| jobtitle: new MapEntry(8, "jobtitle", valueSpecifiers[5]), | |
| "judeศ": new MapEntry(5, "judeศ", valueSpecifiers[9]), | |
| "k.": new MapEntry(2, "k.", valueSpecifiers[7]), | |
| katu: new MapEntry(4, "katu", valueSpecifiers[7]), | |
| katuosoite: new MapEntry(10, "katuosoite", valueSpecifiers[7]), | |
| kaupunki: new MapEntry(8, "kaupunki", valueSpecifiers[8]), | |
| "kodin suuntanumero": new MapEntry(18, "kodin suuntanumero", valueSpecifiers[14]), | |
| "koko nimi": new MapEntry(9, "koko nimi", valueSpecifiers[0]), | |
| kommun: new MapEntry(6, "kommun", valueSpecifiers[8]), | |
| kontor: new MapEntry(6, "kontor", valueSpecifiers[13]), | |
| kontorstelefon: new MapEntry(14, "kontorstelefon", valueSpecifiers[15]), | |
| koti: new MapEntry(4, "koti", valueSpecifiers[14]), | |
| kotinro: new MapEntry(7, "kotinro", valueSpecifiers[14]), | |
| kotinumero: new MapEntry(10, "kotinumero", valueSpecifiers[14]), | |
| "kotipuh.": new MapEntry(8, "kotipuh.", valueSpecifiers[14]), | |
| kotipuhelin: new MapEntry(11, "kotipuhelin", valueSpecifiers[14]), | |
| krajina: new MapEntry(7, "krajina", valueSpecifiers[11]), | |
| "krst meno": new MapEntry(9, "krst meno", valueSpecifiers[1]), | |
| "krst. meno": new MapEntry(10, "krst. meno", valueSpecifiers[1]), | |
| "krstnรฉ": new MapEntry(6, "krstnรฉ", valueSpecifiers[1]), | |
| "krstnรฉ meno": new MapEntry(11, "krstnรฉ meno", valueSpecifiers[1]), | |
| "kuruluล": new MapEntry(7, "kuruluล", valueSpecifiers[13]), | |
| kurum: new MapEntry(5, "kurum", valueSpecifiers[13]), | |
| kutsumanimi: new MapEntry(11, "kutsumanimi", valueSpecifiers[1]), | |
| "kuฤna adresa": new MapEntry(12, "kuฤna adresa", valueSpecifiers[7]), | |
| "kuฤni telefon": new MapEntry(13, "kuฤni telefon", valueSpecifiers[14]), | |
| kveldsretningsnummer: new MapEntry(20, "kveldsretningsnummer", valueSpecifiers[14]), | |
| kveldstelefon: new MapEntry(13, "kveldstelefon", valueSpecifiers[14]), | |
| "kvรคllsnummer": new MapEntry(12, "kvรคllsnummer", valueSpecifiers[14]), | |
| "l name": new MapEntry(6, "l name", valueSpecifiers[3]), | |
| land: new MapEntry(4, "land", valueSpecifiers[11]), | |
| last: new MapEntry(4, "last", valueSpecifiers[3]), | |
| "last name": new MapEntry(9, "last name", valueSpecifiers[3]), | |
| lastname: new MapEntry(8, "lastname", valueSpecifiers[3]), | |
| "linea indirizzo": new MapEntry(15, "linea indirizzo", valueSpecifiers[7]), | |
| "lloc de treball": new MapEntry(15, "lloc de treball", valueSpecifiers[5]), | |
| lname: new MapEntry(5, "lname", valueSpecifiers[3]), | |
| "lรคn": new MapEntry(3, "lรคn", valueSpecifiers[9]), | |
| "lรครคni": new MapEntry(5, "lรครคni", valueSpecifiers[9]), | |
| "m-navn": new MapEntry(6, "m-navn", valueSpecifiers[2]), | |
| maa: new MapEntry(3, "maa", valueSpecifiers[11]), | |
| mail: new MapEntry(4, "mail", valueSpecifiers[6]), | |
| "matkap.": new MapEntry(7, "matkap.", valueSpecifiers[16]), | |
| "matkapuhelimen operaattoritunnus": new MapEntry(32, "matkapuhelimen operaattoritunnus", valueSpecifiers[16]), | |
| matkapuhelin: new MapEntry(12, "matkapuhelin", valueSpecifiers[16]), | |
| matronyme: new MapEntry(9, "matronyme", valueSpecifiers[2]), | |
| meio: new MapEntry(4, "meio", valueSpecifiers[2]), | |
| mejl: new MapEntry(4, "mejl", valueSpecifiers[6]), | |
| mejladress: new MapEntry(10, "mejladress", valueSpecifiers[6]), | |
| mellan: new MapEntry(6, "mellan", valueSpecifiers[2]), | |
| "mellan initial": new MapEntry(14, "mellan initial", valueSpecifiers[2]), | |
| mellaninitial: new MapEntry(13, "mellaninitial", valueSpecifiers[2]), | |
| mellannamn: new MapEntry(10, "mellannamn", valueSpecifiers[2]), | |
| mellem: new MapEntry(6, "mellem", valueSpecifiers[2]), | |
| "mellem navn": new MapEntry(11, "mellem navn", valueSpecifiers[2]), | |
| "mellom-": new MapEntry(7, "mellom-", valueSpecifiers[2]), | |
| mellomnavn: new MapEntry(10, "mellomnavn", valueSpecifiers[2]), | |
| meno: new MapEntry(4, "meno", valueSpecifiers[0]), | |
| meslek: new MapEntry(6, "meslek", valueSpecifiers[5]), | |
| "mesleฤi": new MapEntry(7, "mesleฤi", valueSpecifiers[5]), | |
| "messagerie รฉlectronique": new MapEntry(23, "messagerie รฉlectronique", valueSpecifiers[6]), | |
| messageur: new MapEntry(9, "messageur", valueSpecifiers[17]), | |
| mesto: new MapEntry(5, "mesto", valueSpecifiers[8]), | |
| middle: new MapEntry(6, "middle", valueSpecifiers[2]), | |
| "middle initial": new MapEntry(14, "middle initial", valueSpecifiers[2]), | |
| "middle name": new MapEntry(11, "middle name", valueSpecifiers[2]), | |
| middleinitial: new MapEntry(13, "middleinitial", valueSpecifiers[2]), | |
| middlename: new MapEntry(10, "middlename", valueSpecifiers[2]), | |
| mobiel: new MapEntry(6, "mobiel", valueSpecifiers[16]), | |
| "mobiele telefoon": new MapEntry(16, "mobiele telefoon", valueSpecifiers[16]), | |
| mobiili: new MapEntry(7, "mobiili", valueSpecifiers[16]), | |
| mobil: new MapEntry(5, "mobil", valueSpecifiers[16]), | |
| "mobil telefon": new MapEntry(13, "mobil telefon", valueSpecifiers[16]), | |
| "mobile area code": new MapEntry(16, "mobile area code", valueSpecifiers[16]), | |
| "mobile areacode": new MapEntry(15, "mobile areacode", valueSpecifiers[16]), | |
| "mobile phone": new MapEntry(12, "mobile phone", valueSpecifiers[16]), | |
| mobileareacode: new MapEntry(14, "mobileareacode", valueSpecifiers[16]), | |
| mobilephone: new MapEntry(11, "mobilephone", valueSpecifiers[16]), | |
| "mobilni telefon": new MapEntry(15, "mobilni telefon", valueSpecifiers[16]), | |
| "mobilnรก predvoฤพba": new MapEntry(17, "mobilnรก predvoฤพba", valueSpecifiers[16]), | |
| "mobilnรฝ telefรณn": new MapEntry(15, "mobilnรฝ telefรณn", valueSpecifiers[16]), | |
| mobilretningsnummer: new MapEntry(19, "mobilretningsnummer", valueSpecifiers[16]), | |
| mobiltel: new MapEntry(8, "mobiltel", valueSpecifiers[16]), | |
| mobiltelefon: new MapEntry(12, "mobiltelefon", valueSpecifiers[16]), | |
| mobitel: new MapEntry(7, "mobitel", valueSpecifiers[16]), | |
| msn: new MapEntry(3, "msn", valueSpecifiers[22]), | |
| "mรฉl.": new MapEntry(4, "mรฉl.", valueSpecifiers[6]), | |
| "mรฒbil": new MapEntry(5, "mรฒbil", valueSpecifiers[16]), | |
| "mรณvil": new MapEntry(5, "mรณvil", valueSpecifiers[16]), | |
| naam: new MapEntry(4, "naam", valueSpecifiers[0]), | |
| nacimiento: new MapEntry(10, "nacimiento", valueSpecifiers[4]), | |
| naissance: new MapEntry(9, "naissance", valueSpecifiers[4]), | |
| "naixenรงa": new MapEntry(8, "naixenรงa", valueSpecifiers[4]), | |
| name: new MapEntry(4, "name", valueSpecifiers[0]), | |
| namef: new MapEntry(5, "namef", valueSpecifiers[1]), | |
| namel: new MapEntry(5, "namel", valueSpecifiers[3]), | |
| namn: new MapEntry(4, "namn", valueSpecifiers[0]), | |
| narodeniny: new MapEntry(10, "narodeniny", valueSpecifiers[4]), | |
| "narodenรฝ/รก": new MapEntry(10, "narodenรฝ/รก", valueSpecifiers[4]), | |
| nascido: new MapEntry(7, "nascido", valueSpecifiers[4]), | |
| "nascido(a)": new MapEntry(10, "nascido(a)", valueSpecifiers[4]), | |
| nascut: new MapEntry(6, "nascut", valueSpecifiers[4]), | |
| "nato/a": new MapEntry(6, "nato/a", valueSpecifiers[4]), | |
| navn: new MapEntry(4, "navn", valueSpecifiers[0]), | |
| nazwisko: new MapEntry(8, "nazwisko", valueSpecifiers[3]), | |
| netnummer: new MapEntry(9, "netnummer", valueSpecifiers[12]), | |
| "netnummer 's avonds": new MapEntry(19, "netnummer 's avonds", valueSpecifiers[14]), | |
| "netnummer GSM": new MapEntry(13, "netnummer GSM", valueSpecifiers[16]), | |
| "netnummer bedrijf": new MapEntry(17, "netnummer bedrijf", valueSpecifiers[15]), | |
| "netnummer mobiel": new MapEntry(16, "netnummer mobiel", valueSpecifiers[16]), | |
| "netnummer mobiele telefoon": new MapEntry(26, "netnummer mobiele telefoon", valueSpecifiers[16]), | |
| "netnummer overdag": new MapEntry(17, "netnummer overdag", valueSpecifiers[15]), | |
| "netnummer privรฉ": new MapEntry(15, "netnummer privรฉ", valueSpecifiers[14]), | |
| "netnummer semafoon": new MapEntry(18, "netnummer semafoon", valueSpecifiers[17]), | |
| "netnummer thuis": new MapEntry(15, "netnummer thuis", valueSpecifiers[14]), | |
| "netnummer werk": new MapEntry(14, "netnummer werk", valueSpecifiers[15]), | |
| "netnummer zakelijk": new MapEntry(18, "netnummer zakelijk", valueSpecifiers[15]), | |
| nick: new MapEntry(4, "nick", valueSpecifiers[18]), | |
| nimi: new MapEntry(4, "nimi", valueSpecifiers[0]), | |
| nom: new MapEntry(3, "nom", valueSpecifiers[3]), | |
| "nom complet": new MapEntry(11, "nom complet", valueSpecifiers[0]), | |
| "nom de baptรชme": new MapEntry(14, "nom de baptรชme", valueSpecifiers[1]), | |
| "nom de famille": new MapEntry(14, "nom de famille", valueSpecifiers[3]), | |
| "nom entier": new MapEntry(10, "nom entier", valueSpecifiers[0]), | |
| "nom matronymique": new MapEntry(16, "nom matronymique", valueSpecifiers[2]), | |
| "nom patronyme": new MapEntry(13, "nom patronyme", valueSpecifiers[3]), | |
| "nom patronymique": new MapEntry(16, "nom patronymique", valueSpecifiers[3]), | |
| nombre: new MapEntry(6, "nombre", valueSpecifiers[1]), | |
| "nombre completo": new MapEntry(15, "nombre completo", valueSpecifiers[0]), | |
| nome: new MapEntry(4, "nome", valueSpecifiers[1]), | |
| "nome completo": new MapEntry(13, "nome completo", valueSpecifiers[0]), | |
| "nome de baptismo": new MapEntry(16, "nome de baptismo", valueSpecifiers[1]), | |
| "nome do meio": new MapEntry(12, "nome do meio", valueSpecifiers[2]), | |
| "nome e cognome": new MapEntry(14, "nome e cognome", valueSpecifiers[0]), | |
| nomedomeio: new MapEntry(10, "nomedomeio", valueSpecifiers[2]), | |
| nume: new MapEntry(4, "nume", valueSpecifiers[0]), | |
| "nume botez": new MapEntry(10, "nume botez", valueSpecifiers[1]), | |
| "nume complet": new MapEntry(12, "nume complet", valueSpecifiers[0]), | |
| "nume familie": new MapEntry(12, "nume familie", valueSpecifiers[3]), | |
| "nume รฎntreg": new MapEntry(11, "nume รฎntreg", valueSpecifiers[0]), | |
| "numero di tel. ufficio": new MapEntry(22, "numero di tel. ufficio", valueSpecifiers[15]), | |
| "numero di telefono": new MapEntry(18, "numero di telefono", valueSpecifiers[12]), | |
| "numero di telefono casa": new MapEntry(23, "numero di telefono casa", valueSpecifiers[14]), | |
| "numero di telefono lavoro": new MapEntry(25, "numero di telefono lavoro", valueSpecifiers[15]), | |
| "numero telefono": new MapEntry(15, "numero telefono", valueSpecifiers[12]), | |
| nummer: new MapEntry(6, "nummer", valueSpecifiers[12]), | |
| "numรฉro de mobile": new MapEntry(16, "numรฉro de mobile", valueSpecifiers[16]), | |
| "numรฉro de tรฉl.": new MapEntry(14, "numรฉro de tรฉl.", valueSpecifiers[12]), | |
| "numรฉro de tรฉlรฉavertisseur": new MapEntry(25, "numรฉro de tรฉlรฉavertisseur", valueSpecifiers[17]), | |
| "numรฉro de tรฉlรฉphone": new MapEntry(19, "numรฉro de tรฉlรฉphone", valueSpecifiers[12]), | |
| "numรฉro de tรฉlรฉphone domicile": new MapEntry(28, "numรฉro de tรฉlรฉphone domicile", valueSpecifiers[14]), | |
| "numรฉro postal": new MapEntry(13, "numรฉro postal", valueSpecifiers[10]), | |
| "numรฉro postal d'acheminement": new MapEntry(28, "numรฉro postal d'acheminement", valueSpecifiers[10]), | |
| "numฤr de telefon": new MapEntry(16, "numฤr de telefon", valueSpecifiers[12]), | |
| "numฤr pager": new MapEntry(11, "numฤr pager", valueSpecifiers[17]), | |
| "numฤr telefon": new MapEntry(13, "numฤr telefon", valueSpecifiers[12]), | |
| "nรฉ(e) le": new MapEntry(8, "nรฉ(e) le", valueSpecifiers[4]), | |
| "nรบmero de telefone": new MapEntry(18, "nรบmero de telefone", valueSpecifiers[12]), | |
| "nรบmero de telรจfon": new MapEntry(17, "nรบmero de telรจfon", valueSpecifiers[12]), | |
| "nรบmero de telรฉfono": new MapEntry(18, "nรบmero de telรฉfono", valueSpecifiers[12]), | |
| "omdrรฅdenr.": new MapEntry(10, "omdrรฅdenr.", valueSpecifiers[12]), | |
| "omrรฅdenummer": new MapEntry(12, "omrรฅdenummer", valueSpecifiers[12]), | |
| "omrรฅdenummer om dagen": new MapEntry(21, "omrรฅdenummer om dagen", valueSpecifiers[15]), | |
| "omrรฅdenummer til personsรธger": new MapEntry(28, "omrรฅdenummer til personsรธger", valueSpecifiers[17]), | |
| "omrรฅdenummer, aften": new MapEntry(19, "omrรฅdenummer, aften", valueSpecifiers[14]), | |
| "omrรฅdenummer, arbejde": new MapEntry(21, "omrรฅdenummer, arbejde", valueSpecifiers[15]), | |
| "omrรฅdenummer, dag": new MapEntry(17, "omrรฅdenummer, dag", valueSpecifiers[15]), | |
| "omrรฅdenummer, firma": new MapEntry(19, "omrรฅdenummer, firma", valueSpecifiers[15]), | |
| "omrรฅdenummer, mobil": new MapEntry(19, "omrรฅdenummer, mobil", valueSpecifiers[16]), | |
| "omrรฅdenummer, personsรธger": new MapEntry(25, "omrรฅdenummer, personsรธger", valueSpecifiers[17]), | |
| "omrรฅdenummer, privat": new MapEntry(20, "omrรฅdenummer, privat", valueSpecifiers[14]), | |
| "omrรฅdenummer, selskab": new MapEntry(21, "omrรฅdenummer, selskab", valueSpecifiers[15]), | |
| operaattoritunnus: new MapEntry(17, "operaattoritunnus", valueSpecifiers[16]), | |
| "oraศ": new MapEntry(4, "oraศ", valueSpecifiers[8]), | |
| organisaatio: new MapEntry(12, "organisaatio", valueSpecifiers[13]), | |
| organisasjon: new MapEntry(12, "organisasjon", valueSpecifiers[13]), | |
| organisatie: new MapEntry(11, "organisatie", valueSpecifiers[13]), | |
| organisation: new MapEntry(12, "organisation", valueSpecifiers[13]), | |
| organisme: new MapEntry(9, "organisme", valueSpecifiers[13]), | |
| "organitzaciรณ": new MapEntry(12, "organitzaciรณ", valueSpecifiers[13]), | |
| organizacija: new MapEntry(12, "organizacija", valueSpecifiers[13]), | |
| "organizaciรณn": new MapEntry(12, "organizaciรณn", valueSpecifiers[13]), | |
| organizasyon: new MapEntry(12, "organizasyon", valueSpecifiers[13]), | |
| organization: new MapEntry(12, "organization", valueSpecifiers[13]), | |
| "organizaรงรฃo": new MapEntry(11, "organizaรงรฃo", valueSpecifiers[13]), | |
| "organizaศie": new MapEntry(11, "organizaศie", valueSpecifiers[13]), | |
| organizzazione: new MapEntry(14, "organizzazione", valueSpecifiers[13]), | |
| "organizรกcia": new MapEntry(11, "organizรกcia", valueSpecifiers[13]), | |
| ort: new MapEntry(3, "ort", valueSpecifiers[8]), | |
| osavaltio: new MapEntry(9, "osavaltio", valueSpecifiers[9]), | |
| osoite: new MapEntry(6, "osoite", valueSpecifiers[7]), | |
| "osoite 1": new MapEntry(8, "osoite 1", valueSpecifiers[7]), | |
| paese: new MapEntry(5, "paese", valueSpecifiers[11]), | |
| pager: new MapEntry(5, "pager", valueSpecifiers[17]), | |
| "pager area code": new MapEntry(15, "pager area code", valueSpecifiers[17]), | |
| "pager areacode": new MapEntry(14, "pager areacode", valueSpecifiers[17]), | |
| "pager phone": new MapEntry(11, "pager phone", valueSpecifiers[17]), | |
| pagerareacode: new MapEntry(13, "pagerareacode", valueSpecifiers[17]), | |
| pagerphone: new MapEntry(10, "pagerphone", valueSpecifiers[17]), | |
| pagette: new MapEntry(7, "pagette", valueSpecifiers[17]), | |
| pageur: new MapEntry(6, "pageur", valueSpecifiers[17]), | |
| paikkakunta: new MapEntry(11, "paikkakunta", valueSpecifiers[8]), | |
| patronyme: new MapEntry(9, "patronyme", valueSpecifiers[3]), | |
| pays: new MapEntry(4, "pays", valueSpecifiers[11]), | |
| "paรญs": new MapEntry(4, "paรญs", valueSpecifiers[11]), | |
| "personsรถk": new MapEntry(9, "personsรถk", valueSpecifiers[17]), | |
| "personsรถkare": new MapEntry(12, "personsรถkare", valueSpecifiers[17]), | |
| "personsรธger": new MapEntry(11, "personsรธger", valueSpecifiers[17]), | |
| "personsรธger nr.": new MapEntry(15, "personsรธger nr.", valueSpecifiers[17]), | |
| "personsรธkernr.": new MapEntry(14, "personsรธkernr.", valueSpecifiers[17]), | |
| "personsรธkernummer": new MapEntry(17, "personsรธkernummer", valueSpecifiers[17]), | |
| "petit nom": new MapEntry(9, "petit nom", valueSpecifiers[1]), | |
| phone: new MapEntry(5, "phone", valueSpecifiers[12]), | |
| "phone number": new MapEntry(12, "phone number", valueSpecifiers[12]), | |
| phonenumber: new MapEntry(11, "phonenumber", valueSpecifiers[12]), | |
| "pierwsze imiฤ": new MapEntry(13, "pierwsze imiฤ", valueSpecifiers[1]), | |
| plaats: new MapEntry(6, "plaats", valueSpecifiers[8]), | |
| pnome: new MapEntry(5, "pnome", valueSpecifiers[1]), | |
| pnume: new MapEntry(5, "pnume", valueSpecifiers[1]), | |
| posao: new MapEntry(5, "posao", valueSpecifiers[5]), | |
| "poslovni telefon": new MapEntry(16, "poslovni telefon", valueSpecifiers[15]), | |
| "post code": new MapEntry(9, "post code", valueSpecifiers[10]), | |
| "posta elettronica": new MapEntry(17, "posta elettronica", valueSpecifiers[6]), | |
| "posta kodu": new MapEntry(10, "posta kodu", valueSpecifiers[10]), | |
| postal: new MapEntry(6, "postal", valueSpecifiers[10]), | |
| "postal code": new MapEntry(11, "postal code", valueSpecifiers[10]), | |
| postalcode: new MapEntry(10, "postalcode", valueSpecifiers[10]), | |
| postcode: new MapEntry(8, "postcode", valueSpecifiers[10]), | |
| poste: new MapEntry(5, "poste", valueSpecifiers[5]), | |
| postinro: new MapEntry(8, "postinro", valueSpecifiers[10]), | |
| postinumero: new MapEntry(11, "postinumero", valueSpecifiers[10]), | |
| postitoimipaikka: new MapEntry(16, "postitoimipaikka", valueSpecifiers[8]), | |
| "postnr.": new MapEntry(7, "postnr.", valueSpecifiers[10]), | |
| postnummer: new MapEntry(10, "postnummer", valueSpecifiers[10]), | |
| poststed: new MapEntry(8, "poststed", valueSpecifiers[8]), | |
| "pozivni broj": new MapEntry(12, "pozivni broj", valueSpecifiers[12]), | |
| "pozรญcia": new MapEntry(7, "pozรญcia", valueSpecifiers[5]), | |
| "poลกtanski br.": new MapEntry(13, "poลกtanski br.", valueSpecifiers[10]), | |
| "poลกtanski broj": new MapEntry(14, "poลกtanski broj", valueSpecifiers[10]), | |
| "poลกtovรฉ smerovacie ฤรญslo": new MapEntry(24, "poลกtovรฉ smerovacie ฤรญslo", valueSpecifiers[10]), | |
| "pracovnรก pozรญcia": new MapEntry(16, "pracovnรก pozรญcia", valueSpecifiers[5]), | |
| "pracovnรก predvoฤพba": new MapEntry(18, "pracovnรก predvoฤพba", valueSpecifiers[15]), | |
| "pracovnรฝ telefรณn": new MapEntry(16, "pracovnรฝ telefรณn", valueSpecifiers[15]), | |
| "pre nume": new MapEntry(8, "pre nume", valueSpecifiers[1]), | |
| "predvoฤพba": new MapEntry(9, "predvoฤพba", valueSpecifiers[12]), | |
| "predvoฤพba do prรกce": new MapEntry(18, "predvoฤพba do prรกce", valueSpecifiers[15]), | |
| "predvoฤพba domov": new MapEntry(15, "predvoฤพba domov", valueSpecifiers[14]), | |
| "predvoฤพba firmy": new MapEntry(15, "predvoฤพba firmy", valueSpecifiers[15]), | |
| "predvoฤพba mobilnรฉho telefรณnu": new MapEntry(28, "predvoฤพba mobilnรฉho telefรณnu", valueSpecifiers[16]), | |
| "predvoฤพba pagera": new MapEntry(16, "predvoฤพba pagera", valueSpecifiers[17]), | |
| "predvoฤพba spoloฤnosti": new MapEntry(21, "predvoฤพba spoloฤnosti", valueSpecifiers[15]), | |
| "pref. cercapersone": new MapEntry(18, "pref. cercapersone", valueSpecifiers[17]), | |
| prefijo: new MapEntry(7, "prefijo", valueSpecifiers[12]), | |
| prefisso: new MapEntry(8, "prefisso", valueSpecifiers[12]), | |
| "prefisso cell.": new MapEntry(14, "prefisso cell.", valueSpecifiers[16]), | |
| "prefisso cellulare": new MapEntry(18, "prefisso cellulare", valueSpecifiers[16]), | |
| "prefisso cercapers.": new MapEntry(19, "prefisso cercapers.", valueSpecifiers[17]), | |
| "prefisso cercapersone": new MapEntry(21, "prefisso cercapersone", valueSpecifiers[17]), | |
| "prefisso lavoro": new MapEntry(15, "prefisso lavoro", valueSpecifiers[15]), | |
| "prefisso locale": new MapEntry(15, "prefisso locale", valueSpecifiers[12]), | |
| "prefisso numero lavoro": new MapEntry(22, "prefisso numero lavoro", valueSpecifiers[15]), | |
| "prefisso ore serali": new MapEntry(19, "prefisso ore serali", valueSpecifiers[14]), | |
| "prefisso tel. privato": new MapEntry(21, "prefisso tel. privato", valueSpecifiers[14]), | |
| "prefisso telefono abitazione": new MapEntry(28, "prefisso telefono abitazione", valueSpecifiers[14]), | |
| "prefisso telefono azienda": new MapEntry(25, "prefisso telefono azienda", valueSpecifiers[15]), | |
| "prefisso telefono casa": new MapEntry(22, "prefisso telefono casa", valueSpecifiers[14]), | |
| "prefisso telefono cellulare": new MapEntry(27, "prefisso telefono cellulare", valueSpecifiers[16]), | |
| "prefisso telefono di casa": new MapEntry(25, "prefisso telefono di casa", valueSpecifiers[14]), | |
| "prefisso telefono lavoro": new MapEntry(24, "prefisso telefono lavoro", valueSpecifiers[15]), | |
| "prefisso telefono ufficio": new MapEntry(25, "prefisso telefono ufficio", valueSpecifiers[15]), | |
| "prefisso ufficio": new MapEntry(16, "prefisso ufficio", valueSpecifiers[15]), | |
| prefix: new MapEntry(6, "prefix", valueSpecifiers[12]), | |
| "prefix mobil": new MapEntry(12, "prefix mobil", valueSpecifiers[16]), | |
| "prefix pager": new MapEntry(12, "prefix pager", valueSpecifiers[17]), | |
| "prefix telefon acasฤ": new MapEntry(20, "prefix telefon acasฤ", valueSpecifiers[14]), | |
| "prefix telefon birou": new MapEntry(20, "prefix telefon birou", valueSpecifiers[15]), | |
| "prefix telefon companie": new MapEntry(23, "prefix telefon companie", valueSpecifiers[15]), | |
| "prefix telefon domiciliu": new MapEntry(24, "prefix telefon domiciliu", valueSpecifiers[14]), | |
| "prefix telefon lucru": new MapEntry(20, "prefix telefon lucru", valueSpecifiers[15]), | |
| "prefix telefon searฤ": new MapEntry(20, "prefix telefon searฤ", valueSpecifiers[14]), | |
| "prefix telefon serviciu": new MapEntry(23, "prefix telefon serviciu", valueSpecifiers[15]), | |
| "prefix telefon zi": new MapEntry(17, "prefix telefon zi", valueSpecifiers[15]), | |
| "prefix zonal": new MapEntry(12, "prefix zonal", valueSpecifiers[12]), | |
| prenume: new MapEntry(7, "prenume", valueSpecifiers[1]), | |
| "prenume secundar": new MapEntry(16, "prenume secundar", valueSpecifiers[2]), | |
| prezime: new MapEntry(7, "prezime", valueSpecifiers[3]), | |
| primeiro: new MapEntry(8, "primeiro", valueSpecifiers[1]), | |
| "primeiro nome": new MapEntry(13, "primeiro nome", valueSpecifiers[1]), | |
| primeironome: new MapEntry(12, "primeironome", valueSpecifiers[1]), | |
| privat: new MapEntry(6, "privat", valueSpecifiers[14]), | |
| profesija: new MapEntry(9, "profesija", valueSpecifiers[5]), | |
| profession: new MapEntry(10, "profession", valueSpecifiers[5]), | |
| province: new MapEntry(8, "province", valueSpecifiers[9]), | |
| provincia: new MapEntry(9, "provincia", valueSpecifiers[9]), | |
| provins: new MapEntry(7, "provins", valueSpecifiers[9]), | |
| "provรญncia": new MapEntry(9, "provรญncia", valueSpecifiers[9]), | |
| "prรฉnom": new MapEntry(6, "prรฉnom", valueSpecifiers[1]), | |
| "prรฉnom usuel": new MapEntry(12, "prรฉnom usuel", valueSpecifiers[1]), | |
| "puesto de trabajo": new MapEntry(17, "puesto de trabajo", valueSpecifiers[5]), | |
| "puh.num.": new MapEntry(8, "puh.num.", valueSpecifiers[12]), | |
| puhelin: new MapEntry(7, "puhelin", valueSpecifiers[12]), | |
| "puhelin pรคivรคsaikaan": new MapEntry(20, "puhelin pรคivรคsaikaan", valueSpecifiers[15]), | |
| puhelinnro: new MapEntry(10, "puhelinnro", valueSpecifiers[12]), | |
| puhelinnumero: new MapEntry(13, "puhelinnumero", valueSpecifiers[12]), | |
| "puno ime": new MapEntry(8, "puno ime", valueSpecifiers[0]), | |
| "pรคivisin": new MapEntry(8, "pรคivisin", valueSpecifiers[15]), | |
| qq: new MapEntry(2, "qq", valueSpecifiers[23]), | |
| qualifica: new MapEntry(9, "qualifica", valueSpecifiers[5]), | |
| radiomessageur: new MapEntry(14, "radiomessageur", valueSpecifiers[17]), | |
| "regiรฃo": new MapEntry(6, "regiรฃo", valueSpecifiers[9]), | |
| "retningsnr.": new MapEntry(11, "retningsnr.", valueSpecifiers[12]), | |
| "retningsnr., personsรธker": new MapEntry(24, "retningsnr., personsรธker", valueSpecifiers[17]), | |
| retningsnummer: new MapEntry(14, "retningsnummer", valueSpecifiers[12]), | |
| "retningsnummer, arbeid": new MapEntry(22, "retningsnummer, arbeid", valueSpecifiers[15]), | |
| "retningsnummer, bedrift": new MapEntry(23, "retningsnummer, bedrift", valueSpecifiers[15]), | |
| "retningsnummer, dag": new MapEntry(19, "retningsnummer, dag", valueSpecifiers[15]), | |
| "retningsnummer, dagtid": new MapEntry(22, "retningsnummer, dagtid", valueSpecifiers[15]), | |
| "retningsnummer, firma": new MapEntry(21, "retningsnummer, firma", valueSpecifiers[15]), | |
| "retningsnummer, hjem": new MapEntry(20, "retningsnummer, hjem", valueSpecifiers[14]), | |
| "retningsnummer, jobb": new MapEntry(20, "retningsnummer, jobb", valueSpecifiers[15]), | |
| "retningsnummer, kveld": new MapEntry(21, "retningsnummer, kveld", valueSpecifiers[14]), | |
| "retningsnummer, kveldstid": new MapEntry(25, "retningsnummer, kveldstid", valueSpecifiers[14]), | |
| "retningsnummer, mobil": new MapEntry(21, "retningsnummer, mobil", valueSpecifiers[16]), | |
| "retningsnummer, mobiltelefon": new MapEntry(28, "retningsnummer, mobiltelefon", valueSpecifiers[16]), | |
| "retningsnummer, personsรธker": new MapEntry(27, "retningsnummer, personsรธker", valueSpecifiers[17]), | |
| "retningsnummer, selskap": new MapEntry(23, "retningsnummer, selskap", valueSpecifiers[15]), | |
| riktnr: new MapEntry(6, "riktnr", valueSpecifiers[12]), | |
| riktnummer: new MapEntry(10, "riktnummer", valueSpecifiers[12]), | |
| "riktnummer arbetet": new MapEntry(18, "riktnummer arbetet", valueSpecifiers[15]), | |
| "riktnummer dagtid": new MapEntry(17, "riktnummer dagtid", valueSpecifiers[15]), | |
| "riktnummer fรถretaget": new MapEntry(20, "riktnummer fรถretaget", valueSpecifiers[15]), | |
| "riktnummer hem": new MapEntry(14, "riktnummer hem", valueSpecifiers[14]), | |
| "riktnummer kontoret": new MapEntry(19, "riktnummer kontoret", valueSpecifiers[15]), | |
| "riktnummer kvรคllstid": new MapEntry(20, "riktnummer kvรคllstid", valueSpecifiers[14]), | |
| "riktnummer mobil": new MapEntry(16, "riktnummer mobil", valueSpecifiers[16]), | |
| "riktnummer mobiltelefon": new MapEntry(23, "riktnummer mobiltelefon", valueSpecifiers[16]), | |
| "riktnummer personsรถk": new MapEntry(20, "riktnummer personsรถk", valueSpecifiers[17]), | |
| "riktnummer personsรถkare": new MapEntry(23, "riktnummer personsรถkare", valueSpecifiers[17]), | |
| "roฤendan": new MapEntry(8, "roฤendan", valueSpecifiers[4]), | |
| rua: new MapEntry(3, "rua", valueSpecifiers[7]), | |
| rue: new MapEntry(3, "rue", valueSpecifiers[7]), | |
| "ruolo professionale": new MapEntry(19, "ruolo professionale", valueSpecifiers[5]), | |
| "rรฉcepteur de radiomessagerie": new MapEntry(28, "rรฉcepteur de radiomessagerie", valueSpecifiers[17]), | |
| "rรฉgion": new MapEntry(6, "rรฉgion", valueSpecifiers[9]), | |
| "s-posti": new MapEntry(7, "s-posti", valueSpecifiers[6]), | |
| "second prรฉnom": new MapEntry(13, "second prรฉnom", valueSpecifiers[2]), | |
| "secondo nome": new MapEntry(12, "secondo nome", valueSpecifiers[2]), | |
| secundar: new MapEntry(8, "secundar", valueSpecifiers[2]), | |
| "segon nom": new MapEntry(9, "segon nom", valueSpecifiers[2]), | |
| "segundo nombre": new MapEntry(14, "segundo nombre", valueSpecifiers[2]), | |
| selskak: new MapEntry(7, "selskak", valueSpecifiers[13]), | |
| selskap: new MapEntry(7, "selskap", valueSpecifiers[13]), | |
| semafoon: new MapEntry(8, "semafoon", valueSpecifiers[17]), | |
| skype: new MapEntry(5, "skype", valueSpecifiers[24]), | |
| "sluลพbeni telefon": new MapEntry(16, "sluลพbeni telefon", valueSpecifiers[15]), | |
| "smerovacie ฤรญslo": new MapEntry(16, "smerovacie ฤรญslo", valueSpecifiers[10]), | |
| sobrenome: new MapEntry(9, "sobrenome", valueSpecifiers[3]), | |
| "societร ": new MapEntry(7, "societร ", valueSpecifiers[13]), | |
| "sociรฉtรฉ": new MapEntry(7, "sociรฉtรฉ", valueSpecifiers[13]), | |
| soyad: new MapEntry(5, "soyad", valueSpecifiers[3]), | |
| "soyadฤฑ": new MapEntry(6, "soyadฤฑ", valueSpecifiers[3]), | |
| soyisim: new MapEntry(7, "soyisim", valueSpecifiers[3]), | |
| soyismi: new MapEntry(7, "soyismi", valueSpecifiers[3]), | |
| "spoloฤnosลฅ": new MapEntry(10, "spoloฤnosลฅ", valueSpecifiers[13]), | |
| staat: new MapEntry(5, "staat", valueSpecifiers[9]), | |
| stad: new MapEntry(4, "stad", valueSpecifiers[8]), | |
| stanowisko: new MapEntry(10, "stanowisko", valueSpecifiers[5]), | |
| stat: new MapEntry(4, "stat", valueSpecifiers[9]), | |
| state: new MapEntry(5, "state", valueSpecifiers[9]), | |
| stato: new MapEntry(5, "stato", valueSpecifiers[9]), | |
| sted: new MapEntry(4, "sted", valueSpecifiers[8]), | |
| stilling: new MapEntry(8, "stilling", valueSpecifiers[5]), | |
| straat: new MapEntry(6, "straat", valueSpecifiers[7]), | |
| strada: new MapEntry(6, "strada", valueSpecifiers[7]), | |
| "strednรฉ": new MapEntry(7, "strednรฉ", valueSpecifiers[2]), | |
| "strednรฉ meno": new MapEntry(12, "strednรฉ meno", valueSpecifiers[2]), | |
| street: new MapEntry(6, "street", valueSpecifiers[7]), | |
| "street address": new MapEntry(14, "street address", valueSpecifiers[7]), | |
| streetaddress: new MapEntry(13, "streetaddress", valueSpecifiers[7]), | |
| suku: new MapEntry(4, "suku", valueSpecifiers[3]), | |
| "sukun.": new MapEntry(6, "sukun.", valueSpecifiers[3]), | |
| sukunimi: new MapEntry(8, "sukunimi", valueSpecifiers[3]), | |
| surname: new MapEntry(7, "surname", valueSpecifiers[3]), | |
| suuntanro: new MapEntry(9, "suuntanro", valueSpecifiers[12]), | |
| suuntanumero: new MapEntry(12, "suuntanumero", valueSpecifiers[12]), | |
| "suuntanumero iltaisin": new MapEntry(21, "suuntanumero iltaisin", valueSpecifiers[14]), | |
| "suuntanumero koti": new MapEntry(17, "suuntanumero koti", valueSpecifiers[14]), | |
| "suuntanumero tyรถ": new MapEntry(16, "suuntanumero tyรถ", valueSpecifiers[15]), | |
| "suuntanumero yritys": new MapEntry(19, "suuntanumero yritys", valueSpecifiers[15]), | |
| "syntymรคpรคivรค": new MapEntry(12, "syntymรคpรคivรค", valueSpecifiers[4]), | |
| syntynyt: new MapEntry(8, "syntynyt", valueSpecifiers[4]), | |
| "sรคhkรถposti": new MapEntry(10, "sรคhkรถposti", valueSpecifiers[6]), | |
| "sรคhkรถpostiosoite": new MapEntry(16, "sรคhkรถpostiosoite", valueSpecifiers[6]), | |
| "sรฉmaphone": new MapEntry(9, "sรฉmaphone", valueSpecifiers[17]), | |
| "tam ad": new MapEntry(6, "tam ad", valueSpecifiers[0]), | |
| "tam adฤฑ": new MapEntry(7, "tam adฤฑ", valueSpecifiers[0]), | |
| "tam isim": new MapEntry(8, "tam isim", valueSpecifiers[0]), | |
| tel: new MapEntry(3, "tel", valueSpecifiers[12]), | |
| "tel.": new MapEntry(4, "tel.", valueSpecifiers[12]), | |
| "tel. lavoro": new MapEntry(11, "tel. lavoro", valueSpecifiers[15]), | |
| "tel. ufficio": new MapEntry(12, "tel. ufficio", valueSpecifiers[15]), | |
| "tel. ฤรญslo": new MapEntry(10, "tel. ฤรญslo", valueSpecifiers[12]), | |
| telefon: new MapEntry(7, "telefon", valueSpecifiers[12]), | |
| "telefon (cep)": new MapEntry(13, "telefon (cep)", valueSpecifiers[16]), | |
| "telefon (ev)": new MapEntry(12, "telefon (ev)", valueSpecifiers[14]), | |
| "telefon (iล)": new MapEntry(12, "telefon (iล)", valueSpecifiers[15]), | |
| "telefon acasฤ": new MapEntry(13, "telefon acasฤ", valueSpecifiers[14]), | |
| "telefon arbetet": new MapEntry(15, "telefon arbetet", valueSpecifiers[15]), | |
| "telefon birou": new MapEntry(13, "telefon birou", valueSpecifiers[15]), | |
| "telefon celular": new MapEntry(15, "telefon celular", valueSpecifiers[16]), | |
| "telefon companie": new MapEntry(16, "telefon companie", valueSpecifiers[15]), | |
| "telefon dagtid": new MapEntry(14, "telefon dagtid", valueSpecifiers[15]), | |
| "telefon domiciliu": new MapEntry(17, "telefon domiciliu", valueSpecifiers[14]), | |
| "telefon fรถretaget": new MapEntry(17, "telefon fรถretaget", valueSpecifiers[15]), | |
| "telefon hem": new MapEntry(11, "telefon hem", valueSpecifiers[14]), | |
| "telefon kontoret": new MapEntry(16, "telefon kontoret", valueSpecifiers[15]), | |
| "telefon kvรคllstid": new MapEntry(17, "telefon kvรคllstid", valueSpecifiers[14]), | |
| "telefon lucru": new MapEntry(13, "telefon lucru", valueSpecifiers[15]), | |
| "telefon mobil": new MapEntry(13, "telefon mobil", valueSpecifiers[16]), | |
| "telefon no": new MapEntry(10, "telefon no", valueSpecifiers[12]), | |
| "telefon numarasฤฑ": new MapEntry(16, "telefon numarasฤฑ", valueSpecifiers[12]), | |
| "telefon pager": new MapEntry(13, "telefon pager", valueSpecifiers[17]), | |
| "telefon searฤ": new MapEntry(13, "telefon searฤ", valueSpecifiers[14]), | |
| "telefon serviciu": new MapEntry(16, "telefon serviciu", valueSpecifiers[15]), | |
| "telefon tvrtke": new MapEntry(14, "telefon tvrtke", valueSpecifiers[15]), | |
| "telefon zi": new MapEntry(10, "telefon zi", valueSpecifiers[15]), | |
| "telefon, aften": new MapEntry(14, "telefon, aften", valueSpecifiers[14]), | |
| "telefon, arbeid": new MapEntry(15, "telefon, arbeid", valueSpecifiers[15]), | |
| "telefon, arbejde": new MapEntry(16, "telefon, arbejde", valueSpecifiers[15]), | |
| "telefon, dag": new MapEntry(12, "telefon, dag", valueSpecifiers[15]), | |
| "telefon, dagtid": new MapEntry(15, "telefon, dagtid", valueSpecifiers[15]), | |
| "telefon, firma": new MapEntry(14, "telefon, firma", valueSpecifiers[15]), | |
| "telefon, hjem": new MapEntry(13, "telefon, hjem", valueSpecifiers[14]), | |
| "telefon, jobb": new MapEntry(13, "telefon, jobb", valueSpecifiers[15]), | |
| "telefon, kveldstid": new MapEntry(18, "telefon, kveldstid", valueSpecifiers[14]), | |
| "telefon, mobil": new MapEntry(14, "telefon, mobil", valueSpecifiers[16]), | |
| telefone: new MapEntry(8, "telefone", valueSpecifiers[12]), | |
| "telefone (casa)": new MapEntry(15, "telefone (casa)", valueSpecifiers[14]), | |
| "telefone (celular)": new MapEntry(18, "telefone (celular)", valueSpecifiers[16]), | |
| "telefone (diurno)": new MapEntry(17, "telefone (diurno)", valueSpecifiers[15]), | |
| "telefone (empresa)": new MapEntry(18, "telefone (empresa)", valueSpecifiers[15]), | |
| "telefone (noturno)": new MapEntry(18, "telefone (noturno)", valueSpecifiers[14]), | |
| "telefone (pager)": new MapEntry(16, "telefone (pager)", valueSpecifiers[17]), | |
| "telefone (trabalho)": new MapEntry(19, "telefone (trabalho)", valueSpecifiers[15]), | |
| "telefone celular": new MapEntry(16, "telefone celular", valueSpecifiers[16]), | |
| "telefone comercial": new MapEntry(18, "telefone comercial", valueSpecifiers[15]), | |
| "telefone da empresa": new MapEntry(19, "telefone da empresa", valueSpecifiers[15]), | |
| "telefone de casa": new MapEntry(16, "telefone de casa", valueSpecifiers[14]), | |
| "telefone de dia": new MapEntry(15, "telefone de dia", valueSpecifiers[15]), | |
| "telefone do trabalho": new MapEntry(20, "telefone do trabalho", valueSpecifiers[15]), | |
| "telefone durante o dia": new MapEntry(22, "telefone durante o dia", valueSpecifiers[15]), | |
| "telefone pager": new MapEntry(14, "telefone pager", valueSpecifiers[17]), | |
| "telefone ร noite": new MapEntry(16, "telefone ร noite", valueSpecifiers[14]), | |
| telefonecelular: new MapEntry(15, "telefonecelular", valueSpecifiers[16]), | |
| telefonecomercial: new MapEntry(17, "telefonecomercial", valueSpecifiers[15]), | |
| telefonedecasa: new MapEntry(14, "telefonedecasa", valueSpecifiers[14]), | |
| telefonedia: new MapEntry(11, "telefonedia", valueSpecifiers[15]), | |
| telefoneempresa: new MapEntry(15, "telefoneempresa", valueSpecifiers[15]), | |
| telefonenoite: new MapEntry(13, "telefonenoite", valueSpecifiers[14]), | |
| telefonepager: new MapEntry(13, "telefonepager", valueSpecifiers[17]), | |
| telefonetrabalho: new MapEntry(16, "telefonetrabalho", valueSpecifiers[15]), | |
| "telefonnr.": new MapEntry(10, "telefonnr.", valueSpecifiers[12]), | |
| telefonnummer: new MapEntry(13, "telefonnummer", valueSpecifiers[12]), | |
| telefono: new MapEntry(8, "telefono", valueSpecifiers[12]), | |
| "telefono abitazione": new MapEntry(19, "telefono abitazione", valueSpecifiers[14]), | |
| "telefono azienda": new MapEntry(16, "telefono azienda", valueSpecifiers[15]), | |
| "telefono casa": new MapEntry(13, "telefono casa", valueSpecifiers[14]), | |
| "telefono cell.": new MapEntry(14, "telefono cell.", valueSpecifiers[16]), | |
| "telefono cellulare": new MapEntry(18, "telefono cellulare", valueSpecifiers[16]), | |
| "telefono lavoro": new MapEntry(15, "telefono lavoro", valueSpecifiers[15]), | |
| "telefono ore serali": new MapEntry(19, "telefono ore serali", valueSpecifiers[14]), | |
| "telefono ore ufficio": new MapEntry(20, "telefono ore ufficio", valueSpecifiers[15]), | |
| "telefono privato": new MapEntry(16, "telefono privato", valueSpecifiers[14]), | |
| "telefono ufficio": new MapEntry(16, "telefono ufficio", valueSpecifiers[15]), | |
| "telefonski broj": new MapEntry(15, "telefonski broj", valueSpecifiers[12]), | |
| "telefoon 's avonds": new MapEntry(18, "telefoon 's avonds", valueSpecifiers[14]), | |
| "telefoon bedrijf": new MapEntry(16, "telefoon bedrijf", valueSpecifiers[15]), | |
| "telefoon overdag": new MapEntry(16, "telefoon overdag", valueSpecifiers[15]), | |
| "telefoon privรฉ": new MapEntry(14, "telefoon privรฉ", valueSpecifiers[14]), | |
| "telefoon thuis": new MapEntry(14, "telefoon thuis", valueSpecifiers[14]), | |
| "telefoon werk": new MapEntry(13, "telefoon werk", valueSpecifiers[15]), | |
| "telefoon zakelijk": new MapEntry(17, "telefoon zakelijk", valueSpecifiers[15]), | |
| "telefoonnnummer thuis": new MapEntry(21, "telefoonnnummer thuis", valueSpecifiers[14]), | |
| "telefoonnummer bedrijf": new MapEntry(22, "telefoonnummer bedrijf", valueSpecifiers[15]), | |
| "telefoonnummer overdag": new MapEntry(22, "telefoonnummer overdag", valueSpecifiers[15]), | |
| "telefoonnummer privรฉ": new MapEntry(20, "telefoonnummer privรฉ", valueSpecifiers[14]), | |
| "telefoonnummer werk": new MapEntry(19, "telefoonnummer werk", valueSpecifiers[15]), | |
| "telefoonnummer zakelijk": new MapEntry(23, "telefoonnummer zakelijk", valueSpecifiers[15]), | |
| "telefรณn": new MapEntry(7, "telefรณn", valueSpecifiers[12]), | |
| "telefรณn do prรกce": new MapEntry(16, "telefรณn do prรกce", valueSpecifiers[15]), | |
| "telefรณn domov": new MapEntry(13, "telefรณn domov", valueSpecifiers[14]), | |
| "telefรณnna predvoฤพba": new MapEntry(19, "telefรณnna predvoฤพba", valueSpecifiers[12]), | |
| "telefรณnna predvoฤพba domov": new MapEntry(25, "telefรณnna predvoฤพba domov", valueSpecifiers[14]), | |
| "telefรณnne ฤรญslo": new MapEntry(15, "telefรณnne ฤรญslo", valueSpecifiers[12]), | |
| "telemรณvel": new MapEntry(9, "telemรณvel", valueSpecifiers[16]), | |
| telephone: new MapEntry(9, "telephone", valueSpecifiers[12]), | |
| "telรจfon": new MapEntry(7, "telรจfon", valueSpecifiers[12]), | |
| "telรจfon de casa": new MapEntry(15, "telรจfon de casa", valueSpecifiers[14]), | |
| "telรจfon de la feina": new MapEntry(19, "telรจfon de la feina", valueSpecifiers[15]), | |
| "telรจfon dia": new MapEntry(11, "telรจfon dia", valueSpecifiers[15]), | |
| "telรจfon feina": new MapEntry(13, "telรจfon feina", valueSpecifiers[15]), | |
| "telรจfon mรฒbil": new MapEntry(13, "telรจfon mรฒbil", valueSpecifiers[16]), | |
| "telรจfono casa": new MapEntry(13, "telรจfono casa", valueSpecifiers[14]), | |
| "telรจfono nit": new MapEntry(12, "telรจfono nit", valueSpecifiers[14]), | |
| "telรฉfono": new MapEntry(8, "telรฉfono", valueSpecifiers[12]), | |
| "telรฉfono casa": new MapEntry(13, "telรฉfono casa", valueSpecifiers[14]), | |
| "telรฉfono de casa": new MapEntry(16, "telรฉfono de casa", valueSpecifiers[14]), | |
| "telรฉfono del trabajo": new MapEntry(20, "telรฉfono del trabajo", valueSpecifiers[15]), | |
| "telรฉfono dรญa": new MapEntry(12, "telรฉfono dรญa", valueSpecifiers[15]), | |
| "telรฉfono mรณvil": new MapEntry(14, "telรฉfono mรณvil", valueSpecifiers[16]), | |
| "telรฉfono noche": new MapEntry(14, "telรฉfono noche", valueSpecifiers[14]), | |
| "telรฉfono trabajo": new MapEntry(16, "telรฉfono trabajo", valueSpecifiers[15]), | |
| titel: new MapEntry(5, "titel", valueSpecifiers[5]), | |
| titula: new MapEntry(6, "titula", valueSpecifiers[5]), | |
| "tlf.": new MapEntry(4, "tlf.", valueSpecifiers[12]), | |
| "toinen etunimi": new MapEntry(14, "toinen etunimi", valueSpecifiers[2]), | |
| "toinen nimi": new MapEntry(11, "toinen nimi", valueSpecifiers[2]), | |
| trabajo: new MapEntry(7, "trabajo", valueSpecifiers[5]), | |
| tvrtka: new MapEntry(6, "tvrtka", valueSpecifiers[13]), | |
| "tyรถnumero": new MapEntry(9, "tyรถnumero", valueSpecifiers[15]), | |
| "tyรถnumeron suuntanumero": new MapEntry(23, "tyรถnumeron suuntanumero", valueSpecifiers[15]), | |
| "tyรถpuhelimen suuntanumero": new MapEntry(25, "tyรถpuhelimen suuntanumero", valueSpecifiers[15]), | |
| "tyรถpuhelin": new MapEntry(10, "tyรถpuhelin", valueSpecifiers[15]), | |
| "tรคydellinen nimi": new MapEntry(16, "tรคydellinen nimi", valueSpecifiers[0]), | |
| "tรฉl.": new MapEntry(4, "tรฉl.", valueSpecifiers[12]), | |
| "tรฉl. cell.": new MapEntry(10, "tรฉl. cell.", valueSpecifiers[16]), | |
| "tรฉlรฉav.": new MapEntry(7, "tรฉlรฉav.", valueSpecifiers[17]), | |
| "tรฉlรฉavertisseur": new MapEntry(15, "tรฉlรฉavertisseur", valueSpecifiers[17]), | |
| "tรฉlรฉc.": new MapEntry(6, "tรฉlรฉc.", valueSpecifiers[12]), | |
| "tรฉlรฉcopie": new MapEntry(9, "tรฉlรฉcopie", valueSpecifiers[12]), | |
| "tรฉlรฉcopieur": new MapEntry(11, "tรฉlรฉcopieur", valueSpecifiers[12]), | |
| "tรฉlรฉphone": new MapEntry(9, "tรฉlรฉphone", valueSpecifiers[12]), | |
| "tรฉlรฉphone (entreprise)": new MapEntry(22, "tรฉlรฉphone (entreprise)", valueSpecifiers[15]), | |
| "tรฉlรฉphone (jour)": new MapEntry(16, "tรฉlรฉphone (jour)", valueSpecifiers[15]), | |
| "tรฉlรฉphone (journรฉe)": new MapEntry(19, "tรฉlรฉphone (journรฉe)", valueSpecifiers[15]), | |
| "tรฉlรฉphone (le soir)": new MapEntry(19, "tรฉlรฉphone (le soir)", valueSpecifiers[14]), | |
| "tรฉlรฉphone (sociรฉtรฉ)": new MapEntry(19, "tรฉlรฉphone (sociรฉtรฉ)", valueSpecifiers[15]), | |
| "tรฉlรฉphone (soirรฉe)": new MapEntry(18, "tรฉlรฉphone (soirรฉe)", valueSpecifiers[14]), | |
| "tรฉlรฉphone bureau": new MapEntry(16, "tรฉlรฉphone bureau", valueSpecifiers[15]), | |
| "tรฉlรฉphone cellulaire": new MapEntry(20, "tรฉlรฉphone cellulaire", valueSpecifiers[16]), | |
| "tรฉlรฉphone cellulaire portable": new MapEntry(29, "tรฉlรฉphone cellulaire portable", valueSpecifiers[16]), | |
| "tรฉlรฉphone cellulaire portatif": new MapEntry(29, "tรฉlรฉphone cellulaire portatif", valueSpecifiers[16]), | |
| "tรฉlรฉphone de domicile": new MapEntry(21, "tรฉlรฉphone de domicile", valueSpecifiers[14]), | |
| "tรฉlรฉphone de rรฉsidence": new MapEntry(22, "tรฉlรฉphone de rรฉsidence", valueSpecifiers[14]), | |
| "tรฉlรฉphone de travail": new MapEntry(20, "tรฉlรฉphone de travail", valueSpecifiers[15]), | |
| "tรฉlรฉphone domicile": new MapEntry(18, "tรฉlรฉphone domicile", valueSpecifiers[14]), | |
| "tรฉlรฉphone maison": new MapEntry(16, "tรฉlรฉphone maison", valueSpecifiers[14]), | |
| "tรฉlรฉphone mobile": new MapEntry(16, "tรฉlรฉphone mobile", valueSpecifiers[16]), | |
| "tรฉlรฉphone portable": new MapEntry(18, "tรฉlรฉphone portable", valueSpecifiers[16]), | |
| "tรฉlรฉphone privรฉ": new MapEntry(15, "tรฉlรฉphone privรฉ", valueSpecifiers[14]), | |
| "tรฉlรฉphone professionnel": new MapEntry(23, "tรฉlรฉphone professionnel", valueSpecifiers[15]), | |
| "tรฉlรฉphone rรฉsidentiel": new MapEntry(21, "tรฉlรฉphone rรฉsidentiel", valueSpecifiers[14]), | |
| ulica: new MapEntry(5, "ulica", valueSpecifiers[7]), | |
| urodziny: new MapEntry(8, "urodziny", valueSpecifiers[4]), | |
| urodzona: new MapEntry(8, "urodzona", valueSpecifiers[4]), | |
| urodzony: new MapEntry(8, "urodzony", valueSpecifiers[4]), | |
| vei: new MapEntry(3, "vei", valueSpecifiers[7]), | |
| veiadresse: new MapEntry(10, "veiadresse", valueSpecifiers[7]), | |
| vej: new MapEntry(3, "vej", valueSpecifiers[7]), | |
| vejadresse: new MapEntry(10, "vejadresse", valueSpecifiers[7]), | |
| "verification code": new MapEntry(17, "verification code", valueSpecifiers[18]), | |
| verjaardag: new MapEntry(10, "verjaardag", valueSpecifiers[4]), | |
| "veฤernji telefon": new MapEntry(16, "veฤernji telefon", valueSpecifiers[14]), | |
| "veฤernรฝ telefรณn": new MapEntry(15, "veฤernรฝ telefรณn", valueSpecifiers[14]), | |
| via: new MapEntry(3, "via", valueSpecifiers[7]), | |
| ville: new MapEntry(5, "ville", valueSpecifiers[8]), | |
| voornaam: new MapEntry(8, "voornaam", valueSpecifiers[1]), | |
| "vรคg": new MapEntry(3, "vรคg", valueSpecifiers[7]), | |
| werk: new MapEntry(4, "werk", valueSpecifiers[5]), | |
| "work area code": new MapEntry(14, "work area code", valueSpecifiers[15]), | |
| "work areacode": new MapEntry(13, "work areacode", valueSpecifiers[15]), | |
| "work phone": new MapEntry(10, "work phone", valueSpecifiers[15]), | |
| workareacode: new MapEntry(12, "workareacode", valueSpecifiers[15]), | |
| workphone: new MapEntry(9, "workphone", valueSpecifiers[15]), | |
| "yrityksen numero": new MapEntry(16, "yrityksen numero", valueSpecifiers[15]), | |
| yritys: new MapEntry(6, "yritys", valueSpecifiers[13]), | |
| yritysnumero: new MapEntry(12, "yritysnumero", valueSpecifiers[15]), | |
| yrke: new MapEntry(4, "yrke", valueSpecifiers[5]), | |
| zemlja: new MapEntry(6, "zemlja", valueSpecifiers[11]), | |
| "zi de naศtere": new MapEntry(13, "zi de naศtere", valueSpecifiers[4]), | |
| "zi naศtere": new MapEntry(10, "zi naศtere", valueSpecifiers[4]), | |
| zip: new MapEntry(3, "zip", valueSpecifiers[10]), | |
| "zip code": new MapEntry(8, "zip code", valueSpecifiers[10]), | |
| "zip kod": new MapEntry(7, "zip kod", valueSpecifiers[10]), | |
| "zip kodu": new MapEntry(8, "zip kodu", valueSpecifiers[10]), | |
| zipcode: new MapEntry(7, "zipcode", valueSpecifiers[10]), | |
| zipkod: new MapEntry(6, "zipkod", valueSpecifiers[10]), | |
| "รงaฤrฤฑ cihazฤฑ": new MapEntry(12, "รงaฤrฤฑ cihazฤฑ", valueSpecifiers[17]), | |
| "รงaฤrฤฑ cihazฤฑ numarasฤฑ": new MapEntry(21, "รงaฤrฤฑ cihazฤฑ numarasฤฑ", valueSpecifiers[17]), | |
| "รฉtat": new MapEntry(4, "รฉtat", valueSpecifiers[9]), | |
| "รบltimo": new MapEntry(6, "รบltimo", valueSpecifiers[3]), | |
| "รบltimo nome": new MapEntry(11, "รบltimo nome", valueSpecifiers[3]), | |
| "รบltimonome": new MapEntry(10, "รบltimonome", valueSpecifiers[3]), | |
| "รบnome": new MapEntry(5, "รบnome", valueSpecifiers[3]), | |
| "รผlke": new MapEntry(4, "รผlke", valueSpecifiers[11]), | |
| "รผnvan": new MapEntry(5, "รผnvan", valueSpecifiers[5]), | |
| "รผnvanฤฑ": new MapEntry(6, "รผnvanฤฑ", valueSpecifiers[5]), | |
| "ฤรญslo do prรกce": new MapEntry(14, "ฤรญslo do prรกce", valueSpecifiers[15]), | |
| "ฤรญslo domov": new MapEntry(11, "ฤรญslo domov", valueSpecifiers[14]), | |
| "ลehir": new MapEntry(5, "ลehir", valueSpecifiers[8]), | |
| "ลirket": new MapEntry(6, "ลirket", valueSpecifiers[13]), | |
| "ลirket telefonu": new MapEntry(15, "ลirket telefonu", valueSpecifiers[15]), | |
| "ลกtรกt": new MapEntry(4, "ลกtรกt", valueSpecifiers[9]), | |
| "ศarฤ": new MapEntry(4, "ศarฤ", valueSpecifiers[11]), | |
| "ฮค.ฮ.": new MapEntry(4, "ฮค.ฮ.", valueSpecifiers[10]), | |
| "ฮฑฯฮนฮธฮผฯฯ ฯฮทฮปฮตฯฯฮฝฮฟฯ ": new MapEntry(17, "ฮฑฯฮนฮธฮผฯฯ ฯฮทฮปฮตฯฯฮฝฮฟฯ ", valueSpecifiers[12]), | |
| "ฮฒฮฟฮผฮฒฮทฯฮฎฯ": new MapEntry(8, "ฮฒฮฟฮผฮฒฮทฯฮฎฯ", valueSpecifiers[17]), | |
| "ฮณฮญฮฝฮฝฮทฯฮท": new MapEntry(7, "ฮณฮญฮฝฮฝฮทฯฮท", valueSpecifiers[4]), | |
| "ฮณฮตฮฝฮญฮธฮปฮนฮฑ": new MapEntry(8, "ฮณฮตฮฝฮญฮธฮปฮนฮฑ", valueSpecifiers[4]), | |
| "ฮดฮนฮตฯฮธฯ ฮฝฯฮท": new MapEntry(9, "ฮดฮนฮตฯฮธฯ ฮฝฯฮท", valueSpecifiers[7]), | |
| "ฮดฮนฮตฯฮธฯ ฮฝฯฮท (ฮณฯฮฑฮผฮผฮฎ 1)": new MapEntry(20, "ฮดฮนฮตฯฮธฯ ฮฝฯฮท (ฮณฯฮฑฮผฮผฮฎ 1)", valueSpecifiers[7]), | |
| "ฮตฯฯฮฝฯ ฮผฮฟ": new MapEntry(7, "ฮตฯฯฮฝฯ ฮผฮฟ", valueSpecifiers[3]), | |
| "ฮตฯฮณฮฑฯฮฏฮฑ": new MapEntry(7, "ฮตฯฮณฮฑฯฮฏฮฑ", valueSpecifiers[5]), | |
| "ฮตฯฮฑฮนฯฮตฮฏฮฑ": new MapEntry(8, "ฮตฯฮฑฮนฯฮตฮฏฮฑ", valueSpecifiers[13]), | |
| "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ ฮณฮญฮฝฮฝฮทฯฮทฯ": new MapEntry(19, "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ ฮณฮญฮฝฮฝฮทฯฮทฯ", valueSpecifiers[4]), | |
| "ฮธฮญฯฮท ฮตฯฮณฮฑฯฮฏฮฑฯ": new MapEntry(13, "ฮธฮญฯฮท ฮตฯฮณฮฑฯฮฏฮฑฯ", valueSpecifiers[5]), | |
| "ฮบฮนฮฝฮทฯฯ": new MapEntry(6, "ฮบฮนฮฝฮทฯฯ", valueSpecifiers[16]), | |
| "ฮบฮนฮฝฮทฯฯ ฯฮทฮปฮญฯฯฮฝฮฟ": new MapEntry(15, "ฮบฮนฮฝฮทฯฯ ฯฮทฮปฮญฯฯฮฝฮฟ", valueSpecifiers[16]), | |
| "ฮบฯฮดฮนฮบฯฯ ฯฮตฯฮนฮฟฯฮฎฯ": new MapEntry(16, "ฮบฯฮดฮนฮบฯฯ ฯฮตฯฮนฮฟฯฮฎฯ", valueSpecifiers[12]), | |
| "ฮผฮตฯฮฑฮฏฮฟ ฯฮฝฮฟฮผฮฑ": new MapEntry(12, "ฮผฮตฯฮฑฮฏฮฟ ฯฮฝฮฟฮผฮฑ", valueSpecifiers[2]), | |
| "ฮฝฮฟฮผฯฯ": new MapEntry(5, "ฮฝฮฟฮผฯฯ", valueSpecifiers[9]), | |
| "ฮฟฮดฯฯ": new MapEntry(4, "ฮฟฮดฯฯ", valueSpecifiers[7]), | |
| "ฮฟฮฝฮฟฮผฮฑฯฮตฯฯฮฝฯ ฮผฮฟ": new MapEntry(13, "ฮฟฮฝฮฟฮผฮฑฯฮตฯฯฮฝฯ ฮผฮฟ", valueSpecifiers[0]), | |
| "ฮฟฯฮณฮฑฮฝฮนฯฮผฯฯ": new MapEntry(10, "ฮฟฯฮณฮฑฮฝฮนฯฮผฯฯ", valueSpecifiers[13]), | |
| "ฯฮฟฮปฮนฯฮตฮฏฮฑ": new MapEntry(8, "ฯฮฟฮปฮนฯฮตฮฏฮฑ", valueSpecifiers[9]), | |
| "ฯฯฮปฮท": new MapEntry(4, "ฯฯฮปฮท", valueSpecifiers[8]), | |
| "ฯฮฑฯฯ ฮดฯฮฟฮผฮนฮบฯฯ ฮบฯฮดฮนฮบฯฯ": new MapEntry(20, "ฯฮฑฯฯ ฮดฯฮฟฮผฮนฮบฯฯ ฮบฯฮดฮนฮบฯฯ", valueSpecifiers[10]), | |
| "ฯฮทฮปฮญฯฯฮฝฮฟ": new MapEntry(8, "ฯฮทฮปฮญฯฯฮฝฮฟ", valueSpecifiers[12]), | |
| "ฯฮทฮปฮญฯฯฮฝฮฟ ฮตฮบฯฯฯ ฯฯฯฮฝ ฮตฯฮณฮฑฯฮฏฮฑฯ": new MapEntry(28, "ฯฮทฮปฮญฯฯฮฝฮฟ ฮตฮบฯฯฯ ฯฯฯฮฝ ฮตฯฮณฮฑฯฮฏฮฑฯ", valueSpecifiers[14]), | |
| "ฯฮทฮปฮญฯฯฮฝฮฟ ฮตฯฮณฮฑฯฮฏฮฑฯ": new MapEntry(17, "ฯฮทฮปฮญฯฯฮฝฮฟ ฮตฯฮณฮฑฯฮฏฮฑฯ", valueSpecifiers[15]), | |
| "ฯฮทฮปฮญฯฯฮฝฮฟ ฮบฮฑฯฮฌ ฯฮนฯ ฯฯฯฯฮฝฮญฯ ฯฯฮตฯ": new MapEntry(30, "ฯฮทฮปฮญฯฯฮฝฮฟ ฮบฮฑฯฮฌ ฯฮนฯ ฯฯฯฯฮฝฮญฯ ฯฯฮตฯ", valueSpecifiers[15]), | |
| "ฯฮทฮปฮญฯฯฮฝฮฟ ฮบฮฑฯฮฌ ฯฮนฯ ฯฯฮตฯ ฮตฯฮณฮฑฯฮฏฮฑฯ": new MapEntry(31, "ฯฮทฮปฮญฯฯฮฝฮฟ ฮบฮฑฯฮฌ ฯฮนฯ ฯฯฮตฯ ฮตฯฮณฮฑฯฮฏฮฑฯ", valueSpecifiers[15]), | |
| "ฯฮทฮปฮญฯฯฮฝฮฟ ฮฟฮนฮบฮฏฮฑฯ": new MapEntry(15, "ฯฮทฮปฮญฯฯฮฝฮฟ ฮฟฮนฮบฮฏฮฑฯ", valueSpecifiers[14]), | |
| "ฯฮฑฮพ": new MapEntry(3, "ฯฮฑฮพ", valueSpecifiers[12]), | |
| "ฯฯฯฮฑ": new MapEntry(4, "ฯฯฯฮฑ", valueSpecifiers[11]), | |
| "ฯฮฝฮฟฮผฮฑ": new MapEntry(5, "ฯฮฝฮฟฮผฮฑ", valueSpecifiers[1]), | |
| "ะะดัะตั": new MapEntry(5, "ะะดัะตั", valueSpecifiers[7]), | |
| "ะะดัะตั e-mail": new MapEntry(12, "ะะดัะตั e-mail", valueSpecifiers[6]), | |
| "ะะดัะตั email": new MapEntry(11, "ะะดัะตั email", valueSpecifiers[6]), | |
| "ะะดัะตั ัะปะตะบััะพะฝะฝะพะน ะฟะพััั": new MapEntry(23, "ะะดัะตั ัะปะตะบััะพะฝะฝะพะน ะฟะพััั", valueSpecifiers[6]), | |
| "ะ ะฒะตัะตัะฝะธะต ัะฐัั": new MapEntry(15, "ะ ะฒะตัะตัะฝะธะต ัะฐัั", valueSpecifiers[14]), | |
| "ะ ะดะฝะตะฒะฝัะต ัะฐัั": new MapEntry(14, "ะ ะดะฝะตะฒะฝัะต ัะฐัั", valueSpecifiers[15]), | |
| "ะะตัะตัะพะผ": new MapEntry(7, "ะะตัะตัะพะผ", valueSpecifiers[14]), | |
| "ะะธะด ะดะตััะตะปัะฝะพััะธ": new MapEntry(16, "ะะธะด ะดะตััะตะปัะฝะพััะธ", valueSpecifiers[5]), | |
| "ะะพัะพะด": new MapEntry(5, "ะะพัะพะด", valueSpecifiers[8]), | |
| "ะะฝะตะผ": new MapEntry(4, "ะะฝะตะผ", valueSpecifiers[15]), | |
| "ะะพะปะถะฝะพััั": new MapEntry(9, "ะะพะปะถะฝะพััั", valueSpecifiers[5]), | |
| "ะะพะผะฐัะฝะธะน": new MapEntry(8, "ะะพะผะฐัะฝะธะน", valueSpecifiers[14]), | |
| "ะะพะผะฐัะฝะธะน ะฝะพะผะตั": new MapEntry(14, "ะะพะผะฐัะฝะธะน ะฝะพะผะตั", valueSpecifiers[14]), | |
| "ะะพะผะฐัะฝะธะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ": new MapEntry(23, "ะะพะผะฐัะฝะธะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ", valueSpecifiers[14]), | |
| "ะะพะผะฐัะฝะธะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั": new MapEntry(25, "ะะพะผะฐัะฝะธะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", valueSpecifiers[14]), | |
| "ะะผั": new MapEntry(3, "ะะผั", valueSpecifiers[1]), | |
| "ะะฝะดะตะบั": new MapEntry(6, "ะะฝะดะตะบั", valueSpecifiers[10]), | |
| "ะะพะด ะณะพัะพะดะฐ": new MapEntry(10, "ะะพะด ะณะพัะพะดะฐ", valueSpecifiers[12]), | |
| "ะะพะด ะดะพะผะฐัะฝะตะณะพ ัะตะปะตัะพะฝะฝะพะณะพ ะฝะพะผะตัะฐ": new MapEntry(32, "ะะพะด ะดะพะผะฐัะฝะตะณะพ ัะตะปะตัะพะฝะฝะพะณะพ ะฝะพะผะตัะฐ", valueSpecifiers[14]), | |
| "ะะพะด ะบัะฐั": new MapEntry(8, "ะะพะด ะบัะฐั", valueSpecifiers[12]), | |
| "ะะพะด ะฝะฐัะตะปะตะฝะฝะพะณะพ ะฟัะฝะบัะฐ": new MapEntry(22, "ะะพะด ะฝะฐัะตะปะตะฝะฝะพะณะพ ะฟัะฝะบัะฐ", valueSpecifiers[12]), | |
| "ะะพะด ะพะฑะปะฐััะธ": new MapEntry(11, "ะะพะด ะพะฑะปะฐััะธ", valueSpecifiers[12]), | |
| "ะะพะด ะพะฟะตัะฐัะพัะฐ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ": new MapEntry(29, "ะะพะด ะพะฟะตัะฐัะพัะฐ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ", valueSpecifiers[16]), | |
| "ะะพะด ะพะฟะตัะฐัะพัะฐ ัะพัะพะฒะพะน ัะฒัะทะธ": new MapEntry(27, "ะะพะด ะพะฟะตัะฐัะพัะฐ ัะพัะพะฒะพะน ัะฒัะทะธ", valueSpecifiers[16]), | |
| "ะะพะด ัะฐะฑะพัะตะณะพ ัะตะปะตัะพะฝะฝะพะณะพ ะฝะพะผะตัะฐ": new MapEntry(31, "ะะพะด ัะฐะฑะพัะตะณะพ ัะตะปะตัะพะฝะฝะพะณะพ ะฝะพะผะตัะฐ", valueSpecifiers[15]), | |
| "ะะพะด ัะตัะฟัะฑะปะธะบะธ": new MapEntry(14, "ะะพะด ัะตัะฟัะฑะปะธะบะธ", valueSpecifiers[12]), | |
| "ะะพะผะฟะฐะฝะธั": new MapEntry(8, "ะะพะผะฟะฐะฝะธั", valueSpecifiers[13]), | |
| "ะัะฐะน": new MapEntry(4, "ะัะฐะน", valueSpecifiers[9]), | |
| "ะะพะฑะธะปัะฝัะน": new MapEntry(9, "ะะพะฑะธะปัะฝัะน", valueSpecifiers[16]), | |
| "ะะพะฑะธะปัะฝัะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ": new MapEntry(24, "ะะพะฑะธะปัะฝัะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ", valueSpecifiers[16]), | |
| "ะะพะฑะธะปัะฝัะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั": new MapEntry(26, "ะะพะฑะธะปัะฝัะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", valueSpecifiers[16]), | |
| "ะะฐัะตะปะตะฝะฝัะน ะฟัะฝะบั": new MapEntry(16, "ะะฐัะตะปะตะฝะฝัะน ะฟัะฝะบั", valueSpecifiers[8]), | |
| "ะะพะผะตั ะพะฟะตัะฐัะพัะฐ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ": new MapEntry(31, "ะะพะผะตั ะพะฟะตัะฐัะพัะฐ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ", valueSpecifiers[16]), | |
| "ะะพะผะตั ะพะฟะตัะฐัะพัะฐ ัะพัะพะฒะพะน ัะฒัะทะธ": new MapEntry(29, "ะะพะผะตั ะพะฟะตัะฐัะพัะฐ ัะพัะพะฒะพะน ัะฒัะทะธ", valueSpecifiers[16]), | |
| "ะะพะผะตั ะฟะตะนะดะถะตัะฐ": new MapEntry(14, "ะะพะผะตั ะฟะตะนะดะถะตัะฐ", valueSpecifiers[17]), | |
| "ะะพะผะตั ัะตะปะตัะพะฝะฐ": new MapEntry(14, "ะะพะผะตั ัะตะปะตัะพะฝะฐ", valueSpecifiers[12]), | |
| "ะะพะผะตั ัะฐะบัะฐ": new MapEntry(11, "ะะพะผะตั ัะฐะบัะฐ", valueSpecifiers[12]), | |
| "ะัะณะฐะฝะธะทะฐัะธั": new MapEntry(11, "ะัะณะฐะฝะธะทะฐัะธั", valueSpecifiers[13]), | |
| "ะััะตััะฒะพ": new MapEntry(8, "ะััะตััะฒะพ", valueSpecifiers[2]), | |
| "ะะพััะพะฒัะน ะธะฝะดะตะบั": new MapEntry(15, "ะะพััะพะฒัะน ะธะฝะดะตะบั", valueSpecifiers[10]), | |
| "ะัะตะดะฟัะธััะธะต": new MapEntry(11, "ะัะตะดะฟัะธััะธะต", valueSpecifiers[13]), | |
| "ะัะพัะตััะธั": new MapEntry(9, "ะัะพัะตััะธั", valueSpecifiers[5]), | |
| "ะ ะฐะฑ.": new MapEntry(4, "ะ ะฐะฑ.", valueSpecifiers[15]), | |
| "ะ ะฐะฑ. ัะตะปะตัะพะฝ": new MapEntry(12, "ะ ะฐะฑ. ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ะ ะฐะฑะพัะธะน": new MapEntry(7, "ะ ะฐะฑะพัะธะน", valueSpecifiers[15]), | |
| "ะ ะฐะฑะพัะธะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ": new MapEntry(22, "ะ ะฐะฑะพัะธะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ", valueSpecifiers[15]), | |
| "ะ ะฐะฑะพัะธะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั": new MapEntry(24, "ะ ะฐะฑะพัะธะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", valueSpecifiers[15]), | |
| "ะ ะตะณะธะพะฝ": new MapEntry(6, "ะ ะตะณะธะพะฝ", valueSpecifiers[9]), | |
| "ะ ะตัะฟัะฑะปะธะบะฐ": new MapEntry(10, "ะ ะตัะฟัะฑะปะธะบะฐ", valueSpecifiers[9]), | |
| "ะ ะพะด ะดะตััะตะปัะฝะพััะธ": new MapEntry(16, "ะ ะพะด ะดะตััะตะปัะฝะพััะธ", valueSpecifiers[5]), | |
| "ะกะปัะถะตะฑะฝัะน": new MapEntry(9, "ะกะปัะถะตะฑะฝัะน", valueSpecifiers[15]), | |
| "ะกะปัะถะตะฑะฝัะน ัะตะปะตัะพะฝ": new MapEntry(17, "ะกะปัะถะตะฑะฝัะน ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ะกะพัะพะฒัะน": new MapEntry(7, "ะกะพัะพะฒัะน", valueSpecifiers[16]), | |
| "ะกะพัะพะฒัะน ัะตะปะตัะพะฝ": new MapEntry(15, "ะกะพัะพะฒัะน ัะตะปะตัะพะฝ", valueSpecifiers[16]), | |
| "ะกััะฐะฝะฐ": new MapEntry(6, "ะกััะฐะฝะฐ", valueSpecifiers[11]), | |
| "ะขะตะปะตัะฐะบั": new MapEntry(8, "ะขะตะปะตัะฐะบั", valueSpecifiers[12]), | |
| "ะขะตะปะตัะพะฝ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ": new MapEntry(23, "ะขะตะปะตัะพะฝ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ", valueSpecifiers[16]), | |
| "ะขะตะปะตัะพะฝ ัะพัะพะฒะพะน ัะฒัะทะธ": new MapEntry(21, "ะขะตะปะตัะพะฝ ัะพัะพะฒะพะน ัะฒัะทะธ", valueSpecifiers[16]), | |
| "ะขะตะปะตัะพะฝะฝัะน ะฝะพะผะตั": new MapEntry(16, "ะขะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", valueSpecifiers[12]), | |
| "ะฃะป.": new MapEntry(3, "ะฃะป.", valueSpecifiers[7]), | |
| "ะฃะปะธัะฐ": new MapEntry(5, "ะฃะปะธัะฐ", valueSpecifiers[7]), | |
| "ะค.ะ.ะ.": new MapEntry(6, "ะค.ะ.ะ.", valueSpecifiers[0]), | |
| "ะคะะ": new MapEntry(3, "ะคะะ", valueSpecifiers[0]), | |
| "ะคะฐะผะธะปะธั": new MapEntry(7, "ะคะฐะผะธะปะธั", valueSpecifiers[3]), | |
| "ะคะธัะผะฐ": new MapEntry(5, "ะคะธัะผะฐ", valueSpecifiers[13]), | |
| "ะญะปะตะบััะพะฝะฝัะน ะฐะดัะตั": new MapEntry(17, "ะญะปะตะบััะพะฝะฝัะน ะฐะดัะตั", valueSpecifiers[6]), | |
| "ะฐะดัะตัะฐ": new MapEntry(6, "ะฐะดัะตัะฐ", valueSpecifiers[7]), | |
| "ะฐะดัะตัะฐ 1": new MapEntry(8, "ะฐะดัะตัะฐ 1", valueSpecifiers[7]), | |
| "ะฐะดัะตัะฐ1": new MapEntry(7, "ะฐะดัะตัะฐ1", valueSpecifiers[7]), | |
| "ะฒะตัััะฝัะน ัะตะปะตัะพะฝ": new MapEntry(16, "ะฒะตัััะฝัะน ัะตะปะตัะพะฝ", valueSpecifiers[14]), | |
| "ะฒะธะดะดะตััะตะปัะฝะพััะธ": new MapEntry(15, "ะฒะธะดะดะตััะตะปัะฝะพััะธ", valueSpecifiers[5]), | |
| "ะฒัะป.": new MapEntry(4, "ะฒัะป.", valueSpecifiers[7]), | |
| "ะฒัะปะธัั": new MapEntry(6, "ะฒัะปะธัั", valueSpecifiers[7]), | |
| "ะณ.": new MapEntry(2, "ะณ.", valueSpecifiers[8]), | |
| "ะดะฐัะฐ ะฝะฐัะพะดะถะตะฝะฝั": new MapEntry(15, "ะดะฐัะฐ ะฝะฐัะพะดะถะตะฝะฝั", valueSpecifiers[4]), | |
| "ะดะฐัะฐ ัะพะถะดะตะฝะธั": new MapEntry(13, "ะดะฐัะฐ ัะพะถะดะตะฝะธั", valueSpecifiers[4]), | |
| "ะดะฐัะฐัะพะถะดะตะฝะธั": new MapEntry(12, "ะดะฐัะฐัะพะถะดะตะฝะธั", valueSpecifiers[4]), | |
| "ะดะตะฝะฝะธะน ัะตะปะตัะพะฝ": new MapEntry(14, "ะดะตะฝะฝะธะน ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ะดะตะฝั ะฝะฐัะพะดะถะตะฝะฝั": new MapEntry(15, "ะดะตะฝั ะฝะฐัะพะดะถะตะฝะฝั", valueSpecifiers[4]), | |
| "ะดะตะฝั ัะพะถะดะตะฝะธั": new MapEntry(13, "ะดะตะฝั ัะพะถะดะตะฝะธั", valueSpecifiers[4]), | |
| "ะดะตะฝััะพะถะดะตะฝะธั": new MapEntry(12, "ะดะตะฝััะพะถะดะตะฝะธั", valueSpecifiers[4]), | |
| "ะดะพะผ.": new MapEntry(4, "ะดะพะผ.", valueSpecifiers[14]), | |
| "ะดะพะผ. ัะตะป.": new MapEntry(9, "ะดะพะผ. ัะตะป.", valueSpecifiers[14]), | |
| "ะดะพะผ. ัะตะปะตัะพะฝ": new MapEntry(12, "ะดะพะผ. ัะตะปะตัะพะฝ", valueSpecifiers[14]), | |
| "ะดะพะผ.ัะตะป.": new MapEntry(8, "ะดะพะผ.ัะตะป.", valueSpecifiers[14]), | |
| "ะดะพะผ.ัะตะปะตัะพะฝ": new MapEntry(11, "ะดะพะผ.ัะตะปะตัะพะฝ", valueSpecifiers[14]), | |
| "ะดะพะผะฐัะฝะธะน ัะตะปะตัะพะฝ": new MapEntry(16, "ะดะพะผะฐัะฝะธะน ัะตะปะตัะพะฝ", valueSpecifiers[14]), | |
| "ะดะพะผะฐัะฝัะน ัะตะปะตัะพะฝ": new MapEntry(16, "ะดะพะผะฐัะฝัะน ัะตะปะตัะพะฝ", valueSpecifiers[14]), | |
| "ะตะป. ะฐะดัะตัะฐ": new MapEntry(10, "ะตะป. ะฐะดัะตัะฐ", valueSpecifiers[6]), | |
| "ะตะป. ะฟะพััะฐ": new MapEntry(9, "ะตะป. ะฟะพััะฐ", valueSpecifiers[6]), | |
| "ะตะป.ะฐะดัะตัะฐ": new MapEntry(9, "ะตะป.ะฐะดัะตัะฐ", valueSpecifiers[6]), | |
| "ะตะป.ะฟะพััะฐ": new MapEntry(8, "ะตะป.ะฟะพััะฐ", valueSpecifiers[6]), | |
| "ะตะปะตะบััะพะฝะฝะฐ ะฐะดัะตัะฐ": new MapEntry(17, "ะตะปะตะบััะพะฝะฝะฐ ะฐะดัะตัะฐ", valueSpecifiers[6]), | |
| "ะตะปะตะบััะพะฝะฝะฐ ะฟะพััะฐ": new MapEntry(16, "ะตะปะตะบััะพะฝะฝะฐ ะฟะพััะฐ", valueSpecifiers[6]), | |
| "ะตะปะตะบััะพะฝะฝะฐะฐะดัะตัะฐ": new MapEntry(16, "ะตะปะตะบััะพะฝะฝะฐะฐะดัะตัะฐ", valueSpecifiers[6]), | |
| "ะตะปะตะบััะพะฝะฝะฐะฟะพััะฐ": new MapEntry(15, "ะตะปะตะบััะพะฝะฝะฐะฟะพััะฐ", valueSpecifiers[6]), | |
| "ะบะพะด ะฒะตัััะฝัะพะณะพ ัะตะปะตัะพะฝั": new MapEntry(23, "ะบะพะด ะฒะตัััะฝัะพะณะพ ัะตะปะตัะพะฝั", valueSpecifiers[14]), | |
| "ะบะพะด ะดะตะฝะฝะพะณะพ ัะตะปะตัะพะฝั": new MapEntry(20, "ะบะพะด ะดะตะฝะฝะพะณะพ ัะตะปะตัะพะฝั", valueSpecifiers[15]), | |
| "ะบะพะด ะดะพะผ.": new MapEntry(8, "ะบะพะด ะดะพะผ.", valueSpecifiers[14]), | |
| "ะบะพะด ะดะพะผ. ัะตะป.": new MapEntry(13, "ะบะพะด ะดะพะผ. ัะตะป.", valueSpecifiers[14]), | |
| "ะบะพะด ะดะพะผ. ัะตะปะตัะพะฝั": new MapEntry(17, "ะบะพะด ะดะพะผ. ัะตะปะตัะพะฝั", valueSpecifiers[14]), | |
| "ะบะพะด ะดะพะผ.ัะตะปะตัะพะฝั": new MapEntry(16, "ะบะพะด ะดะพะผ.ัะตะปะตัะพะฝั", valueSpecifiers[14]), | |
| "ะบะพะด ะดะพะผะฐัะฝัะพะณะพ ัะตะปะตัะพะฝั": new MapEntry(23, "ะบะพะด ะดะพะผะฐัะฝัะพะณะพ ัะตะปะตัะพะฝั", valueSpecifiers[14]), | |
| "ะบะพะด ะผะพะฑ.": new MapEntry(8, "ะบะพะด ะผะพะฑ.", valueSpecifiers[16]), | |
| "ะบะพะด ะผะพะฑ. ัะตะป.": new MapEntry(13, "ะบะพะด ะผะพะฑ. ัะตะป.", valueSpecifiers[16]), | |
| "ะบะพะด ะผะพะฑ. ัะตะปะตัะพะฝั": new MapEntry(17, "ะบะพะด ะผะพะฑ. ัะตะปะตัะพะฝั", valueSpecifiers[16]), | |
| "ะบะพะด ะผะพะฑ.ัะตะปะตัะพะฝั": new MapEntry(16, "ะบะพะด ะผะพะฑ.ัะตะปะตัะพะฝั", valueSpecifiers[16]), | |
| "ะบะพะด ะผะพะฑัะปัะฝะพะณะพ ัะตะปะตัะพะฝั": new MapEntry(23, "ะบะพะด ะผะพะฑัะปัะฝะพะณะพ ัะตะปะตัะพะฝั", valueSpecifiers[16]), | |
| "ะบะพะด ะพะฑะปะฐััั": new MapEntry(11, "ะบะพะด ะพะฑะปะฐััั", valueSpecifiers[12]), | |
| "ะบะพะด ะฟะตะนะดะถะตัะฐ": new MapEntry(12, "ะบะพะด ะฟะตะนะดะถะตัะฐ", valueSpecifiers[17]), | |
| "ะบะพะด ัะตะณัะพะฝั": new MapEntry(11, "ะบะพะด ัะตะณัะพะฝั", valueSpecifiers[12]), | |
| "ะบะพะด ัะพะฑ.": new MapEntry(8, "ะบะพะด ัะพะฑ.", valueSpecifiers[15]), | |
| "ะบะพะด ัะพะฑ. ัะตะป.": new MapEntry(13, "ะบะพะด ัะพะฑ. ัะตะป.", valueSpecifiers[15]), | |
| "ะบะพะด ัะพะฑ. ัะตะปะตัะพะฝั": new MapEntry(17, "ะบะพะด ัะพะฑ. ัะตะปะตัะพะฝั", valueSpecifiers[15]), | |
| "ะบะพะด ัะพะฑ.ัะตะปะตัะพะฝั": new MapEntry(16, "ะบะพะด ัะพะฑ.ัะตะปะตัะพะฝั", valueSpecifiers[15]), | |
| "ะบะพะด ัะพะฑะพัะพะณะพ ัะตะปะตัะพะฝั": new MapEntry(21, "ะบะพะด ัะพะฑะพัะพะณะพ ัะตะปะตัะพะฝั", valueSpecifiers[15]), | |
| "ะบะพะด ัะพัะพะฒะพะณะพ ัะตะปะตัะพะฝั": new MapEntry(21, "ะบะพะด ัะพัะพะฒะพะณะพ ัะตะปะตัะพะฝั", valueSpecifiers[16]), | |
| "ะบะพะดะดะพะผ.ัะตะป.": new MapEntry(11, "ะบะพะดะดะพะผ.ัะตะป.", valueSpecifiers[14]), | |
| "ะบะพะดะผะพะฑ.ัะตะป.": new MapEntry(11, "ะบะพะดะผะพะฑ.ัะตะป.", valueSpecifiers[16]), | |
| "ะบะพะดะพะฑะปะฐััั": new MapEntry(10, "ะบะพะดะพะฑะปะฐััั", valueSpecifiers[12]), | |
| "ะบะพะดะฟะตะนะดะถะตัะฐ": new MapEntry(11, "ะบะพะดะฟะตะนะดะถะตัะฐ", valueSpecifiers[17]), | |
| "ะบะพะดัะตะณัะพะฝั": new MapEntry(10, "ะบะพะดัะตะณัะพะฝั", valueSpecifiers[12]), | |
| "ะบะพะดัะพะฑ.ัะตะป.": new MapEntry(11, "ะบะพะดัะพะฑ.ัะตะป.", valueSpecifiers[15]), | |
| "ะบะพะผะฟะฐะฝัั": new MapEntry(8, "ะบะพะผะฟะฐะฝัั", valueSpecifiers[13]), | |
| "ะบัะฐัะฝะฐ": new MapEntry(6, "ะบัะฐัะฝะฐ", valueSpecifiers[11]), | |
| "ะผะพะฑ.": new MapEntry(4, "ะผะพะฑ.", valueSpecifiers[16]), | |
| "ะผะพะฑ. ัะตะป.": new MapEntry(9, "ะผะพะฑ. ัะตะป.", valueSpecifiers[16]), | |
| "ะผะพะฑ. ัะตะปะตัะพะฝ": new MapEntry(12, "ะผะพะฑ. ัะตะปะตัะพะฝ", valueSpecifiers[16]), | |
| "ะผะพะฑ.ัะตะป.": new MapEntry(8, "ะผะพะฑ.ัะตะป.", valueSpecifiers[16]), | |
| "ะผะพะฑ.ัะตะปะตัะพะฝ": new MapEntry(11, "ะผะพะฑ.ัะตะปะตัะพะฝ", valueSpecifiers[16]), | |
| "ะผะพะฑะธะปัะฝัะน ัะตะปะตัะพะฝ": new MapEntry(17, "ะผะพะฑะธะปัะฝัะน ัะตะปะตัะพะฝ", valueSpecifiers[16]), | |
| "ะผะพะฑัะปัะฝะธะน ัะตะปะตัะพะฝ": new MapEntry(17, "ะผะพะฑัะปัะฝะธะน ัะตะปะตัะพะฝ", valueSpecifiers[16]), | |
| "ะผัััะพ": new MapEntry(5, "ะผัััะพ", valueSpecifiers[8]), | |
| "ะฝะฐัะพะดะธะฒัั": new MapEntry(9, "ะฝะฐัะพะดะธะฒัั", valueSpecifiers[4]), | |
| "ะพะฑะป.": new MapEntry(4, "ะพะฑะป.", valueSpecifiers[9]), | |
| "ะพะฑะปะฐััั": new MapEntry(7, "ะพะฑะปะฐััั", valueSpecifiers[9]), | |
| "ะพัะณะฐะฝัะทะฐััั": new MapEntry(11, "ะพัะณะฐะฝัะทะฐััั", valueSpecifiers[13]), | |
| "ะฟะตะนะดะถะตั": new MapEntry(7, "ะฟะตะนะดะถะตั", valueSpecifiers[17]), | |
| "ะฟะพ ะฑะฐััะบะพะฒั": new MapEntry(11, "ะฟะพ ะฑะฐััะบะพะฒั", valueSpecifiers[2]), | |
| "ะฟะพะฑะฐััะบะพะฒั": new MapEntry(10, "ะฟะพะฑะฐััะบะพะฒั", valueSpecifiers[2]), | |
| "ะฟะพะฒะฝะต ัะผ'ั": new MapEntry(10, "ะฟะพะฒะฝะต ัะผ'ั", valueSpecifiers[0]), | |
| "ะฟะพะฒะฝะต ัะผโั": new MapEntry(10, "ะฟะพะฒะฝะต ัะผโั", valueSpecifiers[0]), | |
| "ะฟะพะฒะฝะตัะผ'ั": new MapEntry(9, "ะฟะพะฒะฝะตัะผ'ั", valueSpecifiers[0]), | |
| "ะฟะพะฒะฝะตัะผโั": new MapEntry(9, "ะฟะพะฒะฝะตัะผโั", valueSpecifiers[0]), | |
| "ะฟะพะปะฝะพะต ะธะผั": new MapEntry(10, "ะฟะพะปะฝะพะต ะธะผั", valueSpecifiers[0]), | |
| "ะฟะพะปะฝะพะตะธะผั": new MapEntry(9, "ะฟะพะปะฝะพะตะธะผั", valueSpecifiers[0]), | |
| "ะฟะพัะฐะดะฐ": new MapEntry(6, "ะฟะพัะฐะดะฐ", valueSpecifiers[5]), | |
| "ะฟะพััะพะฒะธะน ะบะพะด": new MapEntry(12, "ะฟะพััะพะฒะธะน ะบะพะด", valueSpecifiers[10]), | |
| "ะฟะพััะพะฒะธะน ัะฝะดะตะบั": new MapEntry(15, "ะฟะพััะพะฒะธะน ัะฝะดะตะบั", valueSpecifiers[10]), | |
| "ะฟัะพะฒัะปะพะบ": new MapEntry(8, "ะฟัะพะฒัะปะพะบ", valueSpecifiers[7]), | |
| "ะฟัะพัะฟะตะบั": new MapEntry(8, "ะฟัะพัะฟะตะบั", valueSpecifiers[7]), | |
| "ะฟััะทะฒะธัะต": new MapEntry(8, "ะฟััะทะฒะธัะต", valueSpecifiers[3]), | |
| "ัะฐะฑะพัะธะน ัะตะปะตัะพะฝ": new MapEntry(15, "ัะฐะฑะพัะธะน ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ัะพะฑ.": new MapEntry(4, "ัะพะฑ.", valueSpecifiers[15]), | |
| "ัะพะฑ. ัะตะป.": new MapEntry(9, "ัะพะฑ. ัะตะป.", valueSpecifiers[15]), | |
| "ัะพะฑ. ัะตะปะตัะพะฝ": new MapEntry(12, "ัะพะฑ. ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ัะพะฑ.ัะตะป.": new MapEntry(8, "ัะพะฑ.ัะตะป.", valueSpecifiers[15]), | |
| "ัะพะฑ.ัะตะปะตัะพะฝ": new MapEntry(11, "ัะพะฑ.ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ัะพะฑะพัะธะน ัะตะปะตัะพะฝ": new MapEntry(15, "ัะพะฑะพัะธะน ัะตะปะตัะพะฝ", valueSpecifiers[15]), | |
| "ัะพะดะดะตััะตะปัะฝะพััะธ": new MapEntry(15, "ัะพะดะดะตััะตะปัะฝะพััะธ", valueSpecifiers[5]), | |
| "ัะพะดะธะปะฐัั": new MapEntry(8, "ัะพะดะธะปะฐัั", valueSpecifiers[4]), | |
| "ัะพะดะธะปัั": new MapEntry(7, "ัะพะดะธะปัั", valueSpecifiers[4]), | |
| "ััะดะพะบ ะฐะดัะตัะธ": new MapEntry(12, "ััะดะพะบ ะฐะดัะตัะธ", valueSpecifiers[7]), | |
| "ัะพัะพะฒะธะน ัะตะปะตัะพะฝ": new MapEntry(15, "ัะพัะพะฒะธะน ัะตะปะตัะพะฝ", valueSpecifiers[16]), | |
| "ัะตะป": new MapEntry(3, "ัะตะป", valueSpecifiers[12]), | |
| "ัะตะป.": new MapEntry(4, "ัะตะป.", valueSpecifiers[12]), | |
| "ัะตะปะตัะพะฝ": new MapEntry(7, "ัะตะปะตัะพะฝ", valueSpecifiers[12]), | |
| "ัััะฐะฝะพะฒะฐ": new MapEntry(8, "ัััะฐะฝะพะฒะฐ", valueSpecifiers[13]), | |
| "ัะฐะบั": new MapEntry(4, "ัะฐะบั", valueSpecifiers[12]), | |
| "ัะผ'ั": new MapEntry(4, "ัะผ'ั", valueSpecifiers[1]), | |
| "ัะผโั": new MapEntry(4, "ัะผโั", valueSpecifiers[1]), | |
| "ัะฝะดะตะบั": new MapEntry(6, "ัะฝะดะตะบั", valueSpecifiers[10]), | |
| "ืืืฆืขื": new MapEntry(5, "ืืืฆืขื", valueSpecifiers[2]), | |
| "ืืจืืื": new MapEntry(5, "ืืจืืื", valueSpecifiers[13]), | |
| "ืืืช": new MapEntry(3, "ืืืช", valueSpecifiers[14]), | |
| "ืืืืดื": new MapEntry(5, "ืืืืดื", valueSpecifiers[6]), | |
| "ืืืืื ืืช": new MapEntry(7, "ืืืืื ืืช", valueSpecifiers[17]), | |
| "ืืืจื": new MapEntry(4, "ืืืจื", valueSpecifiers[13]), | |
| "ืืืคืื": new MapEntry(5, "ืืืคืื", valueSpecifiers[12]), | |
| "ืืืคืื ืืืช": new MapEntry(9, "ืืืคืื ืืืช", valueSpecifiers[14]), | |
| "ืืืคืื ืืขืืืื": new MapEntry(12, "ืืืคืื ืืขืืืื", valueSpecifiers[15]), | |
| "ืืื ืืืืืช": new MapEntry(9, "ืืื ืืืืืช", valueSpecifiers[4]), | |
| "ืืืฉืื": new MapEntry(5, "ืืืฉืื", valueSpecifiers[8]), | |
| "ืืชืืืช": new MapEntry(5, "ืืชืืืช", valueSpecifiers[7]), | |
| "ืืืื ื": new MapEntry(5, "ืืืื ื", valueSpecifiers[9]), | |
| "ืืืื": new MapEntry(4, "ืืืื", valueSpecifiers[9]), | |
| "ืืืื": new MapEntry(4, "ืืืื", valueSpecifiers[6]), | |
| "ืืืงืื": new MapEntry(5, "ืืืงืื", valueSpecifiers[10]), | |
| "ืืฉืคืื": new MapEntry(5, "ืืฉืคืื", valueSpecifiers[3]), | |
| "ืืฉืจื": new MapEntry(4, "ืืฉืจื", valueSpecifiers[15]), | |
| "ื ืืื": new MapEntry(4, "ื ืืื", valueSpecifiers[16]), | |
| "ืกืืืืจื": new MapEntry(6, "ืกืืืืจื", valueSpecifiers[16]), | |
| "ืขืืืื": new MapEntry(5, "ืขืืืื", valueSpecifiers[15]), | |
| "ืขืืจ": new MapEntry(3, "ืขืืจ", valueSpecifiers[8]), | |
| "ืคืงืก": new MapEntry(3, "ืคืงืก", valueSpecifiers[12]), | |
| "ืคืจืื": new MapEntry(4, "ืคืจืื", valueSpecifiers[1]), | |
| "ืงืืืืืช": new MapEntry(6, "ืงืืืืืช", valueSpecifiers[12]), | |
| "ืจืืื": new MapEntry(4, "ืจืืื", valueSpecifiers[7]), | |
| "ืฉื": new MapEntry(2, "ืฉื", valueSpecifiers[0]), | |
| "ืฉื ืืืฆืขื": new MapEntry(8, "ืฉื ืืืฆืขื", valueSpecifiers[2]), | |
| "ืฉื ืืื": new MapEntry(6, "ืฉื ืืื", valueSpecifiers[0]), | |
| "ืฉื ืืฉืคืื": new MapEntry(8, "ืฉื ืืฉืคืื", valueSpecifiers[3]), | |
| "ืฉื ืคืจืื": new MapEntry(7, "ืฉื ืคืจืื", valueSpecifiers[1]), | |
| "ืชืืจืื ืืืื": new MapEntry(10, "ืชืืจืื ืืืื", valueSpecifiers[4]), | |
| "ืชืคืงืื": new MapEntry(5, "ืชืคืงืื", valueSpecifiers[5]), | |
| "ุฃุฏุฎู ุนููุงู ุณุทุฑ ุงูุนููุงู": new MapEntry(22, "ุฃุฏุฎู ุนููุงู ุณุทุฑ ุงูุนููุงู", valueSpecifiers[7]), | |
| "ุงุณู ุงูุนุงุฆูุฉ": new MapEntry(11, "ุงุณู ุงูุนุงุฆูุฉ", valueSpecifiers[3]), | |
| "ุงูุฃูู": new MapEntry(5, "ุงูุฃูู", valueSpecifiers[1]), | |
| "ุงูุงุณู ": new MapEntry(5, "ุงูุงุณู ", valueSpecifiers[0]), | |
| "ุงูุงุณู ุงูุฃูุณุท": new MapEntry(12, "ุงูุงุณู ุงูุฃูุณุท", valueSpecifiers[2]), | |
| "ุงูุงุณู ุงูุฃูู": new MapEntry(11, "ุงูุงุณู ุงูุฃูู", valueSpecifiers[1]), | |
| "ุงูุงุณู ุงููุงู ู": new MapEntry(12, "ุงูุงุณู ุงููุงู ู", valueSpecifiers[0]), | |
| "ุงูุจุฑูุฏ ุงูุฅููุชุฑููู": new MapEntry(17, "ุงูุจุฑูุฏ ุงูุฅููุชุฑููู", valueSpecifiers[6]), | |
| "ุงูุจูุฏ": new MapEntry(5, "ุงูุจูุฏ", valueSpecifiers[11]), | |
| "ุงูุชููููู": new MapEntry(8, "ุงูุชููููู", valueSpecifiers[12]), | |
| "ุงูุญุฑู ุงูุฃูู ู ู ุงูุงุณู ุงูุฃูุณุท": new MapEntry(27, "ุงูุญุฑู ุงูุฃูู ู ู ุงูุงุณู ุงูุฃูุณุท", valueSpecifiers[2]), | |
| "ุงูุฑู ุฒ ุงูุจุฑูุฏู": new MapEntry(13, "ุงูุฑู ุฒ ุงูุจุฑูุฏู", valueSpecifiers[10]), | |
| "ุงูุดุงุฑุน": new MapEntry(6, "ุงูุดุงุฑุน", valueSpecifiers[7]), | |
| "ุงูุดุฑูุฉ": new MapEntry(6, "ุงูุดุฑูุฉ", valueSpecifiers[13]), | |
| "ุงูุนููุงู": new MapEntry(7, "ุงูุนููุงู", valueSpecifiers[7]), | |
| "ุงูุนููุงู ูก": new MapEntry(9, "ุงูุนููุงู ูก", valueSpecifiers[7]), | |
| "ุงููุงูุณ": new MapEntry(6, "ุงููุงูุณ", valueSpecifiers[12]), | |
| "ุงูู ุคุณุณุฉ": new MapEntry(7, "ุงูู ุคุณุณุฉ", valueSpecifiers[13]), | |
| "ุงูู ุฏููุฉ": new MapEntry(7, "ุงูู ุฏููุฉ", valueSpecifiers[8]), | |
| "ุงูู ุณู ู ุงููุธููู": new MapEntry(14, "ุงูู ุณู ู ุงููุธููู", valueSpecifiers[5]), | |
| "ุงููุงุชู": new MapEntry(6, "ุงููุงุชู", valueSpecifiers[12]), | |
| "ุงููุงุชู ุงูุฎููู": new MapEntry(13, "ุงููุงุชู ุงูุฎููู", valueSpecifiers[16]), | |
| "ุงููุงุชู ุงูู ุญู ูู": new MapEntry(14, "ุงููุงุชู ุงูู ุญู ูู", valueSpecifiers[16]), | |
| "ุงููุงุชู ูู ุงูุตุจุงุญ": new MapEntry(16, "ุงููุงุชู ูู ุงูุตุจุงุญ", valueSpecifiers[15]), | |
| "ุงููุงุชู ูู ุงูู ุณุงุก": new MapEntry(16, "ุงููุงุชู ูู ุงูู ุณุงุก", valueSpecifiers[14]), | |
| "ุงููุงุชู ูู ุงูู ุณุงุก ": new MapEntry(17, "ุงููุงุชู ูู ุงูู ุณุงุก ", valueSpecifiers[14]), | |
| "ุงูููุงูุฉ": new MapEntry(7, "ุงูููุงูุฉ", valueSpecifiers[9]), | |
| "ุชุงุฑูุฎ ุงูู ููุงุฏ": new MapEntry(13, "ุชุงุฑูุฎ ุงูู ููุงุฏ", valueSpecifiers[4]), | |
| "ุฑูู ุงููุงุชู": new MapEntry(10, "ุฑูู ุงููุงุชู", valueSpecifiers[12]), | |
| "ุนููุงู ุงูุดุงุฑุน": new MapEntry(12, "ุนููุงู ุงูุดุงุฑุน", valueSpecifiers[7]), | |
| "ููุฏ ุงูู ูุทูุฉ": new MapEntry(11, "ููุฏ ุงูู ูุทูุฉ", valueSpecifiers[12]), | |
| "ููุฏ ุงูู ูุทูุฉ ุงูุณูููุฉ": new MapEntry(19, "ููุฏ ุงูู ูุทูุฉ ุงูุณูููุฉ", valueSpecifiers[14]), | |
| "ููุฏ ุงูู ูุทูุฉ ูููุงุชู ูู ุงูู ุณุงุก": new MapEntry(28, "ููุฏ ุงูู ูุทูุฉ ูููุงุชู ูู ุงูู ุณุงุก", valueSpecifiers[14]), | |
| "ููุฏ ู ูุทูุฉ ุงูุดุฑูุฉ": new MapEntry(16, "ููุฏ ู ูุทูุฉ ุงูุดุฑูุฉ", valueSpecifiers[15]), | |
| "ููุฏ ู ูุทูุฉ ุงูุนู ู": new MapEntry(15, "ููุฏ ู ูุทูุฉ ุงูุนู ู", valueSpecifiers[15]), | |
| "ููุฏ ู ูุทูุฉ ุงููุงุชู ุงูุฎููู": new MapEntry(23, "ููุฏ ู ูุทูุฉ ุงููุงุชู ุงูุฎููู", valueSpecifiers[16]), | |
| "ููุฏ ู ูุทูุฉ ุงููุงุชู ุงูู ุญู ูู": new MapEntry(24, "ููุฏ ู ูุทูุฉ ุงููุงุชู ุงูู ุญู ูู", valueSpecifiers[16]), | |
| "ููุฏ ู ูุทูุฉ ุงููุงุชู ูู ุงูุตุจุงุญ": new MapEntry(26, "ููุฏ ู ูุทูุฉ ุงููุงุชู ูู ุงูุตุจุงุญ", valueSpecifiers[15]), | |
| "ููุฏ ู ูุทูุฉ ุฌูุงุฒ ุงููุฏุงุก": new MapEntry(21, "ููุฏ ู ูุทูุฉ ุฌูุงุฒ ุงููุฏุงุก", valueSpecifiers[17]), | |
| "ููุฏ ู ูุทูุฉ ูุงุชู ุงูุนู ู": new MapEntry(20, "ููุฏ ู ูุทูุฉ ูุงุชู ุงูุนู ู", valueSpecifiers[15]), | |
| "ู ูููุฏ": new MapEntry(5, "ู ูููุฏ", valueSpecifiers[4]), | |
| "ูุงุชู ุงูุดุฑูุฉ": new MapEntry(11, "ูุงุชู ุงูุดุฑูุฉ", valueSpecifiers[15]), | |
| "ูุงุชู ุงูุนู ู": new MapEntry(10, "ูุงุชู ุงูุนู ู", valueSpecifiers[15]), | |
| "ูุงุชู ุงูู ูุฒู": new MapEntry(11, "ูุงุชู ุงูู ูุฒู", valueSpecifiers[14]), | |
| "ูุงุชู ูุฏุงุก": new MapEntry(9, "ูุงุชู ูุฏุงุก", valueSpecifiers[17]), | |
| "เธเธฅเธฒเธ": new MapEntry(4, "เธเธฅเธฒเธ", valueSpecifiers[2]), | |
| "เธเธทเนเธญ": new MapEntry(4, "เธเธทเนเธญ", valueSpecifiers[1]), | |
| "เธเธทเนเธญเธเธฅเธฒเธ": new MapEntry(8, "เธเธทเนเธญเธเธฅเธฒเธ", valueSpecifiers[2]), | |
| "เธเธทเนเธญเธเธฅเธฒเธเธขเนเธญ": new MapEntry(11, "เธเธทเนเธญเธเธฅเธฒเธเธขเนเธญ", valueSpecifiers[2]), | |
| "เธเธทเนเธญเธเธฅเธฒเธเธฃเธฐเธซเธงเนเธฒเธ": new MapEntry(15, "เธเธทเนเธญเธเธฅเธฒเธเธฃเธฐเธซเธงเนเธฒเธ", valueSpecifiers[2]), | |
| "เธเธทเนเธญเธเธฃเธดเธ": new MapEntry(8, "เธเธทเนเธญเธเธฃเธดเธ", valueSpecifiers[1]), | |
| "เธเธทเนเธญเธเธฑเธง": new MapEntry(7, "เธเธทเนเธญเธเธฑเธง", valueSpecifiers[1]), | |
| "เธเธทเนเธญเธเธณเนเธซเธเนเธ": new MapEntry(11, "เธเธทเนเธญเธเธณเนเธซเธเนเธ", valueSpecifiers[5]), | |
| "เธเธทเนเธญเธเนเธ": new MapEntry(7, "เธเธทเนเธญเธเนเธ", valueSpecifiers[1]), | |
| "เธเธทเนเธญเธเธเธ": new MapEntry(7, "เธเธทเนเธญเธเธเธ", valueSpecifiers[7]), | |
| "เธเธทเนเธญเธเนเธฒเธข": new MapEntry(8, "เธเธทเนเธญเธเนเธฒเธข", valueSpecifiers[3]), | |
| "เธเธทเนเธญเธชเธเธธเธฅ": new MapEntry(8, "เธเธทเนเธญเธชเธเธธเธฅ", valueSpecifiers[3]), | |
| "เธเธทเนเธญเธชเธเธธเธฅเธเนเธฒเธข": new MapEntry(12, "เธเธทเนเธญเธชเธเธธเธฅเธเนเธฒเธข", valueSpecifiers[3]), | |
| "เธเธทเนเธญเธซเธเนเธฒ": new MapEntry(8, "เธเธทเนเธญเธซเธเนเธฒ", valueSpecifiers[1]), | |
| "เธเธทเนเธญเนเธเนเธก": new MapEntry(8, "เธเธทเนเธญเนเธเนเธก", valueSpecifiers[0]), | |
| "เธเธทเนเธญเนเธฃเธ": new MapEntry(7, "เธเธทเนเธญเนเธฃเธ", valueSpecifiers[1]), | |
| "เธเธทเนเธญเนเธฅเธฐเธเธฒเธกเธชเธธเธเธฅ": new MapEntry(14, "เธเธทเนเธญเนเธฅเธฐเธเธฒเธกเธชเธธเธเธฅ", valueSpecifiers[0]), | |
| "เธเธฑเธงเธขเนเธญเธเธทเนเธญเธเธฅเธฒเธ": new MapEntry(14, "เธเธฑเธงเธขเนเธญเธเธทเนเธญเธเธฅเธฒเธ", valueSpecifiers[2]), | |
| "เธเธณเนเธซเธเนเธ": new MapEntry(7, "เธเธณเนเธซเธเนเธ", valueSpecifiers[5]), | |
| "เธเธเธ": new MapEntry(3, "เธเธเธ", valueSpecifiers[7]), | |
| "เธเธเธเธเธตเนเธญเธขเธนเน": new MapEntry(10, "เธเธเธเธเธตเนเธญเธขเธนเน", valueSpecifiers[7]), | |
| "เธเธตเนเธเธณเธเธฒเธเธฃเธซเธฑเธช": new MapEntry(12, "เธเธตเนเธเธณเธเธฒเธเธฃเธซเธฑเธช", valueSpecifiers[15]), | |
| "เธเธตเนเธญเธขเธนเน": new MapEntry(7, "เธเธตเนเธญเธขเธนเน", valueSpecifiers[7]), | |
| "เธเธตเนเธญเธขเธนเน 1": new MapEntry(9, "เธเธตเนเธญเธขเธนเน 1", valueSpecifiers[7]), | |
| "เธเธตเนเธญเธขเธนเนเธเธเธ": new MapEntry(10, "เธเธตเนเธญเธขเธนเนเธเธเธ", valueSpecifiers[7]), | |
| "เธเธตเนเธญเธขเธนเนเธญเธตเนเธกเธฅ": new MapEntry(12, "เธเธตเนเธญเธขเธนเนเธญเธตเนเธกเธฅ", valueSpecifiers[6]), | |
| "เธเธตเนเธญเธขเธนเนเนเธฃเธ": new MapEntry(10, "เธเธตเนเธญเธขเธนเนเนเธฃเธ", valueSpecifiers[7]), | |
| "เธเธตเนเธตเธฃเธซเธฑเธชเธเธณเธเธฒเธ": new MapEntry(13, "เธเธตเนเธตเธฃเธซเธฑเธชเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เธเนเธฒเธข": new MapEntry(4, "เธเนเธฒเธข", valueSpecifiers[3]), | |
| "เธเธธเธฃเธเธดเธเธฃเธซเธฑเธชเธเธทเนเธเธเธตเน": new MapEntry(17, "เธเธธเธฃเธเธดเธเธฃเธซเธฑเธชเธเธทเนเธเธเธตเน", valueSpecifiers[15]), | |
| "เธเธฒเธกเธชเธเธธเธฅ": new MapEntry(7, "เธเธฒเธกเธชเธเธธเธฅ", valueSpecifiers[3]), | |
| "เธเธฃเธดเธฉเธฑเธ": new MapEntry(6, "เธเธฃเธดเธฉเธฑเธ", valueSpecifiers[13]), | |
| "เธเนเธฒเธเธฃเธซเธฑเธชเธเธทเนเธเธเธตเน": new MapEntry(15, "เธเนเธฒเธเธฃเธซเธฑเธชเธเธทเนเธเธเธตเน", valueSpecifiers[14]), | |
| "เธเธฃเธฐเนเธเธจ": new MapEntry(6, "เธเธฃเธฐเนเธเธจ", valueSpecifiers[11]), | |
| "เธเนเธญเธเธเธฃเธฃเธเธฑเธเธเธตเนเธญเธขเธนเน": new MapEntry(17, "เธเนเธญเธเธเธฃเธฃเธเธฑเธเธเธตเนเธญเธขเธนเน", valueSpecifiers[7]), | |
| "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธช": new MapEntry(11, "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธช", valueSpecifiers[12]), | |
| "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธชเธเธฃเธดเธฉเธฑเธ": new MapEntry(17, "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธชเธเธฃเธดเธฉเธฑเธ", valueSpecifiers[15]), | |
| "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ": new MapEntry(25, "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", valueSpecifiers[16]), | |
| "เธกเธทเธญเธเธทเธญ": new MapEntry(6, "เธกเธทเธญเธเธทเธญ", valueSpecifiers[16]), | |
| "เธฃเธซเธฑเธช": new MapEntry(4, "เธฃเธซเธฑเธช", valueSpecifiers[10]), | |
| "เธฃเธซเธฑเธชเธเธเธซเธกเธฒเธข": new MapEntry(10, "เธฃเธซเธฑเธชเธเธเธซเธกเธฒเธข", valueSpecifiers[10]), | |
| "เธฃเธซเธฑเธชเธเธณเธเธฒเธ": new MapEntry(9, "เธฃเธซเธฑเธชเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธตเนเธเธณเธเธฒเธ": new MapEntry(12, "เธฃเธซเธฑเธชเธเธตเนเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธธเธฃเธเธดเธ": new MapEntry(10, "เธฃเธซเธฑเธชเธเธธเธฃเธเธดเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธฃเธดเธฉเธฑเธ": new MapEntry(10, "เธฃเธซเธฑเธชเธเธฃเธดเธฉเธฑเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเนเธฒเธ": new MapEntry(8, "เธฃเธซเธฑเธชเธเนเธฒเธ", valueSpecifiers[14]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเน": new MapEntry(11, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเน", valueSpecifiers[12]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธฒเธ": new MapEntry(14, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธฒเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธณเธเธฒเธ": new MapEntry(16, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธธเธฃเธเธดเธ": new MapEntry(17, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธธเธฃเธเธดเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธฃเธดเธฉเธฑเธ": new MapEntry(17, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธฃเธดเธฉเธฑเธ", valueSpecifiers[15]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเนเธฒเธ": new MapEntry(15, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเนเธฒเธ", valueSpecifiers[14]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธกเธทเธญเธเธทเธญ": new MapEntry(17, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธกเธทเธญเธเธทเธญ", valueSpecifiers[16]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธงเธดเธเธขเธธเธเธดเธเธเธฒเธกเธเธฑเธง": new MapEntry(25, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธงเธดเธเธขเธธเธเธดเธเธเธฒเธกเธเธฑเธง", valueSpecifiers[17]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธชเนเธงเธเธเธฑเธง": new MapEntry(18, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธชเนเธงเธเธเธฑเธง", valueSpecifiers[14]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธเนเธเธญเธฃเน": new MapEntry(19, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธเนเธเธญเธฃเน", valueSpecifiers[17]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ": new MapEntry(25, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", valueSpecifiers[16]), | |
| "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง": new MapEntry(26, "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง", valueSpecifiers[16]), | |
| "เธฃเธซเธฑเธชเธชเนเธเธเธเธซเธกเธฒเธข": new MapEntry(13, "เธฃเธซเธฑเธชเธชเนเธเธเธเธซเธกเธฒเธข", valueSpecifiers[10]), | |
| "เธฃเธซเธฑเธชเนเธเธญเธฃเนเธเนเธฒเธ": new MapEntry(13, "เธฃเธซเธฑเธชเนเธเธญเธฃเนเธเนเธฒเธ", valueSpecifiers[14]), | |
| "เธฃเธซเธฑเธชเนเธเธญเธฃเนเธชเนเธงเธเธเธฑเธง": new MapEntry(16, "เธฃเธซเธฑเธชเนเธเธญเธฃเนเธชเนเธงเธเธเธฑเธง", valueSpecifiers[14]), | |
| "เธฃเธซเธฑเธชเนเธเธเนเธเธญเธฃเน": new MapEntry(12, "เธฃเธซเธฑเธชเนเธเธเนเธเธญเธฃเน", valueSpecifiers[17]), | |
| "เธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ": new MapEntry(18, "เธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", valueSpecifiers[16]), | |
| "เธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง": new MapEntry(19, "เธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง", valueSpecifiers[16]), | |
| "เธฃเธซเธฑเธชเนเธเธฃเธฉเธเธตเธขเน": new MapEntry(12, "เธฃเธซเธฑเธชเนเธเธฃเธฉเธเธตเธขเน", valueSpecifiers[10]), | |
| "เธฃเธฑเธ": new MapEntry(3, "เธฃเธฑเธ", valueSpecifiers[9]), | |
| "เธงเธฑเธเธเธตเนเนเธเธดเธ": new MapEntry(10, "เธงเธฑเธเธเธตเนเนเธเธดเธ", valueSpecifiers[4]), | |
| "เธงเธฑเธเนเธเธดเธ": new MapEntry(7, "เธงเธฑเธเนเธเธดเธ", valueSpecifiers[4]), | |
| "เธงเธดเธเธขเธธเธเธดเธเธเธฒเธกเธเธฑเธง": new MapEntry(14, "เธงเธดเธเธขเธธเธเธดเธเธเธฒเธกเธเธฑเธง", valueSpecifiers[17]), | |
| "เธชเธเธธเธฅ": new MapEntry(4, "เธชเธเธธเธฅ", valueSpecifiers[3]), | |
| "เธซเธกเธฒเธขเนเธฅเธเนเธเธฃเธจเธฑเธเธเน": new MapEntry(15, "เธซเธกเธฒเธขเนเธฅเธเนเธเธฃเธจเธฑเธเธเน", valueSpecifiers[12]), | |
| "เธซเธกเธฒเธขเนเธฅเธเนเธเธฃเธฏ": new MapEntry(11, "เธซเธกเธฒเธขเนเธฅเธเนเธเธฃเธฏ", valueSpecifiers[12]), | |
| "เธญเธเธเนเธเธฃ": new MapEntry(6, "เธญเธเธเนเธเธฃ", valueSpecifiers[13]), | |
| "เธญเธต-เนเธกเธฅ": new MapEntry(6, "เธญเธต-เนเธกเธฅ", valueSpecifiers[6]), | |
| "เธญเธตเนเธกเธฅ": new MapEntry(5, "เธญเธตเนเธกเธฅ", valueSpecifiers[6]), | |
| "เธญเธตเนเธกเธฅเธเธตเนเธญเธขเธนเน": new MapEntry(12, "เธญเธตเนเธกเธฅเธเธตเนเธญเธขเธนเน", valueSpecifiers[6]), | |
| "เนเธเธดเธ": new MapEntry(4, "เนเธเธดเธ", valueSpecifiers[4]), | |
| "เนเธเธญเธฃเนเธเธฒเธ": new MapEntry(8, "เนเธเธญเธฃเนเธเธฒเธ", valueSpecifiers[15]), | |
| "เนเธเธญเธฃเนเธเธดเธเธเนเธญ": new MapEntry(11, "เนเธเธญเธฃเนเธเธดเธเธเนเธญ", valueSpecifiers[14]), | |
| "เนเธเธญเธฃเนเธเธณเธเธฒเธ": new MapEntry(10, "เนเธเธญเธฃเนเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เนเธเธญเธฃเนเธเธตเนเธเธณเธเธฒเธ": new MapEntry(13, "เนเธเธญเธฃเนเธเธตเนเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เนเธเธญเธฃเนเธเธธเธฃเธเธดเธ": new MapEntry(11, "เนเธเธญเธฃเนเธเธธเธฃเธเธดเธ", valueSpecifiers[15]), | |
| "เนเธเธญเธฃเนเธเธฃเธดเธฉเธฑเธ": new MapEntry(11, "เนเธเธญเธฃเนเธเธฃเธดเธฉเธฑเธ", valueSpecifiers[15]), | |
| "เนเธเธญเธฃเนเธเนเธฒเธ": new MapEntry(9, "เนเธเธญเธฃเนเธเนเธฒเธ", valueSpecifiers[14]), | |
| "เนเธเธญเธฃเนเธชเนเธงเธเธเธฑเธง": new MapEntry(12, "เนเธเธญเธฃเนเธชเนเธงเธเธเธฑเธง", valueSpecifiers[14]), | |
| "เนเธเธญเธฃเนเนเธเธฃเธจเธฑเธเธเน": new MapEntry(13, "เนเธเธญเธฃเนเนเธเธฃเธจเธฑเธเธเน", valueSpecifiers[12]), | |
| "เนเธกเธทเธญเธ": new MapEntry(5, "เนเธกเธทเธญเธ", valueSpecifiers[8]), | |
| "เนเธเธฃเธจเธฑเธเธเน": new MapEntry(8, "เนเธเธฃเธจเธฑเธเธเน", valueSpecifiers[12]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธเธฒเธ": new MapEntry(11, "เนเธเธฃเธจเธฑเธเธเนเธเธฒเธ", valueSpecifiers[15]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธเธดเธเธเนเธญเธเธฒเธ": new MapEntry(17, "เนเธเธฃเธจเธฑเธเธเนเธเธดเธเธเนเธญเธเธฒเธ", valueSpecifiers[15]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธเธตเนเธเธณเธเธฒเธ": new MapEntry(16, "เนเธเธฃเธจเธฑเธเธเนเธเธตเนเธเธณเธเธฒเธ", valueSpecifiers[15]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธเธธเธฃเธเธดเธ": new MapEntry(14, "เนเธเธฃเธจเธฑเธเธเนเธเธธเธฃเธเธดเธ", valueSpecifiers[15]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธเธฃเธดเธฉเธฑเธ": new MapEntry(14, "เนเธเธฃเธจเธฑเธเธเนเธเธฃเธดเธฉเธฑเธ", valueSpecifiers[15]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธเนเธฒเธ": new MapEntry(12, "เนเธเธฃเธจเธฑเธเธเนเธเนเธฒเธ", valueSpecifiers[14]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ": new MapEntry(14, "เนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", valueSpecifiers[16]), | |
| "เนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง": new MapEntry(15, "เนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง", valueSpecifiers[16]), | |
| "เนเธเธฃเธชเธฒเธฃ": new MapEntry(6, "เนเธเธฃเธชเธฒเธฃ", valueSpecifiers[12]), | |
| "เนเธเธฃเธฉเธเธตเธขเน": new MapEntry(8, "เนเธเธฃเธฉเธเธตเธขเน", valueSpecifiers[10]), | |
| "ใ": new MapEntry(1, "ใ", valueSpecifiers[10]), | |
| "ใๅๅ": new MapEntry(3, "ใๅๅ", valueSpecifiers[0]), | |
| "ใ่ช็ๆฅ": new MapEntry(4, "ใ่ช็ๆฅ", valueSpecifiers[4]), | |
| "ใไฝๆ": new MapEntry(3, "ใไฝๆ", valueSpecifiers[7]), | |
| "ใใไปฅ้ใฎไฝๆ": new MapEntry(7, "ใใไปฅ้ใฎไฝๆ", valueSpecifiers[7]), | |
| "ใขใใฌใน": new MapEntry(4, "ใขใใฌใน", valueSpecifiers[7]), | |
| "ใจใชใขใณใผใ": new MapEntry(6, "ใจใชใขใณใผใ", valueSpecifiers[12]), | |
| "ใฑใผใฟใค": new MapEntry(4, "ใฑใผใฟใค", valueSpecifiers[16]), | |
| "ใฑใผใฟใค็ชๅท": new MapEntry(6, "ใฑใผใฟใค็ชๅท", valueSpecifiers[16]), | |
| "ใฑใผใฟใค้ป่ฉฑ": new MapEntry(6, "ใฑใผใฟใค้ป่ฉฑ", valueSpecifiers[16]), | |
| "ใฑใผใฟใค้ป่ฉฑ็ชๅท": new MapEntry(8, "ใฑใผใฟใค้ป่ฉฑ็ชๅท", valueSpecifiers[16]), | |
| "ใใกใฏใทใใช": new MapEntry(6, "ใใกใฏใทใใช", valueSpecifiers[12]), | |
| "ใใกใฏใทใใช็ชๅท": new MapEntry(8, "ใใกใฏใทใใช็ชๅท", valueSpecifiers[12]), | |
| "ใใกใฏใน": new MapEntry(4, "ใใกใฏใน", valueSpecifiers[12]), | |
| "ใใกใฏใน็ชๅท": new MapEntry(6, "ใใกใฏใน็ชๅท", valueSpecifiers[12]), | |
| "ใใกใใฏใน": new MapEntry(5, "ใใกใใฏใน", valueSpecifiers[12]), | |
| "ใใกใใฏใน็ชๅท": new MapEntry(7, "ใใกใใฏใน็ชๅท", valueSpecifiers[12]), | |
| "ใใซใใผใ ": new MapEntry(5, "ใใซใใผใ ", valueSpecifiers[0]), | |
| "ใใฑใใใใซ": new MapEntry(6, "ใใฑใใใใซ", valueSpecifiers[17]), | |
| "ใใฑใใใใซ็ชๅท": new MapEntry(8, "ใใฑใใใใซ็ชๅท", valueSpecifiers[17]), | |
| "ใใฑใใใใซ้ป่ฉฑ็ชๅท": new MapEntry(10, "ใใฑใใใใซ้ป่ฉฑ็ชๅท", valueSpecifiers[17]), | |
| "ใใฑใใซ": new MapEntry(4, "ใใฑใใซ", valueSpecifiers[17]), | |
| "ใใฑใใซ็ชๅท": new MapEntry(6, "ใใฑใใซ็ชๅท", valueSpecifiers[17]), | |
| "ใใฑใใซ้ป่ฉฑ็ชๅท": new MapEntry(8, "ใใฑใใซ้ป่ฉฑ็ชๅท", valueSpecifiers[17]), | |
| "ใใใซใใผใ ": new MapEntry(6, "ใใใซใใผใ ", valueSpecifiers[2]), | |
| "ใกใขใ": new MapEntry(3, "ใกใขใ", valueSpecifiers[6]), | |
| "ใกใซใขใ": new MapEntry(4, "ใกใซใขใ", valueSpecifiers[6]), | |
| "ใกใผใซ": new MapEntry(3, "ใกใผใซ", valueSpecifiers[6]), | |
| "ใกใผใซใขใใฌใน": new MapEntry(7, "ใกใผใซใขใใฌใน", valueSpecifiers[6]), | |
| "ไธชไบบไธป้กต": new MapEntry(4, "ไธชไบบไธป้กต", valueSpecifiers[25]), | |
| "ไธชไบบ็ฝ็ซ": new MapEntry(4, "ไธชไบบ็ฝ็ซ", valueSpecifiers[25]), | |
| "ไธชไบบ็ฝ้กต": new MapEntry(4, "ไธชไบบ็ฝ้กต", valueSpecifiers[25]), | |
| "ไธญ้ๅ": new MapEntry(3, "ไธญ้ๅ", valueSpecifiers[2]), | |
| "ไธญ้ดๅ": new MapEntry(3, "ไธญ้ดๅ", valueSpecifiers[2]), | |
| "ไผ็คพ": new MapEntry(2, "ไผ็คพ", valueSpecifiers[13]), | |
| "ไผ็คพๅ": new MapEntry(3, "ไผ็คพๅ", valueSpecifiers[13]), | |
| "ไผ็คพ้ป่ฉฑ": new MapEntry(4, "ไผ็คพ้ป่ฉฑ", valueSpecifiers[15]), | |
| "ไผ็คพ้ป่ฉฑ็ชๅท": new MapEntry(6, "ไผ็คพ้ป่ฉฑ็ชๅท", valueSpecifiers[15]), | |
| "ไผ็คพ้ป่ฉฑ๏ผ": new MapEntry(5, "ไผ็คพ้ป่ฉฑ๏ผ", valueSpecifiers[15]), | |
| "ไผ ๅผๆบ": new MapEntry(3, "ไผ ๅผๆบ", valueSpecifiers[17]), | |
| "ไผ ๅผๆบๅบๅท": new MapEntry(5, "ไผ ๅผๆบๅบๅท", valueSpecifiers[17]), | |
| "ไผ ็": new MapEntry(2, "ไผ ็", valueSpecifiers[12]), | |
| "ไฝๅ": new MapEntry(2, "ไฝๅ", valueSpecifiers[7]), | |
| "ไฝๅฎ ้ป่ฉฑ": new MapEntry(4, "ไฝๅฎ ้ป่ฉฑ", valueSpecifiers[14]), | |
| "ไฝๅฎถ้ป่ฉฑ": new MapEntry(4, "ไฝๅฎถ้ป่ฉฑ", valueSpecifiers[14]), | |
| "ไฝๆ": new MapEntry(2, "ไฝๆ", valueSpecifiers[7]), | |
| "ไฝๆๅ ฅๅๆฌ": new MapEntry(5, "ไฝๆๅ ฅๅๆฌ", valueSpecifiers[7]), | |
| "ไฝๆ๏ผ17ๆๅญไปฅๅ ๏ผ": new MapEntry(10, "ไฝๆ๏ผ17ๆๅญไปฅๅ ๏ผ", valueSpecifiers[7]), | |
| "ๅไบบ้ป่ฉฑ็ชๅท": new MapEntry(6, "ๅไบบ้ป่ฉฑ็ชๅท", valueSpecifiers[14]), | |
| "ๅณๅผๆฉ": new MapEntry(3, "ๅณๅผๆฉ", valueSpecifiers[17]), | |
| "ๅณๅผๆฉ่็ขผ": new MapEntry(5, "ๅณๅผๆฉ่็ขผ", valueSpecifiers[17]), | |
| "ๅณ็": new MapEntry(2, "ๅณ็", valueSpecifiers[12]), | |
| "ๅณ็่็ขผ": new MapEntry(4, "ๅณ็่็ขผ", valueSpecifiers[12]), | |
| "ๅ จๅ": new MapEntry(2, "ๅ จๅ", valueSpecifiers[0]), | |
| "ๅ ฌๅ้ป่ฉฑ": new MapEntry(4, "ๅ ฌๅ้ป่ฉฑ", valueSpecifiers[15]), | |
| "ๅ ฌๅธ": new MapEntry(2, "ๅ ฌๅธ", valueSpecifiers[13]), | |
| "ๅ ฌๅธๅ็จฑ": new MapEntry(4, "ๅ ฌๅธๅ็จฑ", valueSpecifiers[13]), | |
| "ๅ ฌๅธ็ต่ฏ": new MapEntry(4, "ๅ ฌๅธ็ต่ฏ", valueSpecifiers[15]), | |
| "ๅ ฌๅธ็ต่ฏๅบๅท": new MapEntry(6, "ๅ ฌๅธ็ต่ฏๅบๅท", valueSpecifiers[15]), | |
| "ๅ ฌๅธ้ป่ฉฑ": new MapEntry(4, "ๅ ฌๅธ้ป่ฉฑ", valueSpecifiers[15]), | |
| "ๅบ็": new MapEntry(2, "ๅบ็", valueSpecifiers[4]), | |
| "ๅบ็ๅนดๆๆฅ": new MapEntry(5, "ๅบ็ๅนดๆๆฅ", valueSpecifiers[4]), | |
| "ๅบ็ๆฅๆ": new MapEntry(4, "ๅบ็ๆฅๆ", valueSpecifiers[4]), | |
| "ๅคๅๅ ": new MapEntry(3, "ๅคๅๅ ", valueSpecifiers[13]), | |
| "ๅคๅๅ ไผ็คพ": new MapEntry(5, "ๅคๅๅ ไผ็คพ", valueSpecifiers[13]), | |
| "ๅคๅๅ ไผ็คพๅ": new MapEntry(6, "ๅคๅๅ ไผ็คพๅ", valueSpecifiers[13]), | |
| "ๅคๅๅ ้ป่ฉฑ็ชๅท": new MapEntry(7, "ๅคๅๅ ้ป่ฉฑ็ชๅท", valueSpecifiers[15]), | |
| "ๅบๅท": new MapEntry(2, "ๅบๅท", valueSpecifiers[12]), | |
| "ๅๅ็ขผ": new MapEntry(3, "ๅๅ็ขผ", valueSpecifiers[12]), | |
| "ๅๅ่็ขผ": new MapEntry(4, "ๅๅ่็ขผ", valueSpecifiers[12]), | |
| "ๅ็ขผ": new MapEntry(2, "ๅ็ขผ", valueSpecifiers[12]), | |
| "ๅไฝ": new MapEntry(2, "ๅไฝ", valueSpecifiers[13]), | |
| "ๅไฝๅ็งฐ": new MapEntry(4, "ๅไฝๅ็งฐ", valueSpecifiers[13]), | |
| "ๅๅ": new MapEntry(2, "ๅๅ", valueSpecifiers[0]), | |
| "ๅๅญ": new MapEntry(2, "ๅๅญ", valueSpecifiers[0]), | |
| "ๅ็จฑ": new MapEntry(2, "ๅ็จฑ", valueSpecifiers[0]), | |
| "ๅ๏ผๅ จ่ง8ๆๅญไปฅๅ ๏ผ": new MapEntry(10, "ๅ๏ผๅ จ่ง8ๆๅญไปฅๅ ๏ผ", valueSpecifiers[1]), | |
| "ๅผๅซๅจ": new MapEntry(3, "ๅผๅซๅจ", valueSpecifiers[17]), | |
| "ๅผๅซๅจ่็ขผ": new MapEntry(5, "ๅผๅซๅจ่็ขผ", valueSpecifiers[17]), | |
| "ๅ็จ้ป่ฉฑ": new MapEntry(4, "ๅ็จ้ป่ฉฑ", valueSpecifiers[15]), | |
| "ๅบๅฎ้ป่ฉฑ": new MapEntry(4, "ๅบๅฎ้ป่ฉฑ", valueSpecifiers[12]), | |
| "ๅบๅฎ้ป่ฉฑ็ชๅท": new MapEntry(6, "ๅบๅฎ้ป่ฉฑ็ชๅท", valueSpecifiers[12]), | |
| "ๅฝ": new MapEntry(1, "ๅฝ", valueSpecifiers[11]), | |
| "ๅฝ/ๅฐๅๅ": new MapEntry(5, "ๅฝ/ๅฐๅๅ", valueSpecifiers[11]), | |
| "ๅฝ/ๅฐๅๅ๏ผ": new MapEntry(6, "ๅฝ/ๅฐๅๅ๏ผ", valueSpecifiers[11]), | |
| "ๅฝใๅฐๅ": new MapEntry(4, "ๅฝใๅฐๅ", valueSpecifiers[11]), | |
| "ๅฝๅฎถ": new MapEntry(2, "ๅฝๅฎถ", valueSpecifiers[11]), | |
| "ๅฝๅฎถ/ๅฐๅบ": new MapEntry(5, "ๅฝๅฎถ/ๅฐๅบ", valueSpecifiers[11]), | |
| "ๅฝ๏ผๅฐๅๅ": new MapEntry(5, "ๅฝ๏ผๅฐๅๅ", valueSpecifiers[11]), | |
| "ๅฝ๏ผๅฐๅๅ๏ผ": new MapEntry(6, "ๅฝ๏ผๅฐๅๅ๏ผ", valueSpecifiers[11]), | |
| "ๅๅฎถ": new MapEntry(2, "ๅๅฎถ", valueSpecifiers[11]), | |
| "ๅๅฎถโๅฐๅ": new MapEntry(5, "ๅๅฎถโๅฐๅ", valueSpecifiers[11]), | |
| "ๅๅฎถๆๅฐๅ": new MapEntry(5, "ๅๅฎถๆๅฐๅ", valueSpecifiers[11]), | |
| "ๅฐๅบ": new MapEntry(2, "ๅฐๅบ", valueSpecifiers[11]), | |
| "ๅฐๅ": new MapEntry(2, "ๅฐๅ", valueSpecifiers[7]), | |
| "ๅๅธ": new MapEntry(2, "ๅๅธ", valueSpecifiers[8]), | |
| "ๅคๆ็ต่ฏๅบๅท": new MapEntry(6, "ๅคๆ็ต่ฏๅบๅท", valueSpecifiers[14]), | |
| "ๅค้้ป่ฉฑ": new MapEntry(4, "ๅค้้ป่ฉฑ", valueSpecifiers[14]), | |
| "ๅค้้ป่ฉฑ็ชๅท": new MapEntry(6, "ๅค้้ป่ฉฑ็ชๅท", valueSpecifiers[14]), | |
| "ๅค้ด็ต่ฏ": new MapEntry(4, "ๅค้ด็ต่ฏ", valueSpecifiers[14]), | |
| "ๅคงๅฅๅคง": new MapEntry(3, "ๅคงๅฅๅคง", valueSpecifiers[16]), | |
| "ๅคงๅฅๅคง้ป่ฉฑ": new MapEntry(5, "ๅคงๅฅๅคง้ป่ฉฑ", valueSpecifiers[16]), | |
| "ๅง": new MapEntry(1, "ๅง", valueSpecifiers[3]), | |
| "ๅงๅ": new MapEntry(2, "ๅงๅ", valueSpecifiers[0]), | |
| "ๅงๆฐ": new MapEntry(2, "ๅงๆฐ", valueSpecifiers[3]), | |
| "ๅฎถๅบญ็ต่ฏ": new MapEntry(4, "ๅฎถๅบญ็ต่ฏ", valueSpecifiers[14]), | |
| "ๅฎถๅบญ็ต่ฏๅบๅท": new MapEntry(6, "ๅฎถๅบญ็ต่ฏๅบๅท", valueSpecifiers[14]), | |
| "ๅฎถ็จ้ป่ฉฑ": new MapEntry(4, "ๅฎถ็จ้ป่ฉฑ", valueSpecifiers[14]), | |
| "ๅฎถ่ฃก้ป่ฉฑ": new MapEntry(4, "ๅฎถ่ฃก้ป่ฉฑ", valueSpecifiers[14]), | |
| "ๅท": new MapEntry(1, "ๅท", valueSpecifiers[9]), | |
| "ๅท/็": new MapEntry(3, "ๅท/็", valueSpecifiers[9]), | |
| "ๅทใพใใฏ้ก/ๅธๅบ็บๆ": new MapEntry(10, "ๅทใพใใฏ้ก/ๅธๅบ็บๆ", valueSpecifiers[8]), | |
| "ๅทใพใใฏ้ก๏ผๅธๅบ็บๆ": new MapEntry(10, "ๅทใพใใฏ้ก๏ผๅธๅบ็บๆ", valueSpecifiers[8]), | |
| "ๅทฅไฝ็ต่ฏ": new MapEntry(4, "ๅทฅไฝ็ต่ฏ", valueSpecifiers[15]), | |
| "ๅทฅไฝ็ต่ฏๅบๅท": new MapEntry(6, "ๅทฅไฝ็ต่ฏๅบๅท", valueSpecifiers[15]), | |
| "ๅทฅไฝ่ไฝ": new MapEntry(4, "ๅทฅไฝ่ไฝ", valueSpecifiers[5]), | |
| "ๅทฅไฝ่ท็จฑ": new MapEntry(4, "ๅทฅไฝ่ท็จฑ", valueSpecifiers[5]), | |
| "ๅทฅไฝ่ท้": new MapEntry(4, "ๅทฅไฝ่ท้", valueSpecifiers[5]), | |
| "ๅทฅไฝ้ป่ฉฑ": new MapEntry(4, "ๅทฅไฝ้ป่ฉฑ", valueSpecifiers[15]), | |
| "ๅธๅบ็บๆ": new MapEntry(4, "ๅธๅบ็บๆ", valueSpecifiers[8]), | |
| "ๅธๅบ็บๆ๏ผ11ๆๅญไปฅๅ ๏ผ": new MapEntry(12, "ๅธๅบ็บๆ๏ผ11ๆๅญไปฅๅ ๏ผ", valueSpecifiers[8]), | |
| "ๅธๅบ็บๆ๏ผ": new MapEntry(5, "ๅธๅบ็บๆ๏ผ", valueSpecifiers[8]), | |
| "ๅธๅบ้ก็บๆ": new MapEntry(5, "ๅธๅบ้ก็บๆ", valueSpecifiers[8]), | |
| "ๅธๅคๅฑ็ช": new MapEntry(4, "ๅธๅคๅฑ็ช", valueSpecifiers[12]), | |
| "ๅฝน่ท": new MapEntry(2, "ๅฝน่ท", valueSpecifiers[5]), | |
| "ๆๅฑ": new MapEntry(2, "ๆๅฑ", valueSpecifiers[13]), | |
| "ๆๅฑ็ต็น": new MapEntry(4, "ๆๅฑ็ต็น", valueSpecifiers[13]), | |
| "ๆๅฑ็ต็นๅ": new MapEntry(5, "ๆๅฑ็ต็นๅ", valueSpecifiers[13]), | |
| "ๆๆ้ป่ฉฑ": new MapEntry(4, "ๆๆ้ป่ฉฑ", valueSpecifiers[16]), | |
| "ๆๆ้ป่ฉฑ": new MapEntry(4, "ๆๆ้ป่ฉฑ", valueSpecifiers[16]), | |
| "ๆๆบ": new MapEntry(2, "ๆๆบ", valueSpecifiers[16]), | |
| "ๆๆบๅบๅท": new MapEntry(4, "ๆๆบๅบๅท", valueSpecifiers[16]), | |
| "ๆๆฉ": new MapEntry(2, "ๆๆฉ", valueSpecifiers[16]), | |
| "ๆๆฉ้ป่ฉฑ": new MapEntry(4, "ๆๆฉ้ป่ฉฑ", valueSpecifiers[16]), | |
| "ๆบๅธฏ": new MapEntry(2, "ๆบๅธฏ", valueSpecifiers[16]), | |
| "ๆบๅธฏ็ชๅท": new MapEntry(4, "ๆบๅธฏ็ชๅท", valueSpecifiers[16]), | |
| "ๆบๅธฏ้ป่ฉฑ": new MapEntry(4, "ๆบๅธฏ้ป่ฉฑ", valueSpecifiers[16]), | |
| "ๆบๅธฏ้ป่ฉฑ็ชๅท": new MapEntry(6, "ๆบๅธฏ้ป่ฉฑ็ชๅท", valueSpecifiers[16]), | |
| "ๆฅไธญ้ป่ฉฑ็ชๅท": new MapEntry(6, "ๆฅไธญ้ป่ฉฑ็ชๅท", valueSpecifiers[15]), | |
| "ๆฅ้้ป่ฉฑ": new MapEntry(4, "ๆฅ้้ป่ฉฑ", valueSpecifiers[15]), | |
| "ๆผ้้ป่ฉฑ็ชๅท": new MapEntry(6, "ๆผ้้ป่ฉฑ็ชๅท", valueSpecifiers[15]), | |
| "ๆไธ้ป่ฉฑ": new MapEntry(4, "ๆไธ้ป่ฉฑ", valueSpecifiers[14]), | |
| "ๆ้้ป่ฉฑ": new MapEntry(4, "ๆ้้ป่ฉฑ", valueSpecifiers[14]), | |
| "ๆบๆ": new MapEntry(2, "ๆบๆ", valueSpecifiers[13]), | |
| "ๆบๆ/็ป็ป": new MapEntry(5, "ๆบๆ/็ป็ป", valueSpecifiers[13]), | |
| "ๆฉๆง": new MapEntry(2, "ๆฉๆง", valueSpecifiers[13]), | |
| "ๆฉ้": new MapEntry(2, "ๆฉ้", valueSpecifiers[13]), | |
| "ๆฐ": new MapEntry(1, "ๆฐ", valueSpecifiers[3]), | |
| "ๆฐๅ": new MapEntry(2, "ๆฐๅ", valueSpecifiers[0]), | |
| "็ๅนดๆๆฅ": new MapEntry(4, "็ๅนดๆๆฅ", valueSpecifiers[4]), | |
| "็ๆฅ": new MapEntry(2, "็ๆฅ", valueSpecifiers[4]), | |
| "็ตๅญ้ฎไปถ": new MapEntry(4, "็ตๅญ้ฎไปถ", valueSpecifiers[6]), | |
| "็ตๅญ้ฎไปถๅฐๅ": new MapEntry(6, "็ตๅญ้ฎไปถๅฐๅ", valueSpecifiers[6]), | |
| "็ต่ฏ": new MapEntry(2, "็ต่ฏ", valueSpecifiers[12]), | |
| "็ต่ฏๅท็ ": new MapEntry(4, "็ต่ฏๅท็ ", valueSpecifiers[12]), | |
| "็ชๅฐ": new MapEntry(2, "็ชๅฐ", valueSpecifiers[7]), | |
| "็ชๅฐ๏ผ": new MapEntry(3, "็ชๅฐ๏ผ", valueSpecifiers[7]), | |
| "็ฝๅคฉ็ต่ฏ": new MapEntry(4, "็ฝๅคฉ็ต่ฏ", valueSpecifiers[15]), | |
| "็ฝๅคฉ็ต่ฏๅบๅท": new MapEntry(6, "็ฝๅคฉ็ต่ฏๅบๅท", valueSpecifiers[15]), | |
| "็ฝๅคฉ้ป่ฉฑ": new MapEntry(4, "็ฝๅคฉ้ป่ฉฑ", valueSpecifiers[15]), | |
| "็": new MapEntry(1, "็", valueSpecifiers[9]), | |
| "็ๅฎๅงๅ": new MapEntry(4, "็ๅฎๅงๅ", valueSpecifiers[0]), | |
| "็ๅฏฆๅงๅ": new MapEntry(4, "็ๅฏฆๅงๅ", valueSpecifiers[0]), | |
| "็งปๅจ็ต่ฏ": new MapEntry(4, "็งปๅจ็ต่ฏ", valueSpecifiers[16]), | |
| "็งปๅจ็ต่ฏๅบๅท": new MapEntry(6, "็งปๅจ็ต่ฏๅบๅท", valueSpecifiers[16]), | |
| "็ต็น": new MapEntry(2, "็ต็น", valueSpecifiers[13]), | |
| "็ต็นโๆฉๆง": new MapEntry(5, "็ต็นโๆฉๆง", valueSpecifiers[13]), | |
| "็ต็นๅ": new MapEntry(3, "็ต็นๅ", valueSpecifiers[13]), | |
| "็ธฃโๅธ": new MapEntry(3, "็ธฃโๅธ", valueSpecifiers[8]), | |
| "็ธฃๅธ": new MapEntry(2, "็ธฃๅธ", valueSpecifiers[8]), | |
| "็ธฃ๏ผๅธ๏ผ": new MapEntry(4, "็ธฃ๏ผๅธ๏ผ", valueSpecifiers[8]), | |
| "็ป็ป": new MapEntry(2, "็ป็ป", valueSpecifiers[13]), | |
| "่ไฝ": new MapEntry(2, "่ไฝ", valueSpecifiers[5]), | |
| "่ๅก": new MapEntry(2, "่ๅก", valueSpecifiers[5]), | |
| "่็ณปไบบ": new MapEntry(3, "่็ณปไบบ", valueSpecifiers[0]), | |
| "่ฏ็ตกๅฐๅ": new MapEntry(4, "่ฏ็ตกๅฐๅ", valueSpecifiers[7]), | |
| "่ฏ็ตก้ป่ฉฑ": new MapEntry(4, "่ฏ็ตก้ป่ฉฑ", valueSpecifiers[12]), | |
| "่ทไฝ": new MapEntry(2, "่ทไฝ", valueSpecifiers[5]), | |
| "่ทไฝๅ็จฑ": new MapEntry(4, "่ทไฝๅ็จฑ", valueSpecifiers[5]), | |
| "่ทๅ": new MapEntry(2, "่ทๅ", valueSpecifiers[5]), | |
| "่ทๅๅ็จฑ": new MapEntry(4, "่ทๅๅ็จฑ", valueSpecifiers[5]), | |
| "่ทๅ ด": new MapEntry(2, "่ทๅ ด", valueSpecifiers[13]), | |
| "่ทๅ ด้ป่ฉฑ็ชๅท": new MapEntry(6, "่ทๅ ด้ป่ฉฑ็ชๅท", valueSpecifiers[15]), | |
| "่ทๆฅญ": new MapEntry(2, "่ทๆฅญ", valueSpecifiers[5]), | |
| "่ท็จฎ": new MapEntry(2, "่ท็จฎ", valueSpecifiers[5]), | |
| "่ท็จฑ": new MapEntry(2, "่ท็จฑ", valueSpecifiers[5]), | |
| "่ท็จฑๅ็จฑ": new MapEntry(4, "่ท็จฑๅ็จฑ", valueSpecifiers[5]), | |
| "่ท้": new MapEntry(2, "่ท้", valueSpecifiers[5]), | |
| "่ชๅฎ ": new MapEntry(2, "่ชๅฎ ", valueSpecifiers[14]), | |
| "่ชๅฎ ้ป่ฉฑ": new MapEntry(4, "่ชๅฎ ้ป่ฉฑ", valueSpecifiers[14]), | |
| "่ชๅฎ ้ป่ฉฑ็ชๅท": new MapEntry(6, "่ชๅฎ ้ป่ฉฑ็ชๅท", valueSpecifiers[14]), | |
| "่ชๅฎ ้ป่ฉฑ๏ผ": new MapEntry(5, "่ชๅฎ ้ป่ฉฑ๏ผ", valueSpecifiers[14]), | |
| "่กๅ": new MapEntry(2, "่กๅ", valueSpecifiers[16]), | |
| "่กๅ้ป่ฉฑ": new MapEntry(4, "่กๅ้ป่ฉฑ", valueSpecifiers[16]), | |
| "่ก้": new MapEntry(2, "่ก้", valueSpecifiers[7]), | |
| "่ก้ๅฐๅ": new MapEntry(4, "่ก้ๅฐๅ", valueSpecifiers[7]), | |
| "่ช็ๆฅ": new MapEntry(3, "่ช็ๆฅ", valueSpecifiers[4]), | |
| "่ฏฆ็ปๅฐๅ": new MapEntry(4, "่ฏฆ็ปๅฐๅ", valueSpecifiers[7]), | |
| "่บซไปฝ่ฏ": new MapEntry(3, "่บซไปฝ่ฏ", valueSpecifiers[18]), | |
| "่พๅ ฅ่ก้ๅฐๅ่ก": new MapEntry(7, "่พๅ ฅ่ก้ๅฐๅ่ก", valueSpecifiers[7]), | |
| "่พฆๅ ฌๅฎค้ป่ฉฑ": new MapEntry(5, "่พฆๅ ฌๅฎค้ป่ฉฑ", valueSpecifiers[15]), | |
| "้่จๅฐๅ": new MapEntry(4, "้่จๅฐๅ", valueSpecifiers[7]), | |
| "้ฃ็ตกๅฐๅ": new MapEntry(4, "้ฃ็ตกๅฐๅ", valueSpecifiers[7]), | |
| "้ฃ็ตก้ป่ฉฑ": new MapEntry(4, "้ฃ็ตก้ป่ฉฑ", valueSpecifiers[12]), | |
| "้ฎๆฟ็ผ็ ": new MapEntry(4, "้ฎๆฟ็ผ็ ", valueSpecifiers[10]), | |
| "้ฎ็ผ": new MapEntry(2, "้ฎ็ผ", valueSpecifiers[10]), | |
| "้กๅธๅบ(ๅณถใปๅฝๅ)": new MapEntry(9, "้กๅธๅบ(ๅณถใปๅฝๅ)", valueSpecifiers[8]), | |
| "้กๅธๅบ๏ผๅณถใปๅฝๅ๏ผ": new MapEntry(9, "้กๅธๅบ๏ผๅณถใปๅฝๅ๏ผ", valueSpecifiers[8]), | |
| "้ตไพฟ็ชๅท": new MapEntry(4, "้ตไพฟ็ชๅท", valueSpecifiers[10]), | |
| "้ตไพฟ็ชๅท๏ผ": new MapEntry(5, "้ตไพฟ็ชๅท๏ผ", valueSpecifiers[10]), | |
| "้ต้ๅ่": new MapEntry(4, "้ต้ๅ่", valueSpecifiers[10]), | |
| "้ฝ้ๅบ็": new MapEntry(4, "้ฝ้ๅบ็", valueSpecifiers[9]), | |
| "้ฝ้ๅบ็๏ผ": new MapEntry(5, "้ฝ้ๅบ็๏ผ", valueSpecifiers[9]), | |
| "้ปๅญใกใผใซ": new MapEntry(5, "้ปๅญใกใผใซ", valueSpecifiers[6]), | |
| "้ปๅญไฟก็ฎฑ": new MapEntry(4, "้ปๅญไฟก็ฎฑ", valueSpecifiers[6]), | |
| "้ปๅญ้ตไปถ": new MapEntry(4, "้ปๅญ้ตไปถ", valueSpecifiers[6]), | |
| "้ปๅญ้ตไปถไฝๅ": new MapEntry(6, "้ปๅญ้ตไปถไฝๅ", valueSpecifiers[6]), | |
| "้ปๅญ้ตไปถไฟก็ฎฑ": new MapEntry(6, "้ปๅญ้ตไปถไฟก็ฎฑ", valueSpecifiers[6]), | |
| "้ปๅญ้ตไปถๅฐๅ": new MapEntry(6, "้ปๅญ้ตไปถๅฐๅ", valueSpecifiers[6]), | |
| "้ปๅญ้ต็ฎฑ": new MapEntry(4, "้ปๅญ้ต็ฎฑ", valueSpecifiers[6]), | |
| "้ป่ฉฑ": new MapEntry(2, "้ป่ฉฑ", valueSpecifiers[12]), | |
| "้ป่ฉฑ(ใใฑใใใใซ)": new MapEntry(10, "้ป่ฉฑ(ใใฑใใใใซ)", valueSpecifiers[17]), | |
| "้ป่ฉฑ(ใใฑใใซ)": new MapEntry(8, "้ป่ฉฑ(ใใฑใใซ)", valueSpecifiers[17]), | |
| "้ป่ฉฑ(ไผ็คพ)": new MapEntry(6, "้ป่ฉฑ(ไผ็คพ)", valueSpecifiers[15]), | |
| "้ป่ฉฑ(ๅไบบ)": new MapEntry(6, "้ป่ฉฑ(ๅไบบ)", valueSpecifiers[14]), | |
| "้ป่ฉฑ(ๅคๅๅ )": new MapEntry(7, "้ป่ฉฑ(ๅคๅๅ )", valueSpecifiers[15]), | |
| "้ป่ฉฑ(ๅค้)": new MapEntry(6, "้ป่ฉฑ(ๅค้)", valueSpecifiers[14]), | |
| "้ป่ฉฑ(ๆฅไธญ)": new MapEntry(6, "้ป่ฉฑ(ๆฅไธญ)", valueSpecifiers[15]), | |
| "้ป่ฉฑ(ๆผ้)": new MapEntry(6, "้ป่ฉฑ(ๆผ้)", valueSpecifiers[15]), | |
| "้ป่ฉฑ(่ทๅ ด)": new MapEntry(6, "้ป่ฉฑ(่ทๅ ด)", valueSpecifiers[15]), | |
| "้ป่ฉฑ(่ชๅฎ )": new MapEntry(6, "้ป่ฉฑ(่ชๅฎ )", valueSpecifiers[14]), | |
| "้ป่ฉฑ็ชๅท": new MapEntry(4, "้ป่ฉฑ็ชๅท", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท(FAX)": new MapEntry(9, "้ป่ฉฑ็ชๅท(FAX)", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท(ใใกใฏใทใใช)": new MapEntry(12, "้ป่ฉฑ็ชๅท(ใใกใฏใทใใช)", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท(ใใกใฏใน)": new MapEntry(10, "้ป่ฉฑ็ชๅท(ใใกใฏใน)", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท(ใใกใใฏใน)": new MapEntry(11, "้ป่ฉฑ็ชๅท(ใใกใใฏใน)", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท(ใใฑใใใใซ)": new MapEntry(12, "้ป่ฉฑ็ชๅท(ใใฑใใใใซ)", valueSpecifiers[17]), | |
| "้ป่ฉฑ็ชๅท(ใใฑใใซ)": new MapEntry(10, "้ป่ฉฑ็ชๅท(ใใฑใใซ)", valueSpecifiers[17]), | |
| "้ป่ฉฑ็ชๅท(ไผ็คพ)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ไผ็คพ)", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท(ๅไบบ)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ๅไบบ)", valueSpecifiers[14]), | |
| "้ป่ฉฑ็ชๅท(ๅคๅๅ )": new MapEntry(9, "้ป่ฉฑ็ชๅท(ๅคๅๅ )", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท(ๅบๅฎ)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ๅบๅฎ)", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท(ๅค้)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ๅค้)", valueSpecifiers[14]), | |
| "้ป่ฉฑ็ชๅท(ๆบๅธฏ)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ๆบๅธฏ)", valueSpecifiers[16]), | |
| "้ป่ฉฑ็ชๅท(ๆฅไธญ)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ๆฅไธญ)", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท(ๆผ้)": new MapEntry(8, "้ป่ฉฑ็ชๅท(ๆผ้)", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท(่ทๅ ด)": new MapEntry(8, "้ป่ฉฑ็ชๅท(่ทๅ ด)", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท(่ชๅฎ )": new MapEntry(8, "้ป่ฉฑ็ชๅท(่ชๅฎ )", valueSpecifiers[14]), | |
| "้ป่ฉฑ็ชๅทโป": new MapEntry(5, "้ป่ฉฑ็ชๅทโป", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท๏ผFAX๏ผ": new MapEntry(9, "้ป่ฉฑ็ชๅท๏ผFAX๏ผ", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท๏ผใใกใฏใทใใช๏ผ": new MapEntry(12, "้ป่ฉฑ็ชๅท๏ผใใกใฏใทใใช๏ผ", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท๏ผใใกใฏใน๏ผ": new MapEntry(10, "้ป่ฉฑ็ชๅท๏ผใใกใฏใน๏ผ", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท๏ผใใกใใฏใน๏ผ": new MapEntry(11, "้ป่ฉฑ็ชๅท๏ผใใกใใฏใน๏ผ", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท๏ผใใฑใใใใซ๏ผ": new MapEntry(12, "้ป่ฉฑ็ชๅท๏ผใใฑใใใใซ๏ผ", valueSpecifiers[17]), | |
| "้ป่ฉฑ็ชๅท๏ผใใฑใใซ๏ผ": new MapEntry(10, "้ป่ฉฑ็ชๅท๏ผใใฑใใซ๏ผ", valueSpecifiers[17]), | |
| "้ป่ฉฑ็ชๅท๏ผไผ็คพ๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผไผ็คพ๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท๏ผๅไบบ๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผๅไบบ๏ผ", valueSpecifiers[14]), | |
| "้ป่ฉฑ็ชๅท๏ผๅคๅๅ ๏ผ": new MapEntry(9, "้ป่ฉฑ็ชๅท๏ผๅคๅๅ ๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท๏ผๅบๅฎ๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผๅบๅฎ๏ผ", valueSpecifiers[12]), | |
| "้ป่ฉฑ็ชๅท๏ผๅค้๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผๅค้๏ผ", valueSpecifiers[14]), | |
| "้ป่ฉฑ็ชๅท๏ผๆบๅธฏ๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผๆบๅธฏ๏ผ", valueSpecifiers[16]), | |
| "้ป่ฉฑ็ชๅท๏ผๆฅไธญ๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผๆฅไธญ๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท๏ผๆผ้๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผๆผ้๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท๏ผ่ทๅ ด๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผ่ทๅ ด๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ็ชๅท๏ผ่ชๅฎ ๏ผ": new MapEntry(8, "้ป่ฉฑ็ชๅท๏ผ่ชๅฎ ๏ผ", valueSpecifiers[14]), | |
| "้ป่ฉฑ่็ขผ": new MapEntry(4, "้ป่ฉฑ่็ขผ", valueSpecifiers[12]), | |
| "้ป่ฉฑ๏ผใใฑใใใใซ๏ผ": new MapEntry(10, "้ป่ฉฑ๏ผใใฑใใใใซ๏ผ", valueSpecifiers[17]), | |
| "้ป่ฉฑ๏ผใใฑใใซ๏ผ": new MapEntry(8, "้ป่ฉฑ๏ผใใฑใใซ๏ผ", valueSpecifiers[17]), | |
| "้ป่ฉฑ๏ผไผ็คพ๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผไผ็คพ๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ๏ผๅไบบ๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผๅไบบ๏ผ", valueSpecifiers[14]), | |
| "้ป่ฉฑ๏ผๅคๅๅ ๏ผ": new MapEntry(7, "้ป่ฉฑ๏ผๅคๅๅ ๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ๏ผๅค้๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผๅค้๏ผ", valueSpecifiers[14]), | |
| "้ป่ฉฑ๏ผๆฅไธญ๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผๆฅไธญ๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ๏ผๆผ้๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผๆผ้๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ๏ผ่ทๅ ด๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผ่ทๅ ด๏ผ", valueSpecifiers[15]), | |
| "้ป่ฉฑ๏ผ่ชๅฎ ๏ผ": new MapEntry(6, "้ป่ฉฑ๏ผ่ชๅฎ ๏ผ", valueSpecifiers[14]), | |
| "้ป้ต": new MapEntry(2, "้ป้ต", valueSpecifiers[6]), | |
| "้ ญ้": new MapEntry(2, "้ ญ้", valueSpecifiers[5]), | |
| "้ช ่ฏ ็ ": new MapEntry(5, "้ช ่ฏ ็ ", valueSpecifiers[18]), | |
| "้ช่ฏ็ ": new MapEntry(3, "้ช่ฏ็ ", valueSpecifiers[18]), | |
| "๊ฐ์ด๋ฐ ์ด๋ฆ": new MapEntry(6, "๊ฐ์ด๋ฐ ์ด๋ฆ", valueSpecifiers[2]), | |
| "๊ฐ์ด๋ฐ ์ด๋ฆ ์ฒซ์": new MapEntry(9, "๊ฐ์ด๋ฐ ์ด๋ฆ ์ฒซ์", valueSpecifiers[2]), | |
| "๊ฐ์ด๋ฐ์ด๋ฆ": new MapEntry(5, "๊ฐ์ด๋ฐ์ด๋ฆ", valueSpecifiers[2]), | |
| "๊ฐ์ด๋ฐ์ด๋ฆ ์ฒซ์": new MapEntry(8, "๊ฐ์ด๋ฐ์ด๋ฆ ์ฒซ์", valueSpecifiers[2]), | |
| "๊ตญ๊ฐ": new MapEntry(2, "๊ตญ๊ฐ", valueSpecifiers[11]), | |
| "๋๋ผ": new MapEntry(2, "๋๋ผ", valueSpecifiers[11]), | |
| "๋ฎ์๊ฐ ์ฐ๋ฝ์ฒ": new MapEntry(7, "๋ฎ์๊ฐ ์ฐ๋ฝ์ฒ", valueSpecifiers[15]), | |
| "๋ฎ์๊ฐ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ": new MapEntry(13, "๋ฎ์๊ฐ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ", valueSpecifiers[15]), | |
| "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ": new MapEntry(6, "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ", valueSpecifiers[15]), | |
| "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ": new MapEntry(11, "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ์ง์ญ๋ฒํธ": new MapEntry(10, "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "๋": new MapEntry(1, "๋", valueSpecifiers[9]), | |
| "๋์": new MapEntry(2, "๋์", valueSpecifiers[8]), | |
| "์ฌ์ํจ": new MapEntry(3, "์ฌ์ํจ", valueSpecifiers[10]), | |
| "์์ธ ์ฃผ์": new MapEntry(5, "์์ธ ์ฃผ์", valueSpecifiers[7]), | |
| "์์ธ์ฃผ์": new MapEntry(4, "์์ธ์ฃผ์", valueSpecifiers[7]), | |
| "์๋ ์์ผ": new MapEntry(4, "์๋ ์์ผ", valueSpecifiers[4]), | |
| "์์ผ": new MapEntry(2, "์์ผ", valueSpecifiers[4]), | |
| "์ฑ": new MapEntry(1, "์ฑ", valueSpecifiers[3]), | |
| "์ฑ ์ด๋ฆ": new MapEntry(4, "์ฑ ์ด๋ฆ", valueSpecifiers[0]), | |
| "์ฑ, ์ด๋ฆ": new MapEntry(5, "์ฑ, ์ด๋ฆ", valueSpecifiers[0]), | |
| "์ฑ์ด๋ฆ": new MapEntry(3, "์ฑ์ด๋ฆ", valueSpecifiers[0]), | |
| "์์": new MapEntry(2, "์์", valueSpecifiers[13]), | |
| "์": new MapEntry(1, "์", valueSpecifiers[8]), | |
| "์ ๋ฌด์ฉ ์ ํ": new MapEntry(6, "์ ๋ฌด์ฉ ์ ํ", valueSpecifiers[15]), | |
| "์ ๋ฌด์ฉ ์ง์ญ ๋ฒํธ": new MapEntry(9, "์ ๋ฌด์ฉ ์ง์ญ ๋ฒํธ", valueSpecifiers[15]), | |
| "์ ๋ฌด์ฉ ์ง์ญ๋ฒํธ": new MapEntry(8, "์ ๋ฌด์ฉ ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "์ ๋ฌด์ฉ์ ํ": new MapEntry(5, "์ ๋ฌด์ฉ์ ํ", valueSpecifiers[15]), | |
| "์ ๋ฌด์ฉ์ง์ญ๋ฒํธ": new MapEntry(7, "์ ๋ฌด์ฉ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "์ฐ๋ฝ ๋ฒํธ": new MapEntry(5, "์ฐ๋ฝ ๋ฒํธ", valueSpecifiers[12]), | |
| "์ฐํธ": new MapEntry(2, "์ฐํธ", valueSpecifiers[10]), | |
| "์ฐํธ ๋ฒํธ": new MapEntry(5, "์ฐํธ ๋ฒํธ", valueSpecifiers[10]), | |
| "์ฐํธ๋ฒํธ": new MapEntry(4, "์ฐํธ๋ฒํธ", valueSpecifiers[10]), | |
| "์ด๋ฆ": new MapEntry(2, "์ด๋ฆ", valueSpecifiers[1]), | |
| "์ด๋ฉ์ผ": new MapEntry(3, "์ด๋ฉ์ผ", valueSpecifiers[6]), | |
| "์ด๋ฉ์ผ ์ฃผ์": new MapEntry(6, "์ด๋ฉ์ผ ์ฃผ์", valueSpecifiers[6]), | |
| "์ด๋ฉ์ผ์ฃผ์": new MapEntry(5, "์ด๋ฉ์ผ์ฃผ์", valueSpecifiers[6]), | |
| "์ ๋ ์๊ฐ ์ฐ๋ฝ์ฒ": new MapEntry(9, "์ ๋ ์๊ฐ ์ฐ๋ฝ์ฒ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ": new MapEntry(6, "์ ๋ ์ฐ๋ฝ์ฒ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ": new MapEntry(12, "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ": new MapEntry(11, "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ", valueSpecifiers[14]), | |
| "์ ๋ ์๊ฐ ์ฐ๋ฝ์ฒ": new MapEntry(8, "์ ๋ ์๊ฐ ์ฐ๋ฝ์ฒ", valueSpecifiers[14]), | |
| "์ ๋ ์๊ฐ์ฐ๋ฝ์ฒ": new MapEntry(7, "์ ๋ ์๊ฐ์ฐ๋ฝ์ฒ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ": new MapEntry(5, "์ ๋ ์ฐ๋ฝ์ฒ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ": new MapEntry(11, "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ": new MapEntry(10, "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ", valueSpecifiers[14]), | |
| "์ ๋ ์ฐ๋ฝ์ฒ์ง์ญ๋ฒํธ": new MapEntry(9, "์ ๋ ์ฐ๋ฝ์ฒ์ง์ญ๋ฒํธ", valueSpecifiers[14]), | |
| "์ ์ฒด ์ด๋ฆ": new MapEntry(5, "์ ์ฒด ์ด๋ฆ", valueSpecifiers[0]), | |
| "์ ํ": new MapEntry(2, "์ ํ", valueSpecifiers[12]), | |
| "์ ํ ๋ฒํธ": new MapEntry(5, "์ ํ ๋ฒํธ", valueSpecifiers[12]), | |
| "์ ํ๋ฒํธ": new MapEntry(4, "์ ํ๋ฒํธ", valueSpecifiers[12]), | |
| "์กฐ์ง": new MapEntry(2, "์กฐ์ง", valueSpecifiers[13]), | |
| "์ฃผ": new MapEntry(1, "์ฃผ", valueSpecifiers[9]), | |
| "์ฃผ์": new MapEntry(2, "์ฃผ์", valueSpecifiers[7]), | |
| "์ฃผ์ 1": new MapEntry(4, "์ฃผ์ 1", valueSpecifiers[7]), | |
| "์ฃผ์1": new MapEntry(3, "์ฃผ์1", valueSpecifiers[7]), | |
| "์ค๊ฐ ์ด๋ฆ": new MapEntry(5, "์ค๊ฐ ์ด๋ฆ", valueSpecifiers[2]), | |
| "์ค๊ฐ ์ด๋ฆ ์ฒซ์": new MapEntry(8, "์ค๊ฐ ์ด๋ฆ ์ฒซ์", valueSpecifiers[2]), | |
| "์ค๊ฐ์ด๋ฆ": new MapEntry(4, "์ค๊ฐ์ด๋ฆ", valueSpecifiers[2]), | |
| "์ค๊ฐ์ด๋ฆ ์ฒซ์": new MapEntry(7, "์ค๊ฐ์ด๋ฆ ์ฒซ์", valueSpecifiers[2]), | |
| "์ง์ญ ๋ฒํธ": new MapEntry(5, "์ง์ญ ๋ฒํธ", valueSpecifiers[12]), | |
| "์ง์ญ๋ฒํธ": new MapEntry(4, "์ง์ญ๋ฒํธ", valueSpecifiers[12]), | |
| "์ง์": new MapEntry(2, "์ง์", valueSpecifiers[5]), | |
| "์ง์ฅ ์ ํ": new MapEntry(5, "์ง์ฅ ์ ํ", valueSpecifiers[15]), | |
| "์ง์ฅ ์ง์ญ ๋ฒํธ": new MapEntry(8, "์ง์ฅ ์ง์ญ ๋ฒํธ", valueSpecifiers[15]), | |
| "์ง์ฅ์ ํ": new MapEntry(4, "์ง์ฅ์ ํ", valueSpecifiers[15]), | |
| "์ง์ฅ์ง์ญ๋ฒํธ": new MapEntry(6, "์ง์ฅ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "์ง์ฑ ": new MapEntry(2, "์ง์ฑ ", valueSpecifiers[5]), | |
| "์งํจ": new MapEntry(2, "์งํจ", valueSpecifiers[5]), | |
| "์ง ์ ํ": new MapEntry(4, "์ง ์ ํ", valueSpecifiers[14]), | |
| "์ง ์ง์ญ ๋ฒํธ": new MapEntry(7, "์ง ์ง์ญ ๋ฒํธ", valueSpecifiers[14]), | |
| "์ง ์ง์ญ๋ฒํธ": new MapEntry(6, "์ง ์ง์ญ๋ฒํธ", valueSpecifiers[14]), | |
| "์ง์ ํ": new MapEntry(3, "์ง์ ํ", valueSpecifiers[14]), | |
| "์ง์ง์ญ๋ฒํธ": new MapEntry(5, "์ง์ง์ญ๋ฒํธ", valueSpecifiers[14]), | |
| "์ง์ฅ ์ง์ญ๋ฒํธ": new MapEntry(7, "์ง์ฅ ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "์ถ์์ผ": new MapEntry(3, "์ถ์์ผ", valueSpecifiers[4]), | |
| "ํ์ด๋ ๋ ": new MapEntry(5, "ํ์ด๋ ๋ ", valueSpecifiers[4]), | |
| "ํ์ด๋ ๋ ์ง": new MapEntry(6, "ํ์ด๋ ๋ ์ง", valueSpecifiers[4]), | |
| "ํฉ์ค": new MapEntry(2, "ํฉ์ค", valueSpecifiers[12]), | |
| "ํธ์ถ ๋ฒํธ": new MapEntry(5, "ํธ์ถ ๋ฒํธ", valueSpecifiers[17]), | |
| "ํธ์ถ๊ธฐ": new MapEntry(3, "ํธ์ถ๊ธฐ", valueSpecifiers[17]), | |
| "ํธ์ถ๊ธฐ ๋ฒํธ": new MapEntry(6, "ํธ์ถ๊ธฐ ๋ฒํธ", valueSpecifiers[17]), | |
| "ํธ์ถ๊ธฐ ์ง์ญ ๋ฒํธ": new MapEntry(9, "ํธ์ถ๊ธฐ ์ง์ญ ๋ฒํธ", valueSpecifiers[17]), | |
| "ํธ์ถ๊ธฐ ์ง์ญ๋ฒํธ": new MapEntry(8, "ํธ์ถ๊ธฐ ์ง์ญ๋ฒํธ", valueSpecifiers[17]), | |
| "ํธ์ถ๊ธฐ์ง์ญ๋ฒํธ": new MapEntry(7, "ํธ์ถ๊ธฐ์ง์ญ๋ฒํธ", valueSpecifiers[17]), | |
| "ํ์ฌ": new MapEntry(2, "ํ์ฌ", valueSpecifiers[13]), | |
| "ํ์ฌ ์ ํ": new MapEntry(5, "ํ์ฌ ์ ํ", valueSpecifiers[15]), | |
| "ํ์ฌ ์ง์ญ ๋ฒํธ": new MapEntry(8, "ํ์ฌ ์ง์ญ ๋ฒํธ", valueSpecifiers[15]), | |
| "ํ์ฌ ์ง์ญ๋ฒํธ": new MapEntry(7, "ํ์ฌ ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "ํ์ฌ์ ํ": new MapEntry(4, "ํ์ฌ์ ํ", valueSpecifiers[15]), | |
| "ํ์ฌ์ง์ญ๋ฒํธ": new MapEntry(6, "ํ์ฌ์ง์ญ๋ฒํธ", valueSpecifiers[15]), | |
| "ํด๋ ์ ํ": new MapEntry(5, "ํด๋ ์ ํ", valueSpecifiers[16]), | |
| "ํด๋ ์ ํ ์ง์ญ ๋ฒํธ": new MapEntry(11, "ํด๋ ์ ํ ์ง์ญ ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋ ์ ํ ์ง์ญ๋ฒํธ": new MapEntry(10, "ํด๋ ์ ํ ์ง์ญ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋์ ํ": new MapEntry(4, "ํด๋์ ํ", valueSpecifiers[16]), | |
| "ํด๋์ ํ ์ง์ญ ๋ฒํธ": new MapEntry(10, "ํด๋์ ํ ์ง์ญ ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋์ ํ ์ง์ญ๋ฒํธ": new MapEntry(9, "ํด๋์ ํ ์ง์ญ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋์ ํ์ง์ญ๋ฒํธ": new MapEntry(8, "ํด๋์ ํ์ง์ญ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋ํฐ": new MapEntry(3, "ํด๋ํฐ", valueSpecifiers[16]), | |
| "ํด๋ํฐ ์ง์ญ ๋ฒํธ": new MapEntry(9, "ํด๋ํฐ ์ง์ญ ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋ํฐ ์ง์ญ๋ฒํธ": new MapEntry(8, "ํด๋ํฐ ์ง์ญ๋ฒํธ", valueSpecifiers[16]), | |
| "ํด๋ํฐ์ง์ญ๋ฒํธ": new MapEntry(7, "ํด๋ํฐ์ง์ญ๋ฒํธ", valueSpecifiers[16]) | |
| }, | |
| addressBookFieldLabelPatternMatchers = [new PatternMatcherClass(["ๅงๅ", "็ๅฎๅงๅ", "ๅ จๅ", "ะฟะพะฒะฝะตัะผ'ั", "ะฟะพะฒะฝะตัะผโั", "ะฟะพะฒะฝะต ัะผ'ั", "ะฟะพะฒะฝะต ัะผโั", "tam adฤฑ", "tam isim", "tam ad", "เธเธทเนเธญเนเธฅเธฐเธเธฒเธกเธชเธธเธเธฅ", "เธเธทเนเธญเนเธเนเธก", "fullstรคndigt namn", "hela namnet", "nombre completo", "celรฉ meno", "ะค.ะ.ะ.", "ะคะะ", "ะฟะพะปะฝะพะตะธะผั", "ะฟะพะปะฝะพะต ะธะผั", "nume complet", "nume รฎntreg", "fullt navn", "fulltnavn", "์ฑ์ด๋ฆ", "์ฑ, ์ด๋ฆ", "์ฑ ์ด๋ฆ", "์ ์ฒด ์ด๋ฆ", "ใใซใใผใ ", "ๆฐๅ", "ๅๅ", "ใๅๅ", "nome completo", "nome e cognome", "puno ime", "ืฉื ืืื", "Voller Name", "Vollstรคndiger Name", "nom entier", "tรคydellinen nimi", "koko nimi", "ฮฟฮฝฮฟฮผฮฑฯฮตฯฯฮฝฯ ฮผฮฟ", "fuldt navn", "fulde navn", "nom complet", "ุงูุงุณู ุงููุงู ู", "first and last name", "first and last", "full name", "fullname", "ัะผโั", "ัะผ'ั", "birinci ad", "birinci adฤฑ", "ad", "เธเธทเนเธญเธซเธเนเธฒ", "เธเธทเนเธญเนเธฃเธ", "เธเธทเนเธญเธเธฃเธดเธ", "เธเธทเนเธญเธเธฑเธง", "เธเธทเนเธญเธเนเธ", "เธเธทเนเธญ", "dopnamn", "fnamn", "fรถrnamn", "fรถrn.", "nombre", "krst. meno", "krst meno", "krstnรฉ meno", "krstnรฉ", "ะะผั", "pnume", "nume botez", "pre nume", "prenume", "nome de baptismo", "primeironome", "pnome", "primeiro nome", "primeiro", "pierwsze imiฤ", "imiฤ", "dรธpenavn", "for-", "์ด๋ฆ", "ๅ๏ผๅ จ่ง8ๆๅญไปฅๅ ๏ผ", "nome", "ืฉื ืคืจืื", "ืคืจืื", "Vorname", "prรฉnom usuel", "petit nom", "nom de baptรชme", "prรฉnom", "kutsumanimi", "etun.", "etu", "etunimi", "ฯฮฝฮฟฮผฮฑ", "voornaam", "dรธbenavn", "f-navn", "fnavn", "fornavn", "ุงูุงุณู ุงูุฃูู", "ุงูุฃูู", "forename", "given name", "firstname", "f name", "namef", "fname", "first name", "first", "ไธญ้ๅ", "ไธญ้ดๅ", "ะฟะพะฑะฐััะบะพะฒั", "ะฟะพ ะฑะฐััะบะพะฒั", "gรถbek adฤฑ", "ikinci adฤฑ", "ikinci isim", "ikinci ad", "เธเธฅเธฒเธ", "เธเธทเนเธญเธเธฅเธฒเธเธฃเธฐเธซเธงเนเธฒเธ", "เธเธทเนเธญเธเธฅเธฒเธ", "เธเธทเนเธญเธเธฅเธฒเธเธขเนเธญ", "เธเธฑเธงเธขเนเธญเธเธทเนเธญเธเธฅเธฒเธ", "mellan", "andranamn", "mellannamn", "mellan initial", "mellaninitial", "segundo nombre", "strednรฉ", "strednรฉ meno", "iniciรกla strednรฉho", "iniciรกla strednรฉho mena", "ะััะตััะฒะพ", "secundar", "alt prenume", "prenume secundar", "meio", "nomedomeio", "nome do meio", "inicialdomeio", "inicial do meio", "2ยบ nome", "inicial do 2ยบ nome", "inicjaล drugiego imienia", "drugie imiฤ", "drugie", "mellom-", "m-navn", "mellomnavn", "initial, mellomnavn", "forbokstav, mellomnavn", "๊ฐ์ด๋ฐ์ด๋ฆ ์ฒซ์", "๊ฐ์ด๋ฐ ์ด๋ฆ ์ฒซ์", "์ค๊ฐ์ด๋ฆ ์ฒซ์", "์ค๊ฐ ์ด๋ฆ ์ฒซ์", "๊ฐ์ด๋ฐ์ด๋ฆ", "๊ฐ์ด๋ฐ ์ด๋ฆ", "์ค๊ฐ์ด๋ฆ", "์ค๊ฐ ์ด๋ฆ", "ใใใซใใผใ ", "secondo nome", "iniziale secondo nome", "iniziale", "drugo ime", "ืฉื ืืืฆืขื", "ืืืฆืขื", "Initialen", "Mittelname", "nom matronymique", "matronyme", "second prรฉnom", "initiale autre prรฉnom", "autre prรฉnom", "initiale deuxiรจme prรฉnom", "initiale second prรฉnom", "deuxiรจme prรฉnom", "toinen nimi", "toinen etunimi", "ฮผฮตฯฮฑฮฏฮฟ ฯฮฝฮฟฮผฮฑ", "initiaal tweede naam", "mellem", "mellem navn", "initial, mellemnavn", "forbogstav, mellemnavn", "segon nom", "ุงูุงุณู ุงูุฃูุณุท", "ุงูุญุฑู ุงูุฃูู ู ู ุงูุงุณู ุงูุฃูุณุท", "middle", "middlename", "middle name", "middleinitial", "middle initial", "ๅงๆฐ", "ะฟััะทะฒะธัะต", "soyismi", "soyisim", "soyadฤฑ", "soyad", "เธเธทเนเธญเธชเธเธธเธฅเธเนเธฒเธข", "เธเธทเนเธญเธเนเธฒเธข", "เธเธทเนเธญเธชเธเธธเธฅ", "เธชเธเธธเธฅ", "เธเธฒเธกเธชเธเธธเธฅ", "เธเนเธฒเธข", "enamn", "familjenamn", "efternamn", "eftern.", "apellidos", "apellido", "ะคะฐะผะธะปะธั", "familie", "nume familie", "apelido", "รบltimonome", "รบnome", "รบltimo nome", "รบltimo", "sobrenome", "nazwisko", "e-navn", "etternavn", "etter-", "์ฑ", "ๆฐ", "ๅง", "cognome", "prezime", "ืฉื ืืฉืคืื", "ืืฉืคืื", "Familienname", "Nachname", "nom patronymique", "nom patronyme", "patronyme", "nom", "nom de famille", "sukun.", "suku", "sukunimi", "ฮตฯฯฮฝฯ ฮผฮฟ", "achternaam", "familienavn", "enavn", "Efternavn", "efter", "cognoms", "cognom", "ุงุณู ุงูุนุงุฆูุฉ", "surname", "lastname", "l name", "namel", "lname", "last name", "last", "ๅบ็ๅนดๆๆฅ", "ๅบ็", "ๅบ็ๆฅๆ", "็ๆฅ", "ะฝะฐัะพะดะธะฒัั", "ะดะฐัะฐ ะฝะฐัะพะดะถะตะฝะฝั", "ะดะตะฝั ะฝะฐัะพะดะถะตะฝะฝั", "doฤum tarihi", "doฤum", "doฤum gรผnรผ", "doฤumgรผnรผ", "เนเธเธดเธ", "เธงเธฑเธเธเธตเนเนเธเธดเธ", "เธงเธฑเธเนเธเธดเธ", "fรถdd", "fรถdelsedatum", "fรถdelsedag", "cumpleaรฑos", "nacimiento", "fecha de nacimiento", "narodenรฝ/รก", "dรกtum narodenia", "narodeniny", "ัะพะดะธะปะฐัั", "ัะพะดะธะปัั", "ะดะฐัะฐัะพะถะดะตะฝะธั", "ะดะตะฝััะพะถะดะตะฝะธั", "ะดะฐัะฐ ัะพะถะดะตะฝะธั", "ะดะตะฝั ัะพะถะดะตะฝะธั", "nascut", "data naศterii", "zi naศtere", "zi de naศtere", "nascido", "nascido(a)", "data de nascimento", "aniversรกrio", "urodzona", "urodzony", "data urodzenia", "urodziny", "bursdag", "ํ์ด๋ ๋ ์ง", "ํ์ด๋ ๋ ", "์ถ์์ผ", "์๋ ์์ผ", "์์ผ", "ใ่ช็ๆฅ", "็ๅนดๆๆฅ", "่ช็ๆฅ", "nato/a", "data di nascita", "compleanno", "datum roฤenja", "roฤendan", "ืืื ืืืืืช", "ืชืืจืื ืืืื", "Geburtsdatum", "Geburtstag", "anniversaire", "nรฉ(e) le", "naissance", "date de naissance", "syntynyt", "syntymรคpรคivรค", "ฮณฮญฮฝฮฝฮทฯฮท", "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ ฮณฮญฮฝฮฝฮทฯฮทฯ", "ฮณฮตฮฝฮญฮธฮปฮนฮฑ", "geboren", "geboortedatum", "verjaardag", "fรธdt", "fรธdselsdato", "fรธdselsdag", "aniversari", "naixenรงa", "data de naixenรงa", "ู ูููุฏ", "ุชุงุฑูุฎ ุงูู ููุงุฏ", "born", "date of birth", "birth year", "birth month", "birth day", "birthday", "birth date", "้ ญ้", "่ท้", "ๅทฅไฝ่ท้", "ๅทฅไฝ่ท็จฑ", "่ทๅๅ็จฑ", "่ทๅ", "่ทไฝๅ็จฑ", "่ทไฝ", "่ท็จฑๅ็จฑ", "่ท็จฑ", "ๅทฅไฝ่ไฝ", "่ๅก", "่ไฝ", "ะฟะพัะฐะดะฐ", "meslek", "mesleฤi", "iล รผnvanฤฑ", "รผnvanฤฑ", "รผnvan", "เธเธทเนเธญเธเธณเนเธซเธเนเธ", "เธเธณเนเธซเธเนเธ", "yrke", "befattning", "titel", "jobbtitel", "trabajo", "puesto de trabajo", "pozรญcia", "pracovnรก pozรญcia", "ะะพะปะถะฝะพััั", "ัะพะดะดะตััะตะปัะฝะพััะธ", "ะ ะพะด ะดะตััะตะปัะฝะพััะธ", "ะฒะธะดะดะตััะตะปัะฝะพััะธ", "ะะธะด ะดะตััะตะปัะฝะพััะธ", "ะัะพัะตััะธั", "funcศie", "cargoprofissional", "cargo profissional", "cargo", "stanowisko", "์งํจ", "์ง์ฑ ", "์ง์", "่ทๆฅญ", "่ท็จฎ", "ๅฝน่ท", "ruolo professionale", "qualifica", "profesija", "posao", "titula", "ืชืคืงืื", "Tรคtigkeit", "Berufsbezeichnung", "Beruf", "poste", "profession", "activitรฉ", "ammattinimike", "ammatti", "ฮตฯฮณฮฑฯฮฏฮฑ", "ฮธฮญฯฮท ฮตฯฮณฮฑฯฮฏฮฑฯ", "werk", "functie", "stilling", "feina", "lloc de treball", "cร rrec", "ุงูู ุณู ู ุงููุธููู", "company title", "jobtitle", "job title", "้ป้ต", "้ปๅญ้ต็ฎฑ", "้ปๅญไฟก็ฎฑ", "้ปๅญ้ตไปถไฟก็ฎฑ", "้ปๅญ้ตไปถๅฐๅ", "้ปๅญ้ตไปถไฝๅ", "้ปๅญ้ตไปถ", "็ตๅญ้ฎไปถๅฐๅ", "็ตๅญ้ฎไปถ", "ะตะป. ะฐะดัะตัะฐ", "ะตะป.ะฐะดัะตัะฐ", "ะตะปะตะบััะพะฝะฝะฐะฐะดัะตัะฐ", "ะตะปะตะบััะพะฝะฝะฐ ะฐะดัะตัะฐ", "ะตะป. ะฟะพััะฐ", "ะตะป.ะฟะพััะฐ", "ะตะปะตะบััะพะฝะฝะฐะฟะพััะฐ", "ะตะปะตะบััะพะฝะฝะฐ ะฟะพััะฐ", "eposta adresi", "e-posta adresi", "e-posta", "eposta", "เธญเธต-เนเธกเธฅ", "เธเธตเนเธญเธขเธนเนเธญเธตเนเธกเธฅ", "เธญเธตเนเธกเธฅเธเธตเนเธญเธขเธนเน", "เธญเธตเนเธกเธฅ", "mejladress", "mejl", "emejl", "epostadress", "e-postadress", "correo electrรณnico", "emailAdr", "emailAdresa", "ะะดัะตั email", "ะะดัะตั e-mail", "ะญะปะตะบััะพะฝะฝัะน ะฐะดัะตั", "ะะดัะตั ัะปะตะบััะพะฝะฝะพะน ะฟะพััั", "adresฤemail", "mail", "epost", "e-mail์ฃผ์", "e-mail ์ฃผ์", "email์ฃผ์", "email ์ฃผ์", "์ด๋ฉ์ผ์ฃผ์", "์ด๋ฉ์ผ ์ฃผ์", "์ด๋ฉ์ผ", "ใกใซใขใ", "ใกใขใ", "Eใกใผใซใขใใฌใน", "้ปๅญใกใผใซ", "Email ใขใใฌใน", "Emailใขใใฌใน", "ใกใผใซใขใใฌใน", "ใกใผใซ", "ind. posta elettronica", "posta elettronica", "indirizzo di posta elettronica", "indirizzo e-mail", "ind. e-mail", "e-poลกta", "adresa e-poลกte", "e-mail adresa", "ืืืื", "ืืืืดื", "E-Mail-Adresse", "E-Mail Adresse", "adel", "mรฉl.", "cรฉ", "c. รฉlec.", "adresse Internet", "adrรฉlec", "adresse e-mail", "adresse courriel", "adresse de courrier รฉlectronique", "adresse de courriel", "courrier รฉlectronique", "adresse รฉlectronique", "adresse de messagerie", "messagerie รฉlectronique", "courriel", "sรคhkรถpostiosoite", "s-posti", "sรคhkรถposti", "e-postadresse", "e-postadr", "e-post", "correu electrรฒnic", "ุงูุจุฑูุฏ ุงูุฅููุชุฑููู", "e-mail", "emailAddress", "emailAddr", "email", "่ฏฆ็ปๅฐๅ", "ๅฐๅ", "่พๅ ฅ่ก้ๅฐๅ่ก", "่ก้ๅฐๅ", "่ก้", "ะฐะดัะตัะฐ1", "ะฐะดัะตัะฐ 1", "ััะดะพะบ ะฐะดัะตัะธ", "ะฟัะพัะฟะตะบั", "ะฟัะพะฒัะปะพะบ", "ะฒัะป.", "ะฒัะปะธัั", "cad.", "cadde adresi", "cadde", "เธเธตเนเธญเธขเธนเน 1", "เธเธตเนเธญเธขเธนเนเนเธฃเธ", "เธเนเธญเธเธเธฃเธฃเธเธฑเธเธเธตเนเธญเธขเธนเน", "เธเธทเนเธญเธเธเธ", "เธเธเธเธเธตเนเธญเธขเธนเน", "เธเธตเนเธญเธขเธนเนเธเธเธ", "เธเธเธ", "adress 1", "adress1", "adr.", "gatuadr.", "vรคg", "gatuadress", "gata", "direcciรณn1", "direcciรณn 1", "calle", "adresa ul.", "adresa ulice", "ะฃะป.", "ะฃะปะธัะฐ", "adresฤ stradalฤ", "adresฤ1", "adresฤ 1", "strada", "endereรงo da rua", "endereรงo 1", "endereรงo1", "rua", "angiAdresseAdresselinje", "veiadresse", "vei", "gateadresse", "gate", "์ฃผ์ 1", "์ฃผ์1", "์์ธ ์ฃผ์", "์์ธ์ฃผ์", "็ชๅฐ๏ผ", "ไฝๆๅ ฅๅๆฌ", "ไฝๆ๏ผ17ๆๅญไปฅๅ ๏ผ", "ใใไปฅ้ใฎไฝๆ", "็ชๅฐ", "indirizzo 1", "indirizzo1", "linea indirizzo", "indirizzo postale", "via", "adresa 1", "adresa1", "kuฤna adresa", "ulica", "ืจืืื", "Str.", "Strasse", "Straรe", "adresse civique", "adresse municipale", "adresse gรฉographique", "adresse postale 1", "1รจre adresse", "adresse postale", "rue", "osoite 1", "k.", "katu", "katuosoite", "ฮดฮนฮตฯฮธฯ ฮฝฯฮท (ฮณฯฮฑฮผฮผฮฎ 1)", "ฮฟฮดฯฯ", "adres 1", "adres1", "straat", "adresse 1", "adresse1", "angivAdresseAdresselinje", "vejadresse", "vej", "gadeadresse", "gade", "adreรงa1", "adreรงa 1", "carrer", "ุงูุนููุงู ูก", "ุฃุฏุฎู ุนููุงู ุณุทุฑ ุงูุนููุงู", "ุนููุงู ุงูุดุงุฑุน", "ุงูุดุงุฑุน", "address 1", "address1", "house name", "enterAddressAddressLine", "addrstreet", "streetaddress", "street address", "street", "็ธฃโๅธ", "็ธฃ๏ผๅธ๏ผ", "็ธฃๅธ", "ๅๅธ", "ะผัััะพ", "il", "ลehir", "เนเธกเธทเธญเธ", "hemstad", "bostadsort", "ort", "kommun", "stad", "ciudad", "mesto", "ะณ.", "ะะฐัะตะปะตะฝะฝัะน ะฟัะฝะบั", "ะะพัะพะด", "oraศ", "cidade", "sted", "poststed", "๋์", "์", "้กๅธๅบ(ๅณถใปๅฝๅ)", "ๅทใพใใฏ้ก/ๅธๅบ็บๆ", "้กๅธๅบ๏ผๅณถใปๅฝๅ๏ผ", "ๅทใพใใฏ้ก๏ผๅธๅบ็บๆ", "ๅธๅบ็บๆ๏ผ", "ๅธๅบ็บๆ๏ผ11ๆๅญไปฅๅ ๏ผ", "ๅธๅบ้ก็บๆ", "ๅธๅบ็บๆ", "cittร ", "grad", "ืืืฉืื", "ืขืืจ", "Stadt", "ville", "postitoimipaikka", "paikkakunta", "kaupunki", "ฯฯฮปฮท", "plaats", "ciutat", "ุงูู ุฏููุฉ", "city", "็", "ๅท/็", "ะพะฑะป.", "ะพะฑะปะฐััั", "eyalet", "เธฃเธฑเธ", "lรคn", "provins", "provincia", "ลกtรกt", "ะัะฐะน", "ะ ะตะณะธะพะฝ", "ะ ะตัะฟัะฑะปะธะบะฐ", "judeศ", "stat", "regiรฃo", "estado", "๋", "์ฃผ", "ๅท", "้ฝ้ๅบ็๏ผ", "้ฝ้ๅบ็", "stato", "drลพava", "ืืืื ื", "ืืืื", "Bundesstaat", "Bundesland", "province", "rรฉgion", "รฉtat", "osavaltio", "lรครคni", "ฮฝฮฟฮผฯฯ", "ฯฮฟฮปฮนฯฮตฮฏฮฑ", "staat", "delstat", "provรญncia", "estat", "ุงูููุงูุฉ", "state", "้ต้ๅ่", "้ฎ็ผ", "้ฎๆฟ็ผ็ ", "ะฟะพััะพะฒะธะน ะบะพะด", "ะฟะพััะพะฒะธะน ัะฝะดะตะบั", "ัะฝะดะตะบั", "zipkod", "zip kod", "zip kodu", "posta kodu", "เธฃเธซเธฑเธชเธชเนเธเธเธเธซเธกเธฒเธข", "เธฃเธซเธฑเธชเธเธเธซเธกเธฒเธข", "เธฃเธซเธฑเธชเนเธเธฃเธฉเธเธตเธขเน", "เนเธเธฃเธฉเธเธตเธขเน", "เธฃเธซเธฑเธช", "smerovacie ฤรญslo", "poลกtovรฉ smerovacie ฤรญslo", "PSฤ", "ะะฝะดะตะบั", "ะะพััะพะฒัะน ะธะฝะดะตะบั", "codpoศtal", "cod poศtal", "cรณdigopostal", "cp", "cรณdigo postal", "postnummer", "์ฌ์ํจ", "์ฐํธ", "์ฐํธ๋ฒํธ", "์ฐํธ ๋ฒํธ", "ใ", "้ตไพฟ็ชๅท๏ผ", "้ตไพฟ็ชๅท", "codice postale", "codice avviamento postale", "codice di avviamento postale", "CAP", "poลกtanski br.", "poลกtanski broj", "ืืืงืื", "Postleitzahl", "PLZ", "code postal amรฉricain", "code ZIP", "NPA", "numรฉro postal d'acheminement", "numรฉro postal", "code postal", "postinro", "postinumero", "ฮค.ฮ.", "ฯฮฑฯฯ ฮดฯฮฟฮผฮนฮบฯฯ ฮบฯฮดฮนฮบฯฯ", "postnr.", "codi postal", "ุงูุฑู ุฒ ุงูุจุฑูุฏู", "post code", "postcode", "postal code", "postalcode", "postal", "zip code", "zipcode", "zip", "ๅๅฎถๆๅฐๅ", "ๅๅฎถโๅฐๅ", "ๅๅฎถ", "ๅฐๅบ", "ๅฝๅฎถ", "ๅฝๅฎถ/ๅฐๅบ", "ะบัะฐัะฝะฐ", "รผlke", "เธเธฃเธฐเนเธเธจ", "krajina", "ะกััะฐะฝะฐ", "ศarฤ", "๋๋ผ", "๊ตญ๊ฐ", "ๅฝ๏ผๅฐๅๅ๏ผ", "ๅฝ๏ผๅฐๅๅ", "ๅฝ/ๅฐๅๅ๏ผ", "ๅฝ/ๅฐๅๅ", "ๅฝใๅฐๅ", "ๅฝ", "paese", "zemlja", "pays", "maa", "ฯฯฯฮฑ", "land", "paรญs", "ุงูุจูุฏ", "country", "ๆไธ้ป่ฉฑ", "ๆ้้ป่ฉฑ", "ๅค้้ป่ฉฑ", "ไฝๅฎ ้ป่ฉฑ", "ๅฎถ่ฃก้ป่ฉฑ", "ๅฎถ็จ้ป่ฉฑ", "ไฝๅฎถ้ป่ฉฑ", "ๅคๆ็ต่ฏๅบๅท", "ๅฎถๅบญ็ต่ฏๅบๅท", "ๅค้ด็ต่ฏ", "ๅฎถๅบญ็ต่ฏ", "ะบะพะด ะฒะตัััะฝัะพะณะพ ัะตะปะตัะพะฝั", "ะบะพะด ะดะพะผ.", "ะบะพะดะดะพะผ.ัะตะป.", "ะบะพะด ะดะพะผ. ัะตะป.", "ะบะพะด ะดะพะผ.ัะตะปะตัะพะฝั", "ะบะพะด ะดะพะผ. ัะตะปะตัะพะฝั", "ะบะพะด ะดะพะผะฐัะฝัะพะณะพ ัะตะปะตัะพะฝั", "ะฒะตัััะฝัะน ัะตะปะตัะพะฝ", "ะดะพะผ.", "ะดะพะผ.ัะตะป.", "ะดะพะผ. ัะตะป.", "ะดะพะผ.ัะตะปะตัะพะฝ", "ะดะพะผ. ัะตะปะตัะพะฝ", "ะดะพะผะฐัะฝัะน ัะตะปะตัะพะฝ", "akลam alan kodu", "ev alan kodu", "akลam telefonu", "telefon (ev)", "ev telefonu", "เธฃเธซเธฑเธชเนเธเธญเธฃเนเธเนเธฒเธ", "เธฃเธซเธฑเธชเนเธเธญเธฃเนเธชเนเธงเธเธเธฑเธง", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธชเนเธงเธเธเธฑเธง", "เธฃเธซเธฑเธชเธเนเธฒเธ", "เธเนเธฒเธเธฃเธซเธฑเธชเธเธทเนเธเธเธตเน", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเนเธฒเธ", "เนเธเธญเธฃเนเธชเนเธงเธเธเธฑเธง", "เนเธเธญเธฃเนเธเธดเธเธเนเธญ", "เนเธเธฃเธจเธฑเธเธเนเธเนเธฒเธ", "เนเธเธญเธฃเนเธเนเธฒเธ", "riktnummer kvรคllstid", "riktnummer hem", "telefon kvรคllstid", "kvรคllsnummer", "telefon hem", "hemtelefon", "telรฉfono noche", "telรฉfono casa", "telรฉfono de casa", "domรกca predvoฤพba", "telefรณnna predvoฤพba domov", "predvoฤพba domov", "veฤernรฝ telefรณn", "ฤรญslo domov", "telefรณn domov", "domรกci telefรณn", "ะะพะด ะดะพะผะฐัะฝะตะณะพ ัะตะปะตัะพะฝะฝะพะณะพ ะฝะพะผะตัะฐ", "ะะพะผะฐัะฝะธะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", "ะะพะผะฐัะฝะธะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ", "ะะพะผะฐัะฝะธะน ะฝะพะผะตั", "ะะตัะตัะพะผ", "ะ ะฒะตัะตัะฝะธะต ัะฐัั", "ะะพะผะฐัะฝะธะน", "ะดะพะผะฐัะฝะธะน ัะตะปะตัะพะฝ", "prefix telefon searฤ", "prefix telefon domiciliu", "prefix telefon acasฤ", "telefon searฤ", "telefon domiciliu", "telefon acasฤ", "cรณdigodeรกreanoite", "cรณdigodeรกrea noite", "cรณdigo de รกrea noite", "cรณdigodeรกreadecasa", "cรณdigodeรกrea de casa", "cรณdigo de รกrea de casa", "telefone ร noite", "telefonenoite", "telefone de casa", "telefonedecasa", "cรณdigo de รกrea (noturno)", "cรณdigo de รกrea (local)", "telefone (noturno)", "telefone (casa)", "kveldsretningsnummer", "retningsnummer, kveldstid", "retningsnummer, kveld", "retningsnummer, hjem", "telefon, kveldstid", "kveldstelefon", "telefon, hjem", "hjemmetelefon", "์ ๋ ์ฐ๋ฝ์ฒ์ง์ญ๋ฒํธ", "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ", "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ", "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ", "์ ๋ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ", "์ง์ง์ญ๋ฒํธ", "์ง ์ง์ญ๋ฒํธ", "์ง ์ง์ญ ๋ฒํธ", "์ ๋ ์๊ฐ ์ฐ๋ฝ์ฒ", "์ ๋ ์๊ฐ ์ฐ๋ฝ์ฒ", "์ ๋ ์๊ฐ์ฐ๋ฝ์ฒ", "์ ๋ ์ฐ๋ฝ์ฒ", "์ ๋ ์ฐ๋ฝ์ฒ", "์ง ์ ํ", "์ง์ ํ", "่ชๅฎ ้ป่ฉฑ๏ผ", "่ชๅฎ ้ป่ฉฑ", "้ป่ฉฑ๏ผๅไบบ๏ผ", "้ป่ฉฑ๏ผๅค้๏ผ", "้ป่ฉฑ๏ผ่ชๅฎ ๏ผ", "้ป่ฉฑ(ๅไบบ)", "้ป่ฉฑ(ๅค้)", "้ป่ฉฑ(่ชๅฎ )", "้ป่ฉฑ็ชๅท๏ผๅไบบ๏ผ", "้ป่ฉฑ็ชๅท๏ผๅค้๏ผ", "้ป่ฉฑ็ชๅท๏ผ่ชๅฎ ๏ผ", "้ป่ฉฑ็ชๅท(ๅไบบ)", "้ป่ฉฑ็ชๅท(ๅค้)", "้ป่ฉฑ็ชๅท(่ชๅฎ )", "ๅไบบ้ป่ฉฑ็ชๅท", "ๅค้้ป่ฉฑ็ชๅท", "่ชๅฎ ้ป่ฉฑ็ชๅท", "่ชๅฎ ", "prefisso telefono abitazione", "prefisso telefono di casa", "prefisso ore serali", "prefisso tel. privato", "prefisso telefono casa", "telefono ore serali", "telefono abitazione", "telefono privato", "numero di telefono casa", "telefono casa", "veฤernji telefon", "kuฤni telefon", "ืืืช", "ืืืคืื ืืืช", "Rufnummer abends", "Rufnummer (privat)", "Rufnummer privat", "Telefon abends", "Telefon (privat)", "Telefon privat", "numรฉro de tรฉlรฉphone domicile", "tรฉlรฉphone (soirรฉe)", "tรฉlรฉphone de domicile", "tรฉlรฉphone de rรฉsidence", "tรฉlรฉphone (le soir)", "tรฉlรฉphone domicile", "tรฉlรฉphone maison", "tรฉlรฉphone privรฉ", "tรฉlรฉphone rรฉsidentiel", "suuntanumero iltaisin", "suuntanumero koti", "kodin suuntanumero", "iltaisin", "kotipuh.", "kotinro", "koti", "kotinumero", "kotipuhelin", "ฯฮทฮปฮญฯฯฮฝฮฟ ฮตฮบฯฯฯ ฯฯฯฮฝ ฮตฯฮณฮฑฯฮฏฮฑฯ", "ฯฮทฮปฮญฯฯฮฝฮฟ ฮฟฮนฮบฮฏฮฑฯ", "netnummer 's avonds", "netnummer thuis", "netnummer privรฉ", "telefoonnnummer thuis", "telefoon 's avonds", "telefoonnummer privรฉ", "telefoon privรฉ", "telefoon thuis", "omrรฅdenummer, aften", "omrรฅdenummer, privat", "telefon, aften", "privat", "hjemnummer", "telรจfono nit", "telรจfono casa", "telรจfon de casa", "ููุฏ ุงูู ูุทูุฉ ูููุงุชู ูู ุงูู ุณุงุก", "ููุฏ ุงูู ูุทูุฉ ุงูุณูููุฉ", "ุงููุงุชู ูู ุงูู ุณุงุก ", "ุงููุงุชู ูู ุงูู ุณุงุก", "ูุงุชู ุงูู ูุฒู", "eveningareacode", "evening areacode", "evening area code", "homeareacode", "home areacode", "home area code", "evening phone", "eveningphone", "home phone", "homephone", "็ฝๅคฉ้ป่ฉฑ", "ๆฅ้้ป่ฉฑ", "ๅ ฌๅ้ป่ฉฑ", "่พฆๅ ฌๅฎค้ป่ฉฑ", "ๅทฅไฝ้ป่ฉฑ", "ๅ็จ้ป่ฉฑ", "ๅ ฌๅธ้ป่ฉฑ", "ๅ ฌๅธ็ต่ฏๅบๅท", "็ฝๅคฉ็ต่ฏๅบๅท", "ๅทฅไฝ็ต่ฏๅบๅท", "ๅ ฌๅธ็ต่ฏ", "็ฝๅคฉ็ต่ฏ", "ๅทฅไฝ็ต่ฏ", "ะบะพะด ะดะตะฝะฝะพะณะพ ัะตะปะตัะพะฝั", "ะบะพะด ัะพะฑ.", "ะบะพะดัะพะฑ.ัะตะป.", "ะบะพะด ัะพะฑ. ัะตะป.", "ะบะพะด ัะพะฑ.ัะตะปะตัะพะฝั", "ะบะพะด ัะพะฑ. ัะตะปะตัะพะฝั", "ะบะพะด ัะพะฑะพัะพะณะพ ัะตะปะตัะพะฝั", "ะดะตะฝะฝะธะน ัะตะปะตัะพะฝ", "ัะพะฑ.", "ัะพะฑ.ัะตะป.", "ัะพะฑ. ัะตะป.", "ัะพะฑ.ัะตะปะตัะพะฝ", "ัะพะฑ. ัะตะปะตัะพะฝ", "ัะพะฑะพัะธะน ัะตะปะตัะพะฝ", "iล alan kodu", "gรผndรผz alan kodu", "gรผndรผz telefonu", "telefon (iล)", "ลirket telefonu", "iล telefonu", "เธเธธเธฃเธเธดเธเธฃเธซเธฑเธชเธเธทเนเธเธเธตเน", "เธฃเธซเธฑเธชเธเธธเธฃเธเธดเธ", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธธเธฃเธเธดเธ", "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธชเธเธฃเธดเธฉเธฑเธ", "เธฃเธซเธฑเธชเธเธฃเธดเธฉเธฑเธ", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธฃเธดเธฉเธฑเธ", "เธเธตเนเธตเธฃเธซเธฑเธชเธเธณเธเธฒเธ", "เธเธตเนเธเธณเธเธฒเธเธฃเธซเธฑเธช", "เธฃเธซเธฑเธชเธเธณเธเธฒเธ", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธฒเธ", "เธฃเธซเธฑเธชเธเธตเนเธเธณเธเธฒเธ", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธเธณเธเธฒเธ", "เนเธเธฃเธจเธฑเธเธเนเธเธธเธฃเธเธดเธ", "เนเธเธญเธฃเนเธเธธเธฃเธเธดเธ", "เนเธเธฃเธจเธฑเธเธเนเธเธฃเธดเธฉเธฑเธ", "เนเธเธญเธฃเนเธเธฃเธดเธฉเธฑเธ", "เนเธเธญเธฃเนเธเธตเนเธเธณเธเธฒเธ", "เนเธเธฃเธจเธฑเธเธเนเธเธดเธเธเนเธญเธเธฒเธ", "เนเธเธฃเธจเธฑเธเธเนเธเธฒเธ", "เนเธเธญเธฃเนเธเธฒเธ", "เนเธเธฃเธจเธฑเธเธเนเธเธตเนเธเธณเธเธฒเธ", "เนเธเธญเธฃเนเธเธณเธเธฒเธ", "riktnummer kontoret", "riktnummer fรถretaget", "riktnummer dagtid", "riktnummer arbetet", "telefon fรถretaget", "fรถretagstelefon", "telefon dagtid", "dagstelefon", "telefon kontoret", "kontorstelefon", "telefon arbetet", "arbetstelefon", "telรฉfono del trabajo", "telรฉfono trabajo", "telรฉfono dรญa", "predvoฤพba spoloฤnosti", "predvoฤพba firmy", "dennรก predvoฤพba", "pracovnรก predvoฤพba", "predvoฤพba do prรกce", "firemnรฉ ฤรญslo", "firemnรฝ telefรณn", "dennรฉ ฤรญslo", "dennรฝ telefรณn", "ฤรญslo do prรกce", "telefรณn do prรกce", "pracovnรฝ telefรณn", "ะะพะด ัะฐะฑะพัะตะณะพ ัะตะปะตัะพะฝะฝะพะณะพ ะฝะพะผะตัะฐ", "ะ ะฐะฑะพัะธะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", "ะ ะฐะฑะพัะธะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ", "ะะฝะตะผ", "ะ ะดะฝะตะฒะฝัะต ัะฐัั", "ะกะปัะถะตะฑะฝัะน", "ะกะปัะถะตะฑะฝัะน ัะตะปะตัะพะฝ", "ะ ะฐะฑ. ัะตะปะตัะพะฝ", "ะ ะฐะฑ.", "ะ ะฐะฑะพัะธะน", "ัะฐะฑะพัะธะน ัะตะปะตัะพะฝ", "prefix telefon zi", "prefix telefon companie", "prefix telefon lucru", "prefix telefon birou", "prefix telefon serviciu", "telefon zi", "telefon companie", "telefon lucru", "telefon birou", "telefon serviciu", "cรณdigodeรกreacomercial", "cรณdigodeรกrea comercial", "cรณdigo de รกrea comercial", "cรณdigodeรกreadaempresa", "cรณdigodeรกrea da empresa", "cรณdigo de รกrea da empresa", "cรณdigodeรกreadedia", "cรณdigodeรกrea de dia", "cรณdigo de รกrea de dia", "cรณdigodeรกreadotrabalho", "cรณdigodeรกrea do trabalho", "cรณdigo de รกrea do trabalho", "telefone comercial", "telefonecomercial", "telefone da empresa", "telefoneempresa", "telefone durante o dia", "telefone de dia", "telefonedia", "telefone do trabalho", "telefonetrabalho", "cรณdigo de รกrea (empresa)", "cรณdigo de รกrea (diurno)", "cรณdigo de รกrea (trabalho)", "telefone (empresa)", "telefone (diurno)", "telefone (trabalho)", "retningsnummer, selskap", "retningsnummer, bedrift", "firmaretningsnummer", "retningsnummer, firma", "dagretningsnummer", "retningsnummer, dag", "retningsnummer, dagtid", "jobbretningsnummer", "retningsnummer, arbeid", "retningsnummer, jobb", "arbeidstelefon", "jobbtelefon", "telefon, jobb", "telefon, arbeid", "์ ๋ฌด์ฉ์ง์ญ๋ฒํธ", "์ ๋ฌด์ฉ ์ง์ญ๋ฒํธ", "์ ๋ฌด์ฉ ์ง์ญ ๋ฒํธ", "ํ์ฌ์ง์ญ๋ฒํธ", "ํ์ฌ ์ง์ญ๋ฒํธ", "ํ์ฌ ์ง์ญ ๋ฒํธ", "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ์ง์ญ๋ฒํธ", "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ ์ง์ญ๋ฒํธ", "๋ฎ์๊ฐ ์ฐ๋ฝ์ฒ ์ง์ญ ๋ฒํธ", "์ง์ฅ์ง์ญ๋ฒํธ", "์ง์ฅ ์ง์ญ๋ฒํธ", "์ง์ฅ ์ง์ญ ๋ฒํธ", "์ ๋ฌด์ฉ ์ ํ", "์ ๋ฌด์ฉ์ ํ", "ํ์ฌ ์ ํ", "ํ์ฌ์ ํ", "๋ฎ์๊ฐ ์ฐ๋ฝ์ฒ", "๋ฎ์๊ฐ์ฐ๋ฝ์ฒ", "์ง์ฅ ์ ํ", "์ง์ฅ์ ํ", "ไผ็คพ้ป่ฉฑ๏ผ", "ไผ็คพ้ป่ฉฑ", "้ป่ฉฑ(ๆผ้)", "้ป่ฉฑ(ๆฅไธญ)", "้ป่ฉฑ(่ทๅ ด)", "้ป่ฉฑ(ๅคๅๅ )", "้ป่ฉฑ(ไผ็คพ)", "้ป่ฉฑ๏ผๆผ้๏ผ", "้ป่ฉฑ๏ผๆฅไธญ๏ผ", "้ป่ฉฑ๏ผ่ทๅ ด๏ผ", "้ป่ฉฑ๏ผๅคๅๅ ๏ผ", "้ป่ฉฑ๏ผไผ็คพ๏ผ", "้ป่ฉฑ็ชๅท(ๆผ้)", "้ป่ฉฑ็ชๅท(ๆฅไธญ)", "้ป่ฉฑ็ชๅท(่ทๅ ด)", "้ป่ฉฑ็ชๅท(ๅคๅๅ )", "้ป่ฉฑ็ชๅท(ไผ็คพ)", "้ป่ฉฑ็ชๅท๏ผๆผ้๏ผ", "้ป่ฉฑ็ชๅท๏ผๆฅไธญ๏ผ", "้ป่ฉฑ็ชๅท๏ผ่ทๅ ด๏ผ", "้ป่ฉฑ็ชๅท๏ผๅคๅๅ ๏ผ", "้ป่ฉฑ็ชๅท๏ผไผ็คพ๏ผ", "ๆผ้้ป่ฉฑ็ชๅท", "ๆฅไธญ้ป่ฉฑ็ชๅท", "่ทๅ ด้ป่ฉฑ็ชๅท", "ไผ็คพ้ป่ฉฑ็ชๅท", "ๅคๅๅ ้ป่ฉฑ็ชๅท", "prefisso numero lavoro", "prefisso telefono azienda", "prefisso telefono ufficio", "prefisso ufficio", "prefisso telefono lavoro", "prefisso lavoro", "numero di tel. ufficio", "telefono azienda", "telefono ore ufficio", "numero di telefono lavoro", "tel. ufficio", "telefono ufficio", "tel. lavoro", "telefono lavoro", "telefon tvrtke", "sluลพbeni telefon", "dnevni telefon", "poslovni telefon", "ืืฉืจื", "ืขืืืื", "ืืืคืื ืืขืืืื", "Rufnummer dienstlich", "Rufnummer tagsรผber", "Rufnummer (geschรคftlich)", "Rufnummer geschรคftlich", "Telefon dienstlich", "Telefon tagsรผber", "Telefon (geschรคftlich)", "Telefon geschรคftlich", "tรฉlรฉphone (sociรฉtรฉ)", "tรฉlรฉphone (entreprise)", "tรฉlรฉphone (jour)", "tรฉlรฉphone (journรฉe)", "tรฉlรฉphone de travail", "tรฉlรฉphone bureau", "tรฉlรฉphone professionnel", "suuntanumero yritys", "suuntanumero tyรถ", "tyรถnumeron suuntanumero", "tyรถpuhelimen suuntanumero", "yritysnumero", "yrityksen numero", "pรคivisin", "puhelin pรคivรคsaikaan", "tyรถnumero", "tyรถpuhelin", "ฯฮทฮปฮญฯฯฮฝฮฟ ฮบฮฑฯฮฌ ฯฮนฯ ฯฯฯฯฮฝฮญฯ ฯฯฮตฯ", "ฯฮทฮปฮญฯฯฮฝฮฟ ฮบฮฑฯฮฌ ฯฮนฯ ฯฯฮตฯ ฮตฯฮณฮฑฯฮฏฮฑฯ", "ฯฮทฮปฮญฯฯฮฝฮฟ ฮตฯฮณฮฑฯฮฏฮฑฯ", "netnummer zakelijk", "netnummer bedrijf", "netnummer overdag", "netnummer werk", "telefoonnummer zakelijk", "telefoon zakelijk", "telefoonnummer bedrijf", "telefoon bedrijf", "telefoonnummer overdag", "telefoon overdag", "telefoonnummer werk", "telefoon werk", "omrรฅdenummer, selskab", "omrรฅdenummer, firma", "omrรฅdenummer, dag", "omrรฅdenummer om dagen", "omrรฅdenummer, arbejde", "arbejdstelefon", "telefon, firma", "firmatelfon", "telefon, dagtid", "telefon, dag", "dagtelefon", "telefon, arbejde", "arbejdsnummer", "telรจfon de la feina", "telรจfon feina", "telรจfon dia", "ููุฏ ู ูุทูุฉ ุงูุนู ู", "ููุฏ ู ูุทูุฉ ุงูุดุฑูุฉ", "ููุฏ ู ูุทูุฉ ุงููุงุชู ูู ุงูุตุจุงุญ", "ููุฏ ู ูุทูุฉ ูุงุชู ุงูุนู ู", "ูุงุชู ุงูุดุฑูุฉ", "ุงููุงุชู ูู ุงูุตุจุงุญ", "ูุงุชู ุงูุนู ู", "businessareacode", "business areacode", "business area code", "companyareacode", "company areacode", "company area code", "dayareacode", "day areacode", "day area code", "workareacode", "work areacode", "work area code", "business phone", "businessphone", "company phone", "companyphone", "daytime telephone", "daytime phone", "day phone", "dayphone", "work phone", "workphone", "ๆๆ้ป่ฉฑ", "ๆๆ้ป่ฉฑ", "ๆๆฉ้ป่ฉฑ", "ๆๆฉ", "ๅคงๅฅๅคง้ป่ฉฑ", "ๅคงๅฅๅคง", "่กๅ้ป่ฉฑ", "่กๅ", "ๆๆบๅบๅท", "็งปๅจ็ต่ฏๅบๅท", "ๆๆบ", "็งปๅจ็ต่ฏ", "ะบะพะด ัะพัะพะฒะพะณะพ ัะตะปะตัะพะฝั", "ะบะพะด ะผะพะฑ.", "ะบะพะดะผะพะฑ.ัะตะป.", "ะบะพะด ะผะพะฑ. ัะตะป.", "ะบะพะด ะผะพะฑ.ัะตะปะตัะพะฝั", "ะบะพะด ะผะพะฑ. ัะตะปะตัะพะฝั", "ะบะพะด ะผะพะฑัะปัะฝะพะณะพ ัะตะปะตัะพะฝั", "ัะพัะพะฒะธะน ัะตะปะตัะพะฝ", "ะผะพะฑ.", "ะผะพะฑ.ัะตะป.", "ะผะพะฑ. ัะตะป.", "ะผะพะฑ.ัะตะปะตัะพะฝ", "ะผะพะฑ. ัะตะปะตัะพะฝ", "ะผะพะฑัะปัะฝะธะน ัะตะปะตัะพะฝ", "cep numarasฤฑ", "cep", "mobil telefon", "telefon (cep)", "cep telefonu", "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", "เธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธกเธทเธญเธเธทเธญ", "เธฃเธซเธฑเธชเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", "เนเธเธฃเธจเธฑเธเธเนเธชเนเธงเธเธเธฑเธง", "เนเธเธฃเธจเธฑเธเธเนเธกเธทเธญเธเธทเธญ", "เธกเธทเธญเธเธทเธญ", "riktnummer mobiltelefon", "riktnummer mobil", "mobiltel", "mรณvil", "telรฉfono mรณvil", "mobilnรก predvoฤพba", "predvoฤพba mobilnรฉho telefรณnu", "mobilnรฝ telefรณn", "ะะพะฑะธะปัะฝัะน ัะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", "ะะพะฑะธะปัะฝัะน ะฝะพะผะตั ัะตะปะตัะพะฝะฐ", "ะะพะผะตั ะพะฟะตัะฐัะพัะฐ ัะพัะพะฒะพะน ัะฒัะทะธ", "ะะพะผะตั ะพะฟะตัะฐัะพัะฐ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ", "ะะพะด ะพะฟะตัะฐัะพัะฐ ัะพัะพะฒะพะน ัะฒัะทะธ", "ะะพะด ะพะฟะตัะฐัะพัะฐ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ", "ะขะตะปะตัะพะฝ ัะพัะพะฒะพะน ัะฒัะทะธ", "ะขะตะปะตัะพะฝ ะผะพะฑะธะปัะฝะพะน ัะฒัะทะธ", "ะกะพัะพะฒัะน", "ะกะพัะพะฒัะน ัะตะปะตัะพะฝ", "ะะพะฑะธะปัะฝัะน", "ะผะพะฑะธะปัะฝัะน ัะตะปะตัะพะฝ", "prefix mobil", "celular", "telefon celular", "telefon mobil", "cรณdigodeรกreadocelular", "cรณdigodeรกrea do celular", "cรณdigo de รกrea do celular", "cรณdigodeรกreadotelemรณvel", "cรณdigodeรกrea do telemรณvel", "cรณdigo de รกrea do telemรณvel", "telefone celular", "telefonecelular", "telemรณvel", "cรณdigo de รกrea (celular)", "telefone (celular)", "mobilretningsnummer", "retningsnummer, mobil", "retningsnummer, mobiltelefon", "mobil", "ํด๋ํฐ์ง์ญ๋ฒํธ", "ํด๋ํฐ ์ง์ญ๋ฒํธ", "ํด๋ํฐ ์ง์ญ ๋ฒํธ", "ํด๋์ ํ์ง์ญ๋ฒํธ", "ํด๋ ์ ํ ์ง์ญ ๋ฒํธ", "ํด๋ ์ ํ ์ง์ญ๋ฒํธ", "ํด๋์ ํ ์ง์ญ ๋ฒํธ", "ํด๋์ ํ ์ง์ญ๋ฒํธ", "ํด๋ํฐ", "ํด๋ ์ ํ", "ํด๋์ ํ", "ใฑใผใฟใค็ชๅท", "ใฑใผใฟใค้ป่ฉฑ็ชๅท", "ใฑใผใฟใค้ป่ฉฑ", "ใฑใผใฟใค", "ๆบๅธฏ็ชๅท", "้ป่ฉฑ็ชๅท(ๆบๅธฏ)", "้ป่ฉฑ็ชๅท๏ผๆบๅธฏ๏ผ", "ๆบๅธฏ้ป่ฉฑ็ชๅท", "ๆบๅธฏ้ป่ฉฑ", "ๆบๅธฏ", "prefisso cell.", "telefono cell.", "prefisso telefono cellulare", "prefisso cellulare", "cellulare", "telefono cellulare", "mobitel", "mobilni telefon", "ืกืืืืจื", "ื ืืื", "Vorwahl (Netzbetreiber)", "Vorwahl Netzbetreiber", "Netzbetreiber-Vorwahl", "Vorwahl (Mobilfunk)", "Vorwahl Mobilfunk", "Mobilfunk-Vorwahl", "Mobiltelefon-Vorwahl", "Vorwahl (Mobil)", "Vorwahl (Mobiltelefon)", "Vorwahl Mobil", "Vorwahl Mobiltelefon", "Handy", "numรฉro de mobile", "tรฉlรฉphone cellulaire portable", "tรฉlรฉphone cellulaire portatif", "cell.", "tรฉl. cell.", "cellulaire", "tรฉlรฉphone mobile", "tรฉlรฉphone cellulaire", "tรฉlรฉphone portable", "operaattoritunnus", "matkapuhelimen operaattoritunnus", "mobiili", "matkap.", "matkapuhelin", "ฮบฮนฮฝฮทฯฯ", "ฮบฮนฮฝฮทฯฯ ฯฮทฮปฮญฯฯฮฝฮฟ", "netnummer GSM", "netnummer mobiele telefoon", "netnummer mobiel", "GSM", "mobiele telefoon", "mobiel", "omrรฅdenummer, mobil", "telefon, mobil", "mobiltelefon", "mรฒbil", "telรจfon mรฒbil", "ููุฏ ู ูุทูุฉ ุงููุงุชู ุงูุฎููู", "ููุฏ ู ูุทูุฉ ุงููุงุชู ุงูู ุญู ูู", "ุงููุงุชู ุงูุฎููู", "ุงููุงุชู ุงูู ุญู ูู", "cellareacode", "cell areacode", "cell area code", "mobileareacode", "mobile areacode", "mobile area code", "cell phone", "cellphone", "mobile phone", "mobilephone", "ๅผๅซๅจ่็ขผ", "ๅณๅผๆฉ่็ขผ", "ๅผๅซๅจ", "ๅณๅผๆฉ", "ไผ ๅผๆบๅบๅท", "ไผ ๅผๆบ", "ะบะพะดะฟะตะนะดะถะตัะฐ", "ะบะพะด ะฟะตะนะดะถะตัะฐ", "ะฟะตะนะดะถะตั", "รงaฤrฤฑ cihazฤฑ numarasฤฑ", "รงaฤrฤฑ cihazฤฑ", "เธฃเธซเธฑเธชเนเธเธเนเธเธญเธฃเน", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเนเธเธเนเธเธญเธฃเน", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเนเธงเธดเธเธขเธธเธเธดเธเธเธฒเธกเธเธฑเธง", "เธงเธดเธเธขเธธเธเธดเธเธเธฒเธกเธเธฑเธง", "riktnummer personsรถk", "riktnummer personsรถkare", "personsรถk", "personsรถkare", "buscapersonas", "busca", "predvoฤพba pagera", "ะะพะผะตั ะฟะตะนะดะถะตัะฐ", "prefix pager", "numฤr pager", "telefon pager", "cรณdigodeรกreadopager", "cรณdigodeรกrea do pager", "cรณdigo de รกrea do pager", "telefone pager", "telefonepager", "cรณdigo de รกrea (pager)", "telefone (pager)", "retningsnr., personsรธker", "retningsnummer, personsรธker", "personsรธkernr.", "personsรธkernummer", "ํธ์ถ๊ธฐ์ง์ญ๋ฒํธ", "ํธ์ถ๊ธฐ ์ง์ญ๋ฒํธ", "ํธ์ถ๊ธฐ ์ง์ญ ๋ฒํธ", "ํธ์ถ ๋ฒํธ", "ํธ์ถ๊ธฐ ๋ฒํธ", "ํธ์ถ๊ธฐ", "ใใฑใใซ้ป่ฉฑ็ชๅท", "ใใฑใใซ็ชๅท", "ใใฑใใซ", "้ป่ฉฑ(ใใฑใใซ)", "้ป่ฉฑ(ใใฑใใใใซ)", "้ป่ฉฑ๏ผใใฑใใซ๏ผ", "้ป่ฉฑ๏ผใใฑใใใใซ๏ผ", "้ป่ฉฑ็ชๅท(ใใฑใใซ)", "้ป่ฉฑ็ชๅท(ใใฑใใใใซ)", "้ป่ฉฑ็ชๅท๏ผใใฑใใซ๏ผ", "้ป่ฉฑ็ชๅท๏ผใใฑใใใใซ๏ผ", "ใใฑใใใใซ้ป่ฉฑ็ชๅท", "ใใฑใใใใซ็ชๅท", "ใใฑใใใใซ", "pref. cercapersone", "prefisso cercapers.", "prefisso cercapersone", "cercapers.", "cercapersone", "dojavnik", "pager", "ืืืืื ืืช", "Pager-Vorwahl", "Vorwahl (Pager)", "Vorwahl Pager", "numรฉro de tรฉlรฉavertisseur", "NDT", "bipeur", "pageur", "bellboy", "pagette", "tรฉlรฉav.", "sรฉmaphone", "messageur", "radiomessageur", "rรฉcepteur de radiomessagerie", "tรฉlรฉavertisseur", "hakulaitenro", "hakulaitteen numero", "hakulaite", "ฮฒฮฟฮผฮฒฮทฯฮฎฯ", "netnummer semafoon", "semafoon", "omrรฅdenummer til personsรธger", "omrรฅdenummer, personsรธger", "personsรธger nr.", "personsรธger", "cercapersones", "ููุฏ ู ูุทูุฉ ุฌูุงุฒ ุงููุฏุงุก", "ูุงุชู ูุฏุงุก", "pagerareacode", "pager areacode", "pager area code", "pager phone", "pagerphone", "ๅ็ขผ", "ๅๅ็ขผ", "ๅๅ่็ขผ", "ๅบๅท", "ะบะพะดัะตะณัะพะฝั", "ะบะพะดะพะฑะปะฐััั", "ะบะพะด ัะตะณัะพะฝั", "ะบะพะด ะพะฑะปะฐััั", "alan kodu", "เธเธทเนเธเธเธตเนเธฃเธซเธฑเธช", "เธฃเธซเธฑเธชเธเธทเนเธเธเธตเน", "riktnr", "riktnummer", "prefijo", "telefรณnna predvoฤพba", "predvoฤพba", "ะะพะด ะฝะฐัะตะปะตะฝะฝะพะณะพ ะฟัะฝะบัะฐ", "ะะพะด ะบัะฐั", "ะะพะด ัะตัะฟัะฑะปะธะบะธ", "ะะพะด ะพะฑะปะฐััะธ", "ะะพะด ะณะพัะพะดะฐ", "prefix zonal", "cรณdigodeรกrea", "cรณdigo de รกrea", "retningsnr.", "retningsnummer", "์ง์ญ๋ฒํธ", "์ง์ญ ๋ฒํธ", "ใจใชใขใณใผใ", "ๅธๅคๅฑ็ช", "prefisso locale", "prefisso", "pozivni broj", "ืงืืืืืช", "Vorwahlnummer", "Vorwahl", "ind. rรฉg.", "ir", "indicatif", "code rรฉgional", "indicatif tรฉlรฉphonique", "indicatif de zone", "indicatif rรฉgional", "suuntanro", "suuntanumero", "ฮบฯฮดฮนฮบฯฯ ฯฮตฯฮนฮฟฯฮฎฯ", "netnummer", "omdrรฅdenr.", "omrรฅdenummer", "prefix", "ููุฏ ุงูู ูุทูุฉ", "areacode", "area code", "ๅณ็่็ขผ", "ๅณ็", "ไผ ็", "ัะฐะบั", "faks numarasฤฑ", "เนเธเธฃเธชเธฒเธฃ", "ะขะตะปะตัะฐะบั", "ะะพะผะตั ัะฐะบัะฐ", "ํฉ์ค", "้ป่ฉฑ็ชๅท(FAX)", "้ป่ฉฑ็ชๅท(ใใกใฏใทใใช)", "้ป่ฉฑ็ชๅท(ใใกใใฏใน)", "้ป่ฉฑ็ชๅท(ใใกใฏใน)", "้ป่ฉฑ็ชๅท๏ผFAX๏ผ", "้ป่ฉฑ็ชๅท๏ผใใกใฏใทใใช๏ผ", "้ป่ฉฑ็ชๅท๏ผใใกใใฏใน๏ผ", "้ป่ฉฑ็ชๅท๏ผใใกใฏใน๏ผ", "FAX็ชๅท", "ใใกใฏใทใใช็ชๅท", "ใใกใใฏใน็ชๅท", "ใใกใฏใน็ชๅท", "ใใกใฏใทใใช", "ใใกใใฏใน", "ใใกใฏใน", "faks", "ืคืงืก", "Telefax", "tรฉlรฉcopieur", "tรฉlรฉc.", "tรฉlรฉcopie", "faksi", "ฯฮฑฮพ", "ุงููุงูุณ", "fax", "ๆฉ้", "ๆฉๆง", "็ต็นโๆฉๆง", "ๅไฝๅ็งฐ", "ๅไฝ", "ๅ ฌๅธๅ็จฑ", "ๅ ฌๅธ", "็ป็ป", "ๆบๆ", "ๆบๆ/็ป็ป", "ัััะฐะฝะพะฒะฐ", "ะพัะณะฐะฝัะทะฐััั", "ะบะพะผะฟะฐะฝัั", "organizasyon", "ลirket", "kuruluล", "kurum", "เธเธฃเธดเธฉเธฑเธ", "เธญเธเธเนเธเธฃ", "kontor", "bolag", "fรถretag", "organizaciรณn", "firmenname", "firma", "spoloฤnosลฅ", "organizรกcia", "ะคะธัะผะฐ", "ะะพะผะฟะฐะฝะธั", "ะัะณะฐะฝะธะทะฐัะธั", "ะัะตะดะฟัะธััะธะต", "organizaศie", "companie", "organizaรงรฃo", "selskap", "organisasjon", "์์", "ํ์ฌ", "์กฐ์ง", "ๆๅฑ็ต็นๅ", "ๆๅฑ็ต็น", "ๅคๅๅ ไผ็คพๅ", "ๅคๅๅ ไผ็คพ", "ๅคๅๅ ", "็ต็นๅ", "ไผ็คพๅ", "่ทๅ ด", "็ต็น", "ไผ็คพ", "ๆๅฑ", "azienda", "societร ", "organizzazione", "tvrtka", "organizacija", "ืืืจื", "ืืจืืื", "corporation", "compagnie", "sociรฉtรฉ", "entreprise", "organisme", "yritys", "organisaatio", "ฮตฯฮฑฮนฯฮตฮฏฮฑ", "ฮฟฯฮณฮฑฮฝฮนฯฮผฯฯ", "bedrijf", "organisatie", "selskak", "organisation", "companyia", "organitzaciรณ", "empresa", "ุงูุดุฑูุฉ", "ุงูู ุคุณุณุฉ", "business", "company", "organization", "้ช ่ฏ ็ ", "้ช่ฏ็ ", "verification code", "่บซไปฝ่ฏ", "nick", "aim", "icq", "jabber", "msn", "qq", "skype", "ไธชไบบ็ฝ้กต", "ไธชไบบ็ฝ็ซ", "ไธชไบบไธป้กต", "homepage"]), new PatternMatcherClass(["้ป่ฉฑ่็ขผ", "้ฃ็ตก้ป่ฉฑ", "่ฏ็ตก้ป่ฉฑ", "็ต่ฏๅท็ ", "็ต่ฏ", "ัะตะป", "ัะตะป.", "ัะตะปะตัะพะฝ", "telefon no", "telefon numarasฤฑ", "เธซเธกเธฒเธขเนเธฅเธเนเธเธฃเธฏ", "เธซเธกเธฒเธขเนเธฅเธเนเธเธฃเธจเธฑเธเธเน", "เนเธเธญเธฃเนเนเธเธฃเธจเธฑเธเธเน", "เนเธเธฃเธจเธฑเธเธเน", "nummer", "nรบmero de telรฉfono", "telรฉfono", "tel. ฤรญslo", "telefรณnne ฤรญslo", "telefรณn", "ะขะตะปะตัะพะฝะฝัะน ะฝะพะผะตั", "ะะพะผะตั ัะตะปะตัะพะฝะฐ", "numฤr de telefon", "numฤr telefon", "nรบmero de telefone", "telefone", "์ฐ๋ฝ ๋ฒํธ", "์ ํ ๋ฒํธ", "์ ํ๋ฒํธ", "์ ํ", "tel", "้ป่ฉฑ็ชๅท(ๅบๅฎ)", "้ป่ฉฑ็ชๅท๏ผๅบๅฎ๏ผ", "ๅบๅฎ้ป่ฉฑ็ชๅท", "ๅบๅฎ้ป่ฉฑ", "้ป่ฉฑ็ชๅทโป", "้ป่ฉฑ็ชๅท", "้ป่ฉฑ", "numero di telefono", "tel.", "numero telefono", "telefono", "telefonski broj", "broj telefona", "ืืืคืื", "Fon", "numรฉro de tรฉl.", "tรฉl.", "numรฉro de tรฉlรฉphone", "tรฉlรฉphone", "puh.num.", "puhelinnro", "puhelinnumero", "puhelin", "ฮฑฯฮนฮธฮผฯฯ ฯฮทฮปฮตฯฯฮฝฮฟฯ ", "ฯฮทฮปฮญฯฯฮฝฮฟ", "telefon", "telefonnr.", "telefonnummer", "tlf.", "nรบmero de telรจfon", "telรจfon", "ุงูุชููููู", "ุฑูู ุงููุงุชู", "ุงููุงุชู", "exchange", "telephone", "phone number", "phonenumber", "phone"]), new PatternMatcherClass(["่็ณปไบบ", "็ๅฏฆๅงๅ", "ๅ็จฑ", "adฤฑ", "isim", "namn", "meno", "nume", "imiฤ i nazwisko", "ๅๅญ", "ime", "ืฉื", "nimi", "naam", "navn", "ุงูุงุณู ", "name"]), new PatternMatcherClass(["้่จๅฐๅ", "่ฏ็ตกๅฐๅ", "้ฃ็ตกๅฐๅ", "ไฝๅ", "ะฐะดัะตัะฐ", "adresi", "เธเธตเนเธญเธขเธนเน", "adress", "direcciรณn", "ะะดัะตั", "adresฤ", "endereรงo", "์ฃผ์", "ใขใใฌใน", "ใไฝๆ", "ไฝๆ", "indirizzo", "adresa", "ืืชืืืช", "addresse", "osoite", "ฮดฮนฮตฯฮธฯ ฮฝฯฮท", "adres", "adresse", "adreรงa", "ุงูุนููุงู", "address"])], | |
| FormMetadataJSControllerObject = function() { | |
| this.mapOfKeywordsIndicatingLoginFormTypeToScoreForMatching = { | |
| login: 1, | |
| "log in": 1, | |
| log_on: 1, | |
| signin: 1, | |
| "sign in": 1, | |
| signon: 1, | |
| "sign on": 1, | |
| "็ปๅฝ": 1, | |
| "็ปๅ ฅ": 1, | |
| "welcome back": 1, | |
| anmelden: 1, | |
| absenden: 1, | |
| reauth: 2, | |
| "forgot user": 1, | |
| "@me": 1, | |
| "enter your password": 2 | |
| }, this.mapOfKeywordsIndicatingNewAccountFormTypeToScoreForMatching = { | |
| reg: 1, | |
| enrollment: 1, | |
| setup: 1, | |
| "set up": 1, | |
| signup: 1, | |
| "sign up": 1, | |
| create: 1, | |
| "ๆณจๅ": 1, | |
| activate: 1 | |
| }, this.mapOfKeywordsIndicatingChangePasswordFormTypeToScoreForMatching = { | |
| change: 1, | |
| forgotpassword: 1, | |
| "forgot-password": 1, | |
| update: 1, | |
| reset: 1, | |
| "ๅ่จญๅฎ": 1 | |
| }, this.keywordsIndicatingNonAutoFillableFormType = ["import"], this.regularExpressionsForForgotPasswordAffordance = ["^forgot.*password"], this.regularExpressionsForForgotUserNameAffordance = ["^forgot.*user.*name"], this.regularExpressionsForForgotEmailAffordance = ["^forgot.*email", "email?$"], this.shouldShowAdditionalUI = !0, this.nonUsernameFieldLabelPatternMatchers = function nonUsernameFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["login code", "otpcode", "password", "captcha", "recaptcha", "sound", "answer", "confirmation code", "verification code", "zip code", "stock symbol", "chart", "table", "certificate", "cash card number"])] | |
| }(), this.nonEmailFieldLabelPatternMatchers = function nonEmailFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["็ขบ่ชใณใผใ"])] | |
| }(), this.passwordFieldLabelPatternMatchers = function passwordFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["password", "passwd", "่ฎพ็ฝฎๅฏ็ ", "passwort"])] | |
| }(), this.confirmPasswordFieldLabelPatternMatchers = function confirmPasswordFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["repeat", "retype", "confirm", "verify", "new"])] | |
| }(), this.confirmEmailFieldLabelPatternMatchers = function confirmEmailFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["confirm"])] | |
| }(), this.oldPasswordFieldLabelPatternMatchers = function oldPasswordFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["current", "old", "original"])] | |
| }(), this.usernameFieldLabelPatternMatchers = function usernameFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["username", "user name", "screenname", "screen name", "loginname", "login name", "account name", "userID", "loginID", "accountID", "Online ID", "GmailAddress", "Gmail Address", "usuario", "Library Card Number", "E-Mail-Adresse"])] | |
| }(), this.loginFormTypePatternMatchers = new PatternMatcherClass(Object.keys(this.mapOfKeywordsIndicatingLoginFormTypeToScoreForMatching)), this.newAccountFormTypePatternMatchers = new PatternMatcherClass(Object.keys(this.mapOfKeywordsIndicatingNewAccountFormTypeToScoreForMatching)), this.emailFieldLabelPatternMatchers = function emailFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["email", "emailAddr", "emailAddress", "e-mail", "ุงูุจุฑูุฏ ุงูุฅููุชุฑููู", "correu electrรฒnic", "e-post", "e-postadr", "e-postadresse", "sรคhkรถposti", "s-posti", "sรคhkรถpostiosoite", "courriel", "messagerie รฉlectronique", "adresse de messagerie", "adresse รฉlectronique", "courrier รฉlectronique", "adresse de courriel", "adresse de courrier รฉlectronique", "adresse courriel", "adresse e-mail", "adrรฉlec", "adresse Internet", "c. รฉlec.", "cรฉ", "mรฉl.", "adel", "E-Mail Adresse", "E-Mail-Adresse", "ืืืืดื", "ืืืื", "e-mail adresa", "adresa e-poลกte", "e-poลกta", "ind. e-mail", "indirizzo e-mail", "indirizzo di posta elettronica", "posta elettronica", "ind. posta elettronica", "ใกใผใซ", "ใกใผใซใขใใฌใน", "Emailใขใใฌใน", "Email ใขใใฌใน", "้ปๅญใกใผใซ", "Eใกใผใซใขใใฌใน", "ใกใขใ", "ใกใซใขใ", "์ด๋ฉ์ผ", "์ด๋ฉ์ผ ์ฃผ์", "์ด๋ฉ์ผ์ฃผ์", "email ์ฃผ์", "email์ฃผ์", "e-mail ์ฃผ์", "e-mail์ฃผ์", "epost", "mail", "adresฤemail", "ะะดัะตั ัะปะตะบััะพะฝะฝะพะน ะฟะพััั", "ะญะปะตะบััะพะฝะฝัะน ะฐะดัะตั", "ะะดัะตั e-mail", "ะะดัะตั email", "emailAdresa", "emailAdr", "correo electrรณnico", "e-postadress", "epostadress", "emejl", "mejl", "mejladress", "เธญเธตเนเธกเธฅ", "เธญเธตเนเธกเธฅเธเธตเนเธญเธขเธนเน", "เธเธตเนเธญเธขเธนเนเธญเธตเนเธกเธฅ", "เธญเธต-เนเธกเธฅ", "eposta", "e-posta", "e-posta adresi", "eposta adresi", "ะตะปะตะบััะพะฝะฝะฐ ะฟะพััะฐ", "ะตะปะตะบััะพะฝะฝะฐะฟะพััะฐ", "ะตะป.ะฟะพััะฐ", "ะตะป. ะฟะพััะฐ", "ะตะปะตะบััะพะฝะฝะฐ ะฐะดัะตัะฐ", "ะตะปะตะบััะพะฝะฝะฐะฐะดัะตัะฐ", "ะตะป.ะฐะดัะตัะฐ", "ะตะป. ะฐะดัะตัะฐ", "็ตๅญ้ฎไปถ", "็ตๅญ้ฎไปถๅฐๅ", "้ปๅญ้ตไปถ", "้ปๅญ้ตไปถไฝๅ", "้ปๅญ้ตไปถๅฐๅ", "้ปๅญ้ตไปถไฟก็ฎฑ", "้ปๅญไฟก็ฎฑ", "้ปๅญ้ต็ฎฑ", "้ป้ต"])] | |
| }(), this.addressBookFieldLabelPatternMatchers = function addressBookFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass([])] | |
| }(), this.nonAccountPasswordSecureTextEntryFieldLabelPatternMatchers = function nonAccountPasswordSecureTextEntryFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["debit", "answer", "account number", "routing number"])] | |
| }(), this.showHideButtonLabelPatternMatchers = function showHideButtonLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["show", "hide"])] | |
| }(), this.nonCreditCardCardNumberFieldLabelPatternMatchers = function nonCreditCardCardNumberFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["gift card", "giftcard", "rewards card", "rewardscard", "loyalty card", "loyaltycard", "health card", "library card"])] | |
| }(), this.creditCardNumberFieldLabelPatternMatchers = function creditCardNumberFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["card number", "cardnumber", "cardnum", "ccnum", "ccnumber", "cc num", "creditcardnumber", "credit card number", "newcreditcardnumber", "new credit card", "creditcardno", "credit card no", "card#", "card #"])] | |
| }(), this.creditCardSecurityCodeFieldLabelPatternMatchers = function creditCardSecurityCodeFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["cvv", "cvc", "cvc2", "cvv2", "ccv2", "cid", "cvn", "security code", "card verification"])] | |
| }(), this.creditCardCardholderFieldLabelPatternMatchers = function creditCardCardholderFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["name on credit card", "name on card", "nameoncard", "cardholder", "card holder", "name des karteninhabers"])] | |
| }(), this.creditCardCompositeExpirationDateFieldLabelPatternMatchers = function creditCardCompositeExpirationDateFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["expiration date", "expirationdate", "expdate"])] | |
| }(), this.creditCardTypeFieldLabelPatternMatchers = function creditCardTypeFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["card type", "cardtype", "cc type", "cctype", "payment type"])] | |
| }(), this.dayFieldLabelPatternMatchers = function dayFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["day"])] | |
| }(), this.monthFieldLabelPatternMatchers = function monthFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["month", "date m", "date mo"])] | |
| }(), this.yearFieldLabelPatternMatchers = function yearFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["year", "date y", "date yr"])] | |
| }(), this.oneTimeCodeFieldLabelPatternMatchers = function oneTimeCodeFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["security code", "login code", "enter the code", "enter code", "otp", "onetimecode", "onetimepasscode", "one time password", "one time passcode", "verification code", "verificationCode", "confirmation code", "identification code", "identificationCode", "activation code", "access code", "SMS", "digit code", "2fa", "twofactor token", "two factor auth", "two factor authentication", "two-factor authentication", "6-digit authentication code", "two step sign in", "two-step sign in", "MFA code", "้ช่ฏ็ ", "ๆ ก้ช็ ", "้ฉ่ญ็ขผ", "้ฉ่จผ็ขผ", "็ขบ่ช็ขผ", "่ช่ญ็ขผ", "็ขบ่ชใณใผใ", "่ช่จผใณใผใ", "์ธ์ฆ๋ฒํธ", "ํ์ธ์ฝ๋", "code de sรฉcuritรฉ", "code de vรฉrification", "code de validation", "code d'identification", "code d'authentification", "code d'autorisation", "code de confirmation", "code SMS de vรฉrification", "Authorisierungscode", "Sicherheitscode", "รberprรผfungscode", "Bestรคtigungscode", "Bestatigungscode", "Verifizierungscode", "Aktivierungscode", "Codice di sicurezza", "Codice attivazione", "codice di attivazione", "codice di conferma", "codice di verifica", "Kod bezpieczeลstwa", "Kod autoryzacyjny", "Kod weryfikacyjny", "cรณdigo de seguridad", "cรณdigo de confirmaciรณn", "cรณdigo de seguranca", "digite o codigo", "cรณdigo de verificaciรณn", "cรณdigo de verificaรงรฃo", "cรณdigo de confirmacao", "ะะพะด ะฟัะพะฒะตัะบะธ", "ะบะพะด ะฑะตะทะพะฟะฐัะฝะพััะธ", "ะบะพะด ะฟะพะดัะฒะตัะถะดะตะฝะธั", "ะะพะด ะฐััะตะฝัะธัะธะบะฐัะธะธ", "ะบะพะด ะฟัะดัะฒะตัะดะถะตะฝะฝั", "dogrulama kodu", "mรฃ bแบฃo mแบญt", "Mรฃ Xรกc Minh", "mรฃ kรญch hoแบกt", "เธฃเธซเธฑเธชเธเธงเธฒเธกเธเธฅเธญเธเธ เธฑเธข", "เธฃเธซเธฑเธชเธขเธทเธเธขเธฑเธ", "เธฃเธซเธฑเธชOTP", "เธฃเธซเธฑเธชเธเธฒเธฃเธเธฃเธงเธเธชเธญเธเธขเธทเธเธขเธฑเธ", "เธฃเธซเธฑเธชเธเธฒเธฃเธขเธทเธเธขเธฑเธ", "Kode keamanan", "Kode konfirmasi", "Kode verifikasi", "เคธเคคเฅเคฏเคพเคชเคจ เคเฅเคก", "Kod pengesahan", "Masukkan Kod", "Codul de confirmare"])] | |
| }(), this.weakOneTimeCodeFieldLabelPatternMatchers = function weakOneTimeCodeFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["code", "passcode", "PIN", "cรณdigo", "์ฝ๋", "ใณใผใ", "ะบะพะด"])] | |
| }(), this.ignoredDataTypeFieldLabelPatternMatchers = function ignoredDataTypeFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["search", "social security", "socialsecurity", "ssn", "ssno", "ssnum", "airport", "gate code", "relationship"])] | |
| }(), this.searchFieldLabelPatternMatchers = function searchFieldLabelPatternMatchers() { | |
| return [new PatternMatcherClass(["search"])] | |
| }(), this.shouldIncludeNonEmptyFields = !1, this.nextFormUniqueIDValue = 0; | |
| let e = Object.create(null); | |
| e.get = function getNextFormUniqueID() { | |
| return this.nextFormUniqueIDValue++, this.nextFormUniqueIDValue | |
| }, Object.defineProperty(FormMetadataJSControllerObject.prototype, "nextFormUniqueID", e), this.nextControlUniqueIDValue = 0, e = Object.create(null), e.get = function getNextControlUniqueID() { | |
| return this.nextControlUniqueIDValue++, this.nextControlUniqueIDValue | |
| }, Object.defineProperty(FormMetadataJSControllerObject.prototype, "nextControlUniqueID", e) | |
| }; | |
| FormMetadataJSControllerObject.prototype = { | |
| setInputElementSpellCheckEnabled: function(e, r) {}, | |
| setInputElementAutofilled: function(e, r) {}, | |
| finishedAutoFillingControlsInForm: function(e, r) {}, | |
| finishedAutoFillingOneTimeCode: function(e) {}, | |
| categorySpecifierForFormControl: function(e) { | |
| if (!e) return null; | |
| let r = e.AutocompleteTokens; | |
| if (r && Array.isArray(r)) | |
| for (let e of r) { | |
| let r = specifierForAutocompleteToken(e); | |
| if (r) return r.category | |
| } | |
| return specifier = specifierForFieldLabel(e.AddressBookLabel), specifier ? specifier.category : null | |
| } | |
| }; | |
| var FormMetadataJSController = new FormMetadataJSControllerObject; | |
| const WBSAutoFillFormTypeUndetermined = 0, | |
| WBSAutoFillFormTypeAutoFillableStandard = 1, | |
| WBSAutoFillFormTypeNonAutoFillable = 2, | |
| WBSAutoFillFormTypeAutoFillableLogin = 3, | |
| WBSAutoFillFormTypeNewAccount = 4, | |
| WBSAutoFillFormTypeChangePassword = 5, | |
| WBSFormMetadataRequestNormal = 0, | |
| WBSFormMetadataRequestPreFill = 1, | |
| WBSFormMetadataRequestTesting = 2, | |
| WBSFormMetadataRequestTextChange = 3, | |
| WBSFormMetadataRequestCollectMetadataFromDebugMenu = 4, | |
| ShouldStopAfterFirstMatch = { | |
| CollectAllMatches: 0, | |
| StopAfterFirstMatch: 1 | |
| }, | |
| ShouldFocusAndBlur = { | |
| No: 0, | |
| Yes: 1 | |
| }, | |
| ForceNonFormElementAsLogicalBackingElement = { | |
| No: !1, | |
| Yes: !0 | |
| }, | |
| LogicalFormCreationIsProvisional = { | |
| No: !1, | |
| Yes: !0 | |
| }, | |
| MatchCriteria = { | |
| Property: 0, | |
| Category: 1, | |
| Literal: 2 | |
| }, | |
| PageScanCharactersSearchedThreshold = 500, | |
| PageScanMaxCharactersSearched = 600, | |
| MaximumNumberOfCharactersToCollectForLanguageIdentification = 300, | |
| MinValueForMaxLengthAttributeToTreatAsPasswordField = 4, | |
| UsernameCandidateScoreForPlainTextField = 1, | |
| UsernameCandidateScoreForPlainTextFieldDirectlyBeforePasswordField = 2, | |
| UsernameCandidateScoreForEmailLabeledFieldBelowPasswordField = 3, | |
| UsernameCandidateScoreForUsernameLabeledFieldBelowPasswordField = 4, | |
| UsernameCandidateScoreForEmailLabeledFieldAbovePasswordField = 5, | |
| UsernameCandidateScoreForUsernameLabeledFieldAbovePasswordField = 6, | |
| UsernameCandidateScoreBonusForVisibleElement = .5, | |
| UsernameCandidateScorePenaltyForReadOnlyElement = .5, | |
| UsernameCandidateScorePenaltyForMatchingNonUsernameFieldLabelPattern = 2, | |
| UsernameCandidateScorePenaltyForMatchingSearchFieldLabelPattern = 1.5, | |
| UsernameCandidateScorePenaltyForAnonymousElement = 1, | |
| LowestScoreForUsernameFieldCandidate = 1, | |
| LowestScoreForLabeledUsernameFieldCandidate = 3, | |
| MaxLengthForFieldAboveWhichToTreatPotentialOneTimeCodeFieldAsRequiringHigherScrutiny = 10, | |
| DateTimeInputTypes = ["date", "datetime-local", "month", "time", "week"], | |
| DateTimeInputTypeFormats = { | |
| date: "yyyy-MM-dd", | |
| "datetime-local": "yyyy-MM-dd'T'hh:mm", | |
| month: "yyyy-MM", | |
| time: "hh:mm", | |
| week: "yyyy-'W'ww" | |
| }, | |
| numberOfConsecutiveElementsWithoutSuccessfulPageScanAfterWhichPageScanIsAbandoned = 40; | |
| var mapOfFormTypeToProducerOfAssociatedKeywords = function() { | |
| var e = { | |
| 4: function() { | |
| return FormMetadataJSController.mapOfKeywordsIndicatingNewAccountFormTypeToScoreForMatching | |
| }, | |
| 3: function() { | |
| return FormMetadataJSController.mapOfKeywordsIndicatingLoginFormTypeToScoreForMatching | |
| }, | |
| 5: function() { | |
| return FormMetadataJSController.mapOfKeywordsIndicatingChangePasswordFormTypeToScoreForMatching | |
| } | |
| }; | |
| return e | |
| }(), | |
| visibilityCacheGeneration = 0; | |
| function legacyPlaceholderInfoForInputElement(e) { | |
| if ("text" !== e.type) return null; | |
| var r = e.value.trim(); | |
| if (!r) return null; | |
| for (var t = !1, n = !0, a = e.attributes, i = a.length, o = 0; o < i; ++o) { | |
| var l = a[o]; | |
| if (r === l.value.trim() && (t = !0, "value" !== l.name.toLowerCase())) { | |
| n = !1; | |
| break | |
| } | |
| } | |
| return t ? { | |
| Text: r, | |
| AttributeMatchedWasValue: n | |
| } : null | |
| } | |
| function placeholderInfoForElement(e) { | |
| var r = e.getAttribute("placeholder"); | |
| if (r) return { | |
| Text: r, | |
| AttributeMatchedWasValue: !1 | |
| }; | |
| var t = e.getAttribute("data-placeholder"); | |
| return t && t.length ? { | |
| Text: t, | |
| AttributeMatchedWasValue: !1 | |
| } : isInputElement(e) ? legacyPlaceholderInfoForInputElement(e) : null | |
| } | |
| function sharedPrefixLength(e, r) { | |
| for (var t = 0, n = 0, a = e.length; n < a && e[n] === r[n]; ++n) t++; | |
| return t | |
| } | |
| function rowContainingLabelAboveRow(e) { | |
| for (var r = e.getBoundingClientRect(), t = e.previousElementSibling; t instanceof HTMLTableRowElement; t = t.previousElementSibling) { | |
| if (t.querySelector("input, select, textarea")) return null; | |
| var n = t.getBoundingClientRect(); | |
| if (r.top - n.bottom > r.height / 2) return null; | |
| if (t.innerText.match(/\S/)) return t | |
| } | |
| return null | |
| } | |
| function cellVisuallyAbove(e) { | |
| let r = e.parentElementIncludingShadowDOMHost(); | |
| if (!(r && r instanceof HTMLTableRowElement)) return null; | |
| var t = rowContainingLabelAboveRow(r); | |
| if (!t) return null; | |
| for (var n = e.getBoundingClientRect(), a = t.children, i = a.length, o = null, l = 0, s = 0; s < i; ++s) { | |
| var c = a[s], | |
| u = c.getBoundingClientRect(), | |
| p = Math.min(u.right, n.right) - Math.max(u.left, n.left); | |
| (!o || p > l) && (l = p, o = c) | |
| } | |
| return o | |
| } | |
| function couldBeFormSubmissionControl(e) { | |
| if (e instanceof HTMLButtonElement) return !0; | |
| if (e instanceof HTMLInputElement) { | |
| var r = e.type; | |
| return "submit" === r || "image" === r | |
| } | |
| return !1 | |
| } | |
| function isInputElement(e) { | |
| return e instanceof HTMLInputElement | |
| } | |
| function isDateTimeInputElement(e) { | |
| return !!isInputElement(e) && DateTimeInputTypes.includes(e.type) | |
| } | |
| function isRadioButtonElement(e) { | |
| return !!isInputElement(e) && "radio" === e.type | |
| } | |
| function anchorWithURLString(e) { | |
| var r = document.createElement("a"); | |
| return r.href = e, r | |
| } | |
| function pathComponentsForLocation(e) { | |
| var r = e.pathname.substring(1).split("/"); | |
| return r[r.length - 1] || r.pop(), r | |
| } | |
| function lastPathComponentFromAnchor(e) { | |
| var r = pathComponentsForLocation(e); | |
| return r.length ? r[r.length - 1] : null | |
| } | |
| function lastPathComponentForURLString(e) { | |
| return lastPathComponentFromAnchor(anchorWithURLString(e)) | |
| } | |
| function urlEncode(e) { | |
| return encodeURIComponent(e).replace(/%20/g, "+") | |
| } | |
| function isCheckboxOrRadioButtonInDefaultState(e) { | |
| return e.checked === e.defaultChecked | |
| } | |
| function isSelectInDefaultState(e) { | |
| for (var r = e.options, t = r.length, n = 0; n < t; ++n) { | |
| var a = r[n]; | |
| if (a.selected !== a.defaultSelected) { | |
| if (a.defaultSelected) return !1; | |
| if (e.multiple || n) return !1 | |
| } | |
| } | |
| return !0 | |
| } | |
| function formActionAsAnchorElement(e, r) { | |
| if (!(e instanceof HTMLFormElement)) return null; | |
| let t = e.getAttribute("action"); | |
| if (!t && r) return null; | |
| var n = document.createElement("a"); | |
| return n.href = t || "", n | |
| } | |
| function eventThatBubbles(e) { | |
| return new CustomEvent(e, { | |
| bubbles: !0 | |
| }) | |
| } | |
| function formControlHasBeenClassifiedInAnInterestingWay(e) { | |
| return e.ControlIsActiveElement || e.ControlIsSecureTextField || e.ControlLooksLikePasswordCredentialField || e.ControlLooksLikeCreditCardNumberField || e.ControlLooksLikeCreditCardSecurityCodeField || e.ControlLooksLikeCreditCardCardholderField || e.ControlLooksLikeCreditCardTypeField || e.AddressBookLabel || e.ControlLooksLikeDayField || e.ControlLooksLikeMonthField || e.ControlLooksLikeYearField || e.ControlLooksLikeOneTimeCodeField || e.ControlLooksLikeCreditCardCompositeExpirationDateField | |
| } | |
| function isValidUsernameOrEmail(e) { | |
| return !(!e || e.length < 3 || "true" === e || "false" === e) && (/^[a-z_][a-z0-9_.]{2,30}$/i.test(e) || /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i.test(e)) | |
| } | |
| function selectorForElement(e) { | |
| let r = e.localName, | |
| t = e.getAttribute("id"); | |
| t && (r += `#${t}`); | |
| let n = e.classList, | |
| a = n.length; | |
| for (let e = 0; e < a; e++) r += "." + n[e]; | |
| return r | |
| } | |
| function hasOwnProperties(e) { | |
| return Object.getOwnPropertyNames(e).length > 0 | |
| } | |
| function defaultOptionForSelectElement(e) { | |
| for (var r = e.options, t = r.length, n = 0; n < t; ++n) { | |
| var a = r[n]; | |
| if (a.defaultSelected) return a | |
| } | |
| return r[0] | |
| } | |
| function selectElementOptionsSequenceAnalysis(e, r) { | |
| for (var t = e.options, n = t.length, a = 0, i = -1, o = -1, l = 0, s = 0; s < n; ++s) { | |
| var c = t[s], | |
| u = parseInt(c[r]); | |
| isNaN(u) ? (l >= a && (a = l, i = o), o = -1, l = 0) : -1 === o ? (o = u, l = 1) : u === o + 1 && (o = u, l++) | |
| } | |
| return l >= a && (a = l, i = o), { | |
| lengthOfLongestSequence: a, | |
| lastNumberInSequence: i | |
| } | |
| } | |
| function isElementPositionedToBeEffectivelyInvisible(e) { | |
| var r = !1; | |
| for (let t = e; t; t = t.parentElementIncludingShadowDOMHost()) | |
| if ("fixed" === getComputedStyle(t).position) { | |
| r = !0; | |
| break | |
| } var t, n, a, i = e.getBoundingClientRect(); | |
| if (r) t = i, n = window.innerWidth, a = window.innerHeight; | |
| else { | |
| var o = window.scrollY, | |
| l = window.scrollX; | |
| t = { | |
| top: i.top + o, | |
| right: i.right + l, | |
| bottom: i.bottom + o, | |
| left: i.left + l, | |
| width: i.width, | |
| height: i.height | |
| }, n = document.documentElement.scrollWidth, a = Math.max(document.documentElement.scrollHeight, window.innerHeight) | |
| } | |
| return t.top >= a || t.right <= 0 || t.bottom <= 0 || t.left >= n | |
| } | |
| function rectIsWithinDocumentViewport(e) { | |
| return e.right >= 0 && e.bottom >= 0 && e.left <= window.innerWidth && e.top <= window.innerHeight | |
| } | |
| function isCredentialElementUniqueID(e, r) { | |
| return r === e.UsernameElementUniqueID || r === e.PasswordElementUniqueID || r === e.ConfirmPasswordElementUniqueID || r === e.OldPasswordElementUniqueID | |
| } | |
| function autocompleteTokens(e) { | |
| const r = ["autocomplete", "autocompletetype", "x-autocompletetype"]; | |
| let t = []; | |
| for (const n of r) e.hasAttribute(n) && t.push(e.getAttribute(n).trim().toLowerCase()); | |
| if (!t.length) return null; | |
| let n = t.join(" ").split(/\s+/).filter((function(e) { | |
| return e.length && "off" !== e && "on" !== e | |
| })); | |
| return n.length ? n : null | |
| } | |
| function controlAppearsToBePartOfPhotoTaggingInterface(e) { | |
| const r = /photo.*tag/i; | |
| for (let t = e.parentElementIncludingShadowDOMHost(); t; t = t.parentElementIncludingShadowDOMHost()) | |
| if (r.test(t.className)) return !0; | |
| return !1 | |
| } | |
| function levenshteinDistance(e, r) { | |
| for (var t = e.length, n = r.length, a = new Array(t + 1), i = 0; i < t + 1; ++i) a[i] = new Array(n + 1), a[i][0] = i; | |
| for (var o = 0; o < n + 1; ++o) a[0][o] = o; | |
| for (o = 1; o < n + 1; ++o) | |
| for (i = 1; i < t + 1; ++i) | |
| if (e[i - 1] === r[o - 1]) a[i][o] = a[i - 1][o - 1]; | |
| else { | |
| var l = a[i - 1][o] + 1, | |
| s = a[i][o - 1] + 1, | |
| c = a[i - 1][o - 1] + 1; | |
| a[i][o] = Math.min(l, s, c) | |
| } return a[t][n] | |
| } | |
| function stringSimilarity(e, r) { | |
| var t = Math.max(e.length, r.length); | |
| return t ? (t - levenshteinDistance(e, r)) / t : 0 | |
| } | |
| function articleTitleAndSiteNameFromTitleString(e, r) { | |
| const t = [" - ", " โ ", " โ ", ": ", " | ", " ยป "], | |
| n = t.length; | |
| for (var a, i, o = e.replace(/^(www|m|secure)\./, ""), l = o.replace(/\.(com|info|net|org|edu|gov)$/, "").toLowerCase(), s = 0; s < n; ++s) { | |
| var c = r.split(t[s]); | |
| if (2 === c.length) { | |
| var u = c[0].trim(), | |
| p = c[1].trim(), | |
| d = u.toLowerCase(), | |
| f = p.toLowerCase(), | |
| m = Math.max(stringSimilarity(d, o), stringSimilarity(d, l)), | |
| v = Math.max(stringSimilarity(f, o), stringSimilarity(f, l)), | |
| w = Math.max(m, v); | |
| (!i || w > i) && (i = w, a = m > v ? { | |
| siteName: u, | |
| articleTitle: p | |
| } : { | |
| siteName: p, | |
| articleTitle: u | |
| }) | |
| } | |
| } | |
| return a && i >= .6 ? a : null | |
| } | |
| function documentTitleWithoutHostNamePrefix() { | |
| const e = document.title, | |
| r = articleTitleAndSiteNameFromTitleString(window.location.host, e); | |
| return r ? r.articleTitle : e | |
| } | |
| function querySelectorAllIncludingWithinShadowRoots(e, r) { | |
| let t = []; | |
| for (let n of e.querySelectorAll("*")) | |
| if (n.shadowRoot) { | |
| let e = querySelectorAllIncludingWithinShadowRoots(n.shadowRoot, r); | |
| e.length && (t = t.concat(e)) | |
| } else n.matches(r) && t.push(n); | |
| return t | |
| } | |
| function queryAllBySelector(e, r) { | |
| try { | |
| return window.collectMatchingElementsInFlatTree ? window.collectMatchingElementsInFlatTree(e, r) : querySelectorAllIncludingWithinShadowRoots(e, r) | |
| } catch (e) { | |
| return [] | |
| } | |
| } | |
| function getElementByID(e) { | |
| let r = queryAllBySelector(document, `[id='${e}']`); | |
| return r.length ? r[0] : null | |
| } | |
| function siblingsIncludingSelfForElement(e) { | |
| let r = e.parentElement; | |
| if (r) return r.children; | |
| let t = e; | |
| for (; t.previousElementSibling;) t = t.previousElementSibling; | |
| let n = [], | |
| a = t; | |
| for (; a;) n.push(a), a = a.nextElementSibling; | |
| return n | |
| } | |
| function regularExpressionsFromStrings(e) { | |
| return e.map((e => new RegExp(e))) | |
| } | |
| function stringsMatchAnyRegularExpressions(e, r) { | |
| for (let t of r) | |
| for (let r of e) | |
| if (t.test(r.toLowerCase())) return !0; | |
| return !1 | |
| } | |
| function pathFromAnchorWithoutLeadingSlash(e) { | |
| let r = /\/(.*)/.exec(e.pathname); | |
| return r && 2 === r.length ? r[1] : null | |
| } | |
| function innermostActiveElement() { | |
| let e = document.activeElement, | |
| r = e; | |
| for (; r;) r = r?.shadowRoot?.activeElement, r && (e = r); | |
| return e | |
| } | |
| console.autofillDebugLog = function(e, ...r) { | |
| FormMetadataJSController.isDebugConsoleLoggingEnabled | |
| }, Node.prototype.traversePreviousNode = function(e) { | |
| if (this) { | |
| var r = this.previousSibling; | |
| if (e(r)) return null; | |
| for (; r && r.lastChild;) | |
| if (e(r = r.lastChild)) return null; | |
| return r || this.parentNode | |
| } | |
| }, Node.prototype.traverseNextNode = function(e) { | |
| if (this) { | |
| var r = this.firstChild; | |
| if (r) return r; | |
| if (e && this === e) return null; | |
| if (r = this.nextSibling) return r; | |
| for (r = this; r && !r.nextSibling && (!e || !r.parentNode || r.parentNode !== e);) r = r.parentNode; | |
| return r ? r.nextSibling : null | |
| } | |
| }, Node.prototype.isVisible = function() { | |
| let e = this; | |
| if (e._isVisible === visibilityCacheGeneration) return !0; | |
| if (e._isVisible === -visibilityCacheGeneration) return !1; | |
| let r = e.nodeType == Node.TEXT_NODE ? e.parentElementIncludingShadowDOMHost() : e, | |
| t = getComputedStyle(r, null); | |
| return e._isVisible = -visibilityCacheGeneration, "none" !== t.display && "visible" === t.visibility && (!(r.offsetWidth < 2) && (!(r.offsetHeight < 2) && (e._isVisible = visibilityCacheGeneration, !0))) | |
| }, Object.defineProperty(Array.prototype, "joinFirstItems", { | |
| value: function(e, r) { | |
| r > this.length && (r = this.length); | |
| for (var t = "", n = 0; n < r; ++n) n > 0 && (t += e), t += this[n]; | |
| return t | |
| } | |
| }), DOMRect.prototype.isZeroRect = function() { | |
| return !(this.top || this.right || this.bottom || this.left) | |
| }, DOMRect.prototype.distanceToRect = function(e) { | |
| var r = [{ | |
| x: this.left, | |
| y: this.top | |
| }, { | |
| x: this.right, | |
| y: this.top | |
| }], | |
| t = [{ | |
| x: this.right, | |
| y: this.top | |
| }, { | |
| x: this.right, | |
| y: this.bottom | |
| }], | |
| n = [{ | |
| x: this.left, | |
| y: this.bottom | |
| }, { | |
| x: this.right, | |
| y: this.bottom | |
| }], | |
| a = [{ | |
| x: this.left, | |
| y: this.top | |
| }, { | |
| x: this.left, | |
| y: this.bottom | |
| }], | |
| i = [{ | |
| x: e.left, | |
| y: e.top | |
| }, { | |
| x: e.right, | |
| y: e.top | |
| }], | |
| o = [{ | |
| x: e.right, | |
| y: e.top | |
| }, { | |
| x: e.right, | |
| y: e.bottom | |
| }], | |
| l = [{ | |
| x: e.left, | |
| y: e.bottom | |
| }, { | |
| x: e.right, | |
| y: e.bottom | |
| }], | |
| s = [{ | |
| x: e.left, | |
| y: e.top | |
| }, { | |
| x: e.left, | |
| y: e.bottom | |
| }], | |
| c = [ | |
| [a, s], | |
| [a, o], | |
| [r, i], | |
| [r, l], | |
| [t, s], | |
| [t, o], | |
| [n, i], | |
| [n, l] | |
| ].map((function distanceBetweenTwoParallelLineSegments(e) { | |
| var r = e[0], | |
| t = e[1]; | |
| if (r[0].x >= t[0].x && r[0].x < t[1].x || t[0].x >= r[0].x && t[0].x < r[1].x) return Math.abs(r[0].y - t[0].y); | |
| if (r[0].y >= t[0].y && r[0].y < t[1].y || t[0].y >= r[0].y && t[0].y < r[1].y) return Math.abs(r[0].x - t[0].x); | |
| function distanceBetweenTwoPointsSquared(e, r) { | |
| return Math.pow(e.x - r.x, 2) + Math.pow(e.y - r.y, 2) | |
| } | |
| return Math.sqrt(Math.min(distanceBetweenTwoPointsSquared(r[0], t[1]), distanceBetweenTwoPointsSquared(r[1], t[0]))) | |
| })); | |
| return Math.min.apply(Math, c) | |
| }, Node.prototype.parentElementIncludingShadowDOMHost = function() { | |
| let e = this.parentElement; | |
| if (e) return e; | |
| let r = this.getRootNode(); | |
| return r && r.host ? r.host : null | |
| }, Node.prototype.allAncestorsAndSelfIncludingShadowDOMHosts = function() { | |
| let e = [], | |
| r = this; | |
| for (; r;) e.push(r), r = r.parentElementIncludingShadowDOMHost(); | |
| return e | |
| }, HTMLElement.prototype.closestCommonAncestor = function(e) { | |
| let r = this.parentElement; | |
| for (; r;) { | |
| if (r.contains(e)) return r; | |
| r = r.parentElement | |
| } | |
| let t = this.allAncestorsAndSelfIncludingShadowDOMHosts().reverse(), | |
| n = e.allAncestorsAndSelfIncludingShadowDOMHosts().reverse(), | |
| a = Math.min(t.length, n.length), | |
| i = null; | |
| for (let e = 0; e < a; ++e) { | |
| if (!(t[e] === n[e])) break; | |
| i = t[e] | |
| } | |
| return i || null | |
| }, HTMLElement.prototype.isHiddenFromAccessibilityTree = function() { | |
| for (let r = 0, t = this; r <= 2 && t; ++r, t = t.parentElementIncludingShadowDOMHost()) { | |
| var e = t.getAttribute("aria-hidden"); | |
| if (e && "true" === e.toLowerCase()) return !0 | |
| } | |
| return !1 | |
| }, HTMLFormElement.prototype.isVisible = function() { | |
| if (Node.prototype.isVisible.call(this)) return !0; | |
| for (var e = this.elements, r = e.length, t = 0; t < r; ++t) | |
| if (e[t].isVisible()) return !0; | |
| return !1 | |
| }, RegExp.prototype.testMatchesEntireString = function(e) { | |
| if (!e) return !1; | |
| let r = this.exec(e); | |
| return !(!r || r[0] !== e) | |
| }, LogicalForm = function(e, r, t) { | |
| var n = e.length; | |
| this._formElement = e[0].form, this._backingElement = this._formElement, !r && this._backingElement || (this._backingElement = 1 === n ? e[0] : e[0].closestCommonAncestor(e[n - 1])), this._formElement && this._formElement.contains(e[n - 1]) || (this._formElement = this._backingElement), this._controls = Array.prototype.slice.call(e), t || this.markElementsAsPartOfLogicalForm(), this._backingElement._logicalFormUniqueID || (this._backingElement._logicalFormUniqueID = FormMetadataJSController.nextFormUniqueID) | |
| }, LogicalForm.prototype = { | |
| get elements() { | |
| return this._controls | |
| }, | |
| get formElement() { | |
| return this._formElement | |
| }, | |
| get backingElement() { | |
| return this._backingElement | |
| }, | |
| get formUniqueID() { | |
| return this._backingElement._logicalFormUniqueID | |
| }, | |
| containsControl: function(e) { | |
| return e._logicalForm ? e._logicalForm === this : e.form === this._formElement | |
| }, | |
| radioButtonsWithName: function(e) { | |
| let r = queryAllBySelector(document.documentElement, `*[name="${e}"]`); | |
| return Array.prototype.filter.call(r, (function(e) { | |
| return (e.form === this._formElement || this._formElement.contains(e)) && isRadioButtonElement(e) | |
| }), this) | |
| }, | |
| annotate: function(e) { | |
| var r = this._formElement, | |
| t = r._annotations; | |
| if (t) { | |
| for (var n in e) { | |
| var a = e[n]; | |
| a ? t[n] = a : delete t[n] | |
| } | |
| hasOwnProperties(t) || delete r._annotations | |
| } else r._annotations = e | |
| }, | |
| markElementsAsPartOfLogicalForm: function() { | |
| let e = this._controls, | |
| r = e.length; | |
| for (let t = 0; t < r; t++) e[t]._logicalForm = this, t + 1 < r && (e[t]._nextControlInLogicalForm = e[t + 1]), t > 0 && (e[t]._previousControlInLogicalForm = e[t - 1]) | |
| }, | |
| get annotations() { | |
| return this._formElement._annotations | |
| }, | |
| get isAnnotated() { | |
| return !!this._formElement._annotations | |
| } | |
| }, FormMetadata = function() { | |
| this._forms = [], this._formMetadata = [], this._elementsWithGeneratedPasswords = [], this._generatedPasswords = [], this._labels = queryAllBySelector(document, "label"), this._controlUniqueIDToControlMap = [], this._mapOfFormTypeToExtraScoreProducer = function() { | |
| let e = { | |
| 4: function(e) { | |
| return 0 | |
| } | |
| }; | |
| return e[3] = function(e) { | |
| return 1 === e._controls.filter((e => function(e) { | |
| return "checkbox" === e.type && FormMetadataJS._labelsForElement(e).some((e => /(remember|keep) me/i.test(e.innerText.trim()) && e.isVisible())) | |
| }(e))).length ? 2 : 0 | |
| }, e[5] = function(e) { | |
| return 0 | |
| }, e | |
| }(), this._requiredFormatForDateTimeInput = DateTimeInputTypes.reduce((function(e, r) { | |
| let t = document.createElement("input"); | |
| t.type = r; | |
| return t.value = "a", e[r] = "" === t.value ? DateTimeInputTypeFormats[r] : "", e | |
| }), {}) | |
| }, FormMetadata.prototype = { | |
| _getTagName: function(e) { | |
| var r = e.tagName; | |
| return "string" == typeof r || "string" == typeof(r = e.nodeName) ? r : void 0 | |
| }, | |
| _getNameOrId: function(e) { | |
| return e.name && e.name.length ? e.name : e.id | |
| }, | |
| controlUniqueID: function(e) { | |
| if (e._controlUniqueID) return e._controlUniqueID; | |
| var r = "ControlID-" + FormMetadataJSController.nextControlUniqueID; | |
| return e._controlUniqueID = r, this._controlUniqueIDToControlMap[r] = e, FormMetadataJSController.shouldShowAdditionalUI && e.setAttribute("control-id", r), e._controlUniqueID | |
| }, | |
| controlCategory: function(e) { | |
| return e._controlCategory || (e._controlCategory = e.getAttribute("category")), e._controlCategory | |
| }, | |
| _searchForLabelsAboveCell: function(e, r) { | |
| var t = window.getComputedStyle(r, null); | |
| if (!t || "table-cell" !== t.getPropertyValue("display")) return null; | |
| var n = cellVisuallyAbove(r); | |
| if (!n) return null; | |
| for (var a = 0, i = n.firstChild; i; i = i.traverseNextNode(n)) | |
| if (i.nodeType == Node.TEXT_NODE && i.isVisible()) { | |
| var o = i.nodeValue, | |
| l = e.searchReverse(o); | |
| if (l) return { | |
| Distance: a, | |
| Match: l[0], | |
| Property: l[1], | |
| Category: l[2], | |
| ParentProperty: l[3] | |
| }; | |
| a += o.length | |
| } return null | |
| }, | |
| _collectStringFromNodeForPageScan: function(e, r, t) { | |
| var n = e.nodeValue, | |
| a = n.length; | |
| return t + a > 600 && (n = n.substr(-(500 - t)), a = 500 - t), (n = n.trim()).length && r.push(n), t | |
| }, | |
| _dataForComputingMatchFromPageScanBeforeElement: function(e, r) { | |
| function shouldStopScan(e) { | |
| return e && e.nodeType == Node.ELEMENT_NODE && e.matches("nav") | |
| } | |
| var t, n = [], | |
| a = 0, | |
| i = this._logicalFormForControl(e).formElement, | |
| o = i && i.isVisible(); | |
| r || (r = i); | |
| for (var l = e.traversePreviousNode(shouldStopScan); l && a < 500; l = l.traversePreviousNode(shouldStopScan)) { | |
| var s = l.localName; | |
| if (l === r) break; | |
| if (this._isRenderedFormControl(l)) { | |
| if (l.isVisible() || !o) break | |
| } else { | |
| if (this._isLabelElement(l) && l.isVisible()) break; | |
| if ("td" !== s || t) { | |
| if ("tr" === s && t) break; | |
| if ("ul" === s || "ol" === s || "dl" === s) break; | |
| if ("li" === s) { | |
| if (!l.parentNode.contains(e)) break | |
| } else l.nodeType == Node.TEXT_NODE && l.isVisible() && (a += this._collectStringFromNodeForPageScan(l, n, a)) | |
| } else t = l | |
| } | |
| } | |
| return [n, t] | |
| }, | |
| _matchFromPageScanBeforeElement: function(e, r, t) { | |
| var n = this._pageScanContext ? this._pageScanContext.backwardScanCache : null, | |
| a = this._pageScanDataForElementWithCacheAndDataProducer(r, n, this._dataForComputingMatchFromPageScanBeforeElement.bind(this), t), | |
| i = a[0], | |
| o = this._matchFromPatternMatcherAndStringsFromPageScan(e, i); | |
| if (o) return o; | |
| var l = a[1]; | |
| if (l) { | |
| var s = this._searchForLabelsAboveCell(e, l); | |
| if (s) return s.IsInCellAbove = !0, s | |
| } | |
| return null | |
| }, | |
| _isElementFollowedByForgotUserNameOrEmailAffordance: function(e, r) { | |
| this._forgotUserNameRegularExpressions || (this._forgotUserNameRegularExpressions = regularExpressionsFromStrings(FormMetadataJSController.regularExpressionsForForgotUserNameAffordance)), this._forgotEmailRegularExpressions || (this._forgotEmailRegularExpressions = regularExpressionsFromStrings(FormMetadataJSController.regularExpressionsForForgotEmailAffordance)); | |
| let t = this._stringsToEvaluateToDetermineIfElementIsFollowedByAffordance(e, r); | |
| return !!stringsMatchAnyRegularExpressions(t, this._forgotUserNameRegularExpressions) || !!stringsMatchAnyRegularExpressions(t, this._forgotEmailRegularExpressions) | |
| }, | |
| _isElementFollowedByForgotPasswordAffordance: function(e, r) { | |
| return this._forgotPasswordRegularExpressions || (this._forgotPasswordRegularExpressions = regularExpressionsFromStrings(FormMetadataJSController.regularExpressionsForForgotPasswordAffordance)), stringsMatchAnyRegularExpressions(this._stringsToEvaluateToDetermineIfElementIsFollowedByAffordance(e, r), this._forgotPasswordRegularExpressions) | |
| }, | |
| _numberOfForgotUserNameEmailOrPasswordAffordancesFollowingElement: function(e, r) { | |
| this._forgotEmailRegularExpressions || (this._forgotEmailRegularExpressions = regularExpressionsFromStrings(FormMetadataJSController.regularExpressionsForForgotEmailAffordance)), this._forgotPasswordRegularExpressions || (this._forgotPasswordRegularExpressions = regularExpressionsFromStrings(FormMetadataJSController.regularExpressionsForForgotPasswordAffordance)), this._forgotUserNameRegularExpressions || (this._forgotUserNameRegularExpressions = regularExpressionsFromStrings(FormMetadataJSController.regularExpressionsForForgotUserNameAffordance)); | |
| let t = this._stringsToEvaluateToDetermineIfElementIsFollowedByAffordance(e, r), | |
| n = 0; | |
| return stringsMatchAnyRegularExpressions(t, this._forgotUserNameRegularExpressions) && n++, stringsMatchAnyRegularExpressions(t, this._forgotEmailRegularExpressions) && n++, stringsMatchAnyRegularExpressions(t, this._forgotPasswordRegularExpressions) && n++, n | |
| }, | |
| _stringsToEvaluateToDetermineIfElementIsFollowedByAffordance: function(e, r) { | |
| let t = this._dataForComputingMatchFromPageScanAfterElement(e, "A"); | |
| if (!t.length) { | |
| const r = e.traverseNextNode(); | |
| if (r) { | |
| let e = r; | |
| r instanceof Node && (e = r.parentElementIncludingShadowDOMHost()); | |
| const n = e.querySelector("a"); | |
| if (n) { | |
| t.push(n.innerText); | |
| const e = pathFromAnchorWithoutLeadingSlash(n); | |
| e && t.push(e) | |
| } | |
| } | |
| } | |
| if (!t.length) | |
| for (let n of queryAllBySelector(r, "a")) { | |
| if (e.compareDocumentPosition(n) & Node.DOCUMENT_POSITION_FOLLOWING) { | |
| t.push(n.innerText); | |
| const e = pathFromAnchorWithoutLeadingSlash(n); | |
| e && t.push(e) | |
| } | |
| } | |
| const n = e._nextControlInLogicalForm; | |
| return n && "button" === n.type && t.push(n.innerText), t | |
| }, | |
| _dataForComputingMatchFromPageScanAfterElement: function(e, r, t) { | |
| var n = [], | |
| a = 0, | |
| i = this._logicalFormForControl(e).formElement, | |
| o = i && i.isVisible(); | |
| let l = void 0 !== r; | |
| t || (t = i); | |
| for (var s = e.traverseNextNode(); s && a < 500; s = s.traverseNextNode()) { | |
| var c = s.localName; | |
| if (s === t) { | |
| var u = this._pageScanContext; | |
| u && !a && (u.forwardScanIsFutile = !0); | |
| break | |
| } | |
| if (this._isRenderedFormControl(s)) { | |
| if (s.isVisible() || !o) break | |
| } else { | |
| if (this._isLabelElement(s) && s.isVisible()) break; | |
| if ("tr" === c) break; | |
| if ("ul" === c || "ol" === c || "dl" === c) break; | |
| if (s.nodeType == Node.TEXT_NODE && s.isVisible()) { | |
| if (void 0 !== r && (!s.parentNode || s.parentNode.tagName !== r)) continue; | |
| if (a += this._collectStringFromNodeForPageScan(s, n, a), l) break | |
| } | |
| } | |
| } | |
| return n | |
| }, | |
| _matchFromPageScanAfterElement: function(e, r, t) { | |
| var n = this._pageScanContext ? this._pageScanContext.forwardScanCache : null, | |
| a = this._pageScanDataForElementWithCacheAndDataProducer(r, n, this._dataForComputingMatchFromPageScanAfterElement.bind(this), t); | |
| return this._matchFromPatternMatcherAndStringsFromPageScan(e, a) | |
| }, | |
| _pageScanDataForElementWithCacheAndDataProducer: function(e, r, t, n) { | |
| if (!r) return t(e, n); | |
| if (a = r.get(e)) return a; | |
| var a = t(e, n); | |
| return r.set(e, a), a | |
| }, | |
| _matchFromPatternMatcherAndStringsFromPageScan: function(e, r) { | |
| for (var t = r.length, n = 0, a = 0; a < t; ++a) { | |
| var i = r[a]; | |
| n += i.length; | |
| var o = e.searchReverse(i); | |
| if (o) return { | |
| Distance: n, | |
| Match: o[0], | |
| Property: o[1], | |
| Category: o[2], | |
| ParentProperty: o[3] | |
| } | |
| } | |
| return null | |
| }, | |
| _matchPatternAgainstString: function(e, r) { | |
| if (!r) return null; | |
| var t = r.replace(/[\d_.-]/g, " "); | |
| return t = t.replace(/[a-z][A-Z]/g, (function(e) { | |
| return e[0] + " " + e[1] | |
| })), e.longestMatch(t) | |
| }, | |
| _controlsAreAllButtons: function(e) { | |
| for (var r = e.length, t = 0; t < r; ++t) { | |
| if (!(e[t] instanceof HTMLButtonElement)) return !1 | |
| } | |
| return !0 | |
| }, | |
| _createLogicalFormsForControls: function(e, r, t) { | |
| if (this._controlsAreAllButtons(e)) return []; | |
| let n, a, i = e.map((function(e) { | |
| return e.getBoundingClientRect() | |
| })), | |
| o = e.length, | |
| l = 0; | |
| i[0].isZeroRect() ? (n = 0, a = null) : (n = 1, a = i[0]); | |
| for (let p = 1; p < o; ++p) { | |
| let d = i[p]; | |
| if (!d.isZeroRect()) { | |
| if (a) { | |
| let f = a.distanceToRect(d); | |
| f && (++n, l += f) | |
| } | |
| a = d | |
| } | |
| } | |
| if (1 === n) { | |
| function closestSectioningElementForControl(e) { | |
| return e.closest("header, footer, aside") | |
| } | |
| let m = [], | |
| v = 0; | |
| for (; v < o;) { | |
| let w = [e[v]], | |
| y = closestSectioningElementForControl(e[v]); | |
| for (let h = v + 1; h < o; ++h) { | |
| let E = e[h]; | |
| if (y !== closestSectioningElementForControl(e[h])) break; | |
| w.push(E) | |
| } | |
| m.push(new LogicalForm(w, r, t)), v += w.length | |
| } | |
| return m | |
| } | |
| let s = n ? l / n : 0, | |
| c = [], | |
| u = 0; | |
| for (; u < o;) { | |
| let M = [e[u]], | |
| S = !1, | |
| g = i[u].isZeroRect() ? null : i[u]; | |
| for (let k = u + 1; k < o; ++k) { | |
| let C = e[k], | |
| b = i[k]; | |
| if (!b.isZeroRect()) { | |
| if (S) { | |
| if (g && g.distanceToRect(b) > s) break | |
| } else S = couldBeFormSubmissionControl(C); | |
| g = b | |
| } | |
| M.push(C) | |
| } | |
| c.push(new LogicalForm(M, r, t)), u += M.length | |
| } | |
| return c | |
| }, | |
| _formLooksLikeAspnetForm: function(e) { | |
| var r = 0; | |
| "aspnetForm" === e.getAttribute("id") && ++r, "aspnetForm" === e.getAttribute("name") && ++r; | |
| for (var t = queryAllBySelector(e, "input"), n = 0, a = t.length; n < a; ++n) { | |
| var i = t[n], | |
| o = i.getAttribute("id"), | |
| l = i.getAttribute("name"); | |
| /ctl\d\d_/.test(o) && ++r, /ctl\d\d\$/.test(l) && ++r, "hidden" === i.getAttribute("type") && ("__VIEWSTATE" === l && "__VIEWSTATE" === o || "__EVENTTARGET" === l && "__EVENTTARGET" === o || "__EVENTARGUMENT" === l && "__EVENTARGUMENT" === o || "__LASTFOCUS" === l && "__LASTFOCUS" === o) && ++r | |
| } | |
| for (var s = queryAllBySelector(document, "script"), c = s.length, u = 0; u < c; ++u) { | |
| var p = anchorWithURLString(s[u].src); | |
| if (p.host === window.location.host) { | |
| var d = lastPathComponentFromAnchor(p); | |
| "WebResource.axd" !== d && "ScriptResource.axd" !== d || ++r | |
| } | |
| } | |
| return r >= 3 | |
| }, | |
| _anchorLooksLikeSubmitButton: function(e) { | |
| return /submit|button/i.test(e.getAttribute("id")) | |
| }, | |
| _visibleInputAndSelectElementsInForm: function(e) { | |
| let r = queryAllBySelector(e, "input:not([type='hidden']), select"), | |
| t = []; | |
| for (var n = 0, a = r.length; n < a; ++n) { | |
| let e = r[n]; | |
| e.isVisible() && t.push(e) | |
| } | |
| return t | |
| }, | |
| _elementsActingAsButtonsInForm: function(e) { | |
| let r = Array.prototype.slice.call(queryAllBySelector(e, "input[type='submit'], input[type='image']")), | |
| t = queryAllBySelector(e, "a"); | |
| for (var n = 0, a = t.length; n < a; ++n) { | |
| let e = t[n]; | |
| this._anchorLooksLikeSubmitButton(e) && e.isVisible() && r.push(e) | |
| } | |
| return r | |
| }, | |
| _logicalFormsForAspnetForm: function(e) { | |
| for (var r = this._visibleInputAndSelectElementsInForm(e), t = r.length, n = this._elementsActingAsButtonsInForm(e), a = n.length, i = 0; i < a; ++i) { | |
| (l = n[i]).getAttribute("id") && (l._aspNetIDComponents = l.getAttribute("id").split("_")) | |
| } | |
| n.sort((function(e, r) { | |
| var t = e._aspNetIDComponents || []; | |
| return (r._aspNetIDComponents || []).length - t.length | |
| })); | |
| var o = []; | |
| function groupElementsIntoLogicalFormsBasedOnTableLayout(e) { | |
| var r = e.length; | |
| if (r <= 1) o.push(new LogicalForm(e, ForceNonFormElementAsLogicalBackingElement.Yes)); | |
| else { | |
| var t = r - 1, | |
| n = e[t]; | |
| if (e[0].closestCommonAncestor(n) instanceof HTMLTableRowElement) { | |
| for (var a = 0; a < t; ++a) { | |
| if (!(e[a].closestCommonAncestor(n) instanceof HTMLTableRowElement)) return groupElementsIntoLogicalFormsBasedOnTableLayout(e.slice(0, a)), void groupElementsIntoLogicalFormsBasedOnTableLayout(e.slice(a)) | |
| } | |
| o.push(new LogicalForm(e, ForceNonFormElementAsLogicalBackingElement.Yes)) | |
| } else o.push(new LogicalForm(e, ForceNonFormElementAsLogicalBackingElement.Yes)) | |
| } | |
| } | |
| for (i = 0; i < a; ++i) { | |
| var l, s = (l = n[i])._aspNetIDComponents; | |
| if (s) { | |
| var c = s.length; | |
| if (!(c < 2)) { | |
| for (var u = s.joinFirstItems("_", c - 1) + "_", p = [], d = t - 1; d >= 0; --d) { | |
| var f = r[d], | |
| m = f.getAttribute("id"); | |
| m && (m.startsWith(u) && (p.push(f), r.splice(d, 1))) | |
| } | |
| if (p.length && groupElementsIntoLogicalFormsBasedOnTableLayout(p.reverse()), !(t = r.length)) break | |
| } | |
| } | |
| } | |
| return t && groupElementsIntoLogicalFormsBasedOnTableLayout(r), o | |
| }, | |
| _logicalFormsInPage: function(e, r) { | |
| let t = [], | |
| n = {}, | |
| a = queryAllBySelector(document, "form"), | |
| i = 0, | |
| o = a.length, | |
| l = new Set; | |
| for (var s = 0; s < o; ++s) { | |
| let o = a[s], | |
| c = o.elements; | |
| if (!c.length) { | |
| c = queryAllBySelector(o, "input, select, textarea, button"); | |
| for (let e of c) l.add(e) | |
| } | |
| if (c.length) { | |
| if (i++, e && i >= e) return t; | |
| if (r) { | |
| let e = [o.method, o.name, o.action, o.className].join("|"), | |
| t = n[e] || 0; | |
| if (t > r) continue; | |
| n[e] = t + 1 | |
| } | |
| this._formLooksLikeAspnetForm(o) ? t = t.concat(this._logicalFormsForAspnetForm(o)) : t.push(new LogicalForm(c)) | |
| } | |
| } | |
| let c = [], | |
| u = queryAllBySelector(document, "input, select, textarea, button"), | |
| p = u.length; | |
| for (let e = 0; e < p; ++e) { | |
| let r = u[e]; | |
| if (r.form || l.has(r)) { | |
| if (!c.length) continue; | |
| t = t.concat(this._createLogicalFormsForControls(c)), c = [] | |
| } else(this._isRenderedFormControl(r) || autocompleteTokens(r)) && c.push(r) | |
| } | |
| c.length && (t = t.concat(this._createLogicalFormsForControls(c))); | |
| let d = t.length; | |
| for (s = 0; s < d - 1; ++s) { | |
| let e = t[s], | |
| r = e.backingElement, | |
| n = r.getBoundingClientRect(), | |
| a = t[s + 1], | |
| i = a.backingElement, | |
| o = i.getBoundingClientRect(); | |
| const l = 40; | |
| if (r.nextElementSibling === i && r.action === i.action && n.height && o.height && n.x === o.x && n.width === o.width && n.bottom + l >= o.top) { | |
| let r = 1 === e.elements.filter((function(e) { | |
| return e.isVisible() | |
| })).length, | |
| n = e.elements.includes((function(e) { | |
| return e.matches("input[type=submit], button") && e.isVisible() | |
| })); | |
| if (r && !n) { | |
| let r = e.elements.concat(a.elements), | |
| n = this._createLogicalFormsForControls(r, ForceNonFormElementAsLogicalBackingElement.Yes, LogicalFormCreationIsProvisional.Yes); | |
| if (1 === n.length) { | |
| let e = n[0]; | |
| e.markElementsAsPartOfLogicalForm(), t.splice(s, 2, e), d-- | |
| } | |
| } | |
| } | |
| } | |
| return t | |
| }, | |
| _indexInCacheOfLogicalFormContainingControl: function(e) { | |
| for (var r = 0; r < this._forms.length; ++r) | |
| if (this._forms[r].containsControl(e)) return r; | |
| return -1 | |
| }, | |
| _logicalFormForControl: function(e) { | |
| var r = this._indexInCacheOfLogicalFormContainingControl(e); | |
| return -1 === r ? null : this._forms[r] | |
| }, | |
| _matchPatternAgainstElement: function(e, r, t) { | |
| this._logicalFormForControl(t); | |
| var n = t._previousControlInLogicalForm, | |
| a = t._nextControlInLogicalForm; | |
| function attributeValueWithoutPrefixSharedWithSiblingElement(e, r) { | |
| if (!e) return null; | |
| var n = t[r], | |
| a = sharedPrefixLength(n, e[r]); | |
| return a ? n.substr(a) : null | |
| } | |
| const i = ["name", "id"], | |
| o = i.length; | |
| for (var l = new Array(o), s = new Array(o), c = 0; c < o; ++c) { | |
| var u = i[c]; | |
| l[c] = attributeValueWithoutPrefixSharedWithSiblingElement(n, u), s[c] = attributeValueWithoutPrefixSharedWithSiblingElement(a, u) | |
| } | |
| var p = "select" === this._getTagName(t).toLowerCase(), | |
| d = p ? defaultOptionForSelectElement(t) : null; | |
| const f = r.length; | |
| for (var m = 0; m < f; ++m) { | |
| var v, w = r[m]; | |
| for (c = 0; c < o && !(v = this._matchPatternAgainstString(w, l[c])) && !(v = this._matchPatternAgainstString(w, s[c])) && !(v = this._matchPatternAgainstString(w, t[i[c]])); ++c); | |
| if (!v && p && d) { | |
| var y = d.text; | |
| if (/^-.+-$/.test(y)) v = this._matchPatternAgainstString(w, y); | |
| else if (!d.value.length && y.length) { | |
| for (var h = t.options, E = h.length, M = !0, S = 0; S < E; ++S) { | |
| var g = h[S]; | |
| if (g !== d && !g.value.length) { | |
| M = !1; | |
| break | |
| } | |
| } | |
| M && (v = this._matchPatternAgainstString(w, y)) | |
| } | |
| } | |
| v && e.push({ | |
| FoundByPageScan: !1, | |
| Match: v[0].toLowerCase(), | |
| Property: v[1], | |
| Category: v[2], | |
| ParentProperty: v[3], | |
| Priority: m | |
| }) | |
| } | |
| }, | |
| _labelsForElement: function(e) { | |
| if (e._cachedLabels) return e._cachedLabels; | |
| e._cachedLabels = []; | |
| let r = e.getAttribute("aria-labelledby"); | |
| if (r && r.length) { | |
| let n = r.split(" "); | |
| for (var t = 0; t < n.length; t++) { | |
| let r = getElementByID(n[t]); | |
| r && e._cachedLabels.push(r) | |
| } | |
| } | |
| if (e._cachedLabels.length) return e._cachedLabels; | |
| let fuzzyName = function(e) { | |
| return e.replace(/[^a-zA-Z0-9]+/g, "") | |
| }; | |
| for (let r of [e.getAttribute("id"), e.getAttribute("name")]) { | |
| if (!r || !r.length) continue; | |
| let t = [], | |
| n = e.form; | |
| for (let a of this._labels) { | |
| if (n === a.closest("form")) { | |
| let n = a.getAttribute("for"); | |
| if (n === r) e._cachedLabels.push(a); | |
| else if (n) { | |
| let e = fuzzyName(n); | |
| e.length > 0 && e === fuzzyName(r) && t.push(a) | |
| } | |
| } | |
| } | |
| if (0 === e._cachedLabels.length && 1 === t.length && (e._cachedLabels = t), e._cachedLabels.length) return e._cachedLabels | |
| } | |
| var n = this._logicalFormForControl(e).formElement; | |
| for (let r = e.parentElementIncludingShadowDOMHost(); r && r !== n; r = r.parentElementIncludingShadowDOMHost()) | |
| if (this._isLabelElement(r)) { | |
| e._cachedLabels.push(r); | |
| break | |
| } return e._cachedLabels | |
| }, | |
| _matchesForElement: function(e, r, t = !1) { | |
| var n = [], | |
| a = r.length; | |
| function addMatchesFromText(e, t) { | |
| for (var i = 0; i < a; ++i) { | |
| var o = r[i].searchReverse(e); | |
| if (o && (n.push({ | |
| FoundByPageScan: !1, | |
| Match: o[0].toLowerCase(), | |
| Property: o[1], | |
| Category: o[2], | |
| ParentProperty: o[3], | |
| Priority: i | |
| }), t === ShouldStopAfterFirstMatch.StopAfterFirstMatch)) return | |
| } | |
| } | |
| this._matchPatternAgainstElement(n, r, e); | |
| for (var i = !1, o = this._labelsForElement(e), l = 0; l < o.length; ++l) { | |
| var s = o[l].innerText; | |
| s && (i = !0, addMatchesFromText(s, ShouldStopAfterFirstMatch.StopAfterFirstMatch)) | |
| } | |
| let c = placeholderInfoForElement(e); | |
| c && !c.AttributeMatchedWasValue && addMatchesFromText(c.Text, ShouldStopAfterFirstMatch.StopAfterFirstMatch); | |
| var u = e.getAttribute("title"); | |
| u && addMatchesFromText(u, ShouldStopAfterFirstMatch.StopAfterFirstMatch); | |
| var p = this._labelForElementIfElementAndLabelAreOnlyElementsOfTheirKindAmongSiblingElements(e); | |
| p && addMatchesFromText(p.innerText, ShouldStopAfterFirstMatch.CollectAllMatches); | |
| let d = this._ariaLabelForElementOrParentOfElement(e); | |
| d && addMatchesFromText(d, ShouldStopAfterFirstMatch.StopAfterFirstMatch); | |
| var f = e.getAttribute("formcontrolname"); | |
| f && f.length && addMatchesFromText(f, ShouldStopAfterFirstMatch.StopAfterFirstMatch); | |
| var m = this._pageScanContext, | |
| v = !0, | |
| w = !1; | |
| if (m && (m.shouldUsePageScan && (v = m.shouldUsePageScan()), m.reportPageScanUsedSuccessfully && (w = !0)), !v) return n; | |
| if (i) return w && m.reportPageScanUsedSuccessfully(!1), n; | |
| if (!0 === t) return n; | |
| var y, h = null, | |
| E = null; | |
| function betterMatchOfNewAndCurrentBestMatch(e, r) { | |
| return e && e.Match.length && (!r || !e.IsInCellAbove && r.IsInCellAbove || e.IsInCellAbove == r.IsInCellAbove && e.Distance < r.Distance) ? { | |
| FoundByPageScan: !0, | |
| Match: y.Match.toLowerCase(), | |
| Property: y.Property, | |
| Category: y.Category, | |
| ParentProperty: y.ParentProperty, | |
| Priority: M | |
| } : r | |
| } | |
| for (var M = 0; M < a; ++M) h = betterMatchOfNewAndCurrentBestMatch(y = this._matchFromPageScanBeforeElement(r[M], e), h), m && m.forwardScanIsFutile || (E = betterMatchOfNewAndCurrentBestMatch(y = this._matchFromPageScanAfterElement(r[M], e), E)); | |
| var S = !1; | |
| if (h && (n.push(h), S = !0), E) | |
| for (var g = 0, k = n.length; g < k; ++g) { | |
| var C = n[g]; | |
| if (E.Priority === C.Priority) { | |
| n.push(E), S = !0; | |
| break | |
| } | |
| } | |
| return w && m.reportPageScanUsedSuccessfully(S), n.length && c && c.AttributeMatchedWasValue && addMatchesFromText(c.Text, ShouldStopAfterFirstMatch.StopAfterFirstMatch), n | |
| }, | |
| _bestMatchFromMatches: function(e, r, t) { | |
| function firstMatchOfMostFrequentlyOccurringStringFromMatches(e, r) { | |
| for (var t = e.length, n = {}, a = 0; a < t; ++a) { | |
| var i, o = e[a]; | |
| switch (r) { | |
| case MatchCriteria.Property: | |
| i = o.Property || o.Match; | |
| break; | |
| case MatchCriteria.Category: | |
| i = o.Category || o.Match; | |
| break; | |
| case MatchCriteria.Literal: | |
| i = o.Match | |
| } | |
| n[i] ? n[i].Frequency += 1 : n[i] = { | |
| Frequency: 1, | |
| FirstMatchObject: o | |
| } | |
| } | |
| var l = []; | |
| for (var s in n) l.push(n[s]); | |
| var c = l.sort((function(e, r) { | |
| return r.Frequency - e.Frequency | |
| })), | |
| u = c.length; | |
| if (u <= 1) return null; | |
| if (r === MatchCriteria.Property) | |
| for (a = 0; a < u; ++a) { | |
| if (c[a].FirstMatchObject.ParentProperty in n) return c[a].FirstMatchObject | |
| } | |
| return c[0].Frequency > c[1].Frequency ? c[0].FirstMatchObject : void 0 | |
| } | |
| var n = e.length; | |
| if (0 === n) return null; | |
| if (1 === n) return e[0]; | |
| var a = firstMatchOfMostFrequentlyOccurringStringFromMatches(e, MatchCriteria.Property); | |
| return a || ((a = firstMatchOfMostFrequentlyOccurringStringFromMatches(e, MatchCriteria.Category)) ? a : e.sort((function(e, r) { | |
| return e.Priority - r.Priority | |
| }))[0]) | |
| }, | |
| _bestMatchForElement: function(e, r, t = !1) { | |
| if (!e) return null; | |
| var n = this._matchesForElement(e, r, t); | |
| return this._bestMatchFromMatches(n, e, r) | |
| }, | |
| _labelForElementIfElementAndLabelAreOnlyElementsOfTheirKindAmongSiblingElements: function(e) { | |
| for (var r = null, t = e.tagName, n = siblingsIncludingSelfForElement(e), a = n.length, i = 0; i < a; ++i) { | |
| var o = n[i]; | |
| if (e !== o) { | |
| if (t === o.tagName) return null; | |
| if (this._isLabelElement(o)) { | |
| if (r) return null; | |
| r = o | |
| } | |
| } | |
| } | |
| return r | |
| }, | |
| _ariaLabelForElementOrParentOfElement: function(e) { | |
| var r = e; | |
| for (var t = 0; t < 3 && r; ++t) { | |
| let e = r.getAttribute("aria-label"); | |
| if (e && !r.isHiddenFromAccessibilityTree()) return e; | |
| r = r.parentElementIncludingShadowDOMHost() | |
| } | |
| return null | |
| }, | |
| _cachedOneTimeCodePatternMatcher: function() { | |
| return this._cachedPatternMatchers("oneTimeCodeFieldLabelPatternMatchers")[0] | |
| }, | |
| _cachedPatternMatchers: function(e) { | |
| let r = "_" + e, | |
| t = this[r]; | |
| return t || (this[r] = FormMetadataJSController[e], t = this[r]), t | |
| }, | |
| _cachedElementPatternMatch: function(e, r, t) { | |
| var n = r + "_wasVisible", | |
| a = e[n]; | |
| if (!0 === a) return e[r]; | |
| var i = e.isVisible(); | |
| if (a === i) return e[r]; | |
| e[n] = i; | |
| let o = this._cachedPatternMatchers(t); | |
| return e[r] = this._bestMatchForElement(e, o), e[r] | |
| }, | |
| _isLabeledUsernameField: function(e) { | |
| return !!this._isAutoFillableTextField(e) && null !== this._cachedElementPatternMatch(e, "_usernameFieldPatternMatch", "usernameFieldLabelPatternMatchers") | |
| }, | |
| _isLabeledLoginField: function(e) { | |
| return !!this._isAutoFillableTextField(e) && null !== this._cachedElementPatternMatch(e, "_loginFieldPatternMatch", "loginFormTypePatternMatchers") | |
| }, | |
| _isLabeledSignUpField: function(e) { | |
| return !!this._isAutoFillableTextField(e) && null !== this._cachedElementPatternMatch(e, "_signUpFieldPatternMatch", "newAccountFormTypePatternMatchers") | |
| }, | |
| _isLabeledEmailField: function(e) { | |
| return !!this._isAutoFillableTextField(e) && ("email" === e.type || null !== this._cachedElementPatternMatch(e, "_emailFieldPatternMatch", "emailFieldLabelPatternMatchers")) | |
| }, | |
| _addressBookLabelForElement: function(e) { | |
| if (!this._isAutoFillableTextField(e) && !this._isAutoFillableSelectElement(e) && !this._isAutoFillableTextAreaElement(e)) return null; | |
| var r = this._cachedElementPatternMatch(e, "_addressBookPatternMatch", "addressBookFieldLabelPatternMatchers"); | |
| return r ? r.Match : null | |
| }, | |
| _elementDisallowsAutocomplete: function(e) { | |
| var r = e.getAttribute("autocomplete"); | |
| return r && "off" === r.toLowerCase() | |
| }, | |
| _isTextArea: function(e) { | |
| return e instanceof HTMLTextAreaElement | |
| }, | |
| _isSelectElement: function(e) { | |
| return e instanceof HTMLSelectElement | |
| }, | |
| _isLabelElement: function(e) { | |
| return e instanceof HTMLLabelElement | |
| }, | |
| _isRenderedFormControl: function(e) { | |
| var r = e.localName; | |
| if (!r) return !1; | |
| return r in { | |
| button: !0, | |
| isindex: !0, | |
| fieldset: !0, | |
| legend: !0, | |
| meter: !0, | |
| optgroup: !0, | |
| option: !0, | |
| progress: !0, | |
| select: !0, | |
| textarea: !0 | |
| } || e instanceof HTMLInputElement && (!!this._isElementAHiddenUsername(e) || (!e.type || "hidden" !== e.type)) | |
| }, | |
| _isEditablePlainTextField: function(e) { | |
| return !!isInputElement(e) && (!e.disabled && !e.readOnly && (!e.type || "text" === e.type)) | |
| }, | |
| _isTextField: function(e) { | |
| if (this._isTextArea(e)) return !0; | |
| if (!isInputElement(e)) return !1; | |
| var r = e.type; | |
| return !r || r in { | |
| date: !0, | |
| "datetime-local": !0, | |
| email: !0, | |
| isindex: !0, | |
| month: !0, | |
| number: !0, | |
| password: !0, | |
| search: !0, | |
| tel: !0, | |
| telephone: !0, | |
| text: !0, | |
| time: !0, | |
| url: !0, | |
| week: !0 | |
| } | |
| }, | |
| _isAutofocusedTextField: function(e) { | |
| return !!this._isTextField(e) && !0 === e.autofocus | |
| }, | |
| _isAutoFilledTextField: function(e) { | |
| return !!this._isTextField(e) && e.matches(":-webkit-autofill") | |
| }, | |
| _isSecureTextField: function(e) { | |
| if (!isInputElement(e)) return !1; | |
| if (e._wasPreviouslySecureTextField) return !0; | |
| try { | |
| if (e.matches(":-webkit-autofill-strong-password")) return e._wasPreviouslySecureTextField = !0, !0 | |
| } catch (e) {} | |
| const r = getComputedStyle(e, null).getPropertyValue("-webkit-text-security"), | |
| t = e.type; | |
| if ("none" !== r || "password" === t) return e._wasPreviouslySecureTextField = !0, !0; | |
| if (t && "text" !== t) return !1; | |
| const n = e._nextControlInLogicalForm; | |
| return !(!n || !this._looksLikeShowHidePasswordButton(n)) && (!!this._matchesPasswordFieldLabelPattern(e) && (e._wasPreviouslySecureTextField = !0, !0)) | |
| }, | |
| _looksLikePasswordCredentialField: function(e, r) { | |
| if (!this._isSecureTextField(e)) return !1; | |
| var t = e.getAttribute("maxlength"); | |
| return !(t && parseInt(t) < 4) && null === this._cachedElementPatternMatch(e, "_nonAccountPasswordSecureTextEntryFieldPatternMatch", "nonAccountPasswordSecureTextEntryFieldLabelPatternMatchers") | |
| }, | |
| _looksLikeShowHidePasswordButton: function(e) { | |
| return !(!this._isCustomFormButton(e) && !this._isCheckboxInputElement(e)) && !!this._cachedElementPatternMatch(e, "_showHideButtonPatternMatch", "showHideButtonLabelPatternMatchers") | |
| }, | |
| _isAutoFillable: function(e) { | |
| return !e.disabled && !e.readOnly | |
| }, | |
| _isAutoFillableSelectElement: function(e) { | |
| return this._isAutoFillable(e) && this._isSelectElement(e) | |
| }, | |
| _isAutoFillableTextAreaElement: function(e) { | |
| return this._isAutoFillable(e) && this._isTextArea(e) | |
| }, | |
| _isAutoFillableTextField: function(e) { | |
| return this._isAutoFillable(e) && this._isTextField(e) | |
| }, | |
| _looksLikeCreditCardNumberField: function(e, r) { | |
| if (!this._isAutoFillableTextField(e)) return !1; | |
| if (this._cachedElementPatternMatch(e, "_nonCreditCardNumberPatternMatch", "nonCreditCardCardNumberFieldLabelPatternMatchers")) return !1; | |
| if (r && -1 !== r.indexOf("cc-number")) return !0; | |
| const t = e.placeholder; | |
| let n = new RegExp("[0-9]{4}[ -][0-9]{4}[ -][0-9]{4}[ -][0-9]{4}"); | |
| if (t && n.test(t)) return !0; | |
| let a = e.getAttribute("data-val-regex-pattern"); | |
| if (a) { | |
| if (!new RegExp(a).test("12345")) return !1 | |
| } | |
| return null !== this._cachedElementPatternMatch(e, "_creditCardNumberPatternMatch", "creditCardNumberFieldLabelPatternMatchers") | |
| }, | |
| _looksLikeCreditCardSecurityCodeField: function(e, r) { | |
| return !!this._isAutoFillableTextField(e) && (!(!r || -1 === r.indexOf("cc-csc")) || null !== this._cachedElementPatternMatch(e, "_creditCardSecurityCodePatternMatch", "creditCardSecurityCodeFieldLabelPatternMatchers")) | |
| }, | |
| _looksLikeCreditCardCardholderField: function(e, r) { | |
| return !!this._isEditablePlainTextField(e) && (!(!r || -1 === r.indexOf("cc-name")) || null !== this._cachedElementPatternMatch(e, "_creditCardCardholderPatternMatch", "creditCardCardholderFieldLabelPatternMatchers")) | |
| }, | |
| _looksLikeCreditCardCompositeExpirationDateField: function(e, r) { | |
| return !(!this._isAutoFillableTextField(e) || this._isSecureTextField(e)) && (!(!r || -1 === r.indexOf("cc-exp")) || null !== this._cachedElementPatternMatch(e, "_creditCardCompositeExpirationDateFieldPatternMatch", "creditCardCompositeExpirationDateFieldLabelPatternMatchers")) | |
| }, | |
| _looksLikeCreditCardTypeField: function(e, r) { | |
| return !(!this._isSelectElement(e) && !isRadioButtonElement(e)) && (!(!r || -1 === r.indexOf("cc-type")) || null !== this._cachedElementPatternMatch(e, "_creditCardTypePatternMatch", "creditCardTypeFieldLabelPatternMatchers")) | |
| }, | |
| _looksLikeDayField: function(e) { | |
| return !(!this._isAutoFillableTextField(e) && !this._isAutoFillableSelectElement(e)) && null !== this._cachedElementPatternMatch(e, "_dayFieldPatternMatch", "dayFieldLabelPatternMatchers") | |
| }, | |
| _looksLikeMonthField: function(e, r) { | |
| if (!this._isAutoFillableTextField(e) && !this._isAutoFillableSelectElement(e)) return !1; | |
| if (r && -1 !== r.indexOf("cc-exp-month")) return !0; | |
| if (null !== this._cachedElementPatternMatch(e, "_monthFieldPatternMatch", "monthFieldLabelPatternMatchers")) return !0; | |
| if ("select" !== this._getTagName(e).toLowerCase()) return !1; | |
| var t = e.options.length; | |
| if (12 === t || 13 === t) | |
| for (var n = [selectElementOptionsSequenceAnalysis(e, "text"), selectElementOptionsSequenceAnalysis(e, "value")], a = n.length, i = 0; i < a; i++) { | |
| var o = n[i], | |
| l = o.lengthOfLongestSequence, | |
| s = o.lastNumberInSequence; | |
| if (l >= 11 && 12 === s) return !0 | |
| } | |
| return !1 | |
| }, | |
| _looksLikeYearField: function(e, r) { | |
| if (!this._isAutoFillableTextField(e) && !this._isAutoFillableSelectElement(e)) return !1; | |
| if (r && -1 !== r.indexOf("cc-exp-year")) return !0; | |
| if (null !== this._cachedElementPatternMatch(e, "_yearFieldPatternMatch", "yearFieldLabelPatternMatchers")) return !0; | |
| if ("select" !== this._getTagName(e).toLowerCase()) return !1; | |
| var t = selectElementOptionsSequenceAnalysis(e, "text"), | |
| n = t.lengthOfLongestSequence, | |
| a = t.lastNumberInSequence; | |
| return n >= e.options.length - 3 && 1e3 < a && a < 3e3 | |
| }, | |
| _looksLikeOneTimeCodeField: function(e, r, t, n, a, i) { | |
| if (!this._isAutoFillableTextField(e) && !this._isAutoFillableSelectElement(e)) return !1; | |
| if (r && -1 !== r.indexOf("one-time-code")) return !0; | |
| const o = e.type; | |
| if ("password" === o) { | |
| if (/^(.+\.)?chase\.com\.?$/.test(document.location.hostname)) return !1; | |
| if (this._matchesPasswordFieldLabelPattern(e)) return !1 | |
| } | |
| if (/^(.+\.)?amazon\.(com|ae|com\.au|com\.br|ca|fr|de|in|it|com\.mx|nl|es|com\.tr|co\.uk|sa|sg|se|pl)\.?$/.test(document.location.hostname)) { | |
| const r = /claim|promo/i; | |
| if (r.test(e.id) || r.test(e.name)) return !1 | |
| } | |
| if (null !== this._cachedElementPatternMatch(e, "_oneTimeCodePatternMatch", "oneTimeCodeFieldLabelPatternMatchers")) return !0; | |
| var l = e.getAttribute("maxlength"); | |
| if (l && parseInt(l) > 10) { | |
| if (!a) return !1; | |
| if (i.ControlLooksLikeIgnoredDataTypeField || i.ControlLooksLikeCreditCardCardholderField || i.ControlLooksLikeCreditCardNumberField || i.ControlLooksLikeCreditCardSecurityCodeField || i.ControlLooksLikeCreditCardTypeField || i.AddressBookLabel) return !1 | |
| } | |
| let s = e.pattern; | |
| if (s) { | |
| let e = new RegExp(s); | |
| if ((e.testMatchesEntireString("1234") || e.testMatchesEntireString("123456") || e.testMatchesEntireString("12345678")) && !e.testMatchesEntireString("a") && !e.testMatchesEntireString("A")) return !0 | |
| } | |
| const c = "number" === o || "tel" === o, | |
| u = l ? parseInt(l) : void 0; | |
| if (1 === u && (c || t || n)) return !0; | |
| const p = null !== this._cachedElementPatternMatch(e, "_weakOneTimeCodePatternMatch", "weakOneTimeCodeFieldLabelPatternMatchers"); | |
| if (c && p) return !0; | |
| const d = e.placeholder; | |
| if (d && p && /^[#]+$/.test(d.replace(/ /g, ""))) return !0; | |
| if ((4 === u || 6 === u) && p) return !0; | |
| if (7 === u && d && /\d{3} \d{3}/.test(d)) return !0; | |
| if (this._isAutofocusedTextField(e)) { | |
| if (p) return !0; | |
| if ("0" === e.min && "9" === e.max) return !0 | |
| } | |
| if (a) { | |
| let r = 0; | |
| p && r++, t && r++, n && r++; | |
| const a = this._cachedOneTimeCodePatternMatcher(), | |
| i = this._logicalFormForControl(e); | |
| if (i) { | |
| const e = i.backingElement; | |
| if (e) { | |
| const t = e.querySelector("h1, h2, h3"); | |
| t && this._matchPatternAgainstString(a, t.innerText) && r++ | |
| } | |
| } | |
| if (r >= 2) return !0; | |
| const o = function(e) { | |
| if (this._matchPatternAgainstString(a, e)) return !0; | |
| const r = e.replaceAll("-", " "); | |
| return e !== r && this._matchPatternAgainstString(a, r) | |
| }.bind(this), | |
| l = window.location.protocol, | |
| s = "http:" === l || "https:" === l, | |
| c = lastPathComponentFromAnchor(window.location); | |
| if (s && c && o(c)) return !0; | |
| { | |
| const e = document.querySelector("link[rel=canonical]"), | |
| r = e ? lastPathComponentForURLString(e.href) : null; | |
| if (r && o(r)) return !0 | |
| } | |
| if (this._matchFromPageScanBeforeElement(a, e, document.body)) return !0 | |
| } | |
| return !1 | |
| }, | |
| _looksLikeIgnoredDataTypeField: function(e) { | |
| return !!this._isAutoFillableTextField(e) && null !== this._cachedElementPatternMatch(e, "_ignoredDataTypePatternMatch", "ignoredDataTypeFieldLabelPatternMatchers") | |
| }, | |
| _collectTextSample: function(e) { | |
| if (!e) return ""; | |
| var r, t = "", | |
| n = e; | |
| do { | |
| r = (t = n.innerText.replace(/\s+/g, " ").trim()).length, n = n.parentElementIncludingShadowDOMHost() | |
| } while (r < 300 && n); | |
| return r > 300 && (t = t.substr(0, 300)), t | |
| }, | |
| _explicitMaxLength: function(e) { | |
| var r = e.getAttribute("maxlength"); | |
| return r ? parseInt(r) : void 0 | |
| }, | |
| _explicitMinLength: function(e) { | |
| let r = e.getAttribute("minlength"); | |
| return r ? parseInt(r) : void 0 | |
| }, | |
| _observedMaxLength: function(e) { | |
| if ("password" !== e.type) return null; | |
| const r = e.getAttribute("ng-pattern"); | |
| if (!r) return null; | |
| if (!r.startsWith("/") || !r.endsWith("/")) return null; | |
| let t; | |
| try { | |
| t = new RegExp(r.substr(1, r.length - 2)) | |
| } catch (e) { | |
| return null | |
| } | |
| if (!t || "/(?:)/" === t.toString()) return null; | |
| let n, a = "a1Abbb", | |
| i = !1; | |
| for (; a.length <= 20;) { | |
| let e = t.test(a); | |
| if (i && !e) return n; | |
| e && (i = !0, n = a.length), a += "b" | |
| } | |
| return null | |
| }, | |
| _collectControlMetadata: function(e, r, t, n, a, i, o) { | |
| var l = { | |
| ControlTagName: this._getTagName(e), | |
| ControlFieldName: this._getNameOrId(e), | |
| ControlUniqueID: this.controlUniqueID(e) | |
| }; | |
| e === innermostActiveElement() && (l.ControlIsActiveElement = !0), this._isAutoFilledTextField(e) && (l.ControlIsAutoFilledTextField = !0), e.disabled && (l.ControlIsDisabled = !0), e.readOnly && (l.ControlIsReadOnly = !0), this._isTextField(e) && (l.ControlIsTextField = !0), this._isSecureTextField(e) && (l.ControlIsSecureTextField = !0), this._isLabeledUsernameField(e) && (l.ControlIsLabeledUsernameField = !0), this._elementDisallowsAutocomplete(e) && (l.DisallowsAutocomplete = !0), this._isAutofocusedTextField(e) && (l.ControlIsAutofocusedTextField = !0); | |
| const s = e.className; | |
| s && s.length && (l.ControlFieldClass = s); | |
| const c = e.id; | |
| c && c.length && (l.ControlFieldID = c); | |
| const u = e.value; | |
| u && (l.ControlValue = u); | |
| const p = this._associatedUsernameForControl(e); | |
| p && (l.ControlAssociatedUsername = p); | |
| const d = e.maxLength; | |
| if (-1 !== d) l.ControlMaxLength = d; | |
| else { | |
| const r = this._observedMaxLength(e); | |
| r && (l.ControlMaxLength = r) | |
| } | |
| const f = this._explicitMinLength(e); | |
| f && f > 0 && (l.ControlMinLength = f); | |
| const m = e.size; | |
| m > 0 && (l.ControlSize = m), e.isVisible() && (l.IsVisible = !0); | |
| const v = this.controlCategory(e); | |
| v && v.length && (l.ControlCategory = v), isDateTimeInputElement(e) && (l.ControlRequiredFormatForDateTimeInput = this._requiredFormatForDateTimeInput[e.type]); | |
| var w = autocompleteTokens(e); | |
| if (w && (l.AutocompleteTokens = w, -1 !== w.indexOf("username") ? l.ControlClaimsToBeUsernameViaAutocompleteAttribute = !0 : -1 !== w.indexOf("current-password") ? l.ControlClaimsToBeCurrentPasswordViaAutocompleteAttribute = !0 : -1 !== w.indexOf("new-password") && (l.ControlClaimsToBeNewPasswordViaAutocompleteAttribute = !0)), this._looksLikePasswordCredentialField(e) && (l.ControlLooksLikePasswordCredentialField = !0, "function" == typeof this._collectExtraControlMetadata && this._collectExtraControlMetadata(e, l), l.IsVisible && !t && (l.IsVisible = !isElementPositionedToBeEffectivelyInvisible(e))), l.ControlIsActiveElement || 1 !== r) { | |
| const r = this._collectSelectElementInfo(e); | |
| r && (l.SelectElementInfo = r); | |
| var y = placeholderInfoForElement(e); | |
| y && !y.AttributeMatchedWasValue && (l.ControlPlaceholder = y.Text), this._looksLikeIgnoredDataTypeField(e) ? l.ControlLooksLikeIgnoredDataTypeField = !0 : this._looksLikeCreditCardCardholderField(e, w) ? l.ControlLooksLikeCreditCardCardholderField = !0 : this._looksLikeCreditCardNumberField(e, w) ? l.ControlLooksLikeCreditCardNumberField = !0 : this._looksLikeCreditCardSecurityCodeField(e, w) ? l.ControlLooksLikeCreditCardSecurityCodeField = !0 : this._looksLikeCreditCardTypeField(e, w) && (l.ControlLooksLikeCreditCardTypeField = !0), this._looksLikeMonthField(e, w) ? l.ControlLooksLikeMonthField = !0 : this._looksLikeYearField(e, w) ? l.ControlLooksLikeYearField = !0 : this._looksLikeDayField(e) ? l.ControlLooksLikeDayField = !0 : !l.ControlLooksLikeCreditCardSecurityCodeField && this._looksLikeCreditCardCompositeExpirationDateField(e, w) && (l.ControlLooksLikeCreditCardCompositeExpirationDateField = !0) | |
| } | |
| if (1 === r || l.ControlLooksLikeIgnoredDataTypeField || l.ControlIsSecureTextField || l.ControlLooksLikeCreditCardNumberField || l.ControlLooksLikeCreditCardSecurityCodeField || l.ControlLooksLikeCreditCardTypeField || (l.AddressBookLabel = this._addressBookLabelForElement(e)), l.ControlIsActiveElement || 2 === r || o) { | |
| let r = i && l.IsVisible; | |
| this._looksLikeOneTimeCodeField(e, w, n, a, r, l) && (l.ControlLooksLikeOneTimeCodeField = !0) | |
| } | |
| return l | |
| }, | |
| _usesGeneratedPassword: function(e) { | |
| for (var r = !1, t = this._elementsWithGeneratedPasswords.length, n = 0; n < t; ++n) { | |
| var a = this._elementsWithGeneratedPasswords[n]; | |
| if (e.containsControl(a)) { | |
| if (a.value !== this._generatedPasswords[n]) return !1; | |
| r = !0 | |
| } | |
| } | |
| return r | |
| }, | |
| _associatedUsernameForControl: function(e) { | |
| return this._isAutoFillableTextField(e) ? e.getAttribute("data-username") : null | |
| }, | |
| _collectSelectElementInfo: function(e) { | |
| if (!this._isAutoFillableSelectElement(e)) return null; | |
| if (!e.options.length) return null; | |
| for (var r = [], t = e.options, n = t.length, a = 0; a < n; ++a) { | |
| var i = t[a]; | |
| i.disabled || (i.label || i.text) && r.push([a, i.label ? i.label : i.text]) | |
| } | |
| return r.length ? r : null | |
| }, | |
| _stringsToInspectForDeterminingFormType: function(e) { | |
| let r = [], | |
| t = e.formElement, | |
| n = t.getAttribute("id"), | |
| a = t.getAttribute("name"); | |
| n && r.push(n), a && r.push(a); | |
| let i = queryAllBySelector(t, "legend"); | |
| 1 === i.length && r.push(i[0].innerText); | |
| let o = 0; | |
| for (let e of this._forms) e.formElement.isVisible() && o++; | |
| if (1 === o && t.isVisible() && !t.ownerDocument.defaultView.frameElement && t.getBoundingClientRect().top < .8 * document.documentElement.clientHeight) { | |
| let e = documentTitleWithoutHostNamePrefix(); | |
| e && r.push(e); | |
| const t = lastPathComponentFromAnchor(window.location); | |
| t && t.length && r.push(t) | |
| } | |
| let l = []; | |
| if (t.isVisible()) { | |
| let e = t.getBoundingClientRect(), | |
| n = !1; | |
| for (let a = 0, i = t; a <= 2 && i; ++a, i = i.parentElementIncludingShadowDOMHost()) { | |
| let t = Array.prototype.slice.call(queryAllBySelector(i, "h1, h2, h3, [class*='header' i]")), | |
| a = [ | |
| [], | |
| [], | |
| [], | |
| [] | |
| ]; | |
| for (headerElement of t) { | |
| let e = headerElement.tagName; | |
| "H1" === e ? a[0].push(headerElement) : "H2" === e ? a[1].push(headerElement) : "H3" === e ? a[2].push(headerElement) : a[3].push(headerElement) | |
| } | |
| let o = !0; | |
| for (headerElementsOfType of a) { | |
| let t = headerElementsOfType.length; | |
| if (0 === t) { | |
| o = !1; | |
| continue | |
| } | |
| if (t > 1) break; | |
| let a = headerElementsOfType[0]; | |
| if (!a.isVisible()) break; | |
| let i = a.getBoundingClientRect(); | |
| e.left <= i.left && i.right <= e.right && i.distanceToRect(e) < 100 && (r.push(a.innerText), n = !0); | |
| break | |
| } | |
| if (o) break | |
| } | |
| if (!n) { | |
| let t = queryAllBySelector(document.documentElement, "h1"); | |
| if (1 === t.length) { | |
| let n = t[0], | |
| a = n.getBoundingClientRect(); | |
| e.left <= a.left && a.right <= e.right && a.distanceToRect(e) < 100 && r.push(n.innerText) | |
| } | |
| } | |
| for (let r = 0, n = t; r <= 2 && n; ++r, n = n.parentElementIncludingShadowDOMHost()) { | |
| let r = Array.prototype.slice.call(queryAllBySelector(n, "button, input[type=submit]")).filter((function(r) { | |
| if (!r.isVisible()) return !1; | |
| let n = r.getBoundingClientRect(); | |
| return n.top > e.bottom && !t.contains(r) && e.left <= n.left && n.right <= e.right && n.distanceToRect(e) < 100 | |
| })); | |
| if (r.length) { | |
| l = r; | |
| break | |
| } | |
| } | |
| } | |
| let s = !1, | |
| c = [], | |
| u = e.elements.concat(l); | |
| for (const e of u) { | |
| const t = e.type; | |
| "password" === t && (s = !0), "submit" !== t && "button" !== t || s && (e.isVisible() ? this._addInterestingStringsForButton(e, r) : c.push(e)) | |
| } | |
| if (0 === r.length) | |
| for (control of c) this._addInterestingStringsForButton(control, r); | |
| return r | |
| }, | |
| _addInterestingStringsForButton: function(e, r) { | |
| const t = e.getAttribute("id"); | |
| t && r.push(t); | |
| const n = e.getAttribute("value"); | |
| n && r.push(n); | |
| const a = e.innerText; | |
| a && a.length > 0 && r.push(a) | |
| }, | |
| _autoFillFormTypeOfTypesUsingKeywordMatching: function(e, r, t, n) { | |
| for (var a = r.length, i = [], o = 0; o < a; ++o) { | |
| var l = (0, mapOfFormTypeToProducerOfAssociatedKeywords[r[o]])(); | |
| i.push(l) | |
| } | |
| var s = this._stringsToInspectForDeterminingFormType(e), | |
| c = this._keywordsIndicatingNonAutoFillableFormType; | |
| c || (c = FormMetadataJSController.keywordsIndicatingNonAutoFillableFormType, this._keywordsIndicatingNonAutoFillableFormType = c); | |
| var u = c.length, | |
| p = []; | |
| for (o = 0; o < a; ++o) p.push(0); | |
| if (n) | |
| for (const [e, t] of Object.entries(n)) p[r.indexOf(parseInt(e))] += t; | |
| for (var d = s.length, f = 0; f < d; ++f) { | |
| for (var m = s[f].toLowerCase(), v = 0; v < u; ++v) | |
| if (-1 !== m.indexOf(c[v])) return 2; | |
| for (o = 0; o < a; ++o) { | |
| l = i[o]; | |
| for (var w in l) - 1 !== m.indexOf(w) && (p[o] += l[w]) | |
| } | |
| } | |
| for (let t = 0; t < a; ++t) { | |
| const n = this._mapOfFormTypeToExtraScoreProducer[r[t]]; | |
| p[t] += n(e) | |
| } | |
| for (o = 0; o < a; ++o) 0 !== p[o] && 0; | |
| var y = formActionAsAnchorElement(e.formElement, !0); | |
| if (y) { | |
| var h = y.pathname.toLowerCase() + y.search.toLowerCase(); | |
| for (o = 0; o < a; ++o) { | |
| l = i[o]; | |
| for (var w in l) - 1 !== h.indexOf(w) && (p[o] += l[w]) | |
| } | |
| } | |
| var E = [], | |
| M = 0; | |
| for (o = 0; o < a; ++o) { | |
| var S = p[o]; | |
| S > 0 && (S >= M ? (M = S, E.unshift(o)) : E.push(o)) | |
| } | |
| if (1 === E.length) return r[E[0]]; | |
| if (E.length > 1) { | |
| var g = E[0]; | |
| if (p[g] > p[E[1]]) return r[g] | |
| } | |
| return t | |
| }, | |
| _matchesNonUsernameFieldLabelPattern: function(e) { | |
| if (this._nonUsernameFieldPatternMatchers || (this._nonUsernameFieldPatternMatchers = FormMetadataJSController.nonUsernameFieldLabelPatternMatchers), this._bestMatchForElement(e, this._nonUsernameFieldPatternMatchers)) return !0; | |
| const r = e.value; | |
| if (!e.id && !e.name && r && e.disabled) | |
| for (const e of this._nonUsernameFieldPatternMatchers) | |
| if (this._matchPatternAgainstString(e, r)) return !0; | |
| return !1 | |
| }, | |
| _matchSearchFieldLabelPattern: function(e) { | |
| if (this._searchFieldLabelPatternMatchers || (this._searchFieldLabelPatternMatchers = FormMetadataJSController.searchFieldLabelPatternMatchers), this._bestMatchForElement(e, this._searchFieldLabelPatternMatchers, !0)) return !0; | |
| const r = e.value; | |
| if (!e.id && !e.name && r && e.disabled) | |
| for (const e of this._searchFieldLabelPatternMatchers) | |
| if (this._matchPatternAgainstString(e, r)) return !0; | |
| return !1 | |
| }, | |
| _matchesNonEmailFieldLabelPattern: function(e) { | |
| return this._nonEmailFieldPatternMatchers || (this._nonEmailFieldPatternMatchers = FormMetadataJSController.nonEmailFieldLabelPatternMatchers), !!this._bestMatchForElement(e, this._nonEmailFieldPatternMatchers) | |
| }, | |
| _scoreForUsernameFieldCandidateFromLabelingAndPositionOfField: function(e, r, t) { | |
| return this._isLabeledUsernameField(e) ? r ? 4 : 6 : this._isLabeledEmailField(e) && !this._matchesNonEmailFieldLabelPattern(e) ? r ? 3 : 5 : t ? 2 : 1 | |
| }, | |
| _scoreForUsernameFieldCandidate: function(e, r, t) { | |
| var n = this._scoreForUsernameFieldCandidateFromLabelingAndPositionOfField(e, r, t); | |
| return e.isVisible() && (n += .5), this._matchesNonUsernameFieldLabelPattern(e) && (n -= 2), this._matchSearchFieldLabelPattern(e) && (n -= 1.5), e.readOnly && (n -= .5), e.id || e.name || (n -= 1), n | |
| }, | |
| _matchesPasswordFieldLabelPattern: function(e) { | |
| return this._passwordFieldPatternMatchers || (this._passwordFieldPatternMatchers = FormMetadataJSController.passwordFieldLabelPatternMatchers), !!this._bestMatchForElement(e, this._passwordFieldPatternMatchers) | |
| }, | |
| _matchesConfirmPasswordFieldLabelPattern: function(e, r = !1) { | |
| return this._confirmPasswordFieldPatternMatchers || (this._confirmPasswordFieldPatternMatchers = FormMetadataJSController.confirmPasswordFieldLabelPatternMatchers), !!this._bestMatchForElement(e, this._confirmPasswordFieldPatternMatchers, r) | |
| }, | |
| _matchesConfirmEmailFieldLabelPattern: function(e) { | |
| return !!this._isLabeledEmailField(e) && (this._confirmEmailFieldPatternMatchers || (this._confirmEmailFieldPatternMatchers = FormMetadataJSController.confirmEmailFieldLabelPatternMatchers), !!this._bestMatchForElement(e, this._confirmEmailFieldPatternMatchers)) | |
| }, | |
| _collectRadioButtonInfo: function(e, r) { | |
| var t = e.radioButtonsWithName(r), | |
| n = t.length; | |
| function addTrimmedStringToArray(e, r) { | |
| var t = e.trim(); | |
| t && r.push(t) | |
| } | |
| function addImageInfoToRadioButtonInfo(e, r) { | |
| addTrimmedStringToArray(e.alt, r), addTrimmedStringToArray(e.title, r), addTrimmedStringToArray(lastPathComponentForURLString(e.src), r) | |
| } | |
| function radioButtonInfoFromLabelElement(e) { | |
| let r = []; | |
| addTrimmedStringToArray(e.innerText, r); | |
| let t = queryAllBySelector(e, "img"), | |
| n = t.length; | |
| for (let e = 0; e < n; ++e) addImageInfoToRadioButtonInfo(t[e], r); | |
| return r.length ? r : null | |
| } | |
| for (var a = !1, i = {}, o = 0; o < n; ++o) { | |
| i[(p = t[o]).value] = [p.value]; | |
| for (var l = this._labelsForElement(p), s = l.length, c = 0; c < s; ++c) { | |
| a = !0; | |
| var u = radioButtonInfoFromLabelElement(l[c]); | |
| u && (i[p.value] = i[p.value].concat(u)) | |
| } | |
| } | |
| if (a) return i; | |
| for (o = 0; o < n; ++o) { | |
| for (var p, d = "", f = (p = t[o]).traverseNextNode(); f && !this._isRenderedFormControl(f); f = f.traverseNextNode()) { | |
| var m = f.localName; | |
| if ("td" === m || "tr" === m || "ul" === m || "ol" === m || "dl" === m) break; | |
| if (f instanceof HTMLImageElement) addImageInfoToRadioButtonInfo(f, i[p.value]); | |
| else if (f.nodeType === Node.TEXT_NODE) { | |
| var v = f.nodeValue.trim(); | |
| if (v && (d += v.substr(0, 64 - d.length)), d.length >= 64) break | |
| } | |
| } | |
| d && i[p.value].push(d) | |
| } | |
| return i | |
| }, | |
| _bestUsernameFieldCandidate: function(e, r, t) { | |
| var n = r.FormControls, | |
| a = n.filter((function(e) { | |
| return e.ControlClaimsToBeUsernameViaAutocompleteAttribute | |
| })); | |
| if (1 === a.length) return a[0]; | |
| for (var i = 0, o = [], l = !1, s = n.indexOf(t), c = n.length, u = 0; u < c; ++u) { | |
| var p = n[u]; | |
| if (p === t) { | |
| l = !0; | |
| continue | |
| } | |
| if (!p.ControlIsTextField || p.ControlIsSecureTextField) continue; | |
| if (r.IsVisible && !n[u].IsVisible && !p.ControlValue) continue; | |
| const a = 100; | |
| let m = e[u]; | |
| if (!(m.value.length > a)) { | |
| var d = u + 1 < c && u + 1 === s, | |
| f = this._scoreForUsernameFieldCandidate(m, l, d); | |
| f > i ? (o = [u], i = f) : f === i && o.push(u) | |
| } | |
| } | |
| var m = o.length; | |
| if (i < 3 && m > 1) return null; | |
| if (i < 1) return null; | |
| switch (m) { | |
| case 0: | |
| return null; | |
| case 1: | |
| return n[o[0]]; | |
| default: | |
| var v = e[s].getBoundingClientRect(), | |
| w = {}; | |
| return o.forEach((function(r) { | |
| w[r] = v.distanceToRect(e[r].getBoundingClientRect()) | |
| })), n[o.sort((function(e, r) { | |
| return w[e] - w[r] | |
| }))[0]] | |
| } | |
| }, | |
| _autoFillFormTypeFromCandidateFormTypes: function(e, r, t) { | |
| switch (r.length) { | |
| case 1: | |
| return r[0]; | |
| case 2: | |
| return this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [r[0], r[1]], t); | |
| default: | |
| return 1 | |
| } | |
| }, | |
| _shouldTrustElementThatClaimsToBeCurrentPasswordViaAutocompleteAttribute: function(e) { | |
| return !e.dataset.valRegexPattern | |
| }, | |
| _identifyFormTypeAndPasswordFieldIndicesFromAutocompleteAttributes: function(e, r) { | |
| const t = [null, null]; | |
| var n = r.length; | |
| if (n > 3) return t; | |
| for (var a = [], i = [], o = 0; o < n; ++o) { | |
| var l = r[o]; | |
| l.ControlClaimsToBeCurrentPasswordViaAutocompleteAttribute && this._shouldTrustElementThatClaimsToBeCurrentPasswordViaAutocompleteAttribute(e[o]) ? a.push(o) : l.ControlClaimsToBeNewPasswordViaAutocompleteAttribute && i.push(o) | |
| } | |
| var s = a.length, | |
| c = i.length; | |
| if (s + c !== n) return t; | |
| switch (n) { | |
| case 0: | |
| return t; | |
| case 1: | |
| if (s) return [ | |
| [3], { | |
| PasswordFieldIndex: a[0] | |
| } | |
| ]; | |
| if (c) return [null, null, 4]; | |
| case 2: | |
| if (1 === s && 1 === c) return [ | |
| [5], { | |
| OldPasswordFieldIndex: a[0], | |
| PasswordFieldIndex: i[0] | |
| } | |
| ]; | |
| if (0 === s && 2 === c) return [ | |
| [4, 5], { | |
| PasswordFieldIndex: i[0], | |
| ConfirmationFieldIndex: i[1] | |
| } | |
| ]; | |
| break; | |
| case 3: | |
| if (1 === s && 2 === c) return [ | |
| [5], { | |
| OldPasswordFieldIndex: a[0], | |
| PasswordFieldIndex: i[0], | |
| ConfirmationFieldIndex: i[1] | |
| } | |
| ] | |
| } | |
| return t | |
| }, | |
| _identifyPasswordFieldIndices: function(e, r) { | |
| var t = e.length; | |
| if (0 === t) return {}; | |
| if (1 === t) return { | |
| PasswordFieldIndex: 0 | |
| }; | |
| if (this._oldPasswordPatternMatchers || (this._oldPasswordPatternMatchers = FormMetadataJSController.oldPasswordFieldLabelPatternMatchers), 2 === t) { | |
| return this._bestMatchForElement(r[0], this._oldPasswordPatternMatchers) ? { | |
| OldPasswordFieldIndex: 0, | |
| PasswordFieldIndex: 1 | |
| } : this._bestMatchForElement(r[1], this._oldPasswordPatternMatchers) ? { | |
| OldPasswordFieldIndex: 1, | |
| PasswordFieldIndex: 0 | |
| } : { | |
| PasswordFieldIndex: 0, | |
| ConfirmationFieldIndex: 1 | |
| } | |
| } | |
| return this._bestMatchForElement(r[t - 1], this._oldPasswordPatternMatchers) ? { | |
| PasswordFieldIndex: t - 3, | |
| ConfirmationFieldIndex: t - 2, | |
| OldPasswordFieldIndex: t - 1 | |
| } : { | |
| PasswordFieldIndex: t - 2, | |
| ConfirmationFieldIndex: t - 1, | |
| OldPasswordFieldIndex: t - 3 | |
| } | |
| }, | |
| _removePlaceholderTextForFormMetadata: function(e, r) { | |
| for (var t = e.length, n = 0; n < t; ++n) { | |
| var a = r.FormControls[n]; | |
| if (a.ControlValue && a.ControlIsTextField && !a.ControlIsSecureTextField && !a.ControlIsReadOnly) { | |
| var i = legacyPlaceholderInfoForInputElement(e[n]); | |
| i && (i.AttributeMatchedWasValue && a.ControlUniqueID === r.UsernameElementUniqueID || (a.ControlValue = "")) | |
| } | |
| } | |
| }, | |
| _isPasswordConfirmPair: function(e, r) { | |
| var t = this._matchesPasswordFieldLabelPattern(e), | |
| n = this._matchesConfirmPasswordFieldLabelPattern(r); | |
| return t && n | |
| }, | |
| _trailingArgumentsForCollectControlMetadataFunction: function(e, r, t) { | |
| let n = isElementPositionedToBeEffectivelyInvisible(e.backingElement), | |
| a = !1, | |
| i = !1; | |
| if (innermostActiveElement() || 2 === r) { | |
| let e = this._cachedOneTimeCodePatternMatcher(); | |
| a = !!this._matchPatternAgainstString(e, documentTitleWithoutHostNamePrefix()), i = t && !!this._matchPatternAgainstString(e, t.pathname) | |
| } | |
| let o = !1; | |
| for (let r of e.elements) | |
| if (this._isTextField(r) && r.isVisible()) { | |
| if (o) { | |
| o = !1; | |
| break | |
| } | |
| o = !0 | |
| } return [n, i, a, o] | |
| }, | |
| _collectFormMetadata: function(e, r) { | |
| var t, n, a = (n = 0, { | |
| backwardScanCache: new WeakMap, | |
| forwardScanCache: new WeakMap, | |
| shouldUsePageScan: function() { | |
| return n < 40 | |
| }, | |
| willStartCollectingMetadataForControl: function() { | |
| t = null | |
| }, | |
| reportPageScanUsedSuccessfully: function(e) { | |
| t = !(!e && !t) | |
| }, | |
| didFinishCollectingMetadataForControl: function() { | |
| !0 === t ? n = 0 : !1 === t && n++ | |
| } | |
| }); | |
| this._pageScanContext = a; | |
| var i = e.formElement, | |
| o = { | |
| FormID: e.formUniqueID, | |
| ContainsActiveElement: !1, | |
| FormControls: [], | |
| AutoFillFormType: 1, | |
| UsernameElementUniqueID: void 0, | |
| OldPasswordElementUniqueID: void 0, | |
| PasswordElementUniqueID: void 0, | |
| ConfirmPasswordElementUniqueID: void 0, | |
| UsesGeneratedPassword: this._usesGeneratedPassword(e), | |
| FirstCreditCardCardholderFieldOrCreditCardNumberFieldUniqueID: void 0, | |
| IsVisible: i.isVisible(), | |
| TextSample: void 0, | |
| RequestType: r | |
| }; | |
| this._elementDisallowsAutocomplete(i) && (o.DisallowsAutocomplete = !0), i instanceof HTMLFormElement && (o.FormIsSearchForm = this._isSearchForm(i, !0)), e.isAnnotated && (o.Annotations = e.annotations); | |
| var l = i.getAttribute("rel"); | |
| l && "async" === l.toLowerCase() && (o.FormUsesRelAsync = !0); | |
| let s = formActionAsAnchorElement(i); | |
| if (s && s.href && (o.FormAction = s.href), 4 == r || 2 == r) { | |
| let e = selectorForElement(i); | |
| e && e.length && (o.LogicalFormElementSelector = e) | |
| } | |
| var c = e.elements, | |
| u = !c.some(this._isSecureTextField.bind(this)); | |
| let [p, d, f, m] = this._trailingArgumentsForCollectControlMetadataFunction(e, r, s); | |
| var v = 0, | |
| w = !1, | |
| y = [], | |
| h = [], | |
| E = [], | |
| M = [], | |
| S = void 0, | |
| g = void 0, | |
| k = void 0, | |
| C = void 0, | |
| b = !1, | |
| F = !1, | |
| P = {}, | |
| B = []; | |
| let _ = !1; | |
| for (var L = c.length, I = 0; I < L; ++I) { | |
| var A = c[I]; | |
| if (u && !A.isVisible() && !A._relatesToCredentials) continue; | |
| var T = isRadioButtonElement(A), | |
| x = A.name; | |
| if (T && P[x]) continue; | |
| a.willStartCollectingMetadataForControl(); | |
| const t = !_; | |
| var U = this._collectControlMetadata(A, r, p, d, f, m, t); | |
| if (a.didFinishCollectingMetadataForControl(), _ = !0, I + 1 < L && (U.ControlNextFieldUniqueID = this.controlUniqueID(c[I + 1])), o.FormControls.push(U), B.push(A), U.IsVisible || !o.IsVisible || A._relatesToCredentials) | |
| if (U.ControlIsActiveElement && (o.ContainsActiveElement = !0), x && T) P[x] = 1, U.ControlValue = "", U.RadioButtonInfo = this._collectRadioButtonInfo(e, x); | |
| else if (U.ControlIsTextField || U.SelectElementInfo) | |
| if (!F && U.ControlLooksLikeCreditCardSecurityCodeField && (F = !0), b || !U.ControlLooksLikeCreditCardCardholderField && !U.ControlLooksLikeCreditCardNumberField) { | |
| if (!(U.ControlLooksLikeDayField || U.ControlLooksLikeMonthField || U.ControlLooksLikeYearField || U.ControlLooksLikeCreditCardCompositeExpirationDateField)) { | |
| if (U.ControlLooksLikePasswordCredentialField) { | |
| if (U.ControlLooksLikeCreditCardSecurityCodeField || U.ControlLooksLikeIgnoredDataTypeField) continue; | |
| A.isHiddenFromAccessibilityTree() ? (E.push(A), M.push(U)) : (y.push(A), h.push(U)) | |
| } | |
| if (this._isLabeledEmailField(A)) { | |
| if (++v > 2) { | |
| w = !1; | |
| continue | |
| } | |
| if (!(I + 1 < L && this._matchesConfirmEmailFieldLabelPattern(c[I + 1]))) continue; | |
| w = !0 | |
| } | |
| } | |
| } else b = !0, o.FirstCreditCardCardholderFieldOrCreditCardNumberFieldUniqueID = U.ControlUniqueID | |
| }!y.length && E.length && (y = E, h = M); | |
| var O, D, R = this._identifyFormTypeAndPasswordFieldIndicesFromAutocompleteAttributes(y, h), | |
| N = R[0], | |
| q = R[1], | |
| z = R[2], | |
| j = q || this._identifyPasswordFieldIndices(h, y); | |
| if (void 0 !== j.PasswordFieldIndex && (S = h[j.PasswordFieldIndex], o.PasswordElementUniqueID = S.ControlUniqueID, g = this._explicitMaxLength(y[j.PasswordFieldIndex])), void 0 !== j.ConfirmationFieldIndex && (k = h[j.ConfirmationFieldIndex], o.ConfirmPasswordElementUniqueID = k.ControlUniqueID, C = this._explicitMaxLength(y[j.ConfirmationFieldIndex])), void 0 !== j.OldPasswordFieldIndex) { | |
| var V = h[j.OldPasswordFieldIndex]; | |
| o.OldPasswordElementUniqueID = V.ControlUniqueID | |
| } | |
| if (S && (O = this._bestUsernameFieldCandidate(B, o, S)), O ? o.UsernameElementUniqueID = O.ControlUniqueID : D = this._findHiddenUsernameElement(e, o, B), N) o.AutoFillFormType = this._autoFillFormTypeFromCandidateFormTypes(e, N, N[0]); | |
| else if (1 === y.length && w) o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], 4); | |
| else if (o.UsernameElementUniqueID) switch (y.length) { | |
| case 0: | |
| break; | |
| case 1: | |
| if (F && o.UsernameElementUniqueID === o.FirstCreditCardCardholderFieldOrCreditCardNumberFieldUniqueID && h[0].ControlLooksLikeCreditCardNumberField) break; | |
| if (this._matchesConfirmPasswordFieldLabelPattern(y[0])) o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], z || 3); | |
| else { | |
| let r = y[0], | |
| t = {}, | |
| n = 2 * this._numberOfForgotUserNameEmailOrPasswordAffordancesFollowingElement(r, i); | |
| n && (t[3] = n), o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 3], z || 3, t) | |
| } | |
| break; | |
| case 2: | |
| g === C ? o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], 4) : C ? this._isPasswordConfirmPair(y[0], y[1]) ? o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], 2) : o.AutoFillFormType = 2 : o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], 2); | |
| break; | |
| case 3: | |
| g === C || !C || this._isPasswordConfirmPair(y[j.PasswordFieldIndex], y[j.ConfirmationFieldIndex]) ? o.AutoFillFormType = 5 : o.AutoFillFormType = 2; | |
| break; | |
| default: | |
| o.AutoFillFormType = 2 | |
| } else if (2 === y.length || 3 === y.length) | |
| if (g !== C && C) 2 === y.length ? this._isPasswordConfirmPair(y[0], y[1]) ? o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], 2) : o.AutoFillFormType = 2 : this._isPasswordConfirmPair(y[j.PasswordFieldIndex], y[j.ConfirmationFieldIndex]) ? o.AutoFillFormType = 5 : o.AutoFillFormType = 2; | |
| else { | |
| let r = {}; | |
| this._isPasswordConfirmPair(y[j.PasswordFieldIndex], y[j.ConfirmationFieldIndex]) && (r[5] = 2), o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 5], 5, r) | |
| } | |
| else if (1 === y.length) { | |
| var W = y[0]; | |
| if (this._matchesConfirmPasswordFieldLabelPattern(W, !0)) o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [3, 5], 5); | |
| else if (this._matchesPasswordFieldLabelPattern(W)) | |
| if (this._isElementFollowedByForgotPasswordAffordance(W, i)) o.AutoFillFormType = 3; | |
| else { | |
| var H = [4, 3, 5]; | |
| o.AutoFillFormType = this._autoFillFormTypeOfTypesUsingKeywordMatching(e, H, 2), 2 === o.AutoFillFormType && D && (o.AutoFillFormType = 4) | |
| } | |
| else o.AutoFillFormType = 2 | |
| } else 0 !== y.length && (o.AutoFillFormType = 2); | |
| if (1 === o.AutoFillFormType) { | |
| var G = null, | |
| J = null, | |
| X = 0, | |
| $ = B.length; | |
| for (I = 0; I < $; ++I) { | |
| A = B[I]; | |
| var Q = o.FormControls[I], | |
| K = Q.IsVisible; | |
| if (K && Q.ControlIsTextField && X++, X > 1) break; | |
| var Z = this._isLabeledEmailField(A); | |
| if (K && (Q.ControlClaimsToBeUsernameViaAutocompleteAttribute || Q.ControlIsLabeledUsernameField || Z || this._isLabeledLoginField(A)) && !this._matchesNonUsernameFieldLabelPattern(A) && !this._matchSearchFieldLabelPattern(A) && !A.readOnly && "INPUT" === A.tagName && !this._isLabeledSignUpField(A)) { | |
| let r = {}; | |
| this._isElementFollowedByForgotUserNameOrEmailAffordance(A, i) && (r[3] = 2), 3 === this._autoFillFormTypeOfTypesUsingKeywordMatching(e, [4, 3], Z ? 4 : 3, r) && (G = A, J = Q) | |
| } | |
| const r = Q.AutocompleteTokens; | |
| if (r) { | |
| const e = r.includes("username"), | |
| t = r.includes("webauthn"), | |
| n = e || Z; | |
| (e && t || n) && (G = A, J = Q) | |
| } | |
| } | |
| 1 === X && J && !controlAppearsToBePartOfPhotoTaggingInterface(G) && (o.AutoFillFormType = 3, o.UsernameElementUniqueID = J.ControlUniqueID) | |
| } | |
| 4 === o.AutoFillFormType && o.FirstCreditCardCardholderFieldOrCreditCardNumberFieldUniqueID === o.UsernameElementUniqueID && (o.UsernameElementUniqueID = void 0), !o.UsernameElementUniqueID && D && this._extractMetadataForHiddenUsernameElement(D, o, B), 3 != o.AutoFillFormType && 4 != o.AutoFillFormType && 5 != o.AutoFillFormType && (o.UsernameElementUniqueID = void 0, o.OldPasswordElementUniqueID = void 0, o.PasswordElementUniqueID = void 0, o.ConfirmPasswordElementUniqueID = void 0), o.IsVisible || 3 == o.AutoFillFormType || 4 == o.AutoFillFormType || 5 == o.AutoFillFormType || (o.AutoFillFormType = 2), 1 !== r && (o.TextSample = this._collectTextSample(e._formElement)), o.FormIsEligibleForAutomaticLogin = this._formIsEligibleForAutomaticLogin(o, e.backingElement); | |
| for (let e of o.FormControls) | |
| if (e.ControlLooksLikeOneTimeCodeField && this._oneTimeCodeIsEligibleForAutomaticLogin(e, o)) { | |
| e.OneTimeCodeIsEligibleForAutomaticLogin = !0; | |
| break | |
| } var Y = FormMetadataJSController.shouldIncludeNonEmptyFields; | |
| if (o.IsVisible) | |
| for (I = ($ = B.length) - 1; I >= 0; --I) this._shouldIncludeControlMetadata(Y, o, B[I], o.FormControls[I]) || (4 !== r ? (o.FormControls.splice(I, 1), B.splice(I, 1)) : o.FormControls[I].WOULD_NORMALLY_NOT_BE_SENT_TO_UI_PROCESS = !0); | |
| return this._removePlaceholderTextForFormMetadata(B, o), delete this._pageScanContext, o | |
| }, | |
| _formIsEligibleForAutomaticLogin: function(e, r) { | |
| if (3 !== e.AutoFillFormType) return !1; | |
| let t = !1; | |
| for (const r of e.FormControls) { | |
| const n = r.ControlUniqueID; | |
| if (n === e.UsernameElementUniqueID || n === e.PasswordElementUniqueID) continue; | |
| if (r.ControlIsDisabled) continue; | |
| if (r.ControlIsReadOnly) continue; | |
| if (!r.IsVisible) continue; | |
| const a = this.formControlWithUniqueID(n); | |
| if (!a) continue; | |
| if (this._isTextArea(a)) return !1; | |
| if (this._isSelectElement(a)) return !1; | |
| if (this._isSubmitButton(a)) continue; | |
| if (this._looksLikeShowHidePasswordButton(a)) continue; | |
| if (!isInputElement(a)) continue; | |
| const i = a.type; | |
| if ("button" !== i && "reset" !== i && "submit" !== i) { | |
| if (!this._isCheckboxInputElement(a)) return !1; | |
| if (t) return !1; | |
| t = !0 | |
| } | |
| } | |
| return !r || !r.querySelector("iframe[title*=captcha i]") | |
| }, | |
| _oneTimeCodeIsEligibleForAutomaticLogin: function(e, r) { | |
| for (const e of r.FormControls) { | |
| if (e.ControlLooksLikeOneTimeCodeField) continue; | |
| if (e.ControlIsDisabled) continue; | |
| if (e.ControlIsReadOnly) continue; | |
| if (!e.IsVisible) continue; | |
| const r = this.formControlWithUniqueID(e.ControlUniqueID); | |
| if (!r) continue; | |
| if (this._isTextArea(r)) return !1; | |
| if (this._isSelectElement(r)) return !1; | |
| if (this._isSubmitButton(r)) continue; | |
| if (this._looksLikeShowHidePasswordButton(r)) continue; | |
| if (!isInputElement(r)) continue; | |
| const t = r.type; | |
| if ("button" !== t && "reset" !== t && "submit" !== t) return !1 | |
| } | |
| return !0 | |
| }, | |
| _shouldIncludeControlMetadata: function(e, r, t, n) { | |
| if (t._relatesToCredentials) return !0; | |
| if (n.IsVisible) { | |
| if (formControlHasBeenClassifiedInAnInterestingWay(n)) return !0; | |
| if (e && n.ControlValue) return !0 | |
| } | |
| return !(!r.UsernameElementUniqueID || n.ControlUniqueID !== r.UsernameElementUniqueID) | |
| }, | |
| _isElementAHiddenUsername: function(e) { | |
| const r = /user|email/i; | |
| return "hidden" === e.type && (!(!r.test(e.getAttribute("id")) && !r.test(e.getAttribute("name"))) && !!isValidUsernameOrEmail(e.value)) | |
| }, | |
| _findHiddenUsernameElement: function(e, r, t) { | |
| var n = e.formElement; | |
| if (!(n instanceof HTMLElement)) return; | |
| let a = queryAllBySelector(n, "input"), | |
| i = a.length; | |
| for (let e = 0; e < i; ++e) { | |
| let r = a[e]; | |
| if (this._isElementAHiddenUsername(r)) return r | |
| } | |
| return null | |
| }, | |
| _extractMetadataForHiddenUsernameElement: function(e, r, t) { | |
| var n = { | |
| ControlTagName: this._getTagName(e), | |
| ControlFieldName: this._getNameOrId(e), | |
| ControlUniqueID: this.controlUniqueID(e), | |
| ControlIsReadOnly: !0, | |
| ControlValue: e.value | |
| }; | |
| r.UsernameElementUniqueID = n.ControlUniqueID, r.FormControls.push(n), t.push(e) | |
| }, | |
| _usernameFieldForPasswordField: function(e) { | |
| var r = FormMetadataJS._cachedMetadataForLogicalForm(this._logicalFormForControl(e)); | |
| return r && r.UsernameElementUniqueID ? FormMetadataJS.formControlWithUniqueID(r.UsernameElementUniqueID) : null | |
| }, | |
| _cachedMetadataForLogicalForm: function(e) { | |
| for (var r = -1, t = 0; t < this._forms.length; ++t) | |
| if (this._forms[t].formUniqueID === e.formUniqueID) { | |
| r = t; | |
| break | |
| } if (-1 === r) return null; | |
| var n = this._formMetadata[r], | |
| a = n.FormControls, | |
| i = a.length; | |
| for (t = 0; t < i; ++t) { | |
| var o = a[t], | |
| l = this.formControlWithUniqueID(o.ControlUniqueID); | |
| l && (o.ControlValue = l.value, o.ControlIsAutoFilledTextField = this._isAutoFilledTextField(l)) | |
| } | |
| return n.UsesGeneratedPassword = this._usesGeneratedPassword(e), n.Annotations = e.annotations, n | |
| }, | |
| _markFormIsBestForPageLevelAutoFill: function() { | |
| var e = this._indexOfFormWithHighestScoreIfGreaterThanZero((function(e) { | |
| var r = e.PasswordElementUniqueID ? 0 : -1; | |
| return function scoreForFormType(e) { | |
| switch (e) { | |
| case 3: | |
| return 30; | |
| case 4: | |
| case 5: | |
| return 20; | |
| case 1: | |
| return 10; | |
| case 0: | |
| case 2: | |
| return 0 | |
| } | |
| return -100 | |
| }(e.AutoFillFormType) + function scoreForVisibility(e) { | |
| return e ? 50 : 0 | |
| }(e.IsVisible) + r | |
| })); | |
| null !== e && (this._formMetadata[e].FormIsBestForPageLevelAutoFill = !0) | |
| }, | |
| _markFormIsBestForStreamlinedLogin: function() { | |
| let e = this._indexOfFormWithHighestScoreIfGreaterThanZero((function(e, r) { | |
| if (!e.IsVisible) return 0; | |
| let t = r.getBoundingClientRect(); | |
| if (!rectIsWithinDocumentViewport(t)) return 0; | |
| if (t.bottom + window.scrollY < 80) { | |
| let e = !(location.hash || location.pathname && "/" !== location.pathname || location.search), | |
| r = t.width / t.height; | |
| if (!e && r > 4) return 0 | |
| } | |
| if (r.closest("footer")) return 0; | |
| let n = 3 === e.AutoFillFormType, | |
| a = 0, | |
| i = e.FormControls, | |
| o = i.length; | |
| for (var l = 0; l < o; ++l) { | |
| let r = i[l]; | |
| if (n) { | |
| r.ControlIsAutofocusedTextField && (a += 1); | |
| let t = r.ControlUniqueID; | |
| if (t === e.UsernameElementUniqueID || t === e.PasswordElementUniqueID) { | |
| a += 10; | |
| continue | |
| } | |
| } | |
| r.OneTimeCodeIsEligibleForAutomaticLogin && (a += 5) | |
| } | |
| return a | |
| })); | |
| null !== e && (this._formMetadata[e].FormIsBestForStreamlinedLogin = !0) | |
| }, | |
| _indexOfFormWithHighestScoreIfGreaterThanZero: function(e) { | |
| for (var r = null, t = null, n = this._formMetadata.length, a = 0; a < n; ++a) { | |
| var i = e(this._formMetadata[a], this._forms[a].backingElement); | |
| (null === t || i > t) && (r = a, t = i) | |
| } | |
| return t > 0 ? r : null | |
| }, | |
| isAnyFormAnnotated: function() { | |
| var e = this._forms; | |
| if (!e) return !1; | |
| for (var r = e.length, t = 0; t < r; ++t) | |
| if (e[t].isAnnotated) return !0; | |
| return !1 | |
| }, | |
| _logicalFormWithID: function(e) { | |
| for (var r = this._forms, t = r.length, n = 0; n < t; ++n) { | |
| var a = r[n]; | |
| if (a.formUniqueID === e) return a | |
| } | |
| return null | |
| }, | |
| _indexOfLogicalFormWithID: function(e) { | |
| return this._forms.findIndex((function(r) { | |
| return r.formUniqueID === e | |
| })) | |
| }, | |
| clearAnnotationsForFormWithID: function(e) { | |
| var r = this._logicalFormWithID(e); | |
| r && r.clearAnnotations() | |
| }, | |
| annotateFormWithID: function(e, r) { | |
| var t = this._logicalFormWithID(e); | |
| t && t.annotate(r) | |
| }, | |
| _collectMetadata: function(e) { | |
| var r = this._logicalFormsInPage(100, 10); | |
| this._forms = r, this._formMetadata = []; | |
| for (var t = r.length, n = 0; n < t; ++n) { | |
| 2 === e && "function" == typeof willCollectFormMetadata && willCollectFormMetadata(); | |
| let t = this._collectFormMetadata(r[n], e); | |
| 2 === e && "function" == typeof evaluateCustomJavaScript && (t.ResultFromEvaluatingCustomJavaScript = evaluateCustomJavaScript(r[n], t)), this._formMetadata.push(t) | |
| } | |
| this._markFormIsBestForPageLevelAutoFill(), 0 !== e && this._markFormIsBestForStreamlinedLogin() | |
| }, | |
| _collectAndCacheFormMetadata: function(e, r) { | |
| for (var t = this._collectFormMetadata(e, r), n = -1, a = this._forms.length, i = 0; i < a; ++i) | |
| if (this._forms[i].formUniqueID === e.formUniqueID) { | |
| n = i; | |
| break | |
| } return -1 === n ? (this._forms.push(e), this._formMetadata.push(t)) : this._formMetadata[n] = t, t | |
| }, | |
| _metadataForFormWithID: function(e) { | |
| for (var r = 0; r < this._formMetadata.length; ++r) { | |
| var t = this._formMetadata[r]; | |
| if (t.FormID == e) return t | |
| } | |
| return null | |
| }, | |
| _recollectMetadataForFormWithID: function(e) { | |
| const r = this._logicalFormWithID(e); | |
| return r ? this._collectAndCacheFormMetadata(r, 0) : null | |
| }, | |
| _fillControlWithGeneratedPassword: function(e, r) { | |
| var t = this._elementsWithGeneratedPasswords.indexOf(e); - 1 === t && (this._elementsWithGeneratedPasswords.push(e), t = this._elementsWithGeneratedPasswords.length - 1), this._generatedPasswords[t] = r, this._autoFillControlWithValue(e, r, !0) | |
| }, | |
| fillFormWithPassword: function(e, r, t) { | |
| var n = this._metadataForFormWithID(e); | |
| if (null === n) return null; | |
| const a = n.PasswordElementUniqueID, | |
| i = a ? this.formControlWithUniqueID(a) : void 0, | |
| o = t ? this.formControlWithUniqueID(t) : void 0; | |
| var l = i || o; | |
| const s = a || t; | |
| if (!l) return null; | |
| this._fillControlWithGeneratedPassword(l, r); | |
| let c = n.ConfirmPasswordElementUniqueID; | |
| c || 5 !== n.AutoFillFormType && 4 !== n.AutoFillFormType || (c = (n = this._recollectMetadataForFormWithID(e) || n).ConfirmPasswordElementUniqueID); | |
| let u = c ? this.formControlWithUniqueID(c) : null; | |
| return u ? (this._fillControlWithGeneratedPassword(u, r), [s, c]) : [s] | |
| }, | |
| fillFieldWithGeneratedPassword: function(e, r) { | |
| var t = this.formControlWithUniqueID(e); | |
| t && this._isTextField(t) && this._fillControlWithGeneratedPassword(t, r) | |
| }, | |
| clearField: function(e) { | |
| var r = this.formControlWithUniqueID(e); | |
| this._clearFormField(r) | |
| }, | |
| _clearFormField: function(e) { | |
| if (e) | |
| if (this._isSelectElement(e)) e.selectedIndex = 0; | |
| else if (isDateTimeInputElement(e)) e.value = ""; | |
| else if (isRadioButtonElement(e)) { | |
| let r = this._logicalFormForControl(e).radioButtonsWithName(e.name), | |
| t = r.length; | |
| for (let e = 0; e < t; ++e) r[e].checked = !1 | |
| } else if (this._isTextField(e) && e.value.length) { | |
| var r = e.matches(":focus"); | |
| r || e.dispatchEvent(new Event("focus")), e.dispatchEvent(eventThatBubbles("keydown")), e.value = "", e.dispatchEvent(eventThatBubbles("input")), e.dispatchEvent(eventThatBubbles("keyup")), e.dispatchEvent(eventThatBubbles("change")), r || e.dispatchEvent(new Event("blur")) | |
| } | |
| }, | |
| focusFormForStreamlinedLogin: function(e) { | |
| var r = this._metadataForFormWithID(e); | |
| if (null !== r) { | |
| var t = function uniqueControlIDToFocus(e) { | |
| for (const r of e.FormControls) { | |
| const t = r.ControlUniqueID; | |
| if (t === e.UsernameElementUniqueID || t === e.PasswordElementUniqueID || r.ControlLooksLikeOneTimeCodeField) return t | |
| } | |
| }(r); | |
| if (t) { | |
| var n = this.formControlWithUniqueID(t); | |
| rectIsWithinDocumentViewport(n.getBoundingClientRect()) && n.focus() | |
| } | |
| } | |
| }, | |
| formsAndMetadata: function(e) { | |
| return visibilityCacheGeneration++, this._collectMetadata(e), [this._forms.map((function(e) { | |
| return e.formElement | |
| })), this._formMetadata] | |
| }, | |
| formControlWithUniqueID: function(e) { | |
| return this._controlUniqueIDToControlMap[e] | |
| }, | |
| formElementWithFormID: function(e) { | |
| for (var r = 0; r < this._formMetadata.length; ++r) { | |
| if (this._formMetadata[r].FormID === e) return this._forms[r].formElement | |
| } | |
| return null | |
| }, | |
| selectIfTextField: function(e) { | |
| this._isTextField(e) && e.select() | |
| }, | |
| _getOrCreateCachedMetadataForLogicalForm: function(e, r) { | |
| var t = this._cachedMetadataForLogicalForm(e); | |
| return !t || null != r && 1 === t.RequestType && 1 !== r ? this._collectAndCacheFormMetadata(e, r) : t | |
| }, | |
| _getOrCreateLogicalFormForTextFieldOrSelectElement: function(e) { | |
| var r = this._indexInCacheOfLogicalFormContainingControl(e); | |
| if (-1 === r) r = this._forms.length; | |
| else | |
| for (var t = this._formMetadata[r].FormControls, n = t.length, a = e._controlUniqueID, i = 0; i < n; ++i) | |
| if (t[i].ControlUniqueID === a) return this._forms[r]; | |
| var o = this._logicalFormsInPage(), | |
| l = o.length; | |
| for (i = 0; i < l; ++i) { | |
| var s = o[i]; | |
| if (s.containsControl(e)) { | |
| var c = this._indexOfLogicalFormWithID(s.formUniqueID); | |
| return -1 !== c && (r = c), this._forms[r] = s, this._formMetadata[r] = this._collectFormMetadata(s, 0), this._forms[r] | |
| } | |
| } | |
| return null | |
| }, | |
| _cachedMetadataForFormWithTextFieldOrSelectElement: function(e, r) { | |
| if (!this._isTextField(e) && !this._isSelectElement(e)) return null; | |
| var t = this._getOrCreateLogicalFormForTextFieldOrSelectElement(e); | |
| return t ? this._getOrCreateCachedMetadataForLogicalForm(t, r) : null | |
| }, | |
| _isAnyPasswordElementUniqueID: function(e, r) { | |
| return e.PasswordElementUniqueID === r || e.ConfirmPasswordElementUniqueID === r || e.OldPasswordElementUniqueID === r | |
| }, | |
| _isCurrentPasswordElementUniqueID: function(e, r) { | |
| switch (e.AutoFillFormType) { | |
| case 4: | |
| case 5: | |
| return e.OldPasswordElementUniqueID === r; | |
| default: | |
| return e.PasswordElementUniqueID === r | |
| } | |
| }, | |
| _isNewPasswordElementUniqueID: function(e, r) { | |
| switch (e.AutoFillFormType) { | |
| case 4: | |
| case 5: | |
| return e.PasswordElementUniqueID === r || e.ConfirmPasswordElementUniqueID === r; | |
| default: | |
| return !1 | |
| } | |
| }, | |
| _updateAnnotationsForField: function(e) { | |
| var r = this._getOrCreateLogicalFormForTextFieldOrSelectElement(e); | |
| if (r) { | |
| var t = this._getOrCreateCachedMetadataForLogicalForm(r); | |
| if (t) { | |
| var n = e._controlUniqueID; | |
| this._isCurrentPasswordElementUniqueID(t, n) ? r.annotate({ | |
| CurrentPassword: e.value | |
| }) : this._isNewPasswordElementUniqueID(t, n) ? r.annotate({ | |
| NewPassword: e.value | |
| }) : t.UsernameElementUniqueID === n && r.annotate({ | |
| Username: e.value | |
| }), isCredentialElementUniqueID(t, n) && (e._relatesToCredentials = "" !== e.value) | |
| } | |
| } | |
| }, | |
| _removeUnparentedLogicalFormsFromCache() { | |
| for (let e = this._forms.length - 1; e >= 0; --e) this._forms[e].formElement.isConnected || (this._forms.splice(e, 1), this._formMetadata.splice(e, 1)) | |
| }, | |
| textFieldOrSelectElementMetadata: function(e, r) { | |
| visibilityCacheGeneration++, this._removeUnparentedLogicalFormsFromCache(); | |
| var t = [null, null], | |
| n = this._cachedMetadataForFormWithTextFieldOrSelectElement(e, r); | |
| if (!n) return t; | |
| this._pageScanContext = { | |
| backwardScanCache: new WeakMap, | |
| forwardScanCache: new WeakMap | |
| }; | |
| let a = this._logicalFormWithID(n.FormID), | |
| i = formActionAsAnchorElement(a.formElement), | |
| [o, l, s, c] = this._trailingArgumentsForCollectControlMetadataFunction(a, r, i); | |
| var u = this._collectControlMetadata(e, 0, o, l, s, c, !0); | |
| return delete this._pageScanContext, u.ControlLooksLikeOneTimeCodeField && this._oneTimeCodeIsEligibleForAutomaticLogin(u, n) && (u.OneTimeCodeIsEligibleForAutomaticLogin = !0), u.SelectionStart = e.selectionStart, u.SelectionLength = e.selectionEnd - e.selectionStart, 3 === r && (!n.UsernameElementUniqueID && this._isAnyPasswordElementUniqueID(n, u.ControlUniqueID) && a.isAnnotated && a.annotate({ | |
| Username: null | |
| }), this._updateAnnotationsForField(e)), t[0] = u, t[1] = n, t | |
| }, | |
| disableSpellCheckInFieldIfNeeded: function(e) { | |
| if (e) { | |
| var r = this.formControlWithUniqueID(e); | |
| r && this._isAutoFillableTextField(r) && FormMetadataJSController.setInputElementSpellCheckEnabled(r, !1) | |
| } | |
| }, | |
| selectionRangeInField: function(e) { | |
| var r = this.formControlWithUniqueID(e); | |
| return r && this._isTextField(r) ? [r.selectionStart, r.selectionEnd - r.selectionStart] : null | |
| }, | |
| setFormFieldSelection: function(e, r, t) { | |
| var n = this.formControlWithUniqueID(e); | |
| n && this._isTextField(n) && (n.selectionStart = r, n.selectionEnd = r + t) | |
| }, | |
| replaceFormFieldRangeAndSelectTail: function(e, r, t, n, a) { | |
| var i = this.formControlWithUniqueID(e); | |
| if (i && this._isTextField(i)) { | |
| var o = i.value, | |
| l = o.substr(0, r) + n + o.substr(r + t); | |
| i.value = l, i.selectionStart = a, i.selectionEnd = l.length, i.dispatchEvent(eventThatBubbles("input")), i.dispatchEvent(eventThatBubbles("change")) | |
| } | |
| }, | |
| _collectVisibleNonEmptyTextFieldsAndTextAreasInForm: function(e, r, t) { | |
| visibilityCacheGeneration++; | |
| for (var n = e.elements, a = n.length, i = 0; i < a; ++i) { | |
| var o = n[i]; | |
| o.isVisible() && (null != o.value && o.value.length && (this._isTextField(o) ? r.push(o) : this._isTextArea(o) && t.push(o))) | |
| } | |
| }, | |
| visibleNonEmptyFormTextControls: function() { | |
| var e = [], | |
| r = []; | |
| let t = queryAllBySelector(document, "form"); | |
| for (let n = 0; n < t.length; ++n) this._collectVisibleNonEmptyTextFieldsAndTextAreasInForm(t[n], e, r); | |
| return [e, r] | |
| }, | |
| visibleNonEmptyFormTextControlsInForm: function(e) { | |
| var r = [], | |
| t = []; | |
| return this._collectVisibleNonEmptyTextFieldsAndTextAreasInForm(e, r, t), [r, t] | |
| }, | |
| _autoFillRadioButton: function(e, r, t) { | |
| for (var n = this._logicalFormForControl(e).radioButtonsWithName(e.name), a = n.length, i = 0; i < a; ++i) { | |
| var o = n[i]; | |
| if (o.value === r) return o.dispatchEvent(eventThatBubbles("click")), o.checked = !0, void FormMetadataJSController.setInputElementAutofilled(o, t) | |
| } | |
| }, | |
| _autoFillControlWithValueAndOptions: function(e, r, t, n, a) { | |
| isRadioButtonElement(e) ? this._autoFillRadioButton(e, r, n) : this._isSelectElement(e) ? this._autoFillSelectWithOptionIndex(e, r, n) : (t == ShouldFocusAndBlur.Yes && e.dispatchEvent(new Event("focus")), e.dispatchEvent(eventThatBubbles("keydown")), e.value = r, this._updateAnnotationsForField(e), e.dispatchEvent(eventThatBubbles("input")), e.dispatchEvent(eventThatBubbles("keyup")), e.dispatchEvent(eventThatBubbles("change")), t == ShouldFocusAndBlur.Yes && e.dispatchEvent(new Event("blur")), a ? FormMetadataJSController.setInputElementAutofilledAndObscured(e, r.length && n) : FormMetadataJSController.setInputElementAutofilled(e, r.length && n)) | |
| }, | |
| _autoFillControlWithValue: function(e, r, t, n) { | |
| this._autoFillControlWithValueAndOptions(e, r, ShouldFocusAndBlur.Yes, t, n) | |
| }, | |
| _autoFillSelectWithOptionIndex: function(e, r, t) { | |
| e.dispatchEvent(eventThatBubbles("mousedown")), e.dispatchEvent(new Event("focus")), e.selectedIndex !== r && (e.selectedIndex = r, e.dispatchEvent(eventThatBubbles("input")), e.dispatchEvent(eventThatBubbles("change"))), e.dispatchEvent(eventThatBubbles("mouseup")), e.dispatchEvent(eventThatBubbles("click")), e.dispatchEvent(new Event("blur")), FormMetadataJSController.setInputElementAutofilled(e, t) | |
| }, | |
| autoFillOneTimeCodeFieldsWithValue: function(e, r) { | |
| let t = innermostActiveElement(); | |
| this._clearFormField(t); | |
| var n = e.split(""), | |
| a = n.length, | |
| i = function(e) { | |
| if (e >= a) return void FormMetadataJSController.finishedAutoFillingOneTimeCode(r); | |
| let t = innermostActiveElement(); | |
| var o = t.value + n[e]; | |
| this._autoFillControlWithValueAndOptions(t, o, ShouldFocusAndBlur.No, !0, !1), setTimeout(i, 0, e + 1) | |
| }.bind(this); | |
| i(0) | |
| }, | |
| _removeGeneratedPasswordForElement: function(e) { | |
| let r = this._elementsWithGeneratedPasswords.indexOf(e); - 1 !== r && (this._elementsWithGeneratedPasswords.splice(r, 1), this._generatedPasswords.splice(r, 1)) | |
| }, | |
| _shouldSelectElementAfterFillingForm: function(e) { | |
| if (!/(^|\.)etrade\.com/.test(document.location.hostname)) return !0; | |
| var r = this._cachedMetadataForLogicalForm(e); | |
| return !r || 3 !== r.AutoFillFormType | |
| }, | |
| autoFillControlsByID: function(e, r, t, n, a, i) { | |
| const o = arguments[arguments.length - 1]; | |
| let l = n; | |
| if (l) { | |
| let e = l.getAttribute("onfocus"); | |
| e && e.length && /this\.value/.test(e) && (l = null) | |
| } else l = innermostActiveElement(); | |
| var s = null; | |
| for (controlUniqueID in e) { | |
| s = this.formControlWithUniqueID(controlUniqueID)._logicalForm; | |
| break | |
| } | |
| var c = function() { | |
| a ? innermostActiveElement().blur() : l && this._shouldSelectElementAfterFillingForm(s) && this.selectIfTextField(l), FormMetadataJSController.finishedAutoFillingControlsInForm(this._getOrCreateCachedMetadataForLogicalForm(s), o) | |
| }.bind(this); | |
| if (r) { | |
| var u = []; | |
| for (var p in e) e.hasOwnProperty(p) && u.push([this.formControlWithUniqueID(p), e[p]]); | |
| this._synchronouslyAutoFillControls(u, t, c) | |
| } else this._asynchronouslyAutoFillControls(e, s, t, i, c) | |
| }, | |
| _synchronouslyAutoFillControls: function(e, r, t) { | |
| for (var n = e.length, a = 0; a < n; ++a) { | |
| var i = e[a][0], | |
| o = e[a][1]; | |
| this._autoFillControlWithValue(i, o, r) | |
| } | |
| t() | |
| }, | |
| _asynchronouslyAutoFillControls: function(e, r, t, n, a) { | |
| var i = r.elements, | |
| o = i.length, | |
| l = function(r) { | |
| if (r >= o) a(); | |
| else { | |
| var s = i[r], | |
| c = e[s._controlUniqueID]; | |
| if (void 0 !== c) { | |
| let e = n.some((e => s._controlUniqueID.includes(e))); | |
| this._autoFillControlWithValue(s, c, t, e) | |
| } | |
| setTimeout(l, 0, r + 1) | |
| } | |
| }.bind(this); | |
| l(0) | |
| }, | |
| _isInputAllowedInSearchForm: function(e, r) { | |
| var t = this._getTagName(e).toLowerCase(); | |
| if ("button" === t || "fieldset" === t) return !0; | |
| if ("select" === t) return !r || isSelectInDefaultState(e); | |
| if ("input" !== t) return !1; | |
| var n = e.type; | |
| return "radio" === n || "checkbox" === n ? !r || isCheckboxOrRadioButtonInDefaultState(e) : "hidden" === n || "reset" === n || "submit" === n || "button" === n || this._isTextField(e) && !this._isSecureTextField(e) | |
| }, | |
| _isSearchForm: function(e, r) { | |
| if ("get" !== e.method) return !1; | |
| for (var t = e.elements, n = t.length, a = 0; a < n; ++a) | |
| if (!this._isInputAllowedInSearchForm(t[a], r)) return !1; | |
| return !0 | |
| }, | |
| _shouldInputBeIncludedInSearchURLQuery: function(e) { | |
| if (e.disabled) return !1; | |
| if (!e.name.length) return !1; | |
| if (!e.value.length) return !1; | |
| if (this._isSelectElement(e)) return !0; | |
| var r = this._getTagName(e).toLowerCase(), | |
| t = e.type; | |
| return "button" === r ? "submit" === t : "input" === r && ("submit" === t || ("checkbox" === t || "radio" === t ? e.checked : "hidden" === t || this._isTextField(e))) | |
| }, | |
| _isSubmitButton: function(e) { | |
| return (e instanceof HTMLButtonElement || e instanceof HTMLInputElement) && (e.type && "submit" === e.type) | |
| }, | |
| _isCustomFormButton: function(e) { | |
| return "button" === e.type && (e instanceof HTMLButtonElement || e instanceof HTMLInputElement) | |
| }, | |
| _isCheckboxInputElement: function(e) { | |
| return "checkbox" === e.type && e instanceof HTMLInputElement | |
| }, | |
| _setQueryString: function(e, r) { | |
| var t = document.createElement("a"); | |
| return t.href = e, t.search = r, t.href | |
| }, | |
| searchTextFieldFormSubmissionURLString: function(e, r) { | |
| if (visibilityCacheGeneration++, !this._isTextField(e) || this._isSecureTextField(e) || !e.isVisible()) return null; | |
| var t = e.form; | |
| if (!t) return null; | |
| var n = t.getAttribute("action"); | |
| if (!n || !n.length) return null; | |
| if (!/^https?:/i.test(t.action)) return null; | |
| if (!this._isSearchForm(t, r)) return null; | |
| for (var a = null, i = "", o = t.elements, l = o.length, s = 0; s < l; ++s) { | |
| var c = o[s]; | |
| if ((c === e || this._shouldInputBeIncludedInSearchURLQuery(c)) && (!this._isSubmitButton(c) || (a || (a = c), c === a))) { | |
| i.length && (i += "&"); | |
| var u = c === e ? "{searchTerms}" : urlEncode(c.value); | |
| i += urlEncode(c.name) + "=" + u | |
| } | |
| } | |
| return this._setQueryString(t.action, i) | |
| } | |
| }; | |
| var FormMetadataJS = new FormMetadata; | |
| ! function webpackUniversalModuleDefinition(e, r) { | |
| "object" == typeof exports && "object" == typeof module ? module.exports = r() : "function" == typeof define && define.amd ? define([], r) : "object" == typeof exports ? exports.jsQR = r() : e.jsQR = r() | |
| }("undefined" != typeof self ? self : this, (function() { | |
| return function(e) { | |
| var r = {}; | |
| function __webpack_require__(t) { | |
| if (r[t]) return r[t].exports; | |
| var n = r[t] = { | |
| i: t, | |
| l: !1, | |
| exports: {} | |
| }; | |
| return e[t].call(n.exports, n, n.exports, __webpack_require__), n.l = !0, n.exports | |
| } | |
| return __webpack_require__.m = e, __webpack_require__.c = r, __webpack_require__.d = function(e, r, t) { | |
| __webpack_require__.o(e, r) || Object.defineProperty(e, r, { | |
| configurable: !1, | |
| enumerable: !0, | |
| get: t | |
| }) | |
| }, __webpack_require__.n = function(e) { | |
| var r = e && e.__esModule ? function getDefault() { | |
| return e.default | |
| } : function getModuleExports() { | |
| return e | |
| }; | |
| return __webpack_require__.d(r, "a", r), r | |
| }, __webpack_require__.o = function(e, r) { | |
| return Object.prototype.hasOwnProperty.call(e, r) | |
| }, __webpack_require__.p = "", __webpack_require__(__webpack_require__.s = 3) | |
| }([function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = function() { | |
| function BitMatrix(e, r) { | |
| this.width = r, this.height = e.length / r, this.data = e | |
| } | |
| return BitMatrix.createEmpty = function(e, r) { | |
| return new BitMatrix(new Uint8ClampedArray(e * r), e) | |
| }, BitMatrix.prototype.get = function(e, r) { | |
| return !(e < 0 || e >= this.width || r < 0 || r >= this.height) && !!this.data[r * this.width + e] | |
| }, BitMatrix.prototype.set = function(e, r, t) { | |
| this.data[r * this.width + e] = t ? 1 : 0 | |
| }, BitMatrix.prototype.setRegion = function(e, r, t, n, a) { | |
| for (var i = r; i < r + n; i++) | |
| for (var o = e; o < e + t; o++) this.set(o, i, !!a) | |
| }, BitMatrix | |
| }(); | |
| r.BitMatrix = n | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(2); | |
| r.addOrSubtractGF = function addOrSubtractGF(e, r) { | |
| return e ^ r | |
| }; | |
| var a = function() { | |
| function GenericGF(e, r, t) { | |
| this.primitive = e, this.size = r, this.generatorBase = t, this.expTable = new Array(this.size), this.logTable = new Array(this.size); | |
| for (var a = 1, i = 0; i < this.size; i++) this.expTable[i] = a, (a *= 2) >= this.size && (a = (a ^ this.primitive) & this.size - 1); | |
| for (i = 0; i < this.size - 1; i++) this.logTable[this.expTable[i]] = i; | |
| this.zero = new n.default(this, Uint8ClampedArray.from([0])), this.one = new n.default(this, Uint8ClampedArray.from([1])) | |
| } | |
| return GenericGF.prototype.multiply = function(e, r) { | |
| return 0 === e || 0 === r ? 0 : this.expTable[(this.logTable[e] + this.logTable[r]) % (this.size - 1)] | |
| }, GenericGF.prototype.inverse = function(e) { | |
| if (0 === e) throw new Error("Can't invert 0"); | |
| return this.expTable[this.size - this.logTable[e] - 1] | |
| }, GenericGF.prototype.buildMonomial = function(e, r) { | |
| if (e < 0) throw new Error("Invalid monomial degree less than 0"); | |
| if (0 === r) return this.zero; | |
| var t = new Uint8ClampedArray(e + 1); | |
| return t[0] = r, new n.default(this, t) | |
| }, GenericGF.prototype.log = function(e) { | |
| if (0 === e) throw new Error("Can't take log(0)"); | |
| return this.logTable[e] | |
| }, GenericGF.prototype.exp = function(e) { | |
| return this.expTable[e] | |
| }, GenericGF | |
| }(); | |
| r.default = a | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(1), | |
| a = function() { | |
| function GenericGFPoly(e, r) { | |
| if (0 === r.length) throw new Error("No coefficients."); | |
| this.field = e; | |
| var t = r.length; | |
| if (t > 1 && 0 === r[0]) { | |
| for (var n = 1; n < t && 0 === r[n];) n++; | |
| if (n === t) this.coefficients = e.zero.coefficients; | |
| else { | |
| this.coefficients = new Uint8ClampedArray(t - n); | |
| for (var a = 0; a < this.coefficients.length; a++) this.coefficients[a] = r[n + a] | |
| } | |
| } else this.coefficients = r | |
| } | |
| return GenericGFPoly.prototype.degree = function() { | |
| return this.coefficients.length - 1 | |
| }, GenericGFPoly.prototype.isZero = function() { | |
| return 0 === this.coefficients[0] | |
| }, GenericGFPoly.prototype.getCoefficient = function(e) { | |
| return this.coefficients[this.coefficients.length - 1 - e] | |
| }, GenericGFPoly.prototype.addOrSubtract = function(e) { | |
| var r; | |
| if (this.isZero()) return e; | |
| if (e.isZero()) return this; | |
| var t = this.coefficients, | |
| a = e.coefficients; | |
| t.length > a.length && (t = (r = [a, t])[0], a = r[1]); | |
| for (var i = new Uint8ClampedArray(a.length), o = a.length - t.length, l = 0; l < o; l++) i[l] = a[l]; | |
| for (l = o; l < a.length; l++) i[l] = n.addOrSubtractGF(t[l - o], a[l]); | |
| return new GenericGFPoly(this.field, i) | |
| }, GenericGFPoly.prototype.multiply = function(e) { | |
| if (0 === e) return this.field.zero; | |
| if (1 === e) return this; | |
| for (var r = this.coefficients.length, t = new Uint8ClampedArray(r), n = 0; n < r; n++) t[n] = this.field.multiply(this.coefficients[n], e); | |
| return new GenericGFPoly(this.field, t) | |
| }, GenericGFPoly.prototype.multiplyPoly = function(e) { | |
| if (this.isZero() || e.isZero()) return this.field.zero; | |
| for (var r = this.coefficients, t = r.length, a = e.coefficients, i = a.length, o = new Uint8ClampedArray(t + i - 1), l = 0; l < t; l++) | |
| for (var s = r[l], c = 0; c < i; c++) o[l + c] = n.addOrSubtractGF(o[l + c], this.field.multiply(s, a[c])); | |
| return new GenericGFPoly(this.field, o) | |
| }, GenericGFPoly.prototype.multiplyByMonomial = function(e, r) { | |
| if (e < 0) throw new Error("Invalid degree less than 0"); | |
| if (0 === r) return this.field.zero; | |
| for (var t = this.coefficients.length, n = new Uint8ClampedArray(t + e), a = 0; a < t; a++) n[a] = this.field.multiply(this.coefficients[a], r); | |
| return new GenericGFPoly(this.field, n) | |
| }, GenericGFPoly.prototype.evaluateAt = function(e) { | |
| var r = 0; | |
| if (0 === e) return this.getCoefficient(0); | |
| var t = this.coefficients.length; | |
| if (1 === e) return this.coefficients.forEach((function(e) { | |
| r = n.addOrSubtractGF(r, e) | |
| })), r; | |
| r = this.coefficients[0]; | |
| for (var a = 1; a < t; a++) r = n.addOrSubtractGF(this.field.multiply(e, r), this.coefficients[a]); | |
| return r | |
| }, GenericGFPoly | |
| }(); | |
| r.default = a | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(4), | |
| a = t(5), | |
| i = t(11), | |
| o = t(12); | |
| function scan(e) { | |
| var r = o.locate(e); | |
| if (!r) return null; | |
| for (var t = 0, n = r; t < n.length; t++) { | |
| var l = n[t], | |
| s = i.extract(e, l), | |
| c = a.decode(s.matrix); | |
| if (c) return { | |
| binaryData: c.bytes, | |
| data: c.text, | |
| chunks: c.chunks, | |
| version: c.version, | |
| location: { | |
| topRightCorner: s.mappingFunction(l.dimension, 0), | |
| topLeftCorner: s.mappingFunction(0, 0), | |
| bottomRightCorner: s.mappingFunction(l.dimension, l.dimension), | |
| bottomLeftCorner: s.mappingFunction(0, l.dimension), | |
| topRightFinderPattern: l.topRight, | |
| topLeftFinderPattern: l.topLeft, | |
| bottomLeftFinderPattern: l.bottomLeft, | |
| bottomRightAlignmentPattern: l.alignmentPattern | |
| } | |
| } | |
| } | |
| return null | |
| } | |
| var l = { | |
| inversionAttempts: "attemptBoth" | |
| }; | |
| function jsQR(e, r, t, a) { | |
| void 0 === a && (a = {}); | |
| var i = l; | |
| Object.keys(i || {}).forEach((function(e) { | |
| i[e] = a[e] || i[e] | |
| })); | |
| var o = "attemptBoth" === i.inversionAttempts || "invertFirst" === i.inversionAttempts, | |
| s = "onlyInvert" === i.inversionAttempts || "invertFirst" === i.inversionAttempts, | |
| c = n.binarize(e, r, t, o), | |
| u = c.binarized, | |
| p = c.inverted, | |
| d = scan(s ? p : u); | |
| return d || "attemptBoth" !== i.inversionAttempts && "invertFirst" !== i.inversionAttempts || (d = scan(s ? u : p)), d | |
| } | |
| jsQR.default = jsQR, r.default = jsQR | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(0); | |
| function numBetween(e, r, t) { | |
| return e < r ? r : e > t ? t : e | |
| } | |
| var a = function() { | |
| function Matrix(e, r) { | |
| this.width = e, this.data = new Uint8ClampedArray(e * r) | |
| } | |
| return Matrix.prototype.get = function(e, r) { | |
| return this.data[r * this.width + e] | |
| }, Matrix.prototype.set = function(e, r, t) { | |
| this.data[r * this.width + e] = t | |
| }, Matrix | |
| }(); | |
| r.binarize = function binarize(e, r, t, i) { | |
| if (e.length !== r * t * 4) throw new Error("Malformed data passed to binarizer."); | |
| for (var o = new a(r, t), l = 0; l < r; l++) | |
| for (var s = 0; s < t; s++) { | |
| var c = e[4 * (s * r + l) + 0], | |
| u = e[4 * (s * r + l) + 1], | |
| p = e[4 * (s * r + l) + 2]; | |
| o.set(l, s, .2126 * c + .7152 * u + .0722 * p) | |
| } | |
| for (var d = Math.ceil(r / 8), f = Math.ceil(t / 8), m = new a(d, f), v = 0; v < f; v++) | |
| for (var w = 0; w < d; w++) { | |
| var y = 0, | |
| h = 1 / 0, | |
| E = 0; | |
| for (s = 0; s < 8; s++) | |
| for (l = 0; l < 8; l++) { | |
| var M = o.get(8 * w + l, 8 * v + s); | |
| y += M, h = Math.min(h, M), E = Math.max(E, M) | |
| } | |
| var S = y / Math.pow(8, 2); | |
| if (E - h <= 24 && (S = h / 2, v > 0 && w > 0)) { | |
| var g = (m.get(w, v - 1) + 2 * m.get(w - 1, v) + m.get(w - 1, v - 1)) / 4; | |
| h < g && (S = g) | |
| } | |
| m.set(w, v, S) | |
| } | |
| var k = n.BitMatrix.createEmpty(r, t), | |
| C = null; | |
| for (i && (C = n.BitMatrix.createEmpty(r, t)), v = 0; v < f; v++) | |
| for (w = 0; w < d; w++) { | |
| for (var b = numBetween(w, 2, d - 3), F = numBetween(v, 2, f - 3), P = (y = 0, -2); P <= 2; P++) | |
| for (var B = -2; B <= 2; B++) y += m.get(b + P, F + B); | |
| var _ = y / 25; | |
| for (P = 0; P < 8; P++) | |
| for (B = 0; B < 8; B++) { | |
| l = 8 * w + P, s = 8 * v + B; | |
| var L = o.get(l, s); | |
| k.set(l, s, L <= _), i && C.set(l, s, !(L <= _)) | |
| } | |
| } | |
| return i ? { | |
| binarized: k, | |
| inverted: C | |
| } : { | |
| binarized: k | |
| } | |
| } | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(0), | |
| a = t(6), | |
| i = t(9), | |
| o = t(10); | |
| function numBitsDiffering(e, r) { | |
| for (var t = e ^ r, n = 0; t;) n++, t &= t - 1; | |
| return n | |
| } | |
| function pushBit(e, r) { | |
| return r << 1 | e | |
| } | |
| var l = [{ | |
| bits: 21522, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 0 | |
| } | |
| }, { | |
| bits: 20773, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 1 | |
| } | |
| }, { | |
| bits: 24188, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 2 | |
| } | |
| }, { | |
| bits: 23371, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 3 | |
| } | |
| }, { | |
| bits: 17913, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 4 | |
| } | |
| }, { | |
| bits: 16590, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 5 | |
| } | |
| }, { | |
| bits: 20375, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 6 | |
| } | |
| }, { | |
| bits: 19104, | |
| formatInfo: { | |
| errorCorrectionLevel: 1, | |
| dataMask: 7 | |
| } | |
| }, { | |
| bits: 30660, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 0 | |
| } | |
| }, { | |
| bits: 29427, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 1 | |
| } | |
| }, { | |
| bits: 32170, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 2 | |
| } | |
| }, { | |
| bits: 30877, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 3 | |
| } | |
| }, { | |
| bits: 26159, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 4 | |
| } | |
| }, { | |
| bits: 25368, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 5 | |
| } | |
| }, { | |
| bits: 27713, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 6 | |
| } | |
| }, { | |
| bits: 26998, | |
| formatInfo: { | |
| errorCorrectionLevel: 0, | |
| dataMask: 7 | |
| } | |
| }, { | |
| bits: 5769, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 0 | |
| } | |
| }, { | |
| bits: 5054, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 1 | |
| } | |
| }, { | |
| bits: 7399, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 2 | |
| } | |
| }, { | |
| bits: 6608, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 3 | |
| } | |
| }, { | |
| bits: 1890, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 4 | |
| } | |
| }, { | |
| bits: 597, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 5 | |
| } | |
| }, { | |
| bits: 3340, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 6 | |
| } | |
| }, { | |
| bits: 2107, | |
| formatInfo: { | |
| errorCorrectionLevel: 3, | |
| dataMask: 7 | |
| } | |
| }, { | |
| bits: 13663, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 0 | |
| } | |
| }, { | |
| bits: 12392, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 1 | |
| } | |
| }, { | |
| bits: 16177, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 2 | |
| } | |
| }, { | |
| bits: 14854, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 3 | |
| } | |
| }, { | |
| bits: 9396, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 4 | |
| } | |
| }, { | |
| bits: 8579, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 5 | |
| } | |
| }, { | |
| bits: 11994, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 6 | |
| } | |
| }, { | |
| bits: 11245, | |
| formatInfo: { | |
| errorCorrectionLevel: 2, | |
| dataMask: 7 | |
| } | |
| }], | |
| s = [function(e) { | |
| return (e.y + e.x) % 2 == 0 | |
| }, function(e) { | |
| return e.y % 2 == 0 | |
| }, function(e) { | |
| return e.x % 3 == 0 | |
| }, function(e) { | |
| return (e.y + e.x) % 3 == 0 | |
| }, function(e) { | |
| return (Math.floor(e.y / 2) + Math.floor(e.x / 3)) % 2 == 0 | |
| }, function(e) { | |
| return e.x * e.y % 2 + e.x * e.y % 3 == 0 | |
| }, function(e) { | |
| return (e.y * e.x % 2 + e.y * e.x % 3) % 2 == 0 | |
| }, function(e) { | |
| return ((e.y + e.x) % 2 + e.y * e.x % 3) % 2 == 0 | |
| }]; | |
| function readCodewords(e, r, t) { | |
| for (var a = s[t.dataMask], i = e.height, o = function buildFunctionPatternMask(e) { | |
| var r = 17 + 4 * e.versionNumber, | |
| t = n.BitMatrix.createEmpty(r, r); | |
| t.setRegion(0, 0, 9, 9, !0), t.setRegion(r - 8, 0, 8, 9, !0), t.setRegion(0, r - 8, 9, 8, !0); | |
| for (var a = 0, i = e.alignmentPatternCenters; a < i.length; a++) | |
| for (var o = i[a], l = 0, s = e.alignmentPatternCenters; l < s.length; l++) { | |
| var c = s[l]; | |
| 6 === o && 6 === c || 6 === o && c === r - 7 || o === r - 7 && 6 === c || t.setRegion(o - 2, c - 2, 5, 5, !0) | |
| } | |
| return t.setRegion(6, 9, 1, r - 17, !0), t.setRegion(9, 6, r - 17, 1, !0), e.versionNumber > 6 && (t.setRegion(r - 11, 0, 3, 6, !0), t.setRegion(0, r - 11, 6, 3, !0)), t | |
| }(r), l = [], c = 0, u = 0, p = !0, d = i - 1; d > 0; d -= 2) { | |
| 6 === d && d--; | |
| for (var f = 0; f < i; f++) | |
| for (var m = p ? i - 1 - f : f, v = 0; v < 2; v++) { | |
| var w = d - v; | |
| if (!o.get(w, m)) { | |
| u++; | |
| var y = e.get(w, m); | |
| a({ | |
| y: m, | |
| x: w | |
| }) && (y = !y), c = pushBit(y, c), 8 === u && (l.push(c), u = 0, c = 0) | |
| } | |
| } | |
| p = !p | |
| } | |
| return l | |
| } | |
| function decodeMatrix(e) { | |
| var r = function readVersion(e) { | |
| var r = e.height, | |
| t = Math.floor((r - 17) / 4); | |
| if (t <= 6) return o.VERSIONS[t - 1]; | |
| for (var n = 0, a = 5; a >= 0; a--) | |
| for (var i = r - 9; i >= r - 11; i--) n = pushBit(e.get(i, a), n); | |
| var l = 0; | |
| for (i = 5; i >= 0; i--) | |
| for (a = r - 9; a >= r - 11; a--) l = pushBit(e.get(i, a), l); | |
| for (var s, c = 1 / 0, u = 0, p = o.VERSIONS; u < p.length; u++) { | |
| var d = p[u]; | |
| if (d.infoBits === n || d.infoBits === l) return d; | |
| var f = numBitsDiffering(n, d.infoBits); | |
| f < c && (s = d, c = f), (f = numBitsDiffering(l, d.infoBits)) < c && (s = d, c = f) | |
| } | |
| return c <= 3 ? s : void 0 | |
| }(e); | |
| if (!r) return null; | |
| var t = function readFormatInformation(e) { | |
| for (var r = 0, t = 0; t <= 8; t++) 6 !== t && (r = pushBit(e.get(t, 8), r)); | |
| for (var n = 7; n >= 0; n--) 6 !== n && (r = pushBit(e.get(8, n), r)); | |
| var a = e.height, | |
| i = 0; | |
| for (n = a - 1; n >= a - 7; n--) i = pushBit(e.get(8, n), i); | |
| for (t = a - 8; t < a; t++) i = pushBit(e.get(t, 8), i); | |
| for (var o = 1 / 0, s = null, c = 0, u = l; c < u.length; c++) { | |
| var p = u[c], | |
| d = p.bits, | |
| f = p.formatInfo; | |
| if (d === r || d === i) return f; | |
| var m = numBitsDiffering(r, d); | |
| m < o && (s = f, o = m), r !== i && (m = numBitsDiffering(i, d)) < o && (s = f, o = m) | |
| } | |
| return o <= 3 ? s : null | |
| }(e); | |
| if (!t) return null; | |
| var n = function getDataBlocks(e, r, t) { | |
| var n = r.errorCorrectionLevels[t], | |
| a = [], | |
| i = 0; | |
| if (n.ecBlocks.forEach((function(e) { | |
| for (var r = 0; r < e.numBlocks; r++) a.push({ | |
| numDataCodewords: e.dataCodewordsPerBlock, | |
| codewords: [] | |
| }), i += e.dataCodewordsPerBlock + n.ecCodewordsPerBlock | |
| })), e.length < i) return null; | |
| e = e.slice(0, i); | |
| for (var o = n.ecBlocks[0].dataCodewordsPerBlock, l = 0; l < o; l++) | |
| for (var s = 0, c = a; s < c.length; s++) c[s].codewords.push(e.shift()); | |
| if (n.ecBlocks.length > 1) { | |
| var u = n.ecBlocks[0].numBlocks, | |
| p = n.ecBlocks[1].numBlocks; | |
| for (l = 0; l < p; l++) a[u + l].codewords.push(e.shift()) | |
| } | |
| for (; e.length > 0;) | |
| for (var d = 0, f = a; d < f.length; d++) f[d].codewords.push(e.shift()); | |
| return a | |
| }(readCodewords(e, r, t), r, t.errorCorrectionLevel); | |
| if (!n) return null; | |
| for (var s = n.reduce((function(e, r) { | |
| return e + r.numDataCodewords | |
| }), 0), c = new Uint8ClampedArray(s), u = 0, p = 0, d = n; p < d.length; p++) { | |
| var f = d[p], | |
| m = i.decode(f.codewords, f.codewords.length - f.numDataCodewords); | |
| if (!m) return null; | |
| for (var v = 0; v < f.numDataCodewords; v++) c[u++] = m[v] | |
| } | |
| try { | |
| return a.decode(c, r.versionNumber) | |
| } catch (e) { | |
| return null | |
| } | |
| } | |
| r.decode = function decode(e) { | |
| if (null == e) return null; | |
| var r = decodeMatrix(e); | |
| if (r) return r; | |
| for (var t = 0; t < e.width; t++) | |
| for (var n = t + 1; n < e.height; n++) e.get(t, n) !== e.get(n, t) && (e.set(t, n, !e.get(t, n)), e.set(n, t, !e.get(n, t))); | |
| return decodeMatrix(e) | |
| } | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n, a, i = t(7), | |
| o = t(8); | |
| function decodeNumeric(e, r) { | |
| for (var t = [], n = "", a = [10, 12, 14][r], i = e.readBits(a); i >= 3;) { | |
| if ((c = e.readBits(10)) >= 1e3) throw new Error("Invalid numeric value above 999"); | |
| var o = Math.floor(c / 100), | |
| l = Math.floor(c / 10) % 10, | |
| s = c % 10; | |
| t.push(48 + o, 48 + l, 48 + s), n += o.toString() + l.toString() + s.toString(), i -= 3 | |
| } | |
| if (2 === i) { | |
| if ((c = e.readBits(7)) >= 100) throw new Error("Invalid numeric value above 99"); | |
| o = Math.floor(c / 10), l = c % 10; | |
| t.push(48 + o, 48 + l), n += o.toString() + l.toString() | |
| } else if (1 === i) { | |
| var c; | |
| if ((c = e.readBits(4)) >= 10) throw new Error("Invalid numeric value above 9"); | |
| t.push(48 + c), n += c.toString() | |
| } | |
| return { | |
| bytes: t, | |
| text: n | |
| } | |
| }! function(e) { | |
| e.Numeric = "numeric", e.Alphanumeric = "alphanumeric", e.Byte = "byte", e.Kanji = "kanji", e.ECI = "eci" | |
| }(n = r.Mode || (r.Mode = {})), | |
| function(e) { | |
| e[e.Terminator = 0] = "Terminator", e[e.Numeric = 1] = "Numeric", e[e.Alphanumeric = 2] = "Alphanumeric", e[e.Byte = 4] = "Byte", e[e.Kanji = 8] = "Kanji", e[e.ECI = 7] = "ECI" | |
| }(a || (a = {})); | |
| var l = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " ", "$", "%", "*", "+", "-", ".", "/", ":"]; | |
| function decodeAlphanumeric(e, r) { | |
| for (var t = [], n = "", a = [9, 11, 13][r], i = e.readBits(a); i >= 2;) { | |
| var o = e.readBits(11), | |
| s = Math.floor(o / 45), | |
| c = o % 45; | |
| t.push(l[s].charCodeAt(0), l[c].charCodeAt(0)), n += l[s] + l[c], i -= 2 | |
| } | |
| if (1 === i) { | |
| s = e.readBits(6); | |
| t.push(l[s].charCodeAt(0)), n += l[s] | |
| } | |
| return { | |
| bytes: t, | |
| text: n | |
| } | |
| } | |
| function decodeByte(e, r) { | |
| for (var t = [], n = "", a = [8, 16, 16][r], i = e.readBits(a), o = 0; o < i; o++) { | |
| var l = e.readBits(8); | |
| t.push(l) | |
| } | |
| try { | |
| n += decodeURIComponent(t.map((function(e) { | |
| return "%" + ("0" + e.toString(16)).substr(-2) | |
| })).join("")) | |
| } catch (e) {} | |
| return { | |
| bytes: t, | |
| text: n | |
| } | |
| } | |
| function decodeKanji(e, r) { | |
| for (var t = [], n = "", a = [8, 10, 12][r], i = e.readBits(a), l = 0; l < i; l++) { | |
| var s = e.readBits(13), | |
| c = Math.floor(s / 192) << 8 | s % 192; | |
| c += c < 7936 ? 33088 : 49472, t.push(c >> 8, 255 & c), n += String.fromCharCode(o.shiftJISTable[c]) | |
| } | |
| return { | |
| bytes: t, | |
| text: n | |
| } | |
| } | |
| r.decode = function decode(e, r) { | |
| for (var t, o, l, s, c = new i.BitStream(e), u = r <= 9 ? 0 : r <= 26 ? 1 : 2, p = { | |
| text: "", | |
| bytes: [], | |
| chunks: [], | |
| version: r | |
| }; c.available() >= 4;) { | |
| var d = c.readBits(4); | |
| if (d === a.Terminator) return p; | |
| if (d === a.ECI) 0 === c.readBits(1) ? p.chunks.push({ | |
| type: n.ECI, | |
| assignmentNumber: c.readBits(7) | |
| }) : 0 === c.readBits(1) ? p.chunks.push({ | |
| type: n.ECI, | |
| assignmentNumber: c.readBits(14) | |
| }) : 0 === c.readBits(1) ? p.chunks.push({ | |
| type: n.ECI, | |
| assignmentNumber: c.readBits(21) | |
| }) : p.chunks.push({ | |
| type: n.ECI, | |
| assignmentNumber: -1 | |
| }); | |
| else if (d === a.Numeric) { | |
| var f = decodeNumeric(c, u); | |
| p.text += f.text, (t = p.bytes).push.apply(t, f.bytes), p.chunks.push({ | |
| type: n.Numeric, | |
| text: f.text | |
| }) | |
| } else if (d === a.Alphanumeric) { | |
| var m = decodeAlphanumeric(c, u); | |
| p.text += m.text, (o = p.bytes).push.apply(o, m.bytes), p.chunks.push({ | |
| type: n.Alphanumeric, | |
| text: m.text | |
| }) | |
| } else if (d === a.Byte) { | |
| var v = decodeByte(c, u); | |
| p.text += v.text, (l = p.bytes).push.apply(l, v.bytes), p.chunks.push({ | |
| type: n.Byte, | |
| bytes: v.bytes, | |
| text: v.text | |
| }) | |
| } else if (d === a.Kanji) { | |
| var w = decodeKanji(c, u); | |
| p.text += w.text, (s = p.bytes).push.apply(s, w.bytes), p.chunks.push({ | |
| type: n.Kanji, | |
| bytes: w.bytes, | |
| text: w.text | |
| }) | |
| } | |
| } | |
| if (0 === c.available() || 0 === c.readBits(c.available())) return p | |
| } | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = function() { | |
| function BitStream(e) { | |
| this.byteOffset = 0, this.bitOffset = 0, this.bytes = e | |
| } | |
| return BitStream.prototype.readBits = function(e) { | |
| if (e < 1 || e > 32 || e > this.available()) throw new Error("Cannot read " + e.toString() + " bits"); | |
| var r = 0; | |
| if (this.bitOffset > 0) { | |
| var t = 8 - this.bitOffset, | |
| n = e < t ? e : t, | |
| a = 255 >> 8 - n << (i = t - n); | |
| r = (this.bytes[this.byteOffset] & a) >> i, e -= n, this.bitOffset += n, 8 === this.bitOffset && (this.bitOffset = 0, this.byteOffset++) | |
| } | |
| if (e > 0) { | |
| for (; e >= 8;) r = r << 8 | 255 & this.bytes[this.byteOffset], this.byteOffset++, e -= 8; | |
| if (e > 0) { | |
| var i; | |
| a = 255 >> (i = 8 - e) << i; | |
| r = r << e | (this.bytes[this.byteOffset] & a) >> i, this.bitOffset += e | |
| } | |
| } | |
| return r | |
| }, BitStream.prototype.available = function() { | |
| return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset | |
| }, BitStream | |
| }(); | |
| r.BitStream = n | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }), r.shiftJISTable = { | |
| 32: 32, | |
| 33: 33, | |
| 34: 34, | |
| 35: 35, | |
| 36: 36, | |
| 37: 37, | |
| 38: 38, | |
| 39: 39, | |
| 40: 40, | |
| 41: 41, | |
| 42: 42, | |
| 43: 43, | |
| 44: 44, | |
| 45: 45, | |
| 46: 46, | |
| 47: 47, | |
| 48: 48, | |
| 49: 49, | |
| 50: 50, | |
| 51: 51, | |
| 52: 52, | |
| 53: 53, | |
| 54: 54, | |
| 55: 55, | |
| 56: 56, | |
| 57: 57, | |
| 58: 58, | |
| 59: 59, | |
| 60: 60, | |
| 61: 61, | |
| 62: 62, | |
| 63: 63, | |
| 64: 64, | |
| 65: 65, | |
| 66: 66, | |
| 67: 67, | |
| 68: 68, | |
| 69: 69, | |
| 70: 70, | |
| 71: 71, | |
| 72: 72, | |
| 73: 73, | |
| 74: 74, | |
| 75: 75, | |
| 76: 76, | |
| 77: 77, | |
| 78: 78, | |
| 79: 79, | |
| 80: 80, | |
| 81: 81, | |
| 82: 82, | |
| 83: 83, | |
| 84: 84, | |
| 85: 85, | |
| 86: 86, | |
| 87: 87, | |
| 88: 88, | |
| 89: 89, | |
| 90: 90, | |
| 91: 91, | |
| 92: 165, | |
| 93: 93, | |
| 94: 94, | |
| 95: 95, | |
| 96: 96, | |
| 97: 97, | |
| 98: 98, | |
| 99: 99, | |
| 100: 100, | |
| 101: 101, | |
| 102: 102, | |
| 103: 103, | |
| 104: 104, | |
| 105: 105, | |
| 106: 106, | |
| 107: 107, | |
| 108: 108, | |
| 109: 109, | |
| 110: 110, | |
| 111: 111, | |
| 112: 112, | |
| 113: 113, | |
| 114: 114, | |
| 115: 115, | |
| 116: 116, | |
| 117: 117, | |
| 118: 118, | |
| 119: 119, | |
| 120: 120, | |
| 121: 121, | |
| 122: 122, | |
| 123: 123, | |
| 124: 124, | |
| 125: 125, | |
| 126: 8254, | |
| 33088: 12288, | |
| 33089: 12289, | |
| 33090: 12290, | |
| 33091: 65292, | |
| 33092: 65294, | |
| 33093: 12539, | |
| 33094: 65306, | |
| 33095: 65307, | |
| 33096: 65311, | |
| 33097: 65281, | |
| 33098: 12443, | |
| 33099: 12444, | |
| 33100: 180, | |
| 33101: 65344, | |
| 33102: 168, | |
| 33103: 65342, | |
| 33104: 65507, | |
| 33105: 65343, | |
| 33106: 12541, | |
| 33107: 12542, | |
| 33108: 12445, | |
| 33109: 12446, | |
| 33110: 12291, | |
| 33111: 20189, | |
| 33112: 12293, | |
| 33113: 12294, | |
| 33114: 12295, | |
| 33115: 12540, | |
| 33116: 8213, | |
| 33117: 8208, | |
| 33118: 65295, | |
| 33119: 92, | |
| 33120: 12316, | |
| 33121: 8214, | |
| 33122: 65372, | |
| 33123: 8230, | |
| 33124: 8229, | |
| 33125: 8216, | |
| 33126: 8217, | |
| 33127: 8220, | |
| 33128: 8221, | |
| 33129: 65288, | |
| 33130: 65289, | |
| 33131: 12308, | |
| 33132: 12309, | |
| 33133: 65339, | |
| 33134: 65341, | |
| 33135: 65371, | |
| 33136: 65373, | |
| 33137: 12296, | |
| 33138: 12297, | |
| 33139: 12298, | |
| 33140: 12299, | |
| 33141: 12300, | |
| 33142: 12301, | |
| 33143: 12302, | |
| 33144: 12303, | |
| 33145: 12304, | |
| 33146: 12305, | |
| 33147: 65291, | |
| 33148: 8722, | |
| 33149: 177, | |
| 33150: 215, | |
| 33152: 247, | |
| 33153: 65309, | |
| 33154: 8800, | |
| 33155: 65308, | |
| 33156: 65310, | |
| 33157: 8806, | |
| 33158: 8807, | |
| 33159: 8734, | |
| 33160: 8756, | |
| 33161: 9794, | |
| 33162: 9792, | |
| 33163: 176, | |
| 33164: 8242, | |
| 33165: 8243, | |
| 33166: 8451, | |
| 33167: 65509, | |
| 33168: 65284, | |
| 33169: 162, | |
| 33170: 163, | |
| 33171: 65285, | |
| 33172: 65283, | |
| 33173: 65286, | |
| 33174: 65290, | |
| 33175: 65312, | |
| 33176: 167, | |
| 33177: 9734, | |
| 33178: 9733, | |
| 33179: 9675, | |
| 33180: 9679, | |
| 33181: 9678, | |
| 33182: 9671, | |
| 33183: 9670, | |
| 33184: 9633, | |
| 33185: 9632, | |
| 33186: 9651, | |
| 33187: 9650, | |
| 33188: 9661, | |
| 33189: 9660, | |
| 33190: 8251, | |
| 33191: 12306, | |
| 33192: 8594, | |
| 33193: 8592, | |
| 33194: 8593, | |
| 33195: 8595, | |
| 33196: 12307, | |
| 33208: 8712, | |
| 33209: 8715, | |
| 33210: 8838, | |
| 33211: 8839, | |
| 33212: 8834, | |
| 33213: 8835, | |
| 33214: 8746, | |
| 33215: 8745, | |
| 33224: 8743, | |
| 33225: 8744, | |
| 33226: 172, | |
| 33227: 8658, | |
| 33228: 8660, | |
| 33229: 8704, | |
| 33230: 8707, | |
| 33242: 8736, | |
| 33243: 8869, | |
| 33244: 8978, | |
| 33245: 8706, | |
| 33246: 8711, | |
| 33247: 8801, | |
| 33248: 8786, | |
| 33249: 8810, | |
| 33250: 8811, | |
| 33251: 8730, | |
| 33252: 8765, | |
| 33253: 8733, | |
| 33254: 8757, | |
| 33255: 8747, | |
| 33256: 8748, | |
| 33264: 8491, | |
| 33265: 8240, | |
| 33266: 9839, | |
| 33267: 9837, | |
| 33268: 9834, | |
| 33269: 8224, | |
| 33270: 8225, | |
| 33271: 182, | |
| 33276: 9711, | |
| 33359: 65296, | |
| 33360: 65297, | |
| 33361: 65298, | |
| 33362: 65299, | |
| 33363: 65300, | |
| 33364: 65301, | |
| 33365: 65302, | |
| 33366: 65303, | |
| 33367: 65304, | |
| 33368: 65305, | |
| 33376: 65313, | |
| 33377: 65314, | |
| 33378: 65315, | |
| 33379: 65316, | |
| 33380: 65317, | |
| 33381: 65318, | |
| 33382: 65319, | |
| 33383: 65320, | |
| 33384: 65321, | |
| 33385: 65322, | |
| 33386: 65323, | |
| 33387: 65324, | |
| 33388: 65325, | |
| 33389: 65326, | |
| 33390: 65327, | |
| 33391: 65328, | |
| 33392: 65329, | |
| 33393: 65330, | |
| 33394: 65331, | |
| 33395: 65332, | |
| 33396: 65333, | |
| 33397: 65334, | |
| 33398: 65335, | |
| 33399: 65336, | |
| 33400: 65337, | |
| 33401: 65338, | |
| 33409: 65345, | |
| 33410: 65346, | |
| 33411: 65347, | |
| 33412: 65348, | |
| 33413: 65349, | |
| 33414: 65350, | |
| 33415: 65351, | |
| 33416: 65352, | |
| 33417: 65353, | |
| 33418: 65354, | |
| 33419: 65355, | |
| 33420: 65356, | |
| 33421: 65357, | |
| 33422: 65358, | |
| 33423: 65359, | |
| 33424: 65360, | |
| 33425: 65361, | |
| 33426: 65362, | |
| 33427: 65363, | |
| 33428: 65364, | |
| 33429: 65365, | |
| 33430: 65366, | |
| 33431: 65367, | |
| 33432: 65368, | |
| 33433: 65369, | |
| 33434: 65370, | |
| 33439: 12353, | |
| 33440: 12354, | |
| 33441: 12355, | |
| 33442: 12356, | |
| 33443: 12357, | |
| 33444: 12358, | |
| 33445: 12359, | |
| 33446: 12360, | |
| 33447: 12361, | |
| 33448: 12362, | |
| 33449: 12363, | |
| 33450: 12364, | |
| 33451: 12365, | |
| 33452: 12366, | |
| 33453: 12367, | |
| 33454: 12368, | |
| 33455: 12369, | |
| 33456: 12370, | |
| 33457: 12371, | |
| 33458: 12372, | |
| 33459: 12373, | |
| 33460: 12374, | |
| 33461: 12375, | |
| 33462: 12376, | |
| 33463: 12377, | |
| 33464: 12378, | |
| 33465: 12379, | |
| 33466: 12380, | |
| 33467: 12381, | |
| 33468: 12382, | |
| 33469: 12383, | |
| 33470: 12384, | |
| 33471: 12385, | |
| 33472: 12386, | |
| 33473: 12387, | |
| 33474: 12388, | |
| 33475: 12389, | |
| 33476: 12390, | |
| 33477: 12391, | |
| 33478: 12392, | |
| 33479: 12393, | |
| 33480: 12394, | |
| 33481: 12395, | |
| 33482: 12396, | |
| 33483: 12397, | |
| 33484: 12398, | |
| 33485: 12399, | |
| 33486: 12400, | |
| 33487: 12401, | |
| 33488: 12402, | |
| 33489: 12403, | |
| 33490: 12404, | |
| 33491: 12405, | |
| 33492: 12406, | |
| 33493: 12407, | |
| 33494: 12408, | |
| 33495: 12409, | |
| 33496: 12410, | |
| 33497: 12411, | |
| 33498: 12412, | |
| 33499: 12413, | |
| 33500: 12414, | |
| 33501: 12415, | |
| 33502: 12416, | |
| 33503: 12417, | |
| 33504: 12418, | |
| 33505: 12419, | |
| 33506: 12420, | |
| 33507: 12421, | |
| 33508: 12422, | |
| 33509: 12423, | |
| 33510: 12424, | |
| 33511: 12425, | |
| 33512: 12426, | |
| 33513: 12427, | |
| 33514: 12428, | |
| 33515: 12429, | |
| 33516: 12430, | |
| 33517: 12431, | |
| 33518: 12432, | |
| 33519: 12433, | |
| 33520: 12434, | |
| 33521: 12435, | |
| 33600: 12449, | |
| 33601: 12450, | |
| 33602: 12451, | |
| 33603: 12452, | |
| 33604: 12453, | |
| 33605: 12454, | |
| 33606: 12455, | |
| 33607: 12456, | |
| 33608: 12457, | |
| 33609: 12458, | |
| 33610: 12459, | |
| 33611: 12460, | |
| 33612: 12461, | |
| 33613: 12462, | |
| 33614: 12463, | |
| 33615: 12464, | |
| 33616: 12465, | |
| 33617: 12466, | |
| 33618: 12467, | |
| 33619: 12468, | |
| 33620: 12469, | |
| 33621: 12470, | |
| 33622: 12471, | |
| 33623: 12472, | |
| 33624: 12473, | |
| 33625: 12474, | |
| 33626: 12475, | |
| 33627: 12476, | |
| 33628: 12477, | |
| 33629: 12478, | |
| 33630: 12479, | |
| 33631: 12480, | |
| 33632: 12481, | |
| 33633: 12482, | |
| 33634: 12483, | |
| 33635: 12484, | |
| 33636: 12485, | |
| 33637: 12486, | |
| 33638: 12487, | |
| 33639: 12488, | |
| 33640: 12489, | |
| 33641: 12490, | |
| 33642: 12491, | |
| 33643: 12492, | |
| 33644: 12493, | |
| 33645: 12494, | |
| 33646: 12495, | |
| 33647: 12496, | |
| 33648: 12497, | |
| 33649: 12498, | |
| 33650: 12499, | |
| 33651: 12500, | |
| 33652: 12501, | |
| 33653: 12502, | |
| 33654: 12503, | |
| 33655: 12504, | |
| 33656: 12505, | |
| 33657: 12506, | |
| 33658: 12507, | |
| 33659: 12508, | |
| 33660: 12509, | |
| 33661: 12510, | |
| 33662: 12511, | |
| 33664: 12512, | |
| 33665: 12513, | |
| 33666: 12514, | |
| 33667: 12515, | |
| 33668: 12516, | |
| 33669: 12517, | |
| 33670: 12518, | |
| 33671: 12519, | |
| 33672: 12520, | |
| 33673: 12521, | |
| 33674: 12522, | |
| 33675: 12523, | |
| 33676: 12524, | |
| 33677: 12525, | |
| 33678: 12526, | |
| 33679: 12527, | |
| 33680: 12528, | |
| 33681: 12529, | |
| 33682: 12530, | |
| 33683: 12531, | |
| 33684: 12532, | |
| 33685: 12533, | |
| 33686: 12534, | |
| 33695: 913, | |
| 33696: 914, | |
| 33697: 915, | |
| 33698: 916, | |
| 33699: 917, | |
| 33700: 918, | |
| 33701: 919, | |
| 33702: 920, | |
| 33703: 921, | |
| 33704: 922, | |
| 33705: 923, | |
| 33706: 924, | |
| 33707: 925, | |
| 33708: 926, | |
| 33709: 927, | |
| 33710: 928, | |
| 33711: 929, | |
| 33712: 931, | |
| 33713: 932, | |
| 33714: 933, | |
| 33715: 934, | |
| 33716: 935, | |
| 33717: 936, | |
| 33718: 937, | |
| 33727: 945, | |
| 33728: 946, | |
| 33729: 947, | |
| 33730: 948, | |
| 33731: 949, | |
| 33732: 950, | |
| 33733: 951, | |
| 33734: 952, | |
| 33735: 953, | |
| 33736: 954, | |
| 33737: 955, | |
| 33738: 956, | |
| 33739: 957, | |
| 33740: 958, | |
| 33741: 959, | |
| 33742: 960, | |
| 33743: 961, | |
| 33744: 963, | |
| 33745: 964, | |
| 33746: 965, | |
| 33747: 966, | |
| 33748: 967, | |
| 33749: 968, | |
| 33750: 969, | |
| 33856: 1040, | |
| 33857: 1041, | |
| 33858: 1042, | |
| 33859: 1043, | |
| 33860: 1044, | |
| 33861: 1045, | |
| 33862: 1025, | |
| 33863: 1046, | |
| 33864: 1047, | |
| 33865: 1048, | |
| 33866: 1049, | |
| 33867: 1050, | |
| 33868: 1051, | |
| 33869: 1052, | |
| 33870: 1053, | |
| 33871: 1054, | |
| 33872: 1055, | |
| 33873: 1056, | |
| 33874: 1057, | |
| 33875: 1058, | |
| 33876: 1059, | |
| 33877: 1060, | |
| 33878: 1061, | |
| 33879: 1062, | |
| 33880: 1063, | |
| 33881: 1064, | |
| 33882: 1065, | |
| 33883: 1066, | |
| 33884: 1067, | |
| 33885: 1068, | |
| 33886: 1069, | |
| 33887: 1070, | |
| 33888: 1071, | |
| 33904: 1072, | |
| 33905: 1073, | |
| 33906: 1074, | |
| 33907: 1075, | |
| 33908: 1076, | |
| 33909: 1077, | |
| 33910: 1105, | |
| 33911: 1078, | |
| 33912: 1079, | |
| 33913: 1080, | |
| 33914: 1081, | |
| 33915: 1082, | |
| 33916: 1083, | |
| 33917: 1084, | |
| 33918: 1085, | |
| 33920: 1086, | |
| 33921: 1087, | |
| 33922: 1088, | |
| 33923: 1089, | |
| 33924: 1090, | |
| 33925: 1091, | |
| 33926: 1092, | |
| 33927: 1093, | |
| 33928: 1094, | |
| 33929: 1095, | |
| 33930: 1096, | |
| 33931: 1097, | |
| 33932: 1098, | |
| 33933: 1099, | |
| 33934: 1100, | |
| 33935: 1101, | |
| 33936: 1102, | |
| 33937: 1103, | |
| 33951: 9472, | |
| 33952: 9474, | |
| 33953: 9484, | |
| 33954: 9488, | |
| 33955: 9496, | |
| 33956: 9492, | |
| 33957: 9500, | |
| 33958: 9516, | |
| 33959: 9508, | |
| 33960: 9524, | |
| 33961: 9532, | |
| 33962: 9473, | |
| 33963: 9475, | |
| 33964: 9487, | |
| 33965: 9491, | |
| 33966: 9499, | |
| 33967: 9495, | |
| 33968: 9507, | |
| 33969: 9523, | |
| 33970: 9515, | |
| 33971: 9531, | |
| 33972: 9547, | |
| 33973: 9504, | |
| 33974: 9519, | |
| 33975: 9512, | |
| 33976: 9527, | |
| 33977: 9535, | |
| 33978: 9501, | |
| 33979: 9520, | |
| 33980: 9509, | |
| 33981: 9528, | |
| 33982: 9538, | |
| 34975: 20124, | |
| 34976: 21782, | |
| 34977: 23043, | |
| 34978: 38463, | |
| 34979: 21696, | |
| 34980: 24859, | |
| 34981: 25384, | |
| 34982: 23030, | |
| 34983: 36898, | |
| 34984: 33909, | |
| 34985: 33564, | |
| 34986: 31312, | |
| 34987: 24746, | |
| 34988: 25569, | |
| 34989: 28197, | |
| 34990: 26093, | |
| 34991: 33894, | |
| 34992: 33446, | |
| 34993: 39925, | |
| 34994: 26771, | |
| 34995: 22311, | |
| 34996: 26017, | |
| 34997: 25201, | |
| 34998: 23451, | |
| 34999: 22992, | |
| 35e3: 34427, | |
| 35001: 39156, | |
| 35002: 32098, | |
| 35003: 32190, | |
| 35004: 39822, | |
| 35005: 25110, | |
| 35006: 31903, | |
| 35007: 34999, | |
| 35008: 23433, | |
| 35009: 24245, | |
| 35010: 25353, | |
| 35011: 26263, | |
| 35012: 26696, | |
| 35013: 38343, | |
| 35014: 38797, | |
| 35015: 26447, | |
| 35016: 20197, | |
| 35017: 20234, | |
| 35018: 20301, | |
| 35019: 20381, | |
| 35020: 20553, | |
| 35021: 22258, | |
| 35022: 22839, | |
| 35023: 22996, | |
| 35024: 23041, | |
| 35025: 23561, | |
| 35026: 24799, | |
| 35027: 24847, | |
| 35028: 24944, | |
| 35029: 26131, | |
| 35030: 26885, | |
| 35031: 28858, | |
| 35032: 30031, | |
| 35033: 30064, | |
| 35034: 31227, | |
| 35035: 32173, | |
| 35036: 32239, | |
| 35037: 32963, | |
| 35038: 33806, | |
| 35039: 34915, | |
| 35040: 35586, | |
| 35041: 36949, | |
| 35042: 36986, | |
| 35043: 21307, | |
| 35044: 20117, | |
| 35045: 20133, | |
| 35046: 22495, | |
| 35047: 32946, | |
| 35048: 37057, | |
| 35049: 30959, | |
| 35050: 19968, | |
| 35051: 22769, | |
| 35052: 28322, | |
| 35053: 36920, | |
| 35054: 31282, | |
| 35055: 33576, | |
| 35056: 33419, | |
| 35057: 39983, | |
| 35058: 20801, | |
| 35059: 21360, | |
| 35060: 21693, | |
| 35061: 21729, | |
| 35062: 22240, | |
| 35063: 23035, | |
| 35064: 24341, | |
| 35065: 39154, | |
| 35066: 28139, | |
| 35067: 32996, | |
| 35068: 34093, | |
| 35136: 38498, | |
| 35137: 38512, | |
| 35138: 38560, | |
| 35139: 38907, | |
| 35140: 21515, | |
| 35141: 21491, | |
| 35142: 23431, | |
| 35143: 28879, | |
| 35144: 32701, | |
| 35145: 36802, | |
| 35146: 38632, | |
| 35147: 21359, | |
| 35148: 40284, | |
| 35149: 31418, | |
| 35150: 19985, | |
| 35151: 30867, | |
| 35152: 33276, | |
| 35153: 28198, | |
| 35154: 22040, | |
| 35155: 21764, | |
| 35156: 27421, | |
| 35157: 34074, | |
| 35158: 39995, | |
| 35159: 23013, | |
| 35160: 21417, | |
| 35161: 28006, | |
| 35162: 29916, | |
| 35163: 38287, | |
| 35164: 22082, | |
| 35165: 20113, | |
| 35166: 36939, | |
| 35167: 38642, | |
| 35168: 33615, | |
| 35169: 39180, | |
| 35170: 21473, | |
| 35171: 21942, | |
| 35172: 23344, | |
| 35173: 24433, | |
| 35174: 26144, | |
| 35175: 26355, | |
| 35176: 26628, | |
| 35177: 27704, | |
| 35178: 27891, | |
| 35179: 27945, | |
| 35180: 29787, | |
| 35181: 30408, | |
| 35182: 31310, | |
| 35183: 38964, | |
| 35184: 33521, | |
| 35185: 34907, | |
| 35186: 35424, | |
| 35187: 37613, | |
| 35188: 28082, | |
| 35189: 30123, | |
| 35190: 30410, | |
| 35191: 39365, | |
| 35192: 24742, | |
| 35193: 35585, | |
| 35194: 36234, | |
| 35195: 38322, | |
| 35196: 27022, | |
| 35197: 21421, | |
| 35198: 20870, | |
| 35200: 22290, | |
| 35201: 22576, | |
| 35202: 22852, | |
| 35203: 23476, | |
| 35204: 24310, | |
| 35205: 24616, | |
| 35206: 25513, | |
| 35207: 25588, | |
| 35208: 27839, | |
| 35209: 28436, | |
| 35210: 28814, | |
| 35211: 28948, | |
| 35212: 29017, | |
| 35213: 29141, | |
| 35214: 29503, | |
| 35215: 32257, | |
| 35216: 33398, | |
| 35217: 33489, | |
| 35218: 34199, | |
| 35219: 36960, | |
| 35220: 37467, | |
| 35221: 40219, | |
| 35222: 22633, | |
| 35223: 26044, | |
| 35224: 27738, | |
| 35225: 29989, | |
| 35226: 20985, | |
| 35227: 22830, | |
| 35228: 22885, | |
| 35229: 24448, | |
| 35230: 24540, | |
| 35231: 25276, | |
| 35232: 26106, | |
| 35233: 27178, | |
| 35234: 27431, | |
| 35235: 27572, | |
| 35236: 29579, | |
| 35237: 32705, | |
| 35238: 35158, | |
| 35239: 40236, | |
| 35240: 40206, | |
| 35241: 40644, | |
| 35242: 23713, | |
| 35243: 27798, | |
| 35244: 33659, | |
| 35245: 20740, | |
| 35246: 23627, | |
| 35247: 25014, | |
| 35248: 33222, | |
| 35249: 26742, | |
| 35250: 29281, | |
| 35251: 20057, | |
| 35252: 20474, | |
| 35253: 21368, | |
| 35254: 24681, | |
| 35255: 28201, | |
| 35256: 31311, | |
| 35257: 38899, | |
| 35258: 19979, | |
| 35259: 21270, | |
| 35260: 20206, | |
| 35261: 20309, | |
| 35262: 20285, | |
| 35263: 20385, | |
| 35264: 20339, | |
| 35265: 21152, | |
| 35266: 21487, | |
| 35267: 22025, | |
| 35268: 22799, | |
| 35269: 23233, | |
| 35270: 23478, | |
| 35271: 23521, | |
| 35272: 31185, | |
| 35273: 26247, | |
| 35274: 26524, | |
| 35275: 26550, | |
| 35276: 27468, | |
| 35277: 27827, | |
| 35278: 28779, | |
| 35279: 29634, | |
| 35280: 31117, | |
| 35281: 31166, | |
| 35282: 31292, | |
| 35283: 31623, | |
| 35284: 33457, | |
| 35285: 33499, | |
| 35286: 33540, | |
| 35287: 33655, | |
| 35288: 33775, | |
| 35289: 33747, | |
| 35290: 34662, | |
| 35291: 35506, | |
| 35292: 22057, | |
| 35293: 36008, | |
| 35294: 36838, | |
| 35295: 36942, | |
| 35296: 38686, | |
| 35297: 34442, | |
| 35298: 20420, | |
| 35299: 23784, | |
| 35300: 25105, | |
| 35301: 29273, | |
| 35302: 30011, | |
| 35303: 33253, | |
| 35304: 33469, | |
| 35305: 34558, | |
| 35306: 36032, | |
| 35307: 38597, | |
| 35308: 39187, | |
| 35309: 39381, | |
| 35310: 20171, | |
| 35311: 20250, | |
| 35312: 35299, | |
| 35313: 22238, | |
| 35314: 22602, | |
| 35315: 22730, | |
| 35316: 24315, | |
| 35317: 24555, | |
| 35318: 24618, | |
| 35319: 24724, | |
| 35320: 24674, | |
| 35321: 25040, | |
| 35322: 25106, | |
| 35323: 25296, | |
| 35324: 25913, | |
| 35392: 39745, | |
| 35393: 26214, | |
| 35394: 26800, | |
| 35395: 28023, | |
| 35396: 28784, | |
| 35397: 30028, | |
| 35398: 30342, | |
| 35399: 32117, | |
| 35400: 33445, | |
| 35401: 34809, | |
| 35402: 38283, | |
| 35403: 38542, | |
| 35404: 35997, | |
| 35405: 20977, | |
| 35406: 21182, | |
| 35407: 22806, | |
| 35408: 21683, | |
| 35409: 23475, | |
| 35410: 23830, | |
| 35411: 24936, | |
| 35412: 27010, | |
| 35413: 28079, | |
| 35414: 30861, | |
| 35415: 33995, | |
| 35416: 34903, | |
| 35417: 35442, | |
| 35418: 37799, | |
| 35419: 39608, | |
| 35420: 28012, | |
| 35421: 39336, | |
| 35422: 34521, | |
| 35423: 22435, | |
| 35424: 26623, | |
| 35425: 34510, | |
| 35426: 37390, | |
| 35427: 21123, | |
| 35428: 22151, | |
| 35429: 21508, | |
| 35430: 24275, | |
| 35431: 25313, | |
| 35432: 25785, | |
| 35433: 26684, | |
| 35434: 26680, | |
| 35435: 27579, | |
| 35436: 29554, | |
| 35437: 30906, | |
| 35438: 31339, | |
| 35439: 35226, | |
| 35440: 35282, | |
| 35441: 36203, | |
| 35442: 36611, | |
| 35443: 37101, | |
| 35444: 38307, | |
| 35445: 38548, | |
| 35446: 38761, | |
| 35447: 23398, | |
| 35448: 23731, | |
| 35449: 27005, | |
| 35450: 38989, | |
| 35451: 38990, | |
| 35452: 25499, | |
| 35453: 31520, | |
| 35454: 27179, | |
| 35456: 27263, | |
| 35457: 26806, | |
| 35458: 39949, | |
| 35459: 28511, | |
| 35460: 21106, | |
| 35461: 21917, | |
| 35462: 24688, | |
| 35463: 25324, | |
| 35464: 27963, | |
| 35465: 28167, | |
| 35466: 28369, | |
| 35467: 33883, | |
| 35468: 35088, | |
| 35469: 36676, | |
| 35470: 19988, | |
| 35471: 39993, | |
| 35472: 21494, | |
| 35473: 26907, | |
| 35474: 27194, | |
| 35475: 38788, | |
| 35476: 26666, | |
| 35477: 20828, | |
| 35478: 31427, | |
| 35479: 33970, | |
| 35480: 37340, | |
| 35481: 37772, | |
| 35482: 22107, | |
| 35483: 40232, | |
| 35484: 26658, | |
| 35485: 33541, | |
| 35486: 33841, | |
| 35487: 31909, | |
| 35488: 21e3, | |
| 35489: 33477, | |
| 35490: 29926, | |
| 35491: 20094, | |
| 35492: 20355, | |
| 35493: 20896, | |
| 35494: 23506, | |
| 35495: 21002, | |
| 35496: 21208, | |
| 35497: 21223, | |
| 35498: 24059, | |
| 35499: 21914, | |
| 35500: 22570, | |
| 35501: 23014, | |
| 35502: 23436, | |
| 35503: 23448, | |
| 35504: 23515, | |
| 35505: 24178, | |
| 35506: 24185, | |
| 35507: 24739, | |
| 35508: 24863, | |
| 35509: 24931, | |
| 35510: 25022, | |
| 35511: 25563, | |
| 35512: 25954, | |
| 35513: 26577, | |
| 35514: 26707, | |
| 35515: 26874, | |
| 35516: 27454, | |
| 35517: 27475, | |
| 35518: 27735, | |
| 35519: 28450, | |
| 35520: 28567, | |
| 35521: 28485, | |
| 35522: 29872, | |
| 35523: 29976, | |
| 35524: 30435, | |
| 35525: 30475, | |
| 35526: 31487, | |
| 35527: 31649, | |
| 35528: 31777, | |
| 35529: 32233, | |
| 35530: 32566, | |
| 35531: 32752, | |
| 35532: 32925, | |
| 35533: 33382, | |
| 35534: 33694, | |
| 35535: 35251, | |
| 35536: 35532, | |
| 35537: 36011, | |
| 35538: 36996, | |
| 35539: 37969, | |
| 35540: 38291, | |
| 35541: 38289, | |
| 35542: 38306, | |
| 35543: 38501, | |
| 35544: 38867, | |
| 35545: 39208, | |
| 35546: 33304, | |
| 35547: 20024, | |
| 35548: 21547, | |
| 35549: 23736, | |
| 35550: 24012, | |
| 35551: 29609, | |
| 35552: 30284, | |
| 35553: 30524, | |
| 35554: 23721, | |
| 35555: 32747, | |
| 35556: 36107, | |
| 35557: 38593, | |
| 35558: 38929, | |
| 35559: 38996, | |
| 35560: 39e3, | |
| 35561: 20225, | |
| 35562: 20238, | |
| 35563: 21361, | |
| 35564: 21916, | |
| 35565: 22120, | |
| 35566: 22522, | |
| 35567: 22855, | |
| 35568: 23305, | |
| 35569: 23492, | |
| 35570: 23696, | |
| 35571: 24076, | |
| 35572: 24190, | |
| 35573: 24524, | |
| 35574: 25582, | |
| 35575: 26426, | |
| 35576: 26071, | |
| 35577: 26082, | |
| 35578: 26399, | |
| 35579: 26827, | |
| 35580: 26820, | |
| 35648: 27231, | |
| 35649: 24112, | |
| 35650: 27589, | |
| 35651: 27671, | |
| 35652: 27773, | |
| 35653: 30079, | |
| 35654: 31048, | |
| 35655: 23395, | |
| 35656: 31232, | |
| 35657: 32e3, | |
| 35658: 24509, | |
| 35659: 35215, | |
| 35660: 35352, | |
| 35661: 36020, | |
| 35662: 36215, | |
| 35663: 36556, | |
| 35664: 36637, | |
| 35665: 39138, | |
| 35666: 39438, | |
| 35667: 39740, | |
| 35668: 20096, | |
| 35669: 20605, | |
| 35670: 20736, | |
| 35671: 22931, | |
| 35672: 23452, | |
| 35673: 25135, | |
| 35674: 25216, | |
| 35675: 25836, | |
| 35676: 27450, | |
| 35677: 29344, | |
| 35678: 30097, | |
| 35679: 31047, | |
| 35680: 32681, | |
| 35681: 34811, | |
| 35682: 35516, | |
| 35683: 35696, | |
| 35684: 25516, | |
| 35685: 33738, | |
| 35686: 38816, | |
| 35687: 21513, | |
| 35688: 21507, | |
| 35689: 21931, | |
| 35690: 26708, | |
| 35691: 27224, | |
| 35692: 35440, | |
| 35693: 30759, | |
| 35694: 26485, | |
| 35695: 40653, | |
| 35696: 21364, | |
| 35697: 23458, | |
| 35698: 33050, | |
| 35699: 34384, | |
| 35700: 36870, | |
| 35701: 19992, | |
| 35702: 20037, | |
| 35703: 20167, | |
| 35704: 20241, | |
| 35705: 21450, | |
| 35706: 21560, | |
| 35707: 23470, | |
| 35708: 24339, | |
| 35709: 24613, | |
| 35710: 25937, | |
| 35712: 26429, | |
| 35713: 27714, | |
| 35714: 27762, | |
| 35715: 27875, | |
| 35716: 28792, | |
| 35717: 29699, | |
| 35718: 31350, | |
| 35719: 31406, | |
| 35720: 31496, | |
| 35721: 32026, | |
| 35722: 31998, | |
| 35723: 32102, | |
| 35724: 26087, | |
| 35725: 29275, | |
| 35726: 21435, | |
| 35727: 23621, | |
| 35728: 24040, | |
| 35729: 25298, | |
| 35730: 25312, | |
| 35731: 25369, | |
| 35732: 28192, | |
| 35733: 34394, | |
| 35734: 35377, | |
| 35735: 36317, | |
| 35736: 37624, | |
| 35737: 28417, | |
| 35738: 31142, | |
| 35739: 39770, | |
| 35740: 20136, | |
| 35741: 20139, | |
| 35742: 20140, | |
| 35743: 20379, | |
| 35744: 20384, | |
| 35745: 20689, | |
| 35746: 20807, | |
| 35747: 31478, | |
| 35748: 20849, | |
| 35749: 20982, | |
| 35750: 21332, | |
| 35751: 21281, | |
| 35752: 21375, | |
| 35753: 21483, | |
| 35754: 21932, | |
| 35755: 22659, | |
| 35756: 23777, | |
| 35757: 24375, | |
| 35758: 24394, | |
| 35759: 24623, | |
| 35760: 24656, | |
| 35761: 24685, | |
| 35762: 25375, | |
| 35763: 25945, | |
| 35764: 27211, | |
| 35765: 27841, | |
| 35766: 29378, | |
| 35767: 29421, | |
| 35768: 30703, | |
| 35769: 33016, | |
| 35770: 33029, | |
| 35771: 33288, | |
| 35772: 34126, | |
| 35773: 37111, | |
| 35774: 37857, | |
| 35775: 38911, | |
| 35776: 39255, | |
| 35777: 39514, | |
| 35778: 20208, | |
| 35779: 20957, | |
| 35780: 23597, | |
| 35781: 26241, | |
| 35782: 26989, | |
| 35783: 23616, | |
| 35784: 26354, | |
| 35785: 26997, | |
| 35786: 29577, | |
| 35787: 26704, | |
| 35788: 31873, | |
| 35789: 20677, | |
| 35790: 21220, | |
| 35791: 22343, | |
| 35792: 24062, | |
| 35793: 37670, | |
| 35794: 26020, | |
| 35795: 27427, | |
| 35796: 27453, | |
| 35797: 29748, | |
| 35798: 31105, | |
| 35799: 31165, | |
| 35800: 31563, | |
| 35801: 32202, | |
| 35802: 33465, | |
| 35803: 33740, | |
| 35804: 34943, | |
| 35805: 35167, | |
| 35806: 35641, | |
| 35807: 36817, | |
| 35808: 37329, | |
| 35809: 21535, | |
| 35810: 37504, | |
| 35811: 20061, | |
| 35812: 20534, | |
| 35813: 21477, | |
| 35814: 21306, | |
| 35815: 29399, | |
| 35816: 29590, | |
| 35817: 30697, | |
| 35818: 33510, | |
| 35819: 36527, | |
| 35820: 39366, | |
| 35821: 39368, | |
| 35822: 39378, | |
| 35823: 20855, | |
| 35824: 24858, | |
| 35825: 34398, | |
| 35826: 21936, | |
| 35827: 31354, | |
| 35828: 20598, | |
| 35829: 23507, | |
| 35830: 36935, | |
| 35831: 38533, | |
| 35832: 20018, | |
| 35833: 27355, | |
| 35834: 37351, | |
| 35835: 23633, | |
| 35836: 23624, | |
| 35904: 25496, | |
| 35905: 31391, | |
| 35906: 27795, | |
| 35907: 38772, | |
| 35908: 36705, | |
| 35909: 31402, | |
| 35910: 29066, | |
| 35911: 38536, | |
| 35912: 31874, | |
| 35913: 26647, | |
| 35914: 32368, | |
| 35915: 26705, | |
| 35916: 37740, | |
| 35917: 21234, | |
| 35918: 21531, | |
| 35919: 34219, | |
| 35920: 35347, | |
| 35921: 32676, | |
| 35922: 36557, | |
| 35923: 37089, | |
| 35924: 21350, | |
| 35925: 34952, | |
| 35926: 31041, | |
| 35927: 20418, | |
| 35928: 20670, | |
| 35929: 21009, | |
| 35930: 20804, | |
| 35931: 21843, | |
| 35932: 22317, | |
| 35933: 29674, | |
| 35934: 22411, | |
| 35935: 22865, | |
| 35936: 24418, | |
| 35937: 24452, | |
| 35938: 24693, | |
| 35939: 24950, | |
| 35940: 24935, | |
| 35941: 25001, | |
| 35942: 25522, | |
| 35943: 25658, | |
| 35944: 25964, | |
| 35945: 26223, | |
| 35946: 26690, | |
| 35947: 28179, | |
| 35948: 30054, | |
| 35949: 31293, | |
| 35950: 31995, | |
| 35951: 32076, | |
| 35952: 32153, | |
| 35953: 32331, | |
| 35954: 32619, | |
| 35955: 33550, | |
| 35956: 33610, | |
| 35957: 34509, | |
| 35958: 35336, | |
| 35959: 35427, | |
| 35960: 35686, | |
| 35961: 36605, | |
| 35962: 38938, | |
| 35963: 40335, | |
| 35964: 33464, | |
| 35965: 36814, | |
| 35966: 39912, | |
| 35968: 21127, | |
| 35969: 25119, | |
| 35970: 25731, | |
| 35971: 28608, | |
| 35972: 38553, | |
| 35973: 26689, | |
| 35974: 20625, | |
| 35975: 27424, | |
| 35976: 27770, | |
| 35977: 28500, | |
| 35978: 31348, | |
| 35979: 32080, | |
| 35980: 34880, | |
| 35981: 35363, | |
| 35982: 26376, | |
| 35983: 20214, | |
| 35984: 20537, | |
| 35985: 20518, | |
| 35986: 20581, | |
| 35987: 20860, | |
| 35988: 21048, | |
| 35989: 21091, | |
| 35990: 21927, | |
| 35991: 22287, | |
| 35992: 22533, | |
| 35993: 23244, | |
| 35994: 24314, | |
| 35995: 25010, | |
| 35996: 25080, | |
| 35997: 25331, | |
| 35998: 25458, | |
| 35999: 26908, | |
| 36e3: 27177, | |
| 36001: 29309, | |
| 36002: 29356, | |
| 36003: 29486, | |
| 36004: 30740, | |
| 36005: 30831, | |
| 36006: 32121, | |
| 36007: 30476, | |
| 36008: 32937, | |
| 36009: 35211, | |
| 36010: 35609, | |
| 36011: 36066, | |
| 36012: 36562, | |
| 36013: 36963, | |
| 36014: 37749, | |
| 36015: 38522, | |
| 36016: 38997, | |
| 36017: 39443, | |
| 36018: 40568, | |
| 36019: 20803, | |
| 36020: 21407, | |
| 36021: 21427, | |
| 36022: 24187, | |
| 36023: 24358, | |
| 36024: 28187, | |
| 36025: 28304, | |
| 36026: 29572, | |
| 36027: 29694, | |
| 36028: 32067, | |
| 36029: 33335, | |
| 36030: 35328, | |
| 36031: 35578, | |
| 36032: 38480, | |
| 36033: 20046, | |
| 36034: 20491, | |
| 36035: 21476, | |
| 36036: 21628, | |
| 36037: 22266, | |
| 36038: 22993, | |
| 36039: 23396, | |
| 36040: 24049, | |
| 36041: 24235, | |
| 36042: 24359, | |
| 36043: 25144, | |
| 36044: 25925, | |
| 36045: 26543, | |
| 36046: 28246, | |
| 36047: 29392, | |
| 36048: 31946, | |
| 36049: 34996, | |
| 36050: 32929, | |
| 36051: 32993, | |
| 36052: 33776, | |
| 36053: 34382, | |
| 36054: 35463, | |
| 36055: 36328, | |
| 36056: 37431, | |
| 36057: 38599, | |
| 36058: 39015, | |
| 36059: 40723, | |
| 36060: 20116, | |
| 36061: 20114, | |
| 36062: 20237, | |
| 36063: 21320, | |
| 36064: 21577, | |
| 36065: 21566, | |
| 36066: 23087, | |
| 36067: 24460, | |
| 36068: 24481, | |
| 36069: 24735, | |
| 36070: 26791, | |
| 36071: 27278, | |
| 36072: 29786, | |
| 36073: 30849, | |
| 36074: 35486, | |
| 36075: 35492, | |
| 36076: 35703, | |
| 36077: 37264, | |
| 36078: 20062, | |
| 36079: 39881, | |
| 36080: 20132, | |
| 36081: 20348, | |
| 36082: 20399, | |
| 36083: 20505, | |
| 36084: 20502, | |
| 36085: 20809, | |
| 36086: 20844, | |
| 36087: 21151, | |
| 36088: 21177, | |
| 36089: 21246, | |
| 36090: 21402, | |
| 36091: 21475, | |
| 36092: 21521, | |
| 36160: 21518, | |
| 36161: 21897, | |
| 36162: 22353, | |
| 36163: 22434, | |
| 36164: 22909, | |
| 36165: 23380, | |
| 36166: 23389, | |
| 36167: 23439, | |
| 36168: 24037, | |
| 36169: 24039, | |
| 36170: 24055, | |
| 36171: 24184, | |
| 36172: 24195, | |
| 36173: 24218, | |
| 36174: 24247, | |
| 36175: 24344, | |
| 36176: 24658, | |
| 36177: 24908, | |
| 36178: 25239, | |
| 36179: 25304, | |
| 36180: 25511, | |
| 36181: 25915, | |
| 36182: 26114, | |
| 36183: 26179, | |
| 36184: 26356, | |
| 36185: 26477, | |
| 36186: 26657, | |
| 36187: 26775, | |
| 36188: 27083, | |
| 36189: 27743, | |
| 36190: 27946, | |
| 36191: 28009, | |
| 36192: 28207, | |
| 36193: 28317, | |
| 36194: 30002, | |
| 36195: 30343, | |
| 36196: 30828, | |
| 36197: 31295, | |
| 36198: 31968, | |
| 36199: 32005, | |
| 36200: 32024, | |
| 36201: 32094, | |
| 36202: 32177, | |
| 36203: 32789, | |
| 36204: 32771, | |
| 36205: 32943, | |
| 36206: 32945, | |
| 36207: 33108, | |
| 36208: 33167, | |
| 36209: 33322, | |
| 36210: 33618, | |
| 36211: 34892, | |
| 36212: 34913, | |
| 36213: 35611, | |
| 36214: 36002, | |
| 36215: 36092, | |
| 36216: 37066, | |
| 36217: 37237, | |
| 36218: 37489, | |
| 36219: 30783, | |
| 36220: 37628, | |
| 36221: 38308, | |
| 36222: 38477, | |
| 36224: 38917, | |
| 36225: 39321, | |
| 36226: 39640, | |
| 36227: 40251, | |
| 36228: 21083, | |
| 36229: 21163, | |
| 36230: 21495, | |
| 36231: 21512, | |
| 36232: 22741, | |
| 36233: 25335, | |
| 36234: 28640, | |
| 36235: 35946, | |
| 36236: 36703, | |
| 36237: 40633, | |
| 36238: 20811, | |
| 36239: 21051, | |
| 36240: 21578, | |
| 36241: 22269, | |
| 36242: 31296, | |
| 36243: 37239, | |
| 36244: 40288, | |
| 36245: 40658, | |
| 36246: 29508, | |
| 36247: 28425, | |
| 36248: 33136, | |
| 36249: 29969, | |
| 36250: 24573, | |
| 36251: 24794, | |
| 36252: 39592, | |
| 36253: 29403, | |
| 36254: 36796, | |
| 36255: 27492, | |
| 36256: 38915, | |
| 36257: 20170, | |
| 36258: 22256, | |
| 36259: 22372, | |
| 36260: 22718, | |
| 36261: 23130, | |
| 36262: 24680, | |
| 36263: 25031, | |
| 36264: 26127, | |
| 36265: 26118, | |
| 36266: 26681, | |
| 36267: 26801, | |
| 36268: 28151, | |
| 36269: 30165, | |
| 36270: 32058, | |
| 36271: 33390, | |
| 36272: 39746, | |
| 36273: 20123, | |
| 36274: 20304, | |
| 36275: 21449, | |
| 36276: 21766, | |
| 36277: 23919, | |
| 36278: 24038, | |
| 36279: 24046, | |
| 36280: 26619, | |
| 36281: 27801, | |
| 36282: 29811, | |
| 36283: 30722, | |
| 36284: 35408, | |
| 36285: 37782, | |
| 36286: 35039, | |
| 36287: 22352, | |
| 36288: 24231, | |
| 36289: 25387, | |
| 36290: 20661, | |
| 36291: 20652, | |
| 36292: 20877, | |
| 36293: 26368, | |
| 36294: 21705, | |
| 36295: 22622, | |
| 36296: 22971, | |
| 36297: 23472, | |
| 36298: 24425, | |
| 36299: 25165, | |
| 36300: 25505, | |
| 36301: 26685, | |
| 36302: 27507, | |
| 36303: 28168, | |
| 36304: 28797, | |
| 36305: 37319, | |
| 36306: 29312, | |
| 36307: 30741, | |
| 36308: 30758, | |
| 36309: 31085, | |
| 36310: 25998, | |
| 36311: 32048, | |
| 36312: 33756, | |
| 36313: 35009, | |
| 36314: 36617, | |
| 36315: 38555, | |
| 36316: 21092, | |
| 36317: 22312, | |
| 36318: 26448, | |
| 36319: 32618, | |
| 36320: 36001, | |
| 36321: 20916, | |
| 36322: 22338, | |
| 36323: 38442, | |
| 36324: 22586, | |
| 36325: 27018, | |
| 36326: 32948, | |
| 36327: 21682, | |
| 36328: 23822, | |
| 36329: 22524, | |
| 36330: 30869, | |
| 36331: 40442, | |
| 36332: 20316, | |
| 36333: 21066, | |
| 36334: 21643, | |
| 36335: 25662, | |
| 36336: 26152, | |
| 36337: 26388, | |
| 36338: 26613, | |
| 36339: 31364, | |
| 36340: 31574, | |
| 36341: 32034, | |
| 36342: 37679, | |
| 36343: 26716, | |
| 36344: 39853, | |
| 36345: 31545, | |
| 36346: 21273, | |
| 36347: 20874, | |
| 36348: 21047, | |
| 36416: 23519, | |
| 36417: 25334, | |
| 36418: 25774, | |
| 36419: 25830, | |
| 36420: 26413, | |
| 36421: 27578, | |
| 36422: 34217, | |
| 36423: 38609, | |
| 36424: 30352, | |
| 36425: 39894, | |
| 36426: 25420, | |
| 36427: 37638, | |
| 36428: 39851, | |
| 36429: 30399, | |
| 36430: 26194, | |
| 36431: 19977, | |
| 36432: 20632, | |
| 36433: 21442, | |
| 36434: 23665, | |
| 36435: 24808, | |
| 36436: 25746, | |
| 36437: 25955, | |
| 36438: 26719, | |
| 36439: 29158, | |
| 36440: 29642, | |
| 36441: 29987, | |
| 36442: 31639, | |
| 36443: 32386, | |
| 36444: 34453, | |
| 36445: 35715, | |
| 36446: 36059, | |
| 36447: 37240, | |
| 36448: 39184, | |
| 36449: 26028, | |
| 36450: 26283, | |
| 36451: 27531, | |
| 36452: 20181, | |
| 36453: 20180, | |
| 36454: 20282, | |
| 36455: 20351, | |
| 36456: 21050, | |
| 36457: 21496, | |
| 36458: 21490, | |
| 36459: 21987, | |
| 36460: 22235, | |
| 36461: 22763, | |
| 36462: 22987, | |
| 36463: 22985, | |
| 36464: 23039, | |
| 36465: 23376, | |
| 36466: 23629, | |
| 36467: 24066, | |
| 36468: 24107, | |
| 36469: 24535, | |
| 36470: 24605, | |
| 36471: 25351, | |
| 36472: 25903, | |
| 36473: 23388, | |
| 36474: 26031, | |
| 36475: 26045, | |
| 36476: 26088, | |
| 36477: 26525, | |
| 36478: 27490, | |
| 36480: 27515, | |
| 36481: 27663, | |
| 36482: 29509, | |
| 36483: 31049, | |
| 36484: 31169, | |
| 36485: 31992, | |
| 36486: 32025, | |
| 36487: 32043, | |
| 36488: 32930, | |
| 36489: 33026, | |
| 36490: 33267, | |
| 36491: 35222, | |
| 36492: 35422, | |
| 36493: 35433, | |
| 36494: 35430, | |
| 36495: 35468, | |
| 36496: 35566, | |
| 36497: 36039, | |
| 36498: 36060, | |
| 36499: 38604, | |
| 36500: 39164, | |
| 36501: 27503, | |
| 36502: 20107, | |
| 36503: 20284, | |
| 36504: 20365, | |
| 36505: 20816, | |
| 36506: 23383, | |
| 36507: 23546, | |
| 36508: 24904, | |
| 36509: 25345, | |
| 36510: 26178, | |
| 36511: 27425, | |
| 36512: 28363, | |
| 36513: 27835, | |
| 36514: 29246, | |
| 36515: 29885, | |
| 36516: 30164, | |
| 36517: 30913, | |
| 36518: 31034, | |
| 36519: 32780, | |
| 36520: 32819, | |
| 36521: 33258, | |
| 36522: 33940, | |
| 36523: 36766, | |
| 36524: 27728, | |
| 36525: 40575, | |
| 36526: 24335, | |
| 36527: 35672, | |
| 36528: 40235, | |
| 36529: 31482, | |
| 36530: 36600, | |
| 36531: 23437, | |
| 36532: 38635, | |
| 36533: 19971, | |
| 36534: 21489, | |
| 36535: 22519, | |
| 36536: 22833, | |
| 36537: 23241, | |
| 36538: 23460, | |
| 36539: 24713, | |
| 36540: 28287, | |
| 36541: 28422, | |
| 36542: 30142, | |
| 36543: 36074, | |
| 36544: 23455, | |
| 36545: 34048, | |
| 36546: 31712, | |
| 36547: 20594, | |
| 36548: 26612, | |
| 36549: 33437, | |
| 36550: 23649, | |
| 36551: 34122, | |
| 36552: 32286, | |
| 36553: 33294, | |
| 36554: 20889, | |
| 36555: 23556, | |
| 36556: 25448, | |
| 36557: 36198, | |
| 36558: 26012, | |
| 36559: 29038, | |
| 36560: 31038, | |
| 36561: 32023, | |
| 36562: 32773, | |
| 36563: 35613, | |
| 36564: 36554, | |
| 36565: 36974, | |
| 36566: 34503, | |
| 36567: 37034, | |
| 36568: 20511, | |
| 36569: 21242, | |
| 36570: 23610, | |
| 36571: 26451, | |
| 36572: 28796, | |
| 36573: 29237, | |
| 36574: 37196, | |
| 36575: 37320, | |
| 36576: 37675, | |
| 36577: 33509, | |
| 36578: 23490, | |
| 36579: 24369, | |
| 36580: 24825, | |
| 36581: 20027, | |
| 36582: 21462, | |
| 36583: 23432, | |
| 36584: 25163, | |
| 36585: 26417, | |
| 36586: 27530, | |
| 36587: 29417, | |
| 36588: 29664, | |
| 36589: 31278, | |
| 36590: 33131, | |
| 36591: 36259, | |
| 36592: 37202, | |
| 36593: 39318, | |
| 36594: 20754, | |
| 36595: 21463, | |
| 36596: 21610, | |
| 36597: 23551, | |
| 36598: 25480, | |
| 36599: 27193, | |
| 36600: 32172, | |
| 36601: 38656, | |
| 36602: 22234, | |
| 36603: 21454, | |
| 36604: 21608, | |
| 36672: 23447, | |
| 36673: 23601, | |
| 36674: 24030, | |
| 36675: 20462, | |
| 36676: 24833, | |
| 36677: 25342, | |
| 36678: 27954, | |
| 36679: 31168, | |
| 36680: 31179, | |
| 36681: 32066, | |
| 36682: 32333, | |
| 36683: 32722, | |
| 36684: 33261, | |
| 36685: 33311, | |
| 36686: 33936, | |
| 36687: 34886, | |
| 36688: 35186, | |
| 36689: 35728, | |
| 36690: 36468, | |
| 36691: 36655, | |
| 36692: 36913, | |
| 36693: 37195, | |
| 36694: 37228, | |
| 36695: 38598, | |
| 36696: 37276, | |
| 36697: 20160, | |
| 36698: 20303, | |
| 36699: 20805, | |
| 36700: 21313, | |
| 36701: 24467, | |
| 36702: 25102, | |
| 36703: 26580, | |
| 36704: 27713, | |
| 36705: 28171, | |
| 36706: 29539, | |
| 36707: 32294, | |
| 36708: 37325, | |
| 36709: 37507, | |
| 36710: 21460, | |
| 36711: 22809, | |
| 36712: 23487, | |
| 36713: 28113, | |
| 36714: 31069, | |
| 36715: 32302, | |
| 36716: 31899, | |
| 36717: 22654, | |
| 36718: 29087, | |
| 36719: 20986, | |
| 36720: 34899, | |
| 36721: 36848, | |
| 36722: 20426, | |
| 36723: 23803, | |
| 36724: 26149, | |
| 36725: 30636, | |
| 36726: 31459, | |
| 36727: 33308, | |
| 36728: 39423, | |
| 36729: 20934, | |
| 36730: 24490, | |
| 36731: 26092, | |
| 36732: 26991, | |
| 36733: 27529, | |
| 36734: 28147, | |
| 36736: 28310, | |
| 36737: 28516, | |
| 36738: 30462, | |
| 36739: 32020, | |
| 36740: 24033, | |
| 36741: 36981, | |
| 36742: 37255, | |
| 36743: 38918, | |
| 36744: 20966, | |
| 36745: 21021, | |
| 36746: 25152, | |
| 36747: 26257, | |
| 36748: 26329, | |
| 36749: 28186, | |
| 36750: 24246, | |
| 36751: 32210, | |
| 36752: 32626, | |
| 36753: 26360, | |
| 36754: 34223, | |
| 36755: 34295, | |
| 36756: 35576, | |
| 36757: 21161, | |
| 36758: 21465, | |
| 36759: 22899, | |
| 36760: 24207, | |
| 36761: 24464, | |
| 36762: 24661, | |
| 36763: 37604, | |
| 36764: 38500, | |
| 36765: 20663, | |
| 36766: 20767, | |
| 36767: 21213, | |
| 36768: 21280, | |
| 36769: 21319, | |
| 36770: 21484, | |
| 36771: 21736, | |
| 36772: 21830, | |
| 36773: 21809, | |
| 36774: 22039, | |
| 36775: 22888, | |
| 36776: 22974, | |
| 36777: 23100, | |
| 36778: 23477, | |
| 36779: 23558, | |
| 36780: 23567, | |
| 36781: 23569, | |
| 36782: 23578, | |
| 36783: 24196, | |
| 36784: 24202, | |
| 36785: 24288, | |
| 36786: 24432, | |
| 36787: 25215, | |
| 36788: 25220, | |
| 36789: 25307, | |
| 36790: 25484, | |
| 36791: 25463, | |
| 36792: 26119, | |
| 36793: 26124, | |
| 36794: 26157, | |
| 36795: 26230, | |
| 36796: 26494, | |
| 36797: 26786, | |
| 36798: 27167, | |
| 36799: 27189, | |
| 36800: 27836, | |
| 36801: 28040, | |
| 36802: 28169, | |
| 36803: 28248, | |
| 36804: 28988, | |
| 36805: 28966, | |
| 36806: 29031, | |
| 36807: 30151, | |
| 36808: 30465, | |
| 36809: 30813, | |
| 36810: 30977, | |
| 36811: 31077, | |
| 36812: 31216, | |
| 36813: 31456, | |
| 36814: 31505, | |
| 36815: 31911, | |
| 36816: 32057, | |
| 36817: 32918, | |
| 36818: 33750, | |
| 36819: 33931, | |
| 36820: 34121, | |
| 36821: 34909, | |
| 36822: 35059, | |
| 36823: 35359, | |
| 36824: 35388, | |
| 36825: 35412, | |
| 36826: 35443, | |
| 36827: 35937, | |
| 36828: 36062, | |
| 36829: 37284, | |
| 36830: 37478, | |
| 36831: 37758, | |
| 36832: 37912, | |
| 36833: 38556, | |
| 36834: 38808, | |
| 36835: 19978, | |
| 36836: 19976, | |
| 36837: 19998, | |
| 36838: 20055, | |
| 36839: 20887, | |
| 36840: 21104, | |
| 36841: 22478, | |
| 36842: 22580, | |
| 36843: 22732, | |
| 36844: 23330, | |
| 36845: 24120, | |
| 36846: 24773, | |
| 36847: 25854, | |
| 36848: 26465, | |
| 36849: 26454, | |
| 36850: 27972, | |
| 36851: 29366, | |
| 36852: 30067, | |
| 36853: 31331, | |
| 36854: 33976, | |
| 36855: 35698, | |
| 36856: 37304, | |
| 36857: 37664, | |
| 36858: 22065, | |
| 36859: 22516, | |
| 36860: 39166, | |
| 36928: 25325, | |
| 36929: 26893, | |
| 36930: 27542, | |
| 36931: 29165, | |
| 36932: 32340, | |
| 36933: 32887, | |
| 36934: 33394, | |
| 36935: 35302, | |
| 36936: 39135, | |
| 36937: 34645, | |
| 36938: 36785, | |
| 36939: 23611, | |
| 36940: 20280, | |
| 36941: 20449, | |
| 36942: 20405, | |
| 36943: 21767, | |
| 36944: 23072, | |
| 36945: 23517, | |
| 36946: 23529, | |
| 36947: 24515, | |
| 36948: 24910, | |
| 36949: 25391, | |
| 36950: 26032, | |
| 36951: 26187, | |
| 36952: 26862, | |
| 36953: 27035, | |
| 36954: 28024, | |
| 36955: 28145, | |
| 36956: 30003, | |
| 36957: 30137, | |
| 36958: 30495, | |
| 36959: 31070, | |
| 36960: 31206, | |
| 36961: 32051, | |
| 36962: 33251, | |
| 36963: 33455, | |
| 36964: 34218, | |
| 36965: 35242, | |
| 36966: 35386, | |
| 36967: 36523, | |
| 36968: 36763, | |
| 36969: 36914, | |
| 36970: 37341, | |
| 36971: 38663, | |
| 36972: 20154, | |
| 36973: 20161, | |
| 36974: 20995, | |
| 36975: 22645, | |
| 36976: 22764, | |
| 36977: 23563, | |
| 36978: 29978, | |
| 36979: 23613, | |
| 36980: 33102, | |
| 36981: 35338, | |
| 36982: 36805, | |
| 36983: 38499, | |
| 36984: 38765, | |
| 36985: 31525, | |
| 36986: 35535, | |
| 36987: 38920, | |
| 36988: 37218, | |
| 36989: 22259, | |
| 36990: 21416, | |
| 36992: 36887, | |
| 36993: 21561, | |
| 36994: 22402, | |
| 36995: 24101, | |
| 36996: 25512, | |
| 36997: 27700, | |
| 36998: 28810, | |
| 36999: 30561, | |
| 37e3: 31883, | |
| 37001: 32736, | |
| 37002: 34928, | |
| 37003: 36930, | |
| 37004: 37204, | |
| 37005: 37648, | |
| 37006: 37656, | |
| 37007: 38543, | |
| 37008: 29790, | |
| 37009: 39620, | |
| 37010: 23815, | |
| 37011: 23913, | |
| 37012: 25968, | |
| 37013: 26530, | |
| 37014: 36264, | |
| 37015: 38619, | |
| 37016: 25454, | |
| 37017: 26441, | |
| 37018: 26905, | |
| 37019: 33733, | |
| 37020: 38935, | |
| 37021: 38592, | |
| 37022: 35070, | |
| 37023: 28548, | |
| 37024: 25722, | |
| 37025: 23544, | |
| 37026: 19990, | |
| 37027: 28716, | |
| 37028: 30045, | |
| 37029: 26159, | |
| 37030: 20932, | |
| 37031: 21046, | |
| 37032: 21218, | |
| 37033: 22995, | |
| 37034: 24449, | |
| 37035: 24615, | |
| 37036: 25104, | |
| 37037: 25919, | |
| 37038: 25972, | |
| 37039: 26143, | |
| 37040: 26228, | |
| 37041: 26866, | |
| 37042: 26646, | |
| 37043: 27491, | |
| 37044: 28165, | |
| 37045: 29298, | |
| 37046: 29983, | |
| 37047: 30427, | |
| 37048: 31934, | |
| 37049: 32854, | |
| 37050: 22768, | |
| 37051: 35069, | |
| 37052: 35199, | |
| 37053: 35488, | |
| 37054: 35475, | |
| 37055: 35531, | |
| 37056: 36893, | |
| 37057: 37266, | |
| 37058: 38738, | |
| 37059: 38745, | |
| 37060: 25993, | |
| 37061: 31246, | |
| 37062: 33030, | |
| 37063: 38587, | |
| 37064: 24109, | |
| 37065: 24796, | |
| 37066: 25114, | |
| 37067: 26021, | |
| 37068: 26132, | |
| 37069: 26512, | |
| 37070: 30707, | |
| 37071: 31309, | |
| 37072: 31821, | |
| 37073: 32318, | |
| 37074: 33034, | |
| 37075: 36012, | |
| 37076: 36196, | |
| 37077: 36321, | |
| 37078: 36447, | |
| 37079: 30889, | |
| 37080: 20999, | |
| 37081: 25305, | |
| 37082: 25509, | |
| 37083: 25666, | |
| 37084: 25240, | |
| 37085: 35373, | |
| 37086: 31363, | |
| 37087: 31680, | |
| 37088: 35500, | |
| 37089: 38634, | |
| 37090: 32118, | |
| 37091: 33292, | |
| 37092: 34633, | |
| 37093: 20185, | |
| 37094: 20808, | |
| 37095: 21315, | |
| 37096: 21344, | |
| 37097: 23459, | |
| 37098: 23554, | |
| 37099: 23574, | |
| 37100: 24029, | |
| 37101: 25126, | |
| 37102: 25159, | |
| 37103: 25776, | |
| 37104: 26643, | |
| 37105: 26676, | |
| 37106: 27849, | |
| 37107: 27973, | |
| 37108: 27927, | |
| 37109: 26579, | |
| 37110: 28508, | |
| 37111: 29006, | |
| 37112: 29053, | |
| 37113: 26059, | |
| 37114: 31359, | |
| 37115: 31661, | |
| 37116: 32218, | |
| 37184: 32330, | |
| 37185: 32680, | |
| 37186: 33146, | |
| 37187: 33307, | |
| 37188: 33337, | |
| 37189: 34214, | |
| 37190: 35438, | |
| 37191: 36046, | |
| 37192: 36341, | |
| 37193: 36984, | |
| 37194: 36983, | |
| 37195: 37549, | |
| 37196: 37521, | |
| 37197: 38275, | |
| 37198: 39854, | |
| 37199: 21069, | |
| 37200: 21892, | |
| 37201: 28472, | |
| 37202: 28982, | |
| 37203: 20840, | |
| 37204: 31109, | |
| 37205: 32341, | |
| 37206: 33203, | |
| 37207: 31950, | |
| 37208: 22092, | |
| 37209: 22609, | |
| 37210: 23720, | |
| 37211: 25514, | |
| 37212: 26366, | |
| 37213: 26365, | |
| 37214: 26970, | |
| 37215: 29401, | |
| 37216: 30095, | |
| 37217: 30094, | |
| 37218: 30990, | |
| 37219: 31062, | |
| 37220: 31199, | |
| 37221: 31895, | |
| 37222: 32032, | |
| 37223: 32068, | |
| 37224: 34311, | |
| 37225: 35380, | |
| 37226: 38459, | |
| 37227: 36961, | |
| 37228: 40736, | |
| 37229: 20711, | |
| 37230: 21109, | |
| 37231: 21452, | |
| 37232: 21474, | |
| 37233: 20489, | |
| 37234: 21930, | |
| 37235: 22766, | |
| 37236: 22863, | |
| 37237: 29245, | |
| 37238: 23435, | |
| 37239: 23652, | |
| 37240: 21277, | |
| 37241: 24803, | |
| 37242: 24819, | |
| 37243: 25436, | |
| 37244: 25475, | |
| 37245: 25407, | |
| 37246: 25531, | |
| 37248: 25805, | |
| 37249: 26089, | |
| 37250: 26361, | |
| 37251: 24035, | |
| 37252: 27085, | |
| 37253: 27133, | |
| 37254: 28437, | |
| 37255: 29157, | |
| 37256: 20105, | |
| 37257: 30185, | |
| 37258: 30456, | |
| 37259: 31379, | |
| 37260: 31967, | |
| 37261: 32207, | |
| 37262: 32156, | |
| 37263: 32865, | |
| 37264: 33609, | |
| 37265: 33624, | |
| 37266: 33900, | |
| 37267: 33980, | |
| 37268: 34299, | |
| 37269: 35013, | |
| 37270: 36208, | |
| 37271: 36865, | |
| 37272: 36973, | |
| 37273: 37783, | |
| 37274: 38684, | |
| 37275: 39442, | |
| 37276: 20687, | |
| 37277: 22679, | |
| 37278: 24974, | |
| 37279: 33235, | |
| 37280: 34101, | |
| 37281: 36104, | |
| 37282: 36896, | |
| 37283: 20419, | |
| 37284: 20596, | |
| 37285: 21063, | |
| 37286: 21363, | |
| 37287: 24687, | |
| 37288: 25417, | |
| 37289: 26463, | |
| 37290: 28204, | |
| 37291: 36275, | |
| 37292: 36895, | |
| 37293: 20439, | |
| 37294: 23646, | |
| 37295: 36042, | |
| 37296: 26063, | |
| 37297: 32154, | |
| 37298: 21330, | |
| 37299: 34966, | |
| 37300: 20854, | |
| 37301: 25539, | |
| 37302: 23384, | |
| 37303: 23403, | |
| 37304: 23562, | |
| 37305: 25613, | |
| 37306: 26449, | |
| 37307: 36956, | |
| 37308: 20182, | |
| 37309: 22810, | |
| 37310: 22826, | |
| 37311: 27760, | |
| 37312: 35409, | |
| 37313: 21822, | |
| 37314: 22549, | |
| 37315: 22949, | |
| 37316: 24816, | |
| 37317: 25171, | |
| 37318: 26561, | |
| 37319: 33333, | |
| 37320: 26965, | |
| 37321: 38464, | |
| 37322: 39364, | |
| 37323: 39464, | |
| 37324: 20307, | |
| 37325: 22534, | |
| 37326: 23550, | |
| 37327: 32784, | |
| 37328: 23729, | |
| 37329: 24111, | |
| 37330: 24453, | |
| 37331: 24608, | |
| 37332: 24907, | |
| 37333: 25140, | |
| 37334: 26367, | |
| 37335: 27888, | |
| 37336: 28382, | |
| 37337: 32974, | |
| 37338: 33151, | |
| 37339: 33492, | |
| 37340: 34955, | |
| 37341: 36024, | |
| 37342: 36864, | |
| 37343: 36910, | |
| 37344: 38538, | |
| 37345: 40667, | |
| 37346: 39899, | |
| 37347: 20195, | |
| 37348: 21488, | |
| 37349: 22823, | |
| 37350: 31532, | |
| 37351: 37261, | |
| 37352: 38988, | |
| 37353: 40441, | |
| 37354: 28381, | |
| 37355: 28711, | |
| 37356: 21331, | |
| 37357: 21828, | |
| 37358: 23429, | |
| 37359: 25176, | |
| 37360: 25246, | |
| 37361: 25299, | |
| 37362: 27810, | |
| 37363: 28655, | |
| 37364: 29730, | |
| 37365: 35351, | |
| 37366: 37944, | |
| 37367: 28609, | |
| 37368: 35582, | |
| 37369: 33592, | |
| 37370: 20967, | |
| 37371: 34552, | |
| 37372: 21482, | |
| 37440: 21481, | |
| 37441: 20294, | |
| 37442: 36948, | |
| 37443: 36784, | |
| 37444: 22890, | |
| 37445: 33073, | |
| 37446: 24061, | |
| 37447: 31466, | |
| 37448: 36799, | |
| 37449: 26842, | |
| 37450: 35895, | |
| 37451: 29432, | |
| 37452: 40008, | |
| 37453: 27197, | |
| 37454: 35504, | |
| 37455: 20025, | |
| 37456: 21336, | |
| 37457: 22022, | |
| 37458: 22374, | |
| 37459: 25285, | |
| 37460: 25506, | |
| 37461: 26086, | |
| 37462: 27470, | |
| 37463: 28129, | |
| 37464: 28251, | |
| 37465: 28845, | |
| 37466: 30701, | |
| 37467: 31471, | |
| 37468: 31658, | |
| 37469: 32187, | |
| 37470: 32829, | |
| 37471: 32966, | |
| 37472: 34507, | |
| 37473: 35477, | |
| 37474: 37723, | |
| 37475: 22243, | |
| 37476: 22727, | |
| 37477: 24382, | |
| 37478: 26029, | |
| 37479: 26262, | |
| 37480: 27264, | |
| 37481: 27573, | |
| 37482: 30007, | |
| 37483: 35527, | |
| 37484: 20516, | |
| 37485: 30693, | |
| 37486: 22320, | |
| 37487: 24347, | |
| 37488: 24677, | |
| 37489: 26234, | |
| 37490: 27744, | |
| 37491: 30196, | |
| 37492: 31258, | |
| 37493: 32622, | |
| 37494: 33268, | |
| 37495: 34584, | |
| 37496: 36933, | |
| 37497: 39347, | |
| 37498: 31689, | |
| 37499: 30044, | |
| 37500: 31481, | |
| 37501: 31569, | |
| 37502: 33988, | |
| 37504: 36880, | |
| 37505: 31209, | |
| 37506: 31378, | |
| 37507: 33590, | |
| 37508: 23265, | |
| 37509: 30528, | |
| 37510: 20013, | |
| 37511: 20210, | |
| 37512: 23449, | |
| 37513: 24544, | |
| 37514: 25277, | |
| 37515: 26172, | |
| 37516: 26609, | |
| 37517: 27880, | |
| 37518: 34411, | |
| 37519: 34935, | |
| 37520: 35387, | |
| 37521: 37198, | |
| 37522: 37619, | |
| 37523: 39376, | |
| 37524: 27159, | |
| 37525: 28710, | |
| 37526: 29482, | |
| 37527: 33511, | |
| 37528: 33879, | |
| 37529: 36015, | |
| 37530: 19969, | |
| 37531: 20806, | |
| 37532: 20939, | |
| 37533: 21899, | |
| 37534: 23541, | |
| 37535: 24086, | |
| 37536: 24115, | |
| 37537: 24193, | |
| 37538: 24340, | |
| 37539: 24373, | |
| 37540: 24427, | |
| 37541: 24500, | |
| 37542: 25074, | |
| 37543: 25361, | |
| 37544: 26274, | |
| 37545: 26397, | |
| 37546: 28526, | |
| 37547: 29266, | |
| 37548: 30010, | |
| 37549: 30522, | |
| 37550: 32884, | |
| 37551: 33081, | |
| 37552: 33144, | |
| 37553: 34678, | |
| 37554: 35519, | |
| 37555: 35548, | |
| 37556: 36229, | |
| 37557: 36339, | |
| 37558: 37530, | |
| 37559: 38263, | |
| 37560: 38914, | |
| 37561: 40165, | |
| 37562: 21189, | |
| 37563: 25431, | |
| 37564: 30452, | |
| 37565: 26389, | |
| 37566: 27784, | |
| 37567: 29645, | |
| 37568: 36035, | |
| 37569: 37806, | |
| 37570: 38515, | |
| 37571: 27941, | |
| 37572: 22684, | |
| 37573: 26894, | |
| 37574: 27084, | |
| 37575: 36861, | |
| 37576: 37786, | |
| 37577: 30171, | |
| 37578: 36890, | |
| 37579: 22618, | |
| 37580: 26626, | |
| 37581: 25524, | |
| 37582: 27131, | |
| 37583: 20291, | |
| 37584: 28460, | |
| 37585: 26584, | |
| 37586: 36795, | |
| 37587: 34086, | |
| 37588: 32180, | |
| 37589: 37716, | |
| 37590: 26943, | |
| 37591: 28528, | |
| 37592: 22378, | |
| 37593: 22775, | |
| 37594: 23340, | |
| 37595: 32044, | |
| 37596: 29226, | |
| 37597: 21514, | |
| 37598: 37347, | |
| 37599: 40372, | |
| 37600: 20141, | |
| 37601: 20302, | |
| 37602: 20572, | |
| 37603: 20597, | |
| 37604: 21059, | |
| 37605: 35998, | |
| 37606: 21576, | |
| 37607: 22564, | |
| 37608: 23450, | |
| 37609: 24093, | |
| 37610: 24213, | |
| 37611: 24237, | |
| 37612: 24311, | |
| 37613: 24351, | |
| 37614: 24716, | |
| 37615: 25269, | |
| 37616: 25402, | |
| 37617: 25552, | |
| 37618: 26799, | |
| 37619: 27712, | |
| 37620: 30855, | |
| 37621: 31118, | |
| 37622: 31243, | |
| 37623: 32224, | |
| 37624: 33351, | |
| 37625: 35330, | |
| 37626: 35558, | |
| 37627: 36420, | |
| 37628: 36883, | |
| 37696: 37048, | |
| 37697: 37165, | |
| 37698: 37336, | |
| 37699: 40718, | |
| 37700: 27877, | |
| 37701: 25688, | |
| 37702: 25826, | |
| 37703: 25973, | |
| 37704: 28404, | |
| 37705: 30340, | |
| 37706: 31515, | |
| 37707: 36969, | |
| 37708: 37841, | |
| 37709: 28346, | |
| 37710: 21746, | |
| 37711: 24505, | |
| 37712: 25764, | |
| 37713: 36685, | |
| 37714: 36845, | |
| 37715: 37444, | |
| 37716: 20856, | |
| 37717: 22635, | |
| 37718: 22825, | |
| 37719: 23637, | |
| 37720: 24215, | |
| 37721: 28155, | |
| 37722: 32399, | |
| 37723: 29980, | |
| 37724: 36028, | |
| 37725: 36578, | |
| 37726: 39003, | |
| 37727: 28857, | |
| 37728: 20253, | |
| 37729: 27583, | |
| 37730: 28593, | |
| 37731: 3e4, | |
| 37732: 38651, | |
| 37733: 20814, | |
| 37734: 21520, | |
| 37735: 22581, | |
| 37736: 22615, | |
| 37737: 22956, | |
| 37738: 23648, | |
| 37739: 24466, | |
| 37740: 26007, | |
| 37741: 26460, | |
| 37742: 28193, | |
| 37743: 30331, | |
| 37744: 33759, | |
| 37745: 36077, | |
| 37746: 36884, | |
| 37747: 37117, | |
| 37748: 37709, | |
| 37749: 30757, | |
| 37750: 30778, | |
| 37751: 21162, | |
| 37752: 24230, | |
| 37753: 22303, | |
| 37754: 22900, | |
| 37755: 24594, | |
| 37756: 20498, | |
| 37757: 20826, | |
| 37758: 20908, | |
| 37760: 20941, | |
| 37761: 20992, | |
| 37762: 21776, | |
| 37763: 22612, | |
| 37764: 22616, | |
| 37765: 22871, | |
| 37766: 23445, | |
| 37767: 23798, | |
| 37768: 23947, | |
| 37769: 24764, | |
| 37770: 25237, | |
| 37771: 25645, | |
| 37772: 26481, | |
| 37773: 26691, | |
| 37774: 26812, | |
| 37775: 26847, | |
| 37776: 30423, | |
| 37777: 28120, | |
| 37778: 28271, | |
| 37779: 28059, | |
| 37780: 28783, | |
| 37781: 29128, | |
| 37782: 24403, | |
| 37783: 30168, | |
| 37784: 31095, | |
| 37785: 31561, | |
| 37786: 31572, | |
| 37787: 31570, | |
| 37788: 31958, | |
| 37789: 32113, | |
| 37790: 21040, | |
| 37791: 33891, | |
| 37792: 34153, | |
| 37793: 34276, | |
| 37794: 35342, | |
| 37795: 35588, | |
| 37796: 35910, | |
| 37797: 36367, | |
| 37798: 36867, | |
| 37799: 36879, | |
| 37800: 37913, | |
| 37801: 38518, | |
| 37802: 38957, | |
| 37803: 39472, | |
| 37804: 38360, | |
| 37805: 20685, | |
| 37806: 21205, | |
| 37807: 21516, | |
| 37808: 22530, | |
| 37809: 23566, | |
| 37810: 24999, | |
| 37811: 25758, | |
| 37812: 27934, | |
| 37813: 30643, | |
| 37814: 31461, | |
| 37815: 33012, | |
| 37816: 33796, | |
| 37817: 36947, | |
| 37818: 37509, | |
| 37819: 23776, | |
| 37820: 40199, | |
| 37821: 21311, | |
| 37822: 24471, | |
| 37823: 24499, | |
| 37824: 28060, | |
| 37825: 29305, | |
| 37826: 30563, | |
| 37827: 31167, | |
| 37828: 31716, | |
| 37829: 27602, | |
| 37830: 29420, | |
| 37831: 35501, | |
| 37832: 26627, | |
| 37833: 27233, | |
| 37834: 20984, | |
| 37835: 31361, | |
| 37836: 26932, | |
| 37837: 23626, | |
| 37838: 40182, | |
| 37839: 33515, | |
| 37840: 23493, | |
| 37841: 37193, | |
| 37842: 28702, | |
| 37843: 22136, | |
| 37844: 23663, | |
| 37845: 24775, | |
| 37846: 25958, | |
| 37847: 27788, | |
| 37848: 35930, | |
| 37849: 36929, | |
| 37850: 38931, | |
| 37851: 21585, | |
| 37852: 26311, | |
| 37853: 37389, | |
| 37854: 22856, | |
| 37855: 37027, | |
| 37856: 20869, | |
| 37857: 20045, | |
| 37858: 20970, | |
| 37859: 34201, | |
| 37860: 35598, | |
| 37861: 28760, | |
| 37862: 25466, | |
| 37863: 37707, | |
| 37864: 26978, | |
| 37865: 39348, | |
| 37866: 32260, | |
| 37867: 30071, | |
| 37868: 21335, | |
| 37869: 26976, | |
| 37870: 36575, | |
| 37871: 38627, | |
| 37872: 27741, | |
| 37873: 20108, | |
| 37874: 23612, | |
| 37875: 24336, | |
| 37876: 36841, | |
| 37877: 21250, | |
| 37878: 36049, | |
| 37879: 32905, | |
| 37880: 34425, | |
| 37881: 24319, | |
| 37882: 26085, | |
| 37883: 20083, | |
| 37884: 20837, | |
| 37952: 22914, | |
| 37953: 23615, | |
| 37954: 38894, | |
| 37955: 20219, | |
| 37956: 22922, | |
| 37957: 24525, | |
| 37958: 35469, | |
| 37959: 28641, | |
| 37960: 31152, | |
| 37961: 31074, | |
| 37962: 23527, | |
| 37963: 33905, | |
| 37964: 29483, | |
| 37965: 29105, | |
| 37966: 24180, | |
| 37967: 24565, | |
| 37968: 25467, | |
| 37969: 25754, | |
| 37970: 29123, | |
| 37971: 31896, | |
| 37972: 20035, | |
| 37973: 24316, | |
| 37974: 20043, | |
| 37975: 22492, | |
| 37976: 22178, | |
| 37977: 24745, | |
| 37978: 28611, | |
| 37979: 32013, | |
| 37980: 33021, | |
| 37981: 33075, | |
| 37982: 33215, | |
| 37983: 36786, | |
| 37984: 35223, | |
| 37985: 34468, | |
| 37986: 24052, | |
| 37987: 25226, | |
| 37988: 25773, | |
| 37989: 35207, | |
| 37990: 26487, | |
| 37991: 27874, | |
| 37992: 27966, | |
| 37993: 29750, | |
| 37994: 30772, | |
| 37995: 23110, | |
| 37996: 32629, | |
| 37997: 33453, | |
| 37998: 39340, | |
| 37999: 20467, | |
| 38e3: 24259, | |
| 38001: 25309, | |
| 38002: 25490, | |
| 38003: 25943, | |
| 38004: 26479, | |
| 38005: 30403, | |
| 38006: 29260, | |
| 38007: 32972, | |
| 38008: 32954, | |
| 38009: 36649, | |
| 38010: 37197, | |
| 38011: 20493, | |
| 38012: 22521, | |
| 38013: 23186, | |
| 38014: 26757, | |
| 38016: 26995, | |
| 38017: 29028, | |
| 38018: 29437, | |
| 38019: 36023, | |
| 38020: 22770, | |
| 38021: 36064, | |
| 38022: 38506, | |
| 38023: 36889, | |
| 38024: 34687, | |
| 38025: 31204, | |
| 38026: 30695, | |
| 38027: 33833, | |
| 38028: 20271, | |
| 38029: 21093, | |
| 38030: 21338, | |
| 38031: 25293, | |
| 38032: 26575, | |
| 38033: 27850, | |
| 38034: 30333, | |
| 38035: 31636, | |
| 38036: 31893, | |
| 38037: 33334, | |
| 38038: 34180, | |
| 38039: 36843, | |
| 38040: 26333, | |
| 38041: 28448, | |
| 38042: 29190, | |
| 38043: 32283, | |
| 38044: 33707, | |
| 38045: 39361, | |
| 38046: 40614, | |
| 38047: 20989, | |
| 38048: 31665, | |
| 38049: 30834, | |
| 38050: 31672, | |
| 38051: 32903, | |
| 38052: 31560, | |
| 38053: 27368, | |
| 38054: 24161, | |
| 38055: 32908, | |
| 38056: 30033, | |
| 38057: 30048, | |
| 38058: 20843, | |
| 38059: 37474, | |
| 38060: 28300, | |
| 38061: 30330, | |
| 38062: 37271, | |
| 38063: 39658, | |
| 38064: 20240, | |
| 38065: 32624, | |
| 38066: 25244, | |
| 38067: 31567, | |
| 38068: 38309, | |
| 38069: 40169, | |
| 38070: 22138, | |
| 38071: 22617, | |
| 38072: 34532, | |
| 38073: 38588, | |
| 38074: 20276, | |
| 38075: 21028, | |
| 38076: 21322, | |
| 38077: 21453, | |
| 38078: 21467, | |
| 38079: 24070, | |
| 38080: 25644, | |
| 38081: 26001, | |
| 38082: 26495, | |
| 38083: 27710, | |
| 38084: 27726, | |
| 38085: 29256, | |
| 38086: 29359, | |
| 38087: 29677, | |
| 38088: 30036, | |
| 38089: 32321, | |
| 38090: 33324, | |
| 38091: 34281, | |
| 38092: 36009, | |
| 38093: 31684, | |
| 38094: 37318, | |
| 38095: 29033, | |
| 38096: 38930, | |
| 38097: 39151, | |
| 38098: 25405, | |
| 38099: 26217, | |
| 38100: 30058, | |
| 38101: 30436, | |
| 38102: 30928, | |
| 38103: 34115, | |
| 38104: 34542, | |
| 38105: 21290, | |
| 38106: 21329, | |
| 38107: 21542, | |
| 38108: 22915, | |
| 38109: 24199, | |
| 38110: 24444, | |
| 38111: 24754, | |
| 38112: 25161, | |
| 38113: 25209, | |
| 38114: 25259, | |
| 38115: 26e3, | |
| 38116: 27604, | |
| 38117: 27852, | |
| 38118: 30130, | |
| 38119: 30382, | |
| 38120: 30865, | |
| 38121: 31192, | |
| 38122: 32203, | |
| 38123: 32631, | |
| 38124: 32933, | |
| 38125: 34987, | |
| 38126: 35513, | |
| 38127: 36027, | |
| 38128: 36991, | |
| 38129: 38750, | |
| 38130: 39131, | |
| 38131: 27147, | |
| 38132: 31800, | |
| 38133: 20633, | |
| 38134: 23614, | |
| 38135: 24494, | |
| 38136: 26503, | |
| 38137: 27608, | |
| 38138: 29749, | |
| 38139: 30473, | |
| 38140: 32654, | |
| 38208: 40763, | |
| 38209: 26570, | |
| 38210: 31255, | |
| 38211: 21305, | |
| 38212: 30091, | |
| 38213: 39661, | |
| 38214: 24422, | |
| 38215: 33181, | |
| 38216: 33777, | |
| 38217: 32920, | |
| 38218: 24380, | |
| 38219: 24517, | |
| 38220: 30050, | |
| 38221: 31558, | |
| 38222: 36924, | |
| 38223: 26727, | |
| 38224: 23019, | |
| 38225: 23195, | |
| 38226: 32016, | |
| 38227: 30334, | |
| 38228: 35628, | |
| 38229: 20469, | |
| 38230: 24426, | |
| 38231: 27161, | |
| 38232: 27703, | |
| 38233: 28418, | |
| 38234: 29922, | |
| 38235: 31080, | |
| 38236: 34920, | |
| 38237: 35413, | |
| 38238: 35961, | |
| 38239: 24287, | |
| 38240: 25551, | |
| 38241: 30149, | |
| 38242: 31186, | |
| 38243: 33495, | |
| 38244: 37672, | |
| 38245: 37618, | |
| 38246: 33948, | |
| 38247: 34541, | |
| 38248: 39981, | |
| 38249: 21697, | |
| 38250: 24428, | |
| 38251: 25996, | |
| 38252: 27996, | |
| 38253: 28693, | |
| 38254: 36007, | |
| 38255: 36051, | |
| 38256: 38971, | |
| 38257: 25935, | |
| 38258: 29942, | |
| 38259: 19981, | |
| 38260: 20184, | |
| 38261: 22496, | |
| 38262: 22827, | |
| 38263: 23142, | |
| 38264: 23500, | |
| 38265: 20904, | |
| 38266: 24067, | |
| 38267: 24220, | |
| 38268: 24598, | |
| 38269: 25206, | |
| 38270: 25975, | |
| 38272: 26023, | |
| 38273: 26222, | |
| 38274: 28014, | |
| 38275: 29238, | |
| 38276: 31526, | |
| 38277: 33104, | |
| 38278: 33178, | |
| 38279: 33433, | |
| 38280: 35676, | |
| 38281: 36e3, | |
| 38282: 36070, | |
| 38283: 36212, | |
| 38284: 38428, | |
| 38285: 38468, | |
| 38286: 20398, | |
| 38287: 25771, | |
| 38288: 27494, | |
| 38289: 33310, | |
| 38290: 33889, | |
| 38291: 34154, | |
| 38292: 37096, | |
| 38293: 23553, | |
| 38294: 26963, | |
| 38295: 39080, | |
| 38296: 33914, | |
| 38297: 34135, | |
| 38298: 20239, | |
| 38299: 21103, | |
| 38300: 24489, | |
| 38301: 24133, | |
| 38302: 26381, | |
| 38303: 31119, | |
| 38304: 33145, | |
| 38305: 35079, | |
| 38306: 35206, | |
| 38307: 28149, | |
| 38308: 24343, | |
| 38309: 25173, | |
| 38310: 27832, | |
| 38311: 20175, | |
| 38312: 29289, | |
| 38313: 39826, | |
| 38314: 20998, | |
| 38315: 21563, | |
| 38316: 22132, | |
| 38317: 22707, | |
| 38318: 24996, | |
| 38319: 25198, | |
| 38320: 28954, | |
| 38321: 22894, | |
| 38322: 31881, | |
| 38323: 31966, | |
| 38324: 32027, | |
| 38325: 38640, | |
| 38326: 25991, | |
| 38327: 32862, | |
| 38328: 19993, | |
| 38329: 20341, | |
| 38330: 20853, | |
| 38331: 22592, | |
| 38332: 24163, | |
| 38333: 24179, | |
| 38334: 24330, | |
| 38335: 26564, | |
| 38336: 20006, | |
| 38337: 34109, | |
| 38338: 38281, | |
| 38339: 38491, | |
| 38340: 31859, | |
| 38341: 38913, | |
| 38342: 20731, | |
| 38343: 22721, | |
| 38344: 30294, | |
| 38345: 30887, | |
| 38346: 21029, | |
| 38347: 30629, | |
| 38348: 34065, | |
| 38349: 31622, | |
| 38350: 20559, | |
| 38351: 22793, | |
| 38352: 29255, | |
| 38353: 31687, | |
| 38354: 32232, | |
| 38355: 36794, | |
| 38356: 36820, | |
| 38357: 36941, | |
| 38358: 20415, | |
| 38359: 21193, | |
| 38360: 23081, | |
| 38361: 24321, | |
| 38362: 38829, | |
| 38363: 20445, | |
| 38364: 33303, | |
| 38365: 37610, | |
| 38366: 22275, | |
| 38367: 25429, | |
| 38368: 27497, | |
| 38369: 29995, | |
| 38370: 35036, | |
| 38371: 36628, | |
| 38372: 31298, | |
| 38373: 21215, | |
| 38374: 22675, | |
| 38375: 24917, | |
| 38376: 25098, | |
| 38377: 26286, | |
| 38378: 27597, | |
| 38379: 31807, | |
| 38380: 33769, | |
| 38381: 20515, | |
| 38382: 20472, | |
| 38383: 21253, | |
| 38384: 21574, | |
| 38385: 22577, | |
| 38386: 22857, | |
| 38387: 23453, | |
| 38388: 23792, | |
| 38389: 23791, | |
| 38390: 23849, | |
| 38391: 24214, | |
| 38392: 25265, | |
| 38393: 25447, | |
| 38394: 25918, | |
| 38395: 26041, | |
| 38396: 26379, | |
| 38464: 27861, | |
| 38465: 27873, | |
| 38466: 28921, | |
| 38467: 30770, | |
| 38468: 32299, | |
| 38469: 32990, | |
| 38470: 33459, | |
| 38471: 33804, | |
| 38472: 34028, | |
| 38473: 34562, | |
| 38474: 35090, | |
| 38475: 35370, | |
| 38476: 35914, | |
| 38477: 37030, | |
| 38478: 37586, | |
| 38479: 39165, | |
| 38480: 40179, | |
| 38481: 40300, | |
| 38482: 20047, | |
| 38483: 20129, | |
| 38484: 20621, | |
| 38485: 21078, | |
| 38486: 22346, | |
| 38487: 22952, | |
| 38488: 24125, | |
| 38489: 24536, | |
| 38490: 24537, | |
| 38491: 25151, | |
| 38492: 26292, | |
| 38493: 26395, | |
| 38494: 26576, | |
| 38495: 26834, | |
| 38496: 20882, | |
| 38497: 32033, | |
| 38498: 32938, | |
| 38499: 33192, | |
| 38500: 35584, | |
| 38501: 35980, | |
| 38502: 36031, | |
| 38503: 37502, | |
| 38504: 38450, | |
| 38505: 21536, | |
| 38506: 38956, | |
| 38507: 21271, | |
| 38508: 20693, | |
| 38509: 21340, | |
| 38510: 22696, | |
| 38511: 25778, | |
| 38512: 26420, | |
| 38513: 29287, | |
| 38514: 30566, | |
| 38515: 31302, | |
| 38516: 37350, | |
| 38517: 21187, | |
| 38518: 27809, | |
| 38519: 27526, | |
| 38520: 22528, | |
| 38521: 24140, | |
| 38522: 22868, | |
| 38523: 26412, | |
| 38524: 32763, | |
| 38525: 20961, | |
| 38526: 30406, | |
| 38528: 25705, | |
| 38529: 30952, | |
| 38530: 39764, | |
| 38531: 40635, | |
| 38532: 22475, | |
| 38533: 22969, | |
| 38534: 26151, | |
| 38535: 26522, | |
| 38536: 27598, | |
| 38537: 21737, | |
| 38538: 27097, | |
| 38539: 24149, | |
| 38540: 33180, | |
| 38541: 26517, | |
| 38542: 39850, | |
| 38543: 26622, | |
| 38544: 40018, | |
| 38545: 26717, | |
| 38546: 20134, | |
| 38547: 20451, | |
| 38548: 21448, | |
| 38549: 25273, | |
| 38550: 26411, | |
| 38551: 27819, | |
| 38552: 36804, | |
| 38553: 20397, | |
| 38554: 32365, | |
| 38555: 40639, | |
| 38556: 19975, | |
| 38557: 24930, | |
| 38558: 28288, | |
| 38559: 28459, | |
| 38560: 34067, | |
| 38561: 21619, | |
| 38562: 26410, | |
| 38563: 39749, | |
| 38564: 24051, | |
| 38565: 31637, | |
| 38566: 23724, | |
| 38567: 23494, | |
| 38568: 34588, | |
| 38569: 28234, | |
| 38570: 34001, | |
| 38571: 31252, | |
| 38572: 33032, | |
| 38573: 22937, | |
| 38574: 31885, | |
| 38575: 27665, | |
| 38576: 30496, | |
| 38577: 21209, | |
| 38578: 22818, | |
| 38579: 28961, | |
| 38580: 29279, | |
| 38581: 30683, | |
| 38582: 38695, | |
| 38583: 40289, | |
| 38584: 26891, | |
| 38585: 23167, | |
| 38586: 23064, | |
| 38587: 20901, | |
| 38588: 21517, | |
| 38589: 21629, | |
| 38590: 26126, | |
| 38591: 30431, | |
| 38592: 36855, | |
| 38593: 37528, | |
| 38594: 40180, | |
| 38595: 23018, | |
| 38596: 29277, | |
| 38597: 28357, | |
| 38598: 20813, | |
| 38599: 26825, | |
| 38600: 32191, | |
| 38601: 32236, | |
| 38602: 38754, | |
| 38603: 40634, | |
| 38604: 25720, | |
| 38605: 27169, | |
| 38606: 33538, | |
| 38607: 22916, | |
| 38608: 23391, | |
| 38609: 27611, | |
| 38610: 29467, | |
| 38611: 30450, | |
| 38612: 32178, | |
| 38613: 32791, | |
| 38614: 33945, | |
| 38615: 20786, | |
| 38616: 26408, | |
| 38617: 40665, | |
| 38618: 30446, | |
| 38619: 26466, | |
| 38620: 21247, | |
| 38621: 39173, | |
| 38622: 23588, | |
| 38623: 25147, | |
| 38624: 31870, | |
| 38625: 36016, | |
| 38626: 21839, | |
| 38627: 24758, | |
| 38628: 32011, | |
| 38629: 38272, | |
| 38630: 21249, | |
| 38631: 20063, | |
| 38632: 20918, | |
| 38633: 22812, | |
| 38634: 29242, | |
| 38635: 32822, | |
| 38636: 37326, | |
| 38637: 24357, | |
| 38638: 30690, | |
| 38639: 21380, | |
| 38640: 24441, | |
| 38641: 32004, | |
| 38642: 34220, | |
| 38643: 35379, | |
| 38644: 36493, | |
| 38645: 38742, | |
| 38646: 26611, | |
| 38647: 34222, | |
| 38648: 37971, | |
| 38649: 24841, | |
| 38650: 24840, | |
| 38651: 27833, | |
| 38652: 30290, | |
| 38720: 35565, | |
| 38721: 36664, | |
| 38722: 21807, | |
| 38723: 20305, | |
| 38724: 20778, | |
| 38725: 21191, | |
| 38726: 21451, | |
| 38727: 23461, | |
| 38728: 24189, | |
| 38729: 24736, | |
| 38730: 24962, | |
| 38731: 25558, | |
| 38732: 26377, | |
| 38733: 26586, | |
| 38734: 28263, | |
| 38735: 28044, | |
| 38736: 29494, | |
| 38737: 29495, | |
| 38738: 30001, | |
| 38739: 31056, | |
| 38740: 35029, | |
| 38741: 35480, | |
| 38742: 36938, | |
| 38743: 37009, | |
| 38744: 37109, | |
| 38745: 38596, | |
| 38746: 34701, | |
| 38747: 22805, | |
| 38748: 20104, | |
| 38749: 20313, | |
| 38750: 19982, | |
| 38751: 35465, | |
| 38752: 36671, | |
| 38753: 38928, | |
| 38754: 20653, | |
| 38755: 24188, | |
| 38756: 22934, | |
| 38757: 23481, | |
| 38758: 24248, | |
| 38759: 25562, | |
| 38760: 25594, | |
| 38761: 25793, | |
| 38762: 26332, | |
| 38763: 26954, | |
| 38764: 27096, | |
| 38765: 27915, | |
| 38766: 28342, | |
| 38767: 29076, | |
| 38768: 29992, | |
| 38769: 31407, | |
| 38770: 32650, | |
| 38771: 32768, | |
| 38772: 33865, | |
| 38773: 33993, | |
| 38774: 35201, | |
| 38775: 35617, | |
| 38776: 36362, | |
| 38777: 36965, | |
| 38778: 38525, | |
| 38779: 39178, | |
| 38780: 24958, | |
| 38781: 25233, | |
| 38782: 27442, | |
| 38784: 27779, | |
| 38785: 28020, | |
| 38786: 32716, | |
| 38787: 32764, | |
| 38788: 28096, | |
| 38789: 32645, | |
| 38790: 34746, | |
| 38791: 35064, | |
| 38792: 26469, | |
| 38793: 33713, | |
| 38794: 38972, | |
| 38795: 38647, | |
| 38796: 27931, | |
| 38797: 32097, | |
| 38798: 33853, | |
| 38799: 37226, | |
| 38800: 20081, | |
| 38801: 21365, | |
| 38802: 23888, | |
| 38803: 27396, | |
| 38804: 28651, | |
| 38805: 34253, | |
| 38806: 34349, | |
| 38807: 35239, | |
| 38808: 21033, | |
| 38809: 21519, | |
| 38810: 23653, | |
| 38811: 26446, | |
| 38812: 26792, | |
| 38813: 29702, | |
| 38814: 29827, | |
| 38815: 30178, | |
| 38816: 35023, | |
| 38817: 35041, | |
| 38818: 37324, | |
| 38819: 38626, | |
| 38820: 38520, | |
| 38821: 24459, | |
| 38822: 29575, | |
| 38823: 31435, | |
| 38824: 33870, | |
| 38825: 25504, | |
| 38826: 30053, | |
| 38827: 21129, | |
| 38828: 27969, | |
| 38829: 28316, | |
| 38830: 29705, | |
| 38831: 30041, | |
| 38832: 30827, | |
| 38833: 31890, | |
| 38834: 38534, | |
| 38835: 31452, | |
| 38836: 40845, | |
| 38837: 20406, | |
| 38838: 24942, | |
| 38839: 26053, | |
| 38840: 34396, | |
| 38841: 20102, | |
| 38842: 20142, | |
| 38843: 20698, | |
| 38844: 20001, | |
| 38845: 20940, | |
| 38846: 23534, | |
| 38847: 26009, | |
| 38848: 26753, | |
| 38849: 28092, | |
| 38850: 29471, | |
| 38851: 30274, | |
| 38852: 30637, | |
| 38853: 31260, | |
| 38854: 31975, | |
| 38855: 33391, | |
| 38856: 35538, | |
| 38857: 36988, | |
| 38858: 37327, | |
| 38859: 38517, | |
| 38860: 38936, | |
| 38861: 21147, | |
| 38862: 32209, | |
| 38863: 20523, | |
| 38864: 21400, | |
| 38865: 26519, | |
| 38866: 28107, | |
| 38867: 29136, | |
| 38868: 29747, | |
| 38869: 33256, | |
| 38870: 36650, | |
| 38871: 38563, | |
| 38872: 40023, | |
| 38873: 40607, | |
| 38874: 29792, | |
| 38875: 22593, | |
| 38876: 28057, | |
| 38877: 32047, | |
| 38878: 39006, | |
| 38879: 20196, | |
| 38880: 20278, | |
| 38881: 20363, | |
| 38882: 20919, | |
| 38883: 21169, | |
| 38884: 23994, | |
| 38885: 24604, | |
| 38886: 29618, | |
| 38887: 31036, | |
| 38888: 33491, | |
| 38889: 37428, | |
| 38890: 38583, | |
| 38891: 38646, | |
| 38892: 38666, | |
| 38893: 40599, | |
| 38894: 40802, | |
| 38895: 26278, | |
| 38896: 27508, | |
| 38897: 21015, | |
| 38898: 21155, | |
| 38899: 28872, | |
| 38900: 35010, | |
| 38901: 24265, | |
| 38902: 24651, | |
| 38903: 24976, | |
| 38904: 28451, | |
| 38905: 29001, | |
| 38906: 31806, | |
| 38907: 32244, | |
| 38908: 32879, | |
| 38976: 34030, | |
| 38977: 36899, | |
| 38978: 37676, | |
| 38979: 21570, | |
| 38980: 39791, | |
| 38981: 27347, | |
| 38982: 28809, | |
| 38983: 36034, | |
| 38984: 36335, | |
| 38985: 38706, | |
| 38986: 21172, | |
| 38987: 23105, | |
| 38988: 24266, | |
| 38989: 24324, | |
| 38990: 26391, | |
| 38991: 27004, | |
| 38992: 27028, | |
| 38993: 28010, | |
| 38994: 28431, | |
| 38995: 29282, | |
| 38996: 29436, | |
| 38997: 31725, | |
| 38998: 32769, | |
| 38999: 32894, | |
| 39e3: 34635, | |
| 39001: 37070, | |
| 39002: 20845, | |
| 39003: 40595, | |
| 39004: 31108, | |
| 39005: 32907, | |
| 39006: 37682, | |
| 39007: 35542, | |
| 39008: 20525, | |
| 39009: 21644, | |
| 39010: 35441, | |
| 39011: 27498, | |
| 39012: 36036, | |
| 39013: 33031, | |
| 39014: 24785, | |
| 39015: 26528, | |
| 39016: 40434, | |
| 39017: 20121, | |
| 39018: 20120, | |
| 39019: 39952, | |
| 39020: 35435, | |
| 39021: 34241, | |
| 39022: 34152, | |
| 39023: 26880, | |
| 39024: 28286, | |
| 39025: 30871, | |
| 39026: 33109, | |
| 39071: 24332, | |
| 39072: 19984, | |
| 39073: 19989, | |
| 39074: 20010, | |
| 39075: 20017, | |
| 39076: 20022, | |
| 39077: 20028, | |
| 39078: 20031, | |
| 39079: 20034, | |
| 39080: 20054, | |
| 39081: 20056, | |
| 39082: 20098, | |
| 39083: 20101, | |
| 39084: 35947, | |
| 39085: 20106, | |
| 39086: 33298, | |
| 39087: 24333, | |
| 39088: 20110, | |
| 39089: 20126, | |
| 39090: 20127, | |
| 39091: 20128, | |
| 39092: 20130, | |
| 39093: 20144, | |
| 39094: 20147, | |
| 39095: 20150, | |
| 39096: 20174, | |
| 39097: 20173, | |
| 39098: 20164, | |
| 39099: 20166, | |
| 39100: 20162, | |
| 39101: 20183, | |
| 39102: 20190, | |
| 39103: 20205, | |
| 39104: 20191, | |
| 39105: 20215, | |
| 39106: 20233, | |
| 39107: 20314, | |
| 39108: 20272, | |
| 39109: 20315, | |
| 39110: 20317, | |
| 39111: 20311, | |
| 39112: 20295, | |
| 39113: 20342, | |
| 39114: 20360, | |
| 39115: 20367, | |
| 39116: 20376, | |
| 39117: 20347, | |
| 39118: 20329, | |
| 39119: 20336, | |
| 39120: 20369, | |
| 39121: 20335, | |
| 39122: 20358, | |
| 39123: 20374, | |
| 39124: 20760, | |
| 39125: 20436, | |
| 39126: 20447, | |
| 39127: 20430, | |
| 39128: 20440, | |
| 39129: 20443, | |
| 39130: 20433, | |
| 39131: 20442, | |
| 39132: 20432, | |
| 39133: 20452, | |
| 39134: 20453, | |
| 39135: 20506, | |
| 39136: 20520, | |
| 39137: 20500, | |
| 39138: 20522, | |
| 39139: 20517, | |
| 39140: 20485, | |
| 39141: 20252, | |
| 39142: 20470, | |
| 39143: 20513, | |
| 39144: 20521, | |
| 39145: 20524, | |
| 39146: 20478, | |
| 39147: 20463, | |
| 39148: 20497, | |
| 39149: 20486, | |
| 39150: 20547, | |
| 39151: 20551, | |
| 39152: 26371, | |
| 39153: 20565, | |
| 39154: 20560, | |
| 39155: 20552, | |
| 39156: 20570, | |
| 39157: 20566, | |
| 39158: 20588, | |
| 39159: 20600, | |
| 39160: 20608, | |
| 39161: 20634, | |
| 39162: 20613, | |
| 39163: 20660, | |
| 39164: 20658, | |
| 39232: 20681, | |
| 39233: 20682, | |
| 39234: 20659, | |
| 39235: 20674, | |
| 39236: 20694, | |
| 39237: 20702, | |
| 39238: 20709, | |
| 39239: 20717, | |
| 39240: 20707, | |
| 39241: 20718, | |
| 39242: 20729, | |
| 39243: 20725, | |
| 39244: 20745, | |
| 39245: 20737, | |
| 39246: 20738, | |
| 39247: 20758, | |
| 39248: 20757, | |
| 39249: 20756, | |
| 39250: 20762, | |
| 39251: 20769, | |
| 39252: 20794, | |
| 39253: 20791, | |
| 39254: 20796, | |
| 39255: 20795, | |
| 39256: 20799, | |
| 39257: 20800, | |
| 39258: 20818, | |
| 39259: 20812, | |
| 39260: 20820, | |
| 39261: 20834, | |
| 39262: 31480, | |
| 39263: 20841, | |
| 39264: 20842, | |
| 39265: 20846, | |
| 39266: 20864, | |
| 39267: 20866, | |
| 39268: 22232, | |
| 39269: 20876, | |
| 39270: 20873, | |
| 39271: 20879, | |
| 39272: 20881, | |
| 39273: 20883, | |
| 39274: 20885, | |
| 39275: 20886, | |
| 39276: 20900, | |
| 39277: 20902, | |
| 39278: 20898, | |
| 39279: 20905, | |
| 39280: 20906, | |
| 39281: 20907, | |
| 39282: 20915, | |
| 39283: 20913, | |
| 39284: 20914, | |
| 39285: 20912, | |
| 39286: 20917, | |
| 39287: 20925, | |
| 39288: 20933, | |
| 39289: 20937, | |
| 39290: 20955, | |
| 39291: 20960, | |
| 39292: 34389, | |
| 39293: 20969, | |
| 39294: 20973, | |
| 39296: 20976, | |
| 39297: 20981, | |
| 39298: 20990, | |
| 39299: 20996, | |
| 39300: 21003, | |
| 39301: 21012, | |
| 39302: 21006, | |
| 39303: 21031, | |
| 39304: 21034, | |
| 39305: 21038, | |
| 39306: 21043, | |
| 39307: 21049, | |
| 39308: 21071, | |
| 39309: 21060, | |
| 39310: 21067, | |
| 39311: 21068, | |
| 39312: 21086, | |
| 39313: 21076, | |
| 39314: 21098, | |
| 39315: 21108, | |
| 39316: 21097, | |
| 39317: 21107, | |
| 39318: 21119, | |
| 39319: 21117, | |
| 39320: 21133, | |
| 39321: 21140, | |
| 39322: 21138, | |
| 39323: 21105, | |
| 39324: 21128, | |
| 39325: 21137, | |
| 39326: 36776, | |
| 39327: 36775, | |
| 39328: 21164, | |
| 39329: 21165, | |
| 39330: 21180, | |
| 39331: 21173, | |
| 39332: 21185, | |
| 39333: 21197, | |
| 39334: 21207, | |
| 39335: 21214, | |
| 39336: 21219, | |
| 39337: 21222, | |
| 39338: 39149, | |
| 39339: 21216, | |
| 39340: 21235, | |
| 39341: 21237, | |
| 39342: 21240, | |
| 39343: 21241, | |
| 39344: 21254, | |
| 39345: 21256, | |
| 39346: 30008, | |
| 39347: 21261, | |
| 39348: 21264, | |
| 39349: 21263, | |
| 39350: 21269, | |
| 39351: 21274, | |
| 39352: 21283, | |
| 39353: 21295, | |
| 39354: 21297, | |
| 39355: 21299, | |
| 39356: 21304, | |
| 39357: 21312, | |
| 39358: 21318, | |
| 39359: 21317, | |
| 39360: 19991, | |
| 39361: 21321, | |
| 39362: 21325, | |
| 39363: 20950, | |
| 39364: 21342, | |
| 39365: 21353, | |
| 39366: 21358, | |
| 39367: 22808, | |
| 39368: 21371, | |
| 39369: 21367, | |
| 39370: 21378, | |
| 39371: 21398, | |
| 39372: 21408, | |
| 39373: 21414, | |
| 39374: 21413, | |
| 39375: 21422, | |
| 39376: 21424, | |
| 39377: 21430, | |
| 39378: 21443, | |
| 39379: 31762, | |
| 39380: 38617, | |
| 39381: 21471, | |
| 39382: 26364, | |
| 39383: 29166, | |
| 39384: 21486, | |
| 39385: 21480, | |
| 39386: 21485, | |
| 39387: 21498, | |
| 39388: 21505, | |
| 39389: 21565, | |
| 39390: 21568, | |
| 39391: 21548, | |
| 39392: 21549, | |
| 39393: 21564, | |
| 39394: 21550, | |
| 39395: 21558, | |
| 39396: 21545, | |
| 39397: 21533, | |
| 39398: 21582, | |
| 39399: 21647, | |
| 39400: 21621, | |
| 39401: 21646, | |
| 39402: 21599, | |
| 39403: 21617, | |
| 39404: 21623, | |
| 39405: 21616, | |
| 39406: 21650, | |
| 39407: 21627, | |
| 39408: 21632, | |
| 39409: 21622, | |
| 39410: 21636, | |
| 39411: 21648, | |
| 39412: 21638, | |
| 39413: 21703, | |
| 39414: 21666, | |
| 39415: 21688, | |
| 39416: 21669, | |
| 39417: 21676, | |
| 39418: 21700, | |
| 39419: 21704, | |
| 39420: 21672, | |
| 39488: 21675, | |
| 39489: 21698, | |
| 39490: 21668, | |
| 39491: 21694, | |
| 39492: 21692, | |
| 39493: 21720, | |
| 39494: 21733, | |
| 39495: 21734, | |
| 39496: 21775, | |
| 39497: 21780, | |
| 39498: 21757, | |
| 39499: 21742, | |
| 39500: 21741, | |
| 39501: 21754, | |
| 39502: 21730, | |
| 39503: 21817, | |
| 39504: 21824, | |
| 39505: 21859, | |
| 39506: 21836, | |
| 39507: 21806, | |
| 39508: 21852, | |
| 39509: 21829, | |
| 39510: 21846, | |
| 39511: 21847, | |
| 39512: 21816, | |
| 39513: 21811, | |
| 39514: 21853, | |
| 39515: 21913, | |
| 39516: 21888, | |
| 39517: 21679, | |
| 39518: 21898, | |
| 39519: 21919, | |
| 39520: 21883, | |
| 39521: 21886, | |
| 39522: 21912, | |
| 39523: 21918, | |
| 39524: 21934, | |
| 39525: 21884, | |
| 39526: 21891, | |
| 39527: 21929, | |
| 39528: 21895, | |
| 39529: 21928, | |
| 39530: 21978, | |
| 39531: 21957, | |
| 39532: 21983, | |
| 39533: 21956, | |
| 39534: 21980, | |
| 39535: 21988, | |
| 39536: 21972, | |
| 39537: 22036, | |
| 39538: 22007, | |
| 39539: 22038, | |
| 39540: 22014, | |
| 39541: 22013, | |
| 39542: 22043, | |
| 39543: 22009, | |
| 39544: 22094, | |
| 39545: 22096, | |
| 39546: 29151, | |
| 39547: 22068, | |
| 39548: 22070, | |
| 39549: 22066, | |
| 39550: 22072, | |
| 39552: 22123, | |
| 39553: 22116, | |
| 39554: 22063, | |
| 39555: 22124, | |
| 39556: 22122, | |
| 39557: 22150, | |
| 39558: 22144, | |
| 39559: 22154, | |
| 39560: 22176, | |
| 39561: 22164, | |
| 39562: 22159, | |
| 39563: 22181, | |
| 39564: 22190, | |
| 39565: 22198, | |
| 39566: 22196, | |
| 39567: 22210, | |
| 39568: 22204, | |
| 39569: 22209, | |
| 39570: 22211, | |
| 39571: 22208, | |
| 39572: 22216, | |
| 39573: 22222, | |
| 39574: 22225, | |
| 39575: 22227, | |
| 39576: 22231, | |
| 39577: 22254, | |
| 39578: 22265, | |
| 39579: 22272, | |
| 39580: 22271, | |
| 39581: 22276, | |
| 39582: 22281, | |
| 39583: 22280, | |
| 39584: 22283, | |
| 39585: 22285, | |
| 39586: 22291, | |
| 39587: 22296, | |
| 39588: 22294, | |
| 39589: 21959, | |
| 39590: 22300, | |
| 39591: 22310, | |
| 39592: 22327, | |
| 39593: 22328, | |
| 39594: 22350, | |
| 39595: 22331, | |
| 39596: 22336, | |
| 39597: 22351, | |
| 39598: 22377, | |
| 39599: 22464, | |
| 39600: 22408, | |
| 39601: 22369, | |
| 39602: 22399, | |
| 39603: 22409, | |
| 39604: 22419, | |
| 39605: 22432, | |
| 39606: 22451, | |
| 39607: 22436, | |
| 39608: 22442, | |
| 39609: 22448, | |
| 39610: 22467, | |
| 39611: 22470, | |
| 39612: 22484, | |
| 39613: 22482, | |
| 39614: 22483, | |
| 39615: 22538, | |
| 39616: 22486, | |
| 39617: 22499, | |
| 39618: 22539, | |
| 39619: 22553, | |
| 39620: 22557, | |
| 39621: 22642, | |
| 39622: 22561, | |
| 39623: 22626, | |
| 39624: 22603, | |
| 39625: 22640, | |
| 39626: 27584, | |
| 39627: 22610, | |
| 39628: 22589, | |
| 39629: 22649, | |
| 39630: 22661, | |
| 39631: 22713, | |
| 39632: 22687, | |
| 39633: 22699, | |
| 39634: 22714, | |
| 39635: 22750, | |
| 39636: 22715, | |
| 39637: 22712, | |
| 39638: 22702, | |
| 39639: 22725, | |
| 39640: 22739, | |
| 39641: 22737, | |
| 39642: 22743, | |
| 39643: 22745, | |
| 39644: 22744, | |
| 39645: 22757, | |
| 39646: 22748, | |
| 39647: 22756, | |
| 39648: 22751, | |
| 39649: 22767, | |
| 39650: 22778, | |
| 39651: 22777, | |
| 39652: 22779, | |
| 39653: 22780, | |
| 39654: 22781, | |
| 39655: 22786, | |
| 39656: 22794, | |
| 39657: 22800, | |
| 39658: 22811, | |
| 39659: 26790, | |
| 39660: 22821, | |
| 39661: 22828, | |
| 39662: 22829, | |
| 39663: 22834, | |
| 39664: 22840, | |
| 39665: 22846, | |
| 39666: 31442, | |
| 39667: 22869, | |
| 39668: 22864, | |
| 39669: 22862, | |
| 39670: 22874, | |
| 39671: 22872, | |
| 39672: 22882, | |
| 39673: 22880, | |
| 39674: 22887, | |
| 39675: 22892, | |
| 39676: 22889, | |
| 39744: 22904, | |
| 39745: 22913, | |
| 39746: 22941, | |
| 39747: 20318, | |
| 39748: 20395, | |
| 39749: 22947, | |
| 39750: 22962, | |
| 39751: 22982, | |
| 39752: 23016, | |
| 39753: 23004, | |
| 39754: 22925, | |
| 39755: 23001, | |
| 39756: 23002, | |
| 39757: 23077, | |
| 39758: 23071, | |
| 39759: 23057, | |
| 39760: 23068, | |
| 39761: 23049, | |
| 39762: 23066, | |
| 39763: 23104, | |
| 39764: 23148, | |
| 39765: 23113, | |
| 39766: 23093, | |
| 39767: 23094, | |
| 39768: 23138, | |
| 39769: 23146, | |
| 39770: 23194, | |
| 39771: 23228, | |
| 39772: 23230, | |
| 39773: 23243, | |
| 39774: 23234, | |
| 39775: 23229, | |
| 39776: 23267, | |
| 39777: 23255, | |
| 39778: 23270, | |
| 39779: 23273, | |
| 39780: 23254, | |
| 39781: 23290, | |
| 39782: 23291, | |
| 39783: 23308, | |
| 39784: 23307, | |
| 39785: 23318, | |
| 39786: 23346, | |
| 39787: 23248, | |
| 39788: 23338, | |
| 39789: 23350, | |
| 39790: 23358, | |
| 39791: 23363, | |
| 39792: 23365, | |
| 39793: 23360, | |
| 39794: 23377, | |
| 39795: 23381, | |
| 39796: 23386, | |
| 39797: 23387, | |
| 39798: 23397, | |
| 39799: 23401, | |
| 39800: 23408, | |
| 39801: 23411, | |
| 39802: 23413, | |
| 39803: 23416, | |
| 39804: 25992, | |
| 39805: 23418, | |
| 39806: 23424, | |
| 39808: 23427, | |
| 39809: 23462, | |
| 39810: 23480, | |
| 39811: 23491, | |
| 39812: 23495, | |
| 39813: 23497, | |
| 39814: 23508, | |
| 39815: 23504, | |
| 39816: 23524, | |
| 39817: 23526, | |
| 39818: 23522, | |
| 39819: 23518, | |
| 39820: 23525, | |
| 39821: 23531, | |
| 39822: 23536, | |
| 39823: 23542, | |
| 39824: 23539, | |
| 39825: 23557, | |
| 39826: 23559, | |
| 39827: 23560, | |
| 39828: 23565, | |
| 39829: 23571, | |
| 39830: 23584, | |
| 39831: 23586, | |
| 39832: 23592, | |
| 39833: 23608, | |
| 39834: 23609, | |
| 39835: 23617, | |
| 39836: 23622, | |
| 39837: 23630, | |
| 39838: 23635, | |
| 39839: 23632, | |
| 39840: 23631, | |
| 39841: 23409, | |
| 39842: 23660, | |
| 39843: 23662, | |
| 39844: 20066, | |
| 39845: 23670, | |
| 39846: 23673, | |
| 39847: 23692, | |
| 39848: 23697, | |
| 39849: 23700, | |
| 39850: 22939, | |
| 39851: 23723, | |
| 39852: 23739, | |
| 39853: 23734, | |
| 39854: 23740, | |
| 39855: 23735, | |
| 39856: 23749, | |
| 39857: 23742, | |
| 39858: 23751, | |
| 39859: 23769, | |
| 39860: 23785, | |
| 39861: 23805, | |
| 39862: 23802, | |
| 39863: 23789, | |
| 39864: 23948, | |
| 39865: 23786, | |
| 39866: 23819, | |
| 39867: 23829, | |
| 39868: 23831, | |
| 39869: 23900, | |
| 39870: 23839, | |
| 39871: 23835, | |
| 39872: 23825, | |
| 39873: 23828, | |
| 39874: 23842, | |
| 39875: 23834, | |
| 39876: 23833, | |
| 39877: 23832, | |
| 39878: 23884, | |
| 39879: 23890, | |
| 39880: 23886, | |
| 39881: 23883, | |
| 39882: 23916, | |
| 39883: 23923, | |
| 39884: 23926, | |
| 39885: 23943, | |
| 39886: 23940, | |
| 39887: 23938, | |
| 39888: 23970, | |
| 39889: 23965, | |
| 39890: 23980, | |
| 39891: 23982, | |
| 39892: 23997, | |
| 39893: 23952, | |
| 39894: 23991, | |
| 39895: 23996, | |
| 39896: 24009, | |
| 39897: 24013, | |
| 39898: 24019, | |
| 39899: 24018, | |
| 39900: 24022, | |
| 39901: 24027, | |
| 39902: 24043, | |
| 39903: 24050, | |
| 39904: 24053, | |
| 39905: 24075, | |
| 39906: 24090, | |
| 39907: 24089, | |
| 39908: 24081, | |
| 39909: 24091, | |
| 39910: 24118, | |
| 39911: 24119, | |
| 39912: 24132, | |
| 39913: 24131, | |
| 39914: 24128, | |
| 39915: 24142, | |
| 39916: 24151, | |
| 39917: 24148, | |
| 39918: 24159, | |
| 39919: 24162, | |
| 39920: 24164, | |
| 39921: 24135, | |
| 39922: 24181, | |
| 39923: 24182, | |
| 39924: 24186, | |
| 39925: 40636, | |
| 39926: 24191, | |
| 39927: 24224, | |
| 39928: 24257, | |
| 39929: 24258, | |
| 39930: 24264, | |
| 39931: 24272, | |
| 39932: 24271, | |
| 4e4: 24278, | |
| 40001: 24291, | |
| 40002: 24285, | |
| 40003: 24282, | |
| 40004: 24283, | |
| 40005: 24290, | |
| 40006: 24289, | |
| 40007: 24296, | |
| 40008: 24297, | |
| 40009: 24300, | |
| 40010: 24305, | |
| 40011: 24307, | |
| 40012: 24304, | |
| 40013: 24308, | |
| 40014: 24312, | |
| 40015: 24318, | |
| 40016: 24323, | |
| 40017: 24329, | |
| 40018: 24413, | |
| 40019: 24412, | |
| 40020: 24331, | |
| 40021: 24337, | |
| 40022: 24342, | |
| 40023: 24361, | |
| 40024: 24365, | |
| 40025: 24376, | |
| 40026: 24385, | |
| 40027: 24392, | |
| 40028: 24396, | |
| 40029: 24398, | |
| 40030: 24367, | |
| 40031: 24401, | |
| 40032: 24406, | |
| 40033: 24407, | |
| 40034: 24409, | |
| 40035: 24417, | |
| 40036: 24429, | |
| 40037: 24435, | |
| 40038: 24439, | |
| 40039: 24451, | |
| 40040: 24450, | |
| 40041: 24447, | |
| 40042: 24458, | |
| 40043: 24456, | |
| 40044: 24465, | |
| 40045: 24455, | |
| 40046: 24478, | |
| 40047: 24473, | |
| 40048: 24472, | |
| 40049: 24480, | |
| 40050: 24488, | |
| 40051: 24493, | |
| 40052: 24508, | |
| 40053: 24534, | |
| 40054: 24571, | |
| 40055: 24548, | |
| 40056: 24568, | |
| 40057: 24561, | |
| 40058: 24541, | |
| 40059: 24755, | |
| 40060: 24575, | |
| 40061: 24609, | |
| 40062: 24672, | |
| 40064: 24601, | |
| 40065: 24592, | |
| 40066: 24617, | |
| 40067: 24590, | |
| 40068: 24625, | |
| 40069: 24603, | |
| 40070: 24597, | |
| 40071: 24619, | |
| 40072: 24614, | |
| 40073: 24591, | |
| 40074: 24634, | |
| 40075: 24666, | |
| 40076: 24641, | |
| 40077: 24682, | |
| 40078: 24695, | |
| 40079: 24671, | |
| 40080: 24650, | |
| 40081: 24646, | |
| 40082: 24653, | |
| 40083: 24675, | |
| 40084: 24643, | |
| 40085: 24676, | |
| 40086: 24642, | |
| 40087: 24684, | |
| 40088: 24683, | |
| 40089: 24665, | |
| 40090: 24705, | |
| 40091: 24717, | |
| 40092: 24807, | |
| 40093: 24707, | |
| 40094: 24730, | |
| 40095: 24708, | |
| 40096: 24731, | |
| 40097: 24726, | |
| 40098: 24727, | |
| 40099: 24722, | |
| 40100: 24743, | |
| 40101: 24715, | |
| 40102: 24801, | |
| 40103: 24760, | |
| 40104: 24800, | |
| 40105: 24787, | |
| 40106: 24756, | |
| 40107: 24560, | |
| 40108: 24765, | |
| 40109: 24774, | |
| 40110: 24757, | |
| 40111: 24792, | |
| 40112: 24909, | |
| 40113: 24853, | |
| 40114: 24838, | |
| 40115: 24822, | |
| 40116: 24823, | |
| 40117: 24832, | |
| 40118: 24820, | |
| 40119: 24826, | |
| 40120: 24835, | |
| 40121: 24865, | |
| 40122: 24827, | |
| 40123: 24817, | |
| 40124: 24845, | |
| 40125: 24846, | |
| 40126: 24903, | |
| 40127: 24894, | |
| 40128: 24872, | |
| 40129: 24871, | |
| 40130: 24906, | |
| 40131: 24895, | |
| 40132: 24892, | |
| 40133: 24876, | |
| 40134: 24884, | |
| 40135: 24893, | |
| 40136: 24898, | |
| 40137: 24900, | |
| 40138: 24947, | |
| 40139: 24951, | |
| 40140: 24920, | |
| 40141: 24921, | |
| 40142: 24922, | |
| 40143: 24939, | |
| 40144: 24948, | |
| 40145: 24943, | |
| 40146: 24933, | |
| 40147: 24945, | |
| 40148: 24927, | |
| 40149: 24925, | |
| 40150: 24915, | |
| 40151: 24949, | |
| 40152: 24985, | |
| 40153: 24982, | |
| 40154: 24967, | |
| 40155: 25004, | |
| 40156: 24980, | |
| 40157: 24986, | |
| 40158: 24970, | |
| 40159: 24977, | |
| 40160: 25003, | |
| 40161: 25006, | |
| 40162: 25036, | |
| 40163: 25034, | |
| 40164: 25033, | |
| 40165: 25079, | |
| 40166: 25032, | |
| 40167: 25027, | |
| 40168: 25030, | |
| 40169: 25018, | |
| 40170: 25035, | |
| 40171: 32633, | |
| 40172: 25037, | |
| 40173: 25062, | |
| 40174: 25059, | |
| 40175: 25078, | |
| 40176: 25082, | |
| 40177: 25076, | |
| 40178: 25087, | |
| 40179: 25085, | |
| 40180: 25084, | |
| 40181: 25086, | |
| 40182: 25088, | |
| 40183: 25096, | |
| 40184: 25097, | |
| 40185: 25101, | |
| 40186: 25100, | |
| 40187: 25108, | |
| 40188: 25115, | |
| 40256: 25118, | |
| 40257: 25121, | |
| 40258: 25130, | |
| 40259: 25134, | |
| 40260: 25136, | |
| 40261: 25138, | |
| 40262: 25139, | |
| 40263: 25153, | |
| 40264: 25166, | |
| 40265: 25182, | |
| 40266: 25187, | |
| 40267: 25179, | |
| 40268: 25184, | |
| 40269: 25192, | |
| 40270: 25212, | |
| 40271: 25218, | |
| 40272: 25225, | |
| 40273: 25214, | |
| 40274: 25234, | |
| 40275: 25235, | |
| 40276: 25238, | |
| 40277: 25300, | |
| 40278: 25219, | |
| 40279: 25236, | |
| 40280: 25303, | |
| 40281: 25297, | |
| 40282: 25275, | |
| 40283: 25295, | |
| 40284: 25343, | |
| 40285: 25286, | |
| 40286: 25812, | |
| 40287: 25288, | |
| 40288: 25308, | |
| 40289: 25292, | |
| 40290: 25290, | |
| 40291: 25282, | |
| 40292: 25287, | |
| 40293: 25243, | |
| 40294: 25289, | |
| 40295: 25356, | |
| 40296: 25326, | |
| 40297: 25329, | |
| 40298: 25383, | |
| 40299: 25346, | |
| 40300: 25352, | |
| 40301: 25327, | |
| 40302: 25333, | |
| 40303: 25424, | |
| 40304: 25406, | |
| 40305: 25421, | |
| 40306: 25628, | |
| 40307: 25423, | |
| 40308: 25494, | |
| 40309: 25486, | |
| 40310: 25472, | |
| 40311: 25515, | |
| 40312: 25462, | |
| 40313: 25507, | |
| 40314: 25487, | |
| 40315: 25481, | |
| 40316: 25503, | |
| 40317: 25525, | |
| 40318: 25451, | |
| 40320: 25449, | |
| 40321: 25534, | |
| 40322: 25577, | |
| 40323: 25536, | |
| 40324: 25542, | |
| 40325: 25571, | |
| 40326: 25545, | |
| 40327: 25554, | |
| 40328: 25590, | |
| 40329: 25540, | |
| 40330: 25622, | |
| 40331: 25652, | |
| 40332: 25606, | |
| 40333: 25619, | |
| 40334: 25638, | |
| 40335: 25654, | |
| 40336: 25885, | |
| 40337: 25623, | |
| 40338: 25640, | |
| 40339: 25615, | |
| 40340: 25703, | |
| 40341: 25711, | |
| 40342: 25718, | |
| 40343: 25678, | |
| 40344: 25898, | |
| 40345: 25749, | |
| 40346: 25747, | |
| 40347: 25765, | |
| 40348: 25769, | |
| 40349: 25736, | |
| 40350: 25788, | |
| 40351: 25818, | |
| 40352: 25810, | |
| 40353: 25797, | |
| 40354: 25799, | |
| 40355: 25787, | |
| 40356: 25816, | |
| 40357: 25794, | |
| 40358: 25841, | |
| 40359: 25831, | |
| 40360: 33289, | |
| 40361: 25824, | |
| 40362: 25825, | |
| 40363: 25260, | |
| 40364: 25827, | |
| 40365: 25839, | |
| 40366: 25900, | |
| 40367: 25846, | |
| 40368: 25844, | |
| 40369: 25842, | |
| 40370: 25850, | |
| 40371: 25856, | |
| 40372: 25853, | |
| 40373: 25880, | |
| 40374: 25884, | |
| 40375: 25861, | |
| 40376: 25892, | |
| 40377: 25891, | |
| 40378: 25899, | |
| 40379: 25908, | |
| 40380: 25909, | |
| 40381: 25911, | |
| 40382: 25910, | |
| 40383: 25912, | |
| 40384: 30027, | |
| 40385: 25928, | |
| 40386: 25942, | |
| 40387: 25941, | |
| 40388: 25933, | |
| 40389: 25944, | |
| 40390: 25950, | |
| 40391: 25949, | |
| 40392: 25970, | |
| 40393: 25976, | |
| 40394: 25986, | |
| 40395: 25987, | |
| 40396: 35722, | |
| 40397: 26011, | |
| 40398: 26015, | |
| 40399: 26027, | |
| 40400: 26039, | |
| 40401: 26051, | |
| 40402: 26054, | |
| 40403: 26049, | |
| 40404: 26052, | |
| 40405: 26060, | |
| 40406: 26066, | |
| 40407: 26075, | |
| 40408: 26073, | |
| 40409: 26080, | |
| 40410: 26081, | |
| 40411: 26097, | |
| 40412: 26482, | |
| 40413: 26122, | |
| 40414: 26115, | |
| 40415: 26107, | |
| 40416: 26483, | |
| 40417: 26165, | |
| 40418: 26166, | |
| 40419: 26164, | |
| 40420: 26140, | |
| 40421: 26191, | |
| 40422: 26180, | |
| 40423: 26185, | |
| 40424: 26177, | |
| 40425: 26206, | |
| 40426: 26205, | |
| 40427: 26212, | |
| 40428: 26215, | |
| 40429: 26216, | |
| 40430: 26207, | |
| 40431: 26210, | |
| 40432: 26224, | |
| 40433: 26243, | |
| 40434: 26248, | |
| 40435: 26254, | |
| 40436: 26249, | |
| 40437: 26244, | |
| 40438: 26264, | |
| 40439: 26269, | |
| 40440: 26305, | |
| 40441: 26297, | |
| 40442: 26313, | |
| 40443: 26302, | |
| 40444: 26300, | |
| 40512: 26308, | |
| 40513: 26296, | |
| 40514: 26326, | |
| 40515: 26330, | |
| 40516: 26336, | |
| 40517: 26175, | |
| 40518: 26342, | |
| 40519: 26345, | |
| 40520: 26352, | |
| 40521: 26357, | |
| 40522: 26359, | |
| 40523: 26383, | |
| 40524: 26390, | |
| 40525: 26398, | |
| 40526: 26406, | |
| 40527: 26407, | |
| 40528: 38712, | |
| 40529: 26414, | |
| 40530: 26431, | |
| 40531: 26422, | |
| 40532: 26433, | |
| 40533: 26424, | |
| 40534: 26423, | |
| 40535: 26438, | |
| 40536: 26462, | |
| 40537: 26464, | |
| 40538: 26457, | |
| 40539: 26467, | |
| 40540: 26468, | |
| 40541: 26505, | |
| 40542: 26480, | |
| 40543: 26537, | |
| 40544: 26492, | |
| 40545: 26474, | |
| 40546: 26508, | |
| 40547: 26507, | |
| 40548: 26534, | |
| 40549: 26529, | |
| 40550: 26501, | |
| 40551: 26551, | |
| 40552: 26607, | |
| 40553: 26548, | |
| 40554: 26604, | |
| 40555: 26547, | |
| 40556: 26601, | |
| 40557: 26552, | |
| 40558: 26596, | |
| 40559: 26590, | |
| 40560: 26589, | |
| 40561: 26594, | |
| 40562: 26606, | |
| 40563: 26553, | |
| 40564: 26574, | |
| 40565: 26566, | |
| 40566: 26599, | |
| 40567: 27292, | |
| 40568: 26654, | |
| 40569: 26694, | |
| 40570: 26665, | |
| 40571: 26688, | |
| 40572: 26701, | |
| 40573: 26674, | |
| 40574: 26702, | |
| 40576: 26803, | |
| 40577: 26667, | |
| 40578: 26713, | |
| 40579: 26723, | |
| 40580: 26743, | |
| 40581: 26751, | |
| 40582: 26783, | |
| 40583: 26767, | |
| 40584: 26797, | |
| 40585: 26772, | |
| 40586: 26781, | |
| 40587: 26779, | |
| 40588: 26755, | |
| 40589: 27310, | |
| 40590: 26809, | |
| 40591: 26740, | |
| 40592: 26805, | |
| 40593: 26784, | |
| 40594: 26810, | |
| 40595: 26895, | |
| 40596: 26765, | |
| 40597: 26750, | |
| 40598: 26881, | |
| 40599: 26826, | |
| 40600: 26888, | |
| 40601: 26840, | |
| 40602: 26914, | |
| 40603: 26918, | |
| 40604: 26849, | |
| 40605: 26892, | |
| 40606: 26829, | |
| 40607: 26836, | |
| 40608: 26855, | |
| 40609: 26837, | |
| 40610: 26934, | |
| 40611: 26898, | |
| 40612: 26884, | |
| 40613: 26839, | |
| 40614: 26851, | |
| 40615: 26917, | |
| 40616: 26873, | |
| 40617: 26848, | |
| 40618: 26863, | |
| 40619: 26920, | |
| 40620: 26922, | |
| 40621: 26906, | |
| 40622: 26915, | |
| 40623: 26913, | |
| 40624: 26822, | |
| 40625: 27001, | |
| 40626: 26999, | |
| 40627: 26972, | |
| 40628: 27e3, | |
| 40629: 26987, | |
| 40630: 26964, | |
| 40631: 27006, | |
| 40632: 26990, | |
| 40633: 26937, | |
| 40634: 26996, | |
| 40635: 26941, | |
| 40636: 26969, | |
| 40637: 26928, | |
| 40638: 26977, | |
| 40639: 26974, | |
| 40640: 26973, | |
| 40641: 27009, | |
| 40642: 26986, | |
| 40643: 27058, | |
| 40644: 27054, | |
| 40645: 27088, | |
| 40646: 27071, | |
| 40647: 27073, | |
| 40648: 27091, | |
| 40649: 27070, | |
| 40650: 27086, | |
| 40651: 23528, | |
| 40652: 27082, | |
| 40653: 27101, | |
| 40654: 27067, | |
| 40655: 27075, | |
| 40656: 27047, | |
| 40657: 27182, | |
| 40658: 27025, | |
| 40659: 27040, | |
| 40660: 27036, | |
| 40661: 27029, | |
| 40662: 27060, | |
| 40663: 27102, | |
| 40664: 27112, | |
| 40665: 27138, | |
| 40666: 27163, | |
| 40667: 27135, | |
| 40668: 27402, | |
| 40669: 27129, | |
| 40670: 27122, | |
| 40671: 27111, | |
| 40672: 27141, | |
| 40673: 27057, | |
| 40674: 27166, | |
| 40675: 27117, | |
| 40676: 27156, | |
| 40677: 27115, | |
| 40678: 27146, | |
| 40679: 27154, | |
| 40680: 27329, | |
| 40681: 27171, | |
| 40682: 27155, | |
| 40683: 27204, | |
| 40684: 27148, | |
| 40685: 27250, | |
| 40686: 27190, | |
| 40687: 27256, | |
| 40688: 27207, | |
| 40689: 27234, | |
| 40690: 27225, | |
| 40691: 27238, | |
| 40692: 27208, | |
| 40693: 27192, | |
| 40694: 27170, | |
| 40695: 27280, | |
| 40696: 27277, | |
| 40697: 27296, | |
| 40698: 27268, | |
| 40699: 27298, | |
| 40700: 27299, | |
| 40768: 27287, | |
| 40769: 34327, | |
| 40770: 27323, | |
| 40771: 27331, | |
| 40772: 27330, | |
| 40773: 27320, | |
| 40774: 27315, | |
| 40775: 27308, | |
| 40776: 27358, | |
| 40777: 27345, | |
| 40778: 27359, | |
| 40779: 27306, | |
| 40780: 27354, | |
| 40781: 27370, | |
| 40782: 27387, | |
| 40783: 27397, | |
| 40784: 34326, | |
| 40785: 27386, | |
| 40786: 27410, | |
| 40787: 27414, | |
| 40788: 39729, | |
| 40789: 27423, | |
| 40790: 27448, | |
| 40791: 27447, | |
| 40792: 30428, | |
| 40793: 27449, | |
| 40794: 39150, | |
| 40795: 27463, | |
| 40796: 27459, | |
| 40797: 27465, | |
| 40798: 27472, | |
| 40799: 27481, | |
| 40800: 27476, | |
| 40801: 27483, | |
| 40802: 27487, | |
| 40803: 27489, | |
| 40804: 27512, | |
| 40805: 27513, | |
| 40806: 27519, | |
| 40807: 27520, | |
| 40808: 27524, | |
| 40809: 27523, | |
| 40810: 27533, | |
| 40811: 27544, | |
| 40812: 27541, | |
| 40813: 27550, | |
| 40814: 27556, | |
| 40815: 27562, | |
| 40816: 27563, | |
| 40817: 27567, | |
| 40818: 27570, | |
| 40819: 27569, | |
| 40820: 27571, | |
| 40821: 27575, | |
| 40822: 27580, | |
| 40823: 27590, | |
| 40824: 27595, | |
| 40825: 27603, | |
| 40826: 27615, | |
| 40827: 27628, | |
| 40828: 27627, | |
| 40829: 27635, | |
| 40830: 27631, | |
| 40832: 40638, | |
| 40833: 27656, | |
| 40834: 27667, | |
| 40835: 27668, | |
| 40836: 27675, | |
| 40837: 27684, | |
| 40838: 27683, | |
| 40839: 27742, | |
| 40840: 27733, | |
| 40841: 27746, | |
| 40842: 27754, | |
| 40843: 27778, | |
| 40844: 27789, | |
| 40845: 27802, | |
| 40846: 27777, | |
| 40847: 27803, | |
| 40848: 27774, | |
| 40849: 27752, | |
| 40850: 27763, | |
| 40851: 27794, | |
| 40852: 27792, | |
| 40853: 27844, | |
| 40854: 27889, | |
| 40855: 27859, | |
| 40856: 27837, | |
| 40857: 27863, | |
| 40858: 27845, | |
| 40859: 27869, | |
| 40860: 27822, | |
| 40861: 27825, | |
| 40862: 27838, | |
| 40863: 27834, | |
| 40864: 27867, | |
| 40865: 27887, | |
| 40866: 27865, | |
| 40867: 27882, | |
| 40868: 27935, | |
| 40869: 34893, | |
| 40870: 27958, | |
| 40871: 27947, | |
| 40872: 27965, | |
| 40873: 27960, | |
| 40874: 27929, | |
| 40875: 27957, | |
| 40876: 27955, | |
| 40877: 27922, | |
| 40878: 27916, | |
| 40879: 28003, | |
| 40880: 28051, | |
| 40881: 28004, | |
| 40882: 27994, | |
| 40883: 28025, | |
| 40884: 27993, | |
| 40885: 28046, | |
| 40886: 28053, | |
| 40887: 28644, | |
| 40888: 28037, | |
| 40889: 28153, | |
| 40890: 28181, | |
| 40891: 28170, | |
| 40892: 28085, | |
| 40893: 28103, | |
| 40894: 28134, | |
| 40895: 28088, | |
| 40896: 28102, | |
| 40897: 28140, | |
| 40898: 28126, | |
| 40899: 28108, | |
| 40900: 28136, | |
| 40901: 28114, | |
| 40902: 28101, | |
| 40903: 28154, | |
| 40904: 28121, | |
| 40905: 28132, | |
| 40906: 28117, | |
| 40907: 28138, | |
| 40908: 28142, | |
| 40909: 28205, | |
| 40910: 28270, | |
| 40911: 28206, | |
| 40912: 28185, | |
| 40913: 28274, | |
| 40914: 28255, | |
| 40915: 28222, | |
| 40916: 28195, | |
| 40917: 28267, | |
| 40918: 28203, | |
| 40919: 28278, | |
| 40920: 28237, | |
| 40921: 28191, | |
| 40922: 28227, | |
| 40923: 28218, | |
| 40924: 28238, | |
| 40925: 28196, | |
| 40926: 28415, | |
| 40927: 28189, | |
| 40928: 28216, | |
| 40929: 28290, | |
| 40930: 28330, | |
| 40931: 28312, | |
| 40932: 28361, | |
| 40933: 28343, | |
| 40934: 28371, | |
| 40935: 28349, | |
| 40936: 28335, | |
| 40937: 28356, | |
| 40938: 28338, | |
| 40939: 28372, | |
| 40940: 28373, | |
| 40941: 28303, | |
| 40942: 28325, | |
| 40943: 28354, | |
| 40944: 28319, | |
| 40945: 28481, | |
| 40946: 28433, | |
| 40947: 28748, | |
| 40948: 28396, | |
| 40949: 28408, | |
| 40950: 28414, | |
| 40951: 28479, | |
| 40952: 28402, | |
| 40953: 28465, | |
| 40954: 28399, | |
| 40955: 28466, | |
| 40956: 28364, | |
| 161: 65377, | |
| 162: 65378, | |
| 163: 65379, | |
| 164: 65380, | |
| 165: 65381, | |
| 166: 65382, | |
| 167: 65383, | |
| 168: 65384, | |
| 169: 65385, | |
| 170: 65386, | |
| 171: 65387, | |
| 172: 65388, | |
| 173: 65389, | |
| 174: 65390, | |
| 175: 65391, | |
| 176: 65392, | |
| 177: 65393, | |
| 178: 65394, | |
| 179: 65395, | |
| 180: 65396, | |
| 181: 65397, | |
| 182: 65398, | |
| 183: 65399, | |
| 184: 65400, | |
| 185: 65401, | |
| 186: 65402, | |
| 187: 65403, | |
| 188: 65404, | |
| 189: 65405, | |
| 190: 65406, | |
| 191: 65407, | |
| 192: 65408, | |
| 193: 65409, | |
| 194: 65410, | |
| 195: 65411, | |
| 196: 65412, | |
| 197: 65413, | |
| 198: 65414, | |
| 199: 65415, | |
| 200: 65416, | |
| 201: 65417, | |
| 202: 65418, | |
| 203: 65419, | |
| 204: 65420, | |
| 205: 65421, | |
| 206: 65422, | |
| 207: 65423, | |
| 208: 65424, | |
| 209: 65425, | |
| 210: 65426, | |
| 211: 65427, | |
| 212: 65428, | |
| 213: 65429, | |
| 214: 65430, | |
| 215: 65431, | |
| 216: 65432, | |
| 217: 65433, | |
| 218: 65434, | |
| 219: 65435, | |
| 220: 65436, | |
| 221: 65437, | |
| 222: 65438, | |
| 223: 65439, | |
| 57408: 28478, | |
| 57409: 28435, | |
| 57410: 28407, | |
| 57411: 28550, | |
| 57412: 28538, | |
| 57413: 28536, | |
| 57414: 28545, | |
| 57415: 28544, | |
| 57416: 28527, | |
| 57417: 28507, | |
| 57418: 28659, | |
| 57419: 28525, | |
| 57420: 28546, | |
| 57421: 28540, | |
| 57422: 28504, | |
| 57423: 28558, | |
| 57424: 28561, | |
| 57425: 28610, | |
| 57426: 28518, | |
| 57427: 28595, | |
| 57428: 28579, | |
| 57429: 28577, | |
| 57430: 28580, | |
| 57431: 28601, | |
| 57432: 28614, | |
| 57433: 28586, | |
| 57434: 28639, | |
| 57435: 28629, | |
| 57436: 28652, | |
| 57437: 28628, | |
| 57438: 28632, | |
| 57439: 28657, | |
| 57440: 28654, | |
| 57441: 28635, | |
| 57442: 28681, | |
| 57443: 28683, | |
| 57444: 28666, | |
| 57445: 28689, | |
| 57446: 28673, | |
| 57447: 28687, | |
| 57448: 28670, | |
| 57449: 28699, | |
| 57450: 28698, | |
| 57451: 28532, | |
| 57452: 28701, | |
| 57453: 28696, | |
| 57454: 28703, | |
| 57455: 28720, | |
| 57456: 28734, | |
| 57457: 28722, | |
| 57458: 28753, | |
| 57459: 28771, | |
| 57460: 28825, | |
| 57461: 28818, | |
| 57462: 28847, | |
| 57463: 28913, | |
| 57464: 28844, | |
| 57465: 28856, | |
| 57466: 28851, | |
| 57467: 28846, | |
| 57468: 28895, | |
| 57469: 28875, | |
| 57470: 28893, | |
| 57472: 28889, | |
| 57473: 28937, | |
| 57474: 28925, | |
| 57475: 28956, | |
| 57476: 28953, | |
| 57477: 29029, | |
| 57478: 29013, | |
| 57479: 29064, | |
| 57480: 29030, | |
| 57481: 29026, | |
| 57482: 29004, | |
| 57483: 29014, | |
| 57484: 29036, | |
| 57485: 29071, | |
| 57486: 29179, | |
| 57487: 29060, | |
| 57488: 29077, | |
| 57489: 29096, | |
| 57490: 29100, | |
| 57491: 29143, | |
| 57492: 29113, | |
| 57493: 29118, | |
| 57494: 29138, | |
| 57495: 29129, | |
| 57496: 29140, | |
| 57497: 29134, | |
| 57498: 29152, | |
| 57499: 29164, | |
| 57500: 29159, | |
| 57501: 29173, | |
| 57502: 29180, | |
| 57503: 29177, | |
| 57504: 29183, | |
| 57505: 29197, | |
| 57506: 29200, | |
| 57507: 29211, | |
| 57508: 29224, | |
| 57509: 29229, | |
| 57510: 29228, | |
| 57511: 29232, | |
| 57512: 29234, | |
| 57513: 29243, | |
| 57514: 29244, | |
| 57515: 29247, | |
| 57516: 29248, | |
| 57517: 29254, | |
| 57518: 29259, | |
| 57519: 29272, | |
| 57520: 29300, | |
| 57521: 29310, | |
| 57522: 29314, | |
| 57523: 29313, | |
| 57524: 29319, | |
| 57525: 29330, | |
| 57526: 29334, | |
| 57527: 29346, | |
| 57528: 29351, | |
| 57529: 29369, | |
| 57530: 29362, | |
| 57531: 29379, | |
| 57532: 29382, | |
| 57533: 29380, | |
| 57534: 29390, | |
| 57535: 29394, | |
| 57536: 29410, | |
| 57537: 29408, | |
| 57538: 29409, | |
| 57539: 29433, | |
| 57540: 29431, | |
| 57541: 20495, | |
| 57542: 29463, | |
| 57543: 29450, | |
| 57544: 29468, | |
| 57545: 29462, | |
| 57546: 29469, | |
| 57547: 29492, | |
| 57548: 29487, | |
| 57549: 29481, | |
| 57550: 29477, | |
| 57551: 29502, | |
| 57552: 29518, | |
| 57553: 29519, | |
| 57554: 40664, | |
| 57555: 29527, | |
| 57556: 29546, | |
| 57557: 29544, | |
| 57558: 29552, | |
| 57559: 29560, | |
| 57560: 29557, | |
| 57561: 29563, | |
| 57562: 29562, | |
| 57563: 29640, | |
| 57564: 29619, | |
| 57565: 29646, | |
| 57566: 29627, | |
| 57567: 29632, | |
| 57568: 29669, | |
| 57569: 29678, | |
| 57570: 29662, | |
| 57571: 29858, | |
| 57572: 29701, | |
| 57573: 29807, | |
| 57574: 29733, | |
| 57575: 29688, | |
| 57576: 29746, | |
| 57577: 29754, | |
| 57578: 29781, | |
| 57579: 29759, | |
| 57580: 29791, | |
| 57581: 29785, | |
| 57582: 29761, | |
| 57583: 29788, | |
| 57584: 29801, | |
| 57585: 29808, | |
| 57586: 29795, | |
| 57587: 29802, | |
| 57588: 29814, | |
| 57589: 29822, | |
| 57590: 29835, | |
| 57591: 29854, | |
| 57592: 29863, | |
| 57593: 29898, | |
| 57594: 29903, | |
| 57595: 29908, | |
| 57596: 29681, | |
| 57664: 29920, | |
| 57665: 29923, | |
| 57666: 29927, | |
| 57667: 29929, | |
| 57668: 29934, | |
| 57669: 29938, | |
| 57670: 29936, | |
| 57671: 29937, | |
| 57672: 29944, | |
| 57673: 29943, | |
| 57674: 29956, | |
| 57675: 29955, | |
| 57676: 29957, | |
| 57677: 29964, | |
| 57678: 29966, | |
| 57679: 29965, | |
| 57680: 29973, | |
| 57681: 29971, | |
| 57682: 29982, | |
| 57683: 29990, | |
| 57684: 29996, | |
| 57685: 30012, | |
| 57686: 30020, | |
| 57687: 30029, | |
| 57688: 30026, | |
| 57689: 30025, | |
| 57690: 30043, | |
| 57691: 30022, | |
| 57692: 30042, | |
| 57693: 30057, | |
| 57694: 30052, | |
| 57695: 30055, | |
| 57696: 30059, | |
| 57697: 30061, | |
| 57698: 30072, | |
| 57699: 30070, | |
| 57700: 30086, | |
| 57701: 30087, | |
| 57702: 30068, | |
| 57703: 30090, | |
| 57704: 30089, | |
| 57705: 30082, | |
| 57706: 30100, | |
| 57707: 30106, | |
| 57708: 30109, | |
| 57709: 30117, | |
| 57710: 30115, | |
| 57711: 30146, | |
| 57712: 30131, | |
| 57713: 30147, | |
| 57714: 30133, | |
| 57715: 30141, | |
| 57716: 30136, | |
| 57717: 30140, | |
| 57718: 30129, | |
| 57719: 30157, | |
| 57720: 30154, | |
| 57721: 30162, | |
| 57722: 30169, | |
| 57723: 30179, | |
| 57724: 30174, | |
| 57725: 30206, | |
| 57726: 30207, | |
| 57728: 30204, | |
| 57729: 30209, | |
| 57730: 30192, | |
| 57731: 30202, | |
| 57732: 30194, | |
| 57733: 30195, | |
| 57734: 30219, | |
| 57735: 30221, | |
| 57736: 30217, | |
| 57737: 30239, | |
| 57738: 30247, | |
| 57739: 30240, | |
| 57740: 30241, | |
| 57741: 30242, | |
| 57742: 30244, | |
| 57743: 30260, | |
| 57744: 30256, | |
| 57745: 30267, | |
| 57746: 30279, | |
| 57747: 30280, | |
| 57748: 30278, | |
| 57749: 30300, | |
| 57750: 30296, | |
| 57751: 30305, | |
| 57752: 30306, | |
| 57753: 30312, | |
| 57754: 30313, | |
| 57755: 30314, | |
| 57756: 30311, | |
| 57757: 30316, | |
| 57758: 30320, | |
| 57759: 30322, | |
| 57760: 30326, | |
| 57761: 30328, | |
| 57762: 30332, | |
| 57763: 30336, | |
| 57764: 30339, | |
| 57765: 30344, | |
| 57766: 30347, | |
| 57767: 30350, | |
| 57768: 30358, | |
| 57769: 30355, | |
| 57770: 30361, | |
| 57771: 30362, | |
| 57772: 30384, | |
| 57773: 30388, | |
| 57774: 30392, | |
| 57775: 30393, | |
| 57776: 30394, | |
| 57777: 30402, | |
| 57778: 30413, | |
| 57779: 30422, | |
| 57780: 30418, | |
| 57781: 30430, | |
| 57782: 30433, | |
| 57783: 30437, | |
| 57784: 30439, | |
| 57785: 30442, | |
| 57786: 34351, | |
| 57787: 30459, | |
| 57788: 30472, | |
| 57789: 30471, | |
| 57790: 30468, | |
| 57791: 30505, | |
| 57792: 30500, | |
| 57793: 30494, | |
| 57794: 30501, | |
| 57795: 30502, | |
| 57796: 30491, | |
| 57797: 30519, | |
| 57798: 30520, | |
| 57799: 30535, | |
| 57800: 30554, | |
| 57801: 30568, | |
| 57802: 30571, | |
| 57803: 30555, | |
| 57804: 30565, | |
| 57805: 30591, | |
| 57806: 30590, | |
| 57807: 30585, | |
| 57808: 30606, | |
| 57809: 30603, | |
| 57810: 30609, | |
| 57811: 30624, | |
| 57812: 30622, | |
| 57813: 30640, | |
| 57814: 30646, | |
| 57815: 30649, | |
| 57816: 30655, | |
| 57817: 30652, | |
| 57818: 30653, | |
| 57819: 30651, | |
| 57820: 30663, | |
| 57821: 30669, | |
| 57822: 30679, | |
| 57823: 30682, | |
| 57824: 30684, | |
| 57825: 30691, | |
| 57826: 30702, | |
| 57827: 30716, | |
| 57828: 30732, | |
| 57829: 30738, | |
| 57830: 31014, | |
| 57831: 30752, | |
| 57832: 31018, | |
| 57833: 30789, | |
| 57834: 30862, | |
| 57835: 30836, | |
| 57836: 30854, | |
| 57837: 30844, | |
| 57838: 30874, | |
| 57839: 30860, | |
| 57840: 30883, | |
| 57841: 30901, | |
| 57842: 30890, | |
| 57843: 30895, | |
| 57844: 30929, | |
| 57845: 30918, | |
| 57846: 30923, | |
| 57847: 30932, | |
| 57848: 30910, | |
| 57849: 30908, | |
| 57850: 30917, | |
| 57851: 30922, | |
| 57852: 30956, | |
| 57920: 30951, | |
| 57921: 30938, | |
| 57922: 30973, | |
| 57923: 30964, | |
| 57924: 30983, | |
| 57925: 30994, | |
| 57926: 30993, | |
| 57927: 31001, | |
| 57928: 31020, | |
| 57929: 31019, | |
| 57930: 31040, | |
| 57931: 31072, | |
| 57932: 31063, | |
| 57933: 31071, | |
| 57934: 31066, | |
| 57935: 31061, | |
| 57936: 31059, | |
| 57937: 31098, | |
| 57938: 31103, | |
| 57939: 31114, | |
| 57940: 31133, | |
| 57941: 31143, | |
| 57942: 40779, | |
| 57943: 31146, | |
| 57944: 31150, | |
| 57945: 31155, | |
| 57946: 31161, | |
| 57947: 31162, | |
| 57948: 31177, | |
| 57949: 31189, | |
| 57950: 31207, | |
| 57951: 31212, | |
| 57952: 31201, | |
| 57953: 31203, | |
| 57954: 31240, | |
| 57955: 31245, | |
| 57956: 31256, | |
| 57957: 31257, | |
| 57958: 31264, | |
| 57959: 31263, | |
| 57960: 31104, | |
| 57961: 31281, | |
| 57962: 31291, | |
| 57963: 31294, | |
| 57964: 31287, | |
| 57965: 31299, | |
| 57966: 31319, | |
| 57967: 31305, | |
| 57968: 31329, | |
| 57969: 31330, | |
| 57970: 31337, | |
| 57971: 40861, | |
| 57972: 31344, | |
| 57973: 31353, | |
| 57974: 31357, | |
| 57975: 31368, | |
| 57976: 31383, | |
| 57977: 31381, | |
| 57978: 31384, | |
| 57979: 31382, | |
| 57980: 31401, | |
| 57981: 31432, | |
| 57982: 31408, | |
| 57984: 31414, | |
| 57985: 31429, | |
| 57986: 31428, | |
| 57987: 31423, | |
| 57988: 36995, | |
| 57989: 31431, | |
| 57990: 31434, | |
| 57991: 31437, | |
| 57992: 31439, | |
| 57993: 31445, | |
| 57994: 31443, | |
| 57995: 31449, | |
| 57996: 31450, | |
| 57997: 31453, | |
| 57998: 31457, | |
| 57999: 31458, | |
| 58e3: 31462, | |
| 58001: 31469, | |
| 58002: 31472, | |
| 58003: 31490, | |
| 58004: 31503, | |
| 58005: 31498, | |
| 58006: 31494, | |
| 58007: 31539, | |
| 58008: 31512, | |
| 58009: 31513, | |
| 58010: 31518, | |
| 58011: 31541, | |
| 58012: 31528, | |
| 58013: 31542, | |
| 58014: 31568, | |
| 58015: 31610, | |
| 58016: 31492, | |
| 58017: 31565, | |
| 58018: 31499, | |
| 58019: 31564, | |
| 58020: 31557, | |
| 58021: 31605, | |
| 58022: 31589, | |
| 58023: 31604, | |
| 58024: 31591, | |
| 58025: 31600, | |
| 58026: 31601, | |
| 58027: 31596, | |
| 58028: 31598, | |
| 58029: 31645, | |
| 58030: 31640, | |
| 58031: 31647, | |
| 58032: 31629, | |
| 58033: 31644, | |
| 58034: 31642, | |
| 58035: 31627, | |
| 58036: 31634, | |
| 58037: 31631, | |
| 58038: 31581, | |
| 58039: 31641, | |
| 58040: 31691, | |
| 58041: 31681, | |
| 58042: 31692, | |
| 58043: 31695, | |
| 58044: 31668, | |
| 58045: 31686, | |
| 58046: 31709, | |
| 58047: 31721, | |
| 58048: 31761, | |
| 58049: 31764, | |
| 58050: 31718, | |
| 58051: 31717, | |
| 58052: 31840, | |
| 58053: 31744, | |
| 58054: 31751, | |
| 58055: 31763, | |
| 58056: 31731, | |
| 58057: 31735, | |
| 58058: 31767, | |
| 58059: 31757, | |
| 58060: 31734, | |
| 58061: 31779, | |
| 58062: 31783, | |
| 58063: 31786, | |
| 58064: 31775, | |
| 58065: 31799, | |
| 58066: 31787, | |
| 58067: 31805, | |
| 58068: 31820, | |
| 58069: 31811, | |
| 58070: 31828, | |
| 58071: 31823, | |
| 58072: 31808, | |
| 58073: 31824, | |
| 58074: 31832, | |
| 58075: 31839, | |
| 58076: 31844, | |
| 58077: 31830, | |
| 58078: 31845, | |
| 58079: 31852, | |
| 58080: 31861, | |
| 58081: 31875, | |
| 58082: 31888, | |
| 58083: 31908, | |
| 58084: 31917, | |
| 58085: 31906, | |
| 58086: 31915, | |
| 58087: 31905, | |
| 58088: 31912, | |
| 58089: 31923, | |
| 58090: 31922, | |
| 58091: 31921, | |
| 58092: 31918, | |
| 58093: 31929, | |
| 58094: 31933, | |
| 58095: 31936, | |
| 58096: 31941, | |
| 58097: 31938, | |
| 58098: 31960, | |
| 58099: 31954, | |
| 58100: 31964, | |
| 58101: 31970, | |
| 58102: 39739, | |
| 58103: 31983, | |
| 58104: 31986, | |
| 58105: 31988, | |
| 58106: 31990, | |
| 58107: 31994, | |
| 58108: 32006, | |
| 58176: 32002, | |
| 58177: 32028, | |
| 58178: 32021, | |
| 58179: 32010, | |
| 58180: 32069, | |
| 58181: 32075, | |
| 58182: 32046, | |
| 58183: 32050, | |
| 58184: 32063, | |
| 58185: 32053, | |
| 58186: 32070, | |
| 58187: 32115, | |
| 58188: 32086, | |
| 58189: 32078, | |
| 58190: 32114, | |
| 58191: 32104, | |
| 58192: 32110, | |
| 58193: 32079, | |
| 58194: 32099, | |
| 58195: 32147, | |
| 58196: 32137, | |
| 58197: 32091, | |
| 58198: 32143, | |
| 58199: 32125, | |
| 58200: 32155, | |
| 58201: 32186, | |
| 58202: 32174, | |
| 58203: 32163, | |
| 58204: 32181, | |
| 58205: 32199, | |
| 58206: 32189, | |
| 58207: 32171, | |
| 58208: 32317, | |
| 58209: 32162, | |
| 58210: 32175, | |
| 58211: 32220, | |
| 58212: 32184, | |
| 58213: 32159, | |
| 58214: 32176, | |
| 58215: 32216, | |
| 58216: 32221, | |
| 58217: 32228, | |
| 58218: 32222, | |
| 58219: 32251, | |
| 58220: 32242, | |
| 58221: 32225, | |
| 58222: 32261, | |
| 58223: 32266, | |
| 58224: 32291, | |
| 58225: 32289, | |
| 58226: 32274, | |
| 58227: 32305, | |
| 58228: 32287, | |
| 58229: 32265, | |
| 58230: 32267, | |
| 58231: 32290, | |
| 58232: 32326, | |
| 58233: 32358, | |
| 58234: 32315, | |
| 58235: 32309, | |
| 58236: 32313, | |
| 58237: 32323, | |
| 58238: 32311, | |
| 58240: 32306, | |
| 58241: 32314, | |
| 58242: 32359, | |
| 58243: 32349, | |
| 58244: 32342, | |
| 58245: 32350, | |
| 58246: 32345, | |
| 58247: 32346, | |
| 58248: 32377, | |
| 58249: 32362, | |
| 58250: 32361, | |
| 58251: 32380, | |
| 58252: 32379, | |
| 58253: 32387, | |
| 58254: 32213, | |
| 58255: 32381, | |
| 58256: 36782, | |
| 58257: 32383, | |
| 58258: 32392, | |
| 58259: 32393, | |
| 58260: 32396, | |
| 58261: 32402, | |
| 58262: 32400, | |
| 58263: 32403, | |
| 58264: 32404, | |
| 58265: 32406, | |
| 58266: 32398, | |
| 58267: 32411, | |
| 58268: 32412, | |
| 58269: 32568, | |
| 58270: 32570, | |
| 58271: 32581, | |
| 58272: 32588, | |
| 58273: 32589, | |
| 58274: 32590, | |
| 58275: 32592, | |
| 58276: 32593, | |
| 58277: 32597, | |
| 58278: 32596, | |
| 58279: 32600, | |
| 58280: 32607, | |
| 58281: 32608, | |
| 58282: 32616, | |
| 58283: 32617, | |
| 58284: 32615, | |
| 58285: 32632, | |
| 58286: 32642, | |
| 58287: 32646, | |
| 58288: 32643, | |
| 58289: 32648, | |
| 58290: 32647, | |
| 58291: 32652, | |
| 58292: 32660, | |
| 58293: 32670, | |
| 58294: 32669, | |
| 58295: 32666, | |
| 58296: 32675, | |
| 58297: 32687, | |
| 58298: 32690, | |
| 58299: 32697, | |
| 58300: 32686, | |
| 58301: 32694, | |
| 58302: 32696, | |
| 58303: 35697, | |
| 58304: 32709, | |
| 58305: 32710, | |
| 58306: 32714, | |
| 58307: 32725, | |
| 58308: 32724, | |
| 58309: 32737, | |
| 58310: 32742, | |
| 58311: 32745, | |
| 58312: 32755, | |
| 58313: 32761, | |
| 58314: 39132, | |
| 58315: 32774, | |
| 58316: 32772, | |
| 58317: 32779, | |
| 58318: 32786, | |
| 58319: 32792, | |
| 58320: 32793, | |
| 58321: 32796, | |
| 58322: 32801, | |
| 58323: 32808, | |
| 58324: 32831, | |
| 58325: 32827, | |
| 58326: 32842, | |
| 58327: 32838, | |
| 58328: 32850, | |
| 58329: 32856, | |
| 58330: 32858, | |
| 58331: 32863, | |
| 58332: 32866, | |
| 58333: 32872, | |
| 58334: 32883, | |
| 58335: 32882, | |
| 58336: 32880, | |
| 58337: 32886, | |
| 58338: 32889, | |
| 58339: 32893, | |
| 58340: 32895, | |
| 58341: 32900, | |
| 58342: 32902, | |
| 58343: 32901, | |
| 58344: 32923, | |
| 58345: 32915, | |
| 58346: 32922, | |
| 58347: 32941, | |
| 58348: 20880, | |
| 58349: 32940, | |
| 58350: 32987, | |
| 58351: 32997, | |
| 58352: 32985, | |
| 58353: 32989, | |
| 58354: 32964, | |
| 58355: 32986, | |
| 58356: 32982, | |
| 58357: 33033, | |
| 58358: 33007, | |
| 58359: 33009, | |
| 58360: 33051, | |
| 58361: 33065, | |
| 58362: 33059, | |
| 58363: 33071, | |
| 58364: 33099, | |
| 58432: 38539, | |
| 58433: 33094, | |
| 58434: 33086, | |
| 58435: 33107, | |
| 58436: 33105, | |
| 58437: 33020, | |
| 58438: 33137, | |
| 58439: 33134, | |
| 58440: 33125, | |
| 58441: 33126, | |
| 58442: 33140, | |
| 58443: 33155, | |
| 58444: 33160, | |
| 58445: 33162, | |
| 58446: 33152, | |
| 58447: 33154, | |
| 58448: 33184, | |
| 58449: 33173, | |
| 58450: 33188, | |
| 58451: 33187, | |
| 58452: 33119, | |
| 58453: 33171, | |
| 58454: 33193, | |
| 58455: 33200, | |
| 58456: 33205, | |
| 58457: 33214, | |
| 58458: 33208, | |
| 58459: 33213, | |
| 58460: 33216, | |
| 58461: 33218, | |
| 58462: 33210, | |
| 58463: 33225, | |
| 58464: 33229, | |
| 58465: 33233, | |
| 58466: 33241, | |
| 58467: 33240, | |
| 58468: 33224, | |
| 58469: 33242, | |
| 58470: 33247, | |
| 58471: 33248, | |
| 58472: 33255, | |
| 58473: 33274, | |
| 58474: 33275, | |
| 58475: 33278, | |
| 58476: 33281, | |
| 58477: 33282, | |
| 58478: 33285, | |
| 58479: 33287, | |
| 58480: 33290, | |
| 58481: 33293, | |
| 58482: 33296, | |
| 58483: 33302, | |
| 58484: 33321, | |
| 58485: 33323, | |
| 58486: 33336, | |
| 58487: 33331, | |
| 58488: 33344, | |
| 58489: 33369, | |
| 58490: 33368, | |
| 58491: 33373, | |
| 58492: 33370, | |
| 58493: 33375, | |
| 58494: 33380, | |
| 58496: 33378, | |
| 58497: 33384, | |
| 58498: 33386, | |
| 58499: 33387, | |
| 58500: 33326, | |
| 58501: 33393, | |
| 58502: 33399, | |
| 58503: 33400, | |
| 58504: 33406, | |
| 58505: 33421, | |
| 58506: 33426, | |
| 58507: 33451, | |
| 58508: 33439, | |
| 58509: 33467, | |
| 58510: 33452, | |
| 58511: 33505, | |
| 58512: 33507, | |
| 58513: 33503, | |
| 58514: 33490, | |
| 58515: 33524, | |
| 58516: 33523, | |
| 58517: 33530, | |
| 58518: 33683, | |
| 58519: 33539, | |
| 58520: 33531, | |
| 58521: 33529, | |
| 58522: 33502, | |
| 58523: 33542, | |
| 58524: 33500, | |
| 58525: 33545, | |
| 58526: 33497, | |
| 58527: 33589, | |
| 58528: 33588, | |
| 58529: 33558, | |
| 58530: 33586, | |
| 58531: 33585, | |
| 58532: 33600, | |
| 58533: 33593, | |
| 58534: 33616, | |
| 58535: 33605, | |
| 58536: 33583, | |
| 58537: 33579, | |
| 58538: 33559, | |
| 58539: 33560, | |
| 58540: 33669, | |
| 58541: 33690, | |
| 58542: 33706, | |
| 58543: 33695, | |
| 58544: 33698, | |
| 58545: 33686, | |
| 58546: 33571, | |
| 58547: 33678, | |
| 58548: 33671, | |
| 58549: 33674, | |
| 58550: 33660, | |
| 58551: 33717, | |
| 58552: 33651, | |
| 58553: 33653, | |
| 58554: 33696, | |
| 58555: 33673, | |
| 58556: 33704, | |
| 58557: 33780, | |
| 58558: 33811, | |
| 58559: 33771, | |
| 58560: 33742, | |
| 58561: 33789, | |
| 58562: 33795, | |
| 58563: 33752, | |
| 58564: 33803, | |
| 58565: 33729, | |
| 58566: 33783, | |
| 58567: 33799, | |
| 58568: 33760, | |
| 58569: 33778, | |
| 58570: 33805, | |
| 58571: 33826, | |
| 58572: 33824, | |
| 58573: 33725, | |
| 58574: 33848, | |
| 58575: 34054, | |
| 58576: 33787, | |
| 58577: 33901, | |
| 58578: 33834, | |
| 58579: 33852, | |
| 58580: 34138, | |
| 58581: 33924, | |
| 58582: 33911, | |
| 58583: 33899, | |
| 58584: 33965, | |
| 58585: 33902, | |
| 58586: 33922, | |
| 58587: 33897, | |
| 58588: 33862, | |
| 58589: 33836, | |
| 58590: 33903, | |
| 58591: 33913, | |
| 58592: 33845, | |
| 58593: 33994, | |
| 58594: 33890, | |
| 58595: 33977, | |
| 58596: 33983, | |
| 58597: 33951, | |
| 58598: 34009, | |
| 58599: 33997, | |
| 58600: 33979, | |
| 58601: 34010, | |
| 58602: 34e3, | |
| 58603: 33985, | |
| 58604: 33990, | |
| 58605: 34006, | |
| 58606: 33953, | |
| 58607: 34081, | |
| 58608: 34047, | |
| 58609: 34036, | |
| 58610: 34071, | |
| 58611: 34072, | |
| 58612: 34092, | |
| 58613: 34079, | |
| 58614: 34069, | |
| 58615: 34068, | |
| 58616: 34044, | |
| 58617: 34112, | |
| 58618: 34147, | |
| 58619: 34136, | |
| 58620: 34120, | |
| 58688: 34113, | |
| 58689: 34306, | |
| 58690: 34123, | |
| 58691: 34133, | |
| 58692: 34176, | |
| 58693: 34212, | |
| 58694: 34184, | |
| 58695: 34193, | |
| 58696: 34186, | |
| 58697: 34216, | |
| 58698: 34157, | |
| 58699: 34196, | |
| 58700: 34203, | |
| 58701: 34282, | |
| 58702: 34183, | |
| 58703: 34204, | |
| 58704: 34167, | |
| 58705: 34174, | |
| 58706: 34192, | |
| 58707: 34249, | |
| 58708: 34234, | |
| 58709: 34255, | |
| 58710: 34233, | |
| 58711: 34256, | |
| 58712: 34261, | |
| 58713: 34269, | |
| 58714: 34277, | |
| 58715: 34268, | |
| 58716: 34297, | |
| 58717: 34314, | |
| 58718: 34323, | |
| 58719: 34315, | |
| 58720: 34302, | |
| 58721: 34298, | |
| 58722: 34310, | |
| 58723: 34338, | |
| 58724: 34330, | |
| 58725: 34352, | |
| 58726: 34367, | |
| 58727: 34381, | |
| 58728: 20053, | |
| 58729: 34388, | |
| 58730: 34399, | |
| 58731: 34407, | |
| 58732: 34417, | |
| 58733: 34451, | |
| 58734: 34467, | |
| 58735: 34473, | |
| 58736: 34474, | |
| 58737: 34443, | |
| 58738: 34444, | |
| 58739: 34486, | |
| 58740: 34479, | |
| 58741: 34500, | |
| 58742: 34502, | |
| 58743: 34480, | |
| 58744: 34505, | |
| 58745: 34851, | |
| 58746: 34475, | |
| 58747: 34516, | |
| 58748: 34526, | |
| 58749: 34537, | |
| 58750: 34540, | |
| 58752: 34527, | |
| 58753: 34523, | |
| 58754: 34543, | |
| 58755: 34578, | |
| 58756: 34566, | |
| 58757: 34568, | |
| 58758: 34560, | |
| 58759: 34563, | |
| 58760: 34555, | |
| 58761: 34577, | |
| 58762: 34569, | |
| 58763: 34573, | |
| 58764: 34553, | |
| 58765: 34570, | |
| 58766: 34612, | |
| 58767: 34623, | |
| 58768: 34615, | |
| 58769: 34619, | |
| 58770: 34597, | |
| 58771: 34601, | |
| 58772: 34586, | |
| 58773: 34656, | |
| 58774: 34655, | |
| 58775: 34680, | |
| 58776: 34636, | |
| 58777: 34638, | |
| 58778: 34676, | |
| 58779: 34647, | |
| 58780: 34664, | |
| 58781: 34670, | |
| 58782: 34649, | |
| 58783: 34643, | |
| 58784: 34659, | |
| 58785: 34666, | |
| 58786: 34821, | |
| 58787: 34722, | |
| 58788: 34719, | |
| 58789: 34690, | |
| 58790: 34735, | |
| 58791: 34763, | |
| 58792: 34749, | |
| 58793: 34752, | |
| 58794: 34768, | |
| 58795: 38614, | |
| 58796: 34731, | |
| 58797: 34756, | |
| 58798: 34739, | |
| 58799: 34759, | |
| 58800: 34758, | |
| 58801: 34747, | |
| 58802: 34799, | |
| 58803: 34802, | |
| 58804: 34784, | |
| 58805: 34831, | |
| 58806: 34829, | |
| 58807: 34814, | |
| 58808: 34806, | |
| 58809: 34807, | |
| 58810: 34830, | |
| 58811: 34770, | |
| 58812: 34833, | |
| 58813: 34838, | |
| 58814: 34837, | |
| 58815: 34850, | |
| 58816: 34849, | |
| 58817: 34865, | |
| 58818: 34870, | |
| 58819: 34873, | |
| 58820: 34855, | |
| 58821: 34875, | |
| 58822: 34884, | |
| 58823: 34882, | |
| 58824: 34898, | |
| 58825: 34905, | |
| 58826: 34910, | |
| 58827: 34914, | |
| 58828: 34923, | |
| 58829: 34945, | |
| 58830: 34942, | |
| 58831: 34974, | |
| 58832: 34933, | |
| 58833: 34941, | |
| 58834: 34997, | |
| 58835: 34930, | |
| 58836: 34946, | |
| 58837: 34967, | |
| 58838: 34962, | |
| 58839: 34990, | |
| 58840: 34969, | |
| 58841: 34978, | |
| 58842: 34957, | |
| 58843: 34980, | |
| 58844: 34992, | |
| 58845: 35007, | |
| 58846: 34993, | |
| 58847: 35011, | |
| 58848: 35012, | |
| 58849: 35028, | |
| 58850: 35032, | |
| 58851: 35033, | |
| 58852: 35037, | |
| 58853: 35065, | |
| 58854: 35074, | |
| 58855: 35068, | |
| 58856: 35060, | |
| 58857: 35048, | |
| 58858: 35058, | |
| 58859: 35076, | |
| 58860: 35084, | |
| 58861: 35082, | |
| 58862: 35091, | |
| 58863: 35139, | |
| 58864: 35102, | |
| 58865: 35109, | |
| 58866: 35114, | |
| 58867: 35115, | |
| 58868: 35137, | |
| 58869: 35140, | |
| 58870: 35131, | |
| 58871: 35126, | |
| 58872: 35128, | |
| 58873: 35148, | |
| 58874: 35101, | |
| 58875: 35168, | |
| 58876: 35166, | |
| 58944: 35174, | |
| 58945: 35172, | |
| 58946: 35181, | |
| 58947: 35178, | |
| 58948: 35183, | |
| 58949: 35188, | |
| 58950: 35191, | |
| 58951: 35198, | |
| 58952: 35203, | |
| 58953: 35208, | |
| 58954: 35210, | |
| 58955: 35219, | |
| 58956: 35224, | |
| 58957: 35233, | |
| 58958: 35241, | |
| 58959: 35238, | |
| 58960: 35244, | |
| 58961: 35247, | |
| 58962: 35250, | |
| 58963: 35258, | |
| 58964: 35261, | |
| 58965: 35263, | |
| 58966: 35264, | |
| 58967: 35290, | |
| 58968: 35292, | |
| 58969: 35293, | |
| 58970: 35303, | |
| 58971: 35316, | |
| 58972: 35320, | |
| 58973: 35331, | |
| 58974: 35350, | |
| 58975: 35344, | |
| 58976: 35340, | |
| 58977: 35355, | |
| 58978: 35357, | |
| 58979: 35365, | |
| 58980: 35382, | |
| 58981: 35393, | |
| 58982: 35419, | |
| 58983: 35410, | |
| 58984: 35398, | |
| 58985: 35400, | |
| 58986: 35452, | |
| 58987: 35437, | |
| 58988: 35436, | |
| 58989: 35426, | |
| 58990: 35461, | |
| 58991: 35458, | |
| 58992: 35460, | |
| 58993: 35496, | |
| 58994: 35489, | |
| 58995: 35473, | |
| 58996: 35493, | |
| 58997: 35494, | |
| 58998: 35482, | |
| 58999: 35491, | |
| 59e3: 35524, | |
| 59001: 35533, | |
| 59002: 35522, | |
| 59003: 35546, | |
| 59004: 35563, | |
| 59005: 35571, | |
| 59006: 35559, | |
| 59008: 35556, | |
| 59009: 35569, | |
| 59010: 35604, | |
| 59011: 35552, | |
| 59012: 35554, | |
| 59013: 35575, | |
| 59014: 35550, | |
| 59015: 35547, | |
| 59016: 35596, | |
| 59017: 35591, | |
| 59018: 35610, | |
| 59019: 35553, | |
| 59020: 35606, | |
| 59021: 35600, | |
| 59022: 35607, | |
| 59023: 35616, | |
| 59024: 35635, | |
| 59025: 38827, | |
| 59026: 35622, | |
| 59027: 35627, | |
| 59028: 35646, | |
| 59029: 35624, | |
| 59030: 35649, | |
| 59031: 35660, | |
| 59032: 35663, | |
| 59033: 35662, | |
| 59034: 35657, | |
| 59035: 35670, | |
| 59036: 35675, | |
| 59037: 35674, | |
| 59038: 35691, | |
| 59039: 35679, | |
| 59040: 35692, | |
| 59041: 35695, | |
| 59042: 35700, | |
| 59043: 35709, | |
| 59044: 35712, | |
| 59045: 35724, | |
| 59046: 35726, | |
| 59047: 35730, | |
| 59048: 35731, | |
| 59049: 35734, | |
| 59050: 35737, | |
| 59051: 35738, | |
| 59052: 35898, | |
| 59053: 35905, | |
| 59054: 35903, | |
| 59055: 35912, | |
| 59056: 35916, | |
| 59057: 35918, | |
| 59058: 35920, | |
| 59059: 35925, | |
| 59060: 35938, | |
| 59061: 35948, | |
| 59062: 35960, | |
| 59063: 35962, | |
| 59064: 35970, | |
| 59065: 35977, | |
| 59066: 35973, | |
| 59067: 35978, | |
| 59068: 35981, | |
| 59069: 35982, | |
| 59070: 35988, | |
| 59071: 35964, | |
| 59072: 35992, | |
| 59073: 25117, | |
| 59074: 36013, | |
| 59075: 36010, | |
| 59076: 36029, | |
| 59077: 36018, | |
| 59078: 36019, | |
| 59079: 36014, | |
| 59080: 36022, | |
| 59081: 36040, | |
| 59082: 36033, | |
| 59083: 36068, | |
| 59084: 36067, | |
| 59085: 36058, | |
| 59086: 36093, | |
| 59087: 36090, | |
| 59088: 36091, | |
| 59089: 36100, | |
| 59090: 36101, | |
| 59091: 36106, | |
| 59092: 36103, | |
| 59093: 36111, | |
| 59094: 36109, | |
| 59095: 36112, | |
| 59096: 40782, | |
| 59097: 36115, | |
| 59098: 36045, | |
| 59099: 36116, | |
| 59100: 36118, | |
| 59101: 36199, | |
| 59102: 36205, | |
| 59103: 36209, | |
| 59104: 36211, | |
| 59105: 36225, | |
| 59106: 36249, | |
| 59107: 36290, | |
| 59108: 36286, | |
| 59109: 36282, | |
| 59110: 36303, | |
| 59111: 36314, | |
| 59112: 36310, | |
| 59113: 36300, | |
| 59114: 36315, | |
| 59115: 36299, | |
| 59116: 36330, | |
| 59117: 36331, | |
| 59118: 36319, | |
| 59119: 36323, | |
| 59120: 36348, | |
| 59121: 36360, | |
| 59122: 36361, | |
| 59123: 36351, | |
| 59124: 36381, | |
| 59125: 36382, | |
| 59126: 36368, | |
| 59127: 36383, | |
| 59128: 36418, | |
| 59129: 36405, | |
| 59130: 36400, | |
| 59131: 36404, | |
| 59132: 36426, | |
| 59200: 36423, | |
| 59201: 36425, | |
| 59202: 36428, | |
| 59203: 36432, | |
| 59204: 36424, | |
| 59205: 36441, | |
| 59206: 36452, | |
| 59207: 36448, | |
| 59208: 36394, | |
| 59209: 36451, | |
| 59210: 36437, | |
| 59211: 36470, | |
| 59212: 36466, | |
| 59213: 36476, | |
| 59214: 36481, | |
| 59215: 36487, | |
| 59216: 36485, | |
| 59217: 36484, | |
| 59218: 36491, | |
| 59219: 36490, | |
| 59220: 36499, | |
| 59221: 36497, | |
| 59222: 36500, | |
| 59223: 36505, | |
| 59224: 36522, | |
| 59225: 36513, | |
| 59226: 36524, | |
| 59227: 36528, | |
| 59228: 36550, | |
| 59229: 36529, | |
| 59230: 36542, | |
| 59231: 36549, | |
| 59232: 36552, | |
| 59233: 36555, | |
| 59234: 36571, | |
| 59235: 36579, | |
| 59236: 36604, | |
| 59237: 36603, | |
| 59238: 36587, | |
| 59239: 36606, | |
| 59240: 36618, | |
| 59241: 36613, | |
| 59242: 36629, | |
| 59243: 36626, | |
| 59244: 36633, | |
| 59245: 36627, | |
| 59246: 36636, | |
| 59247: 36639, | |
| 59248: 36635, | |
| 59249: 36620, | |
| 59250: 36646, | |
| 59251: 36659, | |
| 59252: 36667, | |
| 59253: 36665, | |
| 59254: 36677, | |
| 59255: 36674, | |
| 59256: 36670, | |
| 59257: 36684, | |
| 59258: 36681, | |
| 59259: 36678, | |
| 59260: 36686, | |
| 59261: 36695, | |
| 59262: 36700, | |
| 59264: 36706, | |
| 59265: 36707, | |
| 59266: 36708, | |
| 59267: 36764, | |
| 59268: 36767, | |
| 59269: 36771, | |
| 59270: 36781, | |
| 59271: 36783, | |
| 59272: 36791, | |
| 59273: 36826, | |
| 59274: 36837, | |
| 59275: 36834, | |
| 59276: 36842, | |
| 59277: 36847, | |
| 59278: 36999, | |
| 59279: 36852, | |
| 59280: 36869, | |
| 59281: 36857, | |
| 59282: 36858, | |
| 59283: 36881, | |
| 59284: 36885, | |
| 59285: 36897, | |
| 59286: 36877, | |
| 59287: 36894, | |
| 59288: 36886, | |
| 59289: 36875, | |
| 59290: 36903, | |
| 59291: 36918, | |
| 59292: 36917, | |
| 59293: 36921, | |
| 59294: 36856, | |
| 59295: 36943, | |
| 59296: 36944, | |
| 59297: 36945, | |
| 59298: 36946, | |
| 59299: 36878, | |
| 59300: 36937, | |
| 59301: 36926, | |
| 59302: 36950, | |
| 59303: 36952, | |
| 59304: 36958, | |
| 59305: 36968, | |
| 59306: 36975, | |
| 59307: 36982, | |
| 59308: 38568, | |
| 59309: 36978, | |
| 59310: 36994, | |
| 59311: 36989, | |
| 59312: 36993, | |
| 59313: 36992, | |
| 59314: 37002, | |
| 59315: 37001, | |
| 59316: 37007, | |
| 59317: 37032, | |
| 59318: 37039, | |
| 59319: 37041, | |
| 59320: 37045, | |
| 59321: 37090, | |
| 59322: 37092, | |
| 59323: 25160, | |
| 59324: 37083, | |
| 59325: 37122, | |
| 59326: 37138, | |
| 59327: 37145, | |
| 59328: 37170, | |
| 59329: 37168, | |
| 59330: 37194, | |
| 59331: 37206, | |
| 59332: 37208, | |
| 59333: 37219, | |
| 59334: 37221, | |
| 59335: 37225, | |
| 59336: 37235, | |
| 59337: 37234, | |
| 59338: 37259, | |
| 59339: 37257, | |
| 59340: 37250, | |
| 59341: 37282, | |
| 59342: 37291, | |
| 59343: 37295, | |
| 59344: 37290, | |
| 59345: 37301, | |
| 59346: 37300, | |
| 59347: 37306, | |
| 59348: 37312, | |
| 59349: 37313, | |
| 59350: 37321, | |
| 59351: 37323, | |
| 59352: 37328, | |
| 59353: 37334, | |
| 59354: 37343, | |
| 59355: 37345, | |
| 59356: 37339, | |
| 59357: 37372, | |
| 59358: 37365, | |
| 59359: 37366, | |
| 59360: 37406, | |
| 59361: 37375, | |
| 59362: 37396, | |
| 59363: 37420, | |
| 59364: 37397, | |
| 59365: 37393, | |
| 59366: 37470, | |
| 59367: 37463, | |
| 59368: 37445, | |
| 59369: 37449, | |
| 59370: 37476, | |
| 59371: 37448, | |
| 59372: 37525, | |
| 59373: 37439, | |
| 59374: 37451, | |
| 59375: 37456, | |
| 59376: 37532, | |
| 59377: 37526, | |
| 59378: 37523, | |
| 59379: 37531, | |
| 59380: 37466, | |
| 59381: 37583, | |
| 59382: 37561, | |
| 59383: 37559, | |
| 59384: 37609, | |
| 59385: 37647, | |
| 59386: 37626, | |
| 59387: 37700, | |
| 59388: 37678, | |
| 59456: 37657, | |
| 59457: 37666, | |
| 59458: 37658, | |
| 59459: 37667, | |
| 59460: 37690, | |
| 59461: 37685, | |
| 59462: 37691, | |
| 59463: 37724, | |
| 59464: 37728, | |
| 59465: 37756, | |
| 59466: 37742, | |
| 59467: 37718, | |
| 59468: 37808, | |
| 59469: 37804, | |
| 59470: 37805, | |
| 59471: 37780, | |
| 59472: 37817, | |
| 59473: 37846, | |
| 59474: 37847, | |
| 59475: 37864, | |
| 59476: 37861, | |
| 59477: 37848, | |
| 59478: 37827, | |
| 59479: 37853, | |
| 59480: 37840, | |
| 59481: 37832, | |
| 59482: 37860, | |
| 59483: 37914, | |
| 59484: 37908, | |
| 59485: 37907, | |
| 59486: 37891, | |
| 59487: 37895, | |
| 59488: 37904, | |
| 59489: 37942, | |
| 59490: 37931, | |
| 59491: 37941, | |
| 59492: 37921, | |
| 59493: 37946, | |
| 59494: 37953, | |
| 59495: 37970, | |
| 59496: 37956, | |
| 59497: 37979, | |
| 59498: 37984, | |
| 59499: 37986, | |
| 59500: 37982, | |
| 59501: 37994, | |
| 59502: 37417, | |
| 59503: 38e3, | |
| 59504: 38005, | |
| 59505: 38007, | |
| 59506: 38013, | |
| 59507: 37978, | |
| 59508: 38012, | |
| 59509: 38014, | |
| 59510: 38017, | |
| 59511: 38015, | |
| 59512: 38274, | |
| 59513: 38279, | |
| 59514: 38282, | |
| 59515: 38292, | |
| 59516: 38294, | |
| 59517: 38296, | |
| 59518: 38297, | |
| 59520: 38304, | |
| 59521: 38312, | |
| 59522: 38311, | |
| 59523: 38317, | |
| 59524: 38332, | |
| 59525: 38331, | |
| 59526: 38329, | |
| 59527: 38334, | |
| 59528: 38346, | |
| 59529: 28662, | |
| 59530: 38339, | |
| 59531: 38349, | |
| 59532: 38348, | |
| 59533: 38357, | |
| 59534: 38356, | |
| 59535: 38358, | |
| 59536: 38364, | |
| 59537: 38369, | |
| 59538: 38373, | |
| 59539: 38370, | |
| 59540: 38433, | |
| 59541: 38440, | |
| 59542: 38446, | |
| 59543: 38447, | |
| 59544: 38466, | |
| 59545: 38476, | |
| 59546: 38479, | |
| 59547: 38475, | |
| 59548: 38519, | |
| 59549: 38492, | |
| 59550: 38494, | |
| 59551: 38493, | |
| 59552: 38495, | |
| 59553: 38502, | |
| 59554: 38514, | |
| 59555: 38508, | |
| 59556: 38541, | |
| 59557: 38552, | |
| 59558: 38549, | |
| 59559: 38551, | |
| 59560: 38570, | |
| 59561: 38567, | |
| 59562: 38577, | |
| 59563: 38578, | |
| 59564: 38576, | |
| 59565: 38580, | |
| 59566: 38582, | |
| 59567: 38584, | |
| 59568: 38585, | |
| 59569: 38606, | |
| 59570: 38603, | |
| 59571: 38601, | |
| 59572: 38605, | |
| 59573: 35149, | |
| 59574: 38620, | |
| 59575: 38669, | |
| 59576: 38613, | |
| 59577: 38649, | |
| 59578: 38660, | |
| 59579: 38662, | |
| 59580: 38664, | |
| 59581: 38675, | |
| 59582: 38670, | |
| 59583: 38673, | |
| 59584: 38671, | |
| 59585: 38678, | |
| 59586: 38681, | |
| 59587: 38692, | |
| 59588: 38698, | |
| 59589: 38704, | |
| 59590: 38713, | |
| 59591: 38717, | |
| 59592: 38718, | |
| 59593: 38724, | |
| 59594: 38726, | |
| 59595: 38728, | |
| 59596: 38722, | |
| 59597: 38729, | |
| 59598: 38748, | |
| 59599: 38752, | |
| 59600: 38756, | |
| 59601: 38758, | |
| 59602: 38760, | |
| 59603: 21202, | |
| 59604: 38763, | |
| 59605: 38769, | |
| 59606: 38777, | |
| 59607: 38789, | |
| 59608: 38780, | |
| 59609: 38785, | |
| 59610: 38778, | |
| 59611: 38790, | |
| 59612: 38795, | |
| 59613: 38799, | |
| 59614: 38800, | |
| 59615: 38812, | |
| 59616: 38824, | |
| 59617: 38822, | |
| 59618: 38819, | |
| 59619: 38835, | |
| 59620: 38836, | |
| 59621: 38851, | |
| 59622: 38854, | |
| 59623: 38856, | |
| 59624: 38859, | |
| 59625: 38876, | |
| 59626: 38893, | |
| 59627: 40783, | |
| 59628: 38898, | |
| 59629: 31455, | |
| 59630: 38902, | |
| 59631: 38901, | |
| 59632: 38927, | |
| 59633: 38924, | |
| 59634: 38968, | |
| 59635: 38948, | |
| 59636: 38945, | |
| 59637: 38967, | |
| 59638: 38973, | |
| 59639: 38982, | |
| 59640: 38991, | |
| 59641: 38987, | |
| 59642: 39019, | |
| 59643: 39023, | |
| 59644: 39024, | |
| 59712: 39025, | |
| 59713: 39028, | |
| 59714: 39027, | |
| 59715: 39082, | |
| 59716: 39087, | |
| 59717: 39089, | |
| 59718: 39094, | |
| 59719: 39108, | |
| 59720: 39107, | |
| 59721: 39110, | |
| 59722: 39145, | |
| 59723: 39147, | |
| 59724: 39171, | |
| 59725: 39177, | |
| 59726: 39186, | |
| 59727: 39188, | |
| 59728: 39192, | |
| 59729: 39201, | |
| 59730: 39197, | |
| 59731: 39198, | |
| 59732: 39204, | |
| 59733: 39200, | |
| 59734: 39212, | |
| 59735: 39214, | |
| 59736: 39229, | |
| 59737: 39230, | |
| 59738: 39234, | |
| 59739: 39241, | |
| 59740: 39237, | |
| 59741: 39248, | |
| 59742: 39243, | |
| 59743: 39249, | |
| 59744: 39250, | |
| 59745: 39244, | |
| 59746: 39253, | |
| 59747: 39319, | |
| 59748: 39320, | |
| 59749: 39333, | |
| 59750: 39341, | |
| 59751: 39342, | |
| 59752: 39356, | |
| 59753: 39391, | |
| 59754: 39387, | |
| 59755: 39389, | |
| 59756: 39384, | |
| 59757: 39377, | |
| 59758: 39405, | |
| 59759: 39406, | |
| 59760: 39409, | |
| 59761: 39410, | |
| 59762: 39419, | |
| 59763: 39416, | |
| 59764: 39425, | |
| 59765: 39439, | |
| 59766: 39429, | |
| 59767: 39394, | |
| 59768: 39449, | |
| 59769: 39467, | |
| 59770: 39479, | |
| 59771: 39493, | |
| 59772: 39490, | |
| 59773: 39488, | |
| 59774: 39491, | |
| 59776: 39486, | |
| 59777: 39509, | |
| 59778: 39501, | |
| 59779: 39515, | |
| 59780: 39511, | |
| 59781: 39519, | |
| 59782: 39522, | |
| 59783: 39525, | |
| 59784: 39524, | |
| 59785: 39529, | |
| 59786: 39531, | |
| 59787: 39530, | |
| 59788: 39597, | |
| 59789: 39600, | |
| 59790: 39612, | |
| 59791: 39616, | |
| 59792: 39631, | |
| 59793: 39633, | |
| 59794: 39635, | |
| 59795: 39636, | |
| 59796: 39646, | |
| 59797: 39647, | |
| 59798: 39650, | |
| 59799: 39651, | |
| 59800: 39654, | |
| 59801: 39663, | |
| 59802: 39659, | |
| 59803: 39662, | |
| 59804: 39668, | |
| 59805: 39665, | |
| 59806: 39671, | |
| 59807: 39675, | |
| 59808: 39686, | |
| 59809: 39704, | |
| 59810: 39706, | |
| 59811: 39711, | |
| 59812: 39714, | |
| 59813: 39715, | |
| 59814: 39717, | |
| 59815: 39719, | |
| 59816: 39720, | |
| 59817: 39721, | |
| 59818: 39722, | |
| 59819: 39726, | |
| 59820: 39727, | |
| 59821: 39730, | |
| 59822: 39748, | |
| 59823: 39747, | |
| 59824: 39759, | |
| 59825: 39757, | |
| 59826: 39758, | |
| 59827: 39761, | |
| 59828: 39768, | |
| 59829: 39796, | |
| 59830: 39827, | |
| 59831: 39811, | |
| 59832: 39825, | |
| 59833: 39830, | |
| 59834: 39831, | |
| 59835: 39839, | |
| 59836: 39840, | |
| 59837: 39848, | |
| 59838: 39860, | |
| 59839: 39872, | |
| 59840: 39882, | |
| 59841: 39865, | |
| 59842: 39878, | |
| 59843: 39887, | |
| 59844: 39889, | |
| 59845: 39890, | |
| 59846: 39907, | |
| 59847: 39906, | |
| 59848: 39908, | |
| 59849: 39892, | |
| 59850: 39905, | |
| 59851: 39994, | |
| 59852: 39922, | |
| 59853: 39921, | |
| 59854: 39920, | |
| 59855: 39957, | |
| 59856: 39956, | |
| 59857: 39945, | |
| 59858: 39955, | |
| 59859: 39948, | |
| 59860: 39942, | |
| 59861: 39944, | |
| 59862: 39954, | |
| 59863: 39946, | |
| 59864: 39940, | |
| 59865: 39982, | |
| 59866: 39963, | |
| 59867: 39973, | |
| 59868: 39972, | |
| 59869: 39969, | |
| 59870: 39984, | |
| 59871: 40007, | |
| 59872: 39986, | |
| 59873: 40006, | |
| 59874: 39998, | |
| 59875: 40026, | |
| 59876: 40032, | |
| 59877: 40039, | |
| 59878: 40054, | |
| 59879: 40056, | |
| 59880: 40167, | |
| 59881: 40172, | |
| 59882: 40176, | |
| 59883: 40201, | |
| 59884: 40200, | |
| 59885: 40171, | |
| 59886: 40195, | |
| 59887: 40198, | |
| 59888: 40234, | |
| 59889: 40230, | |
| 59890: 40367, | |
| 59891: 40227, | |
| 59892: 40223, | |
| 59893: 40260, | |
| 59894: 40213, | |
| 59895: 40210, | |
| 59896: 40257, | |
| 59897: 40255, | |
| 59898: 40254, | |
| 59899: 40262, | |
| 59900: 40264, | |
| 59968: 40285, | |
| 59969: 40286, | |
| 59970: 40292, | |
| 59971: 40273, | |
| 59972: 40272, | |
| 59973: 40281, | |
| 59974: 40306, | |
| 59975: 40329, | |
| 59976: 40327, | |
| 59977: 40363, | |
| 59978: 40303, | |
| 59979: 40314, | |
| 59980: 40346, | |
| 59981: 40356, | |
| 59982: 40361, | |
| 59983: 40370, | |
| 59984: 40388, | |
| 59985: 40385, | |
| 59986: 40379, | |
| 59987: 40376, | |
| 59988: 40378, | |
| 59989: 40390, | |
| 59990: 40399, | |
| 59991: 40386, | |
| 59992: 40409, | |
| 59993: 40403, | |
| 59994: 40440, | |
| 59995: 40422, | |
| 59996: 40429, | |
| 59997: 40431, | |
| 59998: 40445, | |
| 59999: 40474, | |
| 6e4: 40475, | |
| 60001: 40478, | |
| 60002: 40565, | |
| 60003: 40569, | |
| 60004: 40573, | |
| 60005: 40577, | |
| 60006: 40584, | |
| 60007: 40587, | |
| 60008: 40588, | |
| 60009: 40594, | |
| 60010: 40597, | |
| 60011: 40593, | |
| 60012: 40605, | |
| 60013: 40613, | |
| 60014: 40617, | |
| 60015: 40632, | |
| 60016: 40618, | |
| 60017: 40621, | |
| 60018: 38753, | |
| 60019: 40652, | |
| 60020: 40654, | |
| 60021: 40655, | |
| 60022: 40656, | |
| 60023: 40660, | |
| 60024: 40668, | |
| 60025: 40670, | |
| 60026: 40669, | |
| 60027: 40672, | |
| 60028: 40677, | |
| 60029: 40680, | |
| 60030: 40687, | |
| 60032: 40692, | |
| 60033: 40694, | |
| 60034: 40695, | |
| 60035: 40697, | |
| 60036: 40699, | |
| 60037: 40700, | |
| 60038: 40701, | |
| 60039: 40711, | |
| 60040: 40712, | |
| 60041: 30391, | |
| 60042: 40725, | |
| 60043: 40737, | |
| 60044: 40748, | |
| 60045: 40766, | |
| 60046: 40778, | |
| 60047: 40786, | |
| 60048: 40788, | |
| 60049: 40803, | |
| 60050: 40799, | |
| 60051: 40800, | |
| 60052: 40801, | |
| 60053: 40806, | |
| 60054: 40807, | |
| 60055: 40812, | |
| 60056: 40810, | |
| 60057: 40823, | |
| 60058: 40818, | |
| 60059: 40822, | |
| 60060: 40853, | |
| 60061: 40860, | |
| 60062: 40864, | |
| 60063: 22575, | |
| 60064: 27079, | |
| 60065: 36953, | |
| 60066: 29796, | |
| 60067: 20956, | |
| 60068: 29081 | |
| } | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(1), | |
| a = t(2); | |
| r.decode = function decode(e, r) { | |
| var t = new Uint8ClampedArray(e.length); | |
| t.set(e); | |
| for (var i = new n.default(285, 256, 0), o = new a.default(i, t), l = new Uint8ClampedArray(r), s = !1, c = 0; c < r; c++) { | |
| var u = o.evaluateAt(i.exp(c + i.generatorBase)); | |
| l[l.length - 1 - c] = u, 0 !== u && (s = !0) | |
| } | |
| if (!s) return t; | |
| var p = new a.default(i, l), | |
| d = function runEuclideanAlgorithm(e, r, t, n) { | |
| var a; | |
| r.degree() < t.degree() && (r = (a = [t, r])[0], t = a[1]); | |
| for (var i = r, o = t, l = e.zero, s = e.one; o.degree() >= n / 2;) { | |
| var c = i, | |
| u = l; | |
| if (l = s, (i = o).isZero()) return null; | |
| o = c; | |
| for (var p = e.zero, d = i.getCoefficient(i.degree()), f = e.inverse(d); o.degree() >= i.degree() && !o.isZero();) { | |
| var m = o.degree() - i.degree(), | |
| v = e.multiply(o.getCoefficient(o.degree()), f); | |
| p = p.addOrSubtract(e.buildMonomial(m, v)), o = o.addOrSubtract(i.multiplyByMonomial(m, v)) | |
| } | |
| if (s = p.multiplyPoly(l).addOrSubtract(u), o.degree() >= i.degree()) return null | |
| } | |
| var w = s.getCoefficient(0); | |
| if (0 === w) return null; | |
| var y = e.inverse(w); | |
| return [s.multiply(y), o.multiply(y)] | |
| }(i, i.buildMonomial(r, 1), p, r); | |
| if (null === d) return null; | |
| var f = function findErrorLocations(e, r) { | |
| var t = r.degree(); | |
| if (1 === t) return [r.getCoefficient(1)]; | |
| for (var n = new Array(t), a = 0, i = 1; i < e.size && a < t; i++) 0 === r.evaluateAt(i) && (n[a] = e.inverse(i), a++); | |
| return a !== t ? null : n | |
| }(i, d[0]); | |
| if (null == f) return null; | |
| for (var m = function findErrorMagnitudes(e, r, t) { | |
| for (var a = t.length, i = new Array(a), o = 0; o < a; o++) { | |
| for (var l = e.inverse(t[o]), s = 1, c = 0; c < a; c++) o !== c && (s = e.multiply(s, n.addOrSubtractGF(1, e.multiply(t[c], l)))); | |
| i[o] = e.multiply(r.evaluateAt(l), e.inverse(s)), 0 !== e.generatorBase && (i[o] = e.multiply(i[o], l)) | |
| } | |
| return i | |
| }(i, d[1], f), v = 0; v < f.length; v++) { | |
| var w = t.length - 1 - i.log(f[v]); | |
| if (w < 0) return null; | |
| t[w] = n.addOrSubtractGF(t[w], m[v]) | |
| } | |
| return t | |
| } | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }), r.VERSIONS = [{ | |
| infoBits: null, | |
| versionNumber: 1, | |
| alignmentPatternCenters: [], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 7, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 19 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 10, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 13, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 17, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 9 | |
| }] | |
| }] | |
| }, { | |
| infoBits: null, | |
| versionNumber: 2, | |
| alignmentPatternCenters: [6, 18], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 10, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 34 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 16, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 28 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 22 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: null, | |
| versionNumber: 3, | |
| alignmentPatternCenters: [6, 22], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 15, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 55 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 44 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }] | |
| }, { | |
| infoBits: null, | |
| versionNumber: 4, | |
| alignmentPatternCenters: [6, 26], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 20, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 80 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 32 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 24 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 16, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 9 | |
| }] | |
| }] | |
| }, { | |
| infoBits: null, | |
| versionNumber: 5, | |
| alignmentPatternCenters: [6, 30], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 108 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 43 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 11 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 12 | |
| }] | |
| }] | |
| }, { | |
| infoBits: null, | |
| versionNumber: 6, | |
| alignmentPatternCenters: [6, 34], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 68 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 16, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 27 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 19 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 15 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 31892, | |
| versionNumber: 7, | |
| alignmentPatternCenters: [6, 22, 38], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 20, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 78 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 31 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 14 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 15 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 13 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 14 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 34236, | |
| versionNumber: 8, | |
| alignmentPatternCenters: [6, 24, 42], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 97 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 38 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 39 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 18 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 19 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 14 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 15 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 39577, | |
| versionNumber: 9, | |
| alignmentPatternCenters: [6, 26, 46], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 116 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 36 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 37 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 20, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 16 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 12 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 42195, | |
| versionNumber: 10, | |
| alignmentPatternCenters: [6, 28, 50], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 18, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 68 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 69 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 43 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 44 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 19 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 20 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 48118, | |
| versionNumber: 11, | |
| alignmentPatternCenters: [6, 30, 54], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 20, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 81 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 50 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 51 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 22 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 23 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 12 | |
| }, { | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 51042, | |
| versionNumber: 12, | |
| alignmentPatternCenters: [6, 32, 58], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 92 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 93 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 36 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 37 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 20 | |
| }, { | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 21 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 14 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 15 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 55367, | |
| versionNumber: 13, | |
| alignmentPatternCenters: [6, 34, 62], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 107 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 37 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 38 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 20 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 21 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 12, | |
| dataCodewordsPerBlock: 11 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 12 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 58893, | |
| versionNumber: 14, | |
| alignmentPatternCenters: [6, 26, 46, 66], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 115 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 116 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 40 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 41 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 20, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 16 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 12 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 63784, | |
| versionNumber: 15, | |
| alignmentPatternCenters: [6, 26, 48, 70], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 22, | |
| ecBlocks: [{ | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 87 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 88 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 41 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 42 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 12 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 68472, | |
| versionNumber: 16, | |
| alignmentPatternCenters: [6, 26, 50, 74], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 98 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 99 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 45 | |
| }, { | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 46 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 15, | |
| dataCodewordsPerBlock: 19 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 20 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 70749, | |
| versionNumber: 17, | |
| alignmentPatternCenters: [6, 30, 54, 78], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 107 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 108 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 22 | |
| }, { | |
| numBlocks: 15, | |
| dataCodewordsPerBlock: 23 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 14 | |
| }, { | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 15 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 76311, | |
| versionNumber: 18, | |
| alignmentPatternCenters: [6, 30, 56, 82], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 120 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 121 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 9, | |
| dataCodewordsPerBlock: 43 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 44 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 22 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 23 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 14 | |
| }, { | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 15 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 79154, | |
| versionNumber: 19, | |
| alignmentPatternCenters: [6, 30, 58, 86], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 113 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 114 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 44 | |
| }, { | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 45 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 21 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 22 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 9, | |
| dataCodewordsPerBlock: 13 | |
| }, { | |
| numBlocks: 16, | |
| dataCodewordsPerBlock: 14 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 84390, | |
| versionNumber: 20, | |
| alignmentPatternCenters: [6, 34, 62, 90], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 107 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 108 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 41 | |
| }, { | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 42 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 15, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 15, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 87683, | |
| versionNumber: 21, | |
| alignmentPatternCenters: [6, 28, 50, 72, 94], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 116 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 117 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 42 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 22 | |
| }, { | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 23 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 16 | |
| }, { | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 92361, | |
| versionNumber: 22, | |
| alignmentPatternCenters: [6, 26, 50, 74, 98], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 111 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 112 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 46 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 16, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 24, | |
| ecBlocks: [{ | |
| numBlocks: 34, | |
| dataCodewordsPerBlock: 13 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 96236, | |
| versionNumber: 23, | |
| alignmentPatternCenters: [6, 30, 54, 74, 102], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 121 | |
| }, { | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 122 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 16, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 102084, | |
| versionNumber: 24, | |
| alignmentPatternCenters: [6, 28, 54, 80, 106], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 117 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 118 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 45 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 46 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 16, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 30, | |
| dataCodewordsPerBlock: 16 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 102881, | |
| versionNumber: 25, | |
| alignmentPatternCenters: [6, 32, 58, 84, 110], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 26, | |
| ecBlocks: [{ | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 106 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 107 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 22, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 22, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 110507, | |
| versionNumber: 26, | |
| alignmentPatternCenters: [6, 30, 58, 86, 114], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 114 | |
| }, { | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 115 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 28, | |
| dataCodewordsPerBlock: 22 | |
| }, { | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 23 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 33, | |
| dataCodewordsPerBlock: 16 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 110734, | |
| versionNumber: 27, | |
| alignmentPatternCenters: [6, 34, 62, 90, 118], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 122 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 123 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 22, | |
| dataCodewordsPerBlock: 45 | |
| }, { | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 46 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 8, | |
| dataCodewordsPerBlock: 23 | |
| }, { | |
| numBlocks: 26, | |
| dataCodewordsPerBlock: 24 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 12, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 28, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 117786, | |
| versionNumber: 28, | |
| alignmentPatternCenters: [6, 26, 50, 74, 98, 122], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 117 | |
| }, { | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 118 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 45 | |
| }, { | |
| numBlocks: 23, | |
| dataCodewordsPerBlock: 46 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 31, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 31, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 119615, | |
| versionNumber: 29, | |
| alignmentPatternCenters: [6, 30, 54, 78, 102, 126], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 116 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 117 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 21, | |
| dataCodewordsPerBlock: 45 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 46 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 23 | |
| }, { | |
| numBlocks: 37, | |
| dataCodewordsPerBlock: 24 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 26, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 126325, | |
| versionNumber: 30, | |
| alignmentPatternCenters: [6, 26, 52, 78, 104, 130], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 5, | |
| dataCodewordsPerBlock: 115 | |
| }, { | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 116 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 15, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 25, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 23, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 25, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 127568, | |
| versionNumber: 31, | |
| alignmentPatternCenters: [6, 30, 56, 82, 108, 134], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 115 | |
| }, { | |
| numBlocks: 3, | |
| dataCodewordsPerBlock: 116 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 29, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 42, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 23, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 28, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 133589, | |
| versionNumber: 32, | |
| alignmentPatternCenters: [6, 34, 60, 86, 112, 138], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 115 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 23, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 35, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 35, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 136944, | |
| versionNumber: 33, | |
| alignmentPatternCenters: [6, 30, 58, 86, 114, 142], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 115 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 116 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 21, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 29, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 11, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 46, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 141498, | |
| versionNumber: 34, | |
| alignmentPatternCenters: [6, 34, 62, 90, 118, 146], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 115 | |
| }, { | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 116 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 23, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 44, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 59, | |
| dataCodewordsPerBlock: 16 | |
| }, { | |
| numBlocks: 1, | |
| dataCodewordsPerBlock: 17 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 145311, | |
| versionNumber: 35, | |
| alignmentPatternCenters: [6, 30, 54, 78, 102, 126, 150], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 12, | |
| dataCodewordsPerBlock: 121 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 122 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 12, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 26, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 39, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 22, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 41, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 150283, | |
| versionNumber: 36, | |
| alignmentPatternCenters: [6, 24, 50, 76, 102, 128, 154], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 121 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 122 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 34, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 46, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 2, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 64, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 152622, | |
| versionNumber: 37, | |
| alignmentPatternCenters: [6, 28, 54, 80, 106, 132, 158], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 17, | |
| dataCodewordsPerBlock: 122 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 123 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 29, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 49, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 24, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 46, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 158308, | |
| versionNumber: 38, | |
| alignmentPatternCenters: [6, 32, 58, 84, 110, 136, 162], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 122 | |
| }, { | |
| numBlocks: 18, | |
| dataCodewordsPerBlock: 123 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 13, | |
| dataCodewordsPerBlock: 46 | |
| }, { | |
| numBlocks: 32, | |
| dataCodewordsPerBlock: 47 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 48, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 14, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 42, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 32, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 161089, | |
| versionNumber: 39, | |
| alignmentPatternCenters: [6, 26, 54, 82, 110, 138, 166], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 20, | |
| dataCodewordsPerBlock: 117 | |
| }, { | |
| numBlocks: 4, | |
| dataCodewordsPerBlock: 118 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 40, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 7, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 43, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 22, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 10, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 67, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }, { | |
| infoBits: 167017, | |
| versionNumber: 40, | |
| alignmentPatternCenters: [6, 30, 58, 86, 114, 142, 170], | |
| errorCorrectionLevels: [{ | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 19, | |
| dataCodewordsPerBlock: 118 | |
| }, { | |
| numBlocks: 6, | |
| dataCodewordsPerBlock: 119 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 28, | |
| ecBlocks: [{ | |
| numBlocks: 18, | |
| dataCodewordsPerBlock: 47 | |
| }, { | |
| numBlocks: 31, | |
| dataCodewordsPerBlock: 48 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 34, | |
| dataCodewordsPerBlock: 24 | |
| }, { | |
| numBlocks: 34, | |
| dataCodewordsPerBlock: 25 | |
| }] | |
| }, { | |
| ecCodewordsPerBlock: 30, | |
| ecBlocks: [{ | |
| numBlocks: 20, | |
| dataCodewordsPerBlock: 15 | |
| }, { | |
| numBlocks: 61, | |
| dataCodewordsPerBlock: 16 | |
| }] | |
| }] | |
| }] | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var n = t(0); | |
| function squareToQuadrilateral(e, r, t, n) { | |
| var a = e.x - r.x + t.x - n.x, | |
| i = e.y - r.y + t.y - n.y; | |
| if (0 === a && 0 === i) return { | |
| a11: r.x - e.x, | |
| a12: r.y - e.y, | |
| a13: 0, | |
| a21: t.x - r.x, | |
| a22: t.y - r.y, | |
| a23: 0, | |
| a31: e.x, | |
| a32: e.y, | |
| a33: 1 | |
| }; | |
| var o = r.x - t.x, | |
| l = n.x - t.x, | |
| s = r.y - t.y, | |
| c = n.y - t.y, | |
| u = o * c - l * s, | |
| p = (a * c - l * i) / u, | |
| d = (o * i - a * s) / u; | |
| return { | |
| a11: r.x - e.x + p * r.x, | |
| a12: r.y - e.y + p * r.y, | |
| a13: p, | |
| a21: n.x - e.x + d * n.x, | |
| a22: n.y - e.y + d * n.y, | |
| a23: d, | |
| a31: e.x, | |
| a32: e.y, | |
| a33: 1 | |
| } | |
| } | |
| r.extract = function extract(e, r) { | |
| for (var t = function quadrilateralToSquare(e, r, t, n) { | |
| var a = squareToQuadrilateral(e, r, t, n); | |
| return { | |
| a11: a.a22 * a.a33 - a.a23 * a.a32, | |
| a12: a.a13 * a.a32 - a.a12 * a.a33, | |
| a13: a.a12 * a.a23 - a.a13 * a.a22, | |
| a21: a.a23 * a.a31 - a.a21 * a.a33, | |
| a22: a.a11 * a.a33 - a.a13 * a.a31, | |
| a23: a.a13 * a.a21 - a.a11 * a.a23, | |
| a31: a.a21 * a.a32 - a.a22 * a.a31, | |
| a32: a.a12 * a.a31 - a.a11 * a.a32, | |
| a33: a.a11 * a.a22 - a.a12 * a.a21 | |
| } | |
| }({ | |
| x: 3.5, | |
| y: 3.5 | |
| }, { | |
| x: r.dimension - 3.5, | |
| y: 3.5 | |
| }, { | |
| x: r.dimension - 6.5, | |
| y: r.dimension - 6.5 | |
| }, { | |
| x: 3.5, | |
| y: r.dimension - 3.5 | |
| }), a = function times(e, r) { | |
| return { | |
| a11: e.a11 * r.a11 + e.a21 * r.a12 + e.a31 * r.a13, | |
| a12: e.a12 * r.a11 + e.a22 * r.a12 + e.a32 * r.a13, | |
| a13: e.a13 * r.a11 + e.a23 * r.a12 + e.a33 * r.a13, | |
| a21: e.a11 * r.a21 + e.a21 * r.a22 + e.a31 * r.a23, | |
| a22: e.a12 * r.a21 + e.a22 * r.a22 + e.a32 * r.a23, | |
| a23: e.a13 * r.a21 + e.a23 * r.a22 + e.a33 * r.a23, | |
| a31: e.a11 * r.a31 + e.a21 * r.a32 + e.a31 * r.a33, | |
| a32: e.a12 * r.a31 + e.a22 * r.a32 + e.a32 * r.a33, | |
| a33: e.a13 * r.a31 + e.a23 * r.a32 + e.a33 * r.a33 | |
| } | |
| }(squareToQuadrilateral(r.topLeft, r.topRight, r.alignmentPattern, r.bottomLeft), t), i = n.BitMatrix.createEmpty(r.dimension, r.dimension), mappingFunction = function(e, r) { | |
| var t = a.a13 * e + a.a23 * r + a.a33; | |
| return { | |
| x: (a.a11 * e + a.a21 * r + a.a31) / t, | |
| y: (a.a12 * e + a.a22 * r + a.a32) / t | |
| } | |
| }, o = 0; o < r.dimension; o++) | |
| for (var l = 0; l < r.dimension; l++) { | |
| var s = mappingFunction(l + .5, o + .5); | |
| i.set(l, o, e.get(Math.floor(s.x), Math.floor(s.y))) | |
| } | |
| return { | |
| matrix: i, | |
| mappingFunction: mappingFunction | |
| } | |
| } | |
| }, function(e, r, t) { | |
| "use strict"; | |
| Object.defineProperty(r, "__esModule", { | |
| value: !0 | |
| }); | |
| var distance = function(e, r) { | |
| return Math.sqrt(Math.pow(r.x - e.x, 2) + Math.pow(r.y - e.y, 2)) | |
| }; | |
| function sum(e) { | |
| return e.reduce((function(e, r) { | |
| return e + r | |
| })) | |
| } | |
| function countBlackWhiteRunTowardsPoint(e, r, t, n) { | |
| var a, i, o, l, s = [{ | |
| x: Math.floor(e.x), | |
| y: Math.floor(e.y) | |
| }], | |
| c = Math.abs(r.y - e.y) > Math.abs(r.x - e.x); | |
| c ? (a = Math.floor(e.y), i = Math.floor(e.x), o = Math.floor(r.y), l = Math.floor(r.x)) : (a = Math.floor(e.x), i = Math.floor(e.y), o = Math.floor(r.x), l = Math.floor(r.y)); | |
| for (var u = Math.abs(o - a), p = Math.abs(l - i), d = Math.floor(-u / 2), f = a < o ? 1 : -1, m = i < l ? 1 : -1, v = !0, w = a, y = i; w !== o + f; w += f) { | |
| var h = c ? y : w, | |
| E = c ? w : y; | |
| if (t.get(h, E) !== v && (v = !v, s.push({ | |
| x: h, | |
| y: E | |
| }), s.length === n + 1)) break; | |
| if ((d += p) > 0) { | |
| if (y === l) break; | |
| y += m, d -= u | |
| } | |
| } | |
| for (var M = [], S = 0; S < n; S++) s[S] && s[S + 1] ? M.push(distance(s[S], s[S + 1])) : M.push(0); | |
| return M | |
| } | |
| function countBlackWhiteRun(e, r, t, n) { | |
| var a, i = r.y - e.y, | |
| o = r.x - e.x, | |
| l = countBlackWhiteRunTowardsPoint(e, r, t, Math.ceil(n / 2)), | |
| s = countBlackWhiteRunTowardsPoint(e, { | |
| x: e.x - o, | |
| y: e.y - i | |
| }, t, Math.ceil(n / 2)), | |
| c = l.shift() + s.shift() - 1; | |
| return (a = s.concat(c)).concat.apply(a, l) | |
| } | |
| function scoreBlackWhiteRun(e, r) { | |
| var t = sum(e) / sum(r), | |
| n = 0; | |
| return r.forEach((function(r, a) { | |
| n += Math.pow(e[a] - r * t, 2) | |
| })), { | |
| averageSize: t, | |
| error: n | |
| } | |
| } | |
| function scorePattern(e, r, t) { | |
| try { | |
| var n = countBlackWhiteRun(e, { | |
| x: -1, | |
| y: e.y | |
| }, t, r.length), | |
| a = countBlackWhiteRun(e, { | |
| x: e.x, | |
| y: -1 | |
| }, t, r.length), | |
| i = countBlackWhiteRun(e, { | |
| x: Math.max(0, e.x - e.y) - 1, | |
| y: Math.max(0, e.y - e.x) - 1 | |
| }, t, r.length), | |
| o = countBlackWhiteRun(e, { | |
| x: Math.min(t.width, e.x + e.y) + 1, | |
| y: Math.min(t.height, e.y + e.x) + 1 | |
| }, t, r.length), | |
| l = scoreBlackWhiteRun(n, r), | |
| s = scoreBlackWhiteRun(a, r), | |
| c = scoreBlackWhiteRun(i, r), | |
| u = scoreBlackWhiteRun(o, r), | |
| p = Math.sqrt(l.error * l.error + s.error * s.error + c.error * c.error + u.error * u.error), | |
| d = (l.averageSize + s.averageSize + c.averageSize + u.averageSize) / 4; | |
| return p + (Math.pow(l.averageSize - d, 2) + Math.pow(s.averageSize - d, 2) + Math.pow(c.averageSize - d, 2) + Math.pow(u.averageSize - d, 2)) / d | |
| } catch (e) { | |
| return 1 / 0 | |
| } | |
| } | |
| function recenterLocation(e, r) { | |
| for (var t = Math.round(r.x); e.get(t, Math.round(r.y));) t--; | |
| for (var n = Math.round(r.x); e.get(n, Math.round(r.y));) n++; | |
| for (var a = (t + n) / 2, i = Math.round(r.y); e.get(Math.round(a), i);) i--; | |
| for (var o = Math.round(r.y); e.get(Math.round(a), o);) o++; | |
| return { | |
| x: a, | |
| y: (i + o) / 2 | |
| } | |
| } | |
| function findAlignmentPattern(e, r, t, n, a) { | |
| var i, o, l; | |
| try { | |
| i = function computeDimension(e, r, t, n) { | |
| var a = (sum(countBlackWhiteRun(e, t, n, 5)) / 7 + sum(countBlackWhiteRun(e, r, n, 5)) / 7 + sum(countBlackWhiteRun(t, e, n, 5)) / 7 + sum(countBlackWhiteRun(r, e, n, 5)) / 7) / 4; | |
| if (a < 1) throw new Error("Invalid module size"); | |
| var i = Math.round(distance(e, r) / a), | |
| o = Math.round(distance(e, t) / a), | |
| l = Math.floor((i + o) / 2) + 7; | |
| switch (l % 4) { | |
| case 0: | |
| l++; | |
| break; | |
| case 2: | |
| l-- | |
| } | |
| return { | |
| dimension: l, | |
| moduleSize: a | |
| } | |
| }(n, t, a, e), o = i.dimension, l = i.moduleSize | |
| } catch (e) { | |
| return null | |
| } | |
| var s = t.x - n.x + a.x, | |
| c = t.y - n.y + a.y, | |
| u = (distance(n, a) + distance(n, t)) / 2 / l, | |
| p = 1 - 3 / u, | |
| d = { | |
| x: n.x + p * (s - n.x), | |
| y: n.y + p * (c - n.y) | |
| }, | |
| f = r.map((function(r) { | |
| var t = (r.top.startX + r.top.endX + r.bottom.startX + r.bottom.endX) / 4, | |
| n = (r.top.y + r.bottom.y + 1) / 2; | |
| if (e.get(Math.floor(t), Math.floor(n))) return { | |
| x: t, | |
| y: n, | |
| score: scorePattern({ | |
| x: Math.floor(t), | |
| y: Math.floor(n) | |
| }, [1, 1, 1], e) + distance({ | |
| x: t, | |
| y: n | |
| }, d) | |
| } | |
| })).filter((function(e) { | |
| return !!e | |
| })).sort((function(e, r) { | |
| return e.score - r.score | |
| })); | |
| return { | |
| alignmentPattern: u >= 15 && f.length ? f[0] : d, | |
| dimension: o | |
| } | |
| } | |
| r.locate = function locate(e) { | |
| for (var r = [], t = [], n = [], a = [], _loop_1 = function(i) { | |
| for (var o = 0, l = !1, s = [0, 0, 0, 0, 0], _loop_2 = function(r) { | |
| var n = e.get(r, i); | |
| if (n === l) o++; | |
| else { | |
| s = [s[1], s[2], s[3], s[4], o], o = 1, l = n; | |
| var c = sum(s) / 7, | |
| u = Math.abs(s[0] - c) < c && Math.abs(s[1] - c) < c && Math.abs(s[2] - 3 * c) < 3 * c && Math.abs(s[3] - c) < c && Math.abs(s[4] - c) < c && !n, | |
| p = sum(s.slice(-3)) / 3, | |
| d = Math.abs(s[2] - p) < p && Math.abs(s[3] - p) < p && Math.abs(s[4] - p) < p && n; | |
| if (u) { | |
| var f = r - s[3] - s[4], | |
| m = f - s[2], | |
| v = { | |
| startX: m, | |
| endX: f, | |
| y: i | |
| }; | |
| (w = t.filter((function(e) { | |
| return m >= e.bottom.startX && m <= e.bottom.endX || f >= e.bottom.startX && m <= e.bottom.endX || m <= e.bottom.startX && f >= e.bottom.endX && s[2] / (e.bottom.endX - e.bottom.startX) < 1.5 && s[2] / (e.bottom.endX - e.bottom.startX) > .5 | |
| }))).length > 0 ? w[0].bottom = v : t.push({ | |
| top: v, | |
| bottom: v | |
| }) | |
| } | |
| if (d) { | |
| var w, y = r - s[4], | |
| h = y - s[3]; | |
| v = { | |
| startX: h, | |
| y: i, | |
| endX: y | |
| }; | |
| (w = a.filter((function(e) { | |
| return h >= e.bottom.startX && h <= e.bottom.endX || y >= e.bottom.startX && h <= e.bottom.endX || h <= e.bottom.startX && y >= e.bottom.endX && s[2] / (e.bottom.endX - e.bottom.startX) < 1.5 && s[2] / (e.bottom.endX - e.bottom.startX) > .5 | |
| }))).length > 0 ? w[0].bottom = v : a.push({ | |
| top: v, | |
| bottom: v | |
| }) | |
| } | |
| } | |
| }, c = -1; c <= e.width; c++) _loop_2(c); | |
| r.push.apply(r, t.filter((function(e) { | |
| return e.bottom.y !== i && e.bottom.y - e.top.y >= 2 | |
| }))), t = t.filter((function(e) { | |
| return e.bottom.y === i | |
| })), n.push.apply(n, a.filter((function(e) { | |
| return e.bottom.y !== i | |
| }))), a = a.filter((function(e) { | |
| return e.bottom.y === i | |
| })) | |
| }, i = 0; i <= e.height; i++) _loop_1(i); | |
| r.push.apply(r, t.filter((function(e) { | |
| return e.bottom.y - e.top.y >= 2 | |
| }))), n.push.apply(n, a); | |
| var o = r.filter((function(e) { | |
| return e.bottom.y - e.top.y >= 2 | |
| })).map((function(r) { | |
| var t = (r.top.startX + r.top.endX + r.bottom.startX + r.bottom.endX) / 4, | |
| n = (r.top.y + r.bottom.y + 1) / 2; | |
| if (e.get(Math.round(t), Math.round(n))) { | |
| var a = [r.top.endX - r.top.startX, r.bottom.endX - r.bottom.startX, r.bottom.y - r.top.y + 1], | |
| i = sum(a) / a.length; | |
| return { | |
| score: scorePattern({ | |
| x: Math.round(t), | |
| y: Math.round(n) | |
| }, [1, 1, 3, 1, 1], e), | |
| x: t, | |
| y: n, | |
| size: i | |
| } | |
| } | |
| })).filter((function(e) { | |
| return !!e | |
| })).sort((function(e, r) { | |
| return e.score - r.score | |
| })).map((function(e, r, t) { | |
| if (r > 4) return null; | |
| var n = t.filter((function(e, t) { | |
| return r !== t | |
| })).map((function(r) { | |
| return { | |
| x: r.x, | |
| y: r.y, | |
| score: r.score + Math.pow(r.size - e.size, 2) / e.size, | |
| size: r.size | |
| } | |
| })).sort((function(e, r) { | |
| return e.score - r.score | |
| })); | |
| if (n.length < 2) return null; | |
| var a = e.score + n[0].score + n[1].score; | |
| return { | |
| points: [e].concat(n.slice(0, 2)), | |
| score: a | |
| } | |
| })).filter((function(e) { | |
| return !!e | |
| })).sort((function(e, r) { | |
| return e.score - r.score | |
| })); | |
| if (0 === o.length) return null; | |
| var l = function reorderFinderPatterns(e, r, t) { | |
| var n, a, i, o, l, s, c, u = distance(e, r), | |
| p = distance(r, t), | |
| d = distance(e, t); | |
| return p >= u && p >= d ? (l = (n = [r, e, t])[0], s = n[1], c = n[2]) : d >= p && d >= u ? (l = (a = [e, r, t])[0], s = a[1], c = a[2]) : (l = (i = [e, t, r])[0], s = i[1], c = i[2]), (c.x - s.x) * (l.y - s.y) - (c.y - s.y) * (l.x - s.x) < 0 && (l = (o = [c, l])[0], c = o[1]), { | |
| bottomLeft: l, | |
| topLeft: s, | |
| topRight: c | |
| } | |
| }(o[0].points[0], o[0].points[1], o[0].points[2]), | |
| s = l.topRight, | |
| c = l.topLeft, | |
| u = l.bottomLeft, | |
| p = findAlignmentPattern(e, n, s, c, u), | |
| d = []; | |
| p && d.push({ | |
| alignmentPattern: { | |
| x: p.alignmentPattern.x, | |
| y: p.alignmentPattern.y | |
| }, | |
| bottomLeft: { | |
| x: u.x, | |
| y: u.y | |
| }, | |
| dimension: p.dimension, | |
| topLeft: { | |
| x: c.x, | |
| y: c.y | |
| }, | |
| topRight: { | |
| x: s.x, | |
| y: s.y | |
| } | |
| }); | |
| var f = recenterLocation(e, s), | |
| m = recenterLocation(e, c), | |
| v = recenterLocation(e, u), | |
| w = findAlignmentPattern(e, n, f, m, v); | |
| return w && d.push({ | |
| alignmentPattern: { | |
| x: w.alignmentPattern.x, | |
| y: w.alignmentPattern.y | |
| }, | |
| bottomLeft: { | |
| x: v.x, | |
| y: v.y | |
| }, | |
| topLeft: { | |
| x: m.x, | |
| y: m.y | |
| }, | |
| topRight: { | |
| x: f.x, | |
| y: f.y | |
| }, | |
| dimension: w.dimension | |
| }), 0 === d.length ? null : d | |
| } | |
| }]).default | |
| })); | |
| const ContextState = { | |
| IncompatibleOS: "IncompatibleOS", | |
| NotInSession: "NotInSession", | |
| NativeSupportNotInstalled: "NativeSupportNotInstalled", | |
| CheckEngine: "CheckEngine", | |
| ChallengeSent: "ChallengeSent", | |
| MSG1Set: "MSG1Set", | |
| SessionKeySet: "SessionKeySet" | |
| }, | |
| DataState = { | |
| Initial: "Initial", | |
| Frame0Processed: "Frame0Processed", | |
| DataProcessed: "DataProcessed" | |
| }, | |
| RememberIC = { | |
| NoValueSet: "NoValueSet", | |
| UnknownPage: "UnknownPage", | |
| DoNotRemember: "DoNotRemember", | |
| RememberLoginAndPassword: "RememberLoginAndPassword" | |
| }; | |
| var pwlog = void 0, | |
| pwerror = void 0; | |
| function isStringEmpty(e) { | |
| return !e || 0 === e.length | |
| } | |
| function urlFromURLString(e) { | |
| try { | |
| return new URL(e) | |
| } catch { | |
| return null | |
| } | |
| } | |
| function humanReadableFormType(e) { | |
| switch (e) { | |
| case 0: | |
| return "Undetermined"; | |
| case 1: | |
| return "AutoFillable:Standard"; | |
| case 2: | |
| return "NonAutoFillable"; | |
| case 3: | |
| return "AutoFillable:Login"; | |
| case 4: | |
| return "NewAccount"; | |
| case 5: | |
| return "ChangePassword"; | |
| case WBSAutoFillFormTypeFoundTOTPURI: | |
| return "FoundTOTPUri" | |
| } | |
| return "Unrecognized" | |
| } | |
| function domainsForDisplayFromUsernamesAndDomains(e, r) { | |
| const t = e.length; | |
| let n = r.map((function(e) { | |
| return e.replace(/^(www|m)\./, "") | |
| })), | |
| a = []; | |
| for (var i = 0; i < t; i++) a.push([e[i], n[i]]); | |
| for (i = 0; i < t; i++) { | |
| let e = []; | |
| for (var o = i + 1; o < t; o++) a[i].join("\n") === a[o].join("\n") && (e.length || e.push(i), e.push(o)); | |
| for (let t of e) n[t] = r[t] | |
| } | |
| return n | |
| } | |
| function urlIsBrowserURL(e) { | |
| const r = e.protocol; | |
| return "chrome:" === r || "edge:" === r || "about:" == r | |
| } | |
| function isExtensionContextInvalidatedError(e) { | |
| return "Extension context invalidated." === e.message | |
| } | |
| function capabilitiesDeclaresMacOS(e) { | |
| try { | |
| return "macos" === e.operatingSystem.name | |
| } catch { | |
| return !1 | |
| } | |
| } | |
| class Localizer { | |
| static configureDocumentElementForLanguage(e, r) { | |
| switch (r) { | |
| case "he": | |
| case "ar": | |
| case "fa": | |
| e.setAttribute("dir", "rtl"), e.setAttribute("lang", r) | |
| } | |
| } | |
| #e = {}; | |
| constructor(e) { | |
| e && (this.#e = e.operatingSystem) | |
| } | |
| getMessage(e, r, t) { | |
| const n = this.messageNamesToTry(e); | |
| for (let e of n) { | |
| let n; | |
| try { | |
| n = chrome.i18n.getMessage(e, r, t) | |
| } catch { | |
| n = chrome.i18n.getMessage(e, r) | |
| } | |
| if (n) return n | |
| } | |
| return "" | |
| } | |
| messageNamesToTry(e) { | |
| let r = []; | |
| const t = this.#e, | |
| n = t ? t.name : void 0, | |
| a = t ? t.majorVersion : void 0, | |
| i = t ? t.minorVersion : void 0, | |
| o = void 0 !== a; | |
| return n && o && void 0 !== i && r.push(`${e}_${n}_${a}_${i}`), n && o && r.push(`${e}_${n}_${a}`), n ? r.push(`${e}_${n}`) : r.push(`${e}_${this.#r}`), r.push(e), r | |
| } | |
| get #r() { | |
| return navigator.platform.startsWith("Mac") ? "macos" : "windows" | |
| } | |
| } | |
| class ExtensionSettings { | |
| #t = !1; | |
| #n = !0; | |
| #a = !0; | |
| eventTarget = new EventTarget; | |
| constructor(e = !1) { | |
| this.#t = e, this.#i(), this.#o() | |
| } | |
| get enableInPageAutoFill() { | |
| return this.#n | |
| } | |
| set enableInPageAutoFill(e) { | |
| this.#n = e, this.#l() | |
| } | |
| get allowExtensionToControlAutoFillSettings() { | |
| return this.#a | |
| } | |
| set allowExtensionToControlAutoFillSettings(e) { | |
| this.#a = e, this.#s().then(this.#l.bind(this)) | |
| } | |
| #s() { | |
| return this.#a ? this.attemptToControlBrowserAutoFillSettings() : this.clearControlOfBrowserAutoFillSettings() | |
| } | |
| async attemptToControlBrowserAutoFillSettings() { | |
| if (this.#t) throw new Error("This Settings instance does not allow writing browser settings"); | |
| const e = await Promise.allSettled([this.#c(chrome.privacy.services.passwordSavingEnabled, !1), this.#c(chrome.privacy.services.autofillCreditCardEnabled, !1), this.#c(chrome.privacy.services.autofillAddressEnabled, !1)]); | |
| return this.#u(), e | |
| } | |
| async clearControlOfBrowserAutoFillSettings() { | |
| if (this.#t) throw new Error("This Settings instance does not allow writing browser settings"); | |
| const e = await Promise.allSettled([this.#p(chrome.privacy.services.passwordSavingEnabled), this.#p(chrome.privacy.services.autofillCreditCardEnabled), this.#p(chrome.privacy.services.autofillAddressEnabled)]); | |
| return this.#u(), e | |
| } | |
| #i() { | |
| let e = new Promise((e => { | |
| chrome.storage.sync.get({ | |
| enableInPageAutoFill: !0, | |
| allowExtensionToControlAutoFillSettings: !0 | |
| }, (r => { | |
| this.#n = r.enableInPageAutoFill, this.#a = r.allowExtensionToControlAutoFillSettings, e() | |
| })) | |
| })); | |
| return this.#t || (e = e.then(this.#s.bind(this))), e.then(this.#u.bind(this)) | |
| } | |
| #l() { | |
| return new Promise((e => { | |
| chrome.storage.sync.set({ | |
| enableInPageAutoFill: this.#n, | |
| allowExtensionToControlAutoFillSettings: this.#a | |
| }, e) | |
| })).then(this.#u.bind(this)) | |
| } | |
| #o() { | |
| this.#t || (chrome.privacy.services.passwordSavingEnabled && chrome.privacy.services.passwordSavingEnabled.onChange.addListener((e => { | |
| this.#u() | |
| })), chrome.privacy.services.autofillCreditCardEnabled && chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener((e => { | |
| this.#u() | |
| })), chrome.privacy.services.autofillAddressEnabled && chrome.privacy.services.autofillAddressEnabled.onChange.addListener((e => { | |
| this.#u() | |
| }))) | |
| } | |
| #u() { | |
| const e = new CustomEvent("settingsChanged", { | |
| detail: { | |
| enableInPageAutoFill: this.#n | |
| } | |
| }); | |
| this.eventTarget.dispatchEvent(e) | |
| } | |
| async #c(e, r) { | |
| let t; | |
| try { | |
| t = await this.#d(e) | |
| } catch (e) { | |
| return | |
| } | |
| if (t) { | |
| if (t.value === r) return { | |
| details: t, | |
| newValue: r | |
| }; | |
| try { | |
| t = await e.set({ | |
| value: r | |
| }) | |
| } catch (e) { | |
| return | |
| } | |
| return { | |
| details: t, | |
| newValue: r | |
| } | |
| } | |
| } | |
| async #d(e) { | |
| if (!e) throw new Error(`Unable to get ${e} setting.`); | |
| const r = await e.get({}); | |
| if ("not_controllable" === r.levelOfControl) throw new Error(`Cannot control ${e} setting.`); | |
| return r | |
| } | |
| async #p(e) { | |
| if (!e) throw new Error(`Unable to clear browser setting: ${e}.`); | |
| await e.clear({}) | |
| } | |
| } | |
| var g_selectedUserName = "", | |
| g_selectedPassword = "", | |
| g_selectedURL = "", | |
| g_currentUserName = "", | |
| g_currentPassword = "", | |
| g_focusedControl = null, | |
| g_lastSenderOfInformationToFill = null; | |
| const ForCompletionList = "ForCompletionList", | |
| ForPageWideFill = "ForPageWideFill"; | |
| var g_usernameControls = {}, | |
| g_passwordControls = {}, | |
| g_oldPasswordControls = {}, | |
| g_confirmPasswordControls = {}, | |
| g_usernameElementUniqueIDs = {}, | |
| g_passwordElementUniqueIDs = {}; | |
| const WBSAutoFillFormTypeFoundTOTPURI = 6; | |
| var g_formTypeOfFormBestForPageWideAutoFill = 0, | |
| g_isPresetUserNamePresent = !1, | |
| g_theURL = null, | |
| g_completionListContainer = null, | |
| g_completionListIFrame = null, | |
| g_completionListAnchoringField = null, | |
| g_completionListAnchoringFieldPriorToBlur = null, | |
| g_completionListAnchoringFieldBeforeOneTimeCodeRefresh = null, | |
| g_oneTimeCodeToFillAfterUpdate = null; | |
| const AmountOfTimeToDisallowCompletionListInFieldAfterFilling = 100; | |
| var g_lastFilledField = null, | |
| g_dateOfLastAutoFill = null, | |
| g_dateOfCompletionListAnchoringFieldFocusOrMovementOfThatField = null, | |
| g_completionListAnchoringFieldMovementSetIntervalID = null; | |
| const AmountOfTimeToPollPageForFieldMovementAfterFocus = 5e3, | |
| IntervalToPollPageForFieldMovementAfterFocus = 100, | |
| ExtraClearanceForCompletionListToAccountForShadow = 24; | |
| var g_supportsSubURLs = !1; | |
| let g_qrCodeScanner = null, | |
| g_heuristicsRunner = null; | |
| const DoNotDismissCompletionListUponLosingFocus = !1; | |
| let g_canAddEventListeners = !1, | |
| g_didCleanUpGlobalState = !1, | |
| g_shouldAttemptToSavePasswords = !0; | |
| function cleanUpGlobalState() { | |
| if (!chrome.runtime.id || g_didCleanUpGlobalState) { | |
| removeEventListeners(); | |
| try { | |
| chrome.runtime.onMessage.removeListener(runtimeMessageHandler) | |
| } catch {} | |
| destroyCompletionListIfNecessary(), g_qrCodeScanner.shouldScanElementsForQRCodes = !1, g_didCleanUpGlobalState = !0 | |
| } | |
| } | |
| async function sendRuntimeMessage(e) { | |
| if (!chrome.runtime.id) throw cleanUpGlobalState(), new Error("Invalid runtime."); | |
| try { | |
| return await chrome.runtime.sendMessage(e) | |
| } catch (e) { | |
| throw e | |
| } | |
| } | |
| class MetadataHeuristicsRunner { | |
| static heuristicsRunDelayMS = 50; | |
| #f = null; | |
| #m = []; | |
| #v = !0; | |
| runHeuristics(e, r) { | |
| return this.#f && (clearTimeout(this.#f), this.#f = null), new Promise((t => { | |
| this.#m.push(t), this.#f = setTimeout((() => { | |
| const t = this.#w(e, r); | |
| this.#v && (this.findAndFocusActiveElementIfPossible(t), this.#v = !1), this.#y(t), this.#f = null | |
| }), MetadataHeuristicsRunner.heuristicsRunDelayMS) | |
| })) | |
| } | |
| #y(e) { | |
| for (; this.#m.length;) { | |
| this.#m.shift()(e) | |
| } | |
| } | |
| #w(e, r) { | |
| const t = urlFromURLString(document.URL), | |
| n = g_formTypeOfFormBestForPageWideAutoFill; | |
| g_formTypeOfFormBestForPageWideAutoFill = 0; | |
| const a = FormMetadataJS.formsAndMetadata(1), | |
| i = a[1]; | |
| return i ? i.forEach(((n, a) => { | |
| if (n && n.FormIsBestForPageLevelAutoFill) { | |
| t.hostname, assignFieldsForMetadataAndPurpose(n, ForPageWideFill, e, r); | |
| const a = g_usernameControls.ForCompletionList; | |
| a ? (g_isPresetUserNamePresent = !0, updateTrackedUsername(a.value)) : (g_isPresetUserNamePresent = !1, updateTrackedUsername(g_currentUserName)) | |
| } | |
| })) : (t.hostname, t.hostname, g_formTypeOfFormBestForPageWideAutoFill = 0, t.hostname, humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill)), n !== g_formTypeOfFormBestForPageWideAutoFill ? (t.hostname, humanReadableFormType(n), humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill), t.hostname, t.hostname, humanReadableFormType(n), pageNavigationHandler(n)) : (t.hostname, humanReadableFormType(n), humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill)), sendRuntimeMessage({ | |
| from: "content", | |
| subject: "CmdSetIconNTitle", | |
| hostPageType: g_formTypeOfFormBestForPageWideAutoFill, | |
| isDark: window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches | |
| }).then((e => { | |
| t.hostname | |
| })).catch((e => { | |
| t.hostname | |
| })), a | |
| } | |
| findAndFocusActiveElementIfPossible(e) { | |
| const r = document.activeElement; | |
| if (r && FormMetadataJS._isAutoFillableTextField(r)) { | |
| if (r === g_completionListAnchoringField) return; | |
| elementWasFocused(r) | |
| } else if (e) | |
| for (const r of e[1]) r && r.FormIsBestForStreamlinedLogin && FormMetadataJS.focusFormForStreamlinedLogin(r.FormID) | |
| } | |
| } | |
| class QRCodeScanner { | |
| static scanningDelayMS = 10; | |
| static maxScannableElementDimension = 800; | |
| #h = !1; | |
| #E = null; | |
| #M = null; | |
| #S = {}; | |
| get shouldScanElementsForQRCodes() { | |
| return this.#h | |
| } | |
| set shouldScanElementsForQRCodes(e) { | |
| this.#h !== e && (e ? (this.#E = async e => { | |
| await this.#g(e) | |
| }, document.addEventListener("mouseover", this.#E)) : (document.removeEventListener("mouseover", this.#E), this.#E = null)) | |
| } | |
| get totpSecretToURI() { | |
| return this.#S | |
| } | |
| async #g(e) { | |
| await this.#k(), this.#S = {}, this.#M && clearTimeout(this.#M), this.#M = setTimeout((() => { | |
| const r = e.target.closest("img, svg, canvas, a"); | |
| r && this.scanElementForQRCode(r), this.#M = null | |
| }), QRCodeScanner.scanningDelayMS) | |
| } | |
| async #k() { | |
| await sendRuntimeMessage({ | |
| from: "content", | |
| subject: "CmdRemoveSetUpTOTPContextMenus", | |
| url: document.URL | |
| }) | |
| } | |
| scanElementForQRCode(e) { | |
| switch (e.tagName.toLowerCase()) { | |
| case "img": | |
| this.#C(e); | |
| break; | |
| case "svg": | |
| this.#b(e); | |
| break; | |
| case "canvas": | |
| this.#F(e); | |
| break; | |
| case "a": | |
| this.#P(e) | |
| } | |
| } | |
| #C(e) { | |
| let r = new Image; | |
| r.crossOrigin = "Anonymous", r.addEventListener("load", (async e => { | |
| r.width && r.height && (r.width > QRCodeScanner.maxScannableElementDimension || r.height > QRCodeScanner.maxScannableElementDimension || await this.processImageElementForOTPAuthQRCode(r)) | |
| })), r.src = e.src | |
| } | |
| #b(e) { | |
| let { | |
| width: r, | |
| height: t | |
| } = e.getBBox(); | |
| if (!r || !t) return; | |
| if (r > QRCodeScanner.maxScannableElementDimension || t > QRCodeScanner.maxScannableElementDimension) return; | |
| let n = e.cloneNode(!0), | |
| a = new Blob([n.outerHTML], { | |
| type: "image/svg+xml;charset=utf-8" | |
| }), | |
| i = URL.createObjectURL(a), | |
| o = new Image; | |
| o.addEventListener("load", (async e => { | |
| await this.processImageElementForOTPAuthQRCode(o) | |
| })), o.src = i | |
| } | |
| #F(e) { | |
| let r = new Image; | |
| r.addEventListener("load", (async e => { | |
| await this.processImageElementForOTPAuthQRCode(r) | |
| })), r.src = e.toDataURL("image/png") | |
| } | |
| #P(e) { | |
| let r; | |
| try { | |
| r = new URL(e.href) | |
| } catch {} | |
| if (r && this.#B(r)) return sendRuntimeMessage({ | |
| from: "content", | |
| subject: "CmdAddSetUpTOTPContextMenu", | |
| pageURL: g_theURL, | |
| totpSetupURL: r.href | |
| }) | |
| } | |
| async processImageElementForOTPAuthQRCode(e) { | |
| let r = document.createElement("canvas"); | |
| r.width = e.width, r.height = e.height; | |
| try { | |
| let t = r.getContext("2d"); | |
| t.drawImage(e, 0, 0); | |
| let n = e.width, | |
| a = e.height, | |
| i = t.getImageData(0, 0, n, a), | |
| o = jsQR(i.data, n, a, { | |
| inversionAttempts: "dontInvert" | |
| }); | |
| if (!o) return; | |
| o.data; | |
| const l = new URL(o.data); | |
| this.#B(l) && (l.searchParams.get("secret"), o.data, await sendRuntimeMessage({ | |
| from: "content", | |
| subject: "CmdAddSetUpTOTPContextMenu", | |
| pageURL: g_theURL, | |
| totpSetupURL: o.data | |
| }), this.#S.hasOwnProperty(l.searchParams.get("secret")) ? (issuer, account) : this.#S[l.searchParams.get("secret")] = o.data) | |
| } catch (e) {} | |
| r.remove() | |
| } | |
| #B(e) { | |
| return e.pathname.startsWith("//totp") && ("otpauth:" === e.protocol || "apple-otpauth:" === e.protocol) && e.searchParams.has("secret") | |
| } | |
| } | |
| function fillControlsByID(e, r) { | |
| let t = r ? FormMetadataJS.formControlWithUniqueID(r) : null; | |
| g_dateOfLastAutoFill = (g_lastFilledField = t) ? Date.now() : null, FormMetadataJS.autoFillControlsByID(e, !1, !1, t, !1, []) | |
| } | |
| function confirmPasswordFieldChangeHandler(e) { | |
| e.target; | |
| g_passwordControls.ForPageWideFill && g_passwordControls.ForPageWideFill.value === g_confirmPasswordControls.ForPageWideFill.value && (newPassword = g_confirmPasswordControls.ForPageWideFill.value) | |
| } | |
| function userNameFieldChangeHandler(e) { | |
| updateTrackedUsername(e.target.value), g_passwordControls.ForPageWideFill || sendRuntimeMessage({ | |
| from: "content", | |
| subject: "SaveStage1LoginName", | |
| theLogin: g_currentUserName | |
| }).then((e => {})).catch((e => {})) | |
| } | |
| function passwordFieldChangeHandler(e) { | |
| updateTrackedPassword(e.target.value) | |
| } | |
| function fillLoginIntoForm(e, r, t, n, a, i) { | |
| if (e !== RememberIC.RememberLoginAndPassword) return; | |
| const o = "completionList" === i, | |
| l = o ? g_usernameElementUniqueIDs.ForCompletionList : g_usernameElementUniqueIDs.ForPageWideFill; | |
| if (l) try { | |
| fillControlsByID({ | |
| [l]: n | |
| }, l) | |
| } catch (e) { | |
| e.message | |
| } | |
| g_lastSenderOfInformationToFill = "completionList" === i ? ForCompletionList : ForPageWideFill; | |
| const s = o ? g_passwordControls.ForCompletionList : g_passwordControls.ForPageWideFill, | |
| c = o ? g_oldPasswordControls.ForCompletionList : g_oldPasswordControls.ForPageWideFill; | |
| (s || c) && sendRuntimeMessage({ | |
| from: "content", | |
| subject: "CmdGetPassword4LoginName", | |
| tabId: r, | |
| frameId: t, | |
| theLogin: n, | |
| theURL: a | |
| }).then((e => {})).catch((e => {})) | |
| } | |
| function detectPresetUserName(e, r, t) { | |
| e.FormControls.forEach((function(r, t, n) { | |
| r.ControlUniqueID !== e.UsernameElementUniqueID || isStringEmpty(r.ControlValue) || (updateTrackedUsername(r.ControlValue), g_isPresetUserNamePresent = !0, r.ControlUniqueID) | |
| })) | |
| } | |
| function assignFieldsForMetadataAndPurpose(e, r, t, n) { | |
| const a = e.AutoFillFormType; | |
| switch (r === ForPageWideFill && humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill = a), a) { | |
| case 0: | |
| case 1: | |
| case 2: | |
| for (const t of e.FormControls) | |
| if (t.ControlIsActiveElement) { | |
| if (t.ControlIsLabeledUsernameField) { | |
| g_usernameControls[r] = FormMetadataJS.formControlWithUniqueID(t.ControlUniqueID), g_usernameElementUniqueIDs[r] = t.ControlUniqueID; | |
| break | |
| } | |
| if (t.ControlIsSecureTextField) { | |
| g_passwordControls[r] = FormMetadataJS.formControlWithUniqueID(t.ControlUniqueID), g_passwordElementUniqueIDs[r] = t.ControlUniqueID, r === ForPageWideFill && (g_formTypeOfFormBestForPageWideAutoFill = 3); | |
| break | |
| } | |
| } break; | |
| case 3: | |
| case 4: | |
| case 5: | |
| e.UsernameElementUniqueID ? (g_usernameControls[r] = FormMetadataJS.formControlWithUniqueID(e.UsernameElementUniqueID), g_usernameElementUniqueIDs[r] = e.UsernameElementUniqueID, e.UsernameElementUniqueID, detectPresetUserName(e, t, n)) : (g_usernameControls[r] = null, g_usernameElementUniqueIDs[r] = 0), e.PasswordElementUniqueID ? (g_passwordControls[r] = FormMetadataJS.formControlWithUniqueID(e.PasswordElementUniqueID), g_passwordElementUniqueIDs[r] = e.PasswordElementUniqueID, e.PasswordElementUniqueID) : (g_passwordControls[r] = null, g_passwordElementUniqueIDs[r] = 0), e.ConfirmPasswordElementUniqueID ? (g_confirmPasswordControls[r] = FormMetadataJS.formControlWithUniqueID(e.ConfirmPasswordElementUniqueID), e.ConfirmPasswordElementUniqueID) : g_confirmPasswordControls[r] = null, e.OldPasswordElementUniqueID ? (g_oldPasswordControls[r] = FormMetadataJS.formControlWithUniqueID(e.OldPasswordElementUniqueID), e.OldPasswordElementUniqueID) : g_oldPasswordControls[r] = null | |
| } | |
| } | |
| function pageNavigationHandler(e) { | |
| if (humanReadableFormType(e), g_shouldAttemptToSavePasswords) switch (e) { | |
| case 0: | |
| case 1: | |
| case 2: | |
| default: | |
| break; | |
| case 3: | |
| if (!g_passwordControls.ForPageWideFill) break; | |
| (g_currentUserName !== g_selectedUserName || g_currentPassword !== g_selectedPassword || g_supportsSubURLs && g_theURL !== g_selectedURL) && (g_selectedUserName = g_currentUserName, g_selectedPassword = g_currentPassword, g_selectedURL = g_theURL, chrome.runtime.sendMessage({ | |
| from: "content", | |
| subject: "CmdSetPassword4LoginName_URL", | |
| theNLogin: g_currentUserName, | |
| theNPassword: g_currentPassword, | |
| theNURL: g_theURL | |
| }, (() => { | |
| const e = chrome.runtime.lastError; | |
| e && (g_selectedUserName = null, g_selectedPassword = null, g_selectedURL = null) | |
| }))); | |
| break; | |
| case 4: | |
| case 5: | |
| !g_passwordControls.ForPageWideFill || g_confirmPasswordControls.ForPageWideFill && g_passwordControls.ForPageWideFill.value !== g_confirmPasswordControls.ForPageWideFill.value || g_currentUserName === g_selectedUserName && g_currentPassword === g_selectedPassword || (g_selectedUserName = g_currentUserName, g_selectedPassword = g_currentPassword, chrome.runtime.sendMessage({ | |
| from: "content", | |
| subject: "CmdNewAccount4URL", | |
| theNLogin: g_currentUserName, | |
| theNPassword: g_currentPassword, | |
| theNURL: g_theURL | |
| }, (() => { | |
| const e = chrome.runtime.lastError; | |
| e && (g_selectedUserName = null, g_selectedPassword = null) | |
| }))) | |
| } | |
| } | |
| function runtimeMessageHandler(e, r, t) { | |
| e.tabId, e.frameId; | |
| switch (e.from, e.subject) { | |
| case "fillPassword": { | |
| const r = e.username, | |
| t = e.password, | |
| n = e.url; | |
| switch (humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill), g_formTypeOfFormBestForPageWideAutoFill) { | |
| case 0: | |
| case 1: | |
| case 2: | |
| case 4: | |
| if (!g_passwordControls[g_lastSenderOfInformationToFill]) break; | |
| case 3: | |
| g_selectedUserName = r, g_selectedPassword = t, g_selectedURL = n; | |
| try { | |
| const e = g_passwordElementUniqueIDs[g_lastSenderOfInformationToFill]; | |
| fillControlsByID({ | |
| [e]: t | |
| }, e) | |
| } catch (e) { | |
| e.message | |
| } | |
| break; | |
| case 5: | |
| g_selectedUserName = r, g_selectedPassword = t, g_selectedURL = n; | |
| try { | |
| const e = g_oldPasswordControls[g_lastSenderOfInformationToFill]; | |
| FormMetadataJS._autoFillControlWithValueAndOptions(e, t, ShouldFocusAndBlur.Yes, !1) | |
| } catch (e) { | |
| e.message | |
| } | |
| } | |
| break | |
| } | |
| case "runFormMetadataHeuristics": | |
| e.tabId, e.frameId, e.tabId, e.frameId, g_heuristicsRunner.runHeuristics(e.tabId, e.frameId); | |
| break; | |
| case "RememberICSelection": | |
| switch (e.theRememberICSelection, e.theRememberICSelection) { | |
| case RememberIC.NoValueSet: | |
| case RememberIC.DoNotRemember: | |
| g_shouldAttemptToSavePasswords = !1; | |
| break; | |
| case RememberIC.UnknownPage: | |
| case RememberIC.RememberLoginAndPassword: | |
| g_shouldAttemptToSavePasswords = !0, g_usernameControls.ForPageWideFill && (g_usernameControls.ForPageWideFill.addEventListener("change", userNameFieldChangeHandler), e.tabId, e.frameId), g_passwordControls.ForPageWideFill && (g_passwordControls.ForPageWideFill.addEventListener("change", passwordFieldChangeHandler), e.tabId, e.frameId), g_confirmPasswordControls.ForPageWideFill && (g_confirmPasswordControls.ForPageWideFill.addEventListener("change", confirmPasswordFieldChangeHandler), e.tabId, e.frameId) | |
| } | |
| e.capabilities.supportsSubURLs && (g_supportsSubURLs = e.capabilities.supportsSubURLs), e.tabId, e.frameId; | |
| break; | |
| case "fillLoginIntoForm": | |
| g_selectedUserName = e.theLogin, g_selectedURL = e.theURL, e.tabId, e.frameId, e.tabId, e.frameId, fillLoginIntoForm(e.theRememberICSelection, e.tabId, e.frameId, e.theLogin, e.theURL, e.from), hideCompletionListIfNecessary(); | |
| break; | |
| case "resizeCompletionList": { | |
| if (e.width, e.height, 0 === e.width || 0 === e.height) return void hideCompletionListIfNecessary(); | |
| if (!g_completionListAnchoringField) return; | |
| const r = g_completionListAnchoringField.getBoundingClientRect().bottom, | |
| t = Math.floor(window.innerHeight - r - 24), | |
| n = Math.min(e.height, t) + "px", | |
| a = e.width + "px", | |
| i = CSS.supports("backdrop-filter", "none") ? e.width + 1 + "px" : a; | |
| e.width, e.height, g_completionListContainer.style.setProperty("height", n, "important"), g_completionListIFrame.style.setProperty("height", n, "important"), g_completionListContainer.style.setProperty("width", i, "important"), g_completionListIFrame.style.setProperty("width", a, "important"), g_completionListContainer.style.setProperty("opacity", "1", "important"), g_completionListContainer.style.setProperty("visibility", "visible", "important"); | |
| break | |
| } | |
| case "dismissCompletionList": | |
| hideCompletionListIfNecessary(); | |
| break; | |
| case "getContextAndMetadataForActiveTextField": { | |
| if (!g_focusedControl) return void e.subject; | |
| let [r, n] = FormMetadataJS.textFieldOrSelectElementMetadata(g_focusedControl, 0); | |
| t({ | |
| textFieldMetadata: r, | |
| formMetadata: n, | |
| presetUserName: g_currentUserName, | |
| hostname: document.location.hostname, | |
| url: document.location.href | |
| }); | |
| break | |
| } | |
| case "fillOneTimeCodeIntoForm": | |
| let r = e.oneTimeCode; | |
| if ("totp" === r.source) g_completionListAnchoringFieldBeforeOneTimeCodeRefresh = g_completionListAnchoringField || g_completionListAnchoringFieldPriorToBlur, g_oneTimeCodeToFillAfterUpdate = r; | |
| sendRuntimeMessage({ | |
| from: "content", | |
| subject: "fillOneTimeCodeIntoForm", | |
| tab: e.tab, | |
| frame: e.frame, | |
| oneTimeCode: r | |
| }).then((e => {})).catch((e => {})); | |
| break; | |
| case "fillCurrentTOTPCodeIntoForm": | |
| const n = e.oneTimeCodes; | |
| if (!n || !g_oneTimeCodeToFillAfterUpdate) { | |
| clearOneTimeCodeState(); | |
| break | |
| } | |
| const a = n.find((e => "totp" === e.source && e.username === g_oneTimeCodeToFillAfterUpdate.username && e.domain === g_oneTimeCodeToFillAfterUpdate.domain)); | |
| if (!a) { | |
| clearOneTimeCodeState(); | |
| break | |
| } | |
| const i = g_completionListAnchoringField || g_completionListAnchoringFieldBeforeOneTimeCodeRefresh; | |
| if (!i) { | |
| clearOneTimeCodeState(); | |
| break | |
| } | |
| fillElementWithOneTimeCode(i, a), clearOneTimeCodeState(); | |
| break; | |
| case "getTextFieldAndFormMetadataOfActiveTextField": | |
| let [o, l] = FormMetadataJS.textFieldOrSelectElementMetadata(g_focusedControl, 0); | |
| t({ | |
| textFieldMetadata: o, | |
| formMetadata: l | |
| }); | |
| break; | |
| case "getPageType": | |
| e.tabId, e.frameId, e.tabId, e.frameId, e.tabId, e.frameId, g_heuristicsRunner.runHeuristics(e.tabId, e.frameId), 0 !== Object.keys(g_qrCodeScanner.totpSecretToURI).length && (g_formTypeOfFormBestForPageWideAutoFill = WBSAutoFillFormTypeFoundTOTPURI, e.tabId, e.frameId), t(g_formTypeOfFormBestForPageWideAutoFill); | |
| break; | |
| case "getPresetUserNameAndURL": | |
| t({ | |
| isPresetUserNamePresent: g_isPresetUserNamePresent, | |
| presetUserName: g_currentUserName, | |
| url: window.location.href | |
| }); | |
| break; | |
| case "getTOTPSetupInfo": | |
| t(g_qrCodeScanner.totpSecretToURI); | |
| break; | |
| case "setUp": | |
| g_canAddEventListeners = !0, addEventListeners(), loadEventHandler(), g_qrCodeScanner.shouldScanElementsForQRCodes = e.shouldEnableQRCodeScanning, g_heuristicsRunner.runHeuristics(e.tabId, e.frameId); | |
| break; | |
| case "enableQRCodeScanner": | |
| g_qrCodeScanner.shouldScanElementsForQRCodes = e.isEnabled | |
| } | |
| } | |
| try { | |
| chrome.runtime.onMessage.addListener(runtimeMessageHandler) | |
| } catch (e) { | |
| e.message | |
| } | |
| function beforeunloadEventHandler(e) { | |
| humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill), pageNavigationHandler(g_formTypeOfFormBestForPageWideAutoFill), destroyCompletionListIfNecessary() | |
| } | |
| function popStateEventHandler(e) { | |
| humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill), pageNavigationHandler(g_formTypeOfFormBestForPageWideAutoFill) | |
| } | |
| function navigateHandler(e) { | |
| humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill), pageNavigationHandler(g_formTypeOfFormBestForPageWideAutoFill) | |
| } | |
| function passwordFieldWasRemovedFromPage() { | |
| humanReadableFormType(g_formTypeOfFormBestForPageWideAutoFill), pageNavigationHandler(g_formTypeOfFormBestForPageWideAutoFill) | |
| } | |
| function completionListBackgroundColor() { | |
| return window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "rgba(35, 35, 35, 0.8)" : "rgba(230, 230, 230, 0.8)" | |
| } | |
| function completionListBackgroundColorWithoutBackdropBlur() { | |
| return window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "rgb(35, 35, 35)" : "rgb(230, 230, 230)" | |
| } | |
| function completionListContainerBorderColor() { | |
| return window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "rgba(0, 0, 0, 0.9)" : "rgba(0, 0, 0, 0.2)" | |
| } | |
| function isCompletionListVisible() { | |
| return !!g_completionListContainer && "visible" === g_completionListContainer.style.visibility | |
| } | |
| function fillElementWithOneTimeCode(e, r) { | |
| hideCompletionListIfNecessary(), e.focus(), FormMetadataJS.autoFillOneTimeCodeFieldsWithValue(r.code, !1) | |
| } | |
| function hideCompletionListIfNecessary() { | |
| g_completionListContainer && (g_completionListContainer.style.setProperty("visibility", "hidden", "important"), g_completionListContainer.style.setProperty("opacity", "0", "important"), g_completionListContainer.style.setProperty("left", "-999999px", "important")), g_completionListAnchoringField = null, stopMonitoringForFocusedFieldMovement() | |
| } | |
| function destroyCompletionListIfNecessary() { | |
| if (hideCompletionListIfNecessary(), g_completionListContainer) { | |
| let e = g_completionListContainer, | |
| r = g_completionListIFrame; | |
| setTimeout((function() { | |
| e.remove(), e = null, r.remove(), r = null | |
| }), 100), g_completionListContainer = null | |
| } | |
| g_completionListIFrame && (g_completionListIFrame = null), g_completionListAnchoringField = null, g_completionListAnchoringFieldPriorToBlur = null, stopMonitoringForFocusedFieldMovement() | |
| } | |
| function stopMonitoringForFocusedFieldMovement() { | |
| clearInterval(g_completionListAnchoringFieldMovementSetIntervalID), g_completionListAnchoringFieldMovementSetIntervalID = null | |
| } | |
| function showCompletionList(e, r) { | |
| destroyCompletionListIfNecessary(), g_passwordControls.ForCompletionList = null, g_passwordElementUniqueIDs.ForCompletionList = 0, g_usernameControls.ForCompletionList = null, g_usernameElementUniqueIDs.ForCompletionList = 0; | |
| let t = e.getBoundingClientRect(), | |
| n = parseInt(getComputedStyle(e).borderBottomWidth); | |
| g_completionListIFrame = document.createElement("iframe"); | |
| e.value, e.type; | |
| let a = ""; | |
| assignFieldsForMetadataAndPurpose(r, ForCompletionList, null, null); | |
| const i = g_usernameControls.ForCompletionList; | |
| i && (a = i.value); | |
| let o, l = document.querySelector("meta[name=color-scheme]")?.content; | |
| l && (l = encodeURIComponent(l)); | |
| try { | |
| o = chrome.runtime.getURL(`completion_list.html?username=${a}&colorScheme=${l}`) | |
| } catch (e) { | |
| return void(isExtensionContextInvalidatedError(e) && cleanUpGlobalState()) | |
| } | |
| g_completionListIFrame.setAttribute("src", o), g_completionListIFrame.style.setProperty("width", "9001px", "important"), g_completionListIFrame.style.setProperty("height", "100%", "important"), g_completionListIFrame.style.setProperty("display", "block", "important"), g_completionListIFrame.frameBorder = 0, (g_completionListContainer = document.createElement("div")).id = "apple-password-autofill-list", g_completionListContainer.style.setProperty("z-index", "2147483647", "important"), g_completionListContainer.style.setProperty("padding", "0px", "important"), g_completionListContainer.style.setProperty("margin", "0px", "important"), g_completionListContainer.style.setProperty("border-radius", "8px", "important"), g_completionListContainer.style.setProperty("position", "fixed", "important"), g_completionListContainer.style.setProperty("color-scheme", "normal", "important"), g_completionListContainer.style.setProperty("box-shadow", "0 2px 4px 0 rgba(0, 0, 0, 0.15), 0 8px 15px 6px rgba(0, 0, 0, 0.18)", "important"), g_completionListContainer.style.setProperty("border", `1px solid ${completionListContainerBorderColor()}`, "important"), g_completionListContainer.style.setProperty("overflow", "hidden", "important"), CSS.supports("backdrop-filter", "none") ? (g_completionListContainer.style.setProperty("backdrop-filter", "blur(20px)", "important"), g_completionListContainer.style.setProperty("background-color", completionListBackgroundColor(), "important")) : g_completionListContainer.style.setProperty("background-color", completionListBackgroundColorWithoutBackdropBlur(), "important"); | |
| let s = Math.round(t.y + t.height) + n + "px", | |
| c = Math.round(t.x) + "px"; | |
| g_completionListContainer.style.setProperty("top", s, "important"), g_completionListContainer.style.setProperty("left", c, "important"), g_completionListContainer.attachShadow({ | |
| mode: "open" | |
| }).appendChild(g_completionListIFrame), g_completionListContainer.style.setProperty("opacity", "0", "important"), g_completionListContainer.style.setProperty("visibility", "hidden", "important"), document.body.appendChild(g_completionListContainer), g_completionListAnchoringField = e, g_dateOfCompletionListAnchoringFieldFocusOrMovementOfThatField = new Date, g_completionListAnchoringFieldMovementSetIntervalID = setInterval((function() { | |
| Date.now() - g_dateOfCompletionListAnchoringFieldFocusOrMovementOfThatField >= 5e3 && stopMonitoringForFocusedFieldMovement(); | |
| let r = e.getBoundingClientRect(), | |
| t = Math.round(r.y + r.height) + n + "px", | |
| a = Math.round(r.x) + "px"; | |
| t === s && a === c || (g_dateOfCompletionListAnchoringFieldFocusOrMovementOfThatField = new Date, g_completionListContainer.style.setProperty("top", t, "important"), g_completionListContainer.style.setProperty("left", a, "important"), s = t, c = a) | |
| }), 100) | |
| } | |
| function shouldOfferCompletionListForField(e, r, t) { | |
| return !(g_lastFilledField === e && Date.now() - g_dateOfLastAutoFill < 100) && (("password" !== e.type || !e.value.length) && (!!r.ControlLooksLikePasswordCredentialField || (!!r.ControlClaimsToBeUsernameViaAutocompleteAttribute || (r.ControlLooksLikeOneTimeCodeField ? !e.value.length : !(!t.UsernameElementUniqueID || t.UsernameElementUniqueID !== r.ControlUniqueID) || (!(!t.PasswordElementUniqueID || t.PasswordElementUniqueID !== r.ControlUniqueID) || (!!r.ControlIsLabeledUsernameField || (e === g_usernameControls.ForCompletionList || e === g_passwordControls.ForCompletionList))))))) | |
| } | |
| function focusInEventHandler(e) { | |
| elementWasFocused(e.target) | |
| } | |
| function elementWasFocused(e) { | |
| let r = innermostActiveElement(e); | |
| if (!r || !FormMetadataJS._isAutoFillableTextField(r)) return void(g_focusedControl = null); | |
| g_focusedControl = r, destroyCompletionListIfNecessary(); | |
| let [t, n] = FormMetadataJS.textFieldOrSelectElementMetadata(r, 0); | |
| t.ControlLooksLikePasswordCredentialField && (setUpMutationObserverForField(r), g_passwordControls.ForPageWideFill || (g_passwordControls.ForPageWideFill = r, g_passwordControls.ForPageWideFill.addEventListener("change", passwordFieldChangeHandler))), shouldOfferCompletionListForField(r, t, n) && showCompletionList(r, n) | |
| } | |
| var g_elementBeingMutationObserved, g_elementMutationObserver; | |
| function setUpMutationObserverForField(e) { | |
| if (g_elementBeingMutationObserved === e) return; | |
| g_elementBeingMutationObserved = e; | |
| (g_elementMutationObserver = new MutationObserver(((e, r) => { | |
| document.body.contains(g_elementBeingMutationObserved) || passwordFieldWasRemovedFromPage() | |
| }))).observe(g_elementBeingMutationObserved, { | |
| attributes: !0, | |
| childList: !0, | |
| subtree: !0 | |
| }) | |
| } | |
| function clearOneTimeCodeState() { | |
| g_completionListAnchoringFieldBeforeOneTimeCodeRefresh = null, g_oneTimeCodeToFillAfterUpdate = null | |
| } | |
| function updateTrackedUsername(e) { | |
| g_currentUserName = e, addOrRemoveBeforeunloadEventListener() | |
| } | |
| function updateTrackedPassword(e) { | |
| g_currentPassword = e, addOrRemoveBeforeunloadEventListener() | |
| } | |
| function addOrRemoveBeforeunloadEventListener() { | |
| g_canAddEventListeners && (isStringEmpty(g_currentUserName) && isStringEmpty(g_currentPassword) ? window.removeEventListener("beforeunload", beforeunloadEventHandler) : window.addEventListener("beforeunload", beforeunloadEventHandler)) | |
| } | |
| function focusOutEventHandler(e) { | |
| JSON.stringify(e); | |
| let r = e.target; | |
| g_focusedControl = null, setTimeout((function() { | |
| r === g_completionListAnchoringField && hideCompletionListIfNecessary() | |
| }), 100) | |
| } | |
| function blurEventHandler(e) { | |
| g_completionListAnchoringField && (g_completionListAnchoringFieldPriorToBlur = g_completionListAnchoringField), setTimeout((() => { | |
| hideCompletionListIfNecessary() | |
| }), 100) | |
| } | |
| function keyDownEventHandler(e) { | |
| let r = e.target; | |
| if (!isCompletionListVisible()) { | |
| let [t, n] = FormMetadataJS.textFieldOrSelectElementMetadata(r, 0); | |
| return void("ArrowDown" === e.key && shouldOfferCompletionListForField(r, t, n) && showCompletionList(e.target, n)) | |
| } | |
| let t = {}; | |
| switch (e.key) { | |
| case "Escape": | |
| return hideCompletionListIfNecessary(), e.preventDefault(), !1; | |
| case "ArrowDown": | |
| case "ArrowUp": | |
| case "Enter": | |
| t.key = e.key, e.preventDefault() | |
| } | |
| t.key && sendRuntimeMessage({ | |
| from: "content", | |
| subject: "keydown", | |
| event: t | |
| }).then((e => {})).catch((e => {})) | |
| } | |
| function processInputEvent(e) { | |
| let r = e.target; | |
| if (!FormMetadataJS._isAutoFillableTextField(r)) return; | |
| let [t, n] = FormMetadataJS.textFieldOrSelectElementMetadata(r, 3), a = r.value; | |
| t.ControlLooksLikePasswordCredentialField || t.ControlLooksLikeOneTimeCodeField ? a.length && hideCompletionListIfNecessary() : isCompletionListVisible() || !shouldOfferCompletionListForField(r, t, n) ? r === g_completionListAnchoringField && isCompletionListVisible() && sendRuntimeMessage({ | |
| from: "content", | |
| subject: "typedUserNameChanged", | |
| username: a | |
| }).then((e => {})).catch((e => {})) : showCompletionList(r, n) | |
| } | |
| sendRuntimeMessage({ | |
| from: "content", | |
| subject: "readyToReceiveMessages" | |
| }).catch((e => {})); | |
| const RateOfInputEventsBeforeStoppingInputHandler = 100, | |
| NumberOfInputEventTimestampsToTrack = 5; | |
| let g_inputEventTimestamps = []; | |
| function inputEventHandler(e) { | |
| for (; g_inputEventTimestamps.length > 4;) g_inputEventTimestamps.shift(); | |
| if (g_inputEventTimestamps.push(e.timeStamp), 5 === g_inputEventTimestamps.length) { | |
| if (g_inputEventTimestamps[4] - g_inputEventTimestamps[0] < 100) return | |
| } | |
| setTimeout(processInputEvent, 0, e) | |
| } | |
| const ScrollEventHandlerOptions = { | |
| passive: !0, | |
| capture: !0 | |
| }; | |
| function scrollEventHandler(e) { | |
| e.target.contains(g_completionListAnchoringField) && hideCompletionListIfNecessary() | |
| } | |
| function resizeEventHandler(e) { | |
| hideCompletionListIfNecessary() | |
| } | |
| function prefersColorSchemeChangeEventHandler(e) { | |
| e.matches, sendRuntimeMessage({ | |
| from: "content", | |
| subject: "ThemeChanged", | |
| isDark: e.matches | |
| }).then((e => {})).catch((e => {})), g_completionListContainer && (g_completionListContainer.style.setProperty("border", `1px solid ${completionListContainerBorderColor()}`, "important"), g_completionListContainer.style.setProperty("background-color", CSS.supports("backdrop-filter", "none") ? completionListBackgroundColor() : completionListBackgroundColorWithoutBackdropBlur(), "important")) | |
| } | |
| function loadEventHandler() { | |
| window, | |
| window.top, | |
| window.location.href, | |
| g_qrCodeScanner = new QRCodeScanner, | |
| g_heuristicsRunner = new MetadataHeuristicsRunner; | |
| const e = location.protocol; | |
| "http:" !== e && "https:" !== e || sendRuntimeMessage({ | |
| from: "content", | |
| subject: "ThemeChanged", | |
| isDark: window.matchMedia("(prefers-color-scheme: dark)").matches | |
| }).then((e => {})).catch((e => {})) | |
| } | |
| const url = new URL(document.URL); | |
| function addEventListeners() { | |
| window.addEventListener("blur", blurEventHandler), window.addEventListener("load", loadEventHandler), window.addEventListener("popstate", popStateEventHandler), window.addEventListener("resize", resizeEventHandler), window.addEventListener("scroll", scrollEventHandler, ScrollEventHandlerOptions), window.navigation?.addEventListener("navigate", navigateHandler), window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", prefersColorSchemeChangeEventHandler), document.addEventListener("focusin", focusInEventHandler), document.addEventListener("focusout", focusOutEventHandler), document.addEventListener("keydown", keyDownEventHandler), document.addEventListener("input", inputEventHandler) | |
| } | |
| function removeEventListeners() { | |
| window.removeEventListener("blur", blurEventHandler), window.removeEventListener("load", loadEventHandler), window.removeEventListener("beforeunload", beforeunloadEventHandler), window.removeEventListener("popstate", popStateEventHandler), window.removeEventListener("resize", resizeEventHandler), window.removeEventListener("scroll", scrollEventHandler, ScrollEventHandlerOptions), window.navigation?.removeEventListener("navigate", navigateHandler), window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change", prefersColorSchemeChangeEventHandler), document.removeEventListener("focusin", focusInEventHandler), document.removeEventListener("focusout", focusOutEventHandler), document.removeEventListener("keydown", keyDownEventHandler), document.removeEventListener("input", inputEventHandler) | |
| } | |
| g_theURL = url.hostname, "" !== url.port && (g_theURL += ":" + url.port); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var pwlog = void 0, | |
| pwerror = void 0; | |
| function isStringEmpty(e) { | |
| return !e || 0 === e.length | |
| } | |
| function urlFromURLString(e) { | |
| try { | |
| return new URL(e) | |
| } catch { | |
| return null | |
| } | |
| } | |
| function humanReadableFormType(e) { | |
| switch (e) { | |
| case WBSAutoFillFormTypeUndetermined: | |
| return "Undetermined"; | |
| case WBSAutoFillFormTypeAutoFillableStandard: | |
| return "AutoFillable:Standard"; | |
| case WBSAutoFillFormTypeNonAutoFillable: | |
| return "NonAutoFillable"; | |
| case WBSAutoFillFormTypeAutoFillableLogin: | |
| return "AutoFillable:Login"; | |
| case WBSAutoFillFormTypeNewAccount: | |
| return "NewAccount"; | |
| case WBSAutoFillFormTypeChangePassword: | |