tnp-helpers 16.100.21 → 16.100.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/base/base-db.mjs +1 -19
- package/browser/esm2022/lib/base/base-project.mjs +2 -1
- package/browser/esm2022/lib/base/config-database.mjs +2 -1
- package/browser/esm2022/lib/base/project-database.mjs +1 -1
- package/browser/fesm2022/tnp-helpers.mjs +2 -18
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/base-db.d.ts +0 -2
- package/client/esm2022/lib/base/base-db.mjs +1 -19
- package/client/esm2022/lib/base/base-project.mjs +2 -1
- package/client/esm2022/lib/base/config-database.mjs +2 -1
- package/client/esm2022/lib/base/project-database.mjs +1 -1
- package/client/fesm2022/tnp-helpers.mjs +2 -18
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/base/base-db.d.ts +0 -2
- package/client/package.json +4 -4
- package/lib/base/base-command-line.backend.d.ts +1 -0
- package/lib/base/base-command-line.backend.js +4 -0
- package/lib/base/base-command-line.backend.js.map +1 -1
- package/lib/base/base-db.js +1 -1
- package/lib/base/base-db.js.map +1 -1
- package/lib/base/base-project.js +1 -1
- package/lib/base/base-project.js.map +1 -1
- package/lib/base/base-start-config.backend.js +3 -0
- package/lib/base/base-start-config.backend.js.map +1 -1
- package/lib/base/command-line-feature.backend.js +4 -2
- package/lib/base/command-line-feature.backend.js.map +1 -1
- package/lib/base/config-database.js.map +1 -1
- package/lib/base/project-database.js.map +1 -1
- package/lib/base/translate.js +2 -0
- package/lib/base/translate.js.map +1 -1
- package/lib/helpers/for-backend/ts-code/ts-code-extractor.js +2 -0
- package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -1
- package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.d.ts +0 -3
- package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js +2 -4
- package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -1
- package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js +2 -0
- package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
- package/lib/helpers/for-browser/angular.helper.js +3 -3
- package/lib/lowdb/adapters/Memory.js +1 -0
- package/lib/lowdb/adapters/Memory.js.map +1 -1
- package/lib/lowdb/adapters/browser/LocalStorage.js +2 -0
- package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
- package/lib/lowdb/adapters/browser/SessionStorage.js +2 -0
- package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
- package/lib/lowdb/adapters/browser/WebStorage.js +1 -0
- package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
- package/lib/lowdb/adapters/node/DataFile.js +1 -0
- package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
- package/lib/lowdb/adapters/node/JSONFile.js +1 -0
- package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
- package/lib/lowdb/adapters/node/TextFile.js +2 -0
- package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
- package/lib/lowdb/adapters/node/steno.js +2 -0
- package/lib/lowdb/adapters/node/steno.js.map +1 -1
- package/lib/lowdb/browser.js +2 -0
- package/lib/lowdb/browser.js.map +1 -1
- package/lib/lowdb/core/Low.js +1 -0
- package/lib/lowdb/core/Low.js.map +1 -1
- package/lib/lowdb/examples/browser.js +6 -7
- package/lib/lowdb/examples/browser.js.map +1 -1
- package/lib/lowdb/examples/cli.d.ts +0 -1
- package/lib/lowdb/examples/cli.js +8 -10
- package/lib/lowdb/examples/cli.js.map +1 -1
- package/lib/lowdb/examples/in-memory.d.ts +0 -8
- package/lib/lowdb/examples/in-memory.js +21 -13
- package/lib/lowdb/examples/in-memory.js.map +1 -1
- package/lib/lowdb/index.js +2 -0
- package/lib/lowdb/index.js.map +1 -1
- package/lib/lowdb/node.js +2 -0
- package/lib/lowdb/node.js.map +1 -1
- package/lib/lowdb/presets/browser.js +2 -0
- package/lib/lowdb/presets/browser.js.map +1 -1
- package/lib/lowdb/presets/node.js +1 -0
- package/lib/lowdb/presets/node.js.map +1 -1
- package/lib/old/base-component.js +3 -3
- package/lib/old/base-formly-component.js +3 -3
- package/lib/old/dual-component-ctrl.js +3 -3
- package/package.json +2 -2
- package/tmp-environment.json +8 -8
- package/websql/esm2022/lib/base/base-db.mjs +1 -19
- package/websql/esm2022/lib/base/base-project.mjs +2 -1
- package/websql/esm2022/lib/base/config-database.mjs +2 -1
- package/websql/esm2022/lib/base/project-database.mjs +1 -1
- package/websql/fesm2022/tnp-helpers.mjs +2 -18
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/base-db.d.ts +0 -2
- package/browser/esm2022/lib/base/translate.mjs +0 -42
- package/browser/esm2022/lib/lowdb/adapters/Memory.mjs +0 -26
- package/browser/esm2022/lib/lowdb/core/Low.mjs +0 -49
- package/browser/esm2022/lib/lowdb/index.mjs +0 -4
- package/browser/lib/base/translate.d.ts +0 -2
- package/browser/lib/lowdb/adapters/Memory.d.ts +0 -12
- package/browser/lib/lowdb/core/Low.d.ts +0 -25
- package/browser/lib/lowdb/index.d.ts +0 -3
- package/client/esm2022/lib/base/translate.mjs +0 -42
- package/client/esm2022/lib/lowdb/adapters/Memory.mjs +0 -26
- package/client/esm2022/lib/lowdb/core/Low.mjs +0 -49
- package/client/esm2022/lib/lowdb/index.mjs +0 -4
- package/client/lib/base/translate.d.ts +0 -2
- package/client/lib/lowdb/adapters/Memory.d.ts +0 -12
- package/client/lib/lowdb/core/Low.d.ts +0 -25
- package/client/lib/lowdb/index.d.ts +0 -3
- package/websql/esm2022/lib/base/translate.mjs +0 -42
- package/websql/esm2022/lib/lowdb/adapters/Memory.mjs +0 -26
- package/websql/esm2022/lib/lowdb/core/Low.mjs +0 -49
- package/websql/esm2022/lib/lowdb/index.mjs +0 -4
- package/websql/lib/base/translate.d.ts +0 -2
- package/websql/lib/lowdb/adapters/Memory.d.ts +0 -12
- package/websql/lib/lowdb/core/Low.d.ts +0 -25
- package/websql/lib/lowdb/index.d.ts +0 -3
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import type { BaseProjectResolver } from "./base-project-resolver";
|
|
3
|
-
import { Low } from "../lowdb";
|
|
4
3
|
export declare class BaseDb<DB extends object> {
|
|
5
4
|
private ins;
|
|
6
5
|
private dbName;
|
|
@@ -8,5 +7,4 @@ export declare class BaseDb<DB extends object> {
|
|
|
8
7
|
constructor(ins: BaseProjectResolver, dbName: string, defaultDb: DB);
|
|
9
8
|
get isUnsingDB(): boolean;
|
|
10
9
|
get projectsDbLocation(): any;
|
|
11
|
-
useDB(): Promise<Low<DB>>;
|
|
12
10
|
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
var iso = { aar: "aa", abk: "ab", afr: "af", aka: "ak", alb: "sq", amh: "am", ara: "ar", arg: "an", arm: "hy", asm: "as", ava: "av", ave: "ae", aym: "ay", aze: "az", bak: "ba", bam: "bm", baq: "eu", bel: "be", ben: "bn", bih: "bh", bis: "bi", bos: "bs", bre: "br", bul: "bg", bur: "my", cat: "ca", cha: "ch", che: "ce", chi: "zh", chu: "cu", chv: "cv", cor: "kw", cos: "co", cre: "cr", cze: "cs", dan: "da", div: "dv", dut: "nl", dzo: "dz", eng: "en", epo: "eo", est: "et", ewe: "ee", fao: "fo", fij: "fj", fin: "fi", fre: "fr", fry: "fy", ful: "ff", geo: "ka", ger: "de", gla: "gd", gle: "ga", glg: "gl", glv: "gv", gre: "el", grn: "gn", guj: "gu", hat: "ht", hau: "ha", heb: "he", her: "hz", hin: "hi", hmo: "ho", hrv: "hr", hun: "hu", ibo: "ig", ice: "is", ido: "io", iii: "ii", iku: "iu", ile: "ie", ina: "ia", ind: "id", ipk: "ik", ita: "it", jav: "jv", jpn: "ja", kal: "kl", kan: "kn", kas: "ks", kau: "kr", kaz: "kk", khm: "km", kik: "ki", kin: "rw", kir: "ky", kom: "kv", kon: "kg", kor: "ko", kua: "kj", kur: "ku", lao: "lo", lat: "la", lav: "lv", lim: "li", lin: "ln", lit: "lt", ltz: "lb", lub: "lu", lug: "lg", mac: "mk", mah: "mh", mal: "ml", mao: "mi", mar: "mr", may: "ms", mlg: "mg", mlt: "mt", mon: "mn", nau: "na", nav: "nv", nbl: "nr", nde: "nd", ndo: "ng", nep: "ne", nno: "nn", nob: "nb", nor: "no", nya: "ny", oci: "oc", oji: "oj", ori: "or", orm: "om", oss: "os", pan: "pa", per: "fa", pli: "pi", pol: "pl", por: "pt", pus: "ps", que: "qu", roh: "rm", rum: "ro", run: "rn", rus: "ru", sag: "sg", san: "sa", sin: "si", slo: "sk", slv: "sl", sme: "se", smo: "sm", sna: "sn", snd: "sd", som: "so", sot: "st", spa: "es", srd: "sc", srp: "sr", ssw: "ss", sun: "su", swa: "sw", swe: "sv", tah: "ty", tam: "ta", tat: "tt", tel: "te", tgk: "tg", tgl: "tl", tha: "th", tib: "bo", tir: "ti", ton: "to", tsn: "tn", tso: "ts", tuk: "tk", tur: "tr", twi: "tw", uig: "ug", ukr: "uk", urd: "ur", uzb: "uz", ven: "ve", vie: "vi", vol: "vo", wel: "cy", wln: "wa", wol: "wo", xho: "xh", yid: "yi", yor: "yo", zha: "za", zul: "zu" }, names = { afar: "aa", abkhazian: "ab", afrikaans: "af", akan: "ak", albanian: "sq", amharic: "am", arabic: "ar", aragonese: "an", armenian: "hy", assamese: "as", avaric: "av", avestan: "ae", aymara: "ay", azerbaijani: "az", bashkir: "ba", bambara: "bm", basque: "eu", belarusian: "be", bengali: "bn", "bihari languages": "bh", bislama: "bi", tibetan: "bo", bosnian: "bs", breton: "br", bulgarian: "bg", burmese: "my", catalan: "ca", valencian: "ca", czech: "cs", chamorro: "ch", chechen: "ce", chinese: "zh", "church slavic": "cu", "old slavonic": "cu", "church slavonic": "cu", "old bulgarian": "cu", "old church slavonic": "cu", chuvash: "cv", cornish: "kw", corsican: "co", cree: "cr", welsh: "cy", danish: "da", german: "de", divehi: "dv", dhivehi: "dv", maldivian: "dv", dutch: "nl", flemish: "nl", dzongkha: "dz", greek: "el", english: "en", esperanto: "eo", estonian: "et", ewe: "ee", faroese: "fo", persian: "fa", fijian: "fj", finnish: "fi", french: "fr", "western frisian": "fy", fulah: "ff", georgian: "ka", gaelic: "gd", "scottish gaelic": "gd", irish: "ga", galician: "gl", manx: "gv", guarani: "gn", gujarati: "gu", haitian: "ht", "haitian creole": "ht", hausa: "ha", hebrew: "he", herero: "hz", hindi: "hi", "hiri motu": "ho", croatian: "hr", hungarian: "hu", igbo: "ig", icelandic: "is", ido: "io", "sichuan yi": "ii", nuosu: "ii", inuktitut: "iu", interlingue: "ie", occidental: "ie", interlingua: "ia", indonesian: "id", inupiaq: "ik", italian: "it", javanese: "jv", japanese: "ja", kalaallisut: "kl", greenlandic: "kl", kannada: "kn", kashmiri: "ks", kanuri: "kr", kazakh: "kk", "central khmer": "km", kikuyu: "ki", gikuyu: "ki", kinyarwanda: "rw", kirghiz: "ky", kyrgyz: "ky", komi: "kv", kongo: "kg", korean: "ko", kuanyama: "kj", kwanyama: "kj", kurdish: "ku", lao: "lo", latin: "la", latvian: "lv", limburgan: "li", limburger: "li", limburgish: "li", lingala: "ln", lithuanian: "lt", luxembourgish: "lb", letzeburgesch: "lb", "luba-katanga": "lu", ganda: "lg", macedonian: "mk", marshallese: "mh", malayalam: "ml", maori: "mi", marathi: "mr", malay: "ms", malagasy: "mg", maltese: "mt", mongolian: "mn", nauru: "na", navajo: "nv", navaho: "nv", "ndebele, south": "nr", "south ndebele": "nr", "ndebele, north": "nd", "north ndebele": "nd", ndonga: "ng", nepali: "ne", "norwegian nynorsk": "nn", "nynorsk, norwegian": "nn", "norwegian bokmål": "nb", "bokmål, norwegian": "nb", norwegian: "no", chichewa: "ny", chewa: "ny", nyanja: "ny", occitan: "oc", ojibwa: "oj", oriya: "or", oromo: "om", ossetian: "os", ossetic: "os", panjabi: "pa", punjabi: "pa", pali: "pi", polish: "pl", portuguese: "pt", pushto: "ps", pashto: "ps", quechua: "qu", romansh: "rm", romanian: "ro", moldavian: "ro", moldovan: "ro", rundi: "rn", russian: "ru", sango: "sg", sanskrit: "sa", sinhala: "si", sinhalese: "si", slovak: "sk", slovenian: "sl", "northern sami": "se", samoan: "sm", shona: "sn", sindhi: "sd", somali: "so", "sotho, southern": "st", spanish: "es", castilian: "es", sardinian: "sc", serbian: "sr", swati: "ss", sundanese: "su", swahili: "sw", swedish: "sv", tahitian: "ty", tamil: "ta", tatar: "tt", telugu: "te", tajik: "tg", tagalog: "tl", thai: "th", tigrinya: "ti", tonga: "to", tswana: "tn", tsonga: "ts", turkmen: "tk", turkish: "tr", twi: "tw", uighur: "ug", uyghur: "ug", ukrainian: "uk", urdu: "ur", uzbek: "uz", venda: "ve", vietnamese: "vi", "volapük": "vo", walloon: "wa", wolof: "wo", xhosa: "xh", yiddish: "yi", yoruba: "yo", zhuang: "za", chuang: "za", zulu: "zu" };
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const isoKeys = Object.values(iso).sort();
|
|
5
|
-
var languages = e => { if ("string" != typeof e)
|
|
6
|
-
throw new Error('The "language" must be a string, received ' + typeof e); if (e.length > 100)
|
|
7
|
-
throw new Error(`The "language" is too long at ${e.length} characters`); if (e = e.toLowerCase(), e = names[e] || iso[e] || e, !isoKeys.includes(e))
|
|
8
|
-
throw new Error(`The language "${e}" is not part of the ISO 639-1`); return e; };
|
|
9
|
-
function Cache() { var e = Object.create(null); function a(a) { delete e[a]; } this.set = function (n, i, r) { if (void 0 !== r && ("number" != typeof r || isNaN(r) || r <= 0))
|
|
10
|
-
throw new Error("Cache timeout must be a positive number"); var t = e[n]; t && clearTimeout(t.timeout); var o = { value: i, expire: r + Date.now() }; return isNaN(o.expire) || (o.timeout = setTimeout((() => a(n)), r)), e[n] = o, i; }, this.del = function (n) { var i = !0, r = e[n]; return r ? (clearTimeout(r.timeout), !isNaN(r.expire) && r.expire < Date.now() && (i = !1)) : i = !1, i && a(n), i; }, this.clear = function () { for (var a in e)
|
|
11
|
-
clearTimeout(e[a].timeout); e = Object.create(null); }, this.get = function (a) { var n = e[a]; if (void 0 !== n) {
|
|
12
|
-
if (isNaN(n.expire) || n.expire >= Date.now())
|
|
13
|
-
return n.value;
|
|
14
|
-
delete e[a];
|
|
15
|
-
} return null; }; }
|
|
16
|
-
const exp$1 = new Cache;
|
|
17
|
-
exp$1.Cache = Cache;
|
|
18
|
-
const base = "https://translate.googleapis.com/translate_a/single";
|
|
19
|
-
var google = { fetch: ({ key: e, from: a, to: n, text: i }) => [`${base}?client=gtx&sl=${a}&tl=${n}&dt=t&q=${encodeURI(i)}`], parse: e => e.json().then((e => { if (!(e = e && e[0] && e[0][0] && e[0].map((e => e[0])).join("")))
|
|
20
|
-
throw new Error("Translation not found"); return e; })) }, yandex = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://translate.yandex.net/api/v1.5/tr.json/translate?key=${e}&lang=${a}-${n}&text=${encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: e => e.json().then((e => { if (200 !== e.code)
|
|
21
|
-
throw new Error(e.message); return e.text[0]; })) };
|
|
22
|
-
const libreUrl = "https://libretranslate.com/translate";
|
|
23
|
-
var libre = { needkey: !1, fetch: ({ url: e = libreUrl, key: a, from: n, to: i, text: r }) => [e, { method: "POST", body: JSON.stringify({ q: r, source: n, target: i, api_key: a }), headers: { "Content-Type": "application/json" } }], parse: e => e.json().then((e => { if (!e)
|
|
24
|
-
throw new Error("No response found"); if (e.error)
|
|
25
|
-
throw new Error(e.error); if (!e.translatedText)
|
|
26
|
-
throw new Error("No response found"); return e.translatedText; })) }, deepl = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://api${/:fx$/.test(e) ? "-free" : ""}.deepl.com/v2/translate?auth_key=${e}&source_lang=${a}&target_lang=${n}&text=${i = encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: async (e) => { if (!e.ok) {
|
|
27
|
-
if (403 === e.status)
|
|
28
|
-
throw new Error("Auth Error, please review the key for DeepL");
|
|
29
|
-
throw new Error(`Error ${e.status}`);
|
|
30
|
-
} return e.json().then((e => e.translations[0].text)); } }, engines = { google: google, yandex: yandex, libre: libre, deepl: deepl };
|
|
31
|
-
const Translate = function (e = {}) { if (!(this instanceof Translate))
|
|
32
|
-
return new Translate(e); const a = { from: "en", to: "en", cache: void 0, languages: languages, engines: engines, engine: "google", keys: {} }, n = async (e, a = {}) => { "string" == typeof a && (a = { to: a }), a.text = e, a.from = languages(a.from || n.from), a.to = languages(a.to || n.to), a.cache = a.cache || n.cache, a.engines = a.engines || {}, a.engine = a.engine || n.engine, a.url = a.url || n.url, a.id = a.id || `${a.url}:${a.from}:${a.to}:${a.engine}:${a.text}`, a.keys = a.keys || n.keys || {}; for (let e in n.keys)
|
|
33
|
-
a.keys[e] = a.keys[e] || n.keys[e]; a.key = a.key || n.key || a.keys[a.engine]; const i = a.engines[a.engine] || n.engines[a.engine], r = exp$1.get(a.id); if (r)
|
|
34
|
-
return Promise.resolve(r); if (a.to === a.from)
|
|
35
|
-
return Promise.resolve(a.text); if (i.needkey && !a.key)
|
|
36
|
-
throw new Error(`The engine "${a.engine}" needs a key, please provide it`); const t = i.fetch(a); return fetch(...t).then(i.parse).then((e => exp$1.set(a.id, e, a.cache))); }; for (let i in a)
|
|
37
|
-
n[i] = void 0 === e[i] ? a[i] : e[i]; return n; }, exp = new Translate;
|
|
38
|
-
exp.Translate = Translate;
|
|
39
|
-
export const translate = exp;
|
|
40
|
-
;
|
|
41
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/base/translate.ts
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL3RyYW5zbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxhQUFhO0FBQ2IsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzc1SyxhQUFhO0FBQ2IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUFDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxRQUFRLElBQUksT0FBTyxDQUFDO0lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtJQUFFLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtDQUFFLENBQUMsT0FBTyxJQUFJLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUM7QUFBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUFDLE1BQU0sSUFBSSxHQUFHLHFEQUFxRCxDQUFDO0FBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsK0RBQStELENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFBQyxNQUFNLFFBQVEsR0FBRyxzQ0FBc0MsQ0FBQztBQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLG9DQUFvQyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0tBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksU0FBUyxDQUFDO0lBQUUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJO0lBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSTtJQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRztJQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQztJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksU0FBUyxDQUFDO0FBQ2pqSSxHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUksR0FBRyxDQUFDO0FBRTdCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsOERBQThEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8vIEB0cy1pZ25vcmVcbnZhciBpc28gPSB7IGFhcjogXCJhYVwiLCBhYms6IFwiYWJcIiwgYWZyOiBcImFmXCIsIGFrYTogXCJha1wiLCBhbGI6IFwic3FcIiwgYW1oOiBcImFtXCIsIGFyYTogXCJhclwiLCBhcmc6IFwiYW5cIiwgYXJtOiBcImh5XCIsIGFzbTogXCJhc1wiLCBhdmE6IFwiYXZcIiwgYXZlOiBcImFlXCIsIGF5bTogXCJheVwiLCBhemU6IFwiYXpcIiwgYmFrOiBcImJhXCIsIGJhbTogXCJibVwiLCBiYXE6IFwiZXVcIiwgYmVsOiBcImJlXCIsIGJlbjogXCJiblwiLCBiaWg6IFwiYmhcIiwgYmlzOiBcImJpXCIsIGJvczogXCJic1wiLCBicmU6IFwiYnJcIiwgYnVsOiBcImJnXCIsIGJ1cjogXCJteVwiLCBjYXQ6IFwiY2FcIiwgY2hhOiBcImNoXCIsIGNoZTogXCJjZVwiLCBjaGk6IFwiemhcIiwgY2h1OiBcImN1XCIsIGNodjogXCJjdlwiLCBjb3I6IFwia3dcIiwgY29zOiBcImNvXCIsIGNyZTogXCJjclwiLCBjemU6IFwiY3NcIiwgZGFuOiBcImRhXCIsIGRpdjogXCJkdlwiLCBkdXQ6IFwibmxcIiwgZHpvOiBcImR6XCIsIGVuZzogXCJlblwiLCBlcG86IFwiZW9cIiwgZXN0OiBcImV0XCIsIGV3ZTogXCJlZVwiLCBmYW86IFwiZm9cIiwgZmlqOiBcImZqXCIsIGZpbjogXCJmaVwiLCBmcmU6IFwiZnJcIiwgZnJ5OiBcImZ5XCIsIGZ1bDogXCJmZlwiLCBnZW86IFwia2FcIiwgZ2VyOiBcImRlXCIsIGdsYTogXCJnZFwiLCBnbGU6IFwiZ2FcIiwgZ2xnOiBcImdsXCIsIGdsdjogXCJndlwiLCBncmU6IFwiZWxcIiwgZ3JuOiBcImduXCIsIGd1ajogXCJndVwiLCBoYXQ6IFwiaHRcIiwgaGF1OiBcImhhXCIsIGhlYjogXCJoZVwiLCBoZXI6IFwiaHpcIiwgaGluOiBcImhpXCIsIGhtbzogXCJob1wiLCBocnY6IFwiaHJcIiwgaHVuOiBcImh1XCIsIGlibzogXCJpZ1wiLCBpY2U6IFwiaXNcIiwgaWRvOiBcImlvXCIsIGlpaTogXCJpaVwiLCBpa3U6IFwiaXVcIiwgaWxlOiBcImllXCIsIGluYTogXCJpYVwiLCBpbmQ6IFwiaWRcIiwgaXBrOiBcImlrXCIsIGl0YTogXCJpdFwiLCBqYXY6IFwianZcIiwganBuOiBcImphXCIsIGthbDogXCJrbFwiLCBrYW46IFwia25cIiwga2FzOiBcImtzXCIsIGthdTogXCJrclwiLCBrYXo6IFwia2tcIiwga2htOiBcImttXCIsIGtpazogXCJraVwiLCBraW46IFwicndcIiwga2lyOiBcImt5XCIsIGtvbTogXCJrdlwiLCBrb246IFwia2dcIiwga29yOiBcImtvXCIsIGt1YTogXCJralwiLCBrdXI6IFwia3VcIiwgbGFvOiBcImxvXCIsIGxhdDogXCJsYVwiLCBsYXY6IFwibHZcIiwgbGltOiBcImxpXCIsIGxpbjogXCJsblwiLCBsaXQ6IFwibHRcIiwgbHR6OiBcImxiXCIsIGx1YjogXCJsdVwiLCBsdWc6IFwibGdcIiwgbWFjOiBcIm1rXCIsIG1haDogXCJtaFwiLCBtYWw6IFwibWxcIiwgbWFvOiBcIm1pXCIsIG1hcjogXCJtclwiLCBtYXk6IFwibXNcIiwgbWxnOiBcIm1nXCIsIG1sdDogXCJtdFwiLCBtb246IFwibW5cIiwgbmF1OiBcIm5hXCIsIG5hdjogXCJudlwiLCBuYmw6IFwibnJcIiwgbmRlOiBcIm5kXCIsIG5kbzogXCJuZ1wiLCBuZXA6IFwibmVcIiwgbm5vOiBcIm5uXCIsIG5vYjogXCJuYlwiLCBub3I6IFwibm9cIiwgbnlhOiBcIm55XCIsIG9jaTogXCJvY1wiLCBvamk6IFwib2pcIiwgb3JpOiBcIm9yXCIsIG9ybTogXCJvbVwiLCBvc3M6IFwib3NcIiwgcGFuOiBcInBhXCIsIHBlcjogXCJmYVwiLCBwbGk6IFwicGlcIiwgcG9sOiBcInBsXCIsIHBvcjogXCJwdFwiLCBwdXM6IFwicHNcIiwgcXVlOiBcInF1XCIsIHJvaDogXCJybVwiLCBydW06IFwicm9cIiwgcnVuOiBcInJuXCIsIHJ1czogXCJydVwiLCBzYWc6IFwic2dcIiwgc2FuOiBcInNhXCIsIHNpbjogXCJzaVwiLCBzbG86IFwic2tcIiwgc2x2OiBcInNsXCIsIHNtZTogXCJzZVwiLCBzbW86IFwic21cIiwgc25hOiBcInNuXCIsIHNuZDogXCJzZFwiLCBzb206IFwic29cIiwgc290OiBcInN0XCIsIHNwYTogXCJlc1wiLCBzcmQ6IFwic2NcIiwgc3JwOiBcInNyXCIsIHNzdzogXCJzc1wiLCBzdW46IFwic3VcIiwgc3dhOiBcInN3XCIsIHN3ZTogXCJzdlwiLCB0YWg6IFwidHlcIiwgdGFtOiBcInRhXCIsIHRhdDogXCJ0dFwiLCB0ZWw6IFwidGVcIiwgdGdrOiBcInRnXCIsIHRnbDogXCJ0bFwiLCB0aGE6IFwidGhcIiwgdGliOiBcImJvXCIsIHRpcjogXCJ0aVwiLCB0b246IFwidG9cIiwgdHNuOiBcInRuXCIsIHRzbzogXCJ0c1wiLCB0dWs6IFwidGtcIiwgdHVyOiBcInRyXCIsIHR3aTogXCJ0d1wiLCB1aWc6IFwidWdcIiwgdWtyOiBcInVrXCIsIHVyZDogXCJ1clwiLCB1emI6IFwidXpcIiwgdmVuOiBcInZlXCIsIHZpZTogXCJ2aVwiLCB2b2w6IFwidm9cIiwgd2VsOiBcImN5XCIsIHdsbjogXCJ3YVwiLCB3b2w6IFwid29cIiwgeGhvOiBcInhoXCIsIHlpZDogXCJ5aVwiLCB5b3I6IFwieW9cIiwgemhhOiBcInphXCIsIHp1bDogXCJ6dVwiIH0sIG5hbWVzID0geyBhZmFyOiBcImFhXCIsIGFia2hhemlhbjogXCJhYlwiLCBhZnJpa2FhbnM6IFwiYWZcIiwgYWthbjogXCJha1wiLCBhbGJhbmlhbjogXCJzcVwiLCBhbWhhcmljOiBcImFtXCIsIGFyYWJpYzogXCJhclwiLCBhcmFnb25lc2U6IFwiYW5cIiwgYXJtZW5pYW46IFwiaHlcIiwgYXNzYW1lc2U6IFwiYXNcIiwgYXZhcmljOiBcImF2XCIsIGF2ZXN0YW46IFwiYWVcIiwgYXltYXJhOiBcImF5XCIsIGF6ZXJiYWlqYW5pOiBcImF6XCIsIGJhc2hraXI6IFwiYmFcIiwgYmFtYmFyYTogXCJibVwiLCBiYXNxdWU6IFwiZXVcIiwgYmVsYXJ1c2lhbjogXCJiZVwiLCBiZW5nYWxpOiBcImJuXCIsIFwiYmloYXJpIGxhbmd1YWdlc1wiOiBcImJoXCIsIGJpc2xhbWE6IFwiYmlcIiwgdGliZXRhbjogXCJib1wiLCBib3NuaWFuOiBcImJzXCIsIGJyZXRvbjogXCJiclwiLCBidWxnYXJpYW46IFwiYmdcIiwgYnVybWVzZTogXCJteVwiLCBjYXRhbGFuOiBcImNhXCIsIHZhbGVuY2lhbjogXCJjYVwiLCBjemVjaDogXCJjc1wiLCBjaGFtb3JybzogXCJjaFwiLCBjaGVjaGVuOiBcImNlXCIsIGNoaW5lc2U6IFwiemhcIiwgXCJjaHVyY2ggc2xhdmljXCI6IFwiY3VcIiwgXCJvbGQgc2xhdm9uaWNcIjogXCJjdVwiLCBcImNodXJjaCBzbGF2b25pY1wiOiBcImN1XCIsIFwib2xkIGJ1bGdhcmlhblwiOiBcImN1XCIsIFwib2xkIGNodXJjaCBzbGF2b25pY1wiOiBcImN1XCIsIGNodXZhc2g6IFwiY3ZcIiwgY29ybmlzaDogXCJrd1wiLCBjb3JzaWNhbjogXCJjb1wiLCBjcmVlOiBcImNyXCIsIHdlbHNoOiBcImN5XCIsIGRhbmlzaDogXCJkYVwiLCBnZXJtYW46IFwiZGVcIiwgZGl2ZWhpOiBcImR2XCIsIGRoaXZlaGk6IFwiZHZcIiwgbWFsZGl2aWFuOiBcImR2XCIsIGR1dGNoOiBcIm5sXCIsIGZsZW1pc2g6IFwibmxcIiwgZHpvbmdraGE6IFwiZHpcIiwgZ3JlZWs6IFwiZWxcIiwgZW5nbGlzaDogXCJlblwiLCBlc3BlcmFudG86IFwiZW9cIiwgZXN0b25pYW46IFwiZXRcIiwgZXdlOiBcImVlXCIsIGZhcm9lc2U6IFwiZm9cIiwgcGVyc2lhbjogXCJmYVwiLCBmaWppYW46IFwiZmpcIiwgZmlubmlzaDogXCJmaVwiLCBmcmVuY2g6IFwiZnJcIiwgXCJ3ZXN0ZXJuIGZyaXNpYW5cIjogXCJmeVwiLCBmdWxhaDogXCJmZlwiLCBnZW9yZ2lhbjogXCJrYVwiLCBnYWVsaWM6IFwiZ2RcIiwgXCJzY290dGlzaCBnYWVsaWNcIjogXCJnZFwiLCBpcmlzaDogXCJnYVwiLCBnYWxpY2lhbjogXCJnbFwiLCBtYW54OiBcImd2XCIsIGd1YXJhbmk6IFwiZ25cIiwgZ3VqYXJhdGk6IFwiZ3VcIiwgaGFpdGlhbjogXCJodFwiLCBcImhhaXRpYW4gY3Jlb2xlXCI6IFwiaHRcIiwgaGF1c2E6IFwiaGFcIiwgaGVicmV3OiBcImhlXCIsIGhlcmVybzogXCJoelwiLCBoaW5kaTogXCJoaVwiLCBcImhpcmkgbW90dVwiOiBcImhvXCIsIGNyb2F0aWFuOiBcImhyXCIsIGh1bmdhcmlhbjogXCJodVwiLCBpZ2JvOiBcImlnXCIsIGljZWxhbmRpYzogXCJpc1wiLCBpZG86IFwiaW9cIiwgXCJzaWNodWFuIHlpXCI6IFwiaWlcIiwgbnVvc3U6IFwiaWlcIiwgaW51a3RpdHV0OiBcIml1XCIsIGludGVybGluZ3VlOiBcImllXCIsIG9jY2lkZW50YWw6IFwiaWVcIiwgaW50ZXJsaW5ndWE6IFwiaWFcIiwgaW5kb25lc2lhbjogXCJpZFwiLCBpbnVwaWFxOiBcImlrXCIsIGl0YWxpYW46IFwiaXRcIiwgamF2YW5lc2U6IFwianZcIiwgamFwYW5lc2U6IFwiamFcIiwga2FsYWFsbGlzdXQ6IFwia2xcIiwgZ3JlZW5sYW5kaWM6IFwia2xcIiwga2FubmFkYTogXCJrblwiLCBrYXNobWlyaTogXCJrc1wiLCBrYW51cmk6IFwia3JcIiwga2F6YWtoOiBcImtrXCIsIFwiY2VudHJhbCBraG1lclwiOiBcImttXCIsIGtpa3V5dTogXCJraVwiLCBnaWt1eXU6IFwia2lcIiwga2lueWFyd2FuZGE6IFwicndcIiwga2lyZ2hpejogXCJreVwiLCBreXJneXo6IFwia3lcIiwga29taTogXCJrdlwiLCBrb25nbzogXCJrZ1wiLCBrb3JlYW46IFwia29cIiwga3VhbnlhbWE6IFwia2pcIiwga3dhbnlhbWE6IFwia2pcIiwga3VyZGlzaDogXCJrdVwiLCBsYW86IFwibG9cIiwgbGF0aW46IFwibGFcIiwgbGF0dmlhbjogXCJsdlwiLCBsaW1idXJnYW46IFwibGlcIiwgbGltYnVyZ2VyOiBcImxpXCIsIGxpbWJ1cmdpc2g6IFwibGlcIiwgbGluZ2FsYTogXCJsblwiLCBsaXRodWFuaWFuOiBcImx0XCIsIGx1eGVtYm91cmdpc2g6IFwibGJcIiwgbGV0emVidXJnZXNjaDogXCJsYlwiLCBcImx1YmEta2F0YW5nYVwiOiBcImx1XCIsIGdhbmRhOiBcImxnXCIsIG1hY2Vkb25pYW46IFwibWtcIiwgbWFyc2hhbGxlc2U6IFwibWhcIiwgbWFsYXlhbGFtOiBcIm1sXCIsIG1hb3JpOiBcIm1pXCIsIG1hcmF0aGk6IFwibXJcIiwgbWFsYXk6IFwibXNcIiwgbWFsYWdhc3k6IFwibWdcIiwgbWFsdGVzZTogXCJtdFwiLCBtb25nb2xpYW46IFwibW5cIiwgbmF1cnU6IFwibmFcIiwgbmF2YWpvOiBcIm52XCIsIG5hdmFobzogXCJudlwiLCBcIm5kZWJlbGUsIHNvdXRoXCI6IFwibnJcIiwgXCJzb3V0aCBuZGViZWxlXCI6IFwibnJcIiwgXCJuZGViZWxlLCBub3J0aFwiOiBcIm5kXCIsIFwibm9ydGggbmRlYmVsZVwiOiBcIm5kXCIsIG5kb25nYTogXCJuZ1wiLCBuZXBhbGk6IFwibmVcIiwgXCJub3J3ZWdpYW4gbnlub3Jza1wiOiBcIm5uXCIsIFwibnlub3Jzaywgbm9yd2VnaWFuXCI6IFwibm5cIiwgXCJub3J3ZWdpYW4gYm9rbcOlbFwiOiBcIm5iXCIsIFwiYm9rbcOlbCwgbm9yd2VnaWFuXCI6IFwibmJcIiwgbm9yd2VnaWFuOiBcIm5vXCIsIGNoaWNoZXdhOiBcIm55XCIsIGNoZXdhOiBcIm55XCIsIG55YW5qYTogXCJueVwiLCBvY2NpdGFuOiBcIm9jXCIsIG9qaWJ3YTogXCJvalwiLCBvcml5YTogXCJvclwiLCBvcm9tbzogXCJvbVwiLCBvc3NldGlhbjogXCJvc1wiLCBvc3NldGljOiBcIm9zXCIsIHBhbmphYmk6IFwicGFcIiwgcHVuamFiaTogXCJwYVwiLCBwYWxpOiBcInBpXCIsIHBvbGlzaDogXCJwbFwiLCBwb3J0dWd1ZXNlOiBcInB0XCIsIHB1c2h0bzogXCJwc1wiLCBwYXNodG86IFwicHNcIiwgcXVlY2h1YTogXCJxdVwiLCByb21hbnNoOiBcInJtXCIsIHJvbWFuaWFuOiBcInJvXCIsIG1vbGRhdmlhbjogXCJyb1wiLCBtb2xkb3ZhbjogXCJyb1wiLCBydW5kaTogXCJyblwiLCBydXNzaWFuOiBcInJ1XCIsIHNhbmdvOiBcInNnXCIsIHNhbnNrcml0OiBcInNhXCIsIHNpbmhhbGE6IFwic2lcIiwgc2luaGFsZXNlOiBcInNpXCIsIHNsb3ZhazogXCJza1wiLCBzbG92ZW5pYW46IFwic2xcIiwgXCJub3J0aGVybiBzYW1pXCI6IFwic2VcIiwgc2Ftb2FuOiBcInNtXCIsIHNob25hOiBcInNuXCIsIHNpbmRoaTogXCJzZFwiLCBzb21hbGk6IFwic29cIiwgXCJzb3Robywgc291dGhlcm5cIjogXCJzdFwiLCBzcGFuaXNoOiBcImVzXCIsIGNhc3RpbGlhbjogXCJlc1wiLCBzYXJkaW5pYW46IFwic2NcIiwgc2VyYmlhbjogXCJzclwiLCBzd2F0aTogXCJzc1wiLCBzdW5kYW5lc2U6IFwic3VcIiwgc3dhaGlsaTogXCJzd1wiLCBzd2VkaXNoOiBcInN2XCIsIHRhaGl0aWFuOiBcInR5XCIsIHRhbWlsOiBcInRhXCIsIHRhdGFyOiBcInR0XCIsIHRlbHVndTogXCJ0ZVwiLCB0YWppazogXCJ0Z1wiLCB0YWdhbG9nOiBcInRsXCIsIHRoYWk6IFwidGhcIiwgdGlncmlueWE6IFwidGlcIiwgdG9uZ2E6IFwidG9cIiwgdHN3YW5hOiBcInRuXCIsIHRzb25nYTogXCJ0c1wiLCB0dXJrbWVuOiBcInRrXCIsIHR1cmtpc2g6IFwidHJcIiwgdHdpOiBcInR3XCIsIHVpZ2h1cjogXCJ1Z1wiLCB1eWdodXI6IFwidWdcIiwgdWtyYWluaWFuOiBcInVrXCIsIHVyZHU6IFwidXJcIiwgdXpiZWs6IFwidXpcIiwgdmVuZGE6IFwidmVcIiwgdmlldG5hbWVzZTogXCJ2aVwiLCBcInZvbGFww7xrXCI6IFwidm9cIiwgd2FsbG9vbjogXCJ3YVwiLCB3b2xvZjogXCJ3b1wiLCB4aG9zYTogXCJ4aFwiLCB5aWRkaXNoOiBcInlpXCIsIHlvcnViYTogXCJ5b1wiLCB6aHVhbmc6IFwiemFcIiwgY2h1YW5nOiBcInphXCIsIHp1bHU6IFwienVcIiB9O1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgaXNvS2V5cyA9IE9iamVjdC52YWx1ZXMoaXNvKS5zb3J0KCk7IHZhciBsYW5ndWFnZXMgPSBlID0+IHsgaWYgKFwic3RyaW5nXCIgIT0gdHlwZW9mIGUpIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFuZ3VhZ2VcIiBtdXN0IGJlIGEgc3RyaW5nLCByZWNlaXZlZCAnICsgdHlwZW9mIGUpOyBpZiAoZS5sZW5ndGggPiAxMDApIHRocm93IG5ldyBFcnJvcihgVGhlIFwibGFuZ3VhZ2VcIiBpcyB0b28gbG9uZyBhdCAke2UubGVuZ3RofSBjaGFyYWN0ZXJzYCk7IGlmIChlID0gZS50b0xvd2VyQ2FzZSgpLCBlID0gbmFtZXNbZV0gfHwgaXNvW2VdIHx8IGUsICFpc29LZXlzLmluY2x1ZGVzKGUpKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBsYW5ndWFnZSBcIiR7ZX1cIiBpcyBub3QgcGFydCBvZiB0aGUgSVNPIDYzOS0xYCk7IHJldHVybiBlIH07IGZ1bmN0aW9uIENhY2hlKCkgeyB2YXIgZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7IGZ1bmN0aW9uIGEoYSkgeyBkZWxldGUgZVthXSB9IHRoaXMuc2V0ID0gZnVuY3Rpb24gKG4sIGksIHIpIHsgaWYgKHZvaWQgMCAhPT0gciAmJiAoXCJudW1iZXJcIiAhPSB0eXBlb2YgciB8fCBpc05hTihyKSB8fCByIDw9IDApKSB0aHJvdyBuZXcgRXJyb3IoXCJDYWNoZSB0aW1lb3V0IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXJcIik7IHZhciB0ID0gZVtuXTsgdCAmJiBjbGVhclRpbWVvdXQodC50aW1lb3V0KTsgdmFyIG8gPSB7IHZhbHVlOiBpLCBleHBpcmU6IHIgKyBEYXRlLm5vdygpIH07IHJldHVybiBpc05hTihvLmV4cGlyZSkgfHwgKG8udGltZW91dCA9IHNldFRpbWVvdXQoKCgpID0+IGEobikpLCByKSksIGVbbl0gPSBvLCBpIH0sIHRoaXMuZGVsID0gZnVuY3Rpb24gKG4pIHsgdmFyIGkgPSAhMCwgciA9IGVbbl07IHJldHVybiByID8gKGNsZWFyVGltZW91dChyLnRpbWVvdXQpLCAhaXNOYU4oci5leHBpcmUpICYmIHIuZXhwaXJlIDwgRGF0ZS5ub3coKSAmJiAoaSA9ICExKSkgOiBpID0gITEsIGkgJiYgYShuKSwgaSB9LCB0aGlzLmNsZWFyID0gZnVuY3Rpb24gKCkgeyBmb3IgKHZhciBhIGluIGUpIGNsZWFyVGltZW91dChlW2FdLnRpbWVvdXQpOyBlID0gT2JqZWN0LmNyZWF0ZShudWxsKSB9LCB0aGlzLmdldCA9IGZ1bmN0aW9uIChhKSB7IHZhciBuID0gZVthXTsgaWYgKHZvaWQgMCAhPT0gbikgeyBpZiAoaXNOYU4obi5leHBpcmUpIHx8IG4uZXhwaXJlID49IERhdGUubm93KCkpIHJldHVybiBuLnZhbHVlOyBkZWxldGUgZVthXSB9IHJldHVybiBudWxsIH0gfSBjb25zdCBleHAkMSA9IG5ldyBDYWNoZTsgZXhwJDEuQ2FjaGUgPSBDYWNoZTsgY29uc3QgYmFzZSA9IFwiaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vdHJhbnNsYXRlX2Evc2luZ2xlXCI7IHZhciBnb29nbGUgPSB7IGZldGNoOiAoeyBrZXk6IGUsIGZyb206IGEsIHRvOiBuLCB0ZXh0OiBpIH0pID0+IFtgJHtiYXNlfT9jbGllbnQ9Z3R4JnNsPSR7YX0mdGw9JHtufSZkdD10JnE9JHtlbmNvZGVVUkkoaSl9YF0sIHBhcnNlOiBlID0+IGUuanNvbigpLnRoZW4oKGUgPT4geyBpZiAoIShlID0gZSAmJiBlWzBdICYmIGVbMF1bMF0gJiYgZVswXS5tYXAoKGUgPT4gZVswXSkpLmpvaW4oXCJcIikpKSB0aHJvdyBuZXcgRXJyb3IoXCJUcmFuc2xhdGlvbiBub3QgZm91bmRcIik7IHJldHVybiBlIH0pKSB9LCB5YW5kZXggPSB7IG5lZWRrZXk6ICEwLCBmZXRjaDogKHsga2V5OiBlLCBmcm9tOiBhLCB0bzogbiwgdGV4dDogaSB9KSA9PiBbYGh0dHBzOi8vdHJhbnNsYXRlLnlhbmRleC5uZXQvYXBpL3YxLjUvdHIuanNvbi90cmFuc2xhdGU/a2V5PSR7ZX0mbGFuZz0ke2F9LSR7bn0mdGV4dD0ke2VuY29kZVVSSUNvbXBvbmVudChpKX1gLCB7IG1ldGhvZDogXCJQT1NUXCIsIGJvZHk6IFwiXCIgfV0sIHBhcnNlOiBlID0+IGUuanNvbigpLnRoZW4oKGUgPT4geyBpZiAoMjAwICE9PSBlLmNvZGUpIHRocm93IG5ldyBFcnJvcihlLm1lc3NhZ2UpOyByZXR1cm4gZS50ZXh0WzBdIH0pKSB9OyBjb25zdCBsaWJyZVVybCA9IFwiaHR0cHM6Ly9saWJyZXRyYW5zbGF0ZS5jb20vdHJhbnNsYXRlXCI7IHZhciBsaWJyZSA9IHsgbmVlZGtleTogITEsIGZldGNoOiAoeyB1cmw6IGUgPSBsaWJyZVVybCwga2V5OiBhLCBmcm9tOiBuLCB0bzogaSwgdGV4dDogciB9KSA9PiBbZSwgeyBtZXRob2Q6IFwiUE9TVFwiLCBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHE6IHIsIHNvdXJjZTogbiwgdGFyZ2V0OiBpLCBhcGlfa2V5OiBhIH0pLCBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfV0sIHBhcnNlOiBlID0+IGUuanNvbigpLnRoZW4oKGUgPT4geyBpZiAoIWUpIHRocm93IG5ldyBFcnJvcihcIk5vIHJlc3BvbnNlIGZvdW5kXCIpOyBpZiAoZS5lcnJvcikgdGhyb3cgbmV3IEVycm9yKGUuZXJyb3IpOyBpZiAoIWUudHJhbnNsYXRlZFRleHQpIHRocm93IG5ldyBFcnJvcihcIk5vIHJlc3BvbnNlIGZvdW5kXCIpOyByZXR1cm4gZS50cmFuc2xhdGVkVGV4dCB9KSkgfSwgZGVlcGwgPSB7IG5lZWRrZXk6ICEwLCBmZXRjaDogKHsga2V5OiBlLCBmcm9tOiBhLCB0bzogbiwgdGV4dDogaSB9KSA9PiBbYGh0dHBzOi8vYXBpJHsvOmZ4JC8udGVzdChlKSA/IFwiLWZyZWVcIiA6IFwiXCJ9LmRlZXBsLmNvbS92Mi90cmFuc2xhdGU/YXV0aF9rZXk9JHtlfSZzb3VyY2VfbGFuZz0ke2F9JnRhcmdldF9sYW5nPSR7bn0mdGV4dD0ke2kgPSBlbmNvZGVVUklDb21wb25lbnQoaSl9YCwgeyBtZXRob2Q6IFwiUE9TVFwiLCBib2R5OiBcIlwiIH1dLCBwYXJzZTogYXN5bmMgZSA9PiB7IGlmICghZS5vaykgeyBpZiAoNDAzID09PSBlLnN0YXR1cykgdGhyb3cgbmV3IEVycm9yKFwiQXV0aCBFcnJvciwgcGxlYXNlIHJldmlldyB0aGUga2V5IGZvciBEZWVwTFwiKTsgdGhyb3cgbmV3IEVycm9yKGBFcnJvciAke2Uuc3RhdHVzfWApIH0gcmV0dXJuIGUuanNvbigpLnRoZW4oKGUgPT4gZS50cmFuc2xhdGlvbnNbMF0udGV4dCkpIH0gfSwgZW5naW5lcyA9IHsgZ29vZ2xlOiBnb29nbGUsIHlhbmRleDogeWFuZGV4LCBsaWJyZTogbGlicmUsIGRlZXBsOiBkZWVwbCB9OyBjb25zdCBUcmFuc2xhdGUgPSBmdW5jdGlvbiAoZSA9IHt9KSB7IGlmICghKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2xhdGUpKSByZXR1cm4gbmV3IFRyYW5zbGF0ZShlKTsgY29uc3QgYSA9IHsgZnJvbTogXCJlblwiLCB0bzogXCJlblwiLCBjYWNoZTogdm9pZCAwLCBsYW5ndWFnZXM6IGxhbmd1YWdlcywgZW5naW5lczogZW5naW5lcywgZW5naW5lOiBcImdvb2dsZVwiLCBrZXlzOiB7fSB9LCBuID0gYXN5bmMgKGUsIGEgPSB7fSkgPT4geyBcInN0cmluZ1wiID09IHR5cGVvZiBhICYmIChhID0geyB0bzogYSB9KSwgYS50ZXh0ID0gZSwgYS5mcm9tID0gbGFuZ3VhZ2VzKGEuZnJvbSB8fCBuLmZyb20pLCBhLnRvID0gbGFuZ3VhZ2VzKGEudG8gfHwgbi50byksIGEuY2FjaGUgPSBhLmNhY2hlIHx8IG4uY2FjaGUsIGEuZW5naW5lcyA9IGEuZW5naW5lcyB8fCB7fSwgYS5lbmdpbmUgPSBhLmVuZ2luZSB8fCBuLmVuZ2luZSwgYS51cmwgPSBhLnVybCB8fCBuLnVybCwgYS5pZCA9IGEuaWQgfHwgYCR7YS51cmx9OiR7YS5mcm9tfToke2EudG99OiR7YS5lbmdpbmV9OiR7YS50ZXh0fWAsIGEua2V5cyA9IGEua2V5cyB8fCBuLmtleXMgfHwge307IGZvciAobGV0IGUgaW4gbi5rZXlzKSBhLmtleXNbZV0gPSBhLmtleXNbZV0gfHwgbi5rZXlzW2VdOyBhLmtleSA9IGEua2V5IHx8IG4ua2V5IHx8IGEua2V5c1thLmVuZ2luZV07IGNvbnN0IGkgPSBhLmVuZ2luZXNbYS5lbmdpbmVdIHx8IG4uZW5naW5lc1thLmVuZ2luZV0sIHIgPSBleHAkMS5nZXQoYS5pZCk7IGlmIChyKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHIpOyBpZiAoYS50byA9PT0gYS5mcm9tKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEudGV4dCk7IGlmIChpLm5lZWRrZXkgJiYgIWEua2V5KSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBlbmdpbmUgXCIke2EuZW5naW5lfVwiIG5lZWRzIGEga2V5LCBwbGVhc2UgcHJvdmlkZSBpdGApOyBjb25zdCB0ID0gaS5mZXRjaChhKTsgcmV0dXJuIGZldGNoKC4uLnQpLnRoZW4oaS5wYXJzZSkudGhlbigoZSA9PiBleHAkMS5zZXQoYS5pZCwgZSwgYS5jYWNoZSkpKSB9OyBmb3IgKGxldCBpIGluIGEpIG5baV0gPSB2b2lkIDAgPT09IGVbaV0gPyBhW2ldIDogZVtpXTsgcmV0dXJuIG4gfSwgZXhwID0gbmV3IFRyYW5zbGF0ZTtcbmV4cC5UcmFuc2xhdGUgPSBUcmFuc2xhdGU7XG5leHBvcnQgY29uc3QgdHJhbnNsYXRlICA9IGV4cDtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL3RyYW5zbGF0ZS50cyJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export class Memory {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.__data = null;
|
|
4
|
-
}
|
|
5
|
-
read() {
|
|
6
|
-
return Promise.resolve(this.__data);
|
|
7
|
-
}
|
|
8
|
-
write(obj) {
|
|
9
|
-
this.__data = obj;
|
|
10
|
-
return Promise.resolve();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class MemorySync {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.__data = null;
|
|
16
|
-
}
|
|
17
|
-
read() {
|
|
18
|
-
return this.__data || null;
|
|
19
|
-
}
|
|
20
|
-
write(obj) {
|
|
21
|
-
this.__data = obj;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
;
|
|
25
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/adapters/Memory.ts
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9hZGFwdGVycy9NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLE1BQU07SUFBbkI7UUFDRSxXQUFNLEdBQWEsSUFBSSxDQUFBO0lBVXpCLENBQUM7SUFSQyxJQUFJO1FBQ0YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQU07UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNFLFdBQU0sR0FBYSxJQUFJLENBQUE7SUFTekIsQ0FBQztJQVBDLElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBTTtRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFBO0lBQ25CLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUVBQXFFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFkYXB0ZXIsIFN5bmNBZGFwdGVyIH0gZnJvbSAnLi4vY29yZS9Mb3cnXG5cbmV4cG9ydCBjbGFzcyBNZW1vcnk8VD4gaW1wbGVtZW50cyBBZGFwdGVyPFQ+IHtcbiAgX19kYXRhOiBUIHwgbnVsbCA9IG51bGxcblxuICByZWFkKCk6IFByb21pc2U8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX19kYXRhKVxuICB9XG5cbiAgd3JpdGUob2JqOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fX2RhdGEgPSBvYmpcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVtb3J5U3luYzxUPiBpbXBsZW1lbnRzIFN5bmNBZGFwdGVyPFQ+IHtcbiAgX19kYXRhOiBUIHwgbnVsbCA9IG51bGxcblxuICByZWFkKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fX2RhdGEgfHwgbnVsbFxuICB9XG5cbiAgd3JpdGUob2JqOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fX2RhdGEgPSBvYmpcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2xvd2RiL2FkYXB0ZXJzL01lbW9yeS50cyJdfQ==
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
function checkArgs(adapter, defaultData) {
|
|
2
|
-
if (adapter === undefined)
|
|
3
|
-
throw new Error('lowdb: missing adapter');
|
|
4
|
-
if (defaultData === undefined)
|
|
5
|
-
throw new Error('lowdb: missing default data');
|
|
6
|
-
}
|
|
7
|
-
export class Low {
|
|
8
|
-
constructor(adapter, defaultData) {
|
|
9
|
-
checkArgs(adapter, defaultData);
|
|
10
|
-
this.adapter = adapter;
|
|
11
|
-
this.data = defaultData;
|
|
12
|
-
}
|
|
13
|
-
async read() {
|
|
14
|
-
const data = await this.adapter.read();
|
|
15
|
-
if (data)
|
|
16
|
-
this.data = data;
|
|
17
|
-
}
|
|
18
|
-
async write() {
|
|
19
|
-
if (this.data)
|
|
20
|
-
await this.adapter.write(this.data);
|
|
21
|
-
}
|
|
22
|
-
async update(fn) {
|
|
23
|
-
fn(this.data);
|
|
24
|
-
await this.write();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class LowSync {
|
|
28
|
-
constructor(adapter, defaultData) {
|
|
29
|
-
checkArgs(adapter, defaultData);
|
|
30
|
-
this.adapter = adapter;
|
|
31
|
-
this.data = defaultData;
|
|
32
|
-
}
|
|
33
|
-
read() {
|
|
34
|
-
const data = this.adapter.read();
|
|
35
|
-
if (data)
|
|
36
|
-
this.data = data;
|
|
37
|
-
}
|
|
38
|
-
write() {
|
|
39
|
-
if (this.data)
|
|
40
|
-
this.adapter.write(this.data);
|
|
41
|
-
}
|
|
42
|
-
update(fn) {
|
|
43
|
-
fn(this.data);
|
|
44
|
-
this.write();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
;
|
|
48
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/core/Low.ts
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9jb3JlL0xvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxTQUFTLFNBQVMsQ0FBQyxPQUFnQixFQUFFLFdBQW9CO0lBQ3ZELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDcEUsSUFBSSxXQUFXLEtBQUssU0FBUztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtBQUMvRSxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUc7SUFJZCxZQUFZLE9BQW1CLEVBQUUsV0FBYztRQUM3QyxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBd0I7UUFDbkMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3BCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksT0FBdUIsRUFBRSxXQUFjO1FBQ2pELFNBQVMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUE7SUFDekIsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2hDLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQXdCO1FBQzdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZCxDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhEQUE4RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXI8VD4ge1xuICByZWFkOiAoKSA9PiBQcm9taXNlPFQgfCBudWxsPlxuICB3cml0ZTogKGRhdGE6IFQpID0+IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTeW5jQWRhcHRlcjxUPiB7XG4gIHJlYWQ6ICgpID0+IFQgfCBudWxsXG4gIHdyaXRlOiAoZGF0YTogVCkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBjaGVja0FyZ3MoYWRhcHRlcjogdW5rbm93biwgZGVmYXVsdERhdGE6IHVua25vd24pIHtcbiAgaWYgKGFkYXB0ZXIgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdsb3dkYjogbWlzc2luZyBhZGFwdGVyJylcbiAgaWYgKGRlZmF1bHREYXRhID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcignbG93ZGI6IG1pc3NpbmcgZGVmYXVsdCBkYXRhJylcbn1cblxuZXhwb3J0IGNsYXNzIExvdzxUID0gdW5rbm93bj4ge1xuICBhZGFwdGVyOiBBZGFwdGVyPFQ+XG4gIGRhdGE6IFRcblxuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBBZGFwdGVyPFQ+LCBkZWZhdWx0RGF0YTogVCkge1xuICAgIGNoZWNrQXJncyhhZGFwdGVyLCBkZWZhdWx0RGF0YSlcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyXG4gICAgdGhpcy5kYXRhID0gZGVmYXVsdERhdGFcbiAgfVxuXG4gIGFzeW5jIHJlYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5yZWFkKClcbiAgICBpZiAoZGF0YSkgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgYXN5bmMgd3JpdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZGF0YSkgYXdhaXQgdGhpcy5hZGFwdGVyLndyaXRlKHRoaXMuZGF0YSlcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShmbjogKGRhdGE6IFQpID0+IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmbih0aGlzLmRhdGEpXG4gICAgYXdhaXQgdGhpcy53cml0ZSgpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvd1N5bmM8VCA9IHVua25vd24+IHtcbiAgYWRhcHRlcjogU3luY0FkYXB0ZXI8VD5cbiAgZGF0YTogVFxuXG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI6IFN5bmNBZGFwdGVyPFQ+LCBkZWZhdWx0RGF0YTogVCkge1xuICAgIGNoZWNrQXJncyhhZGFwdGVyLCBkZWZhdWx0RGF0YSlcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyXG4gICAgdGhpcy5kYXRhID0gZGVmYXVsdERhdGFcbiAgfVxuXG4gIHJlYWQoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuYWRhcHRlci5yZWFkKClcbiAgICBpZiAoZGF0YSkgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgd3JpdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSkgdGhpcy5hZGFwdGVyLndyaXRlKHRoaXMuZGF0YSlcbiAgfVxuXG4gIHVwZGF0ZShmbjogKGRhdGE6IFQpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICBmbih0aGlzLmRhdGEpXG4gICAgdGhpcy53cml0ZSgpXG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9sb3dkYi9jb3JlL0xvdy50cyJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './adapters/Memory';
|
|
2
|
-
export * from './core/Low';
|
|
3
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/index.ts
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2xvd2RiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxZQUFZLENBRXhCO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJEQUEyRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJzL01lbW9yeSdcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9Mb3cnXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbG93ZGIvaW5kZXgudHMiXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import { Adapter, SyncAdapter } from '../core/Low';
|
|
3
|
-
export declare class Memory<T> implements Adapter<T> {
|
|
4
|
-
__data: T | null;
|
|
5
|
-
read(): Promise<T | null>;
|
|
6
|
-
write(obj: T): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export declare class MemorySync<T> implements SyncAdapter<T> {
|
|
9
|
-
__data: T | null;
|
|
10
|
-
read(): T | null;
|
|
11
|
-
write(obj: T): void;
|
|
12
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
export interface Adapter<T> {
|
|
3
|
-
read: () => Promise<T | null>;
|
|
4
|
-
write: (data: T) => Promise<void>;
|
|
5
|
-
}
|
|
6
|
-
export interface SyncAdapter<T> {
|
|
7
|
-
read: () => T | null;
|
|
8
|
-
write: (data: T) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare class Low<T = unknown> {
|
|
11
|
-
adapter: Adapter<T>;
|
|
12
|
-
data: T;
|
|
13
|
-
constructor(adapter: Adapter<T>, defaultData: T);
|
|
14
|
-
read(): Promise<void>;
|
|
15
|
-
write(): Promise<void>;
|
|
16
|
-
update(fn: (data: T) => unknown): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
export declare class LowSync<T = unknown> {
|
|
19
|
-
adapter: SyncAdapter<T>;
|
|
20
|
-
data: T;
|
|
21
|
-
constructor(adapter: SyncAdapter<T>, defaultData: T);
|
|
22
|
-
read(): void;
|
|
23
|
-
write(): void;
|
|
24
|
-
update(fn: (data: T) => unknown): void;
|
|
25
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
var iso = { aar: "aa", abk: "ab", afr: "af", aka: "ak", alb: "sq", amh: "am", ara: "ar", arg: "an", arm: "hy", asm: "as", ava: "av", ave: "ae", aym: "ay", aze: "az", bak: "ba", bam: "bm", baq: "eu", bel: "be", ben: "bn", bih: "bh", bis: "bi", bos: "bs", bre: "br", bul: "bg", bur: "my", cat: "ca", cha: "ch", che: "ce", chi: "zh", chu: "cu", chv: "cv", cor: "kw", cos: "co", cre: "cr", cze: "cs", dan: "da", div: "dv", dut: "nl", dzo: "dz", eng: "en", epo: "eo", est: "et", ewe: "ee", fao: "fo", fij: "fj", fin: "fi", fre: "fr", fry: "fy", ful: "ff", geo: "ka", ger: "de", gla: "gd", gle: "ga", glg: "gl", glv: "gv", gre: "el", grn: "gn", guj: "gu", hat: "ht", hau: "ha", heb: "he", her: "hz", hin: "hi", hmo: "ho", hrv: "hr", hun: "hu", ibo: "ig", ice: "is", ido: "io", iii: "ii", iku: "iu", ile: "ie", ina: "ia", ind: "id", ipk: "ik", ita: "it", jav: "jv", jpn: "ja", kal: "kl", kan: "kn", kas: "ks", kau: "kr", kaz: "kk", khm: "km", kik: "ki", kin: "rw", kir: "ky", kom: "kv", kon: "kg", kor: "ko", kua: "kj", kur: "ku", lao: "lo", lat: "la", lav: "lv", lim: "li", lin: "ln", lit: "lt", ltz: "lb", lub: "lu", lug: "lg", mac: "mk", mah: "mh", mal: "ml", mao: "mi", mar: "mr", may: "ms", mlg: "mg", mlt: "mt", mon: "mn", nau: "na", nav: "nv", nbl: "nr", nde: "nd", ndo: "ng", nep: "ne", nno: "nn", nob: "nb", nor: "no", nya: "ny", oci: "oc", oji: "oj", ori: "or", orm: "om", oss: "os", pan: "pa", per: "fa", pli: "pi", pol: "pl", por: "pt", pus: "ps", que: "qu", roh: "rm", rum: "ro", run: "rn", rus: "ru", sag: "sg", san: "sa", sin: "si", slo: "sk", slv: "sl", sme: "se", smo: "sm", sna: "sn", snd: "sd", som: "so", sot: "st", spa: "es", srd: "sc", srp: "sr", ssw: "ss", sun: "su", swa: "sw", swe: "sv", tah: "ty", tam: "ta", tat: "tt", tel: "te", tgk: "tg", tgl: "tl", tha: "th", tib: "bo", tir: "ti", ton: "to", tsn: "tn", tso: "ts", tuk: "tk", tur: "tr", twi: "tw", uig: "ug", ukr: "uk", urd: "ur", uzb: "uz", ven: "ve", vie: "vi", vol: "vo", wel: "cy", wln: "wa", wol: "wo", xho: "xh", yid: "yi", yor: "yo", zha: "za", zul: "zu" }, names = { afar: "aa", abkhazian: "ab", afrikaans: "af", akan: "ak", albanian: "sq", amharic: "am", arabic: "ar", aragonese: "an", armenian: "hy", assamese: "as", avaric: "av", avestan: "ae", aymara: "ay", azerbaijani: "az", bashkir: "ba", bambara: "bm", basque: "eu", belarusian: "be", bengali: "bn", "bihari languages": "bh", bislama: "bi", tibetan: "bo", bosnian: "bs", breton: "br", bulgarian: "bg", burmese: "my", catalan: "ca", valencian: "ca", czech: "cs", chamorro: "ch", chechen: "ce", chinese: "zh", "church slavic": "cu", "old slavonic": "cu", "church slavonic": "cu", "old bulgarian": "cu", "old church slavonic": "cu", chuvash: "cv", cornish: "kw", corsican: "co", cree: "cr", welsh: "cy", danish: "da", german: "de", divehi: "dv", dhivehi: "dv", maldivian: "dv", dutch: "nl", flemish: "nl", dzongkha: "dz", greek: "el", english: "en", esperanto: "eo", estonian: "et", ewe: "ee", faroese: "fo", persian: "fa", fijian: "fj", finnish: "fi", french: "fr", "western frisian": "fy", fulah: "ff", georgian: "ka", gaelic: "gd", "scottish gaelic": "gd", irish: "ga", galician: "gl", manx: "gv", guarani: "gn", gujarati: "gu", haitian: "ht", "haitian creole": "ht", hausa: "ha", hebrew: "he", herero: "hz", hindi: "hi", "hiri motu": "ho", croatian: "hr", hungarian: "hu", igbo: "ig", icelandic: "is", ido: "io", "sichuan yi": "ii", nuosu: "ii", inuktitut: "iu", interlingue: "ie", occidental: "ie", interlingua: "ia", indonesian: "id", inupiaq: "ik", italian: "it", javanese: "jv", japanese: "ja", kalaallisut: "kl", greenlandic: "kl", kannada: "kn", kashmiri: "ks", kanuri: "kr", kazakh: "kk", "central khmer": "km", kikuyu: "ki", gikuyu: "ki", kinyarwanda: "rw", kirghiz: "ky", kyrgyz: "ky", komi: "kv", kongo: "kg", korean: "ko", kuanyama: "kj", kwanyama: "kj", kurdish: "ku", lao: "lo", latin: "la", latvian: "lv", limburgan: "li", limburger: "li", limburgish: "li", lingala: "ln", lithuanian: "lt", luxembourgish: "lb", letzeburgesch: "lb", "luba-katanga": "lu", ganda: "lg", macedonian: "mk", marshallese: "mh", malayalam: "ml", maori: "mi", marathi: "mr", malay: "ms", malagasy: "mg", maltese: "mt", mongolian: "mn", nauru: "na", navajo: "nv", navaho: "nv", "ndebele, south": "nr", "south ndebele": "nr", "ndebele, north": "nd", "north ndebele": "nd", ndonga: "ng", nepali: "ne", "norwegian nynorsk": "nn", "nynorsk, norwegian": "nn", "norwegian bokmål": "nb", "bokmål, norwegian": "nb", norwegian: "no", chichewa: "ny", chewa: "ny", nyanja: "ny", occitan: "oc", ojibwa: "oj", oriya: "or", oromo: "om", ossetian: "os", ossetic: "os", panjabi: "pa", punjabi: "pa", pali: "pi", polish: "pl", portuguese: "pt", pushto: "ps", pashto: "ps", quechua: "qu", romansh: "rm", romanian: "ro", moldavian: "ro", moldovan: "ro", rundi: "rn", russian: "ru", sango: "sg", sanskrit: "sa", sinhala: "si", sinhalese: "si", slovak: "sk", slovenian: "sl", "northern sami": "se", samoan: "sm", shona: "sn", sindhi: "sd", somali: "so", "sotho, southern": "st", spanish: "es", castilian: "es", sardinian: "sc", serbian: "sr", swati: "ss", sundanese: "su", swahili: "sw", swedish: "sv", tahitian: "ty", tamil: "ta", tatar: "tt", telugu: "te", tajik: "tg", tagalog: "tl", thai: "th", tigrinya: "ti", tonga: "to", tswana: "tn", tsonga: "ts", turkmen: "tk", turkish: "tr", twi: "tw", uighur: "ug", uyghur: "ug", ukrainian: "uk", urdu: "ur", uzbek: "uz", venda: "ve", vietnamese: "vi", "volapük": "vo", walloon: "wa", wolof: "wo", xhosa: "xh", yiddish: "yi", yoruba: "yo", zhuang: "za", chuang: "za", zulu: "zu" };
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const isoKeys = Object.values(iso).sort();
|
|
5
|
-
var languages = e => { if ("string" != typeof e)
|
|
6
|
-
throw new Error('The "language" must be a string, received ' + typeof e); if (e.length > 100)
|
|
7
|
-
throw new Error(`The "language" is too long at ${e.length} characters`); if (e = e.toLowerCase(), e = names[e] || iso[e] || e, !isoKeys.includes(e))
|
|
8
|
-
throw new Error(`The language "${e}" is not part of the ISO 639-1`); return e; };
|
|
9
|
-
function Cache() { var e = Object.create(null); function a(a) { delete e[a]; } this.set = function (n, i, r) { if (void 0 !== r && ("number" != typeof r || isNaN(r) || r <= 0))
|
|
10
|
-
throw new Error("Cache timeout must be a positive number"); var t = e[n]; t && clearTimeout(t.timeout); var o = { value: i, expire: r + Date.now() }; return isNaN(o.expire) || (o.timeout = setTimeout((() => a(n)), r)), e[n] = o, i; }, this.del = function (n) { var i = !0, r = e[n]; return r ? (clearTimeout(r.timeout), !isNaN(r.expire) && r.expire < Date.now() && (i = !1)) : i = !1, i && a(n), i; }, this.clear = function () { for (var a in e)
|
|
11
|
-
clearTimeout(e[a].timeout); e = Object.create(null); }, this.get = function (a) { var n = e[a]; if (void 0 !== n) {
|
|
12
|
-
if (isNaN(n.expire) || n.expire >= Date.now())
|
|
13
|
-
return n.value;
|
|
14
|
-
delete e[a];
|
|
15
|
-
} return null; }; }
|
|
16
|
-
const exp$1 = new Cache;
|
|
17
|
-
exp$1.Cache = Cache;
|
|
18
|
-
const base = "https://translate.googleapis.com/translate_a/single";
|
|
19
|
-
var google = { fetch: ({ key: e, from: a, to: n, text: i }) => [`${base}?client=gtx&sl=${a}&tl=${n}&dt=t&q=${encodeURI(i)}`], parse: e => e.json().then((e => { if (!(e = e && e[0] && e[0][0] && e[0].map((e => e[0])).join("")))
|
|
20
|
-
throw new Error("Translation not found"); return e; })) }, yandex = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://translate.yandex.net/api/v1.5/tr.json/translate?key=${e}&lang=${a}-${n}&text=${encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: e => e.json().then((e => { if (200 !== e.code)
|
|
21
|
-
throw new Error(e.message); return e.text[0]; })) };
|
|
22
|
-
const libreUrl = "https://libretranslate.com/translate";
|
|
23
|
-
var libre = { needkey: !1, fetch: ({ url: e = libreUrl, key: a, from: n, to: i, text: r }) => [e, { method: "POST", body: JSON.stringify({ q: r, source: n, target: i, api_key: a }), headers: { "Content-Type": "application/json" } }], parse: e => e.json().then((e => { if (!e)
|
|
24
|
-
throw new Error("No response found"); if (e.error)
|
|
25
|
-
throw new Error(e.error); if (!e.translatedText)
|
|
26
|
-
throw new Error("No response found"); return e.translatedText; })) }, deepl = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://api${/:fx$/.test(e) ? "-free" : ""}.deepl.com/v2/translate?auth_key=${e}&source_lang=${a}&target_lang=${n}&text=${i = encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: async (e) => { if (!e.ok) {
|
|
27
|
-
if (403 === e.status)
|
|
28
|
-
throw new Error("Auth Error, please review the key for DeepL");
|
|
29
|
-
throw new Error(`Error ${e.status}`);
|
|
30
|
-
} return e.json().then((e => e.translations[0].text)); } }, engines = { google: google, yandex: yandex, libre: libre, deepl: deepl };
|
|
31
|
-
const Translate = function (e = {}) { if (!(this instanceof Translate))
|
|
32
|
-
return new Translate(e); const a = { from: "en", to: "en", cache: void 0, languages: languages, engines: engines, engine: "google", keys: {} }, n = async (e, a = {}) => { "string" == typeof a && (a = { to: a }), a.text = e, a.from = languages(a.from || n.from), a.to = languages(a.to || n.to), a.cache = a.cache || n.cache, a.engines = a.engines || {}, a.engine = a.engine || n.engine, a.url = a.url || n.url, a.id = a.id || `${a.url}:${a.from}:${a.to}:${a.engine}:${a.text}`, a.keys = a.keys || n.keys || {}; for (let e in n.keys)
|
|
33
|
-
a.keys[e] = a.keys[e] || n.keys[e]; a.key = a.key || n.key || a.keys[a.engine]; const i = a.engines[a.engine] || n.engines[a.engine], r = exp$1.get(a.id); if (r)
|
|
34
|
-
return Promise.resolve(r); if (a.to === a.from)
|
|
35
|
-
return Promise.resolve(a.text); if (i.needkey && !a.key)
|
|
36
|
-
throw new Error(`The engine "${a.engine}" needs a key, please provide it`); const t = i.fetch(a); return fetch(...t).then(i.parse).then((e => exp$1.set(a.id, e, a.cache))); }; for (let i in a)
|
|
37
|
-
n[i] = void 0 === e[i] ? a[i] : e[i]; return n; }, exp = new Translate;
|
|
38
|
-
exp.Translate = Translate;
|
|
39
|
-
export const translate = exp;
|
|
40
|
-
;
|
|
41
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/base/translate.ts
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL3RyYW5zbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxhQUFhO0FBQ2IsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzc1SyxhQUFhO0FBQ2IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUFDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxRQUFRLElBQUksT0FBTyxDQUFDO0lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO0FBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtJQUFFLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtDQUFFLENBQUMsT0FBTyxJQUFJLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUM7QUFBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUFDLE1BQU0sSUFBSSxHQUFHLHFEQUFxRCxDQUFDO0FBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsK0RBQStELENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFBQyxNQUFNLFFBQVEsR0FBRyxzQ0FBc0MsQ0FBQztBQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLG9DQUFvQyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0tBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksU0FBUyxDQUFDO0lBQUUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJO0lBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSTtJQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRztJQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQztJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksU0FBUyxDQUFDO0FBQ2pqSSxHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUksR0FBRyxDQUFDO0FBRTdCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsOERBQThEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8vIEB0cy1pZ25vcmVcbnZhciBpc28gPSB7IGFhcjogXCJhYVwiLCBhYms6IFwiYWJcIiwgYWZyOiBcImFmXCIsIGFrYTogXCJha1wiLCBhbGI6IFwic3FcIiwgYW1oOiBcImFtXCIsIGFyYTogXCJhclwiLCBhcmc6IFwiYW5cIiwgYXJtOiBcImh5XCIsIGFzbTogXCJhc1wiLCBhdmE6IFwiYXZcIiwgYXZlOiBcImFlXCIsIGF5bTogXCJheVwiLCBhemU6IFwiYXpcIiwgYmFrOiBcImJhXCIsIGJhbTogXCJibVwiLCBiYXE6IFwiZXVcIiwgYmVsOiBcImJlXCIsIGJlbjogXCJiblwiLCBiaWg6IFwiYmhcIiwgYmlzOiBcImJpXCIsIGJvczogXCJic1wiLCBicmU6IFwiYnJcIiwgYnVsOiBcImJnXCIsIGJ1cjogXCJteVwiLCBjYXQ6IFwiY2FcIiwgY2hhOiBcImNoXCIsIGNoZTogXCJjZVwiLCBjaGk6IFwiemhcIiwgY2h1OiBcImN1XCIsIGNodjogXCJjdlwiLCBjb3I6IFwia3dcIiwgY29zOiBcImNvXCIsIGNyZTogXCJjclwiLCBjemU6IFwiY3NcIiwgZGFuOiBcImRhXCIsIGRpdjogXCJkdlwiLCBkdXQ6IFwibmxcIiwgZHpvOiBcImR6XCIsIGVuZzogXCJlblwiLCBlcG86IFwiZW9cIiwgZXN0OiBcImV0XCIsIGV3ZTogXCJlZVwiLCBmYW86IFwiZm9cIiwgZmlqOiBcImZqXCIsIGZpbjogXCJmaVwiLCBmcmU6IFwiZnJcIiwgZnJ5OiBcImZ5XCIsIGZ1bDogXCJmZlwiLCBnZW86IFwia2FcIiwgZ2VyOiBcImRlXCIsIGdsYTogXCJnZFwiLCBnbGU6IFwiZ2FcIiwgZ2xnOiBcImdsXCIsIGdsdjogXCJndlwiLCBncmU6IFwiZWxcIiwgZ3JuOiBcImduXCIsIGd1ajogXCJndVwiLCBoYXQ6IFwiaHRcIiwgaGF1OiBcImhhXCIsIGhlYjogXCJoZVwiLCBoZXI6IFwiaHpcIiwgaGluOiBcImhpXCIsIGhtbzogXCJob1wiLCBocnY6IFwiaHJcIiwgaHVuOiBcImh1XCIsIGlibzogXCJpZ1wiLCBpY2U6IFwiaXNcIiwgaWRvOiBcImlvXCIsIGlpaTogXCJpaVwiLCBpa3U6IFwiaXVcIiwgaWxlOiBcImllXCIsIGluYTogXCJpYVwiLCBpbmQ6IFwiaWRcIiwgaXBrOiBcImlrXCIsIGl0YTogXCJpdFwiLCBqYXY6IFwianZcIiwganBuOiBcImphXCIsIGthbDogXCJrbFwiLCBrYW46IFwia25cIiwga2FzOiBcImtzXCIsIGthdTogXCJrclwiLCBrYXo6IFwia2tcIiwga2htOiBcImttXCIsIGtpazogXCJraVwiLCBraW46IFwicndcIiwga2lyOiBcImt5XCIsIGtvbTogXCJrdlwiLCBrb246IFwia2dcIiwga29yOiBcImtvXCIsIGt1YTogXCJralwiLCBrdXI6IFwia3VcIiwgbGFvOiBcImxvXCIsIGxhdDogXCJsYVwiLCBsYXY6IFwibHZcIiwgbGltOiBcImxpXCIsIGxpbjogXCJsblwiLCBsaXQ6IFwibHRcIiwgbHR6OiBcImxiXCIsIGx1YjogXCJsdVwiLCBsdWc6IFwibGdcIiwgbWFjOiBcIm1rXCIsIG1haDogXCJtaFwiLCBtYWw6IFwibWxcIiwgbWFvOiBcIm1pXCIsIG1hcjogXCJtclwiLCBtYXk6IFwibXNcIiwgbWxnOiBcIm1nXCIsIG1sdDogXCJtdFwiLCBtb246IFwibW5cIiwgbmF1OiBcIm5hXCIsIG5hdjogXCJudlwiLCBuYmw6IFwibnJcIiwgbmRlOiBcIm5kXCIsIG5kbzogXCJuZ1wiLCBuZXA6IFwibmVcIiwgbm5vOiBcIm5uXCIsIG5vYjogXCJuYlwiLCBub3I6IFwibm9cIiwgbnlhOiBcIm55XCIsIG9jaTogXCJvY1wiLCBvamk6IFwib2pcIiwgb3JpOiBcIm9yXCIsIG9ybTogXCJvbVwiLCBvc3M6IFwib3NcIiwgcGFuOiBcInBhXCIsIHBlcjogXCJmYVwiLCBwbGk6IFwicGlcIiwgcG9sOiBcInBsXCIsIHBvcjogXCJwdFwiLCBwdXM6IFwicHNcIiwgcXVlOiBcInF1XCIsIHJvaDogXCJybVwiLCBydW06IFwicm9cIiwgcnVuOiBcInJuXCIsIHJ1czogXCJydVwiLCBzYWc6IFwic2dcIiwgc2FuOiBcInNhXCIsIHNpbjogXCJzaVwiLCBzbG86IFwic2tcIiwgc2x2OiBcInNsXCIsIHNtZTogXCJzZVwiLCBzbW86IFwic21cIiwgc25hOiBcInNuXCIsIHNuZDogXCJzZFwiLCBzb206IFwic29cIiwgc290OiBcInN0XCIsIHNwYTogXCJlc1wiLCBzcmQ6IFwic2NcIiwgc3JwOiBcInNyXCIsIHNzdzogXCJzc1wiLCBzdW46IFwic3VcIiwgc3dhOiBcInN3XCIsIHN3ZTogXCJzdlwiLCB0YWg6IFwidHlcIiwgdGFtOiBcInRhXCIsIHRhdDogXCJ0dFwiLCB0ZWw6IFwidGVcIiwgdGdrOiBcInRnXCIsIHRnbDogXCJ0bFwiLCB0aGE6IFwidGhcIiwgdGliOiBcImJvXCIsIHRpcjogXCJ0aVwiLCB0b246IFwidG9cIiwgdHNuOiBcInRuXCIsIHRzbzogXCJ0c1wiLCB0dWs6IFwidGtcIiwgdHVyOiBcInRyXCIsIHR3aTogXCJ0d1wiLCB1aWc6IFwidWdcIiwgdWtyOiBcInVrXCIsIHVyZDogXCJ1clwiLCB1emI6IFwidXpcIiwgdmVuOiBcInZlXCIsIHZpZTogXCJ2aVwiLCB2b2w6IFwidm9cIiwgd2VsOiBcImN5XCIsIHdsbjogXCJ3YVwiLCB3b2w6IFwid29cIiwgeGhvOiBcInhoXCIsIHlpZDogXCJ5aVwiLCB5b3I6IFwieW9cIiwgemhhOiBcInphXCIsIHp1bDogXCJ6dVwiIH0sIG5hbWVzID0geyBhZmFyOiBcImFhXCIsIGFia2hhemlhbjogXCJhYlwiLCBhZnJpa2FhbnM6IFwiYWZcIiwgYWthbjogXCJha1wiLCBhbGJhbmlhbjogXCJzcVwiLCBhbWhhcmljOiBcImFtXCIsIGFyYWJpYzogXCJhclwiLCBhcmFnb25lc2U6IFwiYW5cIiwgYXJtZW5pYW46IFwiaHlcIiwgYXNzYW1lc2U6IFwiYXNcIiwgYXZhcmljOiBcImF2XCIsIGF2ZXN0YW46IFwiYWVcIiwgYXltYXJhOiBcImF5XCIsIGF6ZXJiYWlqYW5pOiBcImF6XCIsIGJhc2hraXI6IFwiYmFcIiwgYmFtYmFyYTogXCJibVwiLCBiYXNxdWU6IFwiZXVcIiwgYmVsYXJ1c2lhbjogXCJiZVwiLCBiZW5nYWxpOiBcImJuXCIsIFwiYmloYXJpIGxhbmd1YWdlc1wiOiBcImJoXCIsIGJpc2xhbWE6IFwiYmlcIiwgdGliZXRhbjogXCJib1wiLCBib3NuaWFuOiBcImJzXCIsIGJyZXRvbjogXCJiclwiLCBidWxnYXJpYW46IFwiYmdcIiwgYnVybWVzZTogXCJteVwiLCBjYXRhbGFuOiBcImNhXCIsIHZhbGVuY2lhbjogXCJjYVwiLCBjemVjaDogXCJjc1wiLCBjaGFtb3JybzogXCJjaFwiLCBjaGVjaGVuOiBcImNlXCIsIGNoaW5lc2U6IFwiemhcIiwgXCJjaHVyY2ggc2xhdmljXCI6IFwiY3VcIiwgXCJvbGQgc2xhdm9uaWNcIjogXCJjdVwiLCBcImNodXJjaCBzbGF2b25pY1wiOiBcImN1XCIsIFwib2xkIGJ1bGdhcmlhblwiOiBcImN1XCIsIFwib2xkIGNodXJjaCBzbGF2b25pY1wiOiBcImN1XCIsIGNodXZhc2g6IFwiY3ZcIiwgY29ybmlzaDogXCJrd1wiLCBjb3JzaWNhbjogXCJjb1wiLCBjcmVlOiBcImNyXCIsIHdlbHNoOiBcImN5XCIsIGRhbmlzaDogXCJkYVwiLCBnZXJtYW46IFwiZGVcIiwgZGl2ZWhpOiBcImR2XCIsIGRoaXZlaGk6IFwiZHZcIiwgbWFsZGl2aWFuOiBcImR2XCIsIGR1dGNoOiBcIm5sXCIsIGZsZW1pc2g6IFwibmxcIiwgZHpvbmdraGE6IFwiZHpcIiwgZ3JlZWs6IFwiZWxcIiwgZW5nbGlzaDogXCJlblwiLCBlc3BlcmFudG86IFwiZW9cIiwgZXN0b25pYW46IFwiZXRcIiwgZXdlOiBcImVlXCIsIGZhcm9lc2U6IFwiZm9cIiwgcGVyc2lhbjogXCJmYVwiLCBmaWppYW46IFwiZmpcIiwgZmlubmlzaDogXCJmaVwiLCBmcmVuY2g6IFwiZnJcIiwgXCJ3ZXN0ZXJuIGZyaXNpYW5cIjogXCJmeVwiLCBmdWxhaDogXCJmZlwiLCBnZW9yZ2lhbjogXCJrYVwiLCBnYWVsaWM6IFwiZ2RcIiwgXCJzY290dGlzaCBnYWVsaWNcIjogXCJnZFwiLCBpcmlzaDogXCJnYVwiLCBnYWxpY2lhbjogXCJnbFwiLCBtYW54OiBcImd2XCIsIGd1YXJhbmk6IFwiZ25cIiwgZ3VqYXJhdGk6IFwiZ3VcIiwgaGFpdGlhbjogXCJodFwiLCBcImhhaXRpYW4gY3Jlb2xlXCI6IFwiaHRcIiwgaGF1c2E6IFwiaGFcIiwgaGVicmV3OiBcImhlXCIsIGhlcmVybzogXCJoelwiLCBoaW5kaTogXCJoaVwiLCBcImhpcmkgbW90dVwiOiBcImhvXCIsIGNyb2F0aWFuOiBcImhyXCIsIGh1bmdhcmlhbjogXCJodVwiLCBpZ2JvOiBcImlnXCIsIGljZWxhbmRpYzogXCJpc1wiLCBpZG86IFwiaW9cIiwgXCJzaWNodWFuIHlpXCI6IFwiaWlcIiwgbnVvc3U6IFwiaWlcIiwgaW51a3RpdHV0OiBcIml1XCIsIGludGVybGluZ3VlOiBcImllXCIsIG9jY2lkZW50YWw6IFwiaWVcIiwgaW50ZXJsaW5ndWE6IFwiaWFcIiwgaW5kb25lc2lhbjogXCJpZFwiLCBpbnVwaWFxOiBcImlrXCIsIGl0YWxpYW46IFwiaXRcIiwgamF2YW5lc2U6IFwianZcIiwgamFwYW5lc2U6IFwiamFcIiwga2FsYWFsbGlzdXQ6IFwia2xcIiwgZ3JlZW5sYW5kaWM6IFwia2xcIiwga2FubmFkYTogXCJrblwiLCBrYXNobWlyaTogXCJrc1wiLCBrYW51cmk6IFwia3JcIiwga2F6YWtoOiBcImtrXCIsIFwiY2VudHJhbCBraG1lclwiOiBcImttXCIsIGtpa3V5dTogXCJraVwiLCBnaWt1eXU6IFwia2lcIiwga2lueWFyd2FuZGE6IFwicndcIiwga2lyZ2hpejogXCJreVwiLCBreXJneXo6IFwia3lcIiwga29taTogXCJrdlwiLCBrb25nbzogXCJrZ1wiLCBrb3JlYW46IFwia29cIiwga3VhbnlhbWE6IFwia2pcIiwga3dhbnlhbWE6IFwia2pcIiwga3VyZGlzaDogXCJrdVwiLCBsYW86IFwibG9cIiwgbGF0aW46IFwibGFcIiwgbGF0dmlhbjogXCJsdlwiLCBsaW1idXJnYW46IFwibGlcIiwgbGltYnVyZ2VyOiBcImxpXCIsIGxpbWJ1cmdpc2g6IFwibGlcIiwgbGluZ2FsYTogXCJsblwiLCBsaXRodWFuaWFuOiBcImx0XCIsIGx1eGVtYm91cmdpc2g6IFwibGJcIiwgbGV0emVidXJnZXNjaDogXCJsYlwiLCBcImx1YmEta2F0YW5nYVwiOiBcImx1XCIsIGdhbmRhOiBcImxnXCIsIG1hY2Vkb25pYW46IFwibWtcIiwgbWFyc2hhbGxlc2U6IFwibWhcIiwgbWFsYXlhbGFtOiBcIm1sXCIsIG1hb3JpOiBcIm1pXCIsIG1hcmF0aGk6IFwibXJcIiwgbWFsYXk6IFwibXNcIiwgbWFsYWdhc3k6IFwibWdcIiwgbWFsdGVzZTogXCJtdFwiLCBtb25nb2xpYW46IFwibW5cIiwgbmF1cnU6IFwibmFcIiwgbmF2YWpvOiBcIm52XCIsIG5hdmFobzogXCJudlwiLCBcIm5kZWJlbGUsIHNvdXRoXCI6IFwibnJcIiwgXCJzb3V0aCBuZGViZWxlXCI6IFwibnJcIiwgXCJuZGViZWxlLCBub3J0aFwiOiBcIm5kXCIsIFwibm9ydGggbmRlYmVsZVwiOiBcIm5kXCIsIG5kb25nYTogXCJuZ1wiLCBuZXBhbGk6IFwibmVcIiwgXCJub3J3ZWdpYW4gbnlub3Jza1wiOiBcIm5uXCIsIFwibnlub3Jzaywgbm9yd2VnaWFuXCI6IFwibm5cIiwgXCJub3J3ZWdpYW4gYm9rbcOlbFwiOiBcIm5iXCIsIFwiYm9rbcOlbCwgbm9yd2VnaWFuXCI6IFwibmJcIiwgbm9yd2VnaWFuOiBcIm5vXCIsIGNoaWNoZXdhOiBcIm55XCIsIGNoZXdhOiBcIm55XCIsIG55YW5qYTogXCJueVwiLCBvY2NpdGFuOiBcIm9jXCIsIG9qaWJ3YTogXCJvalwiLCBvcml5YTogXCJvclwiLCBvcm9tbzogXCJvbVwiLCBvc3NldGlhbjogXCJvc1wiLCBvc3NldGljOiBcIm9zXCIsIHBhbmphYmk6IFwicGFcIiwgcHVuamFiaTogXCJwYVwiLCBwYWxpOiBcInBpXCIsIHBvbGlzaDogXCJwbFwiLCBwb3J0dWd1ZXNlOiBcInB0XCIsIHB1c2h0bzogXCJwc1wiLCBwYXNodG86IFwicHNcIiwgcXVlY2h1YTogXCJxdVwiLCByb21hbnNoOiBcInJtXCIsIHJvbWFuaWFuOiBcInJvXCIsIG1vbGRhdmlhbjogXCJyb1wiLCBtb2xkb3ZhbjogXCJyb1wiLCBydW5kaTogXCJyblwiLCBydXNzaWFuOiBcInJ1XCIsIHNhbmdvOiBcInNnXCIsIHNhbnNrcml0OiBcInNhXCIsIHNpbmhhbGE6IFwic2lcIiwgc2luaGFsZXNlOiBcInNpXCIsIHNsb3ZhazogXCJza1wiLCBzbG92ZW5pYW46IFwic2xcIiwgXCJub3J0aGVybiBzYW1pXCI6IFwic2VcIiwgc2Ftb2FuOiBcInNtXCIsIHNob25hOiBcInNuXCIsIHNpbmRoaTogXCJzZFwiLCBzb21hbGk6IFwic29cIiwgXCJzb3Robywgc291dGhlcm5cIjogXCJzdFwiLCBzcGFuaXNoOiBcImVzXCIsIGNhc3RpbGlhbjogXCJlc1wiLCBzYXJkaW5pYW46IFwic2NcIiwgc2VyYmlhbjogXCJzclwiLCBzd2F0aTogXCJzc1wiLCBzdW5kYW5lc2U6IFwic3VcIiwgc3dhaGlsaTogXCJzd1wiLCBzd2VkaXNoOiBcInN2XCIsIHRhaGl0aWFuOiBcInR5XCIsIHRhbWlsOiBcInRhXCIsIHRhdGFyOiBcInR0XCIsIHRlbHVndTogXCJ0ZVwiLCB0YWppazogXCJ0Z1wiLCB0YWdhbG9nOiBcInRsXCIsIHRoYWk6IFwidGhcIiwgdGlncmlueWE6IFwidGlcIiwgdG9uZ2E6IFwidG9cIiwgdHN3YW5hOiBcInRuXCIsIHRzb25nYTogXCJ0c1wiLCB0dXJrbWVuOiBcInRrXCIsIHR1cmtpc2g6IFwidHJcIiwgdHdpOiBcInR3XCIsIHVpZ2h1cjogXCJ1Z1wiLCB1eWdodXI6IFwidWdcIiwgdWtyYWluaWFuOiBcInVrXCIsIHVyZHU6IFwidXJcIiwgdXpiZWs6IFwidXpcIiwgdmVuZGE6IFwidmVcIiwgdmlldG5hbWVzZTogXCJ2aVwiLCBcInZvbGFww7xrXCI6IFwidm9cIiwgd2FsbG9vbjogXCJ3YVwiLCB3b2xvZjogXCJ3b1wiLCB4aG9zYTogXCJ4aFwiLCB5aWRkaXNoOiBcInlpXCIsIHlvcnViYTogXCJ5b1wiLCB6aHVhbmc6IFwiemFcIiwgY2h1YW5nOiBcInphXCIsIHp1bHU6IFwienVcIiB9O1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgaXNvS2V5cyA9IE9iamVjdC52YWx1ZXMoaXNvKS5zb3J0KCk7IHZhciBsYW5ndWFnZXMgPSBlID0+IHsgaWYgKFwic3RyaW5nXCIgIT0gdHlwZW9mIGUpIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFuZ3VhZ2VcIiBtdXN0IGJlIGEgc3RyaW5nLCByZWNlaXZlZCAnICsgdHlwZW9mIGUpOyBpZiAoZS5sZW5ndGggPiAxMDApIHRocm93IG5ldyBFcnJvcihgVGhlIFwibGFuZ3VhZ2VcIiBpcyB0b28gbG9uZyBhdCAke2UubGVuZ3RofSBjaGFyYWN0ZXJzYCk7IGlmIChlID0gZS50b0xvd2VyQ2FzZSgpLCBlID0gbmFtZXNbZV0gfHwgaXNvW2VdIHx8IGUsICFpc29LZXlzLmluY2x1ZGVzKGUpKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBsYW5ndWFnZSBcIiR7ZX1cIiBpcyBub3QgcGFydCBvZiB0aGUgSVNPIDYzOS0xYCk7IHJldHVybiBlIH07IGZ1bmN0aW9uIENhY2hlKCkgeyB2YXIgZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7IGZ1bmN0aW9uIGEoYSkgeyBkZWxldGUgZVthXSB9IHRoaXMuc2V0ID0gZnVuY3Rpb24gKG4sIGksIHIpIHsgaWYgKHZvaWQgMCAhPT0gciAmJiAoXCJudW1iZXJcIiAhPSB0eXBlb2YgciB8fCBpc05hTihyKSB8fCByIDw9IDApKSB0aHJvdyBuZXcgRXJyb3IoXCJDYWNoZSB0aW1lb3V0IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXJcIik7IHZhciB0ID0gZVtuXTsgdCAmJiBjbGVhclRpbWVvdXQodC50aW1lb3V0KTsgdmFyIG8gPSB7IHZhbHVlOiBpLCBleHBpcmU6IHIgKyBEYXRlLm5vdygpIH07IHJldHVybiBpc05hTihvLmV4cGlyZSkgfHwgKG8udGltZW91dCA9IHNldFRpbWVvdXQoKCgpID0+IGEobikpLCByKSksIGVbbl0gPSBvLCBpIH0sIHRoaXMuZGVsID0gZnVuY3Rpb24gKG4pIHsgdmFyIGkgPSAhMCwgciA9IGVbbl07IHJldHVybiByID8gKGNsZWFyVGltZW91dChyLnRpbWVvdXQpLCAhaXNOYU4oci5leHBpcmUpICYmIHIuZXhwaXJlIDwgRGF0ZS5ub3coKSAmJiAoaSA9ICExKSkgOiBpID0gITEsIGkgJiYgYShuKSwgaSB9LCB0aGlzLmNsZWFyID0gZnVuY3Rpb24gKCkgeyBmb3IgKHZhciBhIGluIGUpIGNsZWFyVGltZW91dChlW2FdLnRpbWVvdXQpOyBlID0gT2JqZWN0LmNyZWF0ZShudWxsKSB9LCB0aGlzLmdldCA9IGZ1bmN0aW9uIChhKSB7IHZhciBuID0gZVthXTsgaWYgKHZvaWQgMCAhPT0gbikgeyBpZiAoaXNOYU4obi5leHBpcmUpIHx8IG4uZXhwaXJlID49IERhdGUubm93KCkpIHJldHVybiBuLnZhbHVlOyBkZWxldGUgZVthXSB9IHJldHVybiBudWxsIH0gfSBjb25zdCBleHAkMSA9IG5ldyBDYWNoZTsgZXhwJDEuQ2FjaGUgPSBDYWNoZTsgY29uc3QgYmFzZSA9IFwiaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vdHJhbnNsYXRlX2Evc2luZ2xlXCI7IHZhciBnb29nbGUgPSB7IGZldGNoOiAoeyBrZXk6IGUsIGZyb206IGEsIHRvOiBuLCB0ZXh0OiBpIH0pID0+IFtgJHtiYXNlfT9jbGllbnQ9Z3R4JnNsPSR7YX0mdGw9JHtufSZkdD10JnE9JHtlbmNvZGVVUkkoaSl9YF0sIHBhcnNlOiBlID0+IGUuanNvbigpLnRoZW4oKGUgPT4geyBpZiAoIShlID0gZSAmJiBlWzBdICYmIGVbMF1bMF0gJiYgZVswXS5tYXAoKGUgPT4gZVswXSkpLmpvaW4oXCJcIikpKSB0aHJvdyBuZXcgRXJyb3IoXCJUcmFuc2xhdGlvbiBub3QgZm91bmRcIik7IHJldHVybiBlIH0pKSB9LCB5YW5kZXggPSB7IG5lZWRrZXk6ICEwLCBmZXRjaDogKHsga2V5OiBlLCBmcm9tOiBhLCB0bzogbiwgdGV4dDogaSB9KSA9PiBbYGh0dHBzOi8vdHJhbnNsYXRlLnlhbmRleC5uZXQvYXBpL3YxLjUvdHIuanNvbi90cmFuc2xhdGU/a2V5PSR7ZX0mbGFuZz0ke2F9LSR7bn0mdGV4dD0ke2VuY29kZVVSSUNvbXBvbmVudChpKX1gLCB7IG1ldGhvZDogXCJQT1NUXCIsIGJvZHk6IFwiXCIgfV0sIHBhcnNlOiBlID0+IGUuanNvbigpLnRoZW4oKGUgPT4geyBpZiAoMjAwICE9PSBlLmNvZGUpIHRocm93IG5ldyBFcnJvcihlLm1lc3NhZ2UpOyByZXR1cm4gZS50ZXh0WzBdIH0pKSB9OyBjb25zdCBsaWJyZVVybCA9IFwiaHR0cHM6Ly9saWJyZXRyYW5zbGF0ZS5jb20vdHJhbnNsYXRlXCI7IHZhciBsaWJyZSA9IHsgbmVlZGtleTogITEsIGZldGNoOiAoeyB1cmw6IGUgPSBsaWJyZVVybCwga2V5OiBhLCBmcm9tOiBuLCB0bzogaSwgdGV4dDogciB9KSA9PiBbZSwgeyBtZXRob2Q6IFwiUE9TVFwiLCBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHE6IHIsIHNvdXJjZTogbiwgdGFyZ2V0OiBpLCBhcGlfa2V5OiBhIH0pLCBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0gfV0sIHBhcnNlOiBlID0+IGUuanNvbigpLnRoZW4oKGUgPT4geyBpZiAoIWUpIHRocm93IG5ldyBFcnJvcihcIk5vIHJlc3BvbnNlIGZvdW5kXCIpOyBpZiAoZS5lcnJvcikgdGhyb3cgbmV3IEVycm9yKGUuZXJyb3IpOyBpZiAoIWUudHJhbnNsYXRlZFRleHQpIHRocm93IG5ldyBFcnJvcihcIk5vIHJlc3BvbnNlIGZvdW5kXCIpOyByZXR1cm4gZS50cmFuc2xhdGVkVGV4dCB9KSkgfSwgZGVlcGwgPSB7IG5lZWRrZXk6ICEwLCBmZXRjaDogKHsga2V5OiBlLCBmcm9tOiBhLCB0bzogbiwgdGV4dDogaSB9KSA9PiBbYGh0dHBzOi8vYXBpJHsvOmZ4JC8udGVzdChlKSA/IFwiLWZyZWVcIiA6IFwiXCJ9LmRlZXBsLmNvbS92Mi90cmFuc2xhdGU/YXV0aF9rZXk9JHtlfSZzb3VyY2VfbGFuZz0ke2F9JnRhcmdldF9sYW5nPSR7bn0mdGV4dD0ke2kgPSBlbmNvZGVVUklDb21wb25lbnQoaSl9YCwgeyBtZXRob2Q6IFwiUE9TVFwiLCBib2R5OiBcIlwiIH1dLCBwYXJzZTogYXN5bmMgZSA9PiB7IGlmICghZS5vaykgeyBpZiAoNDAzID09PSBlLnN0YXR1cykgdGhyb3cgbmV3IEVycm9yKFwiQXV0aCBFcnJvciwgcGxlYXNlIHJldmlldyB0aGUga2V5IGZvciBEZWVwTFwiKTsgdGhyb3cgbmV3IEVycm9yKGBFcnJvciAke2Uuc3RhdHVzfWApIH0gcmV0dXJuIGUuanNvbigpLnRoZW4oKGUgPT4gZS50cmFuc2xhdGlvbnNbMF0udGV4dCkpIH0gfSwgZW5naW5lcyA9IHsgZ29vZ2xlOiBnb29nbGUsIHlhbmRleDogeWFuZGV4LCBsaWJyZTogbGlicmUsIGRlZXBsOiBkZWVwbCB9OyBjb25zdCBUcmFuc2xhdGUgPSBmdW5jdGlvbiAoZSA9IHt9KSB7IGlmICghKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2xhdGUpKSByZXR1cm4gbmV3IFRyYW5zbGF0ZShlKTsgY29uc3QgYSA9IHsgZnJvbTogXCJlblwiLCB0bzogXCJlblwiLCBjYWNoZTogdm9pZCAwLCBsYW5ndWFnZXM6IGxhbmd1YWdlcywgZW5naW5lczogZW5naW5lcywgZW5naW5lOiBcImdvb2dsZVwiLCBrZXlzOiB7fSB9LCBuID0gYXN5bmMgKGUsIGEgPSB7fSkgPT4geyBcInN0cmluZ1wiID09IHR5cGVvZiBhICYmIChhID0geyB0bzogYSB9KSwgYS50ZXh0ID0gZSwgYS5mcm9tID0gbGFuZ3VhZ2VzKGEuZnJvbSB8fCBuLmZyb20pLCBhLnRvID0gbGFuZ3VhZ2VzKGEudG8gfHwgbi50byksIGEuY2FjaGUgPSBhLmNhY2hlIHx8IG4uY2FjaGUsIGEuZW5naW5lcyA9IGEuZW5naW5lcyB8fCB7fSwgYS5lbmdpbmUgPSBhLmVuZ2luZSB8fCBuLmVuZ2luZSwgYS51cmwgPSBhLnVybCB8fCBuLnVybCwgYS5pZCA9IGEuaWQgfHwgYCR7YS51cmx9OiR7YS5mcm9tfToke2EudG99OiR7YS5lbmdpbmV9OiR7YS50ZXh0fWAsIGEua2V5cyA9IGEua2V5cyB8fCBuLmtleXMgfHwge307IGZvciAobGV0IGUgaW4gbi5rZXlzKSBhLmtleXNbZV0gPSBhLmtleXNbZV0gfHwgbi5rZXlzW2VdOyBhLmtleSA9IGEua2V5IHx8IG4ua2V5IHx8IGEua2V5c1thLmVuZ2luZV07IGNvbnN0IGkgPSBhLmVuZ2luZXNbYS5lbmdpbmVdIHx8IG4uZW5naW5lc1thLmVuZ2luZV0sIHIgPSBleHAkMS5nZXQoYS5pZCk7IGlmIChyKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHIpOyBpZiAoYS50byA9PT0gYS5mcm9tKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEudGV4dCk7IGlmIChpLm5lZWRrZXkgJiYgIWEua2V5KSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBlbmdpbmUgXCIke2EuZW5naW5lfVwiIG5lZWRzIGEga2V5LCBwbGVhc2UgcHJvdmlkZSBpdGApOyBjb25zdCB0ID0gaS5mZXRjaChhKTsgcmV0dXJuIGZldGNoKC4uLnQpLnRoZW4oaS5wYXJzZSkudGhlbigoZSA9PiBleHAkMS5zZXQoYS5pZCwgZSwgYS5jYWNoZSkpKSB9OyBmb3IgKGxldCBpIGluIGEpIG5baV0gPSB2b2lkIDAgPT09IGVbaV0gPyBhW2ldIDogZVtpXTsgcmV0dXJuIG4gfSwgZXhwID0gbmV3IFRyYW5zbGF0ZTtcbmV4cC5UcmFuc2xhdGUgPSBUcmFuc2xhdGU7XG5leHBvcnQgY29uc3QgdHJhbnNsYXRlICA9IGV4cDtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL3RyYW5zbGF0ZS50cyJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export class Memory {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.__data = null;
|
|
4
|
-
}
|
|
5
|
-
read() {
|
|
6
|
-
return Promise.resolve(this.__data);
|
|
7
|
-
}
|
|
8
|
-
write(obj) {
|
|
9
|
-
this.__data = obj;
|
|
10
|
-
return Promise.resolve();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class MemorySync {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.__data = null;
|
|
16
|
-
}
|
|
17
|
-
read() {
|
|
18
|
-
return this.__data || null;
|
|
19
|
-
}
|
|
20
|
-
write(obj) {
|
|
21
|
-
this.__data = obj;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
;
|
|
25
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/adapters/Memory.ts
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9hZGFwdGVycy9NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLE1BQU07SUFBbkI7UUFDRSxXQUFNLEdBQWEsSUFBSSxDQUFBO0lBVXpCLENBQUM7SUFSQyxJQUFJO1FBQ0YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQU07UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNFLFdBQU0sR0FBYSxJQUFJLENBQUE7SUFTekIsQ0FBQztJQVBDLElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBTTtRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFBO0lBQ25CLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUVBQXFFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFkYXB0ZXIsIFN5bmNBZGFwdGVyIH0gZnJvbSAnLi4vY29yZS9Mb3cnXG5cbmV4cG9ydCBjbGFzcyBNZW1vcnk8VD4gaW1wbGVtZW50cyBBZGFwdGVyPFQ+IHtcbiAgX19kYXRhOiBUIHwgbnVsbCA9IG51bGxcblxuICByZWFkKCk6IFByb21pc2U8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX19kYXRhKVxuICB9XG5cbiAgd3JpdGUob2JqOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fX2RhdGEgPSBvYmpcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVtb3J5U3luYzxUPiBpbXBsZW1lbnRzIFN5bmNBZGFwdGVyPFQ+IHtcbiAgX19kYXRhOiBUIHwgbnVsbCA9IG51bGxcblxuICByZWFkKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fX2RhdGEgfHwgbnVsbFxuICB9XG5cbiAgd3JpdGUob2JqOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fX2RhdGEgPSBvYmpcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2xvd2RiL2FkYXB0ZXJzL01lbW9yeS50cyJdfQ==
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
function checkArgs(adapter, defaultData) {
|
|
2
|
-
if (adapter === undefined)
|
|
3
|
-
throw new Error('lowdb: missing adapter');
|
|
4
|
-
if (defaultData === undefined)
|
|
5
|
-
throw new Error('lowdb: missing default data');
|
|
6
|
-
}
|
|
7
|
-
export class Low {
|
|
8
|
-
constructor(adapter, defaultData) {
|
|
9
|
-
checkArgs(adapter, defaultData);
|
|
10
|
-
this.adapter = adapter;
|
|
11
|
-
this.data = defaultData;
|
|
12
|
-
}
|
|
13
|
-
async read() {
|
|
14
|
-
const data = await this.adapter.read();
|
|
15
|
-
if (data)
|
|
16
|
-
this.data = data;
|
|
17
|
-
}
|
|
18
|
-
async write() {
|
|
19
|
-
if (this.data)
|
|
20
|
-
await this.adapter.write(this.data);
|
|
21
|
-
}
|
|
22
|
-
async update(fn) {
|
|
23
|
-
fn(this.data);
|
|
24
|
-
await this.write();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class LowSync {
|
|
28
|
-
constructor(adapter, defaultData) {
|
|
29
|
-
checkArgs(adapter, defaultData);
|
|
30
|
-
this.adapter = adapter;
|
|
31
|
-
this.data = defaultData;
|
|
32
|
-
}
|
|
33
|
-
read() {
|
|
34
|
-
const data = this.adapter.read();
|
|
35
|
-
if (data)
|
|
36
|
-
this.data = data;
|
|
37
|
-
}
|
|
38
|
-
write() {
|
|
39
|
-
if (this.data)
|
|
40
|
-
this.adapter.write(this.data);
|
|
41
|
-
}
|
|
42
|
-
update(fn) {
|
|
43
|
-
fn(this.data);
|
|
44
|
-
this.write();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
;
|
|
48
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/core/Low.ts
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9jb3JlL0xvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxTQUFTLFNBQVMsQ0FBQyxPQUFnQixFQUFFLFdBQW9CO0lBQ3ZELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDcEUsSUFBSSxXQUFXLEtBQUssU0FBUztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtBQUMvRSxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUc7SUFJZCxZQUFZLE9BQW1CLEVBQUUsV0FBYztRQUM3QyxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBd0I7UUFDbkMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3BCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksT0FBdUIsRUFBRSxXQUFjO1FBQ2pELFNBQVMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUE7SUFDekIsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2hDLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQXdCO1FBQzdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZCxDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhEQUE4RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXI8VD4ge1xuICByZWFkOiAoKSA9PiBQcm9taXNlPFQgfCBudWxsPlxuICB3cml0ZTogKGRhdGE6IFQpID0+IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTeW5jQWRhcHRlcjxUPiB7XG4gIHJlYWQ6ICgpID0+IFQgfCBudWxsXG4gIHdyaXRlOiAoZGF0YTogVCkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBjaGVja0FyZ3MoYWRhcHRlcjogdW5rbm93biwgZGVmYXVsdERhdGE6IHVua25vd24pIHtcbiAgaWYgKGFkYXB0ZXIgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdsb3dkYjogbWlzc2luZyBhZGFwdGVyJylcbiAgaWYgKGRlZmF1bHREYXRhID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcignbG93ZGI6IG1pc3NpbmcgZGVmYXVsdCBkYXRhJylcbn1cblxuZXhwb3J0IGNsYXNzIExvdzxUID0gdW5rbm93bj4ge1xuICBhZGFwdGVyOiBBZGFwdGVyPFQ+XG4gIGRhdGE6IFRcblxuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBBZGFwdGVyPFQ+LCBkZWZhdWx0RGF0YTogVCkge1xuICAgIGNoZWNrQXJncyhhZGFwdGVyLCBkZWZhdWx0RGF0YSlcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyXG4gICAgdGhpcy5kYXRhID0gZGVmYXVsdERhdGFcbiAgfVxuXG4gIGFzeW5jIHJlYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5yZWFkKClcbiAgICBpZiAoZGF0YSkgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgYXN5bmMgd3JpdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZGF0YSkgYXdhaXQgdGhpcy5hZGFwdGVyLndyaXRlKHRoaXMuZGF0YSlcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShmbjogKGRhdGE6IFQpID0+IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmbih0aGlzLmRhdGEpXG4gICAgYXdhaXQgdGhpcy53cml0ZSgpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvd1N5bmM8VCA9IHVua25vd24+IHtcbiAgYWRhcHRlcjogU3luY0FkYXB0ZXI8VD5cbiAgZGF0YTogVFxuXG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI6IFN5bmNBZGFwdGVyPFQ+LCBkZWZhdWx0RGF0YTogVCkge1xuICAgIGNoZWNrQXJncyhhZGFwdGVyLCBkZWZhdWx0RGF0YSlcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyXG4gICAgdGhpcy5kYXRhID0gZGVmYXVsdERhdGFcbiAgfVxuXG4gIHJlYWQoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuYWRhcHRlci5yZWFkKClcbiAgICBpZiAoZGF0YSkgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgd3JpdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSkgdGhpcy5hZGFwdGVyLndyaXRlKHRoaXMuZGF0YSlcbiAgfVxuXG4gIHVwZGF0ZShmbjogKGRhdGE6IFQpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICBmbih0aGlzLmRhdGEpXG4gICAgdGhpcy53cml0ZSgpXG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9sb3dkYi9jb3JlL0xvdy50cyJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './adapters/Memory';
|
|
2
|
-
export * from './core/Low';
|
|
3
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/index.ts
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2xvd2RiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxZQUFZLENBRXhCO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJEQUEyRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJzL01lbW9yeSdcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9Mb3cnXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbG93ZGIvaW5kZXgudHMiXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import { Adapter, SyncAdapter } from '../core/Low';
|
|
3
|
-
export declare class Memory<T> implements Adapter<T> {
|
|
4
|
-
__data: T | null;
|
|
5
|
-
read(): Promise<T | null>;
|
|
6
|
-
write(obj: T): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export declare class MemorySync<T> implements SyncAdapter<T> {
|
|
9
|
-
__data: T | null;
|
|
10
|
-
read(): T | null;
|
|
11
|
-
write(obj: T): void;
|
|
12
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
export interface Adapter<T> {
|
|
3
|
-
read: () => Promise<T | null>;
|
|
4
|
-
write: (data: T) => Promise<void>;
|
|
5
|
-
}
|
|
6
|
-
export interface SyncAdapter<T> {
|
|
7
|
-
read: () => T | null;
|
|
8
|
-
write: (data: T) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare class Low<T = unknown> {
|
|
11
|
-
adapter: Adapter<T>;
|
|
12
|
-
data: T;
|
|
13
|
-
constructor(adapter: Adapter<T>, defaultData: T);
|
|
14
|
-
read(): Promise<void>;
|
|
15
|
-
write(): Promise<void>;
|
|
16
|
-
update(fn: (data: T) => unknown): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
export declare class LowSync<T = unknown> {
|
|
19
|
-
adapter: SyncAdapter<T>;
|
|
20
|
-
data: T;
|
|
21
|
-
constructor(adapter: SyncAdapter<T>, defaultData: T);
|
|
22
|
-
read(): void;
|
|
23
|
-
write(): void;
|
|
24
|
-
update(fn: (data: T) => unknown): void;
|
|
25
|
-
}
|