From 996579f83a182c9ca393ebd8f3cd9c986fb2c3d5 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Tue, 14 May 2024 09:35:27 +0000 Subject: [PATCH] Auto-build folder html --- html/main.js | 4 ++-- html/main.js.map | 2 +- html/polyfills.js | 4 ++-- html/polyfills.js.map | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/html/main.js b/html/main.js index 33de14b6..bd1b4e23 100644 --- a/html/main.js +++ b/html/main.js @@ -9893,8 +9893,8 @@ class HistoryComponent { var _a; const { remote_addresses, employed_entries: { receive, spent }, subtransfers, fee } = transaction; const condition1 = remote_addresses === null || remote_addresses === void 0 ? void 0 : remote_addresses.includes((_a = this.variablesService.currentWallet) === null || _a === void 0 ? void 0 : _a.address); - const condition2 = [...receive, ...spent].map(({ asset_id }) => asset_id === _parts_data_assets__WEBPACK_IMPORTED_MODULE_2__.zanoAssetInfo.asset_id).every(Boolean); - const condition3 = subtransfers.length === 1 && subtransfers[0].asset_id === _parts_data_assets__WEBPACK_IMPORTED_MODULE_2__.zanoAssetInfo.asset_id && subtransfers[0].amount.eq(fee); + const condition2 = [...(receive !== null && receive !== void 0 ? receive : []), ...(spent !== null && spent !== void 0 ? spent : [])].map(({ asset_id }) => asset_id === _parts_data_assets__WEBPACK_IMPORTED_MODULE_2__.zanoAssetInfo.asset_id).every(Boolean); + const condition3 = (subtransfers === null || subtransfers === void 0 ? void 0 : subtransfers.length) === 1 && subtransfers[0].asset_id === _parts_data_assets__WEBPACK_IMPORTED_MODULE_2__.zanoAssetInfo.asset_id && subtransfers[0].amount.eq(fee); return condition1 && condition2 && condition3; } init() { diff --git a/html/main.js.map b/html/main.js.map index e37b749f..02438f51 100644 --- a/html/main.js.map +++ b/html/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;AAEyC;AAEU;AAGL;AACK;AAE5C,MAAM,sBAAsB,GAAoB;IACnD,QAAQ,EAAE,sEAAsB;IAChC,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,wDAAK;IACZ,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,KAAK;CACd,CAAC;AAEK,MAAM,MAAM;IA0Gf,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE;QAxG/F,YAAO,GAAG,KAAK,CAAC;QAOR,eAAU,GAAG,IAAI,iDAAe,CAAmC,SAAS,CAAC,CAAC;QAE9E,yBAAoB,GAAwB,EAAE,gBAAgB,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAwElH,6BAAwB,GAAG,KAAK,CAAC;QAQjC,YAAO,GAAiB,EAAE,CAAC;QAE3B,UAAK,GAAG,EAAE,CAAC;QAGX,qBAAgB,GAAiB,EAAE,CAAC;QAEpC,cAAS,GAAc,EAAE,CAAC;QAM1B,oBAAe,GAA2B,IAAI,CAAC;QAG3C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAE7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAjHD,IAAI,mBAAmB,CAAC,KAA0B;QAC9C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAI,sBAAsB;QACtB,MAAM,EAAE,gBAAgB,GAAG,EAAE,EAAE,eAAe,GAAE,EAAE,EAAE,UAAU,GAAE,EAAE,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACjG,OAAO;YACH,GAAG,gBAAgB;YACnB,GAAG,eAAe;YAClB,GAAG,UAAU;SAChB,CAAC;IACN,CAAC;IAED,IAAI,0BAA0B;QAC1B,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,IAAI,aAAa;QACb,OAAO;YACH,6DAAa;YACb,GAAG,IAAI,CAAC,sBAAsB;SACjC,CAAC;IACN,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,CAAC,KAAuC;QAChD,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,IAAI,KAAK,EAAE;YACP,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YACtF,IAAI,SAAS,IAAI,CAAC,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAChC;YACD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,mDAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,mDAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrH,YAAY,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,eAAe;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO,IAAI,CAAC;SACf;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,mDAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAqDD,kBAAkB,CAAC,YAAoB;;QACnC,OAAO,UAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IACxF,CAAC;IAED,yBAAyB,CAAC,UAAU;;QAChC,MAAM,WAAW,GAAG,WAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;QAChE,OAAO,IAAI,mDAAS,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,cAAc,CAAC,KAAoB;;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IACI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAI,WAAK,CAAC,CAAC,CAAC,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAC;gBACrF,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,KAAI,WAAK,CAAC,CAAC,CAAC,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAC,EACxF;gBACE,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wBACvD,MAAM,GAAG,IAAI,CAAC;wBACd,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BACrD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;yBACvC;wBACD,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,MAAM,EAAE;oBACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxC;aACJ;iBAAM;gBACH,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wBAC9C,MAAM,GAAG,IAAI,CAAC;wBACd,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;yBAC9B;wBACD,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,MAAM,EAAE;oBACT,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClC;yBAAM;wBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC/B;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,MAAM;aACT;SACJ;IACL,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/MD;AACA;AAKA;AACA;;;;;;AAqBO,IAAKK,UAAZ;;AAAA,WAAYA,UAAZ,EAAsB;EAClBA;EACAA;EACAA;AACH,CAJD,EAAYA,UAAU,KAAVA,UAAU,MAAtB;;AAMO,MAAMC,aAAa,GAAIC,KAAD,IAAqC;EAC9D,IAAI,CAACA,KAAL,EAAY;IACR,OAAO,IAAP;EACH;;EACD,MAAMC,KAAK,GAA6BC,KAAK,CAACC,OAAN,CAAcH,KAAd,KAAwBF,UAAU,CAACG,KAA3E;EACA,MAAMG,MAAM,GAAuBC,MAAM,CAACC,IAAP,CAAYR,UAAZ,EAAwBS,QAAxB,CAAiC,OAAOP,KAAxC,KAAkDF,UAAU,CAAC,OAAOE,KAAR,CAA/F;EACA,OAAOC,KAAK,IAAIG,MAAT,IAAmB,IAA1B;AACH,CAPM;AAaA,MAAMI,wBAAwB,GAA6B;EAC9D,CAACV,UAAU,CAACW,MAAZ,GAAsBT,KAAD,IAA2BA,KADc;EAE9D,CAACF,UAAU,CAACM,MAAZ,GAAsBJ,KAAD,IAA6BJ,gEAAA,CAAwBI,KAAxB,CAFY;EAG9D,CAACF,UAAU,CAACG,KAAZ,GAAqBD,KAAD,IAChBA,KAAK,CAACW,GAAN,CAAUC,CAAC,IAAG;IACV,OAAO,OAAOA,CAAP,KAAad,UAAU,CAACW,MAAxB,GAAkCG,CAAlC,GAAiDhB,gEAAA,CAAwBgB,CAAxB,CAAxD;EACH,CAFD;AAJ0D,CAA3D;AASA,MAAMC,eAAe,GAAIb,KAAD,IAAqC;EAChE,MAAMc,IAAI,GAAef,aAAa,CAACC,KAAD,CAAtC;EACA,OAAOQ,wBAAwB,CAACM,IAAD,CAAxB,CAA+Bd,KAA/B,CAAP;AACH,CAHM;AAmBA,IAAKe,wBAAZ;;AAAA,WAAYA,wBAAZ,EAAoC;EAChCA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;AACH,CAXD,EAAYA,wBAAwB,KAAxBA,wBAAwB,MAApC;;AAkBO,IAAKC,QAAZ;;AAAA,WAAYA,QAAZ,EAAoB;EAChBA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;EACAA;AACH,CA3ED,EAAYA,QAAQ,KAARA,QAAQ,MAApB;;AAgFM,MAAOC,cAAP,CAAqB;EASvBC,YACYC,SADZ,EAEYC,gBAFZ,EAGYC,YAHZ,EAIYC,cAJZ,EAKYC,MALZ,EAK0B;IAJd;IACA;IACA;IACA;IACA;IAbZ,gCAA2B,IAAI5B,yCAAJ,EAA3B;IAEA,iCAA4B,IAAIA,yCAAJ,EAA5B;IAIA,qBAAgB,KAAhB;EAQI;;EAEkB,OAAf6B,eAAe,CAACC,GAAD,EAAMC,GAAN,EAAS;IAC3B,IACIA,GAAG,CAACR,WAAJ,CAAgBS,IAAhB,KAAyB,WAAzB,IACA,CAAC,SAAD,EAAY,kBAAZ,EAAgC,QAAhC,EAA0C,KAA1C,EAAiD,OAAjD,EAA0D,QAA1D,EAAoE,UAApE,EAAgF,UAAhF,EAA4F,OAA5F,EAAqG,GAArG,EAA0GC,OAA1G,CAAkHH,GAAlH,MAA2H,CAAC,CAFhI,EAGE;MACE,OAAOC,GAAG,CAACG,QAAJ,EAAP;IACH;;IACD,IAAIJ,GAAG,KAAK,KAAR,IAAiBA,GAAG,KAAK,KAA7B,EAAoC;MAChC,KAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,GAAG,CAACK,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;QACjCJ,GAAG,CAACI,CAAD,CAAH,GAAS,IAAIjC,mDAAJ,CAAc6B,GAAG,CAACI,CAAD,CAAjB,CAAT;MACH;IACJ;;IACD,OAAOJ,GAAP;EACH;;EAEW,OAALM,KAAK,CAAClB,IAAD,EAAOmB,OAAP,EAAc;IACtB,QAAQnB,IAAR;MACI,KAAK,CAAL;QACIoB,OAAO,CAACC,KAAR,CAAcF,OAAd;QACA;;MACJ,KAAK,CAAL;QACIC,OAAO,CAACE,IAAR,CAAaH,OAAb;QACA;;MACJ,KAAK,CAAL;QACIC,OAAO,CAACG,GAAR,CAAYJ,OAAZ;QACA;;MACJ;QACIC,OAAO,CAACG,GAAR,CAAYJ,OAAZ;QACA;IAZR;EAcH;;EAEDK,cAAc,CAACC,OAAD,EAAoBC,QAApB,EAA4B;IACtC,IAAID,OAAO,KAAKvB,QAAQ,CAACyB,aAAzB,EAAwC;MACpC,KAAKC,aAAL,CAAmBH,OAAnB,EAA4BI,OAA5B,CAAoCH,QAApC;IACH,CAFD,MAEO;MACH,KAAKE,aAAL,CAAmBH,OAAnB,EAA4BI,OAA5B,CAAoCC,GAAG,IAAG;QACtCJ,QAAQ,CAAC5C,4DAAA,CAAoBgD,GAApB,EAAyB3B,cAAc,CAACO,eAAxC,CAAD,CAAR;MACH,CAFD;IAGH;EACJ;;EAEDsB,WAAW;IACP,OAAO,IAAIpD,4CAAJ,CAAeqD,QAAQ,IAAG;MAC7B,IAAI,CAAC,KAAKC,aAAV,EAAyB;QACrB,KAAKA,aAAL,GAAqB,IAArB;QACMC,MAAO,CAACC,WAAR,CAA0BD,MAAO,CAACE,EAAR,CAAWC,mBAArC,EAA0DC,OAAO,IAAG;UACtE,KAAKX,aAAL,GAAqBW,OAAO,CAACC,OAAR,CAAgBC,eAArC;UACAR,QAAQ,CAACS,IAAT,CAAc,sBAAd;QACH,CAHK;MAIT,CAND,MAMO;QACHT,QAAQ,CAACZ,KAAT,CAAe,oBAAf;;QACA,IAAI,CAAC,KAAKO,aAAV,EAAyB;UACrBK,QAAQ,CAACZ,KAAT,CAAe,0BAAf;QACH;MACJ;IACJ,CAbM,CAAP;EAcH;;EAEDsB,oBAAoB;IAChB,KAAKC,UAAL,CAAgB1C,QAAQ,CAAC2C,sBAAzB;EACH;;EAEDC,WAAW;IACP,KAAKF,UAAL,CAAgB1C,QAAQ,CAAC6C,eAAzB;EACH;;EAEDC,UAAU,CAACtB,QAAD,EAAS;IACf,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC+C,YAAzB,EAAuC,EAAvC,EAA2CvB,QAA3C;EACH;;EAEDwB,YAAY,CAACxB,QAAD,EAAU;IAClB,IAAI,KAAKpB,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,GAAuC,CAA3C,EAA8C;MAC1C,KAAKX,gBAAL,CAAsB8C,QAAtB,CAA+BD,OAA/B,GAAyC,EAAzC;MACA,KAAK7C,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;QAC3C,KAAKhD,gBAAL,CAAsB8C,QAAtB,CAA+BD,OAA/B,CAAuCI,IAAvC,CAA4C;UACxC1C,IAAI,EAAEyC,MAAM,CAACzC,IAD2B;UAExC2C,IAAI,EAAEF,MAAM,CAACE;QAF2B,CAA5C;MAIH,CALD;IAMH;;IACD,KAAKZ,UAAL,CAAgB1C,QAAQ,CAACuD,cAAzB,EAAyC,KAAKnD,gBAAL,CAAsB8C,QAA/D,EAAyE1B,QAAzE;EACH;;EAEDgC,gBAAgB,CAACC,IAAD,EAAOjC,QAAP,EAAe;IAC3B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC0D,mBAAzB,EAA8CD,IAA9C,EAAoDjC,QAApD;EACH;;EAEDmC,iBAAiB,CAACF,IAAD,EAAOjC,QAAP,EAAe;IAC5B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC4D,mBAAzB,EAA8CH,IAA9C,EAAoDjC,QAApD;EACH;;EAEDqC,mBAAmB,CAACJ,IAAD,EAAOjC,QAAP,EAAe;IAC9B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC8D,qBAAzB,EAAgDL,IAAhD,EAAsDjC,QAAtD;EACH;;EAEDuC,0BAA0B,CAACvC,QAAD,EAAS;IAC/B,MAAMwC,MAAM,GAAG,EAAf;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAACiE,6BAAzB,EAAwDD,MAAxD,EAAgExC,QAAhE;EACH;;EAED0C,0BAA0B,CAACC,KAAD,EAAM;IAC5B,KAAKzB,UAAL,CAAgB1C,QAAQ,CAACoE,6BAAzB,EAAwDD,KAAxD;EACH;;EAEDE,kBAAkB,CAAC7C,QAAD,EAAU;IACxB,MAAMyB,OAAO,GAAG,EAAhB;IACA,MAAMqB,QAAQ,GAAG,EAAjB;IACA,KAAKlE,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;MAC3CH,OAAO,CAACI,IAAR,CAAa;QACT1C,IAAI,EAAEyC,MAAM,CAACzC,IADJ;QAET8C,IAAI,EAAEL,MAAM,CAACK,IAFJ;QAGTH,IAAI,EAAEF,MAAM,CAACE,IAHJ;QAITiB,OAAO,EAAEnB,MAAM,CAACmB;MAJP,CAAb;IAMH,CAPD;IAQA,KAAKnE,gBAAL,CAAsBkE,QAAtB,CAA+BnB,OAA/B,CAAuCqB,OAAO,IAAG;MAC7CF,QAAQ,CAACjB,IAAT,CAAc;QACV1C,IAAI,EAAE6D,OAAO,CAAC7D,IADJ;QAEV8D,OAAO,EAAED,OAAO,CAACC,OAFP;QAGVC,KAAK,EAAEF,OAAO,CAACE;MAHL,CAAd;IAKH,CAND;IAOA,MAAMC,IAAI,GAAG;MAAE1B,OAAO,EAAEA,OAAX;MAAoBqB,QAAQ,EAAEA;IAA9B,CAAb;IACA,KAAK5C,aAAL,CAAmB1B,QAAQ,CAAC4E,qBAA5B,EAAmDC,IAAI,CAACnF,SAAL,CAAeiF,IAAf,CAAnD,EAAyE,KAAKvE,gBAAL,CAAsB0E,OAA/F,EAAwGC,SAAS,IAAG;MAChH,KAAKC,eAAL,CAAqBD,SAArB,EAAgC,EAAhC,EAAoCvD,QAApC,EAA8CxB,QAAQ,CAAC4E,qBAAvD;IACH,CAFD;EAGH;;EAEDK,iBAAiB,CAACzD,QAAD,EAAU;IACvB,KAAKE,aAAL,CAAmB1B,QAAQ,CAACkF,oBAA5B,EAAkDH,SAAS,IAAG;MAC1D,KAAKC,eAAL,CAAqBD,SAArB,EAAgC,EAAhC,EAAoCvD,QAApC,EAA8CxB,QAAQ,CAACkF,oBAAvD;IACH,CAFD;EAGH;;EAEDC,iBAAiB,CAAC3D,QAAD,EAAS;IACtB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACoF,oBAAzB,EAA+C,EAA/C,EAAmD5D,QAAnD;EACH;;EAED6D,cAAc,CAACC,OAAD,EAAUC,QAAV,EAAoBC,YAApB,EAAkChE,QAAlC,EAA0C;IACpD,MAAMiE,GAAG,GAAGD,YAAY,GAAGA,YAAH,GAAkB,GAA1C;IACA,MAAMxB,MAAM,GAAG;MACXsB,OAAO,EAAEA,OADE;MAEXI,QAAQ,EAAEH,QAFC;MAGXI,WAAW,EAAEF;IAHF,CAAf;IAKA,KAAK/C,UAAL,CAAgB1C,QAAQ,CAAC4F,oBAAzB,EAA+C5B,MAA/C,EAAuDxC,QAAvD;EACH;;EAEDqE,cAAc,CAACP,OAAD,EAAUI,QAAV,EAAoBF,YAApB,EAAkChE,QAAlC,EAA0C;IACpD,MAAMmE,WAAW,GAAGH,YAAY,GAAGA,YAAH,GAAkB,GAAlD;IACA,MAAMxB,MAAM,GAAG;MACXsB,OADW;MAEXI,QAFW;MAGXC;IAHW,CAAf;IAKA,KAAKjD,UAAL,CAAgB1C,QAAQ,CAAC8F,oBAAzB,EAA+C9B,MAA/C,EAAuDxC,QAAvD;EACH;;EAEDuE,SAAS,CAACzC,IAAD,EAAO0C,IAAP,EAAW;IAChB,KAAKtE,aAAL,CAAmB1B,QAAQ,CAACiG,aAA5B,EAA2C3C,IAA3C,EAAiD0C,IAAjD;EACH;;EAEDE,QAAQ,CAAC5C,IAAD,EAAO9B,QAAP,EAAe;IACnB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACmG,cAAzB,EAAyC7C,IAAzC,EAA+C9B,QAA/C;EACH;;EAED4E,UAAU,CAACpC,MAAD,EAASxC,QAAT,EAAiB;IACvB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACoG,UAAzB,EAAqCpC,MAArC,EAA6CxC,QAA7C;EACH;;EAED6E,cAAc,CAAC/C,IAAD,EAAOG,IAAP,EAAajC,QAAb,EAAqB;IAC/B,MAAMwC,MAAM,GAAG;MACXV,IAAI,EAAEA,IADK;MAEXG,IAAI,EAAEA;IAFK,CAAf;IAIA,KAAKf,UAAL,CAAgB1C,QAAQ,CAACsG,eAAzB,EAA0CtC,MAA1C,EAAkDxC,QAAlD;EACH;;EAED+E,mBAAmB,CAACC,WAAD,EAAY;IAC3B,KAAK9D,UAAL,CAAgB1C,QAAQ,CAACyG,qBAAzB,EAAgDD,WAAhD;EACH;;EAEDE,UAAU,CAACpD,IAAD,EAAOG,IAAP,EAAakD,aAAb,EAA4BC,SAA5B,EAAuCpF,QAAvC,EAA+C;IACrD,MAAMwC,MAAM,GAAG;MACXV,IAAI,EAAEA,IADK;MAEXG,IAAI,EAAEA,IAFK;MAGXkD,aAAa,EAAEA;IAHJ,CAAf;IAKA3C,MAAM,CAAC,WAAD,CAAN,GAAsB,CAAC,CAAC4C,SAAxB;IACA,KAAKlE,UAAL,CAAgB1C,QAAQ,CAAC6G,WAAzB,EAAsC7C,MAAtC,EAA8CxC,QAA9C;EACH;;EAEDsF,WAAW,CAACC,SAAD,EAAYvF,QAAZ,EAAqB;IAC5B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACgH,YAAzB,EAAuC;MAAED,SAAS,EAAE,CAACA;IAAd,CAAvC,EAAkEvF,QAAlE;EACH;;EAEDyF,kBAAkB,CAAC;IAAEF,SAAF;IAAaG;EAAb,CAAD,EAA+B1F,QAA/B,EAAuC;IACrD,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACmH,qBAAzB,EAAgD;MAAEJ,SAAS,EAAE,CAACA,SAAd;MAAyBG;IAAzB,CAAhD,EAA0F1F,QAA1F;EACH;;EAED4F,iBAAiB,CAACC,KAAD,EAAQ7F,QAAR,EAAgB;IAC7B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACsH,oBAAzB,EAA+CD,KAA/C,EAAsD7F,QAAtD;EACH;;EAED+F,SAAS,CAACR,SAAD,EAAYvF,QAAZ,EAAqB;IAC1B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACwH,UAAzB,EAAqC;MAAET,SAAS,EAAE,CAACA;IAAd,CAArC,EAAgEvF,QAAhE;EACH;;EAEDiG,wBAAwB,CAACJ,KAAD,EAAQ7F,QAAR,EAAgB;IACpC,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC0H,4BAAzB,EAAuDL,KAAvD,EAA8D7F,QAA9D;EACH;;EAEDmG,aAAa,CAACrE,IAAD,EAAOG,IAAP,EAAamE,WAAb,EAA0BC,SAA1B,EAAqCrG,QAArC,EAA6C;IACtD,MAAMwC,MAAM,GAAG;MACX4D,WAAW,EAAEA,WADF;MAEXtE,IAAI,EAAEA,IAFK;MAGXG,IAAI,EAAEA,IAHK;MAIXoE;IAJW,CAAf;IAMA,KAAKnF,UAAL,CAAgB1C,QAAQ,CAAC8H,cAAzB,EAAyC9D,MAAzC,EAAiDxC,QAAjD;EACH;;EAEDuG,SAAS,CAAC;IAAEhB,SAAF;IAAatC,OAAb;IAAsBuD,MAAtB;IAA8BC,GAA9B;IAAmCC,KAAnC;IAA0CC,OAA1C;IAAmDC,IAAnD;IAAyDC;EAAzD,CAAD,EAAuF7G,QAAvF,EAA+F;IACpG,MAAMwC,MAAM,GAAG;MACX+C,SADW;MAEXuB,YAAY,EAAE,CACV;QACI7D,OADJ;QAEIuD,MAFJ;QAGI,IAAIK,QAAQ,IAAI;UAAEA;QAAF,CAAhB;MAHJ,CADU,CAFH;MASXE,WAAW,EAAEL,KAAK,SAAL,SAAK,WAAL,WAAS,CATX;MAUXM,SAAS,EAAE,CAVA;MAWXP,GAAG,EAAE,KAAK3H,cAAL,CAAoBmI,SAApB,CAA8BR,GAA9B,CAXM;MAYXE,OAAO,EAAEA,OAZE;MAaXO,UAAU,EAAE,CAACN;IAbF,CAAf;IAgBA,KAAKO,SAAL,CAAe3I,QAAQ,CAAC4I,QAAxB,EAAkC5E,MAAlC,EAA0CxC,QAA1C;EACH;;EAEDqH,iBAAiB,CAAC7J,KAAD,EAAkD;IAC/D,MAAM;MAAE8J;IAAF,IAAa9J,KAAnB;IAEA,KAAK0D,UAAL,CAAgB1C,QAAQ,CAAC+I,oBAAzB,EAA+CD,MAA/C,EAAuD,MAAK;MACxD,KAAK1I,gBAAL,CAAsB8C,QAAtB,CAA+B8F,iBAA/B,GAAmDhK,KAAnD;MACA,KAAKgE,YAAL;IACH,CAHD;EAIH;;EAEDiG,eAAe,CAACxE,OAAD,EAAUjD,QAAV,EAAkB;IAC7B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACkJ,gBAAzB,EAA2CzE,OAA3C,EAAoDjD,QAApD;EACH;;EAED2H,YAAY,CAACvH,GAAD,EAAMJ,QAAN,EAAe;IACvB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACoJ,aAAzB,EAAwCxH,GAAxC,EAA6CJ,QAA7C;EACH;;EAED6H,YAAY,CAAC7H,QAAD,EAAS;IACjB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACsJ,aAAzB,EAAwC,EAAxC,EAA4C9H,QAA5C;EACH;;EAED+H,cAAc,CAACxC,SAAD,EAAYyC,KAAZ,EAAmBrB,OAAnB,EAA4BsB,MAA5B,EAAoCC,MAApC,EAA4CC,MAA5C,EAAoDC,QAApD,EAA8DC,QAA9D,EAAwEC,IAAxE,EAA8EC,UAA9E,EAA0FvI,QAA1F,EAAkG;IAC5G,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ,CADR;MAEXkD,OAAO,EAAE;QACLC,CAAC,EAAEV,KADE;QAELW,CAAC,EAAEhC,OAFE;QAGLsB,MAAM,EAAEA,MAHH;QAILC,MAAM,EAAEA,MAJH;QAKLC,MAAM,EAAE,KAAKrJ,cAAL,CAAoBmI,SAApB,CAA8BkB,MAA9B,CALH;QAMLC,QAAQ,EAAE,KAAKtJ,cAAL,CAAoBmI,SAApB,CAA8BmB,QAA9B,CANL;QAOLC,QAAQ,EAAE,KAAKvJ,cAAL,CAAoBmI,SAApB,CAA8BoB,QAA9B;MAPL,CAFE;MAWXE,UAAU,EAAEA,UAXD;MAYXK,iBAAiB,EAAEJ,QAAQ,CAACF,IAAD,EAAO,EAAP,CAAR,GAAqB,EAArB,GAA0B,EAZlC;MAaX7B,GAAG,EAAE,KAAK7H,gBAAL,CAAsBiK,eAbhB;MAcXC,KAAK,EAAE,KAAKlK,gBAAL,CAAsBiK;IAdlB,CAAf;IAgBApK,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBgD,MAAxB;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAACuK,eAAzB,EAA0CvG,MAA1C,EAAkDxC,QAAlD;EACH;;EAEDgJ,YAAY,CAACzD,SAAD,EAAYvF,QAAZ,EAAoB;IAC5B,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ;IADR,CAAf;IAGA9G,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBgD,MAAxB;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAACyK,aAAzB,EAAwCzG,MAAxC,EAAgDxC,QAAhD;EACH;;EAEDkJ,cAAc,CAAC3D,SAAD,EAAY4D,WAAZ,EAAyBnJ,QAAzB,EAAiC;IAC3C,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ,CADR;MAEX4D,WAAW,EAAEA;IAFF,CAAf;IAIA1K,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBgD,MAAxB;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAAC4K,eAAzB,EAA0C5G,MAA1C,EAAkDxC,QAAlD;EACH;;EAEDqJ,eAAe,CAAC9D,SAAD,EAAY4D,WAAZ,EAAyBG,YAAzB,EAAuCtJ,QAAvC,EAA+C;IAC1D,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ,CADR;MAEX4D,WAAW,EAAEA,WAFF;MAGXG,YAAY,EAAEA,YAHH,CAGiB;;IAHjB,CAAf;IAKA7K,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBgD,MAAxB;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAAC+K,gBAAzB,EAA2C/G,MAA3C,EAAmDxC,QAAnD;EACH;;EAEDwJ,qBAAqB,CAACjE,SAAD,EAAY4D,WAAZ,EAAyBb,IAAzB,EAA+BtI,QAA/B,EAAuC;IACxD,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ,CADR;MAEX4D,WAAW,EAAEA,WAFF;MAGX1C,GAAG,EAAE,KAAK7H,gBAAL,CAAsBiK,eAHhB;MAIXD,iBAAiB,EAAEJ,QAAQ,CAACF,IAAD,EAAO,EAAP,CAAR,GAAqB,EAArB,GAA0B;IAJlC,CAAf;IAMA7J,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBgD,MAAxB;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAACiL,uBAAzB,EAAkDjH,MAAlD,EAA0DxC,QAA1D;EACH;;EAED0J,oBAAoB,CAACnE,SAAD,EAAY4D,WAAZ,EAAyBnJ,QAAzB,EAAiC;IACjD,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ,CADR;MAEX4D,WAAW,EAAEA;IAFF,CAAf;IAIA1K,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBgD,MAAxB;IACA,KAAKtB,UAAL,CAAgB1C,QAAQ,CAACmL,sBAAzB,EAAiDnH,MAAjD,EAAyDxC,QAAzD;EACH;;EAED4J,gBAAgB,CAACrE,SAAD,EAAYvF,QAAZ,EAAoB;IAChC,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACqL,kBAAzB,EAA6C;MAAEtE,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ;IAArB,CAA7C,EAAqFvF,QAArF;EACH;;EAED8J,cAAc,CAACvE,SAAD,EAAYvF,QAAZ,EAAqB;IAC/B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACuL,gBAAzB,EAA2C;MAAExE,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ;IAArB,CAA3C,EAAmFvF,QAAnF;EACH;;EAEDgK,aAAa,CAACzE,SAAD,EAAYvF,QAAZ,EAAqB;IAC9B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACyL,eAAzB,EAA0C;MAAE1E,SAAS,EAAEiD,QAAQ,CAACjD,SAAD,EAAY,EAAZ;IAArB,CAA1C,EAAkFvF,QAAlF;EACH;;EAEDkK,gBAAgB,CAACC,GAAD,EAAMnK,QAAN,EAAe;IAC3B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC4L,mBAAzB,EAA8CD,GAA9C,EAAmDnK,QAAnD;EACH;;EAEDqK,aAAa,CAACC,IAAD,EAAOC,IAAP,EAAaC,IAAb,EAAmBxK,QAAnB,EAA2B;IACpC,MAAMwC,MAAM,GAAG;MACXiI,yBAAyB,EAAEH,IADhB;MAEXI,gBAAgB,EAAEH,IAFP;MAGXI,gBAAgB,EAAEnC,QAAQ,CAACgC,IAAD,EAAO,EAAP;IAHf,CAAf;IAKA,KAAKtJ,UAAL,CAAgB1C,QAAQ,CAAC6L,aAAzB,EAAwC7H,MAAxC,EAAgDxC,QAAhD;EACH;;EAED4K,aAAa,CAAC5K,QAAD,EAAS;IAClB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACqM,eAAzB,EAA0C,EAA1C,EAA8C7K,QAA9C;EACH;;EAED8K,sBAAsB,CAACC,YAAD,EAAe/C,KAAf,EAAsBhI,QAAtB,EAA+B;IACjD,MAAMwC,MAAM,GAAG;MACXwI,OAAO,EAAED,YADE;MAEXE,cAAc,EAAEjD;IAFL,CAAf;IAIA,KAAK9G,UAAL,CAAgB1C,QAAQ,CAAC0M,wBAAzB,EAAmD1I,MAAnD,EAA2DxC,QAA3D;EACH;;EAEDmL,aAAa,CAAC5F,SAAD,EAAY6F,KAAZ,EAAmBnI,OAAnB,EAA4BwD,GAA5B,EAAiCE,OAAjC,EAA0C0E,MAA1C,EAAkDrL,QAAlD,EAA0D;IACnE,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEA,SADA;MAEX6F,KAAK,EAAE;QACHA,KAAK,EAAEA,KADJ;QAEHnI,OAAO,EAAEA,OAFN;QAGHqI,YAAY,EAAE,EAHX;QAIH3E,OAAO,EAAEA;MAJN,CAFI;MAQXF,GAAG,EAAE,KAAK3H,cAAL,CAAoBmI,SAApB,CAA8BR,GAA9B,CARM;MASX4E,MAAM,EAAE,KAAKvM,cAAL,CAAoBmI,SAApB,CAA8BoE,MAA9B;IATG,CAAf;IAWA,KAAKnK,UAAL,CAAgB1C,QAAQ,CAAC+M,0BAAzB,EAAqD/I,MAArD,EAA6DxC,QAA7D;EACH;;EAEDwL,WAAW,CAACjG,SAAD,EAAY6F,KAAZ,EAAmB3E,GAAnB,EAAwBzG,QAAxB,EAAgC;IACvC,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAEA,SADA;MAEX6F,KAAK,EAAE;QACHA,KAAK,EAAEA,KAAK,CAACjM,IAAN,CAAWsM,OAAX,CAAmB,GAAnB,EAAwB,EAAxB,CADJ;QAEHxI,OAAO,EAAEmI,KAAK,CAACnI,OAFZ;QAGHqI,YAAY,EAAE,EAHX;QAIH3E,OAAO,EAAEyE,KAAK,CAACzE;MAJZ,CAFI;MAQXF,GAAG,EAAE,KAAK3H,cAAL,CAAoBmI,SAApB,CAA8BR,GAA9B;IARM,CAAf;IAUA,KAAKvF,UAAL,CAAgB1C,QAAQ,CAACkN,oBAAzB,EAA+ClJ,MAA/C,EAAuDxC,QAAvD;EACH;;EAED2L,aAAa,CAAC3L,QAAD,EAAS;IAClB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACoN,eAAzB,EAA0C,EAA1C,EAA8C5L,QAA9C;EACH;;EAED6L,kBAAkB,CAACrO,KAAD,EAAQwC,QAAR,EAAgB;IAC9B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACsN,sBAAzB,EAAiDtO,KAAjD,EAAwDwC,QAAxD;EACH;;EAED+L,iBAAiB,CAACvO,KAAD,EAAQwC,QAAR,EAAgB;IAC7B,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACwN,yBAAzB,EAAoDxO,KAApD,EAA2DwC,QAA3D;EACH;;EAEDiM,aAAa,CAACb,KAAD,EAAQpL,QAAR,EAAgB;IACzB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC0N,eAAzB,EAA0C;MAAE9N,CAAC,EAAEgN;IAAL,CAA1C,EAAwDpL,QAAxD;EACH;;EAEDmM,YAAY,CAACC,EAAD,EAAG;IACX,KAAKlL,UAAL,CAAgB1C,QAAQ,CAAC6N,aAAzB,EAAwC;MAAE9G,SAAS,EAAE6G;IAAb,CAAxC;EACH;;EAEDE,cAAc,CAACrJ,OAAD,EAAQ;IAClB,IAAIA,OAAO,KAAK,IAAZ,IAAoB,KAAKrE,gBAAL,CAAsB2N,YAAtB,KAAuC,CAA/D,EAAkE;MAC9D,IAAI,KAAK3N,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,KAAiD,IAArD,EAA2D;QACvD,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,IAAgD,EAAhD;;QACA,IAAI,KAAKrE,gBAAL,CAAsB6N,OAAtB,CAA8BlN,MAAlC,EAA0C;UACtC,KAAK,IAAID,CAAC,GAAG,CAAR,EAAWC,MAAM,GAAG,KAAKX,gBAAL,CAAsB6N,OAAtB,CAA8BlN,MAAvD,EAA+DD,CAAC,GAAGC,MAAnE,EAA2ED,CAAC,EAA5E,EAAgF;YAC5E,IAAIA,CAAC,IAAI,KAAKV,gBAAL,CAAsB6N,OAA3B,IAAsC,KAAK7N,gBAAL,CAAsB6N,OAAtB,CAA8BnN,CAA9B,EAAiC,SAAjC,MAAgD2D,OAA1F,EAAmG;cAC/F,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C,MAA9C,IAAwD,KAAKrE,gBAAL,CAAsB6N,OAAtB,CAA8BnN,CAA9B,EAAiCH,IAAzF;cACA,KAAKP,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C,SAA9C,IAA2D,KAAKrE,gBAAL,CAAsB6N,OAAtB,CAA8BnN,CAA9B,EAAiC2D,OAA5F;cACA,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C,SAA9C,IAA2D,KAAKrE,gBAAL,CAAsB6N,OAAtB,CAA8BnN,CAA9B,EAAiCqH,OAA5F;cACA,OAAO,KAAK/H,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,CAAP;YACH;UACJ;QACJ;;QACD,KAAK8I,iBAAL,CAAuB9I,OAAvB,EAAgC,CAACyJ,MAAD,EAASvJ,IAAT,KAAiB;UAC7C,IAAIuJ,MAAJ,EAAY;YACR,KAAK9N,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAACF,OAA1C,EAAmD,MAAnD,IAA6D,MAAME,IAAI,CAACiI,KAAxE;YACA,KAAKxM,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAACF,OAA1C,EAAmD,SAAnD,IAAgEE,IAAI,CAACF,OAArE;YACA,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAACF,OAA1C,EAAmD,SAAnD,IAAgEE,IAAI,CAACwD,OAArE;UACH;QACJ,CAND;MAOH;;MACD,OAAO,KAAK/H,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,CAAP;IACH;;IACD,OAAO,EAAP;EACH;;EAED0J,eAAe;IACX,IAAI,KAAK/N,gBAAL,CAAsBkE,QAAtB,CAA+BvD,MAA/B,GAAwC,CAAxC,IAA6C,KAAKX,gBAAL,CAAsB2N,YAAtB,KAAuC,CAAxF,EAA2F;MACvF,KAAK3N,gBAAL,CAAsBkE,QAAtB,CAA+B3E,GAA/B,CAAmC6E,OAAO,IAAG;QACzC,KAAK+I,iBAAL,CAAuB/I,OAAO,CAACC,OAA/B,EAAwC,CAACyJ,MAAD,EAASvJ,IAAT,KAAiB;UACrD,IAAIuJ,MAAJ,EAAY;YACR,IAAIvJ,IAAI,CAACiI,KAAT,EAAgB;cACZpI,OAAO,CAACoI,KAAR,GAAgB,MAAMjI,IAAI,CAACiI,KAA3B;YACH;UACJ,CAJD,MAIO;YACHpI,OAAO,CAACoI,KAAR,GAAgB,IAAhB;UACH;QACJ,CARD;MASH,CAVD;IAWH;EACJ;;EAEDwB,kBAAkB,CAACR,EAAD,EAAKS,MAAL,EAAaC,KAAb,EAAoBC,kBAApB,EAAwC/M,QAAxC,EAAgD;IAC9D,MAAMwC,MAAM,GAAG;MACX+C,SAAS,EAAE6G,EADA;MAEXS,MAAM,EAAEA,MAFG;MAGXC,KAAK,EAAEA,KAHI;MAIXC,kBAAkB,EAAEA;IAJT,CAAf;IAMA,KAAK7L,UAAL,CAAgB1C,QAAQ,CAACwO,oBAAzB,EAA+CxK,MAA/C,EAAuDxC,QAAvD;EACH;;EAEDiN,WAAW,CAACjN,QAAD,EAAS;IAChB,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC0O,gBAAzB,EAA2C,EAA3C,EAA+ClN,QAA/C;EACH;;EAEDmN,UAAU,CAACnN,QAAD,EAAS;IACf,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC4O,WAAzB,EAAsC,EAAtC,EAA0C,CAACV,MAAD,EAASW,OAAT,EAAkBC,YAAlB,KAAkC;MACxE,KAAKpM,UAAL,CAAgB1C,QAAQ,CAAC+O,gBAAzB,EAA2C,EAA3C,EAA+C,CAACC,cAAD,EAAiBlP,IAAjB,EAAuBmP,SAAvB,KAAoC;QAC/EzN,QAAQ,CAACqN,OAAD,EAAU/O,IAAV,EAAgBgP,YAAY,SAAZ,gBAAY,WAAZ,kBAAgBG,SAAhC,CAAR;MACH,CAFD;IAGH,CAJD;EAKH;;EAEDC,WAAW,CAACC,KAAD,EAAM;IACb,KAAKzM,UAAL,CAAgB1C,QAAQ,CAACoP,aAAzB,EAAwC;MAAExP,CAAC,EAAEuP;IAAL,CAAxC;EACH;;EAEDxG,SAAS,CAACpH,OAAD,EAAkByC,MAAlB,EAAoCxC,QAApC,EAA8E;IACnF,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACqP,UAAzB,EAAqC,CAAC9N,OAAD,EAAUyC,MAAV,CAArC,EAAwD,CAACkK,MAAD,EAAS;MAAEoB;IAAF,CAAT,KAA2C;MAC/F9N,QAAQ,CAAC8N,MAAD,CAAR;IACH,CAFD;EAGH;;EAEDC,uBAAuB;IACnB,KAAK7N,aAAL,CAAmB1B,QAAQ,CAACwP,0BAA5B,EAAwD7N,OAAxD,CAAgE,CAAC2N,MAAD,EAAiBG,SAAjB,KAAsC;MAClG,MAAMC,mBAAmB,GAAwB;QAC7CJ,MAAM,EAAE,CAACA,MADoC;QAE7CK,QAAQ,EAAE9K,IAAI,CAAChD,KAAL,CAAW4N,SAAX;MAFmC,CAAjD;MAIA,KAAKlP,MAAL,CAAYqP,GAAZ,CAAgB,MAAM,KAAKC,wBAAL,CAA8BrN,IAA9B,CAAmCkN,mBAAnC,CAAtB;IACH,CAND;EAOH;;EAEDI,wBAAwB;IACpB,KAAKpO,aAAL,CAAmB1B,QAAQ,CAAC+P,2BAA5B,EAAyDpO,OAAzD,CAAkEgO,QAAD,IAAqB;MAClF,MAAMK,kBAAkB,GAAuBnL,IAAI,CAAChD,KAAL,CAAW8N,QAAX,CAA/C;MACA,KAAKpP,MAAL,CAAYqP,GAAZ,CAAgB,MAAM,KAAKK,yBAAL,CAA+BzN,IAA/B,CAAoCwN,kBAApC,CAAtB;IACH,CAHD;EAIH;;EAEDE,YAAY,CAAClR,KAAD,EAAe;IACvB,KAAK0D,UAAL,CAAgB1C,QAAQ,CAACmQ,cAAzB,EAAyD;MACrDvQ,CAAC,EAAEZ;IADkD,CAAzD;EAGH;;EAEDoR,UAAU;IACN,KAAK1N,UAAL,CACI1C,QAAQ,CAACqQ,WADb,EAEI,EAFJ,EAGI,CACInC,MADJ,EAEI;MACIoC,mBADJ;MAEIC,cAFJ;MAGIC;IAHJ,CAFJ,KAOI;MACA,KAAKpQ,gBAAL,CAAsBqQ,oBAAtB,CAA2CjO,IAA3C,CAAgD8N,mBAAhD;MACA,KAAKlQ,gBAAL,CAAsBsQ,eAAtB,CAAsClO,IAAtC,CAA2C+N,cAA3C;MACA,KAAKnQ,gBAAL,CAAsBoQ,QAAtB,GAAiCA,QAAjC;IACH,CAdL;EAgBH;;EAEDG,gBAAgB,CACZ3M,MADY,EAEZxC,QAFY,EAYH;IAET,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC4Q,mBAAzB,EAA8C5M,MAA9C,EAAsDxC,QAAtD;EACH;;EAEDqP,mBAAmB,CACf7M,MADe,EAEfxC,QAFe,EAEiE;IAEhF,KAAKkB,UAAL,CAAgB1C,QAAQ,CAAC8Q,sBAAzB,EAAiD9M,MAAjD,EAAyDxC,QAAzD;EACH;;EAEDuP,aAAa,CAAChK,SAAD,EAAYvF,QAAZ,EAAsF;IAC/F,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACgR,eAAzB,EAA0C;MAAEjK;IAAF,CAA1C,EAAyDvF,QAAzD;EACH,CAlkBsB,CAokBvB;;;EACAyP,QAAQ,CAACjN,MAAD,EAAiCxC,QAAjC,EAAyF;IAC7F,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACiR,QAAzB,EAAmCjN,MAAnC,EAA2CxC,QAA3C;EACH;;EAED0P,eAAe,CAAClN,MAAD,EAA8DxC,QAA9D,EAAsH;IACjI,KAAKkB,UAAL,CAAgB1C,QAAQ,CAACkR,eAAzB,EAA0ClN,MAA1C,EAAkDxC,QAAlD;EACH;;EAEO2P,WAAW,CAAChQ,KAAD,EAAgB6C,MAAhB,EAAwBzC,OAAxB,EAAuC;IACtD,IAAI6P,eAAe,GAAG,EAAtB;;IACA,QAAQjQ,KAAR;MACI,KAAK,kBAAL;QACIiQ,eAAe,GAAG,yBAAlB,CADJ,CAEI;;QACA,IAAI7P,OAAO,KAAK,cAAhB,EAAgC;UAC5B6P,eAAe,GAAG,KAAKjR,SAAL,CAAekR,OAAf,CAAuB,8BAAvB,EAAuD;YACrEpJ,GAAG,EAAE,KAAK7H,gBAAL,CAAsBkR,WAD0C;YAErEC,QAAQ,EAAE,KAAKnR,gBAAL,CAAsBoR;UAFqC,CAAvD,CAAlB;QAIH;;QACD;;MACJ,KAAK,WAAL;QACIJ,eAAe,GAAG,kBAAlB;QACA;;MACJ,KAAK,MAAL;QACIA,eAAe,GAAG,oBAAlB;QACA;;MACJ,KAAK,UAAL;QACI,IAAI7P,OAAO,KAAK,iBAAhB,EAAmC;UAC/B6P,eAAe,GAAG,EAAlB;QACH;;QACD;;MACJ,KAAK,+BAAL;QACIA,eAAe,GAAG,kCAAlB;QACA;;MACJ,KAAK,eAAL;QACIA,eAAe,GAAG,8BAAlB;QACA;;MACJ,KAAK,cAAL;QACIA,eAAe,GAAG,yBAAlB;QACA;;MACJ,KAAK,eAAL;QACIA,eAAe,GAAG,sBAAlB;QACA;;MACJ,KAAK,aAAL;QACI;QACA;QACA;QACAA,eAAe,GAAG,0BAAlB,CAJJ,CAKI;;QACA;;MACJ,KAAK,gBAAL;QACIA,eAAe,GAAG,0BAAlB;QACA;;MACJ,KAAK,SAAL;QACIA,eAAe,GAAG,gBAAlB;QACA;;MACJ,KAAK,iBAAL;QACIA,eAAe,GAAG,wBAAlB;QACA;;MACJ,KAAK,iCAAL;QACIA,eAAe,GAAG,wCAAlB;QACA;MACJ;MACA;MACA;MACA;MACA;MACA;;MACA,KAAK,eAAL;QACI,IAAI7P,OAAO,KAAK,aAAhB,EAA+B;UAC3B6P,eAAe,GAAG,sBAAlB;QACH;;QACD;;MACJ,KAAK,gBAAL;QACI,IAAI7P,OAAO,KAAK,aAAZ,IAA6BA,OAAO,KAAK,wBAAzC,IAAqEA,OAAO,KAAK,2BAArF,EAAkH;UAC9G6P,eAAe,GAAG,KAAKjR,SAAL,CAAekR,OAAf,CAAuB,uBAAvB,CAAlB;UACArN,MAAM,GAAGa,IAAI,CAAChD,KAAL,CAAWmC,MAAX,CAAT;;UACA,IAAIA,MAAM,CAACV,IAAX,EAAiB;YACb8N,eAAe,IAAI,OAAOpN,MAAM,CAACV,IAAjC;UACH;QACJ;;QACD;;MACJ,KAAK,WAAL;QACI,IAAI/B,OAAO,KAAK,aAAZ,IAA6BA,OAAO,KAAK,wBAAzC,IAAqEA,OAAO,KAAK,2BAArF,EAAkH;UAC9G6P,eAAe,GAAG,KAAKjR,SAAL,CAAekR,OAAf,CAAuB,uBAAvB,CAAlB;UACArN,MAAM,GAAGa,IAAI,CAAChD,KAAL,CAAWmC,MAAX,CAAT;;UACA,IAAIA,MAAM,CAACV,IAAX,EAAiB;YACb8N,eAAe,IAAI,OAAOpN,MAAM,CAACV,IAAjC;UACH;QACJ;;QACD;;MACJ,KAAK,UAAL;MACA,KAAK,EAAL;QACI;;MACJ,KAAK,MAAL;QACI,IACI/B,OAAO,KAAK,iBAAZ,IACAA,OAAO,KAAK,iBADZ,IAEAA,OAAO,KAAK,kBAFZ,IAGAA,OAAO,KAAK,yBAHZ,IAIAA,OAAO,KAAK,wBALhB,EAME;UACE6P,eAAe,GAAG,GAAlB;QACH;;QACD;;MACJ,KAAK,gBAAL;QACIA,eAAe,GAAG,mBAAlB;QACA;;MACJ,KAAK,QAAL;QACInR,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwB,WAAWG,KAAK,+BAA+BI,OAAO,EAA9E;QACA;;MACJ;QACI6P,eAAe,GAAG,EAAlB;IAvGR;;IAyGA,IAAIjQ,KAAK,CAACP,OAAN,CAAc,0BAAd,IAA4C,CAAC,CAAjD,EAAoD;MAChDwQ,eAAe,GAAG,uBAAlB;IACH;;IACD,IAAIjQ,KAAK,CAACP,OAAN,CAAc,qDAAd,IAAuE,CAAC,CAAxE,IAA6EW,OAAO,KAAK,iBAA7F,EAAgH;MAC5G6P,eAAe,GAAG,EAAlB;IACH;;IAED,IAAIA,eAAe,KAAK,EAAxB,EAA4B;MACxB,KAAK/Q,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCL,eAAxC;IACH;EACJ;;EAEOM,YAAY,CAACnQ,OAAD,EAAoByC,MAApB,EAAoC2N,MAApC,EAA+C;IAC/D1R,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwB,uBAAuBO,OAAvB,GAAiC,oBAAzD;IACA,MAAMqQ,KAAK,GAAG;MACVC,YAAY,EAAE7N,MADJ;MAEV8N,OAAO,EAAEH;IAFC,CAAd;IAIA1R,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwB4Q,KAAxB;;IACA,IAAI;MACA3R,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwBpC,4DAAA,CAAoB+S,MAApB,EAA4B1R,cAAc,CAACO,eAA3C,CAAxB;IACH,CAFD,CAEE,OAAOuR,CAAP,EAAU;MACR9R,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwB;QAAEgR,aAAa,EAAEL,MAAjB;QAAyBM,UAAU,EAAE;MAArC,CAAxB;IACH;EACJ;;EAEOjN,eAAe,CAACkN,SAAD,EAAYlO,MAAZ,EAAoBxC,QAApB,EAA8BD,OAA9B,EAA+C;IAClE,IAAI4Q,MAAM,GAAGD,SAAb;;IACA,IAAI3Q,OAAO,KAAKvB,QAAQ,CAACsJ,aAAzB,EAAwC;MACpC,IAAI,CAAC4I,SAAD,IAAcA,SAAS,KAAK,EAAhC,EAAoC;QAChCC,MAAM,GAAG,EAAT;MACH,CAFD,MAEO;QACH,IAAI;UACAA,MAAM,GAAGvT,4DAAA,CAAoBsT,SAApB,EAA+BjS,cAAc,CAACO,eAA9C,CAAT;QACH,CAFD,CAEE,OAAOuR,CAAP,EAAU;UACRI,MAAM,GAAG;YAAEH,aAAa,EAAEE,SAAjB;YAA4BD,UAAU,EAAE;UAAxC,CAAT;QACH;MACJ;IACJ,CAVD,MAUO;MACHE,MAAM,GAAG;QACLF,UAAU,EAAE,IADP;QAELD,aAAa,EAAEG;MAFV,CAAT;IAIH;;IAED,MAAMC,SAAS,GAAGD,MAAM,CAACF,UAAP,KAAsB,WAAxC;IACA,MAAMI,MAAM,GAAGF,MAAM,CAACF,UAAP,KAAsB,IAAtB,IAA8BE,MAAM,CAACF,UAAP,KAAsB,MAAnE;;IAEA,IAAI,CAACI,MAAD,IAAWA,MAAM,KAAKC,SAAtB,IAAmCH,MAAM,CAACF,UAAP,KAAsBK,SAA7D,EAAwE;MACpErS,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwB,6BAA6BO,OAA7B,GAAuC,iBAAvC,GAA2D4Q,MAAM,CAACF,UAA1F;IACH;;IACD,MAAMtN,IAAI,GAAG,OAAOwN,MAAP,KAAkB,QAAlB,IAA8B,mBAAmBA,MAAjD,GAA0DA,MAAM,CAACH,aAAjE,GAAiFG,MAA9F;IAEA,IAAII,cAAc,GAAG,KAArB;;IACA,IACI,OAAOJ,MAAP,KAAkB,QAAlB,IACA,gBAAgBA,MADhB,IAEAA,MAAM,CAACF,UAAP,KAAsB,IAFtB,IAGAE,MAAM,CAACF,UAAP,KAAsB,MAHtB,IAIAE,MAAM,CAACF,UAAP,KAAsB,OAJtB,IAKAE,MAAM,CAACF,UAAP,KAAsB,MAN1B,EAOE;MACE,IAAIG,SAAJ,EAAe;QACXI,UAAU,CAAC,MAAK;UACZ;UACA;UACA,IAAIjR,OAAO,KAAKvB,QAAQ,CAACwO,oBAAzB,EAA+C;YAC3C,KAAK9L,UAAL,CAAgBnB,OAAhB,EAAyByC,MAAzB,EAAiCxC,QAAjC;UACH,CAFD,MAEO;YACH,MAAMiR,iBAAiB,GAAG,KAAKrS,gBAAL,CAAsBsS,aAAtB,CAAoC3L,SAA9D;;YACA,IAAI0L,iBAAiB,KAAKzO,MAAM,CAAC+C,SAAjC,EAA4C;cACxC,KAAKrE,UAAL,CAAgBnB,OAAhB,EAAyByC,MAAzB,EAAiCxC,QAAjC;YACH;UACJ;QACJ,CAXS,EAWP,EAXO,CAAV;MAYH,CAbD,MAaO;QACH,KAAK2P,WAAL,CAAiBgB,MAAM,CAACF,UAAxB,EAAoCjO,MAApC,EAA4CzC,OAA5C;QACAgR,cAAc,GAAGJ,MAAM,CAACF,UAAxB;MACH;IACJ;;IAED,IAAI,CAACG,SAAL,EAAgB;MACZ,IAAI,OAAO5Q,QAAP,KAAoB,UAAxB,EAAoC;QAChCA,QAAQ,CAAC6Q,MAAD,EAAS1N,IAAT,EAAe4N,cAAf,CAAR;MACH,CAFD,MAEO;QACH,OAAO5N,IAAP;MACH;IACJ;EACJ;;EAEOjC,UAAU,CAACnB,OAAD,EAAoByC,MAApB,EAAqCxC,QAArC,EAA8C;IAC5D,IAAI,CAAC,KAAKE,aAAV,EAAyB;MACrB;IACH;;IAED,IAAIH,OAAO,KAAKvB,QAAQ,CAACwO,oBAAzB,EAA+C;MAC3C,KAAKpO,gBAAL,CAAsBoO,oBAAtB,GAA6C,IAA7C;IACH;;IAED,MAAMmE,MAAM,GAAG,KAAKjR,aAAL,CAAmBH,OAAnB,CAAf;;IAEA,IAAI,CAACoR,MAAL,EAAa;MACT1S,cAAc,CAACe,KAAf,CAAqB,CAArB,EAAwB,iCAAiCO,OAAjC,GAA2C,iCAAnE;MACA;IACH;;IAED,MAAMzB,IAAI,GAAef,aAAa,CAACiF,MAAD,CAAtC;IACAA,MAAM,GAAGA,MAAM,IAAInE,eAAe,CAACmE,MAAD,CAAlC;;IAEA,IAAIlE,IAAI,KAAKhB,UAAU,CAACG,KAAxB,EAA+B;MAC3B0T,MAAM,CAAC,GAAI3O,MAAL,EAA0BkO,SAAS,IAAG;QACxC,KAAKR,YAAL,CAAkBnQ,OAAlB,EAA2ByC,MAA3B,EAAmCkO,SAAnC;QACA,OAAO,KAAKlN,eAAL,CAAqBkN,SAArB,EAAgClO,MAAhC,EAAwCxC,QAAxC,EAAkDD,OAAlD,CAAP;MACH,CAHK,CAAN;MAIA;IACH;;IAED,IAAIA,OAAO,KAAKvB,QAAQ,CAACwO,oBAAzB,EAA+C;MAC3C,KAAKpO,gBAAL,CAAsBoO,oBAAtB,GAA6C,KAA7C;IACH;;IACDmE,MAAM,CAAC3O,MAAD,EAASkO,SAAS,IAAG;MACvB,KAAKR,YAAL,CAAkBnQ,OAAlB,EAA2ByC,MAA3B,EAAmCkO,SAAnC;MACA,OAAO,KAAKlN,eAAL,CAAqBkN,SAArB,EAAgClO,MAAhC,EAAwCxC,QAAxC,EAAkDD,OAAlD,CAAP;IACH,CAHK,CAAN;EAIH;;AApzBsB;;;mBAAdtB,gBAAc2S,sDAAAA,CAAAA,iEAAAA,GAAAA,sDAAAA,CAAAA,+EAAAA,GAAAA,sDAAAA,CAAAA,uEAAAA,GAAAA,sDAAAA,CAAAA,4FAAAA,GAAAA,sDAAAA,CAAAA,iDAAAA;AAAA;;;SAAd3S;EAAc4S,SAAd5S,cAAc;EAAA6S,YAFX;;;;;;;;;;;;;;;;;AC3KmC;AACD;;AAO3C,MAAM,eAAe;IAH5B;QAIY,eAAU,GAAG,qDAAM,CAAC,4DAAU,CAAC,CAAC;KAK3C;IAHG,WAAW;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAW,6CAA6C,CAAC,CAAC;IACxF,CAAC;;8EALQ,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFZ,MAAM;;;;;;;;;;;;;;;;;ACNyB;;;AAOxC,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAHf,iEAAoB,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,EAC9D,yDAAY;mIAEb,gBAAgB,oFAFf,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL1B;AAGA;AAIA;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;IAOQF,wDAAAA;;;;;;IAGIA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IARRA,6DAAAA;IACIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,wDAAAA;IACJA,2DAAAA;;;;;IAVQA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAMRA,6DAAAA,cAAiF,CAAjF,EAAiF,GAAjF,EAAiF,CAAjF;IAEQA,qDAAAA;;;IACJA,2DAAAA;IACAA,wDAAAA;IACJA,2DAAAA;;;;;IAHQA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA,OAAAA,0DAAAA;;;;;;IAORA,wDAAAA;;;;;IAAsDA,yDAAAA;;;;;;;;;;;;AAGxD,MAAOU,YAAP,CAAmB;EAiBrBpT,YACWE,gBADX,EAEWD,SAFX,EAGYoT,IAHZ,EAIYC,QAJZ,EAKYC,cALZ,EAMYC,MANZ,EAOYnT,MAPZ,EAQYoT,cARZ,EASYtT,YATZ,EAUYuT,KAVZ,EAWYC,MAXZ,EAYWC,kBAZX,EAYiD;IAXtC;IACA;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD;IAtBX,qBAAgB,KAAhB;IAEA,wBAAmB,KAAnB;IAEA,qBAAgB,KAAhB;IAEA,uBAAkB,EAAlB;IAEQ,gBAAW,IAAInV,0CAAJ,EAAX;IAgBJwB,SAAS,CAAC4T,QAAV,CAAmB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,CAAnB;IACA5T,SAAS,CAAC6T,cAAV,CAAyB,IAAzB;IACA7T,SAAS,CAAC8T,GAAV,CAAc,IAAd,EAAoBC,SAApB,CAA8B;MAC1B1R,IAAI,EAAE,MAAK;QACP,KAAK2R,aAAL,GAAqB,IAArB;MACH;IAHyB,CAA9B;EAKH;;EAED7H,sBAAsB;IAClB,IAAI,KAAK6H,aAAT,EAAwB;MACpB,MAAM5H,YAAY,GAAG,CACjB,KAAKpM,SAAL,CAAekR,OAAf,CAAuB,2BAAvB,CADiB,EAEjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,kCAAvB,CAFiB,EAGjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,mCAAvB,CAHiB,EAIjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,kDAAvB,CAJiB,EAKjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,gDAAvB,CALiB,EAMjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,4BAAvB,CANiB,EAOjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,6BAAvB,CAPiB,EAQjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,kCAAvB,CARiB,EASjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,8BAAvB,CATiB,EAUjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,qCAAvB,CAViB,EAWjB,KAAKlR,SAAL,CAAekR,OAAf,CAAuB,yCAAvB,CAXiB,CAArB;MAaA,KAAKoC,cAAL,CAAoBnH,sBAApB,CAA2CC,YAA3C,EAAyD,KAAKnM,gBAAL,CAAsB8C,QAAtB,CAA+BkR,QAAxF;IACH,CAfD,MAeO;MACHlT,OAAO,CAACE,IAAR,CAAa,oBAAb;MACAoR,UAAU,CAAC,MAAK;QACZ,KAAKlG,sBAAL;MACH,CAFS,EAEP,KAFO,CAAV;IAGH;EACJ;;EAED+H,QAAQ;IAAA;;IACJ,KAAKZ,cAAL,CAAoB3R,WAApB,GAAkCoS,SAAlC,CAA4C;MACxC1R,IAAI,EAAE8R,WAAW,IAAG;QAChBpT,OAAO,CAACG,GAAR,CAAY,gBAAZ,EAA8BiT,WAA9B;QACA,KAAKb,cAAL,CAAoBhR,oBAApB;QAEA,KAAKgR,cAAL,CAAoB5H,aAApB,CAAkC,KAAlC,EAAyC,WAAzC,EAAsD,KAAtD,EAA6D,CAAC0I,GAAD,EAAMC,GAAN,KAAa;UACtEtT,OAAO,CAACG,GAAR,CAAYkT,GAAZ,EAAiBC,GAAjB;QACH,CAFD;QAIA,KAAKf,cAAL,CAAoBnS,cAApB,CAAmCtB,kFAAnC,oKAA4D,aAAW;UACnE,IAAI,KAAI,CAAC0U,aAAT,EAAwB;YACpB;UACH,CAHkE,CAKnE;UACA;UACA;;;UAEA,KAAI,CAACb,MAAL,CAAYc,QAAZ;;UACA,KAAI,CAACC,eAAL,GAAuB,EAAvB;UACA,KAAI,CAACxU,gBAAL,CAAsB2N,YAAtB,GAAqC,CAArC;;UAEA,MAAM8G,YAAY,GAAG,MAAW;YAC5B,KAAI,CAACpB,cAAL,CAAoBzQ,YAApB,CAAiC,MAAW;cACxC,MAAM8R,qBAAqB,GAAG,MAAW;gBACrC,IAAI,KAAI,CAAC1U,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,GAAuC,CAA3C,EAA8C;kBAC1C,MAAMgU,SAAS,GAAG,KAAI,CAAC3U,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,GAAuC,CAAzD;;kBACA,KAAI,CAAC0S,cAAL,CAAoB3M,WAApB,CAAgC,KAAI,CAAC1G,gBAAL,CAAsB6C,OAAtB,CAA8B8R,SAA9B,EAAyChO,SAAzE,EAAoF,MAAK;oBACrF,KAAI,CAAC3G,gBAAL,CAAsB6C,OAAtB,CAA8B+R,MAA9B,CAAqCD,SAArC,EAAgD,CAAhD;;oBACAD,qBAAqB;kBACxB,CAHD;gBAIH,CAND,MAMO;kBACH,KAAI,CAACvU,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAI,CAAC6D,cAAL,CAAoB7Q,WAApB;kBACH,CAFD;gBAGH;cACJ,CAZD;;cAaAkS,qBAAqB;YACxB,CAfD;UAgBH,CAjBD;;UAkBA,IAAI,KAAI,CAAC1U,gBAAL,CAAsB0E,OAA1B,EAAmC;YAC/B,KAAI,CAAC2O,cAAL,CAAoBpP,kBAApB,CAAuCwQ,YAAvC;UACH,CAFD,MAEO;YACHA,YAAY;UACf;;UAED,KAAI,CAACH,aAAL,GAAqB,IAArB;QACH,CAtCD;QAwCA,KAAKjB,cAAL,CAAoBnS,cAApB,CAAmCtB,wFAAnC,EAAkE2E,IAAI,IAAG;UACrEzD,OAAO,CAACG,GAAR,CAAY,0DAAZ;UACAH,OAAO,CAACG,GAAR,CAAYsD,IAAZ;UAEA,MAAMuQ,YAAY,GAAGvQ,IAAI,CAACuQ,YAA1B;UACA,MAAMC,SAAS,GAAGxQ,IAAI,CAACwQ,SAAvB;UACA,MAAM/R,MAAM,GAAG,KAAKhD,gBAAL,CAAsBgV,SAAtB,CAAgCzQ,IAAI,CAACoC,SAArC,CAAf,CANqE,CAOrE;;UACA,IAAI3D,MAAJ,EAAY;YACR,KAAK7C,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjBxM,MAAM,CAACiS,MAAP,GAAgB,KAAhB;cACAjS,MAAM,CAACmB,OAAP,GAAiB4Q,SAAjB;;cACA,IAAID,YAAY,KAAK,CAArB,EAAwB;gBACpB;gBACA9R,MAAM,CAACiS,MAAP,GAAgB,IAAhB;cACH;;cACD,IAAIH,YAAY,KAAK,CAArB,EAAwB,CACpB;gBACA;cACH;;cACD9R,MAAM,CAACkS,QAAP,GAAkB3Q,IAAI,CAAC2Q,QAAvB;cACAlS,MAAM,CAACmS,WAAP,GAAqB5Q,IAAI,CAAC6Q,YAA1B;cACApS,MAAM,CAACqS,eAAP,GAAyB9Q,IAAI,CAAC+Q,6BAA9B;cACAtS,MAAM,CAACuS,wBAAP,GAAkChR,IAAI,CAACgR,wBAAvC;YACH,CAfD;UAgBH;QACJ,CA1BD;QA4BA,KAAKlC,cAAL,CAAoBnS,cAApB,CAAmCtB,wFAAnC,EAAkE2E,IAAI,IAAG;UACrEzD,OAAO,CAACG,GAAR,CAAY,0DAAZ;UACAH,OAAO,CAACG,GAAR,CAAYsD,IAAZ;UACA,MAAMvB,MAAM,GAAG,KAAKhD,gBAAL,CAAsBgV,SAAtB,CAAgCzQ,IAAI,CAACoC,SAArC,CAAf;;UACA,IAAI3D,MAAJ,EAAY;YACR,KAAK7C,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjBxM,MAAM,CAACyS,QAAP,GAAkBlR,IAAI,CAACkR,QAAL,GAAgB,CAAhB,GAAoB,CAApB,GAAwBlR,IAAI,CAACkR,QAAL,GAAgB,GAAhB,GAAsB,GAAtB,GAA4BlR,IAAI,CAACkR,QAA3E;;cACA,IAAI,CAAC,KAAKzV,gBAAL,CAAsB0V,YAA3B,EAAyC;gBACrC,KAAK1V,gBAAL,CAAsB0V,YAAtB,GAAqC,IAArC;gBACA,KAAK1V,gBAAL,CAAsB2V,YAAtB,CAAmC3S,MAAM,CAAC2D,SAA1C,IAAuD,IAAvD;cACH;;cACD,KAAKiP,UAAL,CAAgB5S,MAAhB,EAAwB,IAAxB,EANiB,CAMc;;cAC/B,IAAIA,MAAM,CAACyS,QAAP,KAAoB,CAAxB,EAA2B;gBACvBzS,MAAM,CAACiS,MAAP,GAAgB,KAAhB;cACH,CAFD,MAEO,IAAIjS,MAAM,CAACyS,QAAP,KAAoB,GAAxB,EAA6B;gBAChCzS,MAAM,CAACiS,MAAP,GAAgB,IAAhB;gBACA,KAAKW,UAAL,CAAgB5S,MAAhB,EAAwB,KAAxB;gBACA,KAAKhD,gBAAL,CAAsB0V,YAAtB,GAAqC,KAArC;gBACA,KAAK1V,gBAAL,CAAsB2V,YAAtB,CAAmC3S,MAAM,CAAC2D,SAA1C,IAAuD,KAAvD;cACH;YACJ,CAfD;UAgBH;QACJ,CAtBD;QAwBA,KAAK0M,cAAL,CAAoBnS,cAApB,CAAmCtB,uFAAnC,EAAiE2E,IAAI,IAAG;UACpEzD,OAAO,CAACG,GAAR,CAAY,yDAAZ;UACAH,OAAO,CAACG,GAAR,CAAY,YAAYsD,IAAI,CAACuR,oBAA7B;UACAhV,OAAO,CAACG,GAAR,CAAYsD,IAAZ,EAHoE,CAIpE;;UACA,KAAKvE,gBAAL,CAAsB+V,WAAtB,CAAkCxR,IAAI,CAAC,6BAAD,CAAJ,GAAsC,GAAtC,GAA4C,CAA9E;UACA,KAAKvE,gBAAL,CAAsBgW,qBAAtB,GAA8CzR,IAAI,CAACyR,qBAAnD;UACA,KAAKhW,gBAAL,CAAsBiW,oBAAtB,GAA6C1R,IAAI,CAAC0R,oBAAlD;UACA,KAAKjW,gBAAL,CAAsBkW,sBAAtB,GAA+C3R,IAAI,CAAC2R,sBAApD;UACA,KAAKlW,gBAAL,CAAsBmW,YAAtB,CAAmC5R,IAAI,CAAC6R,MAAxC;UACA,KAAKpW,gBAAL,CAAsBqW,YAAtB,CAAmC9R,IAAI,CAAC+R,mBAAxC;UAEA,KAAKtW,gBAAL,CAAsBuW,kBAAtB,CAAyChS,IAAI,CAACiS,gBAA9C;UACA,KAAKxW,gBAAL,CAAsByW,aAAtB,CAAoClS,IAAI,CAACmS,wBAAzC;UAEA,KAAKrD,cAAL,CAAoBtF,eAApB;UACA,KAAK5N,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;YACjB,KAAKxP,gBAAL,CAAsB2N,YAAtB,GAAqCpJ,IAAI,CAAC,sBAAD,CAAzC;;YACA,IAAIA,IAAI,CAAC,sBAAD,CAAJ,KAAiC,CAArC,EAAwC;cACpC,MAAMoS,GAAG,GAAGpS,IAAI,CAAC,qBAAD,CAAJ,GAA8BA,IAAI,CAAC,8BAAD,CAA9C;cACA,MAAMqS,OAAO,GAAGrS,IAAI,CAAC6R,MAAL,GAAc7R,IAAI,CAAC,8BAAD,CAAlC;cACA,MAAMsS,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAaH,OAAO,GAAG,GAAX,GAAkBD,GAAnB,GAA0B,GAArC,IAA4C,GAA/D;;cACA,IAAIA,GAAG,KAAK,CAAR,IAAaE,UAAU,GAAG,CAA9B,EAAiC;gBAC7B,KAAK7W,gBAAL,CAAsBgX,IAAtB,CAA2BC,cAA3B,GAA4C,CAA5C;gBACA,KAAKjX,gBAAL,CAAsBgX,IAAtB,CAA2BE,mBAA3B,GAAiD,MAAjD;cACH,CAHD,MAGO,IAAIL,UAAU,IAAI,GAAlB,EAAuB;gBAC1B,KAAK7W,gBAAL,CAAsBgX,IAAtB,CAA2BC,cAA3B,GAA4C,GAA5C;gBACA,KAAKjX,gBAAL,CAAsBgX,IAAtB,CAA2BE,mBAA3B,GAAiD,OAAjD;cACH,CAHM,MAGA;gBACH,KAAKlX,gBAAL,CAAsBgX,IAAtB,CAA2BC,cAA3B,GAA4CJ,UAA5C;gBACA,KAAK7W,gBAAL,CAAsBgX,IAAtB,CAA2BE,mBAA3B,GAAiDL,UAAU,CAACM,OAAX,CAAmB,CAAnB,CAAjD;cACH;YACJ;;YAED,IAAI5S,IAAI,CAAC,sBAAD,CAAJ,KAAiC,CAArC,EAAwC;cACpC,MAAMoS,GAAG,GAAGpS,IAAI,CAAC,0BAAD,CAAhB;cACA,MAAMqS,OAAO,GAAGrS,IAAI,CAAC,kBAAD,CAApB;cACA,MAAMsS,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAYH,OAAO,GAAGD,GAAX,GAAkB,GAA7B,CAAnB;;cACA,IAAIA,GAAG,KAAK,CAAR,IAAaE,UAAU,GAAG,CAA9B,EAAiC;gBAC7B,KAAK7W,gBAAL,CAAsBoX,QAAtB,CAA+BH,cAA/B,GAAgD,CAAhD;gBACA,KAAKjX,gBAAL,CAAsBoX,QAAtB,CAA+BF,mBAA/B,GAAqD,MAArD;cACH,CAHD,MAGO,IAAIL,UAAU,IAAI,GAAlB,EAAuB;gBAC1B,KAAK7W,gBAAL,CAAsBoX,QAAtB,CAA+BH,cAA/B,GAAgD,GAAhD;gBACA,KAAKjX,gBAAL,CAAsBoX,QAAtB,CAA+BF,mBAA/B,GAAqD,OAArD;cACH,CAHM,MAGA;gBACH,KAAKlX,gBAAL,CAAsBoX,QAAtB,CAA+BH,cAA/B,GAAgDJ,UAAhD;gBACA,KAAK7W,gBAAL,CAAsBoX,QAAtB,CAA+BF,mBAA/B,GAAqDL,UAAU,CAACM,OAAX,CAAmB,CAAnB,CAArD;cACH;YACJ;UACJ,CAjCD;;UAkCA,IAAI,CAAC,KAAKE,gBAAN,IAA0B9S,IAAI,CAAC,sBAAD,CAAJ,KAAiC,CAA/D,EAAkE;YAC9D,KAAK+S,UAAL;YACA,KAAKjE,cAAL,CAAoBtF,eAApB;YACA,KAAKsF,cAAL,CAAoBrH,aAApB,CAAkC,CAACuL,UAAD,EAAaC,QAAb,KAAyB;cACvD,KAAKxX,gBAAL,CAAsBiK,eAAtB,GAAwC,IAAIxL,mDAAJ,CAAc+Y,QAAd,CAAxC;cACA,KAAKxX,gBAAL,CAAsBkR,WAAtB,GAAoC,KAAKqC,cAAL,CAAoBlL,SAApB,CAA8BmP,QAA9B,CAApC;YACH,CAHD;YAIA,KAAKH,gBAAL,GAAwB,IAAxB;UACH;QACJ,CA3DD;QA6DA,KAAKhE,cAAL,CAAoBnS,cAApB,CAAmCtB,kFAAnC,EAA4D2E,IAAI,IAAG;UAC/DzD,OAAO,CAACG,GAAR,CAAY,oDAAZ;UACAH,OAAO,CAACG,GAAR,CAAYsD,IAAZ;;UAEA,IAAI,CAACA,IAAI,CAACmT,EAAV,EAAc;YACV;UACH;;UAED,MAAM/Q,SAAS,GAAGpC,IAAI,CAACoC,SAAvB;UACA,MAAMgR,OAAO,GAAGpT,IAAI,CAACmT,EAArB;UAEA,MAAM1U,MAAM,GAAG,KAAKhD,gBAAL,CAAsBgV,SAAtB,CAAgCrO,SAAhC,CAAf;;UACA,IAAI3D,MAAJ,EAAY;YACR,IAAIA,MAAM,CAAC4U,OAAP,CAAejX,MAAf,GAAwB,EAA5B,EAAgC;cAC5BqC,MAAM,CAAC4U,OAAP,CAAehD,MAAf,CAAsB,EAAtB,EAA0B,CAA1B;YACH;;YACD,KAAKzU,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjBxM,MAAM,CAACkS,QAAP,GAAkB3Q,IAAI,CAAC2Q,QAAvB;;cAEA,IAAIyC,OAAO,CAACE,OAAR,KAAoB,CAAxB,EAA2B;gBACvB,KAAK7X,gBAAL,CAAsB8X,kBAAtB,CAAyCnR,SAAzC;cACH;;cAED,IAAIoR,SAAS,GAAG/U,MAAM,CAACgV,gBAAP,CAAwBC,IAAxB,CAA6BC,IAAI,IAAIA,IAAI,CAACC,OAAL,KAAiBR,OAAO,CAACQ,OAA9D,CAAhB;cACAJ,SAAS,GAAG,CAACA,SAAD,GAAa/U,MAAM,CAAC4U,OAAP,CAAeK,IAAf,CAAoBC,IAAI,IAAIA,IAAI,CAACC,OAAL,KAAiBR,OAAO,CAACQ,OAArD,CAAb,GAA6EJ,SAAzF;;cAEA,IAAI/U,MAAM,CAACoV,WAAP,KAAuB,CAA3B,EAA8B;gBAC1BpV,MAAM,CAACqV,cAAP,CAAsB,CAACV,OAAD,CAAtB;;gBACA,IAAI3U,MAAM,CAACsV,OAAX,EAAoB;kBAChBtV,MAAM,CAACuV,kBAAP,GAA4BvV,MAAM,CAAC4U,OAAP,CAAejX,MAA3C;kBACAqC,MAAM,CAACwV,UAAP,GAAoB1B,IAAI,CAAC2B,IAAL,CAAUzV,MAAM,CAACuV,kBAAP,GAA4B,KAAKvY,gBAAL,CAAsBkO,KAA5D,CAApB;kBACAlL,MAAM,CAACwV,UAAP,GAAoB,KAAKxY,gBAAL,CAAsB0Y,QAA1C,GACO1V,MAAM,CAAC2V,KAAP,GAAe,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,EAAqBrZ,GAArB,CAAyB,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAnD,CADtB,GAEO7V,MAAM,CAAC2V,KAAP,GAAe,IAAI7Z,KAAJ,CAAUkE,MAAM,CAACwV,UAAjB,EAA6BI,IAA7B,CAAkC,CAAlC,EAAqCrZ,GAArC,CAAyC,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAnE,CAFtB;gBAGH;cACJ;;cAED,IAAI5F,+EAAc,CAAC0E,OAAD,EAAU,UAAV,CAAlB,EAAyC;gBACrC,MAAMmB,UAAU,GAAG,KAAK9Y,gBAAL,CAAsB8Y,UAAzC;gBACA,MAAMC,UAAU,GAAG,KAAK/Y,gBAAL,CAAsB+Y,UAAzC;gBACA,MAAMC,QAAQ,GAAGrB,OAAO,CAACqB,QAAR,CAAiB,CAAjB,CAAjB;;gBACA,IAAIjB,SAAJ,EAAe;kBACX,KAAK,IAAIrX,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsC,MAAM,CAACiW,SAAP,CAAiBtY,MAArC,EAA6CD,CAAC,EAA9C,EAAkD;oBAC9C,IACIsC,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoB6J,WAApB,KAAoCyO,QAAQ,CAACzO,WAA7C,IACAvH,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBwY,IAApB,KAA6BF,QAAQ,CAACE,IAF1C,EAGE;sBACElW,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoByY,sBAApB,GAA6CH,QAAQ,CAACG,sBAAtD;sBACAnW,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoB0Y,eAApB,GAAsCJ,QAAQ,CAACI,eAA/C;sBACApW,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoB0V,MAApB,GAA6B4C,QAAQ,CAAC5C,MAAtC;sBACApT,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoB2Y,SAApB,GAAgCL,QAAQ,CAACK,SAAzC;sBACA;oBACH;kBACJ,CAZU,CAaX;;;kBACA;gBACH;;gBAED,IAAIL,QAAQ,CAACjV,KAAT,KAAmB,CAAnB,IAAwBiV,QAAQ,CAACI,eAAT,GAA2BN,UAAvD,EAAmE;kBAC/DE,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;gBACH,CAFD,MAEO,IAAIiV,QAAQ,CAACjV,KAAT,KAAmB,CAAnB,IAAwBiV,QAAQ,CAACG,sBAAT,GAAkCL,UAA9D,EAA0E;kBAC7EE,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;gBACH,CAFM,MAEA,IAAIiV,QAAQ,CAACjV,KAAT,KAAmB,CAAvB,EAA0B;kBAC7B,MAAMuV,aAAa,GAAG,KAAKtZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkDC,IAAlD,CAClBtB,IAAI,IACAA,IAAI,CAACnU,KAAL,KAAe,GAAf,IAAsBmU,IAAI,CAACgB,IAAL,KAAcF,QAAQ,CAACE,IAA7C,IAAqDhB,IAAI,CAAC3N,WAAL,KAAqByO,QAAQ,CAACzO,WAFrE,CAAtB;;kBAIA,IAAI+O,aAAJ,EAAmB;oBACf,IAAIA,aAAa,CAAC5P,IAAd,KAAuBsP,QAAQ,CAACI,eAApC,EAAqD;sBACjDJ,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;oBACH,CAFD,MAEO;sBACH,KAAK,IAAI0V,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkD5Y,MAAtE,EAA8E8Y,CAAC,EAA/E,EAAmF;wBAC/E,IACI,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkDE,CAAlD,EAAqDlP,WAArD,KACIyO,QAAQ,CAACzO,WADb,IAEA,KAAKvK,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkDE,CAAlD,EAAqDP,IAArD,KAA8DF,QAAQ,CAACE,IAH3E,EAIE;0BACE,KAAKlZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkD3E,MAAlD,CAAyD6E,CAAzD,EAA4D,CAA5D;0BACA;wBACH;sBACJ;;sBACD,KAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+C/Y,MAAnE,EAA2E8Y,CAAC,EAA5E,EAAgF;wBAC5E,IACI,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+CD,CAA/C,EAAkDlP,WAAlD,KACIyO,QAAQ,CAACzO,WADb,IAEA,KAAKvK,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+CD,CAA/C,EAAkDP,IAAlD,KAA2DF,QAAQ,CAACE,IAHxE,EAIE;0BACE,KAAKlZ,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+C9E,MAA/C,CAAsD6E,CAAtD,EAAyD,CAAzD;0BACA;wBACH;sBACJ;oBACJ;kBACJ;gBACJ,CA/BM,MA+BA,IAAIT,QAAQ,CAACjV,KAAT,KAAmB,CAAnB,KAAyBiV,QAAQ,CAAC5C,MAAT,KAAoB,CAApB,IAAyB2C,UAAU,GAAGC,QAAQ,CAAC5C,MAAtB,GAA+B,EAAjF,CAAJ,EAA0F;kBAC7F4C,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;gBACH,CAFM,MAEA,IAAIiV,QAAQ,CAACjV,KAAT,KAAmB,CAAvB,EAA0B;kBAC7B,MAAM4V,aAAa,GAAG,KAAK3Z,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+CzB,IAA/C,CAClBC,IAAI,IACAA,IAAI,CAACnU,KAAL,KAAe,GAAf,IAAsBmU,IAAI,CAACgB,IAAL,KAAcF,QAAQ,CAACE,IAA7C,IAAqDhB,IAAI,CAAC3N,WAAL,KAAqByO,QAAQ,CAACzO,WAFrE,CAAtB;;kBAIA,IAAIoP,aAAJ,EAAmB;oBACfX,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;kBACH;gBACJ,CARM,MAQA,IAAIiV,QAAQ,CAACjV,KAAT,KAAmB,CAAvB,EAA0B;kBAC7B,MAAM6V,aAAa,GAAG,KAAK5Z,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkDC,IAAlD,CAClBtB,IAAI,IACAA,IAAI,CAACnU,KAAL,KAAe,GAAf,IAAsBmU,IAAI,CAACgB,IAAL,KAAcF,QAAQ,CAACE,IAA7C,IAAqDhB,IAAI,CAAC3N,WAAL,KAAqByO,QAAQ,CAACzO,WAFrE,CAAtB;;kBAIA,IAAIqP,aAAJ,EAAmB;oBACf,IAAIA,aAAa,CAAClQ,IAAd,KAAuBsP,QAAQ,CAACG,sBAApC,EAA4D;sBACxDH,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;oBACH,CAFD,MAEO;sBACH,KAAK,IAAI0V,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkD5Y,MAAtE,EAA8E8Y,CAAC,EAA/E,EAAmF;wBAC/E,IACI,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkDE,CAAlD,EAAqDlP,WAArD,KACIyO,QAAQ,CAACzO,WADb,IAEA,KAAKvK,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkDE,CAAlD,EAAqDP,IAArD,KAA8DF,QAAQ,CAACE,IAH3E,EAIE;0BACE,KAAKlZ,gBAAL,CAAsB8C,QAAtB,CAA+ByW,kBAA/B,CAAkD3E,MAAlD,CAAyD6E,CAAzD,EAA4D,CAA5D;0BACA;wBACH;sBACJ;;sBACD,KAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+C/Y,MAAnE,EAA2E8Y,CAAC,EAA5E,EAAgF;wBAC5E,IACI,KAAKzZ,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+CD,CAA/C,EAAkDlP,WAAlD,KACIyO,QAAQ,CAACzO,WADb,IAEA,KAAKvK,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+CD,CAA/C,EAAkDP,IAAlD,KAA2DF,QAAQ,CAACE,IAHxE,EAIE;0BACE,KAAKlZ,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+C9E,MAA/C,CAAsD6E,CAAtD,EAAyD,CAAzD;0BACA;wBACH;sBACJ;oBACJ;kBACJ;gBACJ,CA/BM,MA+BA,IAAIT,QAAQ,CAACjV,KAAT,KAAmB,CAAnB,KAAyBiV,QAAQ,CAAC5C,MAAT,KAAoB,CAApB,IAAyB2C,UAAU,GAAGC,QAAQ,CAAC5C,MAAtB,GAA+B,EAAjF,CAAJ,EAA0F;kBAC7F4C,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;gBACH;;gBAED,MAAM8V,YAAY,GAAG,KAAK7Z,gBAAL,CAAsB8C,QAAtB,CAA+B4W,eAA/B,CAA+CzB,IAA/C,CACjBC,IAAI,IACAA,IAAI,CAACnU,KAAL,KAAeiV,QAAQ,CAACjV,KAAxB,IACAmU,IAAI,CAACgB,IAAL,KAAcF,QAAQ,CAACE,IADvB,IAEAhB,IAAI,CAAC3N,WAAL,KAAqByO,QAAQ,CAACzO,WAJjB,CAArB;gBAMAyO,QAAQ,CAACc,MAAT,GAAkB,CAACD,YAAnB;gBAEA,IAAIE,YAAY,GAAG,KAAnB;;gBACA,KAAK,IAAIrZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsC,MAAM,CAACiW,SAAP,CAAiBtY,MAArC,EAA6CD,CAAC,EAA9C,EAAkD;kBAC9C,IACIsC,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoB6J,WAApB,KAAoCyO,QAAQ,CAACzO,WAA7C,IACAvH,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBwY,IAApB,KAA6BF,QAAQ,CAACE,IAF1C,EAGE;oBACE,KAAK,MAAMc,IAAX,IAAmBhB,QAAnB,EAA6B;sBACzB,IAAI/F,+EAAc,CAAC+F,QAAD,EAAWgB,IAAX,CAAlB,EAAoC;wBAChChX,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBsZ,IAApB,IAA4BhB,QAAQ,CAACgB,IAAD,CAApC;sBACH;oBACJ;;oBACDD,YAAY,GAAG,IAAf;oBACA;kBACH;gBACJ;;gBACD,IAAIA,YAAY,KAAK,KAArB,EAA4B;kBACxB/W,MAAM,CAACiW,SAAP,CAAiBhW,IAAjB,CAAsB+V,QAAtB;gBACH,CA9HoC,CA+HrC;;cACH;YACJ,CAtJD;UAuJH;QACJ,CAxKD;QA0KA,KAAK3F,cAAL,CAAoB/R,aAApB,CAAkC1B,yFAAlC,EAAkE2B,OAAlE,CAA0EgD,IAAI,IAAG;UAC7EzD,OAAO,CAACG,GAAR,CAAY,2DAAZ;UACAH,OAAO,CAACG,GAAR,CAAYsD,IAAZ;UACA,KAAKpE,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;YACjB,IAAIjL,IAAJ,EAAU;cACN,KAAKvE,gBAAL,CAAsBka,SAAtB,CAAgC9X,IAAhC,CAAqCmC,IAArC;YACH;UACJ,CAJD;QAKH,CARD;QAUA,KAAK8O,cAAL,CAAoBnS,cAApB,CAAmCtB,yFAAnC,EAAmE2E,IAAI,IAAG;UACtEzD,OAAO,CAACG,GAAR,CAAY,2DAAZ;UACAH,OAAO,CAACG,GAAR,CAAYsD,IAAZ;;UAEA,IAAI,CAACA,IAAI,CAACmT,EAAV,EAAc;YACV;UACH;;UAED,MAAM/Q,SAAS,GAAGpC,IAAI,CAACoC,SAAvB;UACA,MAAMgR,OAAO,GAAGpT,IAAI,CAACmT,EAArB;UACA,MAAM1U,MAAM,GAAG,KAAKhD,gBAAL,CAAsBgV,SAAtB,CAAgCrO,SAAhC,CAAf;;UAEA,IAAI3D,MAAJ,EAAY;YACR,IAAIiQ,+EAAc,CAAC0E,OAAD,EAAU,UAAV,CAAlB,EAAyC;cACrC,KAAK,IAAIjX,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsC,MAAM,CAACiW,SAAP,CAAiBtY,MAArC,EAA6CD,CAAC,EAA9C,EAAkD;gBAC9C,IACIsC,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoB6J,WAApB,KAAoCoN,OAAO,CAACqB,QAAR,CAAiB,CAAjB,EAAoBzO,WAAxD,IACAvH,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBwY,IAApB,KAA6BvB,OAAO,CAACqB,QAAR,CAAiB,CAAjB,EAAoBE,IAFrD,EAGE;kBACE,IAAIlW,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBqD,KAApB,KAA8B,CAA9B,IAAmCf,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBqD,KAApB,KAA8B,GAArE,EAA0E;oBACtEf,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBoZ,MAApB,GAA6B,IAA7B;oBACA9W,MAAM,CAACiW,SAAP,CAAiBvY,CAAjB,EAAoBqD,KAApB,GAA4B,GAA5B,CAFsE,CAGtE;kBACH;;kBACD;gBACH;cACJ;YACJ;;YAEDf,MAAM,CAACoX,iBAAP,CAAyBzC,OAAO,CAACQ,OAAjC;YAEA,IAAIkC,QAAQ,GAAG,EAAf;;YACA,QAAQ1C,OAAO,CAACE,OAAhB;cACI,KAAK,CAAL;gBACIwC,QAAQ,GACJ,KAAKta,SAAL,CAAekR,OAAf,CAAuB,uBAAvB,IACA,MADA,GAEA0G,OAAO,CAACQ,OAFR,GAGA,MAHA,GAIAnV,MAAM,CAACzC,IAJP,GAKA,MALA,GAMAyC,MAAM,CAACqB,OANP,GAOA,MAPA,GAQA,KAAKtE,SAAL,CAAekR,OAAf,CAAuB,0BAAvB,CARA,GASA,GATA,GAUA,KAAKsC,cAAL,CAAoBlL,SAApB,CAA8BsP,OAAO,CAAC/P,MAAtC,CAVA,GAWA,GAXA,GAYA,KAAK7H,SAAL,CAAekR,OAAf,CAAuB,2BAAvB,CAbJ;gBAcA;;cACJ,KAAK,CAAL;gBACI;gBACA;;cACJ,KAAK,CAAL;gBACI;gBACA;;cACJ,KAAK,CAAL;gBACI;gBACA;;cACJ,KAAK,CAAL;gBACIoJ,QAAQ,GACJ,KAAKta,SAAL,CAAekR,OAAf,CAAuB,0BAAvB,IACA,MADA,GAEA0G,OAAO,CAACQ,OAFR,GAGA,MAHA,GAIAnV,MAAM,CAACzC,IAJP,GAKA,MALA,GAMAyC,MAAM,CAACqB,OANP,GAOA,MAPA,GAQA,KAAKtE,SAAL,CAAekR,OAAf,CAAuB,8BAAvB,CATJ;gBAUA;;cACJ,KAAK,CAAL;gBACIoJ,QAAQ,GACJ,KAAKta,SAAL,CAAekR,OAAf,CAAuB,6BAAvB,IACA,MADA,GAEA0G,OAAO,CAACQ,OAFR,GAGA,MAHA,GAIAnV,MAAM,CAACzC,IAJP,GAKA,MALA,GAMAyC,MAAM,CAACqB,OANP,GAOA,MAPA,GAQA,KAAKtE,SAAL,CAAekR,OAAf,CAAuB,8BAAvB,CATJ;gBAUA;;cACJ,KAAK,CAAL;gBACIoJ,QAAQ,GAAG,KAAKta,SAAL,CAAekR,OAAf,CAAuB,0BAAvB,CAAX;gBACA;YApDR;;YAsDA,IAAIoJ,QAAJ,EAAc;cACV,KAAKpa,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCgJ,QAAxC;YACH;UACJ;QACJ,CA1FD;QA4FA,KAAKhH,cAAL,CAAoBnS,cAApB,CAAmCtB,iFAAnC,EAA2D2E,IAAI,IAAG;UAC9DzD,OAAO,CAACG,GAAR,CAAY,mDAAZ;UACAH,OAAO,CAACG,GAAR,CAAYsD,IAAZ;UAEAA,IAAI,GAAGE,IAAI,CAAChD,KAAL,CAAW8C,IAAX,CAAP;;UAEA,IAAIA,IAAI,CAAC+V,MAAL,IAAe,IAAnB,EAAyB;YACrB,KAAK,IAAI5Z,CAAC,GAAG,CAAR,EAAWC,MAAM,GAAG4D,IAAI,CAAC+V,MAAL,CAAY3Z,MAArC,EAA6CD,CAAC,GAAGC,MAAjD,EAAyDD,CAAC,EAA1D,EAA8D;cAC1D,QAAQ6D,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAe6Z,MAAvB;gBACI,KAAK,wBAAL;kBACI;;gBACJ,KAAK,sBAAL;kBACI,IAAI,KAAKva,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBxF,OAA5D,KAAwE,IAA5E,EAAkF;oBAC9E,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBxF,OAA5D,EAAqE,MAArE,IACI,MAAME,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB2C,KADjC;oBAEA,KAAKxM,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBxF,OAA5D,EAAqE,SAArE,IACIE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBxF,OAD3B;oBAEA,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBxF,OAA5D,EAAqE,SAArE,IACIE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB9B,OAD3B;kBAEH;;kBACD,IAAI,KAAK/H,gBAAL,CAAsBwa,iBAA1B,EAA6C;oBACzC,MAAMC,QAAQ,GAAG;sBACbla,IAAI,EAAE,MAAMgE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB2C,KADtB;sBAEbnI,OAAO,EAAEE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBxF,OAFnB;sBAGb0D,OAAO,EAAExD,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB9B;oBAHnB,CAAjB;oBAKA,KAAK/H,gBAAL,CAAsB6N,OAAtB,GAAgC,KAAK7N,gBAAL,CAAsB6N,OAAtB,CAA8B6M,MAA9B,CAAqCD,QAArC,CAAhC;oBACA,KAAKza,gBAAL,CAAsB2a,aAAtB;kBACH;;kBACD;;gBACJ,KAAK,yBAAL;kBACI,KAAK,MAAMtW,OAAX,IAAsB,KAAKrE,gBAAL,CAAsB4N,cAA5C,EAA4D;oBACxD,IAAIqF,+EAAc,CAAC,KAAKjT,gBAAL,CAAsB4N,cAAvB,EAAuCvJ,OAAvC,CAAlB,EAAmE;sBAC/D,IAAI,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C9D,IAA9C,KAAuD,MAAMgE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB2C,KAAxF,EAA+F;wBAC3F,IACI,KAAKxM,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8CA,OAA9C,KACAE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OAFnC,EAGE;0BACE,OAAO,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C,MAA9C,CAAP;0BACA,OAAO,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C,SAA9C,CAAP;0BACA,OAAO,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C,SAA9C,CAAP;wBACH,CAPD,MAOO;0BACH,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCvJ,OAArC,EAA8C0D,OAA9C,GACIxD,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+B9B,OADnC;wBAEH;;wBACD;sBACH;oBACJ;kBACJ;;kBACD,IAAI,KAAK/H,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OAApE,KAAgF,IAApF,EAA0F;oBACtF,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OAApE,EAA6E,MAA7E,IACI,MAAME,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB2C,KADjC;oBAEA,KAAKxM,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OAApE,EAA6E,SAA7E,IACIE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OADnC;oBAEA,KAAKrE,gBAAL,CAAsB4N,cAAtB,CAAqCrJ,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OAApE,EAA6E,SAA7E,IACIE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+B9B,OADnC;kBAEH;;kBACD,IAAI,KAAK/H,gBAAL,CAAsBwa,iBAA1B,EAA6C;oBACzC,MAAMI,YAAY,GAAG,KAAK5a,gBAAL,CAAsB6N,OAAtB,CAA8B2L,IAA9B,CACjBqB,OAAO,IAAIA,OAAO,CAACta,IAAR,KAAiB,MAAMgE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuB2C,KADxC,CAArB;;oBAGA,IAAIoO,YAAJ,EAAkB;sBACdA,YAAY,CAACvW,OAAb,GAAuBE,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+BxF,OAAtD;sBACAuW,YAAY,CAAC7S,OAAb,GAAuBxD,IAAI,CAAC+V,MAAL,CAAY5Z,CAAZ,EAAemJ,OAAf,CAAuBA,OAAvB,CAA+B9B,OAAtD;oBACH;kBACJ;;kBACD,KAAK/H,gBAAL,CAAsB2a,aAAtB;kBACA;;gBACJ;kBACI;cA7DR;YA+DH;UACJ;QACJ,CAzED;QA2EA,KAAKG,4BAAL,GAAoCC,WAAW,CAAC,MAAK;UACjD,KAAK/a,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;YAC3CA,MAAM,CAACiW,SAAP,CAAiBlW,OAAjB,CAAyBiW,QAAQ,IAAG;cAChC,IACIA,QAAQ,CAACjV,KAAT,KAAmB,GAAnB,IACAiV,QAAQ,CAAC5C,MAAT,KAAoB,CADpB,IAEA,KAAKpW,gBAAL,CAAsB+Y,UAAtB,GAAmCC,QAAQ,CAAC5C,MAA5C,IAAsD,EAH1D,EAIE;gBACE4C,QAAQ,CAACjV,KAAT,GAAiB,CAAjB;gBACAiV,QAAQ,CAACc,MAAT,GAAkB,IAAlB;gBACAhZ,OAAO,CAACE,IAAR,CAAa,+BAAb;cACH,CARD,MAQO,IACHgY,QAAQ,CAACjV,KAAT,KAAmB,GAAnB,IACAiV,QAAQ,CAAC5C,MAAT,KAAoB,CADpB,IAEA,KAAKpW,gBAAL,CAAsB+Y,UAAtB,GAAmCC,QAAQ,CAAC5C,MAA5C,IAAsD,EAHnD,EAIL;gBACE4C,QAAQ,CAACjV,KAAT,GAAiB,CAAjB;gBACAiV,QAAQ,CAACc,MAAT,GAAkB,IAAlB;cACH;YACJ,CAjBD;UAkBH,CAnBD;QAoBH,CArB8C,EAqB5C,KArB4C,CAA/C;QAuBA,KAAKkB,aAAL,GAAqB,KAAKhb,gBAAL,CAAsBib,gBAAtB,CAAuCnH,SAAvC,CAAiD;UAClE1R,IAAI,EAAG8Y,YAAD,IAAyB;YAC3B,KAAKlb,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;cAC3CA,MAAM,CAACiW,SAAP,CAAiBlW,OAAjB,CAAyBiW,QAAQ,IAAG;gBAChC,IAAIA,QAAQ,CAACjV,KAAT,KAAmB,CAAnB,IAAwBiV,QAAQ,CAACI,eAAT,IAA4B8B,YAAxD,EAAsE;kBAClElC,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;kBACAiV,QAAQ,CAACc,MAAT,GAAkB,IAAlB;gBACH,CAHD,MAGO,IAAId,QAAQ,CAACjV,KAAT,KAAmB,CAAnB,IAAwBiV,QAAQ,CAACG,sBAAT,IAAmC+B,YAA/D,EAA6E;kBAChFlC,QAAQ,CAACjV,KAAT,GAAiB,GAAjB;kBACAiV,QAAQ,CAACc,MAAT,GAAkB,IAAlB;gBACH;cACJ,CARD;YASH,CAVD;UAWH;QAbiE,CAAjD,CAArB;QAgBA,KAAKzG,cAAL,CAAoB3Q,UAApB,CAA+B,CAACoL,MAAD,EAASvJ,IAAT,KAAiB;UAC5C,IAAIA,IAAI,IAAItF,MAAM,CAACC,IAAP,CAAYqF,IAAZ,EAAkB5D,MAAlB,GAA2B,CAAvC,EAA0C;YACtC,KAAK,MAAMN,GAAX,IAAkBkE,IAAlB,EAAwB;cACpB,IAAI0O,+EAAc,CAAC1O,IAAD,EAAOlE,GAAP,CAAd,IAA6B4S,+EAAc,CAAC,KAAKjT,gBAAL,CAAsB8C,QAAvB,EAAiCzC,GAAjC,CAA/C,EAAsF;gBAClF,KAAKL,gBAAL,CAAsB8C,QAAtB,CAA+BzC,GAA/B,IAAsCkE,IAAI,CAAClE,GAAD,CAA1C;cACH;YACJ,CALqC,CAMtC;;;YACA,KAAKL,gBAAL,CAAsB8C,QAAtB,CAA+BqY,SAA/B,GAA2C,KAA3C;;YACA,IACIlI,+EAAc,CAAC,KAAKjT,gBAAL,CAAsB8C,QAAvB,EAAiC,OAAjC,CAAd,IACA,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,EAAwB,MAAxB,EAAgCtC,OAAhC,CAAwC,KAAKR,gBAAL,CAAsB8C,QAAtB,CAA+BsY,KAAvE,MAAkF,CAAC,CAFvF,EAGE;cACE,KAAKhI,QAAL,CAAciI,QAAd,CAAuBC,QAAQ,CAACC,eAAhC,EAAiD,WAAjD,EAA8D,KAAKvb,gBAAL,CAAsB8C,QAAtB,CAA+BsY,KAA7F;YACH,CALD,MAKO;cACH,KAAKpb,gBAAL,CAAsB8C,QAAtB,CAA+BsY,KAA/B,GAAuC,MAAvC;cACA,KAAKhI,QAAL,CAAciI,QAAd,CAAuBC,QAAQ,CAACC,eAAhC,EAAiD,WAAjD,EAA8D,KAAKvb,gBAAL,CAAsB8C,QAAtB,CAA+BsY,KAA7F;YACH;UACJ;;UACD,KAAKrb,SAAL,CAAe8T,GAAf,CAAmB,KAAK7T,gBAAL,CAAsB8C,QAAtB,CAA+BkR,QAAlD;UACA,KAAK9H,sBAAL;UAEA,KAAKmH,cAAL,CAAoBvE,WAApB,CAAgC,KAAK9O,gBAAL,CAAsB8C,QAAtB,CAA+B0Y,MAA/D;UACA,KAAKnI,cAAL,CAAoBvD,YAApB,CAAiC,KAAK9P,gBAAL,CAAsB8C,QAAtB,CAA+BqY,SAAhE;;UAEA,IAAI,CAAC,KAAKnb,gBAAL,CAAsB8C,QAAtB,CAA+BD,OAAhC,IAA2C,KAAK7C,gBAAL,CAAsB8C,QAAtB,CAA+BD,OAA/B,CAAuClC,MAAvC,KAAkD,CAAjG,EAAoG;YAChG,OAAO,KAAK2S,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAG1I,oDAAU,IAAIC,oEAA0B,EAA5C,CAArB,EAAsE4I,IAAtE,EAAP;UACH;;UAED,IAAI,KAAKtI,MAAL,CAAY/H,GAAZ,KAAoB,QAAxB,EAAkC;YAC9B,KAAK8H,cAAL,CAAoBtO,iBAApB,CAAsC8W,UAAU,IAAG;cAC/C,IAAIA,UAAJ,EAAgB;gBACZ,KAAK1b,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;kBACjB,KAAK8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,QAAD,CAArB,EAAiC;oBAC7BK,WAAW,EAAE;sBAAEpc,IAAI,EAAE;oBAAR;kBADgB,CAAjC;gBAGH,CAJD;cAKH,CAND,MAMO;gBACH,IAAIT,MAAM,CAACC,IAAP,CAAYqF,IAAZ,EAAkB5D,MAAlB,KAA6B,CAAjC,EAAoC;kBAChC,KAAK6T,eAAL,GAAuB/P,IAAI,CAAChD,KAAL,CAAWgD,IAAI,CAACnF,SAAL,CAAe,KAAKU,gBAAL,CAAsB8C,QAAtB,CAA+BD,OAA9C,CAAX,CAAvB;kBACA,KAAK1C,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAKxP,gBAAL,CAAsB+b,QAAtB,GAAiC,IAAjC;oBACA,KAAKzI,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;kBACH,CAHD;gBAIH,CAND,MAMO;kBACH,KAAKtb,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAK8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,QAAD,CAArB,EAAiC;sBAC7BK,WAAW,EAAE;wBAAEpc,IAAI,EAAE;sBAAR;oBADgB,CAAjC;kBAGH,CAJD;gBAKH;cACJ;YACJ,CAtBD;UAuBH;QACJ,CAtDD;QAwDA,KAAK2T,cAAL,CAAoBlE,uBAApB;QAEA,KAAKkE,cAAL,CAAoB3D,wBAApB;QAEA,KAAKnB,UAAL;QAEA6D,UAAU,CAAC,MAAK;UACZ,KAAKiB,cAAL,CAAoBrD,UAApB;UACA,KAAKgM,OAAL;QACH,CAHS,EAGP,KAAK,IAHE,CAAV;MAIH,CAtmBuC;MAumBxCjb,KAAK,EAAEA,KAAK,IAAG;QACXD,OAAO,CAACG,GAAR,CAAYF,KAAZ;MACH;IAzmBuC,CAA5C;IA4mBA,KAAKf,gBAAL,CAAsBqQ,oBAAtB,CAA2C4L,IAA3C,CAAgDnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAAzD,EAA0EpI,SAA1E,CAAoF;MAChF1R,IAAI,EAAE8N,mBAAmB,IAAG;QACxB,MAAMiM,UAAU,GAAG,KAAK,EAAL,GAAU,IAA7B;;QACA,IAAI,CAACjM,mBAAL,EAA0B;UACtB,KAAKkM,qBAAL;UACA,KAAKC,wBAAL,GAAgCtB,WAAW,CAAC,MAAK;YAC7C,KAAKqB,qBAAL;UACH,CAF0C,EAExCD,UAFwC,CAA3C;QAGH,CALD,MAKO;UACH,IAAI,KAAKE,wBAAT,EAAmC;YAC/BC,aAAa,CAAC,KAAKD,wBAAN,CAAb;UACH;QACJ;MACJ;IAb+E,CAApF;EAeH;;EAEDE,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;;IACA,IAAI,KAAK0Y,4BAAT,EAAuC;MACnCwB,aAAa,CAAC,KAAKxB,4BAAN,CAAb;IACH;;IACD,IAAI,KAAKuB,wBAAT,EAAmC;MAC/BC,aAAa,CAAC,KAAKD,wBAAN,CAAb;IACH;;IACD,KAAKrB,aAAL,CAAmBwB,WAAnB;EACH;;EAEDJ,qBAAqB;IACjB,KAAKjJ,IAAL,CACKsJ,GADL,CACS,gDADT,EAEKR,IAFL,CAEUpJ,2CAAI,CAAC,CAAD,CAFd,EAGKiB,SAHL,CAGe;MACP1R,IAAI,EAAE,CAAC;QAAEmC;MAAF,CAAD,KAAiG;QACnG,KAAKvE,gBAAL,CAAsB0c,eAAtB,GAAwCnY,IAAI,CAAC,MAAD,CAAJ,CAAa,KAAb,CAAxC;QACA,KAAKvE,gBAAL,CAAsB2c,sBAAtB,GAA+CpY,IAAI,CAAC,MAAD,CAAJ,CAAa,gBAAb,CAA/C;MACH,CAJM;MAKPxD,KAAK,EAAEA,KAAK,IAAG;QACXD,OAAO,CAACE,IAAR,CAAa,iCAAb,EAAgDD,KAAhD;MACH;IAPM,CAHf;EAYH;;EAEDuW,UAAU;IACN,KAAKjE,cAAL,CAAoBtG,aAApB,CAAkC,CAACe,MAAD,EAASvJ,IAAT,EAAexD,KAAf,KAAwB;MACtDD,OAAO,CAACE,IAAR,CAAaD,KAAb;;MAEA,IAAIA,KAAK,KAAK,WAAd,EAA2B;QACvBc,MAAM,CAACuQ,UAAP,CAAkB,MAAK;UACnB,KAAKkF,UAAL;QACH,CAFD,EAEG,KAFH;MAGH,CAJD,MAIO,IAAIvW,KAAK,KAAK,UAAd,EAA0B;QAC7B,KAAKf,gBAAL,CAAsB6N,OAAtB,GAAgC,EAAhC;QACA,KAAK7N,gBAAL,CAAsBwa,iBAAtB,GAA0C,KAA1C;QACA,KAAKxa,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;UAC3CA,MAAM,CAACwJ,KAAP,GAAe,KAAK6G,cAAL,CAAoB3F,cAApB,CAAmC1K,MAAM,CAACqB,OAA1C,CAAf;QACH,CAFD;MAGH,CANM,MAMA;QACH,KAAKrE,gBAAL,CAAsBwa,iBAAtB,GAA0C,IAA1C;;QACA,IAAIjW,IAAI,CAACsJ,OAAL,IAAgBtJ,IAAI,CAACsJ,OAAL,CAAalN,MAAjC,EAAyC;UACrC,KAAKX,gBAAL,CAAsB6N,OAAtB,GAAgC,EAAhC;UACAtJ,IAAI,CAACsJ,OAAL,CAAa9K,OAAb,CAAqByJ,KAAK,IAAG;YACzB,MAAMiO,QAAQ,GAAG;cACbla,IAAI,EAAE,MAAMiM,KAAK,CAACA,KADL;cAEbnI,OAAO,EAAEmI,KAAK,CAACnI,OAFF;cAGb0D,OAAO,EAAEyE,KAAK,CAACzE;YAHF,CAAjB;YAKA,KAAK/H,gBAAL,CAAsB6N,OAAtB,CAA8B5K,IAA9B,CAAmCwX,QAAnC;UACH,CAPD;UAQA,KAAKza,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;YAC3CA,MAAM,CAACwJ,KAAP,GAAe,KAAK6G,cAAL,CAAoB3F,cAApB,CAAmC1K,MAAM,CAACqB,OAA1C,CAAf;UACH,CAFD;UAGA,KAAKrE,gBAAL,CAAsB6N,OAAtB,GAAgC,KAAK7N,gBAAL,CAAsB6N,OAAtB,CAA8B+O,IAA9B,CAAmC,CAACC,CAAD,EAAIC,CAAJ,KAAS;YACxE,IAAID,CAAC,CAACtc,IAAF,CAAOI,MAAP,GAAgBmc,CAAC,CAACvc,IAAF,CAAOI,MAA3B,EAAmC;cAC/B,OAAO,CAAP;YACH;;YACD,IAAIkc,CAAC,CAACtc,IAAF,CAAOI,MAAP,GAAgBmc,CAAC,CAACvc,IAAF,CAAOI,MAA3B,EAAmC;cAC/B,OAAO,CAAC,CAAR;YACH;;YACD,IAAIkc,CAAC,CAACtc,IAAF,GAASuc,CAAC,CAACvc,IAAf,EAAqB;cACjB,OAAO,CAAP;YACH;;YACD,IAAIsc,CAAC,CAACtc,IAAF,GAASuc,CAAC,CAACvc,IAAf,EAAqB;cACjB,OAAO,CAAC,CAAR;YACH;;YACD,OAAO,CAAP;UACH,CAd+B,CAAhC;UAeA,KAAKP,gBAAL,CAAsB2a,aAAtB;QACH;MACJ;IACJ,CA9CD;EA+CH;;EAED/E,UAAU,CAAC5S,MAAD,EAAS+Z,OAAT,EAAgB;IACtB,MAAMne,KAAK,GAAG,KAAK4U,KAAL,CAAWzP,KAAX,CAAiBiT,IAA/B;;IACA,IAAIpY,KAAK,IAAIA,KAAK,CAAC+B,MAAN,GAAe,CAA5B,EAA+B;MAC3B,MAAMqW,IAAI,GAAGpY,KAAK,CAACoe,MAAN,CAAaC,IAAI,IAAIA,IAAI,CAACtW,SAAL,KAAmB3D,MAAM,CAAC2D,SAA/C,CAAb;;MACA,IAAIqQ,IAAI,IAAIA,IAAI,CAACrW,MAAL,GAAc,CAA1B,EAA6B;QACzB,MAAM4Q,MAAM,GAAG3S,KAAK,CAACW,GAAN,CAAU0d,IAAI,IAAG;UAC5B,IAAIA,IAAI,CAACtW,SAAL,KAAmB3D,MAAM,CAAC2D,SAA9B,EAAyC;YACrC,OAAO;cAAEqQ,IAAI,EAAE+F,OAAR;cAAiBpW,SAAS,EAAE3D,MAAM,CAAC2D;YAAnC,CAAP;UACH,CAFD,MAEO;YACH,OAAOsW,IAAP;UACH;QACJ,CANc,CAAf;QAOA,KAAKzJ,KAAL,CAAW0J,GAAX,CAAetK,wDAAf,EAA+BrB,MAA/B;MACH,CATD,MASO;QACH3S,KAAK,CAACqE,IAAN,CAAW;UAAE+T,IAAI,EAAE+F,OAAR;UAAiBpW,SAAS,EAAE3D,MAAM,CAAC2D;QAAnC,CAAX;QACA,KAAK6M,KAAL,CAAW0J,GAAX,CAAetK,wDAAf,EAA+BhU,KAA/B;MACH;IACJ,CAfD,MAeO;MACH,KAAK4U,KAAL,CAAW0J,GAAX,CAAetK,wDAAf,EAA+B,CAAC;QAAEoE,IAAI,EAAE+F,OAAR;QAAiBpW,SAAS,EAAE3D,MAAM,CAAC2D;MAAnC,CAAD,CAA/B;IACH;EACJ;;EAED4H,UAAU;IACN,KAAK8E,cAAL,CAAoB9E,UAApB,CAA+B,CAACE,OAAD,EAAU/O,IAAV,EAAgBqB,KAAhB,KAAyB;MACpD,KAAKZ,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;QACjB,IAAI,CAACzO,KAAL,EAAY;UACRD,OAAO,CAACG,GAAR,CAAY,6CAAZ,EAA2DwN,OAA3D;UACA3N,OAAO,CAACG,GAAR,CAAY,0CAAZ,EAAwDvB,IAAxD;UACA,KAAKM,gBAAL,CAAsBmd,OAAtB,GAAgCzd,IAAI,KAAK,SAAzC;UACA,KAAKM,gBAAL,CAAsBod,WAAtB,GAAoC1d,IAApC;QACH;MACJ,CAPD;IAQH,CATD;EAUH;;EAEDsc,OAAO;IACH,MAAMG,UAAU,GAAG,KAAK,IAAxB;;IACA,MAAMH,OAAO,GAAG,MAAK;MACjB,MAAMpY,MAAM,GAAG;QACXyZ,OAAO,EAAE,KADE;QAEX9C,MAAM,EAAE;MAFG,CAAf;MAKA,KAAKlH,cAAL,CAAoBxC,QAApB,CAA6BjN,MAA7B,EAAqC,CAACkK,MAAD,EAAS8D,aAAT,KAA0B;QAC3D,KAAK5R,gBAAL,CAAsBsd,KAAtB,CAA4Blb,IAA5B,CAAiCwP,aAAa,CAACL,MAA/C;MACH,CAFD;IAGH,CATD;;IAUAyK,OAAO;IACPjB,WAAW,CAACiB,OAAD,EAAUG,UAAV,CAAX;EACH;;AA3zBoB;;;mBAAZjJ,cAAYV,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,kEAAAA,GAAAA,gEAAAA,CAAAA,6DAAAA,GAAAA,gEAAAA,CAAAA,qDAAAA,GAAAA,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,kDAAAA,GAAAA,gEAAAA,CAAAA,wDAAAA,GAAAA,gEAAAA,CAAAA,uEAAAA,GAAAA,gEAAAA,CAAAA,+CAAAA,GAAAA,gEAAAA,CAAAA,wDAAAA,GAAAA,gEAAAA,CAAAA,oFAAAA;AAAA;;;QAAZU;EAAYqK;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MA3BjBnL,yDAAAA;;MAEAA,yDAAAA;MAaAA,yDAAAA;;MAOAA,wDAAAA;MAEAA,yDAAAA;;;;MAxBgBA,yDAAAA,SAAAA,8DAAAA,+DAAAA,0DAAAA;MAEVA,wDAAAA;MAAAA,yDAAAA,SAAAA,8DAAAA;MAakBA,wDAAAA;MAAAA,yDAAAA,SAAAA,0DAAAA;MASAA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CwB;AACT;AACI;AACJ;AAC+C;AAC1B;AACH;AACP;AACqB;AACV;AAC5B;AACgB;AACL;AACmD;AACrD;AACL;AAC8D;;;AAEpG,SAAS,iBAAiB;IAC7B,kDAAqB,CAAC;QAClB,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;SAChB;KACJ,CAAC,CAAC;IAEH,OAAO,CAAC,yEAAS,CAAC,CAAC;AACvB,CAAC;AAEM,MAAM,wBAAwB,GAAG;IACpC,OAAO,EAAE,kEAAkB;IAC3B,UAAU,EAAE,iBAAiB;CAChC,CAAC;AAEK,SAAS,iBAAiB,CAAC,UAAsB;IACpD,OAAO,IAAI,2EAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAEM,MAAM,qBAAqB,GAA0B;IACxD,MAAM,EAAE;QACJ,OAAO,EAAE,iEAAe;QACxB,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,CAAC,6DAAU,CAAC;KACrB;CACJ,CAAC;AAqBK,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAFN,wDAAY;4GADb,CAAC,wBAAwB,CAAC,YAbjC,0DAAY;QACZ,qEAAa;QACb,0FAAuB;QACvB,mEAAgB;QAChB,yEAAuB,CAAC,qBAAqB,CAAC;QAC9C,iEAAgB;QAChB,4DAAW;QACX,2DAAW;QACX,8DAAoB;QACpB,6DAAU;QACV,wDAAW;QACX,qHAAiC;oIAK5B,SAAS,mBAlBH,wDAAY,EAAE,iHAAwB,aAEjD,0DAAY;QACZ,qEAAa;QACb,0FAAuB;QACvB,mEAAgB,qEAEhB,iEAAgB;QAChB,4DAAW;QACX,2DAAW;QACX,8DAAoB;QACpB,6DAAU;QACV,wDAAW;QACX,qHAAiC;;;;;;;;;;;;;;;;;;;;;ACzClC,MAAM,mBAAmB;;sFAAnB,mBAAmB;iHAAnB,mBAAmB;QAdxB,yEAAuD;QACnD,2EAA+B;QACnC,4DAAM;;;;;;;;;;;;;;;;;;;;;ACNiC;AACe;AACN;AACT;;AAOxC,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAHf,yDAAY,EAAgB,kEAAgB;mIAG7C,gBAAgB,mBAJV,uEAAmB,aACxB,yDAAY,EAAE,yDAAY,EAAE,kEAAgB,aAC5C,uEAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACT4B;AAGS;AAGwC;AAC/E;AACY;;;;;;;;;;;;;;;;;;;IAe3B,sFAYC;IAHG,gXAAS,kGAA8B,KAAC,2QAC1B,oFAAmB,KADO;IAG3C,4DAAkB;;;;IAVf,kFAAsB;;;;IAmC1B,wEAAuE;IACnE,6EAWC;IAVG,wSAAS,yEAAQ,KAAC;;IAWlB,mEAAgC;IAChC,uEAAM;IAAA,uDAAmC;;IAAA,4DAAO;IAExD,qEAAe;;;IANP,0DAAqD;IAArD,0KAAqD;IAPrD,sEAAa;IAWP,0DAAmC;IAAnC,mJAAmC;;;;IAK7C,6EAAoH;IAA5G,ySAAS,0EAAQ,KAAC;IACtB,mEAAgC;IAChC,uEAAM;IAAC,uDAAmC;;IAAA,4DAAO;;IAA1C,0DAAmC;IAAnC,6JAAmC;;;AAc3D,MAAM,gBAAgB;IAGzB,YACW,gBAAkC,EACjC,cAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,MAAc,EACd,MAAc,EACf,kBAAsC;QANtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACf,uBAAkB,GAAlB,kBAAkB,CAAoB;QATzC,aAAQ,GAAG,IAAI,yCAAO,EAAQ,CAAC;IAUpC,CAAC;IAEJ,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,EAAE;YACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,KAA4B;QAC7B,wEAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5F,CAAC;IAED,WAAW,CAAC,SAAS;QACjB,MAAM,YAAY,GAAmC;YACjD,IAAI,EAAE;gBACF,KAAK,EAAE,wBAAwB;gBAC/B,OAAO,EAAE,sBAAsB;aAClC;SACJ,CAAC;QAEF,IAAI,CAAC,MAAM;aACN,IAAI,CAAU,sGAAqB,EAAE,YAAY,CAAC;aAClD,MAAM,CAAC,IAAI,CAAC,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC,SAAS,CAAC;YACP,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SAC9D,CAAC,CAAC;IACX,CAAC;IAED,WAAW,CAAC,SAAS;QACjB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,qCAAqC,CAAC,CAAC;QAElF,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC1E,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;;gFA1EQ,gBAAgB;8GAAhB,gBAAgB;QAhFrB,yEAAiC;QAEzB,oEAA6D;QACjE,4DAAM;QAGV,yEAA6B;QACpB,qKAAsB,gBAAY,IAAC;QACpC,oIAYmB;QACvB,4DAAM;QAEN,yEAA0C;QAElC,wIAAS,gBAAY,IAAC;QAKtB,kEAA8B;QAC9B,uEAAM;QAAA,wDAAmC;;QAAA,4DAAO;QAGpD,6EAMC;QACG,oEAAkC;QAClC,wEAAM;QAAA,wDAAoC;;QAAA,4DAAO;QAGrD,iIAgBe;QAEf,2MAKc;QAClB,4DAAM;QAGV,2EAA4B;QACxB,yFAAyD;QAC7D,4DAAM;QAEN,2EAA6B;;;QAnEE,0DAA2B;QAA3B,iGAA2B;QAsBxC,0DAAmC;QAAnC,oJAAmC;QAIzC,0DAA4B;QAA5B,8IAA4B;QAOtB,0DAAoC;QAApC,qJAAoC;QAG/B,0DAAuC;QAAvC,qGAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3DvB;AACQ;AACC;AACF;AACP;AAC4B;AACW;AAChB;AACd;AACJ;AACgC;AACgB;AACtB;;AAqBvE,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GAhBlB,yDAAY;QACZ,0DAAY;QACZ,mEAAc;QACd,4DAAa;QACb,iEAAe;QACf,sEAAuB;QACvB,gGAAkB;QAClB,8GAA8B;QAC9B,2EAAc;QACd,8FAAsB;QACtB,mEAAgB;QAChB,8DAAoB;QACpB,wFAAmB;mIAId,aAAa,mBAlBP,gEAAgB,aAE3B,yDAAY;QACZ,0DAAY;QACZ,mEAAc;QACd,4DAAa;QACb,iEAAe;QACf,sEAAuB;QACvB,gGAAkB;QAClB,8GAA8B;QAC9B,2EAAc;QACd,8FAAsB;QACtB,mEAAgB;QAChB,8DAAoB;QACpB,wFAAmB,aAEb,gEAAgB;;;;;;;;;;;;;;;;;;;;;;;ACTvB,MAAM,0BAA0B;;oGAA1B,0BAA0B;wHAA1B,0BAA0B;QAlB/B,yEAA2B;QAE3B,yEAA4C;QACxC,2EAA+B;QACnC,4DAAM;;;;;;;;;;;;;;;;;;;;;;ACRiC;AAC8B;AACnB;AACF;AACT;;AAOxC,MAAM,uBAAuB;;8FAAvB,uBAAuB;oHAAvB,uBAAuB;wHAHtB,yDAAY,EAAgB,kEAAgB,EAAE,kEAAa;mIAG5D,uBAAuB,mBAJjB,sFAA0B,aAC/B,yDAAY,EAAE,yDAAY,EAAE,kEAAgB,EAAE,kEAAa,aAC3D,sFAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVxC;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;AAiDM,MAAOwL,kBAAP,CAAyB;EAG3Ble,YACWE,gBADX,EAEYsT,MAFZ,EAGYrT,YAHZ,EAIYoT,cAJZ,EAKYlT,MALZ,EAK0B;IAJf;IACC;IACA;IACA;IACA;IAPJ,wBAAmByd,qDAAM,CAACC,iEAAD,CAAzB;EAQJ;;EAEJvX,UAAU;IAAA;;IACN,MAAMpB,OAAO,GAAG,KAAK+Y,gBAAL,CAAsBhN,OAAtB,CAA8B,kBAA9B,CAAhB;IACA,MAAM7L,YAAY,GAAG,KAAKpF,gBAAL,CAAsB8C,QAAtB,CAA+BsC,YAApD;IACA,KAAKiO,cAAL,CAAoB5N,cAApB,CAAmCP,OAAnC,EAA4C,GAA5C,EAAiDE,YAAjD;MAAA,gKAA+D,WAAO8Y,WAAP,EAAoBC,SAApB,EAAiC;QAC5F,IAAI,CAACD,WAAL,EAAkB;UACd,IAAIC,SAAS,CAAC,YAAD,CAAT,KAA4B,UAAhC,EAA4C;YACxC,KAAI,CAACle,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwC8M,SAAS,CAAC,YAAD,CAAjD;UACH;;UACD;QACH;;QACD,MAAMC,iBAAiB,GAAGD,SAAS,CAACjb,IAAV,CAAemb,WAAf,CAA2B,GAA3B,CAA1B;QACA,MAAMC,gBAAgB,GAAGH,SAAS,CAACjb,IAAV,CAAeqb,KAAf,CAAqB,CAArB,EAAwBH,iBAAxB,CAAzB;QACA,MAAMrd,KAAK,GAAGgd,qFAAuB,CAACI,SAAS,CAACjb,IAAX,CAArC;;QAEA,IAAInC,KAAJ,EAAW;UACP,MAAMyd,IAAI,GAAG,KAAI,CAACP,gBAAL,CAAsBhN,OAAtB,CAA8BlQ,KAAK,CAAC0d,SAApC,CAAb;;UACA,KAAI,CAACxe,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCmN,IAAxC;;UACA;QACH;;QAED,KAAI,CAACxe,gBAAL,CAAsB8C,QAAtB,CAA+BsC,YAA/B,GAA8CkZ,gBAA9C;QACA,MAAM,KAAI,CAACne,MAAL,CAAYqP,GAAZ,oKAAgB,aAAW;UAC7B,MAAM,KAAI,CAAC8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,OAAD,CAArB,EAAgC;YAClCK,WAAW,EAAE;cAAE5Y,IAAI,EAAEib,SAAS,CAACjb;YAAlB;UADqB,CAAhC,CAAN;QAGH,CAJK,EAAN;MAKH,CAvBD;;MAAA;QAAA;MAAA;IAAA;EAwBH;;EAEDwb,aAAa;IACT,KAAKrL,cAAL,CAAoB/H,gBAApB,CAAqCwS,8EAArC;EACH;;AA1C0B;;;mBAAlBE,oBAAkBxL,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,uEAAAA,GAAAA,+DAAAA,CAAAA,yEAAAA,GAAAA,+DAAAA,CAAAA,iDAAAA;AAAA;;;QAAlBwL;EAAkBT;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MA3CvBnL,4DAAAA,cAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B,EAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B;MAGYA,uDAAAA;MACAA,4DAAAA;MAAiBA,oDAAAA;;MAA0CA,0DAAAA;MAE/DA,uDAAAA;MACJA,0DAAAA;MAEAA,4DAAAA,cAA0B,CAA1B,EAA0B,KAA1B,EAA0B,CAA1B,EAA0B,EAA1B,EAA0B,KAA1B,EAA0B,CAA1B,EAA0B,EAA1B,EAA0B,KAA1B,EAA0B,CAA1B,EAA0B,EAA1B,EAA0B,IAA1B,EAA0B,CAA1B;MAIiCA,oDAAAA;;MAA8BA,0DAAAA;MAE/CA,4DAAAA;MACIA,oDAAAA;;MACJA,0DAAAA;MAEAA,4DAAAA;MAAQA,wDAAAA;QAAA,OAASmM,gBAAT;MAAqB,CAArB;MACJnM,oDAAAA;;MACJA,0DAAAA;MAEAA,4DAAAA;MACIA,oDAAAA;;MACJA,0DAAAA;MAEAA,4DAAAA;MACIA,wDAAAA;QAAA,OAASmM,mBAAT;MAAwB,CAAxB;MAKAnM,uDAAAA;MACAA,4DAAAA;MAA4BA,oDAAAA;;MAA6BA,0DAAAA;;;;MA9BpDA,uDAAAA;MAAAA,+DAAAA,CAAAA,yDAAAA;MASQA,uDAAAA;MAAAA,+DAAAA,CAAAA,yDAAAA;MAETA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MACJA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAIAA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAGIA,uDAAAA;MAAAA,wDAAAA,eAAAA,6DAAAA;MACJA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAU4BA,uDAAAA;MAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9C5D;AACA;AAOA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;IA+CgCA,6DAAAA;IAOIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAjBRA,6DAAAA;IAOIA,yDAAAA;IASAA,yDAAAA;IAGJA,2DAAAA;;;;;IAXSA,wDAAAA;IAAAA,yDAAAA;IAQCA,wDAAAA;IAAAA,yDAAAA;;;;;;IAIVA,6DAAAA,eAAwC,CAAxC,EAAwC,KAAxC;IAEQA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAGRA,6DAAAA,eAA0C,CAA1C,EAA0C,KAA1C;IAEQA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAwBRA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;;;;;;AAsC1B,MAAOuM,oBAAP,CAA2B;EAoC7Bjf,YACWE,gBADX,EAEYG,MAFZ,EAGYmT,MAHZ,EAIY0L,OAJZ,EAKY/e,YALZ,EAMYgf,UANZ,EAMsC;IAL3B;IACC;IACA;IACA;IACA;IACA;IAvCZ,uBAAmC,CAC/B;MACIC,UAAU,EAAE,iBADhB;MAEI9V,KAAK,EAAE,KAAKpJ,gBAAL,CAAsBsS,aAAtB,CAAoC/R;IAF/C,CAD+B,EAK/B;MACI6I,KAAK,EAAE;IADX,CAL+B,CAAnC;IAUA,UAAKwU,sDAAM,CAACgB,wDAAD,CAAX;IAEA,kBAAa,KAAKO,EAAL,CAAQC,KAAR,CAAc;MACvB7e,IAAI,EAAE,KAAK4e,EAAL,CAAQE,WAAR,CAAoBC,OAApB,CAA4B,EAA5B,EAAgC,CAACT,gEAAD,EAAsBA,+DAAA,CAAmBC,yEAAnB,CAAtB,CAAhC,CADiB;MAEvB/W,OAAO,EAAE,KAAKoX,EAAL,CAAQE,WAAR,CAAoBC,OAApB,CAA4B,EAA5B,EAAgC,CAACT,iEAAA,CAAqB,KAAK7e,gBAAL,CAAsB0f,gBAA3C,CAAD,CAAhC;IAFc,CAAd,CAAb;IAKA,aAAQ;MACJnf,IAAI,EAAE,EADF;MAEJsH,GAAG,EAAE,KAAK7H,gBAAL,CAAsBkR,WAFvB;MAGJyO,KAAK,EAAE,IAAIlhB,oDAAJ,CAAc,CAAd,CAHH;MAIJgO,MAAM,EAAE,GAJJ;MAKJmT,cAAc,EAAE,GALZ;MAMJ7X,OAAO,EAAE,EANL;MAOJ8X,MAAM,EAAE;IAPJ,CAAR;IAUA,mBAAc,KAAd;IAEA,sBAAiB,KAAjB;IAEQ,gBAAW,IAAIthB,0CAAJ,EAAX;EASJ;;EAEJ0V,QAAQ;IACJ,KAAKjR,MAAL,GAAc,KAAKhD,gBAAL,CAAsBsS,aAApC;IACA,KAAKwN,UAAL,CACKrD,GADL,CACS,MADT,EAEKsD,YAFL,CAEkB9D,IAFlB,CAEuBnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAFhC,EAGKpI,SAHL,CAGe;MACP1R,IAAI,EAAExD,KAAK,IAAG;QACV,KAAKohB,WAAL,GAAmB,KAAnB;QACA,KAAKxT,KAAL,CAAWqT,MAAX,GAAoB,KAApB;QACA,MAAMI,OAAO,GAAGrhB,KAAK,CAACshB,WAAN,GAAoBrT,OAApB,CAA4B,GAA5B,EAAiC,EAAjC,CAAhB;;QACA,IACI,EAAE,KAAKiT,UAAL,CAAgBK,QAAhB,CAAyB,MAAzB,EAAiCC,MAAjC,IAA2CnN,+EAAc,CAAC,KAAK6M,UAAL,CAAgBK,QAAhB,CAAyB,MAAzB,EAAiCC,MAAlC,EAA0C,SAA1C,CAA3D,KACAH,OAAO,CAACtf,MAAR,IAAkB,CADlB,IAEAsf,OAAO,CAACtf,MAAR,IAAkB,EAHtB,EAIE;UACE,KAAKqe,OAAL,CAAa/R,kBAAb,CAAgCgT,OAAhC,EAAyCnS,MAAM,IAAG;YAC9C,KAAK3N,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAKhD,KAAL,CAAWqT,MAAX,GAAoB/R,MAApB;YACH,CAFD;;YAGA,IAAI,CAACA,MAAL,EAAa;cACT,KAAKtB,KAAL,CAAWmT,KAAX,GAAmB,IAAIlhB,oDAAJ,CAAc,CAAd,CAAnB;cACA,KAAKugB,OAAL,CAAa3R,aAAb,CAA2B4S,OAA3B,EAAoC,CAACI,WAAD,EAAcC,SAAd,KAA2B;gBAC3D,KAAKngB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;;;kBACjB,IAAI6Q,WAAJ,EAAiB;oBACb,KAAK7T,KAAL,CAAWmT,KAAX,GAAmBlhB,wDAAA,CAAc6hB,SAAS,CAAC,OAAD,CAAvB,EAAkC,KAAKtgB,gBAAL,CAAsBiK,eAAxD,CAAnB;kBACH;;kBACD,MAAMuW,gBAAgB,GAAG,IAAI/hB,oDAAJ,CAAc,YAAKuE,MAAL,CAAYyd,kBAAZ,CAA+B,MAA/B,OAAsC,IAAtC,IAAsCC,aAAtC,GAAsC,MAAtC,GAAsCA,GAAEC,QAAxC,KAAoD,CAAlE,CAAzB;kBACA,KAAKC,cAAL,GAAsB,KAAKpU,KAAL,CAAWmT,KAAX,CAAiBkB,aAAjB,CAA+BL,gBAA/B,CAAtB;kBACA,KAAKhU,KAAL,CAAWC,MAAX,GAAoB,KAAKwS,UAAL,CAAgB5W,SAAhB,CAA0B,KAAKmE,KAAL,CAAWmT,KAArC,EAA4C,KAA5C,CAApB;kBACA,KAAKnT,KAAL,CAAWoT,cAAX,GAA4B,KAAKX,UAAL,CAAgB5W,SAAhB,CAA0BiY,SAAS,CAAC,OAAD,CAAnC,EAA8C,KAA9C,CAA5B;kBACA,KAAKN,WAAL,GAAmB,CAAC,KAAKY,cAAzB;gBACH,CATD;cAUH,CAXD;YAYH,CAdD,MAcO;cACH,KAAKA,cAAL,GAAsB,KAAtB;cACA,KAAKpU,KAAL,CAAWC,MAAX,GAAoB,GAApB;cACA,KAAKD,KAAL,CAAWoT,cAAX,GAA4B,GAA5B;YACH;UACJ,CAvBD;QAwBH,CA7BD,MA6BO;UACH,KAAKgB,cAAL,GAAsB,KAAtB;UACA,KAAKpU,KAAL,CAAWC,MAAX,GAAoB,GAApB;UACA,KAAKD,KAAL,CAAWoT,cAAX,GAA4B,GAA5B;QACH;;QACD,KAAKpT,KAAL,CAAWjM,IAAX,GAAkB0f,OAAlB;MACH;IAxCM,CAHf;EA6CH;;EAED1D,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAEDC,WAAW;IAAA;;IACP,MAAMvU,KAAK,GAAG,KAAKwS,OAAL,CAAatR,cAAb,CAA4B,KAAK1K,MAAL,CAAYqB,OAAxC,CAAd;;IACA,IAAI4O,+EAAc,CAACzG,KAAD,EAAQ,MAAR,CAAlB,EAAmC;MAC/B,KAAKvM,YAAL,CAAkBoR,YAAlB,CAA+B,MAA/B,EAAuC,wBAAvC;IACH,CAFD,MAEO;MACH,KAAK7E,KAAL,CAAWzE,OAAX,GAAqB,KAAK+X,UAAL,CAAgBrD,GAAhB,CAAoB,SAApB,EAA+B7d,KAApD;MACA,KAAKogB,OAAL,CAAazS,aAAb,CACI,KAAKvJ,MAAL,CAAY2D,SADhB,EAEI,KAAK6F,KAAL,CAAWjM,IAFf,EAGI,KAAKyC,MAAL,CAAYqB,OAHhB,EAII,KAAKmI,KAAL,CAAW3E,GAJf,EAKI,KAAK2E,KAAL,CAAWzE,OALf,EAMI,KAAKyE,KAAL,CAAWoT,cANf;QAAA,gKAOI,WAAM9R,MAAN,EAAe;UACX,IAAIA,MAAJ,EAAY;YACR,KAAI,CAAC9K,MAAL,CAAYge,SAAZ,GAAwB,IAAxB;;YACA,KAAI,CAAC/gB,YAAL,CAAkBoR,YAAlB,CAA+B,MAA/B,EAAuC,8BAAvC;;YACA,MAAM,KAAI,CAAClR,MAAL,CAAYqP,GAAZ,oKAAgB,aAAW;cAC7B,MAAM,KAAI,CAAC8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,UAAD,CAArB,CAAN;YACH,CAFK,EAAN;UAGH;QACJ,CAfL;;QAAA;UAAA;QAAA;MAAA;IAiBH;EACJ;;AA3H4B;;;mBAApBsD,sBAAoBvM,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,kDAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,uEAAAA,GAAAA,gEAAAA,CAAAA,4FAAAA;AAAA;;;QAApBuM;EAAoBxB;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MA5HzBnL,6DAAAA,cAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B,EAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B;MAGYA,wDAAAA;MACAA,6DAAAA;MAAiBA,qDAAAA;;MAA4CA,2DAAAA;MAEjEA,wDAAAA;MACJA,2DAAAA;MAEAA,6DAAAA;MACIA,wDAAAA;MAEAA,6DAAAA,eAA8B,EAA9B,EAA8B,MAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,OAA9B,EAA8B,EAA9B;;MAUgBA,qDAAAA;;MACJA,2DAAAA;MACAA,6DAAAA,gBAAgC,EAAhC,EAAgC,OAAhC,EAAgC,EAAhC;MAEQA,yDAAAA;QAAA,OAAemM,0CAAf;MAAqD,CAArD;;MADJnM,2DAAAA;MASJA,yDAAAA;MAoBAA,yDAAAA;MAKAA,yDAAAA;MAKJA,2DAAAA;MAEAA,6DAAAA,gBAAkC,EAAlC,EAAkC,OAAlC,EAAkC,EAAlC;;MAQQA,qDAAAA;;MACJA,2DAAAA;MACAA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,0CAAf;MAAqD,CAArD;;MAOJnM,qDAAAA;MAAAA,2DAAAA;MACAA,yDAAAA;MAGJA,2DAAAA;MAEAA,6DAAAA;MACIA,qDAAAA;;;MAQJA,2DAAAA;MAEAA,6DAAAA;MACIA,yDAAAA;QAAA,OAASmM,iBAAT;MAAsB,CAAtB;MAKAnM,qDAAAA;;MACJA,2DAAAA;;;;MAxGaA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAMSA,wDAAAA;MAAAA,yDAAAA;MAGpBA,wDAAAA;MAAAA,yDAAAA;MAMMA,wDAAAA;MAAAA,oEAAAA,YAAAA,0DAAAA;MAHAA,yDAAAA;MAMAA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAKIA,wDAAAA;MAAAA,yDAAAA,gBAAAA,0DAAAA;MAQHA,wDAAAA;MAAAA,yDAAAA;MAmBCA,wDAAAA;MAAAA,yDAAAA;MAKAA,wDAAAA;MAAAA,yDAAAA;MAYFA,wDAAAA;MAAAA,oEAAAA,YAAAA,0DAAAA;MAHAA,yDAAAA;MAMAA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAQAA,wDAAAA;MAAAA,oEAAAA,gBAAAA,0DAAAA;MAJAA,yDAAAA;MAOEA,wDAAAA;MAAAA,yDAAAA;MAMNA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA,8BAAAA,8DAAAA,UAAAA,0DAAAA;MAYAA,wDAAAA;MAAAA,yDAAAA;MAIAA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;;;;;;;;;;;;;;;;;;;AC5H2B;AACH;AACgB;AACkB;;;AAEtF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,8CAAU;QAChB,SAAS,EAAE,2FAAmB;QAC9B,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,8DAA0B;gBAChC,SAAS,EAAE,6EAAiB;aAC/B;SACJ;KACJ;CACJ,CAAC;AAMK,MAAM,iBAAiB;;kFAAjB,iBAAiB;8GAAjB,iBAAiB;kHAHhB,kEAAqB,CAAC,MAAM,CAAC,EAC7B,yDAAY;mIAEb,iBAAiB,oFAFhB,yDAAY;;;;;;;;;;;;;;;;;;;;;;ACpBqB;AACW;AACJ;AACE;AACY;AACgC;;AAM7F,MAAM,UAAU;;oEAAV,UAAU;uGAAV,UAAU;2GAFT,yDAAY,EAAE,mEAAiB,EAAE,gEAAe,EAAE,kEAAgB,EAAE,8GAA8B;mIAEnG,UAAU,mBAHJ,6EAAiB,aACtB,yDAAY,EAAE,mEAAiB,EAAE,gEAAe,EAAE,kEAAgB,EAAE,8GAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVhH;AACA;AAIA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;IA0BgCA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAFRA,6DAAAA;IACIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAoBNA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IALRA,6DAAAA;IAIIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAlCtBA,6DAAAA;IAAMA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAYA,0DAAAA,6BAAZ;IAAgC,CAAhC;IACFA,6DAAAA,cAAuH,CAAvH,EAAuH,KAAvH,EAAuH,EAAvH,EAAuH,CAAvH,EAAuH,OAAvH,EAAuH,EAAvH;IAEiCA,qDAAAA;;IAA2CA,2DAAAA;IACpEA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,2DAAf;IAAgE,CAAhE;;IADJA,2DAAAA;IASAA,yDAAAA;IAKJA,2DAAAA;IAEAA,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;IAC8BA,qDAAAA;;IAA4CA,2DAAAA;IACtEA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,2DAAf;IAAgE,CAAhE;;IADJA,2DAAAA;IAQAA,yDAAAA;IAQJA,2DAAAA;IAGJA,6DAAAA;IAUIA,qDAAAA;;IACJA,2DAAAA;IAEAA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,4BAAT;IAA2B,CAA3B;IAKAA,qDAAAA;;IACJA,2DAAAA;;;;;IA7D2DA,yDAAAA;IAG1BA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAOrBA,wDAAAA;IAAAA,oEAAAA,gBAAAA,0DAAAA;IAGEA,wDAAAA;IAAAA,yDAAAA;IAQoBA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAMtBA,wDAAAA;IAAAA,oEAAAA,gBAAAA,0DAAAA;IAICA,wDAAAA;IAAAA,yDAAAA;IAWTA,wDAAAA;IAAAA,yDAAAA;IASAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA;IAIAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAyBQA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IARRA,6DAAAA;IAOIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAQdA,wDAAAA;;;;;;;;IAAkDA,yDAAAA;;;;;;IAKlDA,wDAAAA;;;;;;;;IAAiDA,yDAAAA;;;;;;;;IAlCzDA,6DAAAA;IAAMA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAYA,0DAAAA,4BAAZ;IAA8B,CAA9B;IACFA,6DAAAA,cAAuH,CAAvH,EAAuH,KAAvH,EAAuH,EAAvH,EAAuH,CAAvH,EAAuH,OAAvH,EAAuH,EAAvH;IAEuCA,qDAAAA;;IAAqCA,2DAAAA;IACpEA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,2DAAf;IAAgE,CAAhE;;IADJA,2DAAAA;IAUAA,yDAAAA;IAWJA,2DAAAA;IAEJA,6DAAAA;IACIA,qDAAAA;;IACAA,yDAAAA;;IACJA,2DAAAA;IAEAA,6DAAAA;IAAQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,6BAAT;IAA4B,CAA5B;IACJA,qDAAAA;;IACAA,yDAAAA;;IACJA,2DAAAA;;;;;IAnCyDA,yDAAAA;IAGlBA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAG3BA,wDAAAA;IAAAA,yDAAAA,gBAAAA,0DAAAA;IASCA,wDAAAA;IAAAA,yDAAAA;IAaTA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IACoBA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;IAIpBA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IACoBA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;;;;;;IAQXA,wDAAAA;;;;AAY3B,MAAO6O,cAAP,CAAqB;EAyBvBvhB,YACWE,gBADX,EAEWshB,cAFX,EAGYC,KAHZ,EAIYjO,MAJZ,EAKY0L,OALZ,EAMY7e,MANZ,EAM0B;IALf;IACA;IACC;IACA;IACA;IACA;IA9BZ,sBAAiB,IAAI+gB,kDAAJ,CAAoB,KAApB,CAAjB;IAEA,qBAAgB,IAAIA,kDAAJ,CAAoB,KAApB,CAAhB;IAEA,UAAKtD,sDAAM,CAACgB,wDAAD,CAAX;IAEA,eAAU,KAAKO,EAAL,CAAQC,KAAR,CACN;MACIoC,QAAQ,EAAE,KAAKrC,EAAL,CAAQE,WAAR,CAAoBC,OAApB,CAA4B,EAA5B,EAAgCT,+DAAA,CAAmBsC,wEAAnB,CAAhC,CADd;MAEIM,YAAY,EAAE,KAAKtC,EAAL,CAAQE,WAAR,CAAoBC,OAApB,CAA4B,EAA5B;IAFlB,CADM,EAKN;MACIoC,UAAU,EAAE,CAACN,kFAAA,CAAyB,UAAzB,EAAqC,cAArC,CAAD;IADhB,CALM,CAAV;IAUA,gBAAW,KAAKjC,EAAL,CAAQC,KAAR,CAAc;MACrBoC,QAAQ,EAAE,KAAKrC,EAAL,CAAQE,WAAR,CAAoBC,OAApB,CAA4B,EAA5B;IADW,CAAd,CAAX;IAIA,YAAO,KAAP;IAEQ,gBAAW,IAAI/gB,0CAAJ,EAAX;EASJ;;EAEJ0V,QAAQ;IACJ,KAAKsN,KAAL,CAAWzF,WAAX,CAAuBG,IAAvB,CAA4BnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAArC,EAAsDpI,SAAtD,CAAgE;MAC5D1R,IAAI,EAAEwB,MAAM,IAAG;QACX,IAAIA,MAAM,CAAClE,IAAX,EAAiB;UACb,KAAKA,IAAL,GAAYkE,MAAM,CAAClE,IAAnB;QACH;MACJ;IAL2D,CAAhE;EAOH;;EAED6c,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAEDc,kBAAkB;IACd,IAAI,KAAKC,OAAL,CAAaC,KAAjB,EAAwB;MACpB,KAAK9hB,gBAAL,CAAsB0E,OAAtB,GAAgC,KAAKmd,OAAL,CAAapF,GAAb,CAAiB,UAAjB,EAA6B7d,KAA7D,CADoB,CACgD;;MAEpE,KAAKogB,OAAL,CAAazb,iBAAb,CAA+B;QAAEF,IAAI,EAAE,KAAKrD,gBAAL,CAAsB0E;MAA9B,CAA/B,EAAwE,CAACoJ,MAAD,EAASvJ,IAAT,KAAiB;QACrF,IAAIuJ,MAAJ,EAAY;UACR,KAAKkR,OAAL,CAAa/a,kBAAb,CAAgC;YAC5BZ,IAAI,EAAE,KAAKrD,gBAAL,CAAsB0E;UADA,CAAhC;UAGA,KAAK1E,gBAAL,CAAsB+b,QAAtB,GAAiC,IAAjC;UACA,KAAK/b,gBAAL,CAAsB+hB,YAAtB,GAAqC,IAArC;;UACA,IAAI,KAAK/hB,gBAAL,CAAsB8C,QAAtB,CAA+Bkf,WAAnC,EAAgD;YAC5C,KAAKhiB,gBAAL,CAAsBiiB,cAAtB;UACH;;UACD,KAAK9hB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;YACjB,KAAK8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;UACH,CAFD;QAGH,CAZD,MAYO;UACH3a,OAAO,CAACG,GAAR,CAAYsD,IAAI,CAAC,YAAD,CAAhB;QACH;MACJ,CAhBD;IAiBH;EACJ;;EAED2d,gBAAgB;IACZ,KAAKliB,gBAAL,CAAsB0E,OAAtB,GAAgC,EAAhC;IACA,KAAKvE,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;MACjB,KAAKxP,gBAAL,CAAsB+b,QAAtB,GAAiC,IAAjC;MACA,KAAKzI,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;IACH,CAHD;EAIH;;EAED0G,iBAAiB;IACb,KAAKnD,OAAL,CAAavW,iBAAb,CAA+B;MAAEC,MAAM,EAAE,EAAV;MAAc0Z,aAAa,EAAE;IAA7B,CAA/B;EACH;;EAEDvd,iBAAiB;IACb,KAAKwd,aAAL,CAAmBjgB,IAAnB,CAAwB,IAAxB,EADa,CAGb;;IACAgQ,UAAU,CAAC,MAAK;MACZ,KAAK+P,iBAAL;MACA,KAAKnD,OAAL,CAAana,iBAAb,CAA+B,MAAK;QAChC,KAAKwd,aAAL,CAAmBjgB,IAAnB,CAAwB,KAAxB;QACA,KAAK8f,gBAAL;MACH,CAHD;MAIA,KAAKI,eAAL;MACA,KAAKtiB,gBAAL,CAAsBkE,QAAtB,GAAiC,EAAjC;IACH,CARS,EAQP,GARO,CAAV;EASH;;EAEDqe,gBAAgB;IACZ,KAAKC,cAAL,CAAoBpgB,IAApB,CAAyB,IAAzB,EADY,CAGZ;;IACAgQ,UAAU,CAAC,MAAK;MACZ,IAAI,KAAKqQ,QAAL,CAAcX,KAAlB,EAAyB;QACrB,KAAK9hB,gBAAL,CAAsB0E,OAAtB,GAAgC,KAAK+d,QAAL,CAAchG,GAAd,CAAkB,UAAlB,EAA8B7d,KAA9D;;QACA,IAAI,KAAKoB,gBAAL,CAAsB+hB,YAA1B,EAAwC;UACpC,KAAK/C,OAAL,CAAavb,mBAAb,CAAiC;YAAEJ,IAAI,EAAE,KAAKrD,gBAAL,CAAsB0E;UAA9B,CAAjC,EAA0EoJ,MAAM,IAAG;YAC/E,IAAIA,MAAJ,EAAY;cACR,KAAK9N,gBAAL,CAAsB+b,QAAtB,GAAiC,IAAjC;;cACA,IAAI,KAAK/b,gBAAL,CAAsB8C,QAAtB,CAA+Bkf,WAAnC,EAAgD;gBAC5C,KAAKhiB,gBAAL,CAAsBiiB,cAAtB;cACH;;cACD,KAAK9hB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;gBACjB,KAAKgT,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;gBACA,KAAKkR,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB,EAA4B;kBACxBK,WAAW,EAAE;oBAAE4G,OAAO,EAAE;kBAAX;gBADW,CAA5B;cAGH,CALD;YAMH,CAXD,MAWO;cACH,KAAKviB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;gBACjB,KAAKgT,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;gBACA,KAAKugB,gBAAL,CAAsB;kBAAEC,cAAc,EAAE;gBAAlB,CAAtB;cACH,CAHD;YAIH;UACJ,CAlBD;QAmBH,CApBD,MAoBO;UACH,KAAKC,OAAL,CAAa,KAAK7iB,gBAAL,CAAsB0E,OAAnC;QACH;MACJ,CAzBD,MAyBO;QACH,KAAK8d,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;MACH;IACJ,CA7BS,EA6BP,GA7BO,CAAV;EA8BH;;EAEDygB,OAAO,CAACne,OAAD,EAAQ;IACX,KAAKsa,OAAL,CAAa5b,gBAAb,CAA8B;MAAEC,IAAI,EAAEqB;IAAR,CAA9B,EAAiD,CAACoJ,MAAD,EAASvJ,IAAT,KAAiB;MAC9D,IAAI,CAACA,IAAI,CAACsN,UAAV,EAAsB;QAClB,KAAK8Q,gBAAL,CAAsB,IAAtB;QACA,KAAK3iB,gBAAL,CAAsB+b,QAAtB,GAAiC,IAAjC;QACA,KAAK/b,gBAAL,CAAsB+hB,YAAtB,GAAqC,IAArC;;QACA,IAAI,KAAK/hB,gBAAL,CAAsB8C,QAAtB,CAA+Bkf,WAAnC,EAAgD;UAC5C,KAAKhiB,gBAAL,CAAsBiiB,cAAtB;QACH;;QACD,KAAKjiB,gBAAL,CAAsB0E,OAAtB,GAAgCA,OAAhC;QACA,MAAMoe,aAAa,GAAG7jB,MAAM,CAACC,IAAP,CAAYqF,IAAZ,EAAkB5D,MAAlB,KAA6B,CAA7B,IAAkC4D,IAAI,CAACzE,WAAL,KAAqBb,MAA7E;;QAEA,IAAI,KAAKe,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,GAAuC,CAA3C,EAA8C;UAC1C,KAAKR,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;YACjB,KAAKgT,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;YACA,KAAKkR,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,UAAD,CAArB;UACH,CAHD;UAIA;QACH;;QACD,IAAIxI,+EAAc,CAAC1O,IAAD,EAAO,WAAP,CAAlB,EAAuC;UACnC,IAAItF,MAAM,CAACC,IAAP,CAAYqF,IAAI,CAAC,UAAD,CAAhB,EAA8B5D,MAA9B,KAAyC,CAA7C,EAAgD;YAC5C4D,IAAI,CAAC,UAAD,CAAJ,CAAiBhF,GAAjB,CAAqB6E,OAAO,IAAG;cAC3B,KAAKpE,gBAAL,CAAsBkE,QAAtB,CAA+BjB,IAA/B,CAAoCmB,OAApC;YACH,CAFD;UAGH;QACJ;;QACD,IAAI6O,+EAAc,CAAC1O,IAAD,EAAO,SAAP,CAAlB,EAAqC;UACjC,IAAItF,MAAM,CAACC,IAAP,CAAYqF,IAAI,CAAC,SAAD,CAAhB,EAA6B5D,MAA7B,KAAwC,CAA5C,EAA+C;YAC3C,KAAKoiB,aAAL,CAAmBxe,IAAI,CAAC,SAAD,CAAvB;UACH,CAFD,MAEO;YACH,KAAKpE,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAKgT,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;cACA,KAAKkR,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;YACH,CAHD;UAIH;QACJ;;QACD,IAAI,CAACxI,+EAAc,CAAC1O,IAAD,EAAO,SAAP,CAAf,IAAoC,CAAC0O,+EAAc,CAAC1O,IAAD,EAAO,WAAP,CAAvD,EAA4E;UACxE,IAAIA,IAAI,CAAC5D,MAAL,KAAgB,CAAhB,IAAqB,CAACmiB,aAA1B,EAAyC;YACrC,KAAKC,aAAL,CAAmBxe,IAAnB;UACH,CAFD,MAEO;YACH,KAAKpE,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAKgT,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;cACA,KAAKkR,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;YACH,CAHD;UAIH;QACJ;;QAED,IAAI,KAAKzb,gBAAL,CAAsB8C,QAAtB,CAA+B8F,iBAA/B,CAAiDwZ,aAArD,EAAoE;UAChE,KAAKpD,OAAL,CAAavW,iBAAb,CAA+B,KAAKzI,gBAAL,CAAsB8C,QAAtB,CAA+B8F,iBAA9D;QACH;MACJ;;MAED,IAAIrE,IAAI,CAACsN,UAAL,KAAoB,gBAAxB,EAA0C;QACtC,KAAK1R,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAKgT,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;UACA,KAAKugB,gBAAL,CAAsB;YAAEC,cAAc,EAAE;UAAlB,CAAtB;QACH,CAHD;MAIH;IACJ,CAzDD;EA0DH;;EAEDG,aAAa,CAACC,UAAD,EAAW;IACpB,IAAIC,WAAW,GAAG,CAAlB;IACA,IAAIC,UAAU,GAAG,CAAjB;IACAF,UAAU,CAACjgB,OAAX,CAAmB,CAACC,MAAD,EAASmgB,YAAT,KAAyB;MACxC,KAAKnE,OAAL,CAAa1Y,UAAb,CAAwBtD,MAAM,CAACE,IAA/B,EAAqCF,MAAM,CAACK,IAA5C,EAAkD,KAAKrD,gBAAL,CAAsBkO,KAAxE,EAA+E,IAA/E,EAAqF,CAACkV,WAAD,EAAcC,SAAd,EAAyBC,UAAzB,KAAuC;QACxH,IAAIF,WAAW,IAAIE,UAAU,KAAK,eAAlC,EAAmD;UAC/CL,WAAW;UACX,KAAK9iB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;YACjB,MAAM+T,UAAU,GAAG,IAAItC,4DAAJ,CACfoC,SAAS,CAAC1c,SADK,EAEf3D,MAAM,CAACzC,IAFQ,EAGfyC,MAAM,CAACK,IAHQ,EAIfggB,SAAS,CAAC,IAAD,CAAT,CAAgBngB,IAJD,EAKfmgB,SAAS,CAAC,IAAD,CAAT,CAAgBhf,OALD,EAMfgf,SAAS,CAAC,IAAD,CAAT,CAAgBG,OAND,EAOfH,SAAS,CAAC,IAAD,CAAT,CAAgB7C,gBAPD,EAQf6C,SAAS,CAAC,IAAD,CAAT,CAAgBlO,WARD,EASfkO,SAAS,CAAC,IAAD,CAAT,CAAgBI,YATD,CAAnB;YAWAF,UAAU,CAAC/W,KAAX,GAAmB,KAAKwS,OAAL,CAAatR,cAAb,CAA4B6V,UAAU,CAAClf,OAAvC,CAAnB;;YACA,IAAIrB,MAAM,CAACmB,OAAX,EAAoB;cAChBof,UAAU,CAACpf,OAAX,GAAqB,IAArB;cACA,KAAK6a,OAAL,CAAa9T,cAAb,CAA4BqY,UAAU,CAAC5c,SAAvC;YACH,CAHD,MAGO;cACH4c,UAAU,CAACpf,OAAX,GAAqB,KAArB;YACH;;YACDof,UAAU,CAACG,YAAX,GAA0BL,SAAS,CAAC,IAAD,CAAT,CAAgBK,YAA1C;YACAH,UAAU,CAACI,aAAX,GAA2BN,SAAS,CAAC,IAAD,CAAT,CAAgBM,aAA3C;YACAJ,UAAU,CAACnL,WAAX,GAAyB,CAAzB;YACAmL,UAAU,CAACpV,kBAAX,GAAgC,KAAhC;;YACA,IAAIkV,SAAS,CAACO,cAAV,IAA4BP,SAAS,CAACO,cAAV,CAAyBhM,OAAzD,EAAkE;cAC9D2L,UAAU,CAAChL,kBAAX,GAAgC8K,SAAS,CAACO,cAAV,CAAyBC,mBAAzD;cACAN,UAAU,CAAC/K,UAAX,GAAwB1B,IAAI,CAAC2B,IAAL,CAAU4K,SAAS,CAACO,cAAV,CAAyBC,mBAAzB,GAA+C,KAAK7jB,gBAAL,CAAsBkO,KAA/E,CAAxB;cACAqV,UAAU,CAAC/K,UAAX,GAAwB,KAAKxY,gBAAL,CAAsB0Y,QAA9C,GACO6K,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,EAAqBrZ,GAArB,CAAyB,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAnD,CAD1B,GAEO0K,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAUykB,UAAU,CAAC/K,UAArB,EAAiCI,IAAjC,CAAsC,CAAtC,EAAyCrZ,GAAzC,CAA6C,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAvE,CAF1B;cAGA0K,UAAU,CAAClL,cAAX,CAA0BgL,SAAS,CAACO,cAAV,CAAyBhM,OAAnD;YACH,CAPD,MAOO;cACH2L,UAAU,CAAChL,kBAAX,GAAgC,CAAhC;cACAgL,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,CAAnB;cACA2K,UAAU,CAAC/K,UAAX,GAAwB,CAAxB;YACH;;YACD,KAAK8I,cAAL,CAAoBwC,SAApB,CAA8BP,UAA9B;;YACA,IAAI,KAAKvjB,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,KAAyC,CAA7C,EAAgD;cAC5C,KAAK2S,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,UAAD,CAArB;YACH;UACJ,CAvCD;UAwCA,KAAKuD,OAAL,CAAa7X,SAAb,CAAuBkc,SAAS,CAAC1c,SAAjC,EAA4Cod,UAAU,IAAG;YACrD,IAAIA,UAAJ,EAAgB;cACZb,UAAU;YACb,CAFD,MAEO;cACH,IAAIC,YAAY,KAAKH,UAAU,CAACriB,MAAX,GAAoB,CAArC,IAA0CuiB,UAAU,KAAK,CAA7D,EAAgE;gBAC5D,KAAK/iB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;kBACjB,KAAK8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;gBACH,CAFD;cAGH;YACJ;UACJ,CAVD;QAWH,CArDD,MAqDO;UACH,IAAI0H,YAAY,KAAKH,UAAU,CAACriB,MAAX,GAAoB,CAArC,IAA0CsiB,WAAW,KAAK,CAA9D,EAAiE;YAC7D,KAAK9iB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAK8D,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;YACH,CAFD;UAGH;QACJ;MACJ,CA7DD;IA8DH,CA/DD;IAgEA,KAAK+G,cAAL,CAAoBpgB,IAApB,CAAyB,KAAzB;EACH;;EAEDkgB,eAAe;IACX,KAAKtiB,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsC,CAAC;MAAE4D;IAAF,CAAD,KAAmB,KAAKD,WAAL,CAAiBC,SAAjB,CAAzD;;IACA,IAAI,KAAK3G,gBAAL,CAAsB0E,OAA1B,EAAmC;MAC/B,KAAKsa,OAAL,CAAa/a,kBAAb;IACH;EACJ;;EAEDyC,WAAW,CAACC,SAAD,EAAU;IACjB,KAAKqY,OAAL,CAAatY,WAAb,CAAyBC,SAAzB,EAAoC,MAAK;MACrC,KAAK,IAAIjG,CAAC,GAAG,KAAKV,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,GAAuC,CAApD,EAAuDD,CAAC,IAAI,CAA5D,EAA+DA,CAAC,EAAhE,EAAoE;QAChE,KAAKV,gBAAL,CAAsB6C,OAAtB,CAA8B+R,MAA9B,CAAqClU,CAArC,EAAwC,CAAxC;MACH;IACJ,CAJD;EAKH;;EAEOiiB,gBAAgB,CAACvC,MAAD,EAAgC;IACpD,KAAKqC,QAAL,CAActC,QAAd,CAAuB,UAAvB,EAAmC6D,SAAnC,CAA6C5D,MAA7C;EACH;;AA5RsB;;;mBAAdiB,gBAAc7O,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,2EAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,kDAAAA;AAAA;;;QAAd6O;EAAc9D;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MA5HnBnL,6DAAAA,cAA0E,CAA1E,EAA0E,KAA1E,EAA0E,CAA1E,EAA0E,CAA1E,EAA0E,KAA1E,EAA0E,CAA1E;MAGYA,wDAAAA;MACJA,2DAAAA;MAEAA,yDAAAA;MAgEAA,yDAAAA;MAqCJA,2DAAAA;MAEAA,wDAAAA;MACJA,2DAAAA;MAEAA,yDAAAA,yEAAAA,qEAAAA;;;;MA1GiDA,wDAAAA;MAAAA,yDAAAA;MAgEFA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFL;AACkB;AAKhC;;;;;;;;;AA4C7B,MAAM,iBAAiB;IAG1B,YACW,gBAAkC,EACjC,MAAc,EACd,OAAuB,EACvB,MAAc,EACd,SAA2B;QAJ5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAkB;QAPvC,UAAK,GAAG,yCAAK,CAAC;IAQX,CAAC;IAEJ,UAAU;QACN,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAC1C,GAAG,EACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAC3C,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACvB,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM;yBACN,QAAQ,CAAC,CAAC,GAAG,GAAG,8CAAU,CAAC,EAAE;wBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;qBACxC,CAAC;yBACD,IAAI,EAAE,CAAC;gBAChB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;aACxC;QACL,CAAC,CACJ,CAAC;IACN,CAAC;IAED,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,8EAA2B,CAAC,CAAC;IAC/D,CAAC;;kFAnCQ,iBAAiB;+GAAjB,iBAAiB;QAvCtB,yEAAuF;QAG3E,oEAA6D;QACjE,4DAAM;QAEN,wEAAmC;QAAA,uDAA8B;;QAAA,4DAAK;QAEtE,4EAAyF;QACrF,uDACJ;;QAAA,4DAAS;QAET,6EAA4E;QAApE,0IAAS,gBAAY,IAAC;QAC1B,wDACJ;;QAAA,4DAAS;QAET,6EAA0F;QACtF,wDACJ;;QAAA,4DAAS;QAET,wEAAmH;QAAhH,qIAAS,mBAAe,IAAC;QACxB,mEAAyC;QACzC,4EAA4B;QAAA,wDAA6B;;QAAA,4DAAO;QAIxE,6FAA8E;QAClF,4DAAM;;QArBqC,0DAA8B;QAA9B,8IAA8B;QAEzD,0DAAmC;QAAnC,sKAAmC;QACvC,0DACJ;QADI,qKACJ;QAGI,0DACJ;QADI,wKACJ;QAEQ,0DAAoC;QAApC,uKAAoC;QACxC,0DACJ;QADI,2KACJ;QAIgC,0DAA6B;QAA7B,+IAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;IAqCgCA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAVRA,6DAAAA;IAMIA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IANUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAIVA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAgBAA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAFRA,6DAAAA;IACIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAkBVA,6DAAAA;IAQIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAIRA,6DAAAA;IACIA,wDAAAA;IACAA,qDAAAA;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA;;;;;;;;IAGJA,6DAAAA;IAEIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,gCAAT;IAA+B,CAA/B;IAOAA,qDAAAA;;IACJA,2DAAAA;;;;;IAPIA,yDAAAA;IAMAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAKAA,wDAAAA;;;;;;;;IAA4CA,yDAAAA;;;;;;IAOvCA,wDAAAA;;;;AAY3B,MAAO8R,qBAAP,CAA4B;EA/HlCxkB;IAgII,wBAAmB8d,sDAAM,CAACsG,+EAAD,CAAzB;IAEA,gBAAW,IAAIhD,kDAAJ,CAAoB,KAApB,CAAX;IAEA,uBAAmC,CAC/B;MACIhC,UAAU,EAAE,aADhB;MAEI9V,KAAK,EAAE;IAFX,CAD+B,EAK/B;MACIA,KAAK,EAAE;IADX,CAL+B,CAAnC;IAUA,sBAAiBwU,sDAAM,CAACyG,2EAAD,CAAvB;IAEA,UAAKzG,sDAAM,CAACqG,mEAAD,CAAX;IAEA,kBAAa,KAAK9E,EAAL,CAAQC,KAAR,CACT;MACI7e,IAAI,EAAE,KAAK4e,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoB,CAACT,gEAAD,EAAsBuC,kFAAA,CAAyB,KAAKphB,gBAAL,CAAsBwkB,yBAA/C,CAAtB,CAApB,CADV;MAEIhD,QAAQ,EAAE,KAAKrC,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoBT,+DAAA,CAAmBsC,wEAAnB,CAApB,CAFd;MAGIsD,OAAO,EAAE,KAAKtF,EAAL,CAAQG,OAAR,CAAgB,EAAhB,CAHb;MAIIpc,IAAI,EAAE,KAAKic,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoBT,gEAApB;IAJV,CADS,EAOT;MACI6C,UAAU,EAAE,CAACN,kFAAA,CAAyB,UAAzB,EAAqC,SAArC,CAAD;IADhB,CAPS,CAAb;IAYQ,cAASxD,sDAAM,CAACwG,oDAAD,CAAf;IAEA,eAAUxG,sDAAM,CAAC/d,yEAAD,CAAhB;IAEA,oBAAe+d,sDAAM,CAACuG,uEAAD,CAArB;IAEA,cAASvG,sDAAM,CAACvf,kDAAD,CAAf;IAEA,iBAAYuf,sDAAM,CAACC,kEAAD,CAAlB;EAoEX;;EAlEsB,IAAf6G,eAAe;IACf,MAAMxhB,IAAI,GAAG,KAAKyhB,UAAL,CAAgBlI,GAAhB,CAAoB,MAApB,EAA4B7d,KAAzC;IACA,OAAOsE,IAAI,CAAC0hB,MAAL,CAAY1hB,IAAI,CAACmb,WAAL,CAAiB,GAAjB,IAAwB,CAApC,EAAuCnb,IAAI,CAACvC,MAAL,GAAc,CAArD,CAAP;EACH;;EAEDkkB,YAAY;IAAA;;IACR,KAAKC,QAAL,CAAc1iB,IAAd,CAAmB,IAAnB,EADQ,CAGR;;IACAgQ,UAAU,CAAC,MAAK;MACZ,MAAM;QAAElP,IAAI,EAAE6hB,YAAR;QAAsBvD,QAAtB;QAAgCjhB;MAAhC,IAAyC,KAAKokB,UAAL,CAAgBK,WAAhB,EAA/C;MACA,KAAKhG,OAAL,CAAa/Y,cAAb,CAA4B8e,YAA5B,EAA0CvD,QAA1C;QAAA,gKAAoD,WAAOyD,eAAP,EAAwBC,aAAxB,EAAuCC,SAAvC,EAAoD;UACxG,IAAIF,eAAJ,EAAqB;YACjB,MAAM;cAAEte;YAAF,IAAgBue,aAAtB;YACA,MAAM;cAAEhiB,IAAF;cAAQmB,OAAR;cAAiBmf,OAAjB;cAA0BhD,gBAA1B;cAA4CrL,WAA5C;cAAyDsO;YAAzD,IAA0EyB,aAAa,CAAC,IAAD,CAA7F;YACA,MAAMliB,MAAM,GAAG,IAAIie,4DAAJ,CAAWta,SAAX,EAAsBpG,IAAtB,EAA4BihB,QAA5B,EAAsCte,IAAtC,EAA4CmB,OAA5C,EAAqDmf,OAArD,EAA8DhD,gBAA9D,EAAgFrL,WAAhF,EAA6FsO,YAA7F,CAAf;YACAzgB,MAAM,CAACwJ,KAAP,GAAe,KAAI,CAACwS,OAAL,CAAatR,cAAb,CAA4BrJ,OAA5B,CAAf;YACArB,MAAM,CAACuV,kBAAP,GAA4B,CAA5B;YACAvV,MAAM,CAAC2V,KAAP,GAAe,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,CAAf;YACA5V,MAAM,CAACwV,UAAP,GAAoB,CAApB;YACAxV,MAAM,CAACoV,WAAP,GAAqB,CAArB;YACA,MAAM,KAAI,CAAC4G,OAAL,CAAa7X,SAAb,CAAuBR,SAAvB;cAAA,iKAAkC,WAAOod,UAAP,EAAmBqB,QAAnB,EAA+B;gBACnE,IAAIrB,UAAJ,EAAgB;kBACZ,MAAM,KAAI,CAAC5jB,MAAL,CAAYqP,GAAZ,oKAAgB,aAAW;oBAC7B,KAAI,CAAC8R,cAAL,CAAoBwC,SAApB,CAA8B9gB,MAA9B;;oBACA,IAAI,KAAI,CAAChD,gBAAL,CAAsB0E,OAA1B,EAAmC;sBAC/B,KAAI,CAACsa,OAAL,CAAa/a,kBAAb;oBACH;;oBACD,KAAI,CAACjE,gBAAL,CAAsBqlB,gBAAtB,CAAuC1e,SAAvC;;oBACA,KAAI,CAACme,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;;oBACA,MAAM,KAAI,CAACkR,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,cAAD,CAArB,EAAuC;sBAAEK,WAAW,EAAE;wBAAEnV;sBAAF;oBAAf,CAAvC,CAAN;kBACH,CARK,EAAN;gBASH,CAVD,MAUO;kBACH7F,OAAO,CAACG,GAAR,CAAYmkB,QAAQ,CAAC,YAAD,CAApB;;kBACA,KAAI,CAACjlB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAI,CAACsV,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;kBACH,CAFD;gBAGH;cACJ,CAjBK;;cAAA;gBAAA;cAAA;YAAA,IAAN;UAkBH,CA3BD,MA2BO;YACH,MAAMkjB,mBAAmB,GACrBH,SAAS,KAAK,gBAAd,GAAiC,qCAAjC,GAAyE,wCAD7E;;YAEA,KAAI,CAACllB,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCiU,mBAAxC;;YAEA,KAAI,CAACnlB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAI,CAACsV,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;YACH,CAFD;UAGH;QACJ,CArCG;;QAAA;UAAA;QAAA;MAAA;IAsCH,CAxCS,EAwCP,GAxCO,CAAV;EAyCH;;EAEDmjB,oBAAoB;IAChB,MAAMrgB,OAAO,GAAG,KAAKnF,SAAL,CAAekR,OAAf,CAAuB,0BAAvB,CAAhB;IACA,MAAM9L,QAAQ,GAAG,GAAjB;IACA,MAAM;MAAEC;IAAF,IAAmB,KAAKpF,gBAAL,CAAsB8C,QAA/C;IACA,KAAKkc,OAAL,CAAa/Z,cAAb,CAA4BC,OAA5B,EAAqCC,QAArC,EAA+CC,YAA/C,EAA6D,CAAC8Y,WAAD,EAAcC,SAAd,KAA2B;MACpF,IAAID,WAAJ,EAAiB;QACb,KAAK/d,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,MAAM;YAAEtM;UAAF,IAAWib,SAAjB;UACA,KAAKwG,UAAL,CAAgBlI,GAAhB,CAAoB,MAApB,EAA4B+I,UAA5B,CAAuCtiB,IAAvC;UACA,KAAKlD,gBAAL,CAAsB8C,QAAtB,CAA+BsC,YAA/B,GAA8ClC,IAAI,CAAC0hB,MAAL,CAAY,CAAZ,EAAe1hB,IAAI,CAACmb,WAAL,CAAiB,GAAjB,CAAf,CAA9C;QACH,CAJD;MAKH;IACJ,CARD;EASH;;AA1G6B;;;mBAArBiG;AAAqB;;;QAArBA;EAAqB/G;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MA5H1BnL,6DAAAA,cAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B,EAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B;MAGYA,wDAAAA;MACAA,6DAAAA;MAAiBA,qDAAAA;;MAA0CA,2DAAAA;MAE/DA,wDAAAA;MACJA,2DAAAA;MAEAA,6DAAAA;MACIA,wDAAAA;MAEAA,6DAAAA,eAA8B,EAA9B,EAA8B,MAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,EAA9B,EAA8B,OAA9B,EAA8B,EAA9B;MAGqCA,qDAAAA;;MAAsCA,2DAAAA;MAC/DA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,0CAAf;MAAqD,CAArD;;MADJnM,2DAAAA;MAUAA,yDAAAA;MAaAA,yDAAAA;MAGJA,2DAAAA;MAEAA,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;MACiCA,qDAAAA;;MAAsCA,2DAAAA;MACnEA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,qDAAf;MAAgE,CAAhE;;MADJnM,2DAAAA;MASAA,yDAAAA;MAKJA,2DAAAA;MAEAA,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;MACyCA,qDAAAA;;MAAyCA,2DAAAA;MAC9EA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,qDAAf;MAAgE,CAAhE;;MADJnM,2DAAAA;MAUAA,yDAAAA;MAUJA,2DAAAA;MAEAA,yDAAAA;MAKAA,yDAAAA;MAYAA,6DAAAA;MAAQA,yDAAAA;QAAA,OAASmM,kBAAT;MAAuB,CAAvB;MACJnM,qDAAAA;;MACAA,yDAAAA;;MACJA,2DAAAA;MAMhBA,yDAAAA,mFAAAA,qEAAAA;;;;MA5G6BA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAMSA,wDAAAA;MAAAA,yDAAAA;MAGpBA,wDAAAA;MAAAA,yDAAAA;MAE2BA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAQrBA,wDAAAA;MAAAA,oEAAAA;MALAA,yDAAAA,gBAAAA,0DAAAA,kDAAkE,UAAlE,EAAkEmM,kCAAlE;MASCnM,wDAAAA;MAAAA,yDAAAA;MAYCA,wDAAAA;MAAAA,yDAAAA;MAMuBA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAOzBA,wDAAAA;MAAAA,oEAAAA,gBAAAA,0DAAAA;MAJAA,yDAAAA;MAOEA,wDAAAA;MAAAA,yDAAAA;MAQ+BA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAGjCA,wDAAAA;MAAAA,0DAAAA;MAKAA,oEAAAA,gBAAAA,0DAAAA;MAJAA,yDAAAA;MAQCA,wDAAAA;MAAAA,yDAAAA;MAWAA,wDAAAA;MAAAA,yDAAAA;MAMJA,wDAAAA;MAAAA,yDAAAA;MAW4BA,wDAAAA;MAAAA,yDAAAA;MAC7BA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MACoBA,wDAAAA;MAAAA,yDAAAA,SAAAA,0DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzHhD;AACA;;;;;;;;;IAQYA,uDAAAA;;;;;;IAEAA,uDAAAA;;;;;;IAHJA,qEAAAA;IACIA,wDAAAA;IAEAA,wDAAAA;IACJA,mEAAAA;;;;;IAHyBA,uDAAAA;IAAAA,wDAAAA;IAEJA,uDAAAA;IAAAA,wDAAAA;;;;AAKvB,MAAOkT,iBAAP,CAAwB;EAK1B5lB,YAAmBE,gBAAnB,EAAqD;IAAlC;IAJnB,iBAAY,IAAIkhB,iDAAJ,CAAmC,IAAnC,CAAZ;IAEQ,gBAAW,IAAI3iB,yCAAJ,EAAX;EAEiD;;EAEzD0V,QAAQ;IACJ,KAAKjU,gBAAL,CAAsBka,SAAtB,CAAgC+B,IAAhC,CAAqCwJ,qDAAK,CAAC,GAAD,CAA1C,EAAiD3S,yDAAS,CAAC,KAAKoJ,QAAN,CAA1D,EAA2EpI,SAA3E,CAAqF;MACjF1R,IAAI,EAAEmC,IAAI,IAAG;QACT,KAAK2V,SAAL,CAAe9X,IAAf,CAAoBmC,IAApB;MACH;IAHgF,CAArF;EAKH;;EAEDgY,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;AAlByB;;;mBAAjB4E,mBAAiBlT,+DAAAA,CAAAA,+EAAAA;AAAA;;;QAAjBkT;EAAiBnI;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MARtBnL,wDAAAA;;;;;MAAeA,wDAAAA,SAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;ACPwB;AACqC;AAC3B;AACe;;AAOjE,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAHb,yDAAY,EAAE,6FAAmB,EAAE,iFAAe,EAC/B,6FAAmB,EAAE,iFAAe;mIAExD,cAAc,mBAJR,kEAAiB,aACtB,yDAAY,EAAE,6FAAmB,EAAE,iFAAe,aAClD,kEAAiB,EAAE,6FAAmB,EAAE,iFAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTwB;AAGpD;AACK;AACf;AAGY;;;;;;;;;;;IAmBX,uDACJ;;;IADI,wFACJ;;;IAEI,uDACJ;;;IADI,wFACJ;;;;IAjBhB,wEAA6D;IACzD,yEAA8D;IAE/C,oFAAyB;IAAA,4DAAQ;IACxC,+EAOC;IANG,maAA2B;IAO3B,iJAEc;IACd,iJAEc;IAClB,4DAAY;IAIpB,yEAAsH;IAC1G,+SAAS,gFAAc,KAAC;IAC5B,wDACJ;;IAAA,4DAAS;IACT,6EAAqE;IAA7D,gTAAS,4EAAU,KAAC;IAAyC,mEAAO;IAAA,4DAAS;IAE7F,qEAAe;;;IAvBC,0DAA2B;IAA3B,yFAA2B;IAmB/B,0DACJ;IADI,qKACJ;;;;IAKR,wEAA6G;IACzG,yEAAmC;IAAA,uFAA4B;IAAA,4DAAK;IACpE,0EAA+E;IAI/D,uDACJ;;IAAA,4DAAM;IACN,0EAAkB;IAAA,wDAAsB;IAAA,4DAAM;IAGlD,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IAAA,wDAA4B;IAAA,4DAAM;IAGxD,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IAAA,wDAAyB;IAAA,4DAAM;IAGrD,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IACd,wDAEJ;IAAA,4DAAM;IAGV,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IAAA,wDAA0C;IAAA,4DAAM;IAGtE,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IAAA,wDAAwB;IAAA,4DAAM;IAGpD,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IACd,wDACJ;IAAA,4DAAM;IAGV,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IAAA,wDAAuC;IAAA,4DAAM;IAGnE,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IACd,wDAEJ;IAAA,4DAAM;IAKlB,0EAAsH;IAC1G,gTAAS,gFAAc,KAAC;IAC5B,wDACJ;;IAAA,4DAAS;IACT,6EAA4E;IAApE,gTAAS,mFAAiB,KAAC;IAAyC,0EAAc;IAAA,4DAAS;IAE3G,qEAAe;;;IA7FK,0DACJ;IADI,2JACJ;IACkB,0DAAsB;IAAtB,wFAAsB;IAOpC,0DACJ;IADI,4JACJ;IACkB,0DAA4B;IAA5B,8FAA4B;IAO1C,0DACJ;IADI,yJACJ;IACkB,0DAAyB;IAAzB,2FAAyB;IAOvC,0DACJ;IADI,sJACJ;IAEI,0DAEJ;IAFI,iJAEJ;IAOI,0DACJ;IADI,4JACJ;IACkB,0DAA0C;IAA1C,mHAA0C;IAOxD,0DACJ;IADI,yJACJ;IACkB,0DAAwB;IAAxB,0FAAwB;IAOtC,0DACJ;IADI,yJACJ;IAEI,0DACJ;IADI,mIACJ;IAOI,0DACJ;IADI,uJACJ;IACkB,0DAAuC;IAAvC,gHAAuC;IAOrD,0DACJ;IADI,gKACJ;IAEI,0DAEJ;IAFI,kNAEJ;IAOJ,0DACJ;IADI,sKACJ;;;;IAKR,wEAA6C;IACzC,yEAAmC;IAAA,+EAAoB;IAAA,4DAAK;IAE5D,0EAA+E;IAI/D,uDACJ;;IAAA,4DAAM;IACN,0EAKC;IAJG,8TAAe,gJAAsE,KAAC;IAKtF,wDACA;IAAA,yEAAsG;IAAnG,2SAAS,4EAAU,KAAC;IAA+E,4DAAI;IAM1H,2EAA4F;IAChF,gTAAS,gFAAc,KAAC;IAAyC,iEAAK;IAAA,4DAAS;IAE/F,qEAAe;;;IAlBK,0DACJ;IADI,6JACJ;IAOI,0DACA;IADA,yGACA;IAAwB,0DAA6B;IAA7B,wFAA6B;;;;IAWzE,wEAA2C;IACvC,yEAAmC;IAAA,4HAAiE;IAAA,4DAAK;IAEzG,0EAA4F;IAChF,+SAAS,gFAAc,KAAC;IAAyC,6DAAE;IAAA,4DAAS;IAE5F,qEAAe;;AAKpB,MAAM,sBAAsB;IAuB/B,YACW,gBAAkC,EACjC,OAAe,EACf,OAAuB,EACvB,MAAc,EACd,QAAmB;QAJpB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAW;QA3BK,iBAAY,GAAG,IAAI,CAAC;QAExD,eAAU,GAAG,KAAK,CAAC;QAEnB,kBAAa,GAAG,CAAC,CAAC;QAIlB,yBAAoB,GAAG,IAAI,CAAC;QAE5B,kBAAa,GAAG,KAAK,CAAC;QAEtB,2BAAsB,GAAQ,IAAI,CAAC;QAEnC,eAAU,GAAmB,EAAE,CAAC;QAEhC,iBAAY,GAAG,wDAAK,CAAC;QAErB,iBAAY,GAAkB,EAAE,CAAC;QAEzB,aAAQ,GAAG,IAAI,yCAAO,EAAQ,CAAC;QASnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtH,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,yDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,IAAI,EAAE,QAAQ,CAAC,EAAE;gBACb,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBAErB,IAAI,QAAQ,EAAE;oBACV,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAChC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,OAAO;qBACV;oBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;wBAE7D,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,KAAK,EAAE;4BAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACnB;6BAAM;4BACH,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;gCACrC,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,KAAK,EAAE;oCAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;oCAChB,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iCACxC;4BACL,CAAC,EAAE,IAAI,CAAC,CAAC;yBACZ;qBACJ;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,QAAQ;QAClB,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;QACtD,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,eAAe;QACX,MAAM,WAAW,GAAc;YAC3B,SAAS,EAAE,IAAI,CAAC,aAAa;YAC7B,EAAE,EAAE;gBACA,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC/B,EAAE,EAAE,GAAG;gBACP,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE;gBACnC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE;gBAClC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE;gBAC9D,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE;gBACrC,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,IAAI,mDAAS,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;gBACrG,GAAG,EAAE,EAAE;gBACP,GAAG,EAAE,YAAY;gBACjB,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,8BAA8B;gBAClC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC9B,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE;aAC5D;SACJ,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,IAAI,CAAC,OAAO,EAAE;oBACd,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC9C;qBAAM;oBACH,IAAI,CAAC,YAAY,EAAE,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE;YACnC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC5C,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;IACL,CAAC;;4FAlJQ,sBAAsB;oHAAtB,sBAAsB;;;QA1K3B,yEAA0G;QACtG,qIA4Be;QAEf,sIAmGe;QAEf,qIAyBe;QAEf,oIAMe;QACnB,4DAAM;;QArKa,0DAA4C;QAA5C,gHAA4C;QA8B5C,0DAA4F;QAA5F,oKAA4F;QAqG5F,0DAA4B;QAA5B,4FAA4B;QA2B5B,0DAA0B;QAA1B,0FAA0B;;;;;;;;;;;;;;;;;;;;;;;AC3KN;AACqB;AACd;AACT;AACS;AACE;;AAOjD,MAAM,mBAAmB;;sFAAnB,mBAAmB;gHAAnB,mBAAmB;oHAHlB,yDAAY,EAAE,gEAAc,EAAE,uDAAW,EAAE,kEAAgB,EAAE,gEAAe;mIAG7E,mBAAmB,mBAJb,6EAAsB,aAC3B,yDAAY,EAAE,gEAAc,EAAE,uDAAW,EAAE,kEAAgB,EAAE,gEAAe,aAC5E,6EAAsB;;;;;;;;;;;;;;;;;;ACXiD;;;;AAe9E,MAAM,kBAAkB;IAG3B,YAAoB,QAAmB,EAAS,gBAAkC;QAA9D,aAAQ,GAAR,QAAQ,CAAW;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAF9C,iBAAY,GAAG,IAAI,CAAC;IAE6B,CAAC;IAEtF,QAAQ;QACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;;oFAhBQ,kBAAkB;gHAAlB,kBAAkB;;;QATvB,yEAAwF;QAE/D,iHAAsD;QAAA,4DAAK;QAC5E,4EAAsF;QAA9E,0IAAS,kBAAc,IAAC;QAAsD,6DAAE;QAAA,4DAAS;;;;;;;;;;;;;;;;;;;;ACRlE;AACa;AACJ;;AAOjD,MAAM,eAAe;;8EAAf,eAAe;4GAAf,eAAe;gHAHd,yDAAY,EAAE,kEAAgB;mIAG/B,eAAe,mBAJT,qEAAkB,aACvB,yDAAY,EAAE,kEAAgB,aAC9B,qEAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACR0B;AAMjB;;;;;;;;;;;;;IA+Cb,0EAAsE;IAClE,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,8KACJ;;;IACA,0EAAqF;IACjF,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,gLACJ;;;;AAyCrB,MAAM,kBAAkB;IAqB3B,YACW,gBAAkC,EACjC,MAAc,EACd,OAAuB,EACvB,YAA0B,EAC1B,MAAc;QAJf,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QArB1B,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,iBAAiB;gBAC7B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI;aAClD;YACD;gBACI,KAAK,EAAE,wBAAwB;aAClC;SACJ,CAAC;QAMF,sBAAiB,GAAG,KAAK,CAAC;IAQvB,CAAC;IAEJ,QAAQ;;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG;YACT,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACzB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,mDAAS,CAAC,WAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,0CAAE,QAAQ,KAAI,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACpF,CAAC;IAED,WAAW;QACP,IACI,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EACpE;YACE,OAAO;SACV;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YACpG,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;;oFA9DQ,kBAAkB;gHAAlB,kBAAkB;QAvFvB,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAA0C;;QAAA,4DAAK;QAEpE,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QACtB,gFAA0E;QAE1E,0EAA8B;QAId,wDACJ;;QAAA,4DAAQ;QACR,wEAOE;;QACN,4DAAM;QAEN,2EAAkC;QAE1B,wDACJ;;QAAA,4DAAQ;QACR,gFAOC;QANG,+JAAe,0CAAsC,IAAC;;QAO1D;QAAA,4DAAW;QACX,iHAEM;QACN,iHAEM;QACV,4DAAM;QAEN,2EAA6B;QACzB,wDAQJ;;QAAA,4DAAM;QAEN,8EASC;QARG,2IAAS,iBAAa,IAAC;QASvB,wDACJ;;QAAA,4DAAS;;QAnEI,0DAA0C;QAA1C,2JAA0C;QAMjC,0DAAyB;QAAzB,sFAAyB;QAMvC,0DACJ;QADI,sKACJ;QAKI,0DAA6D;QAA7D,oLAA6D;QAH7D,iFAAoB;QAWpB,0DACJ;QADI,yKACJ;QAOI,0DAAgE;QAAhE,uLAAgE;QAJhE,sFAA2B;QAOzB,0DAAgD;QAAhD,oHAAgD;QAGhD,0DAA+D;QAA/D,mIAA+D;QAMrE,0DAQJ;QARI,gTAQJ;QAII,0DAIC;QAJD,yMAIC;QAID,0DACJ;QADI,uKACJ;;;;;;;;;;;;;;;;;;;;;;;;ACnF0B;;;;;;;;;AAiE3C,MAAM,qBAAqB;IAC9B,YACY,gBAAkC,EAClC,OAAuB,EACvB,YAA0B,EAC1B,IAAU,EACV,SAA2B,EAC3B,MAAc,EACd,MAAc;QANd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,YAAO,GAAP,OAAO,CAAgB;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,SAAI,GAAJ,IAAI,CAAM;QACV,cAAS,GAAT,SAAS,CAAkB;QAC3B,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;IACvB,CAAC;IAEJ,MAAM;QACF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzG,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;wBACnD,IAAI,CAAC,MAAM,EAAE;4BACT,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;yBAC1E;6BAAM;4BACH,MAAM,OAAO,GAAG;gCACZ,MAAM,EAAE,IAAI;6BACf,CAAC;4BACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC7C,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gCACvE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oCAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wCAC5B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oCACjD,CAAC,CAAC,CAAC;iCACN;qCAAM;oCACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wCAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CACtD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAC3C,CAAC;wCACF,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CACzD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CACjD,CAAC;wCACF,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;4CACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yCAChD;wCACD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;4CACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;gDAChC,IAAI,EAAE,GAAI,OAAO,CAAC,IAAe,IAAI,KAAK,IACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAC1C,EAAE;gDACF,OAAO,EAAE,OAAO,CAAC,OAAO;gDACxB,KAAK,EAAE,OAAO,CAAC,KAAK;6CACvB,CAAC,CAAC;yCACN;oCACL,CAAC,CAAC,CAAC;iCACN;gCACD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gCAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oCACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gCACxC,CAAC,CAAC,CAAC;6BACN;4BACD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC5B,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;gCACjE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;6BAChC;yBACJ;oBACL,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;iBACvE;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7C,OAAO,OAAO,CAAC,KAAK,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACzG,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE;gBACvF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;aACxE;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAI,SAAS,CAAC,IAAe,IAAI,WAAW,MAAM,CAAC;YAChH,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC/D,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;aACpE;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;;0FA7FQ,qBAAqB;mHAArB,qBAAqB;QArD1B,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAA0C;;QAAA,4DAAK;QAEpE,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QAGN,8IAAS,YAAQ,IAAC;QACtB,wDACJ;;QAAA,4DAAS;QACT,6EAAgF;QAAxE,8IAAS,YAAQ,IAAC;QACtB,wDACJ;;QAAA,4DAAS;;QAbI,0DAA0C;QAA1C,0JAA0C;QASnD,0DACJ;QADI,+JACJ;QAEI,0DACJ;QADI,+JACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BxB;AACA;AAKA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;IAyCgCA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAdRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IATUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAuBNA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IARRA,6DAAAA;IAOIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAOVA,wDAAAA;;;;;;;;IAA4CA,yDAAAA;;;;;;IAOvCA,wDAAAA;;;;AAG3B,MAAOqT,mBAAP,CAA0B;EA2B5B/lB,YACWwhB,cADX,EAEWthB,gBAFX,EAGYuhB,KAHZ,EAIYjO,MAJZ,EAKY0L,OALZ,EAMY/e,YANZ,EAOYE,MAPZ,EAQYJ,SARZ,EAQuC;IAP5B;IACA;IACC;IACA;IACA;IACA;IACA;IACA;IAlCZ,gBAAW,IAAImhB,kDAAJ,CAAoB,KAApB,CAAX;IAEA,UAAKtD,sDAAM,CAACqG,mEAAD,CAAX;IAEA,uBAAmC,CAC/B;MACI/E,UAAU,EAAE,aADhB;MAEI9V,KAAK,EAAE;IAFX,CAD+B,EAK/B;MACIA,KAAK,EAAE;IADX,CAL+B,CAAnC;IAUA,sBAAiB,KAAK+V,EAAL,CAAQC,KAAR,CAAc;MAC3B7e,IAAI,EAAE,KAAK4e,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoB,CACtBT,gEADsB,EAEtBA,iEAAA,CAAqB,KAAK7e,gBAAL,CAAsB8lB,mBAA3C,CAFsB,EAGtB1E,kFAAA,CAAyB,KAAKphB,gBAAL,CAAsBwkB,yBAA/C,CAHsB,CAApB,CADqB;MAM3BhD,QAAQ,EAAE,KAAKrC,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoB,CAACT,+DAAA,CAAmBsC,wEAAnB,CAAD,CAApB,CANiB;MAO3B4E,QAAQ,EAAE,KAAK5G,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoBT,gEAApB;IAPiB,CAAd,CAAjB;IAUQ,gBAAW,IAAItgB,0CAAJ,EAAX;EAWJ;;EAEJ0V,QAAQ;IACJ,KAAKsN,KAAL,CAAWzF,WAAX,CAAuBG,IAAvB,CAA4BnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAArC,EAAsDpI,SAAtD,CAAgE;MAC5D1R,IAAI,EAAEwB,MAAM,IAAG;QACX,IAAI,CAACA,MAAM,CAACV,IAAZ,EAAkB;UACd;QACH;;QAED,KAAK8iB,cAAL,CAAoB7F,QAApB,CAA6B4F,QAA7B,CAAsCP,UAAtC,CAAiD5hB,MAAM,CAACV,IAAxD;QAEA,IAAI+iB,QAAQ,GAAG,EAAf;;QACA,IAAIriB,MAAM,CAACV,IAAP,CAAYmb,WAAZ,CAAwB,GAAxB,MAAiC,CAAC,CAAtC,EAAyC;UACrC4H,QAAQ,GAAGriB,MAAM,CAACV,IAAP,CAAY0hB,MAAZ,CAAmBhhB,MAAM,CAACV,IAAP,CAAYmb,WAAZ,CAAwB,GAAxB,IAA+B,CAAlD,CAAX;QACH,CAFD,MAEO;UACH4H,QAAQ,GAAGriB,MAAM,CAACV,IAAP,CAAY0hB,MAAZ,CACPhhB,MAAM,CAACV,IAAP,CAAYmb,WAAZ,CAAwB,GAAxB,IAA+B,CADxB,EAEPza,MAAM,CAACV,IAAP,CAAYmb,WAAZ,CAAwB,GAAxB,IAA+B,CAA/B,GAAmCza,MAAM,CAACV,IAAP,CAAYmb,WAAZ,CAAwB,GAAxB,CAF5B,CAAX;QAIH;;QACD,IAAI4H,QAAQ,CAACtlB,MAAT,GAAkB,EAAtB,EAA0B;UACtBslB,QAAQ,GAAGA,QAAQ,CAAC1H,KAAT,CAAe,CAAf,EAAkB,EAAlB,CAAX;QACH;;QACD,KAAKyH,cAAL,CAAoB7F,QAApB,CAA6B5f,IAA7B,CAAkCilB,UAAlC,CAA6CS,QAA7C;QACA,KAAKD,cAAL,CAAoB7F,QAApB,CAA6B5f,IAA7B,CAAkC2lB,aAAlC;MACH;IAtB2D,CAAhE;EAwBH;;EAED3J,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAEDxa,UAAU;IACN,KAAKwe,QAAL,CAAc1iB,IAAd,CAAmB,IAAnB;;IAEA,IAAI,KAAK4jB,cAAL,CAAoBlE,KAAxB,EAA+B;MAC3B;MACA1P,UAAU,CAAC,MAAK;QACZ,MAAM;UAAE2T,QAAF;UAAYvE,QAAZ;UAAsBjhB;QAAtB,IAA+B,KAAKylB,cAAL,CAAoBhB,WAApB,EAArC;QACA,MAAM;UAAE9W,KAAK,EAAE3H;QAAT,IAA2B,KAAKvG,gBAAtC;QACA,KAAKgf,OAAL,CAAa1Y,UAAb,CACIyf,QADJ,EAEIvE,QAFJ,EAGIjb,aAHJ,EAII,KAJJ,EAKI,CAAC4f,UAAD,EAAaC,QAAb,EAAuBjB,SAAvB,KAAsH;UAClHrkB,OAAO,CAACG,GAAR,CAAY,UAAZ,EAAwBmlB,QAAxB;;UACA,IAAIjB,SAAS,KAAK,gBAAlB,EAAoC;YAChC,KAAKhlB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAKwW,cAAL,CAAoB7F,QAApB,CAA6BqB,QAA7B,CAAsCwC,SAAtC,CAAgD;gBAC5C4B,aAAaA,qEAAAA;cAD+B,CAAhD;cAGA,KAAKd,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;YACH,CALD;YAMA;UACH;;UAED,IAAIqc,SAAS,GAAG0G,SAAhB;;UAEA,IAAIA,SAAS,KAAK,gBAAlB,EAAoC;YAChC1G,SAAS,GAAG,KAAK1e,SAAL,CAAekR,OAAf,CAAuB,6BAAvB,CAAZ;YACAwN,SAAS,IAAI,UAAUsH,QAAvB;YACAtH,SAAS,IAAI,KAAK1e,SAAL,CAAekR,OAAf,CAAuB,6BAAvB,CAAb;UACH;;UAED,IAAIkU,SAAS,KAAK,cAAlB,EAAkC;YAC9B1G,SAAS,GAAG,KAAK1e,SAAL,CAAekR,OAAf,CAAuB0U,iFAAvB,CAAZ;UACH;;UAED,IAAI,CAAC,cAAD,EAAiB,gBAAjB,EAAmCxmB,QAAnC,CAA4CgmB,SAA5C,CAAJ,EAA4D;YACxD,KAAKllB,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCoN,SAAxC;YACA,KAAKte,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;cACjB,KAAKsV,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;YACH,CAFD;YAGA;UACH;;UAED,IAAI+jB,UAAU,IAAIhB,SAAS,KAAK,eAAhC,EAAiD;YAC7C,IAAItF,MAAM,GAAG,KAAb;YACA,KAAK7f,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;cAC3C,IAAIA,MAAM,CAACqB,OAAP,KAAmB+hB,QAAQ,CAAC,IAAD,CAAR,CAAe/hB,OAAtC,EAA+C;gBAC3Cwb,MAAM,GAAG,IAAT;cACH;YACJ,CAJD;;YAMA,IAAIA,MAAJ,EAAY;cACR,KAAK5f,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwC,uCAAxC;cACA,KAAK2N,OAAL,CAAatY,WAAb,CAAyB0f,QAAQ,CAACzf,SAAlC,EAA6C,MAAK;gBAC9C,KAAKxG,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;kBACjB,KAAKsV,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;kBACA,KAAKkR,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,GAAD,CAArB;gBACH,CAHD;cAIH,CALD;YAMH,CARD,MAQO;cACH,MAAM8H,UAAU,GAAG,IAAItC,4DAAJ,CACfmF,QAAQ,CAACzf,SADM,EAEfpG,IAFe,EAGfihB,QAHe,EAIf4E,QAAQ,CAAC,IAAD,CAAR,CAAeljB,IAJA,EAKfkjB,QAAQ,CAAC,IAAD,CAAR,CAAe/hB,OALA,EAMf+hB,QAAQ,CAAC,IAAD,CAAR,CAAe5C,OANA,EAOf4C,QAAQ,CAAC,IAAD,CAAR,CAAe5F,gBAPA,EAQf4F,QAAQ,CAAC,IAAD,CAAR,CAAejR,WARA,EASfiR,QAAQ,CAAC,IAAD,CAAR,CAAe3C,YATA,CAAnB;cAWAF,UAAU,CAAC/W,KAAX,GAAmB,KAAKwS,OAAL,CAAatR,cAAb,CAA4B6V,UAAU,CAAClf,OAAvC,CAAnB;cACAkf,UAAU,CAACnL,WAAX,GAAyB,CAAzB;cACAmL,UAAU,CAAC8C,eAAX,GAA6B,IAA7B;cACA9C,UAAU,CAACpV,kBAAX,GAAgC,KAAhC;cACAoV,UAAU,CAACG,YAAX,GAA0B0C,QAAQ,CAAC,IAAD,CAAR,CAAe1C,YAAzC;cACAH,UAAU,CAACI,aAAX,GAA2ByC,QAAQ,CAAC,IAAD,CAAR,CAAezC,aAA1C;;cACA,IAAIyC,QAAQ,CAACxC,cAAT,IAA2BwC,QAAQ,CAACxC,cAAT,CAAwBhM,OAAvD,EAAgE;gBAC5D2L,UAAU,CAAChL,kBAAX,GAAgC6N,QAAQ,CAACxC,cAAT,CAAwBC,mBAAxD;gBACAN,UAAU,CAAC/K,UAAX,GAAwB1B,IAAI,CAAC2B,IAAL,CACpB2N,QAAQ,CAACxC,cAAT,CAAwBC,mBAAxB,GAA8C,KAAK7jB,gBAAL,CAAsBkO,KADhD,CAAxB;gBAGAqV,UAAU,CAAC/K,UAAX,GAAwB,KAAKxY,gBAAL,CAAsB0Y,QAA9C,GACO6K,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,EAAqBrZ,GAArB,CAAyB,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAnD,CAD1B,GAEO0K,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAUykB,UAAU,CAAC/K,UAArB,EAAiCI,IAAjC,CAAsC,CAAtC,EAAyCrZ,GAAzC,CAA6C,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAvE,CAF1B;gBAGA0K,UAAU,CAAClL,cAAX,CAA0B+N,QAAQ,CAACxC,cAAT,CAAwBhM,OAAlD;cACH,CATD,MASO;gBACH2L,UAAU,CAAChL,kBAAX,GAAgC,CAAhC;gBACAgL,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,CAAnB;gBACA2K,UAAU,CAAC/K,UAAX,GAAwB,CAAxB;cACH;;cACD,KAAK8I,cAAL,CAAoBwC,SAApB,CAA8BP,UAA9B;cACA,KAAKvE,OAAL,CAAa7X,SAAb,CAAuBif,QAAQ,CAACzf,SAAhC,EAA2C,CAACod,UAAD,EAAaqB,QAAb,KAAyB;gBAChE,IAAIrB,UAAJ,EAAgB;kBACZ,IAAI,KAAK/jB,gBAAL,CAAsB0E,OAA1B,EAAmC;oBAC/B,KAAKsa,OAAL,CAAa/a,kBAAb;kBACH;;kBACD,KAAK9D,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAKxP,gBAAL,CAAsBqlB,gBAAtB,CAAuCe,QAAQ,CAACzf,SAAhD;oBACA,KAAK2M,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,UAAD,CAArB;oBACA,KAAKqJ,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;kBACH,CAJD;gBAKH,CATD,MASO;kBACHtB,OAAO,CAACG,GAAR,CAAYmkB,QAAQ,CAAC,YAAD,CAApB;kBACA,KAAKjlB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAKsV,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;kBACH,CAFD;gBAGH;cACJ,CAhBD;YAiBH;UACJ;QACJ,CAzGL;MA2GH,CA9GS,EA8GP,GA9GO,CAAV;IA+GH,CAjHD,MAiHO;MACH,KAAK0iB,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;IACH;EAEJ;;AA9L2B;;;mBAAnByjB,qBAAmBrT,gEAAAA,CAAAA,2EAAAA,GAAAA,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,uEAAAA,GAAAA,gEAAAA,CAAAA,kDAAAA,GAAAA,gEAAAA,CAAAA,kEAAAA;AAAA;;;QAAnBqT;EAAmBtI;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MAjFxBnL,6DAAAA,cAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B,EAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B;MAGYA,wDAAAA;MACAA,6DAAAA;MAAiBA,qDAAAA;;MAA2CA,2DAAAA;MAEhEA,wDAAAA;MACJA,2DAAAA;MAEAA,6DAAAA;MACIA,wDAAAA;MAEAA,6DAAAA,eAA8B,EAA9B,EAA8B,MAA9B,EAA8B,CAA9B;MACuCA,yDAAAA;QAAA,OAAYmM,gBAAZ;MAAwB,CAAxB;MAC/BnM,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;MAEQA,qDAAAA;;MACAA,6DAAAA;MAAwBA,qDAAAA;MAACA,2DAAAA;MAE7BA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,0CAAf;MAAqD,CAArD;;MADJnM,2DAAAA;MASAA,yDAAAA;MAiBJA,2DAAAA;MAEAA,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;MACiCA,qDAAAA;;MAAoCA,2DAAAA;MACjEA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,qDAAf;MAAgE,CAAhE;;MADJnM,2DAAAA;MAQAA,yDAAAA;MAWJA,2DAAAA;MACAA,6DAAAA;MACIA,qDAAAA;;MACAA,yDAAAA;;MACJA,2DAAAA;MAMhBA,yDAAAA,iFAAAA,qEAAAA;;;;MA1E6BA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAMSA,wDAAAA;MAAAA,yDAAAA;MAGpBA,wDAAAA;MAAAA,yDAAAA;MAGMA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAKAA,wDAAAA;MAAAA,yDAAAA,wDAAkD,aAAlD,EAAkDA,0DAAAA,gDAAlD;MAQCA,wDAAAA;MAAAA,yDAAAA;MAmBwBA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAMzBA,wDAAAA;MAAAA,oEAAAA,gBAAAA,0DAAAA;MAICA,wDAAAA;MAAAA,yDAAAA;MAWDA,wDAAAA;MAAAA,yDAAAA;MACJA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MACoBA,wDAAAA;MAAAA,yDAAAA,SAAAA,0DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFO;AACvB;AAC0E;AACnC;AACY;AACA;AACrB;AACkB;AACN;AACS;AACT;AACG;AACN;AACL;AACA;AAEc;AACG;;;AAEnF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,mDAAe;QACrB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,gFAAkB;aAChC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,iDAAa;QACnB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,4FAAsB;aACpC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,+CAAW;QACjB,SAAS,EAAE,2FAAmB;QAC9B,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,uEAAc;aAC5B;SACJ;KACJ;IACD;QACI,IAAI,EAAE,gDAAY;QAClB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,yFAAqB;aACnC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,8CAAU;QAChB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,mFAAmB;aACjC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,iDAAa;QACnB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,4FAAsB;aACpC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,oDAAgB;QACtB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,mFAAmB;aACjC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,qDAAiB;QACvB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,uFAAoB;aAClC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,mDAAe;QACrB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,iFAAkB;aAChC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,uDAAmB;QACzB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,6FAAsB;aACpC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,kDAAc;QACpB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,4EAAiB;aAC/B;SACJ;KACJ;IACD;QACI,IAAI,EAAE,mDAAY;QAClB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,0FAAqB;aACnC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,kDAAc;QACpB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,4EAAiB;aAC/B;SACJ;KACJ;IACD;QACI,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,mDAAe;QAC3B,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAMK,MAAM,kBAAkB;;oFAAlB,kBAAkB;gHAAlB,kBAAkB;oHAHjB,mEAAqB,CAAC,MAAM,CAAC,EAC7B,0DAAY;oIAEb,kBAAkB,qFAFjB,0DAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9JqB;AACC;AACM;AACM;AACE;AACI;AACK;AACS;AACN;AACS;AACT;AACG;AACN;AAC2B;AAC1C;AACsB;AACL;AACa;AAC1B;AACiB;AACuB;AAC/C;AACC;AACY;AACZ;AAC6B;AAS7D;AACiD;AACiB;AACf;AACK;AACM;AACf;AAC+B;AAC/B;AACM;AACgB;AACD;;;AAuDnF,MAAM,WAAW;;sEAAX,WAAW;yGAAX,WAAW;6GAtChB,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,qEAAkB;QAClB,yDAAU;QACV,+DAAY;QACZ,iEAAc;QACd,0EAAwB,EAAE;QAC1B,mEAAgB;QAChB,uEAAuB;QACvB,oFAAa;QACb,iGAAkB;QAClB,sEAAc;QACd,sFAAgB;QAChB,6GAAuB;QACvB,gEAAa;QACb,gEAAgB;QAChB,2EAAgC;QAChC,qEAA0B;QAC1B,wEAA6B;QAC7B,+DAAoB;QACpB,yEAA8B;QAC9B,+DAAoB;QACpB,6DAAkB;QAElB,kFAAmB;QACnB,mGAA2B;QAC3B,oFAAiB;QACjB,yFAAmB;QACnB,+FAAsB;QACtB,gFAAe;QACf,+GAA8B;QAC9B,gFAAe;QAEf,sGAAoB;QACpB,qGAAmB;oIAGd,WAAW,mBAnDhB,uEAAc;QACd,2EAAiB;QACjB,gFAAkB;QAClB,yFAAqB;QACrB,mFAAmB;QACnB,4FAAsB;QACtB,mFAAmB;QACnB,uFAAoB;QACpB,iFAAkB;QAClB,6FAAsB;QACtB,6GAAuB,aAGvB,0DAAY;QACZ,wDAAW;QACX,gEAAmB;QACnB,qEAAkB;QAClB,yDAAU;QACV,+DAAY;QACZ,iEAAc,qEAEd,mEAAgB;QAChB,uEAAuB;QACvB,oFAAa;QACb,iGAAkB;QAClB,sEAAc;QACd,sFAAgB;QAChB,6GAAuB;QACvB,gEAAa;QACb,gEAAgB;QAChB,2EAAgC;QAChC,qEAA0B;QAC1B,wEAA6B;QAC7B,+DAAoB;QACpB,yEAA8B;QAC9B,+DAAoB;QACpB,6DAAkB;QAClB,0DAAe;QACf,kFAAmB;QACnB,mGAA2B;QAC3B,oFAAiB;QACjB,yFAAmB;QACnB,+FAAsB;QACtB,gFAAe;QACf,+GAA8B;QAC9B,gFAAe;QACf,sFAAkB;QAClB,sGAAoB;QACpB,qGAAmB;;;;;;;;;;;;;;;;;;AClG3B,IAAY,KAgBX;AAhBD,WAAY,KAAK;IACb,sBAAa;IACb,iCAAwB;IACxB,wBAAe;IACf,0BAAiB;IACjB,0BAAiB;IACjB,sBAAa;IACb,4BAAmB;IACnB,mCAA0B;IAC1B,4BAAmB;IACnB,qCAA4B;IAC5B,iCAAwB;IACxB,yCAAgC;IAChC,8BAAqB;IACrB,0BAAiB;IACjB,8BAAqB;AACzB,CAAC,EAhBW,KAAK,KAAL,KAAK,QAgBhB;AAED,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IACzB,2CAAsB;AAC1B,CAAC,EAFW,iBAAiB,KAAjB,iBAAiB,QAE5B;AAED,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC3B,wCAAiB;IACjB,oCAAa;IACb,0CAAmB;IACnB,0CAAmB;IACnB,8CAAuB;IACvB,0CAAmB;AACvB,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B;AAED,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAC9B,+CAAqB;AACzB,CAAC,EAFW,sBAAsB,KAAtB,sBAAsB,QAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjC4E;AACpB;AAKP;AAEc;AACjC;AAC+C;;;;;;;;;;;;;;IAwC9C,sEAA8D;IAC1D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,wLACJ;;;IACA,sEAA0F;IACtF,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,oLACJ;;;IACA,sEAA0F;IACtF,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,oLACJ;;;IACA,sEAA6D;IACzD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,uLACJ;;;IAlBJ,0EAMC;IACG,0HAEM;IACN,0HAEM;IACN,0HAEM;IACN,0HAEM;IACV,4DAAM;;;IAZI,0DAAsD;IAAtD,yHAAsD;IAGtD,0DAAkF;IAAlF,4JAAkF;IAGlF,0DAAkF;IAAlF,4JAAkF;IAGlF,0DAAqD;IAArD,wHAAqD;;;IAkB3D,sEAA6D;IACzD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,oKACJ;;;IAHJ,0EAA6G;IACzG,0HAEM;IACV,4DAAM;;;IAHI,0DAAqD;IAArD,wHAAqD;;;IAgC3D,sEAA4C;IACxC,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,2LACJ;;;IAXJ,0EAQC;IACG,0HAEM;IACV,4DAAM;;;IAHI,0DAAoC;IAApC,uGAAoC;;;IAuB1C,sEAA4D;IACxD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,sLACJ;;;IATJ,0EAMC;IACG,0HAEM;IACV,4DAAM;;;IAHI,0DAAoD;IAApD,uHAAoD;;;IAI9D,0EAMC;IACG,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,iMACJ;;;IAWA,0EAMC;IACS,uDAAiE;;IAAA,4DAAO;;IAAxE,0DAAiE;IAAjE,iLAAiE;;;IAE3E,0EAAmE;IACzD,uDAAqC;;IAAA,4DAAO;;IAA5C,0DAAqC;IAArC,qJAAqC;;;IAnBnD,yEAA8G;IAC/E,uDAAgD;;IAAA,4DAAQ;IACnF,uEAME;;IACF,0HAQM;IACN,0HAEM;IACV,4DAAM;;;IApByB,0DAAgD;IAAhD,gKAAgD;IAKvE,0DAAsE;IAAtE,2LAAsE;IAIrE,0DAI/B;IAJ+B,gQAI/B;IAIgC,0DAA2C;IAA3C,+IAA2C;;;IAKrD,6EAAkF;IAC9E,mEAAoB;IACpB,uDACJ;IAAA,4DAAS;;;IADL,0DACJ;IADI,kGACJ;;;;IACA,6EAYC;IAXG,0SAAS,8EAAY,KAAC;IAYtB,uDACJ;;IAAA,4DAAS;;;IAXL,mgBAMC;IAID,0DACJ;IADI,2KACJ;;AAmBjB,MAAM,sBAAsB;IA2C/B,YACW,cAA8B,EAC9B,gBAAkC,EACjC,MAAc,EACd,OAAuB,EACvB,YAA0B,EAC1B,MAAc,EACd,SAA2B;QAN5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAkB;QAjDvC,OAAE,GAAG,qDAAM,CAAC,wDAAW,CAAC,CAAC;QAEzB,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,wBAAwB;aAClC;YACD;gBACI,KAAK,EAAE,4BAA4B;aACtC;SACJ,CAAC;QAEF,gBAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACvB;YACI,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE;gBAClC,gEAAmB;gBACnB,kFAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;aAC5E,CAAC;YACF,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,gEAAmB,CAAC;YACzD,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,+DAAkB,CAAC,wEAAc,CAAC,CAAC;YAC7E,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,+DAAkB,CAAC,wEAAc,CAAC,CAAC;YAC5E,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,+DAAkB,CAAC,wEAAc,CAAC,CAAC;SACpF,EACD;YACI,UAAU,EAAE,CAAC,kFAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SAChE,CACJ,CAAC;QAEF,WAAM,GAAG;YACL,EAAE,EAAE,EAAE;SACT,CAAC;QAEF,gBAAW,GAAG,KAAK,CAAC;QAEpB,oBAAe,GAAG,EAAE,CAAC;QAErB,kBAAa,GAAG,MAAM,CAAC;QAEvB,mBAAc,GAAG,IAAI,CAAC;QAEd,aAAQ,GAAG,IAAI,0CAAO,EAAQ,CAAC;IAUpC,CAAC;IAEJ,QAAQ;QACJ,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,iCAAiC;QAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,0DAAS,CAAC,IAAI,CAAC,EAAE,yDAAQ,EAAE,EAAE,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACtH,IAAI,EAAE,GAAG,EAAE;gBACP,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,0DAAS,CAAC,IAAI,CAAC,EAAE,yDAAQ,EAAE,EAAE,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7G,IAAI,EAAE,GAAG,EAAE;gBACP,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,4BAA4B;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAC5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;YAClH,IAAI,CAAC,OAAO,CAAC,wBAAwB,CACjC;gBACI,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK;gBAC9C,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;aAC5D,EACD,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;gBACzB,IAAI,UAAU,KAAK,MAAM,EAAE;oBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;wBACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,EACpD,GAAG,EACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAC3C,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;wBACvB,IAAI,WAAW,EAAE;4BACb,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;4BACxG,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CACxC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EACnC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAC5B,CAAC;4BACF,IAAI,CAAC,OAAO,CAAC,aAAa,CACtB,SAAS,CAAC,IAAI,EACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAC1C,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE;gCAC7B,IAAI,cAAc,EAAE;oCAChB,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;oCACxC,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,4DAAM,CAC7C,YAAY,CAAC,SAAS,EACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EACtC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EACvB,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,gBAAgB,EACnC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAC9B,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAClC,CAAC;oCACF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;oCACpF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;oCACtF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;oCACrD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CACpE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAC/C,CAAC;oCACF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCAClE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC;oCACpD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;oCACrD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,GAAG,CAAC,CAAC;oCAC5D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;oCACpD,IAAI,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE;wCACpE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACvD,YAAY,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAChF,CAAC;wCACF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ;4CAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC;iDACrD,IAAI,CAAC,CAAC,CAAC;iDACP,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;4CAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,KAAK,CACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAClD;iDACI,IAAI,CAAC,CAAC,CAAC;iDACP,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;wCACjD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAC/C,YAAY,CAAC,cAAc,CAAC,OAAO,CACtC,CAAC;qCACL;oCACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;wCACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wCACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oCAC/B,CAAC,CAAC,CAAC;iCACN;qCAAM;oCACH,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;iCAC1F;4BACL,CAAC,CACJ,CAAC;yBACL;oBACL,CAAC,CACJ,CAAC;iBACL;YACL,CAAC,CACJ,CAAC;SACL;IACL,CAAC;IAED,SAAS;QACL,8CAA8C;QAC9C,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAChE,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC3C,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE;gBACjE,MAAM,GAAG,IAAI,CAAC;aACjB;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;gBAC5D,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;oBACpE,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC/B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;qBACrC;oBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;wBACjB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE;gBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;IACL,CAAC;;4FAvNQ,sBAAsB;oHAAtB,sBAAsB;QA7L3B,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAA0C;;QAAA,4DAAK;QAEpE,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QACtB,gFAA0E;QAE1E,0EAA8B;QAGO,wDAA6C;;QAAA,4DAAQ;QAC9E,6EASE;QARE,gKAAe,0CAAsC,IAAC;;QAD1D,4DASE;QACF,qHAmBM;QACV,4DAAM;QAEN,0EAAyB;QACQ,wDAAuC;;QAAA,4DAAQ;QAC5E,6EAQE;QAPE,gKAAe,qDAAiD,IAAC;;QADrE,4DAQE;QACF,qHAIM;QACV,4DAAM;QAEN,0EAAyB;QACgB,wDAA0C;;QAAA,4DAAQ;QACvF,6EAcE;QAbE,gKAAe,qDAAiD,IAAC;;QADrE,4DAcE;QACF,qHAYM;QACV,4DAAM;QACN,0EAAyB;QACG,wDAAmD;;QAAA,4DAAQ;QACnF,6EAQE;QAPE,gKAAe,0CAAsC,IAAC;;QAD1D,4DAQE;QACF,qHAUM;QACN,qHAQM;QACV,4DAAM;QACN,qHAqBM;QAEN,2HAGS;QACT,2HAcS;QACT,8EAAwG;QAAhG,+IAAS,kBAAc,IAAC;QAC5B,wDACJ;;QAAA,4DAAS;;QAzKI,0DAA0C;QAA1C,2JAA0C;QAMjC,0DAAyB;QAAzB,sFAAyB;QAG7C,0DAAyB;QAAzB,sFAAyB;QAEE,0DAA6C;QAA7C,+JAA6C;QAIlE,0DAAkD;QAAlD,+GAAkD;QADlD,kGAAyC;QASxC,0DAI/B;QAJ+B,kMAI/B;QAkBuD,0DAAuC;QAAvC,yJAAuC;QAOhE,0DAAyE;QAAzE,gMAAyE;QAJzE,kGAAyC;QAOvC,0DAAuF;QAAvF,2JAAuF;QAQxD,0DAA0C;QAA1C,4JAA0C;QAI3E,0DAKC;QALD,0OAKC;QAID,wMAAiF;QAVjF,kGAAyC;QAcxC,0DAM/B;QAN+B,sOAM/B;QAQkD,0DAAmD;QAAnD,qKAAmD;QAIvE,0DAAkE;QAAlE,kLAAkE;QADlE,kGAAyC;QAQxC,0DAI/B;QAJ+B,+LAI/B;QAO+B,0DAI/B;QAJ+B,gOAI/B;QAK4B,0DAAkF;QAAlF,sNAAkF;QAuB/E,0DAAiB;QAAjB,iFAAiB;QAMrB,0DAAkB;QAAlB,kFAAkB;QAaU,0DAAyB;QAAzB,sFAAyB;QACtD,0DACJ;QADI,6KACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9LqD;AAIpB;AACQ;AAClC;AACY;AACmC;;;;;;;;;;;;;;IA0C1C,sEAA8D;IAC1D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,wLACJ;;;IACA,sEAA0F;IACtF,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,oLACJ;;;IACA,sEAA6D;IACzD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,uLACJ;;;IAfJ,0EAMC;IACG,uHAEM;IACN,uHAEM;IACN,uHAEM;IACV,4DAAM;;;IATI,0DAAsD;IAAtD,yHAAsD;IAGtD,0DAAkF;IAAlF,4JAAkF;IAGlF,0DAAqD;IAArD,wHAAqD;;;IA2CvD,sEAA8F;IAC1F,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,8LACJ;;;IAVJ,0EAOC;IACG,uIAEM;IACV,4DAAM;;;IAHI,0DAAsF;IAAtF,gKAAsF;;;;IA/B5G,wEAAwD;IACpD,2EAAsG;IAAhG,gTAAY,+EAAc,KAAC;IAC7B,0EAAyB;IACQ,uDAAyD;;IAAA,4DAAQ;IAC9F,uEAME;;IACN,4DAAM;IAEN,0EAAyB;IACS,wDAAwD;;IAAA,4DAAQ;IAC9F,wEAOE;;IACF,kIAWM;IACV,4DAAM;IAEN,8EAAwF;IACpF,oEAAsC;IACtC,wDACJ;;IAAA,4DAAS;IAET,yEAA2C;IACvC,oEAAqC;IACrC,wDACJ;;IAAA,4DAAI;IAEZ,qEAAe;;;IA9CuB,0DAA4B;IAA5B,4FAA4B;IAEzB,0DAAyD;IAAzD,0KAAyD;IAKlF,0DAAmE;IAAnE,yLAAmE;IAMzC,0DAAwD;IAAxD,0KAAwD;IAElF,0DAAkG;IAAlG,oKAAkG;IAIlG,yLAAkE;IAIjE,0DAKvC;IALuC,yNAKvC;IAQsC,0DAAkC;IAAlC,kGAAkC;IAEtC,0DACJ;IADI,yLACJ;IAII,0DACJ;IADI,8LACJ;;;IAWQ,2EAKC;IACG,uDACA;;IAAA,mEAAmC;IACvC,4DAAO;;IAFH,0DACA;IADA,+KACA;;;IAEJ,2EAKC;IACG,uDACA;;IAAA,mEAAiC;IACrC,4DAAO;;IAFH,0DACA;IADA,6KACA;;;IASR,wEAA4E;IACxE,0EAIC;IAEO,uDACJ;IAAA,4DAAM;IACN,2EAAmB;IAAA,uDAAU;IAAA,4DAAO;IAE5C,qEAAe;;;;IAJH,0DACJ;IADI,yFACJ;IACmB,0DAAU;IAAV,yEAAU;;;IAO7B,wEAAwC;IACpC,mEAA8B;IAC9B,uDACJ;;IAAA,qEAAe;;IADX,0DACJ;IADI,sKACJ;;;IACA,wEAAuC;IACnC,mEAA+B;IAC/B,uDACJ;;IAAA,qEAAe;;IADX,0DACJ;IADI,wKACJ;;;;IATR,0EAA4E;IAChE,oTAAS,kFAAgB,KAAC;IAC9B,wJAGe;IACf,wJAGe;IACnB,4DAAS;;;IARU,0DAAuB;IAAvB,2FAAuB;IAIvB,0DAAsB;IAAtB,0FAAsB;;;IAM7C,wEAAuF;IACnF,mEAAqC;IACrC,2EAA4B;IAAA,uDAA4D;;IAAA,4DAAO;;IAAnE,0DAA4D;IAA5D,4KAA4D;;;;IA3DpG,0EAAyE;IAGvD,uDAAoD;;IAAA,4DAAO;IAErE,yEAAmB;IACf,iIAQO;IACP,iIAQO;IACX,4DAAM;IAEV,0EAIC;IAHG,2TAAe,oIAA0D,KAAC;IAI1E,mJAWe;IACnB,4DAAM;IACN,2EAAsF;IAClF,iIAWM;IACN,6HAGI;IACR,4DAAM;;;IA1DQ,0DAAoD;IAApD,oKAAoD;IAIrD,0DAAyD;IAAzD,4HAAyD;IASzD,0DAAuD;IAAvD,0HAAuD;IAejC,0DAA0B;IAA1B,iGAA0B;IAcnD,0DAAc;IAAd,iFAAc;IAYhB,0DAAuD;IAAvD,0HAAuD;;AAsBxF,MAAM,mBAAmB;IA0C5B,YACW,cAA8B,EAC9B,gBAAkC,EACjC,KAAqB,EACrB,OAAuB,EACvB,MAAc;QAJf,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QA9C1B,eAAU,GAAG,EAAE,CAAC;QAEhB,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,wBAAwB;aAClC;YACD;gBACI,KAAK,EAAE,yBAAyB;aACnC;SACJ,CAAC;QAEF,aAAQ,GAAG,KAAK,CAAC;QAMjB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,kBAAa,GAAG,KAAK,CAAC;QAEtB,OAAE,GAAG,qDAAM,CAAC,uDAAW,CAAC,CAAC;QAEzB,gBAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,kFAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAClH,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;QAEH,mBAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC1B;YACI,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,8DAAkB,CAAC,wEAAc,CAAC,CAAC;YAC7E,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,8DAAkB,CAAC,wEAAc,CAAC,CAAC;SACvF,EACD;YACI,UAAU,EAAE,CAAC,kFAAwB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;SACxE,CACJ,CAAC;QAEM,aAAQ,GAAG,IAAI,0CAAO,EAAQ,CAAC;IAQpC,CAAC;IAEJ,QAAQ;QACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;QACV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAClC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAChC,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC3E,IAAI,+EAAc,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;oBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;wBACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjD,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,qBAAqB;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,IAAI,EAAE,MAAM,CAAC,EAAE;gBACX,IAAI,MAAM,CAAC,SAAS,EAAE;oBAClB,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;oBACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChE,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,IAAI,CAAC,qBAAqB,EAAE,CAAC;qBAChC;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;;sFA5GQ,mBAAmB;iHAAnB,mBAAmB;QArLxB,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAA0C;;QAAA,4DAAK;QAEpE,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QACtB,gFAA0E;QAE1E,0EAA8B;QAIP,wDAA6C;;QAAA,4DAAQ;QAC5D,6EASE;QARE,6JAAe,0CAAsC,IAAC;;QAD1D,4DASE;QACF,kHAgBM;QACV,4DAAM;QAEN,2EAAyB;QACQ,wDAAsD;;QAAA,4DAAQ;QAC3F,wEAAqG;QACzG,4DAAM;QAGV,sIA+Ce;QAEf,+MAgEc;QAClB,4DAAM;;;QAlKW,0DAA0C;QAA1C,2JAA0C;QAMjC,0DAAyB;QAAzB,sFAAyB;QAIzC,0DAAyB;QAAzB,sFAAyB;QAEhB,0DAA6C;QAA7C,+JAA6C;QAGhD,0DAAkD;QAAlD,+GAAkD;QASjD,0DAInC;QAJmC,kMAInC;QAe2D,0DAAsD;QAAtD,wKAAsD;QAK5E,0DAAiB;QAAjB,+EAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEqB;AAGI;AAE5B;AACyB;AACH;AAC7B;;;;;;;;;;;;;IA8BV,uDACJ;;;;IADI,8JACJ;;;IAEI,uDACJ;;;;IADI,8JACJ;;;IAiBI,uDACJ;;;;IADI,oKACJ;;;IAEI,uDACJ;;;;IADI,oKACJ;;;IAiBI,uDACJ;;;;IADI,0JACJ;;;IAEI,uDACJ;;;;IADI,0JACJ;;;;IAmCJ,wEAA6E;IACzE,0EAAwB;IAEU,uDAA8D;;IAAA,4DAAQ;IAChG,4EAaE;IAZE,4TAEnC,oJAEwB,QAAQ,QAEvC,KAD2C;IANL,4DAaE;IACF,6EAA6D;IAA7B,2SAAS,oFAAkB,KAAC;IACxD,mEAA+B;IACnC,4DAAS;IAGb,yEAAyB;IACG,wDAA8D;;IAAA,4DAAQ;IAC9F,6EAYE;IAXE,6TAEnC,oKAEH,4CAA0C,CAE9C,KAD2C;IANL,4DAYE;IAGd,qEAAe;;;IArCuB,0DAA8D;IAA9D,8KAA8D;IAQpF,0DAA8D;IAA9D,yHAA8D;IAC9D,0EAAiB;IAYG,0DAA8D;IAA9D,+KAA8D;IAQlF,0DAAiB;IAAjB,0EAAiB;;;IAoCzB,0EAUC;IACG,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,0LACJ;;;;IA9BJ,yEAA0D;IAC5B,uDAAgD;;IAAA,4DAAQ;IAClF,4EAeE;IAdE,mTAAe,mHAAiD,KAAC;;IADrE,4DAeE;IACF,qHAYM;IACV,4DAAM;;;IA9BwB,0DAAgD;IAAhD,gKAAgD;IAGtE,0DAOC;IAPD,kXAOC;IAID,mLAA8D;IAI7D,0DAQvC;IARuC,8WAQvC;;;IAuBsC,sEAAiE;IAC7D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,uNACJ;;;IACA,sEAAsE;IAClE,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,8JACJ;;;IATJ,0EAGC;IACG,qHAEM;IACN,qHAEM;IACV,4DAAM;;;IANI,0DAAyD;IAAzD,8LAAyD;IAGzD,0DAA8D;IAA9D,iIAA8D;;;IAwBxE,0EAUC;IACG,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,qLACJ;;;IAQJ,2EAAuE;IAAA,uDAErE;;IAAA,4DAAO;;;IAFa,oFAAwB;IAAyB,0DAErE;IAFqE,2JAErE;;AAkC3B,MAAM,iBAAiB;IAgH1B,YACW,SAA2B,EAC3B,gBAAkC,EACjC,QAAmB,EACnB,OAAuB,EACvB,MAAc;;QAJf,cAAS,GAAT,SAAS,CAAkB;QAC3B,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QApH1B,YAAO,GAAG,KAAK,CAAC;QAMhB,OAAE,GAAG,qDAAM,CAAC,uDAAW,CAAC,CAAC;QAEzB,eAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACtB;YACI,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,8DAAkB,CAAC,CAAC,8DAAkB,CAAC,wEAAc,CAAC,CAAC,CAAC,CAAC;YACnG,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,8DAAkB,CAAC,CAAC,+DAAmB,EAAE,8DAAkB,CAAC,wEAAc,CAAC,CAAC,CAAC,CAAC;YAC5H,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,UAAI,CAAC,gBAAgB,CAAC,OAAO,mCAAI,EAAE,CAAC;SAC5E,EACD;YACI,UAAU,EAAE;gBACR,kFAAwB,CAAC,cAAc,EAAE,kBAAkB,CAAC;gBAC5D,kFAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC;aACnE;SACJ,CACJ,CAAC;QAEF,sBAAiB,GAGZ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACf,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACzG,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAC/B,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAC9B;gBACI,UAAU,EAAE,8DAAkB,CAAC,EAAE,CAAC;aACrC,CACJ;SACJ,CAAC,CAAC;QAIH,qBAAgB,GAAG;YACf;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,sBAAsB;aACnC;YACD;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,sBAAsB;aACnC;YACD;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,sBAAsB;aACnC;YACD;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,sBAAsB;aACnC;YACD;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,sBAAsB;aACnC;YACD;gBACI,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,sBAAsB;aACnC;SACJ,CAAC;QAEF,mBAAc,GAAG;YACb;gBACI,IAAI,EAAE,CAAC;gBACP,cAAc,EAAE,yBAAyB;aAC5C;YACD;gBACI,IAAI,EAAE,EAAE;gBACR,cAAc,EAAE,yBAAyB;aAC5C;YACD;gBACI,IAAI,EAAE,EAAE;gBACR,cAAc,EAAE,yBAAyB;aAC5C;YACD;gBACI,IAAI,EAAE,CAAC;gBACP,cAAc,EAAE,yBAAyB;aAC5C;SACJ,CAAC;QAEF,oBAAe,GAAG,+DAAU,CAAC;QAE7B,kBAAa,GAAG;YACZ;gBACI,EAAE,EAAE,CAAC,CAAC;aACT;YACD;gBACI,EAAE,EAAE,CAAC;aACR;YACD;gBACI,EAAE,EAAE,CAAC;aACR;YACD;gBACI,EAAE,EAAE,CAAC;aACR;YACD;gBACI,EAAE,EAAE,CAAC;aACR;YACD;gBACI,EAAE,EAAE,CAAC;aACR;SACJ,CAAC;QAEF,iBAAY,GAAG,EAAE,CAAC;QAWd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAExG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,KAAK,EAAE;oBACR,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;oBACtC,IAAI,IAAI,KAAK,SAAS,EAAE;wBACpB,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC;wBAChC,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;qBACxC;oBACD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;iBAC5C;qBAAM;oBACH,IAAI,CAAC,YAAY,GAAG,8CAA8C,CAAC;iBACtE;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,6DAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,IAAI,EAAE,GAAG,EAAE;gBACP,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACnD,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;gBAExC,IAAI,aAAa,IAAI,CAAC,MAAM,EAAE;oBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,OAAO;iBACV;gBAED,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE;oBAC1B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACtD,OAAO;iBACV;gBAED,IAAI,aAAa,IAAI,MAAM,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE;oBACtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACtC,OAAO;iBACV;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,yFAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,kBAAkB;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;YAE1E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACrF,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;wBAC5B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;qBACtC,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC1C,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE;wBAC5C,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;qBAC1C;oBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;wBACjB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClB,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;iBACnC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SAC3B;IACL,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SAC1C;IACL,CAAC;IAED,YAAY;QACR,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,MAAM;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW;QACP,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;;kFAtPQ,iBAAiB;+GAAjB,iBAAiB;QAjStB,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAAkC;;QAAA,4DAAK;QAE5D,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QAIH,wDAA2C;;QAAA,4DAAQ;QAC1D,gFASC;QARG,+IAAU,sBAAkB,IAAC;QAS7B,gIAEc;QACd,gIAEc;QAClB,4DAAY;QAGhB,0EAAyB;QACd,wDAA2C;;QAAA,4DAAQ;QAC1D,iFASC;QARG,+IAAU,kBAAc,IAAC;QASzB,gIAEc;QACd,gIAEc;QAClB,4DAAY;QAGhB,0EAAyB;QACd,wDAAwC;;QAAA,4DAAQ;QACvD,iFASC;QARG,+IAAU,cAAU,IAAC;QASrB,gIAEc;QACd,gIAEc;QAClB,4DAAY;QAGhB,0EAAyB;QACd,wDAA0C;;QAAA,4DAAQ;QACzD,iFASC;QARG,+IAAU,iBAAa,IAAC;QAS5B,4DAAY;QAGhB,0EAAyB;QACd,wDAA0C;;QAAA,4DAAQ;QACzD,kFAAqF;QAAzE,wJAAc,yBAAqB,IAAC;QAAqC,4DAAa;QAGtG,0EAAyB;QACd,wDAAiF;;QAAA,4DAAQ;QAChG,kFAAyF;QAA7E,wJAAc,kBAAc,IAAC;QAAgD,4DAAa;QAI1G,4EAAsC;QAEvB,wDAA8D;;QAAA,4DAAQ;QAC7E,6EAAyD;QAC7D,4DAAM;QACN,oIAwCe;QACnB,4DAAO;QAGP,4EAAiE;QAA3D,8IAAY,wBAAoB,IAAC;QACnC,0EAAuC;QACnC,wDACJ;;QAAA,4DAAK;QAEL,2EAAwB;QACpB,gHA+BM;QAEN,0EAAyB;QACK,wDAAgD;;QAAA,4DAAQ;QAClF,6EAUE;QATE,2JAAe,qDAAiD,IAAC;;QADrE,4DAUE;QACF,gHAUM;QACV,4DAAM;QAEN,0EAAyB;QACS,wDAAoD;;QAAA,4DAAQ;QAC1F,6EAeE;QAdE,2JAAe,qDAAiD,IAAC;;QADrE,4DAeE;QACF,gHAYM;QACV,4DAAM;QAGV,2EAAqC;QAE7B,wDACJ;;QAAA,4DAAS;QACT,kHAES;QACb,4DAAM;QAGV,yEAAgB;QAAA,wDAAiC;QAAA,4DAAI;;QA/PxC,0DAAkC;QAAlC,mJAAkC;QASpC,0DAA2C;QAA3C,6JAA2C;QAG9C,0DAAgD;QAAhD,2GAAgD;QAkB7C,0DAA2C;QAA3C,6JAA2C;QAG9C,0DAAmD;QAAnD,8GAAmD;QAkBhD,0DAAwC;QAAxC,0JAAwC;QAG3C,0DAA6C;QAA7C,wGAA6C;QAkB1C,0DAA0C;QAA1C,4JAA0C;QAG7C,0DAA8C;QAA9C,yGAA8C;QAY3C,0DAA0C;QAA1C,4JAA0C;QACA,0DAAmC;QAAnC,gGAAmC;QAI7E,0DAAiF;QAAjF,4MAAiF;QAC9C,0DAAiB;QAAjB,0EAAiB;QAIzD,0DAA+B;QAA/B,4FAA+B;QAEtB,0DAA8D;QAA9D,gLAA8D;QAG1D,0DAA4D;QAA5D,4HAA4D;QA4CvC,0DAAwB;QAAxB,qFAAwB;QAExD,0DACJ;QADI,+KACJ;QAGU,0DAA8B;QAA9B,8FAA8B;QAkCN,0DAAgD;QAAhD,kKAAgD;QAGtE,0DAEC;QAFD,wKAEC;QAID,qLAA8D;QAI7D,0DAAgG;QAAhG,oKAAgG;QAavE,0DAAoD;QAApD,sKAAoD;QAG9E,0DAOC;QAPD,mUAOC;QAID,yLAAkE;QAIjE,0DAQvC;QARuC,+TAQvC;QAQsC,0DAA8B;QAA9B,2FAA8B;QAClC,0DACJ;QADI,gLACJ;QACO,0DAAa;QAAb,6EAAa;QAMZ,0DAAiC;QAAjC,yGAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChRf;AAMO;AAC5B;;;;;;;;;;;;;IA8EL,sEAAmC;IAC/B,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,uLACJ;;;IACA,sEAA+E;IAC3E,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,sLACJ;;;IACA,sEAA4B;IACxB,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,kLACJ;;;IAlBJ,0EASC;IACG,0HAEM;IACN,0HAEM;IACN,0HAEM;IACV,4DAAM;;;IATI,0DAA2B;IAA3B,8FAA2B;IAG3B,0DAAuE;IAAvE,sJAAuE;IAGvE,0DAAoB;IAApB,uFAAoB;;;AAwCnD,MAAM,sBAAsB;IA2B/B,YACW,gBAAkC,EACjC,MAAc,EACd,OAAuB,EACvB,YAA0B,EAC1B,MAAc;QAJf,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;QACvB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QA3B1B,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,iBAAiB;gBAC7B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI;aAClD;YACD;gBACI,KAAK,EAAE,4BAA4B;aACtC;SACJ,CAAC;QAEF,oBAAe,GAAG,EAAE,CAAC;QAUrB,sBAAiB,GAAG,KAAK,CAAC;IAQvB,CAAC;IAEJ,QAAQ;;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG;YACT,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;SACnC,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,oDAAS,CAAC,WAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,0CAAE,QAAQ,KAAI,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC7F,CAAC;IAED,aAAa;QACT,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE;YACxD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;YACnC,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;oBAC9C,IAAI,+EAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE;wBACxE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;qBACzF;yBAAM;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,SAAS;QACf,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;qBAC/B;yBAAM;wBACH,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;qBACrC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACtC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrG,OAAO;SACV;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;SACxC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAC1G,IAAI,MAAM,IAAI,+EAAc,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC3D,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;gBAC1E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;;4FAzGQ,sBAAsB;oHAAtB,sBAAsB;QAtH3B,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAA8C;;QAAA,4DAAK;QAExE,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QACtB,gFAA0E;QAE1E,0EAA8B;QAId,wDACJ;;QAAA,4DAAQ;QACR,wEAQE;;QACN,4DAAM;QAEN,2EAAkC;QAE1B,wDACJ;;QAAA,4DAAQ;QACR,gFAKC;QAJG,qMAA2B;;QAI9B,4DAAW;QAGhB,0EAAyB;QAEjB,wDACJ;;QAAA,4DAAQ;QACR,6EAgBE;QAfE,gKAAe,0CAAsC,IAAC,sFAC7C,mBAAe,IAD8B;;QAD1D,4DAgBE;QACF,qHAmBM;QACV,4DAAM;QAEN,2EAA6B;QACzB,wDAQJ;;QAAA,4DAAM;QAEN,8EAKC;QAJG,+IAAS,mBAAe,IAAC;QAKzB,wDACJ;;QAAA,4DAAS;;QAlGI,0DAA8C;QAA9C,+JAA8C;QAMrC,0DAAyB;QAAzB,sFAAyB;QAMvC,0DACJ;QADI,0KACJ;QAMI,0DAA6D;QAA7D,oLAA6D;QAJ7D,iFAAoB;QAYpB,0DACJ;QADI,6KACJ;QAKI,0DAAgE;QAAhE,uLAAgE;QAHhE,sFAA2B;QAS3B,0DACJ;QADI,6KACJ;QAKI,0DAMC;QAND,wOAMC;QAID,2LAAoE;QAXpE,wFAA6B;QAe5B,0DAO/B;QAP+B,oOAO/B;QAe0B,0DAQJ;QARI,oTAQJ;QAII,0DAA4E;QAA5E,iJAA4E;QAI5E,0DACJ;QADI,+KACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnHkC;AACU;AAIH;AACa;;;;;;;;;;;;IAuC1C,sEAA2D;IACvD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,wLACJ;;;IACA,sEAA4F;IACxF,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,oLACJ;;;IACA,sEAA4D;IACxD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,uLACJ;;;IAfJ,0EAMC;IACG,0HAEM;IACN,0HAEM;IACN,0HAEM;IACV,4DAAM;;;IATI,0DAAmD;IAAnD,sHAAmD;IAGnD,0DAAoF;IAApF,8JAAoF;IAGpF,0DAAoD;IAApD,uHAAoD;;;IAS9D,wEAAsC;IAAA,iEAAM;IAAA,4DAAI;;;IA2DpC,sEAKC;IACG,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,8LACJ;;;IAfJ,0EAOC;IACG,yJAOM;IACV,4DAAM;;;IAPG,0DAI/C;IAJ+C,gLAI/C;;;;IA9C0B,wEAAwD;IACpD,2EAOC;IANG,oUAAY,kGAAgC,KAAC;IAO7C,0EAAyB;IACQ,uDAAyD;;IAAA,4DAAQ;IAC9F,uEAME;;IACN,4DAAM;IAEN,0EAAyB;IACS,wDAAwD;;IAAA,4DAAQ;IAC9F,wEAUE;;IACF,oJAgBM;IACV,4DAAM;IAEN,8EAAgG;IAC5F,oEAAsC;IACtC,wDACJ;;IAAA,4DAAS;IAET,yEAAsE;IAClE,oEAAqC;IACrC,wDACJ;;IAAA,4DAAI;IAEZ,qEAAe;;;IA3DP,0DAAoC;IAApC,oGAAoC;IAOH,0DAAyD;IAAzD,0KAAyD;IAKlF,0DAAmE;IAAnE,yLAAmE;IAMzC,0DAAwD;IAAxD,0KAAwD;IAElF,0DAGC;IAHD,oLAGC;IAID,yLAAkE;IAIjE,0DAK3C;IAL2C,iPAK3C;IAa0C,0DAA0C;IAA1C,0GAA0C;IAE9C,0DACJ;IADI,yLACJ;IAII,0DACJ;IADI,8LACJ;;;IAeQ,2EAKC;IACG,uDACA;;IAAA,mEAAmC;IACvC,4DAAO;;IAFH,0DACA;IADA,+KACA;;;IAEJ,2EAKC;IACG,uDACA;;IAAA,mEAAiC;IACrC,4DAAO;;IAFH,0DACA;IADA,6KACA;;;IASR,wEAA4E;IACxE,0EAIC;IAEO,uDACJ;IAAA,4DAAM;IACN,2EAAkC;IAAA,uDAAU;IAAA,4DAAO;IAE3D,qEAAe;;;;IAJH,0DACJ;IADI,yFACJ;IACkC,0DAAU;IAAV,yEAAU;;;IAMhD,wEAAwC;IACpC,mEAA8B;IAC9B,uDACJ;;IAAA,qEAAe;;IADX,0DACJ;IADI,sKACJ;;;IACA,wEAAuC;IACnC,mEAA+B;IAC/B,uDACJ;;IAAA,qEAAe;;IADX,0DACJ;IADI,wKACJ;;;IAEJ,wEAA+F;IAC3F,mEAAqC;IACrC,2EAA4B;IAAA,uDAA4D;;IAAA,4DAAO;;IAAnE,0DAA4D;IAA5D,4KAA4D;;;;IA7DpG,0EAIC;IAGiB,uDAAoD;;IAAA,4DAAO;IAErE,yEAAmB;IACf,mJAQO;IACP,mJAQO;IACX,4DAAM;IAEV,0EAIC;IAHG,8UAAe,oIAA0D,KAAC;IAI1E,qKAWe;IACnB,4DAAM;IACN,2EAAyD;IAC7C,gUAAS,kFAAgB,KAAC;IAC9B,qKAGe;IACf,qKAGe;IACnB,4DAAS;IACT,+IAGI;IACR,4DAAM;;;IAxDQ,0DAAoD;IAApD,oKAAoD;IAIrD,0DAAiE;IAAjE,oIAAiE;IASjE,0DAA+D;IAA/D,kIAA+D;IAezC,0DAA0B;IAA1B,iGAA0B;IAetC,0DAAuB;IAAvB,0FAAuB;IAIvB,0DAAsB;IAAtB,yFAAsB;IAKrC,0DAA+D;IAA/D,kIAA+D;;;IA/HnF,wEAEC;IACG,uJA8De;IAEf,gOAkEc;IAClB,qEAAe;;;;IAnII,0DAAiB;IAAjB,kFAAiB;;AA0IrD,MAAM,sBAAsB;IAoC/B,YACW,gBAAkC,EACjC,MAAc,EACd,OAAuB,EACvB,MAAc;QAHf,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QAvC1B,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,iBAAiB;gBAC7B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI;aAClD;YACD;gBACI,KAAK,EAAE,4BAA4B;aACtC;SACJ,CAAC;QAEF,eAAU,GAAG,EAAE,CAAC;QAEhB,aAAQ,GAAG,KAAK,CAAC;QAEjB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,YAAO,GAAG,KAAK,CAAC;QAEhB,OAAE,GAAG,qDAAM,CAAC,kEAAsB,CAAC,CAAC;QAEpC,gBAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,+DAAmB,EAAE,kFAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC3H,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;QAEH,2BAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAClC;YACI,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,8DAAkB,CAAC,wEAAc,CAAC,CAAC;YACjE,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,8DAAkB,CAAC,wEAAc,CAAC,CAAC;SAC3E,EACD;YACI,UAAU,EAAE,CAAC,kFAAwB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;SACxE,CACJ,CAAC;QAQE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,UAAU,CACvB;YACI,IAAI;YACJ,IAAI;SACP,EACD;YACI,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAED,8BAA8B;QAC1B,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;YACrC,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,CAAC;YACrD,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,CAAC;YAC/C,OAAO;SACV;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED,wBAAwB;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAC1D,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAC3E,IAAI,+EAAc,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mBAAmB;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACpC,OAAO;SACV;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,cAAc;QACV,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAClC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B;QAChC,MAAM,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;QAClF,MAAM,iBAAiB,GAAG,CAAC,+DAAmB,EAAE,kFAAwB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC5D,CAAC;;4FArHQ,sBAAsB;oHAAtB,sBAAsB;QA5M3B,yEAA4B;QAGhB,6EAAmC;QACnC,wEAAiB;QAAA,uDAA8C;;QAAA,4DAAK;QAExE,oEAAyB;QAC7B,4DAAM;QAEN,yEAA0B;QACtB,gFAA0E;QAE1E,0EAA8B;QAEhB,mJAAY,yBAAqB,IAAC;QACpC,2EAAyB;QACI,wDAA6C;;QAAA,4DAAQ;QAC9E,6EAQE;QAPE,gKAAe,0CAAsC,IAAC;;QAD1D,4DAQE;QACF,qHAgBM;QACV,4DAAM;QACN,2EAA2E;QAEnE,wDACJ;;QAAA,4DAAS;QACT,iHAAgD;QACpD,4DAAM;QACN,2EAAyB;QACQ,wDAAsD;;QAAA,4DAAQ;QAC3F,6EAOE;QANE,gKAAe,uFAA+E,IAAC;QADnG,4DAOE;QAIV,uIAsIe;QACnB,4DAAM;;QAlMW,0DAA8C;QAA9C,+JAA8C;QAMrC,0DAAyB;QAAzB,sFAAyB;QAIN,0DAAyB;QAAzB,sFAAyB;QAEjC,0DAA6C;QAA7C,+JAA6C;QAGlE,0DAAkD;QAAlD,+GAAkD;QAQjD,0DAInC;QAJmC,yLAInC;QAcsC,0DAAgC;QAAhC,6FAAgC;QACpC,0DACJ;QADI,gLACJ;QACI,0DAAa;QAAb,6EAAa;QAGY,0DAAsD;QAAtD,wKAAsD;QAatF,0DAAqG;QAArG,mRAAqG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1ElI;AAGA;AAEA;AAGA;AAEA;AACA;AAGA;;;;;;;;;;;;;;;;;;;IAwEoCA,sEAAAA;IACIA,6DAAAA,UAAI,CAAJ,EAAI,KAAJ,EAAI,EAAJ,EAAI,CAAJ,EAAI,GAAJ;IAEWA,qDAAAA;;;IAEDA,2DAAAA;IAGVA,6DAAAA,UAAI,CAAJ,EAAI,KAAJ,EAAI,EAAJ,EAAI,CAAJ,EAAI,GAAJ,EAAI,EAAJ;IAE0BA,qDAAAA;;IAAyDA,2DAAAA;IAC3EA,6DAAAA;IAIIA,qDAAAA;;IACJA,2DAAAA;IAGZA,oEAAAA;;;;;;IAhBeA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA,OAAAA,0DAAAA;IAOeA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAEdA,wDAAAA;IAAAA,0DAAAA,mEAAgE,WAAhE,EAAgEmU,kDAAhE;IAGAnU,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAOZA,wDAAAA,UAAS,CAAT,EAAS,IAAT;;;;;;;;IAxDZA,sEAAAA;IACIA,6DAAAA,aAMC,CAND,EAMC,IAND,EAMC,CAND,EAMC,KAND,EAMC,EAND,EAMC,CAND,EAMC,KAND,EAMC,EAND;IAUgBA,wDAAAA;IAWJA,2DAAAA;IACAA,6DAAAA;IAAyBA,qDAAAA;IAAgCA,2DAAAA;IAGjEA,6DAAAA,UAAI,CAAJ,EAAI,KAAJ,EAAI,EAAJ,EAAI,EAAJ,EAAI,GAAJ;IAGYA,qDAAAA;;IAEJA,2DAAAA;IAGRA,yDAAAA;IAqBAA,yDAAAA,4GAAAA,qEAAAA;IAIAA,6DAAAA,WAAI,EAAJ,EAAI,KAAJ,EAAI,EAAJ,EAAI,EAAJ,EAAI,QAAJ,EAAI,EAAJ,EAAI,EAAJ;IAIYA,yDAAAA;MAAA;MAAA;;MAAA;;MAAA;MAASoU;MAAwB,OAAEpU,0DAAAA,2CAAF;IAAoC,CAArE;IAMAA,wDAAAA;IACJA,2DAAAA;IAIZA,wDAAAA;IACJA,oEAAAA;;;;;;;;;IAzEQA,wDAAAA;IAAAA,yDAAAA,eAAa,WAAb,EAAa,QAAb,EAAa,WAAb,EAAa,IAAb,EAAa,cAAb,EAAa,iBAAb,EAAa,SAAb,EAAaqU,kCAAb;IAUgBrU,wDAAAA;IAAAA,yDAAAA,2HAAAA,4DAAAA,EAIC,KAJD,EAICsU,0BAJD,EAIC,eAJD,EAICD,oBAJD;IAWiBrU,wDAAAA;IAAAA,gEAAAA;IAMrBA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAKGA,wDAAAA;IAAAA,yDAAAA,yEAA4D,UAA5D,EAA4DuU,GAA5D;IA8BHvU,wDAAAA;IAAAA,yDAAAA;;;;;;IAjExBA,sEAAAA;IACIA,yDAAAA;;IA4EJA,oEAAAA;;;;;;IA5EoCA,wDAAAA;IAAAA,yDAAAA,YAAAA,0DAAAA,4CAAyC,cAAzC,EAAyCwU,oBAAzC;;;;;;;;IA6FxCxU,6DAAAA;IAAGA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAAA,4DAAAA;;MAAA;;MAAA,OAASA,0DAAAA,iCAAT;IAAiC,CAAjC;IACCA,6DAAAA;IAAMA,qDAAAA;IAAgBA,2DAAAA;;;;;IAAhBA,wDAAAA;IAAAA,gEAAAA;;;;;;IAEVA,6DAAAA,WAA2C,CAA3C,EAA2C,MAA3C;IACUA,qDAAAA;IAAgBA,2DAAAA;;;;;IAAhBA,wDAAAA;IAAAA,gEAAAA;;;;;;IALdA,6DAAAA;IACIA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;;;;;IAPyDA,0DAAAA;IACdA,wDAAAA;IAAAA,yDAAAA;IAGjCA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAfdA,6DAAAA;IAKIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA;IAEAA,6DAAAA;IAAQA,yDAAAA;MAAAA,4DAAAA;;MAAA;;MAAA,OAASA,0DAAAA,iBAAT;IAAqB,CAArB;IACJA,wDAAAA;IACJA,2DAAAA;IAEAA,yDAAAA;IASAA,6DAAAA;IAAQA,yDAAAA;MAAAA,4DAAAA;;MAAA;;MAAA,OAASA,0DAAAA,aAAT;IAAiB,CAAjB;IACJA,wDAAAA;IACJA,2DAAAA;;;;;;;IAnBAA,yDAAAA;IAI+BA,wDAAAA;IAAAA,yDAAAA;IAITA,wDAAAA;IAAAA,yDAAAA,wBAAY,cAAZ,EAAYyU,mBAAZ;IASKzU,wDAAAA;IAAAA,yDAAAA;;;;;;;;;;;;IAuCvBA,sEAAAA;IACIA,6DAAAA,cAAiB,CAAjB,EAAiB,GAAjB,EAAiB,EAAjB;IAEQA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAwBA,2DAAAA;IAG1CA,oEAAAA;;;;;IAL4CA,wDAAAA;IAAAA,yDAAAA,UAAAA,8DAAAA;IAE1BA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;IAZtBA,sEAAAA;IACIA,6DAAAA,cAAiB,CAAjB,EAAiB,GAAjB,EAAiB,EAAjB;IAEQA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAwBA,2DAAAA;IAItCA,yDAAAA;;IAQJA,oEAAAA;;;;;IAdqCA,wDAAAA;IAAAA,yDAAAA,UAAAA,8DAAAA;IAEnBA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAICA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;;;;;;;;IAUnBA,sEAAAA;IACIA,6DAAAA,cAAiB,CAAjB,EAAiB,QAAjB,EAAiB,EAAjB;IACkDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,6BAAT;IAA4B,CAA5B;IAC1CA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAsDA,2DAAAA;IAGxEA,oEAAAA;;;;IAHkBA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;;;IA9BtBA,6DAAAA;IAAIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,+FAA8B,KAA9B;IAAmC,CAAnC;IACAA,6DAAAA,cAAiB,CAAjB,EAAiB,QAAjB,EAAiB,EAAjB;IACkDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,wBAAT;IAAuB,CAAvB;IAC1CA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAuDA,2DAAAA;IAIrEA,yDAAAA;IAkBAA,yDAAAA;IAQJA,2DAAAA;;;;;IA9BkBA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAICA,wDAAAA;IAAAA,yDAAAA;IAkBAA,wDAAAA;IAAAA,yDAAAA;;;;;;;;;;;;;;;;;;AAYzB,MAAO0U,eAAP,CAAsB;EAoCxBpnB,YACWE,gBADX,EAEYqT,cAFZ,EAGYiO,cAHZ,EAIY7N,MAJZ,EAKYF,cALZ,EAMYxT,SANZ,EAMuC;IAL5B;IACC;IACA;IACA;IACA;IACA;IAzCZ,mBAAc,CAAd;IAEA,oBAAe,EAAf;IAEA,oBAAe,sBAAf;IAmBA,qBAAgB2mB,6DAAhB;IAEA,qBAAgBD,6DAAhB;IAMA,0BAAqB,KAArB;IAEQ,gBAAW,IAAIloB,0CAAJ,EAAX;EASJ;;EApCgB,IAAhB4oB,gBAAgB;IAChB,OAAO;MACH3Z,EAAE,EAAE,KAAK4Z,YADN;MAEHC,YAAY,EAAE,KAAKA,YAFhB;MAGHjP,WAAW,EAAE,KAAKA;IAHf,CAAP;EAKH;;EAEmB,IAAhBkP,gBAAgB;IAChB,MAAM;MAAEhV;IAAF,IAAoB,KAAKtS,gBAA/B;;IACA,IAAIsS,aAAJ,EAAmB;MACf,MAAM;QAAE4C;MAAF,IAAe5C,aAArB;MACA,OAAO,CAAC,SAAQ,SAAR,YAAQ,WAAR,GAAQ,MAAR,WAAQ,CAAE3R,MAAV,KAAoB,CAArB,IAA0B,KAAK0mB,YAAtC;IACH;;IACD,OAAO,KAAP;EACH;;EAuBDpT,QAAQ;IACJ,KAAKsT,kBAAL;EACH;;EAEDhL,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAED0G,kBAAkB,CAACC,OAAD,EAA4BC,KAA5B,EAA+C;IAC7D,KAAKC,kBAAL,GAA0B,CAAC,KAAKA,kBAAhC;IACA,KAAKC,aAAL,GAAqBH,OAArB;IACA,KAAKI,YAAL,GAAoBH,KAApB;EACH;;EAEDI,aAAa,CAACjP,KAAD,EAAgB;IAAEkP,UAAU,EAAE;MAAE9f;IAAF;EAAd,CAAhB,EAA0D;IACnE,OAAOA,QAAQ,IAAI4Q,KAAnB;EACH;;EAEDmP,YAAY,CAACnP,KAAD,EAAc;IACtB,OAAOA,KAAP;EACH;;EAEDoP,YAAY;IACR,MAAMC,YAAY,GAAiB;MAC/B3jB,IAAI,EAAE;QACFmjB,KAAK,EAAE,KAAKG;MADV;IADyB,CAAnC;IAKA,KAAKpU,MAAL,CAAY0U,IAAZ,CAAiB7B,sGAAjB,EAAwC4B,YAAxC;EACH;;EAEDE,iBAAiB;IACb,IAAI,CAAC,KAAKP,YAAV,EAAwB;MACpB;IACH;;IACD,MAAM;MACFE,UAAU,EAAE;QAAEM;MAAF;IADV,IAEF,KAAKR,YAFT;IAGA,MAAMK,YAAY,GAAmC;MACjD3jB,IAAI,EAAE;QACF6E,KAAK,EAAE,uBAAuBif,SAAS;MADrC;IAD2C,CAArD;IAMA,KAAK5U,MAAL,CACK0U,IADL,CACmB5B,sGADnB,EAC0C2B,YAD1C,EAEKI,MAFL,CAEYrM,IAFZ,CAEiBnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAF1B,EAGKpI,SAHL,CAGe;MACP1R,IAAI,EAAEmmB,SAAS,IAAIA,SAAS,IAAI,KAAKC,WAAL;IADzB,CAHf;EAMH;;EAEDA,WAAW;IACP,MAAM;MAAE7hB,SAAF;MAAa8hB;IAAb,IAAiC,KAAKzoB,gBAAL,CAAsBsS,aAA7D;IACA,MAAM;MACFyV,UAAU,EAAE;QAAE9f;MAAF;IADV,IAEF,KAAK4f,YAFT;IAGA,MAAMjkB,MAAM,GAA8B;MACtC+C,SADsC;MAEtCsB;IAFsC,CAA1C;IAIA,KAAKoL,cAAL,CAAoB5C,mBAApB,CAAwC7M,MAAxC,EAAgD,MAAK;MACjD,KAAK0d,cAAL,CAAoBoH,gBAApB,CAAqC/hB,SAArC;MACA,KAAKkhB,YAAL,GAAoB3V,SAApB;;MAEA,IAAIuW,eAAJ,EAAqB;QACjB,KAAKnH,cAAL,CAAoBhP,aAApB,CAAkCmW,eAAlC,CAAkDxgB,QAAlD,GAA6Dye,sEAA7D;MACH;IACJ,CAPD;EAQH;;EAEDiC,iBAAiB,CAACnF,OAAD,EAAsB;IACnC,MAAMoF,OAAO,GAAGtN,QAAQ,CAACuN,aAAT,CAAuB,KAAvB,CAAhB;IACA,MAAMC,aAAa,GAAGxN,QAAQ,CAACuN,aAAT,CAAuB,KAAvB,CAAtB;;IACA,IAAI,CAACrF,OAAL,EAAc;MACV,OAAO,IAAP;IACH;;IAEDsF,aAAa,CAACC,SAAd,CAAwBC,GAAxB,CAA4B,qBAA5B;IACA,CAACxF,OAAD,EAAUzgB,OAAV,CAAkB,CAAC;MAAE4d,QAAF;MAAYsI,KAAZ;MAAmBlB,UAAU,EAAE;QAAEmB;MAAF;IAA/B,CAAD,KAA8D;MAC5E,MAAMC,SAAS,GAAG7N,QAAQ,CAACuN,aAAT,CAAuB,MAAvB,CAAlB;MACAM,SAAS,CAACC,YAAV,CAAuB,OAAvB,EAAgC,WAAhC;MACAD,SAAS,CAACE,SAAV,GAAsB,GAAG,KAAKtpB,SAAL,CAAekR,OAAf,CAAuB,0BAAvB,CAAkD,GAA3E;MACA,MAAMqY,UAAU,GAAGhO,QAAQ,CAACuN,aAAT,CAAuB,GAAvB,CAAnB;MACAS,UAAU,CAACD,SAAX,GAAuB,GAAI,KAAK9V,cAAL,CAAoBlL,SAApB,CAA8BsY,QAA9B,CAAwC,IAAKuI,MAAM,IAAI,KAAM,EAAxF;MACAC,SAAS,CAACI,WAAV,CAAsBD,UAAtB;MACAR,aAAa,CAACS,WAAd,CAA0BJ,SAA1B;MAEA,MAAMK,MAAM,GAAGlO,QAAQ,CAACuN,aAAT,CAAuB,MAAvB,CAAf;MACAW,MAAM,CAACJ,YAAP,CAAoB,OAApB,EAA6B,QAA7B;MACAI,MAAM,CAACH,SAAP,GAAmB,GAAG,KAAKtpB,SAAL,CAAekR,OAAf,CAAuB,uBAAvB,CAA+C,GAArE;MACA,MAAMwY,OAAO,GAAGnO,QAAQ,CAACuN,aAAT,CAAuB,GAAvB,CAAhB;MACAY,OAAO,CAACJ,SAAR,GAAoB,GAAI,KAAK9V,cAAL,CAAoBlL,SAApB,CAA8B,IAAI5J,mDAAJ,CAAcwqB,KAAd,EAAqBS,KAArB,CAA2B/I,QAA3B,CAA9B,CAAoE,IAAKuI,MAAM,IAAI,KAAM,EAAjH;MACAM,MAAM,CAACD,WAAP,CAAmBE,OAAnB;MACAX,aAAa,CAACS,WAAd,CAA0BC,MAA1B;IACH,CAhBD;IAiBAZ,OAAO,CAACW,WAAR,CAAoBT,aAApB;IACA,MAAMa,IAAI,GAAGrO,QAAQ,CAACuN,aAAT,CAAuB,MAAvB,CAAb;IACAc,IAAI,CAACP,YAAL,CAAkB,OAAlB,EAA2B,MAA3B;IACAO,IAAI,CAACC,SAAL,GAAiB,KAAK7pB,SAAL,CAAekR,OAAf,CAAuB,4BAAvB,CAAjB;IACA0Y,IAAI,CAACE,gBAAL,CAAsB,OAAtB,EAA+B,MAAK;MAChC,KAAKxW,cAAL,CAAoB/H,gBAApB,CAAqCkb,2EAArC;IACH,CAFD;IAGAoC,OAAO,CAACW,WAAR,CAAoBI,IAApB;IACA,OAAOf,OAAP;EACH;;EAEOrB,kBAAkB;IACtB,KAAKvnB,gBAAL,CAAsB8pB,yBAAtB,CAAgD7N,IAAhD,CAAqDnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAA9D,EAA+EpI,SAA/E,CAAyF;MACrF1R,IAAI,EAAE,MAAK;QACP,KAAKgW,WAAL,GAAmB,CAAnB;MACH;IAHoF,CAAzF;EAKH;;AA/JuB;;;mBAAf8O,iBAAe1U,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,2EAAAA,GAAAA,gEAAAA,CAAAA,wDAAAA,GAAAA,gEAAAA,CAAAA,wDAAAA,GAAAA,gEAAAA,CAAAA,kEAAAA;AAAA;;;QAAf0U;EAAe3J;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MAnMpBnL,6DAAAA,cAAkC,CAAlC,EAAkC,KAAlC,EAAkC,CAAlC,EAAkC,CAAlC,EAAkC,OAAlC,EAAkC,CAAlC,EAAkC,CAAlC,EAAkC,OAAlC,EAAkC,CAAlC,EAAkC,IAAlC,EAAkC,CAAlC,EAAkC,IAAlC,EAAkC,CAAlC,EAAkC,KAAlC,EAAkC,CAAlC;MAO4BA,qDAAAA;;MACJA,2DAAAA;MAEJA,6DAAAA,UAAI,EAAJ,EAAI,KAAJ,EAAI,CAAJ;MAEQA,qDAAAA;;MACJA,2DAAAA;MAEJA,6DAAAA,WAAI,EAAJ,EAAI,KAAJ,EAAI,CAAJ;MAEQA,qDAAAA;;MACJA,2DAAAA;MAEJA,6DAAAA,WAAI,EAAJ,EAAI,KAAJ,EAAI,CAAJ;MAEQA,qDAAAA;;MACJA,2DAAAA;MAEJA,6DAAAA,WAAI,EAAJ,EAAI,KAAJ,EAAI,CAAJ;MAC0BA,qDAAAA;MAAMA,2DAAAA;MAGpCA,wDAAAA;MACJA,2DAAAA;MACAA,6DAAAA;MACIA,yDAAAA;;MA8EJA,2DAAAA;MAIRA,yDAAAA;MAwBJA,2DAAAA;MAEAA,yDAAAA;MACIA,yDAAAA;QAAiBoU;QAAwB,gCAAuB,KAAvB;MAA4B,CAArE;;;;MA5I8BpU,wDAAAA;MAAAA,0DAAAA;MAMNA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAKAA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAKAA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAKAA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAUGA,wDAAAA;MAAAA,yDAAAA,SAAAA,0DAAAA;MAmFtBA,wDAAAA;MAAAA,yDAAAA;MA2BLA,wDAAAA;MAAAA,yDAAAA,kDAAgD,gCAAhD,EAAgD,IAAhD,EAAgD,2BAAhD,EAAgDmM,iBAAhD,EAAgD,yBAAhD,EAAgDA,sBAAhD,EAAgD,8BAAhD,EAAgDnM,8DAAAA,UAAAA,8DAAAA,UAAhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnKyD;AAIhC;AAKN;AACoB;AACc;AACqB;AACnC;;;;;;;;;;;;;;;;;;;;IA8CH,yEAAkD;IAC9C,+DAUC;IAVD,2EAUC;;IACG,yEASU;IAcd,6DAAM;IACV,sEAAe;;;;;IA9BP,2DAGO;IAHP,sRAGO;IAPP,uEAAa;IAqBT,2DAAmD;IAAnD,mHAAmD;;;IAgB3D,sEAKE;;;IACF,sEAKE;;;IAZN,yEAAoD;IAChD,0LAKE;IACF,0LAKE;IACN,sEAAe;;;IAXN,2DAA4B;IAA5B,6FAA4B;IAM5B,2DAA2B;IAA3B,4FAA2B;;;;IAc5B,yEAA0D;IACtD,oEAaK;;;IACT,sEAAe;;;;IAbP,2DAGK;IAHL,uMAGK;IAIL,8VAGO;IANP,uEAAa;;;IAUrB,yEAA0D;IACtD,oEAiBK;;;IACT,sEAAe;;;;IAjBP,2DAGK;IAHL,uMAGK;IAIL,mWAOO;IAVP,uEAAa;;;IAvBzB,yEAAyD;IACrD,4NAee;IACf,4NAmBe;IACnB,sEAAe;;;IApCI,2DAAyC;IAAzC,yGAAyC;IAgBzC,2DAAyC;IAAzC,yGAAyC;;;IAsBxD,oEAMK;;;;IALD,uMAGK;;;IA7CjB,yEACuE;IACnE,4MAqCe;IACf,uRAQc;IAClB,sEAAe;;;;;IA/CI,2DAA6B;IAA7B,mGAA6B;;;IAlExD,yEAA2E;IACvE,2EAKC;IACG,8LAoCe;IAEf,6LAae;IAEf,4EAAsC;IAAA,wDAEhC;;IAAA,6DAAO;IAEb,6LAiDe;IACnB,6DAAM;IACV,sEAAe;;;;;IAjHP,2DAAuD;IAAvD,qHAAuD;IAKxC,2DAAiC;IAAjC,yGAAiC;IAsCjC,2DAAmC;IAAnC,2GAAmC;IAeZ,2DAEhC;IAFgC,mMAEhC;IAGD,2DAAgE;IAAhE,mIAAgE;;;IAlEjF,yEAAmE;IAC/D,8KAmHe;IACnB,sEAAe;;;;;IApHI,2DAA0D;IAA1D,sIAA0D;;;IAFjF,yEAAkF;IAC9E,8JAqHe;IACnB,sEAAe;;;IAtH2B,2DAA2B;IAA3B,iGAA2B;;;IAyHjE,2EAC6B;IACzB,sEAC2C;IAE3C,4EACoC;IAAA,wDAAoC;;IAAA,6DAAO;;IAN9E,gFAAsB;IAMa,2DAAoC;IAApC,sJAAoC;;;IAkBxD,yEACqC;IAAA,wDAA2E;;IAAA,sEAAe;;;;;IAA1F,2DAA2E;IAA3E,0PAA2E;;;IAChH,yEACuC;IAAA,wDAA+C;;IAAA,sEAAe;;;IAA9D,2DAA+C;IAA/C,oKAA+C;;;IAJ1F,wEAAqC;IACjC,mNAC+H;IAC/H,mNACqG;IACzG,6DAAO;;;;IAHE,2DAA8B;IAA9B,sGAA8B;IAE9B,2DAAgC;IAAhC,wGAAgC;;;IAEzC,wEAAoC;IAChC,wDACJ;;IAAA,6DAAO;;;IADH,2DACJ;IADI,qKACJ;;;IAhBR,yEAMC;IACG,2EAA2B;IACvB,4LAKO;IACP,4LAEO;IACP,wDACJ;;IAAA,6DAAM;IACV,sEAAe;;;;IAXA,2DAA4B;IAA5B,6FAA4B;IAM5B,2DAA2B;IAA3B,4FAA2B;IAGlC,2DACJ;IADI,8NACJ;;;IAnBR,yEAAsE;IAClE,6LAmBe;IACnB,sEAAe;;;;;;IAnBN,2DAK/C;IAL+C,uXAK/C;;;IAkBsD,wEAAqC;IACjC,wDACJ;;IAAA,6DAAO;;;IADH,2DACJ;IADI,+KACJ;;;IACJ,wEAAoC;IAC5B,wDACJ;;IAAA,6DAAO;;;IADH,2DACJ;IADI,qKACJ;;;IAPZ,yEAA0D;IACtD,2EAA2B;IACnB,4LAEO;IACX,4LAEW;IACX,wDACJ;;IAAA,6DAAM;IACV,sEAAe;;;;IARI,2DAA4B;IAA5B,6FAA4B;IAGhC,2DAA2B;IAA3B,4FAA2B;IAGlC,2DACJ;IADI,8NACJ;;;IAVR,yEAAsE;IAClE,6LAUe;IACnB,sEAAe;;;IAXI,2DAAyC;IAAzC,0GAAyC;;;IAxBhE,yEAAmE;IAC/D,8KAqBe;IACf,8KAYe;IACnB,sEAAe;;;;IAnCI,2DAAqD;IAArD,8HAAqD;IAsBrD,2DAAqD;IAArD,8HAAqD;;;IAxB5E,yEAAkF;IAC9E,8JAoCe;IACnB,sEAAe;;;IArC2B,2DAA2B;IAA3B,iGAA2B;;;IAwC7D,wEAAM;IACF,wDAEJ;;IAAA,6DAAO;;;IAFH,2DAEJ;IAFI,+LAEJ;;;IAQA,wEAAkD;IAC1C,wDAEJ;;IAAA,6DAAO;;;;IAFH,2DAEJ;IAFI,gNAEJ;;;IAEA,wEAAM;IAAA,wDAAkC;;IAAA,6DAAO;;IAAzC,2DAAkC;IAAlC,oJAAkC;;;IAPhD,yEAAwD;IACpD,oEAA8B;IAC9B,sJAGW;IACX,iPAEc;IAClB,sEAAe;;;;IAPJ,2DAAuB;IAAvB,qFAAuB;;;IAHtC,2EAAsE;IAClE,uJASe;IACnB,6DAAM;;;IAVa,2DAAuC;IAAvC,kLAAuC;;;IAetD,yEAA2D;IACvD,2EAA2B;IAEf,wDACJ;;IAAA,6DAAO;IAEnB,sEAAe;;;IAHC,2DACJ;IADI,6JACJ;;;;IAKR,2EAOC;IAEW,qbAC6D,kJAC5D,CACrD,EAAE,KADmD;IAED,wDACJ;;IAAA,6DAAO;;;IADH,2DACJ;IADI,iLACJ;;;;IAOI,yEAA4C;IACxC,2EAOC;IANG,sdAAe,kHAA+C,GAAG,aAAS,KAAC;IAO3E,wDACJ;IAAA,6DAAM;IACV,sEAAe;;;;IARP,2DAA0D;IAA1D,uHAA0D;IAM1D,2DACJ;IADI,4FACJ;;;IAXR,yEAA+D;IAC3D,8LAWe;IACnB,sEAAe;;;IAZI,2DAA2B;IAA3B,gGAA2B;;;IALtD,yEAEC;IACG,2EAAyB;IACrB,8KAae;IACnB,6DAAM;IACV,sEAAe;;;IAfyB,2DAA6B;IAA7B,mGAA6B;;;IArBzE,yEAAwD;IACpD,8IAeM;IACN,gKAmBe;IACnB,sEAAe;;;;;IAnCN,2DAK7C;IAL6C,mUAK7C;IAW6C,2DAAmF;IAAnF,0RAAmF;;;IAqB5F,yEAKC;IACG,wDACJ;;IAAA,sEAAe;;IADX,2DACJ;IADI,+JACJ;;;IAeJ,0FAK2B;;;IAHvB,sFAAc;;;;;;IAM1B,qEAQO;;;IANH,sOAA8D;;;;;IA9RtE,yEAAgG;IAC5F,0EAGC;IAFG,2WAAS,sGAAgC,KAAC;IAK1C,sEAAI;IACA,gJAuHe;IAEf,2NASc;IAClB,6DAAK;IAEL,sEAAI;IACA,gJAsCe;IAEf,2NAKc;IAClB,6DAAK;IAEL,uEAAI;IACA,gIAWM;IACV,6DAAK;IAEL,2EAA2B;IACvB,8EAAgC;IAC5B,kJAMe;IAEf,kJAqCe;IAEf,kJAOe;IACnB,sEAAe;IACnB,6DAAK;IAEL,uEAAI;IAEI,yDACJ;;IAAA,6DAAM;IAId,qEAA6B;IAE7B,uEAAI;IAEI,wKAK2B;IAC/B,6DAAK;IAET,iIAQO;IACX,sEAAe;;;;;;IAlSP,2DAAkF;IAAlF,6IAAkF;IAK/D,2DAAgC;IAAhC,8FAAgC;IAsIhC,2DAAgC;IAAhC,8FAAgC;IAiDV,2DAA+B;IAA/B,sGAA+B;IAetD,2DAAiB;IAAjB,2EAAiB;IACZ,2DAA0C;IAA1C,0GAA0C;IAQ1C,2DAAuC;IAAvC,uGAAuC;IAwCjD,2DAIvC;IAJuC,gSAIvC;IAQkC,2DACJ;IADI,oMACJ;IAOY,2DAAuD;IAAvD,6IAAuD;IAE9D,2DAA2C;IAA3C,kHAA2C;IAQnD,2DAA4C;IAA5C,kHAA4C;;;;IA6B7C,8EAMC;IALG,mXAAS,oFAAa,KAAC;IAMvB,wDACJ;IAAA,6DAAS;;;;IAJL,4IAA2E;IAD3E,sKAA4F;IAI5F,2DACJ;IADI,qFACJ;;;IATJ,yEAA8B;IAC1B,oIAQS;IACb,sEAAe;;;IAPU,2DAAuC;IAAvC,iHAAuC;;;;;IAShE,yEAA6B;IACzB,8EAUC;IATG,8SAAS,8HAAmD,KAAC;IAU7D,wDACJ;IAAA,6DAAS;IACb,sEAAe;;;IAXP,2DAEC;IAFD,4LAEC;IAOD,2DACJ;IADI,8HACJ;;AAgCrB,MAAM,gBAAgB;IAiBzB,YACY,KAAqB,EACtB,gBAAkC,EACjC,UAA6B,EAC7B,OAAuB,EACvB,MAAc,EACd,eAAgC;QALhC,UAAK,GAAL,KAAK,CAAgB;QACtB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,eAAU,GAAV,UAAU,CAAmB;QAC7B,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAiB;QAtB5C,kBAAa,GAAG,6DAAa,CAAC;QAE9B,kBAAa,GAAG,EAAE,CAAC;QAEnB,kBAAa,GAAG,KAAK,CAAC;QAEtB,WAAM,GAAG,KAAK,CAAC;QAIf,MAAC,GAAG,IAAI,oDAAS,CAAC,CAAC,CAAC,CAAC;QAErB,MAAC,GAAG,IAAI,oDAAS,CAAC,GAAG,CAAC,CAAC;QAEf,aAAQ,GAAG,IAAI,0CAAO,EAAQ,CAAC;IASpC,CAAC;IAEJ,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,IAAI,EAAE,GAAG,EAAE;gBACP,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAC5B,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,IAAI,EAAE,GAAG,EAAE;gBACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,yBAAyB;aAC1C,IAAI,CACD,uDAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAChB,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;aACA,SAAS,CAAC;YACP,IAAI,EAAE,CAAC,aAAqB,EAAE,EAAE;gBAC5B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAAC;YACnD,CAAC;SACJ,CAAC,CAAC;IACX,CAAC;IAED,0BAA0B,CAAC,WAAwB,EAAE,WAAwB;QACzE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QACpD,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QAE1C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,sEAAsB,IAAK,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YAC5G,OAAO,IAAI,CAAC;SACf;QAED,IAAI,QAAQ,KAAK,sEAAsB,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YAC/G,OAAO,IAAI,CAAC;SACf;QAED,OAAO,CAAC,CAAC,QAAQ,KAAK,sEAAsB,IAAI,SAAS,KAAK,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3F,CAAC;IAED,WAAW,CAAC,WAAwB;QAChC,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,GAAE,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;QACxD,OAAO,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,OAAO,KAAK,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iBAAiB,CAAC,WAAwB;QACtC,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QACrC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,UAAU,IAAI,UAAU,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,WAAwB;QAClC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,WAAwB;;QACtC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QAElG,MAAM,UAAU,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,CAAC,UAAI,CAAC,gBAAgB,CAAC,aAAa,0CAAE,OAAO,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,sEAAsB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpH,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,sEAAsB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAEtI,OAAO,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC;IAClD,CAAC;IAED,IAAI;QACA,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,+EAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE;YACjH,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACrG;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,EAAE;YACjG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,IAAI,EAAE,CAAC;aACf;YACD,mFAAmF;YACnF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;SACnG;QACD,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,+EAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE;YACjH,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAChH;QACD,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;YAC3D,+DAA+D;YAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;QAED,IAAI,+EAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE;YAC5G,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAC3G;aAAM;YACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC9B;QACD,0CAA0C;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;IACL,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,WAAwB;QACjC,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QACrC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,aAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,UAAU,IAAI,UAAU,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,IAAI;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YAC/H,OAAO,CAAC,CAAC;SACZ;aAAM;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzE,OAAO,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAClC;iBAAM;gBACH,OAAO,CACH,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CACxH,CAAC;aACL;SACJ;IACL,CAAC;IAED,qBAAqB;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,CAAC;YAClF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;YACvF,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;YACrE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,EAAE;gBACjD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC;aACtD;YACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ;gBAC3E,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;gBACzG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;qBACjG,IAAI,CAAC,CAAC,CAAC;qBACP,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,UAAkB;QACtB,gFAAgF;QAChF,IAAI,UAAU,KAAK,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,EAAE;YAChE,OAAO;SACV;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE;YACrG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;SACtD;QACD,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;YAC7C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC;SAChE;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;YAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;IACL,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;aACzH;iBAAM;gBACH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;iBACzH;aACJ;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;IACL,CAAC;IAED,kBAAkB;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAC3B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,EAC7C,MAAM,EACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAC3B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,EACtD,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACzG,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,sCAAsC;aAC9F;YAED,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC9E,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACxG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;gBACrF,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;gBACjE,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;oBACvF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAiC;iBAC7I;aACJ;YAED,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACnD,IAAI,+EAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE;oBACjH,qDAAqD;oBACrD,sBAAsB;oBACtB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;iBACnG;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CACJ,CAAC;IACN,CAAC;IAED,IAAI;QACA,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,aAAa,CAAC,cAAc,CAAC,CAAC;aACjC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,SAAS,CAAC,IAAI;QACV,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YACzG,OAAO,EAAE,CAAC;SACb;aAAM;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,OAAO,CAAC,CAAC;aACZ;iBAAM;gBACH,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;aACnC;SACJ;IACL,CAAC;IAED,WAAW,CAAC,OAAO;QACf,IAAI,OAAO,KAAK,IAAI,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SAC3B;aAAM;YACH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;SAChC;IACL,CAAC;IAED,IAAI,CAAC,IAAiB;QAClB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACnF,CAAC;IAED,QAAQ,CAAC,IAAiB;QACtB,IAAI,IAAI,CAAC,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;YAChF,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;IAC/F,CAAC;;gFAvSQ,gBAAgB;+GAAhB,gBAAgB;QA1YrB,0EAAuD;QAMb,wDAAkC;;QAAA,6DAAM;QAElE,sEAAI;QACsB,yDAAkC;;QAAA,6DAAM;QAElE,uEAAI;QACsB,yDAA+B;;QAAA,6DAAM;QAE/D,uEAAI;QACsB,yDAAmC;;QAAA,6DAAM;QAEnE,uEAAI;QACsB,yDAAgC;;QAAA,6DAAM;QAGpE,sEAA+B;QAC/B,6DAAQ;QACR,0EAAO;QACP,mIAqSe;QACf,6DAAQ;QAIhB,2EAAgC;QAIhB,0IAAS,6DAAqD,CAAC,CAAC,IAAC;QAQjE,qEAAsC;QAC1C,6DAAS;QAET,kIAUe;QAEf,kIAce;QAEf,+EAIC;QAHG,0IAAS,6DAAqD,CAAC,CAAC,IAAC;QAIjE,qEAAuC;QAC3C,6DAAS;QAEb,4EAA0D;QACvB,qFAAwB;QAAA,6DAAO;QAC9D,mFAIC;QAHG,wJAAc,8BAA0B,IAAC;QAG5C,6DAAa;;QArXY,2DAAkC;QAAlC,qJAAkC;QAGlC,2DAAkC;QAAlC,sJAAkC;QAGlC,2DAA+B;QAA/B,mJAA+B;QAG/B,2DAAmC;QAAnC,uJAAmC;QAGnC,2DAAgC;QAAhC,oJAAgC;QAMxB,2DAA2C;QAA3C,gHAA2C;QA+SzE,2DAIC;QAJD,sNAIC;QAMU,2DAAa;QAAb,8EAAa;QAYb,2DAAY;QAAZ,6EAAY;QAkBvB,2DAA6G;QAA7G,mLAA6G;QAU7G,2DAA4F;QAA5F,8JAA4F;6jEAexG,CAAC,2EAAsB,EAAE,EAAE,6EAAwB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACzZ1C;AAE8B;;;;;;;AA0CnD,MAAM,gBAAgB;IAGzB,YAAmB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAEzD,QAAQ;QACJ,6CAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE;YAC1D,KAAK,EAAE,GAAG,GAAG,oEAAiB;YAC9B,MAAM,EAAE,GAAG,GAAG,oEAAiB;SAClC,CAAC;aACG,IAAI,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACX,CAAC;;gFAhBQ,gBAAgB;8GAAhB,gBAAgB;QArCrB,yEAAgG;QAOxF,oEAAwC;QAC5C,4DAAM;QAEN,yEAKC;QAQQ,uDAAsE;;QAAA,4DAC1E;QACD,gFAAqF;QACzF,4DAAM;;QAnBiB,0DAAkB;QAAlB,4IAAkB;QAUjC,0DAAa;QAAb,sEAAa;QAMZ,0DAAsE;QAAtE,kLAAsE;QAE1D,0DAAgD;QAAhD,6GAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCjF;AAaA;AAOA;AAEA;;;;;;;;;;;;;IA0BwBA,4DAAAA;IACIA,uDAAAA;IACJA,0DAAAA;;;;;;IAEAA,4DAAAA;IACIA,uDAAAA;IACJA,0DAAAA;;;;;;IAEAA,uDAAAA;;;;;;IAEAA,4DAAAA;IACIA,oDAAAA;;IAOJA,0DAAAA;;;;;;IAPIA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;IAUAA,gEAAAA;;;;;;;;;;;;IADJA,qEAAAA;IACIA,wDAAAA;IAQJA,mEAAAA;;;;;;;;;IAPSA,uDAAAA;IAAAA,wDAAAA,0BAGP,yBAHO,EAGPA,6DAAAA,6BAHO;;;;;;IAqBDA,uDAAAA;;;;;;IAKAA,uDAAAA;;;;;;IANJA,4DAAAA;IACIA,wDAAAA;;IAKAA,wDAAAA;;IACJA,0DAAAA;;;;;IALSA,uDAAAA;IAAAA,wDAAAA,UAAAA,yDAAAA;IAICA,uDAAAA;IAAAA,wDAAAA,SAAAA,yDAAAA;;;;;;IAuBEA,uDAAAA;;;;;;IAOAA,uDAAAA;;;;;;IARJA,qEAAAA;IACIA,wDAAAA;IAOAA,wDAAAA;IAMJA,mEAAAA;;;;;;IAZSA,uDAAAA;IAAAA,wDAAAA;IAOAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAQLA,uDAAAA;;;;;;IAOAA,uDAAAA;;;;;;IARJA,qEAAAA;IACIA,wDAAAA;IAOAA,wDAAAA;IAMJA,mEAAAA;;;;;;IAZSA,uDAAAA;IAAAA,wDAAAA;IAOAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAnCbA,4DAAAA,cAKC,CALD,EAKC,MALD,EAKC,EALD;IAOSA,oDAAAA;;IAC2DA,0DAAAA;IAEhEA,wDAAAA;IAgBAA,wDAAAA;IAeJA,0DAAAA;;;;;;;IAlCSA,uDAAAA;IAAAA,gEAAAA,KAAAA,yDAAAA;IAGUA,uDAAAA;IAAAA,wDAAAA;IAgBAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAoBXA,uDAAAA;;;;;IAEIA,wDAAAA;;;;;;IAaJA,gEAAAA;;;;;;;;;;;;;IADJA,4DAAAA;IACIA,wDAAAA;IASJA,0DAAAA;;;;;;;;;IARSA,uDAAAA;IAAAA,wDAAAA,0BAGP,yBAHO,EAGPA,6DAAAA,6BAHO;;;;;;IAnBbA,qEAAAA;IACIA,4DAAAA,cAAkF,CAAlF,EAAkF,MAAlF,EAAkF,EAAlF;IACwCA,oDAAAA;IAAiDA,0DAAAA;IACrFA,wDAAAA;IAMJA,0DAAAA;IACAA,4DAAAA,cAAkF,CAAlF,EAAkF,KAAlF,EAAkF,EAAlF;IAEQA,oDAAAA;IAGJA,0DAAAA;IAEJA,wDAAAA;IAWJA,mEAAAA;;;;;IA1B4CA,uDAAAA;IAAAA,gEAAAA;IAE/BA,uDAAAA;IAAAA,wDAAAA;IAQDA,uDAAAA;IAAAA,gEAAAA;IAKHA,uDAAAA;IAAAA,wDAAAA;;;;;;IA0BzBA,qEAAAA;IACIA,4DAAAA;IAAqBA,oDAAAA;;IAAoEA,0DAAAA;IAC7FA,mEAAAA;;;;;;;IADyBA,uDAAAA;IAAAA,gEAAAA,sBAAAA,yDAAAA;;;;;;IAEzBA,gEAAAA;;;;;;IACAA,qEAAAA;IACIA,4DAAAA;IAAqBA,oDAAAA;IAA6BA,0DAAAA;IACtDA,mEAAAA;;;;;;;IADyBA,uDAAAA;IAAAA,gEAAAA;;;;;;IAN7BA,qEAAAA;IACIA,wDAAAA;IAGAA,wDAAAA;IACAA,wDAAAA;IAGJA,mEAAAA;;;;;IARcA,wDAAAA;IACKA,uDAAAA;IAAAA,wDAAAA;IAGAA,uDAAAA;IAAAA,wDAAAA;;;;AA7K/B,MAAMyX,kBAAkB,GAAa,CACjCtqB,iGADiC,EAEjCA,sGAFiC,EAGjCA,sGAHiC,EAIjCA,+GAJiC,EAKjCA,yGALiC,EAMjCA,yGANiC,EAOjCA,yGAPiC,EAQjCA,iGARiC,CAArC;AAWA,MAAM+qB,cAAc,GAAa,CAAC/qB,qGAAD,EAA6CA,gGAA7C,CAAjC;AA2KM,MAAOkrB,yBAAP,CAAgC;EAqBlC/qB,YAAoBuT,cAApB,EAA4DrT,gBAA5D,EAAwGoT,QAAxG,EAA2H;IAAvG;IAAwC;IAA4C;IApBpE,oBAAe,IAAf;IAI1B,kBAAa,IAAI4W,uDAAJ,EAAb;IAIV,qBAAgB,IAAI9I,iDAAJ,CAA2C,IAA3C,CAAhB;IAEA,qBAAgB,IAAIA,iDAAJ,CAA6B,KAA7B,CAAhB;IAEA,2BAAsB,IAAIA,iDAAJ,CAAwC,IAAxC,CAAtB;IAEA,4BAAuB,IAAIA,iDAAJ,CAA0C,EAA1C,CAAvB;IAEA,eAAU,KAAV;IAEQ,gBAA0B,IAAI3iB,yCAAJ,EAA1B;EAEuH;;EAEzG,IAAlBqR,kBAAkB;IAClB,OAAO,KAAKkb,mBAAL,CAAyBlsB,KAAhC;EACH;;EAEsB,IAAnBmsB,mBAAmB;IACnB,OAAO,KAAKC,oBAAL,CAA0BpsB,KAAjC;EACH;;EAEgB,IAAbqsB,aAAa;IACb,OAAO,KAAKrb,kBAAL,IAA2B,KAAKA,kBAAL,CAAwB9B,MAAxB,KAAmCnO,sGAArE;EACH;;EAEe,IAAZurB,YAAY;IACZ,OAAO,KAAKtb,kBAAL,IAA2B,KAAKA,kBAAL,CAAwB9B,MAAxB,KAAmCnO,qGAArE;EACH;;EAEoB,IAAjBwrB,iBAAiB;IACjB,OAAO,CAAC,EAAE,KAAKC,aAAL,CAAmBxsB,KAAnB,IAA4B,KAAKosB,oBAAL,CAA0BpsB,KAA1B,CAAgC+B,MAAhC,GAAyC,CAAvE,CAAR;EACH;;EAEDsT,QAAQ;IACJ,KAAKb,QAAL,CAAciY,QAAd,CAAuB/P,QAAQ,CAACgQ,IAAhC,EAAsC,WAAtC;IACA,MAAM;MACFhZ,aAAa,EAAE;QAAE3L;MAAF,CADb;MAEF7D,QAAQ,EAAE;QAAEqY;MAAF;IAFR,IAGF,KAAKnb,gBAHT;;IAKA,IAAImb,SAAJ,EAAe;MACX,KAAK9H,cAAL,CAAoBxD,yBAApB,CAA8CoM,IAA9C,CAAmDnJ,yDAAS,CAAC,KAAKoJ,QAAN,CAA5D,EAA6EpI,SAA7E,CAAuF;QACnF1R,IAAI,EAAGwN,kBAAD,IAA2C;UAC7C,KAAKkb,mBAAL,CAAyB1oB,IAAzB,CAA8BwN,kBAA9B;UACA,KAAKob,oBAAL,CAA0B5oB,IAA1B,CAA+B,CAAC,GAAG,KAAK2oB,mBAAT,EAA8Bnb,kBAA9B,CAA/B;QACH;MAJkF,CAAvF;IAMH,CAPD,MAOO;MACH,MAAM2b,WAAW,GAAuB;QACpCzd,MAAM,EAAEnO,sGAD4B;QAEpCgH;MAFoC,CAAxC;MAIA,KAAKmkB,mBAAL,CAAyB1oB,IAAzB,CAA8BmpB,WAA9B;MACA,KAAKP,oBAAL,CAA0B5oB,IAA1B,CAA+B,CAAC,GAAG,KAAK2oB,mBAAT,EAA8BQ,WAA9B,CAA/B;IACH;;IAED,KAAKlY,cAAL,CAAoB5D,wBAApB,CACKwM,IADL,CAEQe,sDAAM,CAAC,CAAC;MAAE9N,MAAF;MAAUK;IAAV,CAAD,KAA+C,KAAKL,MAAL,KAAgBA,MAAhB,IAA0B,CAAC,CAACK,QAA5E,CAFd,EAGQuD,yDAAS,CAAC,KAAKoJ,QAAN,CAHjB,EAKKpI,SALL,CAKe;MACP1R,IAAI,EAAE,CAAC;QAAEmN;MAAF,CAAD,KAAsC;;;QACxC,MAAM;UAAEqC;QAAF,IAAoBrC,QAA1B;QACA,MAAMic,OAAO,GAAG,mBAAa,SAAb,iBAAa,WAAb,GAAa,MAAb,gBAAa,CAAEA,OAAf,MAAsB,IAAtB,IAAsB9K,aAAtB,GAAsBA,EAAtB,GAA0B,KAA1C;QACA,KAAK8K,OAAL,GAAeA,OAAf;QAEA,MAAMD,WAAW,GAAuB;UACpCzd,MAAM,EAAE0d,OAAO,GAAG7rB,sGAAH,GAAiDA,qGAD5B;UAEpCgH;QAFoC,CAAxC;QAIA,KAAKmkB,mBAAL,CAAyB1oB,IAAzB,CAA8BmpB,WAA9B;QACA,KAAKP,oBAAL,CAA0B5oB,IAA1B,CAA+B,CAAC,GAAG,KAAK2oB,mBAAT,EAA8BQ,WAA9B,CAA/B;QAEA,KAAKH,aAAL,CAAmBhpB,IAAnB,CAAwBmN,QAAxB;MACH;IAdM,CALf;EAqBH;;EAEDgN,WAAW;IACP,KAAKnJ,QAAL,CAAcqY,WAAd,CAA0BnQ,QAAQ,CAACgQ,IAAnC,EAAyC,WAAzC;IACA,KAAKpP,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAED4K,aAAa;IACT,KAAKC,aAAL,CAAmBvpB,IAAnB,CAAwB,CAAC,KAAKupB,aAAL,CAAmB/sB,KAA5C;IACAwT,UAAU,CAAC,MAAM,KAAKwZ,yBAAL,EAAP,EAAyC,GAAzC,CAAV;EACH;;EAEDC,OAAO,CAAChT,KAAD,EAAc;IACjB,OAAOA,KAAP;EACH;;EAEDiT,SAAS,CAACC,MAAD,EAA2B;IAChC,OAAO9B,kBAAkB,CAAC9qB,QAAnB,CAA4B4sB,MAAM,IAAIA,MAAM,CAACje,MAA7C,CAAP;EACH;;EAEDke,QAAQ,CAACD,MAAD,EAA2B;IAC/B,OAAOrB,cAAc,CAACvrB,QAAf,CAAwB4sB,MAAM,IAAIA,MAAM,CAACje,MAAzC,CAAP;EACH;;EAEO8d,yBAAyB;IAC7B,IAAI,KAAKK,aAAT,EAAwB;MACpB,MAAM;QAAEC;MAAF,IAAoB,KAAKD,aAA/B;MACAC,aAAa,CAACC,SAAd,GAA0BD,aAAa,CAACE,YAAxC;IACH;EACJ;;AArHiC;;;mBAAzBvB,2BAAyBrY,+DAAAA,CAAAA,yEAAAA,GAAAA,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA;AAAA;;;QAAzBqY;EAAyBtN;EAAA8O;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;MAtK9B7Z,4DAAAA,cAA8F,CAA9F,EAA8F,KAA9F,EAA8F,CAA9F,EAA8F,CAA9F,EAA8F,IAA9F,EAA8F,CAA9F;MAGYA,oDAAAA;;MACJA,0DAAAA;MAEAA,4DAAAA,cAAgG,CAAhG,EAAgG,KAAhG,EAAgG,CAAhG;MAEQA,wDAAAA;MAIAA,wDAAAA;MAIAA,wDAAAA;MAEAA,wDAAAA;;MAUAA,wDAAAA;;MAUJA,0DAAAA;MAEAA,4DAAAA,eAA+F,EAA/F,EAA+F,KAA/F,EAA+F,EAA/F;MAEQA,wDAAAA;QAAA,gCAA8BmM,mBAA9B;MAA6C,CAA7C;MAKAnM,4DAAAA;MACIA,oDAAAA;;MACJA,0DAAAA;MACAA,wDAAAA;MAQJA,0DAAAA;MACAA,4DAAAA;;;;MAQIA,4DAAAA;MACIA,wDAAAA;;MA2CAA,wDAAAA;;MA6BJA,0DAAAA;MAIZA,4DAAAA,gBAAwC,EAAxC,EAAwC,QAAxC,EAAwC,EAAxC;MACYA,wDAAAA;QAAA,OAASmM,gCAAT;MAAiC,CAAjC;MACJnM,oDAAAA;;MACJA,0DAAAA;MAKZA,wDAAAA,uFAAAA,oEAAAA;;;;MArJYA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAKUA,uDAAAA;MAAAA,wDAAAA;MAIAA,uDAAAA;MAAAA,wDAAAA;MAIAA,uDAAAA;MAAAA,wDAAAA;MAEyBA,uDAAAA;MAAAA,wDAAAA,SAAAA,yDAAAA;MAUhBA,uDAAAA;MAAAA,wDAAAA,SAAAA,yDAAAA;MAoBPA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAEKA,uDAAAA;MAAAA,wDAAAA;MAUTA,uDAAAA;MAAAA,yDAAAA,SAAAA,yDAAAA,6BAAoC,MAApC,EAAoCA,yDAAAA,2BAApC;MAEAA,wDAAAA,YAAAA,yDAAAA;MAO2BA,uDAAAA;MAAAA,wDAAAA,YAAAA,yDAAAA,oCAAiC,cAAjC,EAAiCmM,WAAjC;MA0CRnM,uDAAAA;MAAAA,wDAAAA,SAAAA,yDAAAA;MAkCgBA,uDAAAA;MAAAA,wDAAAA;MACvCA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9KD;AAC6C;AAGN;;;;;;;;;IAoC9C,wEAAgD;IAC9C,mEAAwB;IAExB,yEAAiB;IAEb,uDACF;;IAAA,4DAAM;IACN,yEAAkB;IAAA,uDAA6B;IAAA,4DAAM;IAEzD,qEAAe;;;IAJT,0DACF;IADE,iKACF;IACkB,0DAA6B;IAA7B,+FAA6B;;;IAInD,wEAAgD;IAC9C,mEAAwB;IAExB,yEAAiB;IAEb,uDACF;;IAAA,4DAAM;IACN,yEAAkB;IAAA,uDAA6B;IAAA,4DAAM;IAEzD,qEAAe;;;IAJT,0DACF;IADE,sKACF;IACkB,0DAA6B;IAA7B,+FAA6B;;;IAsBjD,sEAAsD;IACpD,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,+KACF;;;IACA,sEAAgE;IAC9D,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,8KACF;;;IANF,0EAAsE;IACpE,4HAEM;IACN,4HAEM;IACR,4DAAM;;;IANE,0DAA8C;IAA9C,iHAA8C;IAG9C,0DAAwD;IAAxD,2HAAwD;;;;IApBlE,0EAA+D;IAE3D,uDACA;;IAAA,2EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAElC,4EAUE;IATA,kTAAe,kHAAiD,KAAC;;IADnE,4DAUE;IACF,sHAOM;IACR,4DAAM;;;IAtBF,0DACA;IADA,gKACA;IAOA,0DAA4D;IAA5D,8HAA4D;IAH5D,gLAAkE;IAS9D,0DAAgD;IAAhD,0HAAgD;;AAyB/D,MAAM,kBAAkB;IAgB3B,YAAmB,gBAAkC,EAAU,QAAmB;QAA/D,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAf9C,iBAAY,GAAG,IAAI,CAAC;QAI9C,cAAS,GAA0B,IAAI,uDAAY,EAAW,CAAC;QAEzE,QAAG,GAAG,qDAAM,CAAC,4DAAiB,CAAC,CAAC;QAEhC,OAAE,GAAG,qDAAM,CAAC,kEAAsB,CAAC,CAAC;QAEpC,gBAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAC/B,CAAC,CAAC;IAEkF,CAAC;IAEtF,QAAQ;QACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;gBAClD,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,kFAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,+DAAmB,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;SAC7C;IACL,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO;SACV;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;;oFApDQ,kBAAkB;gHAAlB,kBAAkB;;;QA/FzB,yEAAuG;QAE7F,8IAAY,kBAAc,IAAC;QAE/B,wEAAyC;QACvC,uDACF;;QAAA,4DAAK;QAEL,yEAAoF;QAI5E,wDACF;;QAAA,4DAAM;QACN,0EAAkB;QAChB,wDAEF;;QAAA,4DAAM;QAGR,oEAAwB;QAExB,0EAAiB;QAEb,wDACF;;QAAA,4DAAM;QACN,0EAAkB;QAChB,wDACF;QAAA,4DAAM;QAGR,mIASe;QAEf,mIASe;QACjB,4DAAM;QAEN,iHAwBM;QACR,4DAAM;QAEN,2EAAuF;QAC7E,2IAAS,aAAS,IAAC;QACzB,wDACF;;QAAA,4DAAS;QACT,8EAAgD;QAC9C,wDACF;;QAAA,4DAAS;;;QArFqB,0DAAyB;QAAzB,sFAAyB;QAGvD,0DACF;QADE,6JACF;QAMQ,0DACF;QADE,qKACF;QAEE,0DAEF;QAFE,mQAEF;QAOE,0DACF;QADE,qKACF;QAEE,0DACF;QADE,sHACF;QAGa,0DAA+B;QAA/B,+FAA+B;QAW/B,0DAA+B;QAA/B,+FAA+B;QAY1C,0DAA8B;QAA9B,8FAA8B;QA6BlC,0DACF;QADE,sKACF;QAEE,0DACF;QADE,uKACF;;;;;;;;;;;;;;;;;;;;;;;;;AC3GiC;AACwB;AACuB;AACtC;AACF;AACD;AACL;AAC8B;;AAOvE,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAHjB,yDAAY,EAAE,gEAAe,EAAE,kEAAgB,EAAE,+DAAmB,EAAoB,wFAAmB;mIAG5G,kBAAkB,mBAJZ,gFAAkB,EAAE,uGAAyB,aAClD,yDAAY,EAAE,gEAAe,EAAE,kEAAgB,EAAE,+DAAmB,EAAE,0DAAgB,EAAE,wFAAmB,aAC3G,gFAAkB,EAAE,uGAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACb3D;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAEA;;;;;;;;;;;;;;;;;;;;;;;IA4CoCA,6DAAAA;IAEIA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,yEAAT;IAAoE,CAApE;IAGAA,6DAAAA,eAIC,CAJD,EAIC,KAJD,EAIC,EAJD;IAK+BA,qDAAAA;IAAgBA,2DAAAA;;;;;IAJ3CA,wDAAAA;IAAAA,0DAAAA,wEAAoE,MAApE,EAAoEua,yBAApE;IAI2Bva,wDAAAA;IAAAA,gEAAAA;;;;;;IAXvCA,sEAAAA;IACIA,yDAAAA;IAaJA,oEAAAA;;;;;IAZ0BA,wDAAAA;IAAAA,yDAAAA;;;;;;IActBA,6DAAAA;IAAuBA,qDAAAA;IAAiBA,2DAAAA;;;;;;IAjBhDA,sEAAAA;IACIA,yDAAAA;IAeAA,yDAAAA,sGAAAA,qEAAAA;IAGJA,oEAAAA;;;;;;;;IAlBmBA,wDAAAA;IAAAA,yDAAAA,6BAAsB,UAAtB,EAAsBwa,IAAtB;;;;;;;;;;;;IARvBxa,6DAAAA;IAOIA,yDAAAA;;IAoBJA,2DAAAA;;;;;IAxBIA,yDAAAA,YAAAA,8DAAAA;IAIeA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;;;;;;IA6BfA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAjBRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IAZUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAKVA,6DAAAA,eAAqD,CAArD,EAAqD,MAArD;IACUA,qDAAAA;;IAAoCA,2DAAAA;;;;;IAApCA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;IAyBNA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IA1BRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IArBUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAyBVA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IARRA,6DAAAA;IAOIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAkBFA,6DAAAA;IACIA,qDAAAA;;;IAEJA,2DAAAA;;;;;IAFIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA,yCAAAA,0DAAAA;;;;;;IAGJA,6DAAAA;IAAuDA,qDAAAA;IAACA,2DAAAA;;;;;;IAhBpEA,6DAAAA,eAAuF,CAAvF,EAAuF,KAAvF,EAAuF,EAAvF;IAEQA,qDAAAA;;IACAA,wDAAAA;IACJA,2DAAAA;IACAA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;;IAAsCA,2DAAAA;IACzDA,6DAAAA,kBAAyB,EAAzB,EAAyB,IAAzB,EAAyB,EAAzB,EAAyB,IAAzB;IAEYA,qDAAAA;;IAA0CA,2DAAAA;IAC9CA,yDAAAA;IAIAA,yDAAAA;IACJA,2DAAAA;IACAA,6DAAAA,WAAI,EAAJ,EAAI,IAAJ;IACQA,qDAAAA;;IAAiCA,2DAAAA;IACrCA,6DAAAA;IACIA,qDAAAA;;;IAGJA,2DAAAA;;;;;IAtBJA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAIAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAEeA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAGPA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IACCA,wDAAAA;IAAAA,yDAAAA;IAIAA,wDAAAA;IAAAA,yDAAAA;IAGDA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAEAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA,2IAAAA,0DAAAA;;;;;;IAuBJA,wDAAAA;IASAA,qDAAAA;;;;;;;IANIA,yDAAAA,4HAAAA,4DAAAA,EAAiG,KAAjG,EAAiGya,2BAAjG,EAAiG,eAAjG,EAAiGC,oBAAjG;IAMJ1a,wDAAAA;IAAAA,iEAAAA,qDAAAA,0DAAAA;;;;;;IAWJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IARRA,6DAAAA;IAOIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IA6CMA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA;;;;;;IAdRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IATUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;;;;;;;IA2BNA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA,uCAAAA,8DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAXRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IANUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IA5DtBA,6DAAAA,eAA+C,CAA/C,EAA+C,KAA/C,EAA+C,CAA/C,EAA+C,CAA/C,EAA+C,KAA/C,EAA+C,EAA/C,EAA+C,CAA/C,EAA+C,OAA/C,EAA+C,EAA/C;IAIgBA,qDAAAA;;IACAA,6DAAAA;IAAwBA,qDAAAA;IAACA,2DAAAA;IAE7BA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,gDAAf;IAAqD,CAArD;;IADJA,2DAAAA;IAUAA,yDAAAA;IAiBJA,2DAAAA;IAEAA,6DAAAA,gBAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;IAEQA,qDAAAA;;IACAA,6DAAAA;IAAwBA,qDAAAA;IAACA,2DAAAA;IAE7BA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,gDAAf;IAAqD,CAArD;;IADJA,2DAAAA;IASAA,yDAAAA;IAcJA,2DAAAA;IAGJA,wDAAAA;;IAMJA,2DAAAA;;;;;IArEgBA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA,gBAAAA,0DAAAA;IASCA,wDAAAA;IAAAA,yDAAAA;IAoBDA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA,gBAAAA,0DAAAA;IAQCA,wDAAAA;IAAAA,yDAAAA;IAiBTA,wDAAAA;IAAAA,yDAAAA,UAAAA,0DAAAA,uBAAiC,OAAjC,EAAiC2a,+EAAjC;;;;;;;;IAnThB3a,6DAAAA;IAEIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAYA,0DAAAA,sBAAZ;IAAwB,CAAxB;IAOAA,6DAAAA,cAA8B,CAA9B,EAA8B,KAA9B,EAA8B,CAA9B,EAA8B,CAA9B,EAA8B,OAA9B,EAA8B,CAA9B;IAGYA,qDAAAA;;IACAA,6DAAAA;IAAwBA,qDAAAA;IAACA,2DAAAA;IAE7BA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,gDAAf;IAAqD,CAArD,EAAsD,UAAtD,EAAsD;MAAAA,4DAAAA;MAAA;MAAA,OAC1CA,0DAAAA,wCAA+B,KAA/B,EAD0C;IACL,CADjD,EAAsD,OAAtD,EAAsD;MAAAA,4DAAAA;MAAA;MAAA,OAE7CA,0DAAAA,yCAF6C;IAEd,CAFxC,EAAsD,OAAtD,EAAsD;MAAAA,4DAAAA;MAAA;MAAA,OAG7CA,0DAAAA,yCAH6C;IAGd,CAHxC;;;IADJA,2DAAAA;IAcAA,yDAAAA;;IA6BAA,yDAAAA;IAqBAA,yDAAAA;IAGJA,2DAAAA;IAEAA,6DAAAA,gBAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;IAEQA,qDAAAA;;IACAA,6DAAAA;IAAwBA,qDAAAA;IAACA,2DAAAA;IAE7BA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,gDAAf;IAAqD,CAArD;;IADJA,2DAAAA;IASAA,yDAAAA;IA6BJA,2DAAAA;IAGJA,6DAAAA,gBAAyB,EAAzB,EAAyB,OAAzB,EAAyB,EAAzB;IAC8BA,qDAAAA;;IAAgCA,2DAAAA;IAC1DA,6DAAAA;IACIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAeA,0DAAAA,gDAAf;IAAqD,CAArD;;IADJA,2DAAAA;IASAA,yDAAAA;IAWJA,2DAAAA;IAEAA,yDAAAA;;IA6BAA,6DAAAA,gBAAyB,EAAzB,EAAyB,OAAzB;IAEQA,qDAAAA;;IACAA,6DAAAA;IAAwBA,qDAAAA;IAACA,2DAAAA;IAE7BA,6DAAAA;IAIIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,sEAAV;IAAsE,CAAtE;;IAKAA,yDAAAA;IAaJA,2DAAAA;IACAA,yDAAAA;IAWJA,2DAAAA;IAEAA,6DAAAA,gBAA0B,EAA1B,EAA0B,QAA1B,EAA0B,EAA1B;IAEQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA;IAKAA,6DAAAA;IAAMA,qDAAAA;;IAAgCA,2DAAAA;IACtCA,wDAAAA;IAKJA,2DAAAA;IAEAA,yDAAAA;IA0EJA,2DAAAA;IAEAA,6DAAAA;IAKIA,qDAAAA;;IACJA,2DAAAA;;;;;IA9TAA,yDAAAA;IASYA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAQAA,wDAAAA;IAAAA,yDAAAA,gBAAAA,0DAAAA,4CAA6D,mBAA7D,EAA6DA,0DAAAA,mCAA7D;IAUCA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;IA6BAA,wDAAAA;IAAAA,yDAAAA;IAoBCA,wDAAAA;IAAAA,yDAAAA;IAOFA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAKAA,wDAAAA;IAAAA,yDAAAA,gBAAAA,0DAAAA;IAQCA,wDAAAA;IAAAA,yDAAAA;IAgCiBA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAOtBA,wDAAAA;IAAAA,oEAAAA,gBAAAA,0DAAAA;IAJAA,yDAAAA;IAQCA,wDAAAA;IAAAA,yDAAAA;IAYHA,wDAAAA;IAAAA,yDAAAA,mDAAAA,0DAAAA;IA+BEA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAIAA,wDAAAA;IAAAA,yDAAAA,qBAAmB,OAAnB,EAAmBA,0DAAAA,yDAAnB,EAAmB,YAAnB,EAAmB,KAAnB,EAAmB,WAAnB,EAAmB,qBAAnB;IAuBCA,wDAAAA;IAAAA,yDAAAA;IAeDA,wDAAAA;IAAAA,0DAAAA;IAIMA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAEFA,wDAAAA;IAAAA,0DAAAA,mDAAgD,mBAAhD,EAAgDwU,wBAAhD;IAMFxU,wDAAAA;IAAAA,yDAAAA;IA6ENA,wDAAAA;IAAAA,yDAAAA;IAIAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;;;IAKZA,6DAAAA;IAAiFA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAaA,0DAAAA,2BAAb;IAA8B,CAA9B;IAAgCA,2DAAAA;;;;;IAApEA,yDAAAA;;;;;;;;IAE7CA,6DAAAA;IAGIA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,wCAAd;IAA4C,CAA5C;IACHA,2DAAAA;;;;;IAFGA,yDAAAA;;;;AAYN,MAAO4a,aAAP,CAAoB;EAsKtBttB,YAAoBuT,cAApB,EAA4DlT,MAA5D,EAAoFktB,UAApF,EAA8G;IAA1F;IAAwC;IAAwB;IArKpF,qBAAgB3G,6DAAhB;IAEA,qBAAgBD,6DAAhB;IAIA,iCAA4B,IAAIvF,kDAAJ,CAA6B,KAA7B,CAA5B;IAEA,2CAAsC,KAAKoM,yBAAL,CAA+BrR,IAA/B,CAAoCwJ,sDAAK,CAAC,GAAD,CAAzC,CAAtC;IAEA,4BAAuB,KAAvB;IAEA,mCAA8B,KAA9B;IAEA,yBAAoB,KAApB;IAIA,gBAAW,IAAIvE,kDAAJ,CAA6B,IAA7B,CAAX;IAEA,mBAAc,KAAd;IAIA,yBAAoB,KAApB;IAEA,UAAKtD,sDAAM,CAACqG,mEAAD,CAAX;IAEA,sBAAiBrG,sDAAM,CAAC+O,wDAAD,CAAvB;IAEA,wBAAmB/O,sDAAM,CAACsG,+EAAD,CAAzB;IAEA,uBAAkBtG,sDAAM,CAACkP,4EAAD,CAAxB;IAEA,gBAAW,IAAI5L,kDAAJ,CAA6B,EAA7B,CAAX;IAEA,0BAAqB,IAAIA,kDAAJ,CAAoB,IAApB,CAArB;IAEA,2BAAsB,KAAK/B,EAAL,CAAQC,KAAR,CAAc;MAChCzY,SAAS,EAAE,KAAKwY,EAAL,CAAQG,OAAR,CAAgBpN,SAAhB,EAA2B;QAClCwP,UAAU,EAAE,CAAC7C,gEAAD;MADsB,CAA3B,CADqB;MAIhCxa,OAAO,EAAE,KAAK8a,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoB;QACzBoC,UAAU,EAAE,CACR7C,gEADQ,EAEPS,OAAD,IAAkD;UAC9C,KAAKiO,YAAL,GAAoB,EAApB;;UACA,IAAIjO,OAAO,CAAC1gB,KAAZ,EAAmB;YACf,IAAI0gB,OAAO,CAAC1gB,KAAR,CAAc4B,OAAd,CAAsB,GAAtB,MAA+B,CAAnC,EAAsC;cAClC,KAAK6S,cAAL,CAAoBxK,eAApB,CAAoCyW,OAAO,CAAC1gB,KAA5C,EAAmD,CAAC4uB,YAAD,EAAejpB,IAAf,KAAuB;gBACtE,KAAKpE,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;kBACjB,KAAKie,WAAL,GAAmBlpB,IAAI,CAACsN,UAAL,KAAoB,MAAvC;;kBACA,IAAI2b,YAAY,KAAK,KAAjB,IAA0B,CAAC,KAAKC,WAApC,EAAiD;oBAC7CnO,OAAO,CAAC0E,SAAR,CAAkB/kB,MAAM,CAACyuB,MAAP,CAAc;sBAAEC,iBAAiB,EAAE;oBAArB,CAAd,EAA2CrO,OAAO,CAACc,MAAnD,CAAlB;kBACH,CAFD,MAEO;oBACH,IAAId,OAAO,CAACsO,QAAR,CAAiB,mBAAjB,CAAJ,EAA2C;sBACvC,OAAOtO,OAAO,CAACc,MAAR,CAAe,mBAAf,CAAP;;sBACA,IAAInhB,MAAM,CAACC,IAAP,CAAYogB,OAAO,CAACc,MAApB,EAA4Bzf,MAA5B,KAAuC,CAA3C,EAA8C;wBAC1C2e,OAAO,CAAC0E,SAAR,CAAkB,IAAlB;sBACH;oBACJ;kBACJ;gBACJ,CAZD;cAaH,CAdD;cAeA,OAAO1E,OAAO,CAACsO,QAAR,CAAiB,mBAAjB,IAAwC;gBAAED,iBAAiB,EAAE;cAArB,CAAxC,GAAsE,IAA7E;YACH,CAjBD,MAiBO;cACH,IAAI,CAAC7O,8EAAA,CAAqBQ,OAAO,CAAC1gB,KAA7B,CAAL,EAA0C;gBACtC,OAAO;kBAAEkvB,eAAe,EAAE;gBAAnB,CAAP;cACH,CAFD,MAEO;gBACH,KAAKza,cAAL,CAAoBpG,kBAApB,CAAuCqS,OAAO,CAAC1gB,KAAR,CAAciO,OAAd,CAAsB,GAAtB,EAA2B,EAA3B,CAAvC,EAAuE,CAACkhB,YAAD,EAAeC,UAAf,KAA6B;kBAChG,KAAK7tB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;oBACjB,KAAK+d,YAAL,GAAoBS,UAAU,CAAC3pB,OAA/B;;oBACA,IAAI0pB,YAAJ,EAAkB;sBACd,IAAIzO,OAAO,CAACsO,QAAR,CAAiB,iBAAjB,CAAJ,EAAyC;wBACrC,OAAOtO,OAAO,CAACc,MAAR,CAAe,iBAAf,CAAP;;wBACA,IAAInhB,MAAM,CAACC,IAAP,CAAYogB,OAAO,CAACc,MAApB,EAA4Bzf,MAA5B,KAAuC,CAA3C,EAA8C;0BAC1C2e,OAAO,CAAC0E,SAAR,CAAkB,IAAlB;wBACH;sBACJ;oBACJ,CAPD,MAOO;sBACH1E,OAAO,CAAC0E,SAAR,CAAkB/kB,MAAM,CAACyuB,MAAP,CAAc;wBAAEO,eAAe,EAAE;sBAAnB,CAAd,EAAyC3O,OAAO,CAACc,MAAjD,CAAlB;oBACH;kBACJ,CAZD;gBAaH,CAdD;cAeH;;cACD,OAAOd,OAAO,CAACsO,QAAR,CAAiB,iBAAjB,IAAsC;gBAAEK,eAAe,EAAE;cAAnB,CAAtC,GAAkE,IAAzE;YACH;UACJ;;UACD,OAAO,IAAP;QACH,CA9CO;MADa,CAApB,CAJuB;MAsDhCrmB,MAAM,EAAE,KAAKuX,EAAL,CAAQG,OAAR,CAAgBpN,SAAhB,EAA2B;QAC/BwP,UAAU,EAAE,CACR7C,gEADQ,EAERA,2DAAA,CAAe,cAAf,CAFQ,EAGPS,OAAD,IAAkD;UAC9C,IAAI,CAACA,OAAO,CAAC1gB,KAAb,EAAoB;YAChB,OAAO,IAAP;UACH;;UAED,IAAI0gB,OAAO,CAAC1gB,KAAR,KAAkB,CAAtB,EAAyB;YACrB,OAAO;cAAEuvB,IAAI,EAAE;YAAR,CAAP;UACH;;UACD,MAAMC,SAAS,GAAG,KAAKf,UAAL,CAAgBhlB,SAAhB,CAA0BiX,OAAO,CAAC1gB,KAAlC,CAAlB;;UACA,IAAI,KAAK6uB,WAAT,EAAsB;YAClB,IAAI,CAAC,KAAKY,QAAV,EAAoB;cAChB,OAAO;gBAAEC,cAAc,EAAE;cAAlB,CAAP;YACH;;YACD,IAAIF,SAAS,CAACvN,aAAV,CAAwB,IAAIpiB,mDAAJ,CAAc,KAAK4vB,QAAL,CAAcE,mBAA5B,CAAxB,CAAJ,EAA+E;cAC3E,OAAO;gBAAEC,yBAAyB,EAAE;cAA7B,CAAP;YACH;;YACD,IAAIJ,SAAS,CAACK,UAAV,CAAqB,IAAIhwB,mDAAJ,CAAc,KAAK4vB,QAAL,CAAcK,OAAd,CAAsBC,qBAApC,CAArB,CAAJ,EAAsF;cAClF,OAAO;gBAAEC,qBAAqB,EAAE;cAAzB,CAAP;YACH;UACJ;;UACD,OAAO,IAAP;QACH,CAxBO,EA0BPtP,OAAD,IAAkD;;;UAC9C,MAAMrX,QAAQ,GAAG,WAAK4mB,mBAAL,MAAwB,IAAxB,IAAwBnO,aAAxB,GAAwB,MAAxB,GAAwBA,GAAEP,QAAF,CAAWlY,QAAX,CAAoBrJ,KAA7D;;UACA,IAAI,CAACqJ,QAAL,EAAe;YACX,OAAO,IAAP;UACH;;UAED,MAAMyf,KAAK,GAA6B,WAAK1nB,gBAAL,CAAsBsS,aAAtB,CAAoC4C,QAApC,MAA4C,IAA5C,IAA4C4Z,aAA5C,GAA4C,MAA5C,GAA4CA,GAAEtV,IAAF,CAChFha,CAAC,IAAIA,CAAC,CAACuoB,UAAF,CAAa9f,QAAb,KAA0BA,QADiD,CAApF;;UAGA,IAAIyf,KAAJ,EAAW;YACP,MAAM/G,QAAQ,GAAG,CAAC,KAAKpN,cAAL,CAAoBlL,SAApB,CAA8Bqf,KAAK,CAAC/G,QAApC,CAAlB;YACA,OAAO,CAACrB,OAAO,CAAC1gB,KAAT,GAAiB+hB,QAAjB,GAA4B;cAAEiM,iBAAiBA,yEAAAA;YAAnB,CAA5B,GAAoD,IAA3D;UACH;;UACD,OAAO,IAAP;QACH,CAxCO;MADmB,CAA3B,CAtDwB;MAkGhC7kB,OAAO,EAAE,KAAKoX,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoB;QACzBoC,UAAU,EAAE,CAAC7C,iEAAA,CAAqB,KAAK7e,gBAAL,CAAsB0f,gBAA3C,CAAD;MADa,CAApB,CAlGuB;MAqGhCzX,QAAQ,EAAE,KAAKkX,EAAL,CAAQG,OAAR,CAAgBpN,SAAhB,EAA2B;QACjCwP,UAAU,EAAE,CAAC7C,gEAAD;MADqB,CAA3B,CArGsB;MAwGhC/W,KAAK,EAAE,KAAKqX,EAAL,CAAQG,OAAR,CAAgBgN,wDAAhB,EAAuB;QAC1B5K,UAAU,EAAE,CAAC7C,gEAAD,EAAsBA,2DAAA,CAAe,CAAf,CAAtB,EAAyCA,2DAAA,CAAe,IAAf,CAAzC;MADc,CAAvB,CAxGyB;MA2GhChX,GAAG,EAAE,KAAKsX,EAAL,CAAQG,OAAR,CAAgB,KAAKtf,gBAAL,CAAsBkR,WAAtC,EAAmD;QACpDwQ,UAAU,EAAE,CACR7C,gEADQ,EAEPkQ,CAAD,IAA4C;UACxC,IAAI,IAAItwB,mDAAJ,CAAcswB,CAAC,CAACnwB,KAAhB,EAAuB6vB,UAAvB,CAAkC,KAAKzuB,gBAAL,CAAsBkR,WAAxD,CAAJ,EAA0E;YACtE,OAAO;cAAE8d,QAAQ,EAAE;YAAZ,CAAP;UACH;;UACD,OAAO,IAAP;QACH,CAPO;MADwC,CAAnD,CA3G2B;MAsHhChnB,IAAI,EAAE,KAAKmX,EAAL,CAAQG,OAAR,CAAgB,KAAhB;IAtH0B,CAAd,CAAtB;IA6HQ,gBAAW,IAAI/gB,0CAAJ,EAAX;EAE0G;;EAN/F,IAAfkqB,eAAe;IACf,OAAO,KAAKoG,mBAAL,CAAyB7J,WAAzB,EAAP;EACH;;EAMD/Q,QAAQ;IACJ,MAAM;MAAEpG;IAAF,IAAc,KAAK7N,gBAAzB;IACA,KAAKivB,QAAL,CAAc7sB,IAAd,CAAmByL,OAAnB;IAEA,KAAKqhB,WAAL;IACA,KAAKC,oBAAL;IACA,KAAKC,mCAAL;IACA,KAAKC,mBAAL;IACA,KAAKC,wBAAL;EACH;;EAEDA,wBAAwB;IACpB,MAAMvrB,KAAK,GAAG6T,OAAO,CAAC7T,KAAR,IAAiB,EAA/B;IACA,MAAM2jB,KAAK,GAAiB3jB,KAAK,CAAC,OAAD,CAAjC;;IACA,IAAI2jB,KAAJ,EAAW;MACP,MAAM;QACFK,UAAU,EAAE;UAAE9f;QAAF;MADV,IAEFyf,KAFJ;MAGA,KAAKmH,mBAAL,CAAyB1O,QAAzB,CAAkClY,QAAlC,CAA2Cud,UAA3C,CAAsDvd,QAAtD,EAAgE;QAAEsnB,SAAS,EAAE;MAAb,CAAhE;IACH;EACJ;;EAEDhT,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAED0O,UAAU;IACN,KAAKC,oBAAL,GAA4B,IAA5B;EACH;;EAEDlH,SAAS,CAACA,SAAD,EAAmB;IACxB,KAAKkH,oBAAL,GAA4B,KAA5B;;IACA,IAAIlH,SAAJ,EAAe;MACX,KAAKmH,MAAL;IACH;EACJ;;EAEDA,MAAM;IACF,IAAI,KAAKb,mBAAL,CAAyB/M,KAA7B,EAAoC;MAChC,MAAM;QAAEzd;MAAF,IAAc,KAAKwqB,mBAAL,CAAyB7J,WAAzB,EAApB;MACA,IAAIyD,eAAe,GAAoB,EACnC,GAAG,KAAKoG,mBAAL,CAAyB7J,WAAzB;MADgC,CAAvC;;MAIA,IAAI3gB,OAAO,CAAC7D,OAAR,CAAgB,GAAhB,MAAyB,CAA7B,EAAgC;QAC5B,MAAMmvB,SAAS,GAAGtrB,OAAlB;QACA,MAAMmI,KAAK,GAAG,KAAKyiB,QAAL,CAAcrwB,KAAd,CAAoB4a,IAApB,CAAyB,CAAC;UAAEjZ;QAAF,CAAD,KAAcA,IAAI,KAAKovB,SAAhD,CAAd;;QAEA,IAAI,CAACnjB,KAAL,EAAY;UACR,KAAKqiB,mBAAL,CAAyB1O,QAAzB,CAAkC9b,OAAlC,CAA0C2f,SAA1C,CAAoD;YAChDiK,eAAe,EAAE;UAD+B,CAApD;UAGA;QACH;;QAEDxF,eAAe,GAAG,EACd,GAAGA,eADW;UAEdpkB,OAAO,EAAEmI,KAAK,CAACnI;QAFD,CAAlB;MAIH;;MAED,KAAKgP,cAAL,CAAoB1L,SAApB,CAA8B8gB,eAA9B,EAA+CvZ,MAAM,IAAG;QACpD,KAAK/O,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAKN,MAAL,GAAcA,MAAd;UACA,KAAK0gB,2BAAL,GAAmC,IAAnC;UACA,KAAK5vB,gBAAL,CAAsBsS,aAAtB,CAAoCmW,eAApC,GAAsD,IAAtD;QACH,CAJD;MAKH,CAND;IAOH;EACJ;;EAEDoH,gBAAgB;IACZ,MAAMjoB,MAAM,GAAG,KAAKylB,UAAL,CAAgBhlB,SAAhB,CAA0B,KAAKwmB,mBAAL,CAAyBjwB,KAAzB,CAA+BgJ,MAAzD,CAAf;IACA,MAAMkoB,MAAM,GAAG,IAAIrxB,mDAAJ,CAAc,KAAK4vB,QAAL,CAAcK,OAAd,CAAsBC,qBAApC,CAAf;;IACA,IAAI/mB,MAAM,IAAIkoB,MAAd,EAAsB;MAClB,OAAQloB,MAAoB,CAAC8hB,KAArB,CAA2BoG,MAA3B,CAAR;IACH;;IACD,OAAO,CAAP;EACH;;EAEDC,sBAAsB,CAACvE,OAAD,EAAiB;IACnC,KAAKoE,2BAAL,GAAmC,KAAnC;IACA,KAAK1gB,MAAL,GAAc,IAAd;;IAEA,IAAIsc,OAAJ,EAAa;MACT,MAAM;QACFlZ,aAAa,EAAE;UAAE3L;QAAF;MADb,IAEF,KAAK3G,gBAFT;MAGA,KAAKA,gBAAL,CAAsBsS,aAAtB,CAAoCmW,eAApC,GAAsD,IAAtD;MACA,KAAKoG,mBAAL,CAAyBmB,KAAzB,CAA+B,EAAE,GAAGnD,4EAAL;QAA6BlmB;MAA7B,CAA/B,EAAyE;QAAE4oB,SAAS,EAAE;MAAb,CAAzE;IACH;EACJ;;EAEOH,mCAAmC;IACvC,MAAM;MAAE9c,aAAF;MAAiBpB;IAAjB,IAAiC,KAAKlR,gBAA5C;IAEA,IAAIyoB,eAAJ;;IAEA,IAAInW,aAAa,CAACmW,eAAlB,EAAmC;MAC/BA,eAAe,GAAGnW,aAAa,CAACmW,eAAhC;MACA,KAAKoG,mBAAL,CAAyBoB,gBAAzB;IACH,CAHD,MAGO;MACHxH,eAAe,GAAG,EACd,GAAGoE,4EADW;QAEdhlB,GAAG,EAAEqJ;MAFS,CAAlB;IAIH;;IAED,IAAIoB,aAAa,CAACoR,YAAd,IAA8B,CAACpR,aAAa,CAACqR,aAAjD,EAAgE;MAC5D8E,eAAe,CAACzgB,IAAhB,GAAuB,IAAvB;MACA,KAAK6mB,mBAAL,CAAyB1O,QAAzB,CAAkC,MAAlC,EAA0C+P,OAA1C;IACH;;IAED,IAAI5d,aAAa,CAACoR,YAAlB,EAAgC;MAC5B+E,eAAe,CAAC3gB,KAAhB,GAAwB,CAAxB;MACA,KAAK+mB,mBAAL,CAAyB1O,QAAzB,CAAkC,OAAlC,EAA2C+P,OAA3C;IACH;;IAEDzH,eAAe,CAAC9hB,SAAhB,GAA4B2L,aAAa,CAAC3L,SAA1C;IAEA,KAAKkoB,mBAAL,CAAyBrJ,UAAzB,CAAoCiD,eAApC,EAAqD;MAAE8G,SAAS,EAAE;IAAb,CAArD;EACH;;EAEOY,gBAAgB,CAACvxB,KAAD,EAAsB;IAC1C,KAAKwxB,iBAAL,GAAyB,IAAzB;IACA,KAAKvB,mBAAL,CAAyBrJ,UAAzB,CAAoC;MAChCnhB,OAAO,EAAEzF,KAAK,CAACyF,OADiB;MAEhCuD,MAAM,EAAEhJ,KAAK,CAACgJ,MAAN,IAAgB,IAFQ;MAGhCG,OAAO,EAAEnJ,KAAK,CAACmJ,OAAN,IAAiBnJ,KAAK,CAACyxB,QAAvB,IAAmC,EAHZ;MAIhCvoB,KAAK,EAAE,CAAClJ,KAAK,CAAC0xB,MAAP,IAAiBhE,wDAJQ;MAKhCrkB,QAAQ,EAAEye,sEALsB;MAMhC7e,GAAG,EAAEjJ,KAAK,CAACiJ,GAAN,IAAa,KAAK7H,gBAAL,CAAsBkR,WANR;MAOhClJ,IAAI,EAAEpJ,KAAK,CAAC2xB,WAAN,KAAsB;IAPI,CAApC;EASH;;EAEOrB,WAAW;IACf,KAAKsB,eAAL,CACKtB,WADL,GAEKjT,IAFL,CAGQwQ,oDAAG,CAAC,MAAM,KAAK3H,QAAL,CAAc1iB,IAAd,CAAmB,IAAnB,CAAP,CAHX,EAIQoqB,sDAAK,CAAC,CAAD,CAJb,EAKQ1Z,0DAAS,CAAC,KAAKoJ,QAAN,CALjB,EAOKpI,SAPL,CAOe;MACP1R,IAAI,EAAExD,KAAK,IAAG;QACV,KAAKyvB,QAAL,GAAgBzvB,KAAhB;QACA,KAAKkmB,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;MACH,CAJM;MAKPrB,KAAK,EAAE,MAAK;QACR,KAAK+jB,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;MACH;IAPM,CAPf;EAgBH;;EAEDquB,uBAAuB,CAACC,KAAD,EAAW;;;IAC9BA,KAAK,CAACC,cAAN;IACA,MAAM;MAAEC;IAAF,IAAoBF,KAA1B;IACA,IAAI9xB,KAAK,GAAG,mBAAa,CAACikB,OAAd,CAAsB,MAAtB,OAA6B,IAA7B,IAA6BnC,aAA7B,GAA6BA,EAA7B,GAAiC,EAA7C;IACA,KAAKmQ,kBAAL,CAAwBzuB,IAAxB,CAA6BxD,KAAK,CAAC4B,OAAN,CAAc,GAAd,MAAuB,CAApD;;IAEA,IAAI5B,KAAK,CAAC4B,OAAN,CAAc,GAAd,MAAuB,CAA3B,EAA8B;MAC1B5B,KAAK,GAAGA,KAAK,CAACshB,WAAN,EAAR;IACH;;IACD,KAAK2O,mBAAL,CAAyB1O,QAAzB,CAAkC9b,OAAlC,CAA0CmhB,UAA1C,CAAqD5mB,KAArD;EACH;;EAEDkyB,uBAAuB,CAACJ,KAAD,EAAW;IAC9B,MAAM;MACFK,MAAM,EAAE;QAAEnyB;MAAF;IADN,IAEF8xB,KAFJ;IAGAhE,yCAAE,CAAE9tB,KAAK,SAAL,SAAK,WAAL,WAAS,EAAX,CAAF,CACKqd,IADL,CAEQwQ,oDAAG,CAACjtB,CAAC,IAAI,KAAKqxB,kBAAL,CAAwBzuB,IAAxB,CAA6B5C,CAAC,CAACgB,OAAF,CAAU,GAAV,MAAmB,CAAhD,CAAN,CAFX,EAGQisB,oDAAG,CAACjtB,CAAC,IAAI,KAAK8tB,yBAAL,CAA+BlrB,IAA/B,CAAoC,CAAC,CAAC5C,CAAC,CAACmB,MAAJ,IAAcnB,CAAC,CAACgB,OAAF,CAAU,GAAV,MAAmB,CAArE,CAAN,CAHX,EAIQwc,uDAAM,CAACxd,CAAC,IAAIA,CAAC,CAACgB,OAAF,CAAU,GAAV,MAAmB,CAAzB,CAJd,EAKQqS,qDAAI,CAAC,CAAD,CALZ,EAOKiB,SAPL,CAOe;MACP1R,IAAI,EAAE5C,CAAC,IAAG;QACN,MAAMwxB,eAAe,GAAG,KAAKhxB,gBAAL,CAAsB6N,OAAtB,CAA8BmP,MAA9B,CAAqC,CAAC;UAAEzc;QAAF,CAAD,KAAa;UACtE,OAAOA,IAAI,CAACC,OAAL,CAAahB,CAAb,IAAkB,CAAC,CAA1B;QACH,CAFuB,CAAxB;QAGA,KAAKyvB,QAAL,CAAc7sB,IAAd,CAAmB4uB,eAAnB;MACH;IANM,CAPf;EAeH;;EAEO7B,oBAAoB;IACxB,KAAKnvB,gBAAL,CAAsBixB,eAAtB,CAAsChV,IAAtC,CAA2CnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAApD,EAAqEpI,SAArE,CAA+E;MAC3E1R,IAAI,EAAExD,KAAK,IAAG;QACV,IAAIA,KAAK,IAAIA,KAAK,CAACmtB,MAAN,KAAiB,MAA9B,EAAsC;UAClC3Z,UAAU,CAAC,MAAK;YACZ,KAAK+d,gBAAL,CAAsBvxB,KAAtB;UACH,CAFS,EAEP,GAFO,CAAV;UAGA,KAAKoB,gBAAL,CAAsBixB,eAAtB,CAAsC7uB,IAAtC,CAA2C,EAA3C;QACH;MACJ;IAR0E,CAA/E;EAUH;;EAEOitB,mBAAmB;IACvB,KAAKR,mBAAL,CAAyB9O,YAAzB,CAAsC9D,IAAtC,CAA2CsQ,6DAAY,CAAC,GAAD,CAAvD,EAA8DzZ,0DAAS,CAAC,KAAKoJ,QAAN,CAAvE,EAAwFpI,SAAxF,CAAkG;MAC9F1R,IAAI,EAAE,MAAK;QACP,KAAKpC,gBAAL,CAAsBsS,aAAtB,CAAoCmW,eAApC,GAAsD,KAAKoG,mBAAL,CAAyB7J,WAAzB,EAAtD;MACH;IAH6F,CAAlG;EAKH;;AAxXqB;;;mBAAboI,eAAa5a,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,kDAAAA,GAAAA,gEAAAA,CAAAA,6FAAAA;AAAA;;;QAAb4a;EAAa7P;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MAtVlBnL,6DAAAA;MACIA,yDAAAA;;MAmUJA,2DAAAA;MAEAA,yDAAAA;MAEAA,yDAAAA;;;;MAtUSA,wDAAAA;MAAAA,yDAAAA,UAAAA,0DAAAA;MAoUQA,wDAAAA;MAAAA,yDAAAA;MAGZA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChWwD;AAE1B;AAKF;AACV;AACY;;;;;;;;;;;;;;;;IAiBX,yEAQC;IAEO,uDACJ;;IAAA,4DAAM;IAEN,yEAAmF;IAE3E,gUAAa,iHACnD,IAD0F;IAGxD,4DAAqB;;;IARrB,0DACJ;IADI,4JACJ;IAIQ,0DAAoD;IAApD,kHAAoD;;;IAyCpE,0EAA2G;IAG/F,uDAEJ;;IAAA,4DAAM;IACN,0EAAoB;IAChB,uDACJ;IAAA,4DAAM;;;IALF,0DAEJ;IAFI,yNAEJ;IAEI,0DACJ;IADI,mHACJ;;;IAeA,uDACJ;;;;;IADI,yOACJ;;;IAEI,uDACJ;;;;IADI,2JACJ;;;IAgBJ,0EAAgF;IAGpE,uDAEJ;;IAAA,4DAAM;IACN,0EAAoB;IAChB,uDACJ;IAAA,4DAAM;;;IALF,0DAEJ;IAFI,yNAEJ;IAEI,0DACJ;IADI,mHACJ;;;;IAYhB,wEAA8D;IAC1D,6EAQC;IAPG,wWAAS,0FAAoB,KAAC;IAQ9B,uDACJ;IAAA,4DAAS;IACb,qEAAe;;;;IATP,0DAA8B;IAA9B,sFAA8B;IAO9B,0DACJ;IADI,4FACJ;;AAejB,MAAM,gBAAgB;IA6EzB,YACW,gBAAkC,EACjC,KAAqB,EACrB,OAAuB,EACvB,MAAc,EACd,cAA8B,EAC9B,SAA2B;QAL5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;QAlFvC,YAAO,GAAG;YACN;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBACrD,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBACrD,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBACtD,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBACtD,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBACtD,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACpD,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACnD,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,IAAI;aACf;SACJ,CAAC;QAEF,WAAM,GAAG;YACL;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAClD,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,IAAI;aACf;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACnD,GAAG,EAAE,MAAM;gBACX,MAAM,EAAE,KAAK;aAChB;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACpD,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,KAAK;aAChB;SACJ,CAAC;QAEF,kBAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAEnC,iBAAY,GAAG;YACX,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;SACf,CAAC;QAEF,iBAAY,GAAG,EAAE,CAAC;QAIlB,UAAK,GAAG,IAAI,mDAAS,CAAC,CAAC,CAAC,CAAC;QAEzB,YAAO,GAAG;YACN,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,IAAI,mDAAS,CAAC,CAAC,CAAC;SAC1B,CAAC;QAEM,aAAQ,GAAG,IAAI,yCAAO,EAAQ,CAAC;IASpC,CAAC;IAEJ,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI;QAC1B,IAAI,GAAG,KAAK,KAAK,EAAE;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE;YACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACtF;aAAM;YACH,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,IAAI,EAAE,GAAG,EAAE;gBACP,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,yDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,EAAE,CAAC,SAAiB,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE;oBAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC9C,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;wBACxC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;4BAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAClC;qBACJ;oBACD,IAAI,YAAY,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,mDAAS,CAAC,CAAC,CAAC,CAAC;wBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBACxE;qBACJ;iBACJ;YACL,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,IAAI,CAAC,yDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,IAAI,EAAE,CAAC,SAAiB,EAAE,EAAE;gBACxB,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,KAAK,SAAS,EAAE;oBAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBAC3B;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,qDAAK,CAAC;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACnB,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3B,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC7B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,KAAK,EAAE;gBACH,IAAI,EAAE,MAAM;gBACZ,eAAe,EAAE,aAAa;gBAC9B,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,IAAI,EAAE,GAAS,EAAE;wBACb,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;iBACJ;aACJ;YAED,KAAK,EAAE;gBACH,GAAG,EAAE,CAAC;gBACN,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,EAAE;iBACX;gBACD,aAAa,EAAE,SAAS;gBACxB,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE;oBACJ,CAAC,EAAE,CAAC,CAAC;oBACL,KAAK,EAAE,MAAM;oBACb,CAAC,EAAE,CAAC,GAAG;oBACP,KAAK,EAAE;wBACH,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,MAAM;qBACnB;oBACD,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe;iBAC7D;aACJ;YAED,KAAK,EAAE;gBACH,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,SAAS;gBACxB,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,MAAM;qBACnB;iBACJ;gBACD,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,QAAQ;gBAClB,0BAA0B;gBAC1B,eAAe,EAAE,OAAO;aAC3B;YAED,OAAO,EAAE;gBACL,OAAO,EAAE,KAAK;aACjB;YAED,WAAW,EAAE;gBACT,IAAI,EAAE;oBACF,SAAS,EAAE;wBACP,cAAc,EAAE;4BACZ,EAAE,EAAE,CAAC;4BACL,EAAE,EAAE,CAAC;4BACL,EAAE,EAAE,CAAC;4BACL,EAAE,EAAE,CAAC;yBACR;wBACD,KAAK,EAAE;4BACH,CAAC,CAAC,EAAE,uBAAuB,CAAC;4BAC5B,CAAC,CAAC,EAAE,qBAAqB,CAAC;yBAC7B;qBACJ;oBACD,MAAM,EAAE;wBACJ,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,CAAC;qBACZ;oBACD,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,IAAI;iBAClB;gBAED,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,MAAM,EAAE;4BACJ,SAAS,EAAE,CAAC,GAAG,EAAQ,EAAE;gCACrB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gCACzC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC/C,CAAC;yBACJ;qBACJ;oBACD,MAAM,EAAE;wBACJ,QAAQ,EAAE,GAAS,EAAE;4BACjB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;4BAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;wBACpC,CAAC;qBACJ;iBACJ;aACJ;YACD,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI;iBACb;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC1F,IAAI,CAAC,KAAK,GAAG,IAAI,mDAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,mDAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE;4BACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;yBAC7E;oBACL,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;4BAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACxD;wBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtG,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;iBACN;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,YAAY,CAAC,MAAO;;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO;SAAE;QAE5B,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACxB;aAAM;YACH,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC7C;QAED,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/E;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,mDAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7D;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;YACH,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACpD;QAED,UAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,KAAK;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;;gFAzYQ,gBAAgB;8GAAhB,gBAAgB;QA7JrB,yEAAqD;QAY7B,4GAoBM;QACN,yEAIC;QAEO,uDAEJ;;QAAA,4DAAM;QACN,0EAAmF;QAE3E,wDACJ;;QAAA,4DAAM;QACN,wDACJ;QAAA,4DAAM;QAEV,0EAIC;QAEO,wDAEJ;;QAAA,4DAAM;QACN,0EAAmF;QAE3E,wDACJ;;QAAA,4DAAM;QACN,wDACJ;QAAA,4DAAM;QAIlB,2EAAgH;QAC5G,+GAUM;QAEN,iFASC;QARG,oJAAU,uBAAmB,IAAC;QAS9B,+HAEc;QACd,+HAEc;QAClB,4DAAY;QAGpB,2EASC;QACG,sEAAwB;QACxB,2EAA8C;QAC1C,+GAUM;QACV,4DAAM;QAId,2EAAmF;QAC/E,sEAA2B;QAC/B,4DAAM;QAEN,2EAA0E;QACtE,iIAYe;QACnB,4DAAM;;QAnIe,0DAInC;QAJmC,+QAInC;QAsBsC,0DAEJ;QAFI,wKAEJ;QAGQ,0DACJ;QADI,gKACJ;QACA,0DACJ;QADI,gHACJ;QAQI,0DAEJ;QAFI,sKAEJ;QAGQ,0DACJ;QADI,wJACJ;QACA,0DACJ;QADI,gHACJ;QAKF,0DAAuC;QAAvC,2GAAuC;QAczC,0DAA2B;QAA3B,sFAA2B;QA6BzB,0DAAuC;QAAvC,2GAAuC;QAgBhD,0DAAe;QAAf,4EAAe;QAIa,0DAAY;QAAZ,gFAAY;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJf;AACH;AACG;AACoB;AACO;AACvB;AACe;AACP;AACD;;;;;;;;ICMjC,wEAAqE;IACjE,uDAEA;;;IAAA,gEAAM;IACV,qEAAe;;;;IAHX,0DAEA;IAFA,0SAEA;;;IAYJ,wEAAqE;IACjE,uDAEA;;;IAAA,gEAAM;IACV,qEAAe;;;;IAHX,0DAEA;IAFA,0SAEA;;;IAuBR,sEAAsD;IAClD,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,+KACJ;;;IACA,sEAAgE;IAC5D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,8KACJ;;;IANJ,0EAAsE;IAClE,4IAEM;IACN,4IAEM;IACV,4DAAM;;;IANI,0DAA8C;IAA9C,iHAA8C;IAG9C,0DAAwD;IAAxD,2HAAwD;;;;IApBtE,0EAA+D;IAEvD,uDACA;;IAAA,2EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAEpC,4EAUE;IATE,kUAAe,kHAAiD,KAAC;;IADrE,4DAUE;IACF,sIAOM;IACV,4DAAM;;;IAtBE,0DACA;IADA,gKACA;IAIA,0DAA4D;IAA5D,8HAA4D;IAC5D,gLAAkE;IAQhE,0DAAgD;IAAhD,0HAAgD;;ADpCnE,MAAM,kCAAkC;IAP/C;QAQI,qBAAgB,GAAG,qDAAM,CAAC,+EAAgB,CAAC,CAAC;QAE5C,OAAE,GAAG,qDAAM,CAAC,kEAAsB,CAAC,CAAC;QAEpC,gBAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACvB;YACI,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC;SAChE,EACD,EAAE,UAAU,EAAE,CAAC,kFAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,EAAE,CACxF,CAAC;QAEF,SAAI,GAAyC,qDAAM,CAAC,4DAAW,CAAC,CAAC;QAEjE,cAAS,GAAG,qDAAM,CAAC,0DAAS,CAAC,CAAC;KACjC;;oHAhBY,kCAAkC;gIAAlC,kCAAkC;QClB/C,yEAA0F;QAI1E,uDACJ;;QAAA,4DAAK;QAEL,yEAAoF;QAIpE,wDACJ;;QAAA,4DAAM;QACN,0EAAkB;QACd,kJAIe;QACnB,4DAAM;QAGV,qEAAwB;QAExB,0EAAiB;QAET,wDACJ;;QAAA,4DAAM;QACN,0EAAkB;QACd,kJAIe;QACnB,4DAAM;QAId,iIAwBM;QACV,4DAAM;QAEN,2EAAuF;QAC3E,2JAAS,oBAAgB,KAAK,CAAC,IAAC;QACpC,wDACJ;;QAAA,4DAAS;QACT,8EAAiH;QAAzG,2JAAS,oBAAgB,IAAI,CAAC,IAAC;QACnC,wDACJ;;QAAA,4DAAS;;QArEX,0DAAyB;QAAzB,sFAAyB;QAEvB,0DACJ;QADI,6JACJ;QAMgB,0DACJ;QADI,sLACJ;QAEmC,0DAAoC;QAApC,0GAAoC;QAYnE,0DACJ;QADI,sLACJ;QAEmC,0DAAoC;QAApC,0GAAoC;QASzE,0DAA8B;QAA9B,8FAA8B;QA6BhC,0DACJ;QADI,sKACJ;QACwC,0DAAgC;QAAhC,6FAAgC;QACpE,0DACJ;QADI,uKACJ;wBDzDF,yDAAY,EAAE,qKAAU,EAAE,mWAAmB,EAAE,4bAAe,EAAE,8HAAoB,EAAE,wJAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEdvC;AAC9B;AAC4C;AAE9B;AACL;AACF;AACmC;AAC1D;AAC8D;AACxB;AAEN;AACX;AACO;AAC2E;AAElE;;;;;;;ICS5C,oEAAqD;IAAA,uDAAoF;;;IAAA,4DAAI;;;;IAAxF,0DAAoF;IAApF,wSAAoF;;;IAWzI,oEAAqD;IACjD,uDAEJ;;;IAAA,4DAAI;;;;IAFA,0DAEJ;IAFI,0SAEJ;;;IAzBhB,0EAAsD;IAE9C,uDACJ;;IAAA,4DAAQ;IACR,0EAAwB;IAGZ,uDACJ;;IAAA,4DAAM;IAEN,0EAAkB;IACd,qHAA6I;IACjJ,4DAAM;IAGV,qEAAwB;IAExB,2EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IACd,qHAGI;IACR,4DAAM;;;IAxBV,0DACJ;IADI,8KACJ;IAIY,0DACJ;IADI,oLACJ;IAGwB,0DAA+B;IAA/B,wGAA+B;IAQnD,0DACJ;IADI,qLACJ;IAEwB,0DAA+B;IAA/B,wGAA+B;;;IAmBnE,0EAAyC;IACrC,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,sKACJ;;ADvBD,MAAM,oBAAoB;IAhBjC;QAiBI,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,gCAAgC;aAC1C;YACD;gBACI,KAAK,EAAE,gCAAgC;aAC1C;SACJ,CAAC;QAIF,qBAAgB,GAAG,qDAAM,CAAC,+EAAgB,CAAC,CAAC;QAE5C,OAAE,GAAG,qDAAM,CAAC,kEAAsB,CAAC,CAAC;QAEpC,SAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAS,EAAE,EAAE,CAAC,+DAAmB,CAAC,CAAC;SACvE,CAAC,CAAC;QAMK,mBAAc,GAAG,qDAAM,CAAC,yEAAc,CAAC,CAAC;QAExC,WAAM,GAAG,qDAAM,CAAC,oDAAM,CAAC,CAAC;QAExB,WAAM,GAAG,qDAAM,CAAC,iDAAM,CAAC,CAAC;QAExB,WAAM,GAAG,qDAAM,CAAC,wDAAM,CAAC,CAAC;QAExB,aAAQ,GAAG,IAAI,0CAAO,EAAQ,CAAC;KAmF1C;IAjFG,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY;aAC3C,IAAI,CAAC,qEAAoB,EAAE,EAAE,6DAAY,CAAC,GAAG,CAAC,EAAE,0DAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACzE,SAAS,CAAC;YACP,IAAI,EAAE,CAAC,gBAAwB,EAAE,EAAE;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;gBACzC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YAC9C,CAAC;SACJ,CAAC,CAAC;IACX,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,+BAA+B;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,MAAM,GAAiB;YACzB,IAAI,EAAE;gBACF,eAAe;aAClB;YACD,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,MAAM;SACpB,CAAC;QACF,IAAI,CAAC,MAAM;aACN,IAAI,CAAC,2IAAkC,EAAE,MAAM,CAAC;aAChD,MAAM,CAAC,IAAI,CAAC,uDAAM,CAAC,OAAO,CAAC,EAAE,qDAAI,CAAC,CAAC,CAAC,CAAC;aACrC,SAAS,CAAC;YACP,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;SACpC,CAAC,CAAC;IACX,CAAC;IAED,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,OAAO;SACV;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE/C,MAAM,MAAM,GAAkB;YAC1B,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,EAAE,gBAAgB,EAAE;SAC/B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;YAC/E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;;gBACjB,IAAI,mBAAa,CAAC,MAAM,0CAAG,cAAc,CAAC,EAAE;oBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpD;qBAAM;oBACH,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB,CAAC,gBAAwB;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAE1D,MAAM,MAAM,GAAkB;YAC1B,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,8BAA8B;YACtC,MAAM,EAAE,EAAE,gBAAgB,EAAE;SAC/B,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;YAC/E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;;gBACjB,MAAM,QAAQ,GAAG,mBAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,0CAAG,UAAU,CAAC,CAAC;gBACrD,IAAI,QAAQ,EAAE;oBACV,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;oBAChC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;iBAC7B;qBAAM;oBACH,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;oBACjC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;;wFAnHQ,oBAAoB;kHAApB,oBAAoB;QCnCjC,yEAAwC;QACpC,gFAA0E;QAE1E,0EAAsC;QAG1B,uDACJ;;QAAA,4DAAQ;QACR,yEAIY;;QAChB,4DAAM;QAEN,kHA6BM;QAEN,0EAAqB;QACT,6IAAS,qCAAiC,IAAC;QAC/C,wDACJ;;QAAA,4DAAS;QAET,wEAA2D;QACvD,wDACJ;;QAAA,4DAAI;QAGR,mHAEM;QACV,4DAAO;;QA1DU,0DAAyB;QAAzB,sFAAyB;QAEpC,0DAAkB;QAAlB,+EAAkB;QAGZ,0DACJ;QADI,8KACJ;QAEI,0DAAyE;QAAzE,wLAAyE;QAM3E,0DAAqB;QAArB,qFAAqB;QAgC6B,0DAA6B;QAA7B,0FAA6B;QAC7E,0DACJ;QADI,kLACJ;QAGI,0DACJ;QADI,kLACJ;QAGE,0DAAc;QAAd,8EAAc;wBDjCpB,0DAAY,6GACZ,qGAAoB;QACpB,gEAAkB;QAClB,kEAAmB;QACnB,iEAAe,mEACf,+DAAmB,8XACnB,8DAAoB,gGACpB,8EAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE9BxB;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAOA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA;;;;;;;;;;;;ICHoBA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IA7BRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IAxBUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAkBFA,wDAAAA;IASAA,qDAAAA;;;;;;IARIA,yDAAAA,8BAAwB,eAAxB,EAAwByU,oBAAxB,EAAwB,KAAxB,EAAwBkL,2GAAxB,EAAwB3f,4DAAxB;IAQJA,wDAAAA;IAAAA,iEAAAA;;;;;;IAmCJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAXRA,6DAAAA;IAOIA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IANUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAiBFA,wDAAAA;IASAA,qDAAAA;;;;;;IARIA,yDAAAA,8BAAwB,eAAxB,EAAwB4f,oBAAxB,EAAwB,KAAxB,EAAwBC,2GAAxB,EAAwB7f,4DAAxB;IAQJA,wDAAAA;IAAAA,iEAAAA;;;;;;IAYJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAVRA,6DAAAA;IASIA,yDAAAA;IAGJA,2DAAAA;;;;;IAHUA,wDAAAA;IAAAA,yDAAAA;;;;;;IAoBNA,6DAAAA;IACIA,qDAAAA;;;IAEJA,2DAAAA;;;;;IAFIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA,yCAAAA,0DAAAA;;;;;;IAGJA,6DAAAA;IAA2DA,qDAAAA;IAACA,2DAAAA;;;;;;IAhBxEA,6DAAAA,eAAuF,CAAvF,EAAuF,KAAvF,EAAuF,EAAvF;IAEQA,qDAAAA;;IACAA,wDAAAA;IACJA,2DAAAA;IACAA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;IACAA,6DAAAA;IAAmBA,qDAAAA;;IAAsCA,2DAAAA;IACzDA,6DAAAA,kBAAyB,EAAzB,EAAyB,IAAzB,EAAyB,EAAzB,EAAyB,IAAzB;IAEYA,qDAAAA;;IAA0CA,2DAAAA;IAC9CA,yDAAAA;IAIAA,yDAAAA;IACJA,2DAAAA;IACAA,6DAAAA,WAAI,EAAJ,EAAI,IAAJ;IACQA,qDAAAA;;IAAiCA,2DAAAA;IACrCA,6DAAAA;IACIA,qDAAAA;;;IAGJA,2DAAAA;;;;;IAtBJA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAIAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;IAEeA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAGPA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IACCA,wDAAAA;IAAAA,yDAAAA;IAIAA,wDAAAA;IAAAA,yDAAAA;IAGDA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAEAA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA,2IAAAA,0DAAAA;;;;;;;;IAmCAA,6DAAAA;IAAKA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,kEAAT;IAA6D,CAA7D;IAEDA,6DAAAA,eAIC,CAJD,EAIC,KAJD,EAIC,EAJD;IAK+BA,qDAAAA;IAAgBA,2DAAAA;;;;;IAJ3CA,wDAAAA;IAAAA,0DAAAA,wEAAoE,MAApE,EAAoE8f,yBAApE;IAI2B9f,wDAAAA;IAAAA,gEAAAA;;;;;;IARvCA,sEAAAA;IACIA,yDAAAA;IAUJA,oEAAAA;;;;;IAT2BA,wDAAAA;IAAAA,yDAAAA;;;;;;IAWvBA,6DAAAA;IAAuBA,qDAAAA;IAAiBA,2DAAAA;;;;;;IAdhDA,sEAAAA;IACIA,yDAAAA;IAYAA,yDAAAA,qGAAAA,qEAAAA;IAGJA,oEAAAA;;;;;;;;IAfmBA,wDAAAA;IAAAA,yDAAAA,6BAAsB,UAAtB,EAAsB+f,IAAtB;;;;;;;;;;;;IARvB/f,6DAAAA;IAOIA,yDAAAA;;IAiBJA,2DAAAA;;;;;IAtBIA,yDAAAA,YAAAA,8DAAAA;IAKeA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;;;;;;IAyBfA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAEJA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;IAhBRA,6DAAAA;IAMIA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGAA,yDAAAA;IAGJA,2DAAAA;;;;;IAZUA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;IAGAA,wDAAAA;IAAAA,yDAAAA;;;;;;IAKVA,6DAAAA,eAAqD,CAArD,EAAqD,MAArD;IACUA,qDAAAA;;IAAoCA,2DAAAA;;;;;IAApCA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;IAMNA,sEAAAA;IAA0CA,qDAAAA;;IAC1CA,oEAAAA;;;;IAD0CA,wDAAAA;IAAAA,iEAAAA,KAAAA,0DAAAA;;;;;;IAE1CA,wDAAAA;;;;IAAsCA,yDAAAA;;;;;;IAM9CA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;;;;IADIA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;ADrNN,MAAOggB,mBAAP,CAA0B;EAtBhC1yB;;;IAuBI,qBAAgB4mB,6DAAhB;IAEA,qBAAgBD,6DAAhB;IAEA,uBAAmC,CAC/B;MACIvH,UAAU,EAAE,cADhB;MAEI9V,KAAK,EAAE;IAFX,CAD+B,EAK/B;MACIA,KAAK,EAAE;IADX,CAL+B,CAAnC;IAUA,wBAAmBwU,sDAAM,CAACsG,+EAAD,CAAzB;IAEA,UAAKtG,sDAAM,CAACgB,wDAAD,CAAX;IAIA,gBAAW,IAAIsC,kDAAJ,CAA6B,KAA7B,CAAX;IAEA,mBAAc,KAAd;IAEA,gBAAW,IAAIA,kDAAJ,CAA6B,EAA7B,CAAX;IAEA,iCAA4B,IAAIA,kDAAJ,CAA6B,KAA7B,CAA5B;IAEA,2CAAsC,KAAKoM,yBAAL,CAA+BrR,IAA/B,CAAoCwJ,sDAAK,CAAC,GAAD,CAAzC,CAAtC;IAEA,0BAAqB,IAAIvE,kDAAJ,CAAoB,IAApB,CAArB;IAEA,sBAAiBtD,sDAAM,CAAC+O,wDAAD,CAAvB;IAEA,sBAAiB/O,sDAAM,CAACgU,wDAAD,CAAvB;IAEA,uBAAkBhU,sDAAM,CAACkP,4EAAD,CAAxB;IAIA,gBAA8C,IAA9C;IAEQ,sBAAiBlP,sDAAM,CAAC/d,yEAAD,CAAvB;IAEA,cAAS+d,sDAAM,CAACvf,kDAAD,CAAf;IAEA,cAASuf,sDAAM,CAACwG,oDAAD,CAAf;IAEA,gBAAW,IAAI7lB,0CAAJ,EAAX;IAEA,kBAAaqf,sDAAM,CAACgU,wDAAD,CAAnB;IAER,qBAAwB,KAAK5xB,gBAAL,CAAsBsS,aAA9C;IAEA,qBAAgB,KAAKA,aAAL,CAAmBmgB,aAAnC;IAEA,YAAO,KAAKtT,EAAL,CAAQC,KAAR,CACH;MACIsT,OAAO,EAAE,KAAKvT,EAAL,CAAQC,KAAR,CAAc;QACnBxX,MAAM,EAAE,KAAKuX,EAAL,CAAQG,OAAR,CAAgB,IAAhB,EAAsB;UAC1BoC,UAAU,EAAE,CACR7C,gEADQ,EAERA,2DAAA,CAAe,cAAf,CAFQ,EAGPS,OAAD,IAAkD;YAC9C,IAAI,CAACA,OAAO,CAAC1gB,KAAb,EAAoB;cAChB,OAAO,IAAP;YACH;;YAED,IAAI0gB,OAAO,CAAC1gB,KAAR,KAAkB,CAAtB,EAAyB;cACrB,OAAO;gBAAEuvB,IAAI,EAAE;cAAR,CAAP;YACH;;YACD,MAAMC,SAAS,GAAG,KAAKf,UAAL,CAAgBhlB,SAAhB,CAA0BiX,OAAO,CAAC1gB,KAAlC,CAAlB;;YACA,IAAI,KAAK6uB,WAAT,EAAsB;cAClB,IAAI,CAAC,KAAKY,QAAV,EAAoB;gBAChB,OAAO;kBAAEC,cAAc,EAAE;gBAAlB,CAAP;cACH;;cACD,IAAIF,SAAS,CAACvN,aAAV,CAAwB,IAAIpiB,mDAAJ,CAAc,KAAK4vB,QAAL,CAAcE,mBAA5B,CAAxB,CAAJ,EAA+E;gBAC3E,OAAO;kBAAEC,yBAAyB,EAAE;gBAA7B,CAAP;cACH;;cACD,IAAIJ,SAAS,CAACK,UAAV,CAAqB,IAAIhwB,mDAAJ,CAAc,KAAK4vB,QAAL,CAAcK,OAAd,CAAsBC,qBAApC,CAArB,CAAJ,EAAsF;gBAClF,OAAO;kBAAEC,qBAAqB,EAAE;gBAAzB,CAAP;cACH;YACJ;;YACD,OAAO,IAAP;UACH,CAxBO,EAyBPtP,OAAD,IAAkD;;;YAC9C,MAAMrX,QAAQ,GAAG,WAAK0qB,IAAL,MAAS,IAAT,IAASjS,aAAT,GAAS,MAAT,GAASA,GAAEP,QAAF,CAAWuS,OAAX,CAAmBvS,QAAnB,CAA4BlY,QAA5B,CAAqCrJ,KAA/D;;YACA,IAAI,CAACqJ,QAAL,EAAe;cACX,OAAO,IAAP;YACH;;YAED,MAAMyf,KAAK,GAA6B,WAAK1nB,gBAAL,CAAsBsS,aAAtB,CAAoC4C,QAApC,MAA4C,IAA5C,IAA4C4Z,aAA5C,GAA4C,MAA5C,GAA4CA,GAAEtV,IAAF,CAChFha,CAAC,IAAIA,CAAC,CAACuoB,UAAF,CAAa9f,QAAb,KAA0BA,QADiD,CAApF;;YAGA,IAAIyf,KAAJ,EAAW;cACP,MAAM/G,QAAQ,GAAG,CAAC,KAAKpN,cAAL,CAAoBlL,SAApB,CAA8Bqf,KAAK,CAAC/G,QAApC,CAAlB;cACA,OAAO,CAACrB,OAAO,CAAC1gB,KAAT,GAAiB+hB,QAAjB,GAA4B;gBAAEiM,iBAAiBA,yEAAAA;cAAnB,CAA5B,GAAoD,IAA3D;YACH,CAHD,MAGO;cACH,OAAO;gBAAEqF,4BAA4BA,oFAAAA;cAA9B,CAAP;YACH;UACJ,CAxCO;QADc,CAAtB,CADW;QA6CnBhqB,QAAQ,EAAE,KAAKkX,EAAL,CAAQG,OAAR,CAAgBoH,sEAAhB,EAAwC,CAAC7H,gEAAD,CAAxC;MA7CS,CAAd,CADb;MAgDI+T,SAAS,EAAE,KAAKzT,EAAL,CAAQC,KAAR,CAAc;QACrBxX,MAAM,EAAE,KAAKuX,EAAL,CAAQG,OAAR,CAAgB;UAAE1gB,KAAK,EAAE,IAAT;UAAei0B,QAAQ,EAAE,KAAKvgB,aAAL,CAAmBwgB;QAA5C,CAAhB,EAA0F,CAACjU,gEAAD,EAAsBA,2DAAA,CAAe,cAAf,CAAtB,CAA1F,CADa;QAErB5W,QAAQ,EAAE,KAAKkX,EAAL,CAAQG,OAAR,CAAgB;UACtB1gB,KAAK,EAAE,KAAK0T,aAAL,CAAmBwgB,0BAAnB,GAAgD,IAAhD,GAAwD,WAAKL,aAAL,CAAmB,CAAnB,EAAsBxqB,QAAtB,MAA8B,IAA9B,IAA8ByY,aAA9B,GAA8BA,EAA9B,GAAkCgG,sEAD3E;UAEtBmM,QAAQ,EAAE,KAAKvgB,aAAL,CAAmBwgB;QAFP,CAAhB,EAGP,CAACjU,gEAAD,CAHO;MAFW,CAAd,CAhDf;MAuDIkU,eAAe,EAAE,KAAK5T,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoB,CACjCT,gEADiC,EAEhCS,OAAD,IAAkD;QAC9C,KAAKiO,YAAL,GAAoB,EAApB;;QACA,IAAIjO,OAAO,CAAC1gB,KAAZ,EAAmB;UACf,IAAI0gB,OAAO,CAAC1gB,KAAR,CAAc4B,OAAd,CAAsB,GAAtB,MAA+B,CAAnC,EAAsC;YAClC,KAAK6S,cAAL,CAAoBxK,eAApB,CAAoCyW,OAAO,CAAC1gB,KAA5C,EAAmD,CAAC4uB,YAAD,EAAejpB,IAAf,KAAuB;cACtE,KAAKpE,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;gBACjB,KAAKie,WAAL,GAAmBlpB,IAAI,CAACsN,UAAL,KAAoB,MAAvC;;gBACA,IAAI2b,YAAY,KAAK,KAAjB,IAA0B,CAAC,KAAKC,WAApC,EAAiD;kBAC7CnO,OAAO,CAAC0E,SAAR,CAAkB/kB,MAAM,CAACyuB,MAAP,CAAc;oBAAEC,iBAAiB,EAAE;kBAArB,CAAd,EAA2CrO,OAAO,CAACc,MAAnD,CAAlB;gBACH,CAFD,MAEO;kBACH,IAAId,OAAO,CAACsO,QAAR,CAAiB,mBAAjB,CAAJ,EAA2C;oBACvC,OAAOtO,OAAO,CAACc,MAAR,CAAe,mBAAf,CAAP;;oBACA,IAAInhB,MAAM,CAACC,IAAP,CAAYogB,OAAO,CAACc,MAApB,EAA4Bzf,MAA5B,KAAuC,CAA3C,EAA8C;sBAC1C2e,OAAO,CAAC0E,SAAR,CAAkB,IAAlB;oBACH;kBACJ;gBACJ;cACJ,CAZD;YAaH,CAdD;YAeA,OAAO1E,OAAO,CAACsO,QAAR,CAAiB,mBAAjB,IAAwC;cAAED,iBAAiB,EAAE;YAArB,CAAxC,GAAsE,IAA7E;UACH,CAjBD,MAiBO;YACH,IAAI,CAAC7O,8EAAA,CAAqBQ,OAAO,CAAC1gB,KAA7B,CAAL,EAA0C;cACtC,OAAO;gBAAEkvB,eAAe,EAAE;cAAnB,CAAP;YACH,CAFD,MAEO;cACH,KAAKza,cAAL,CAAoBpG,kBAApB,CAAuCqS,OAAO,CAAC1gB,KAAR,CAAciO,OAAd,CAAsB,GAAtB,EAA2B,EAA3B,CAAvC,EAAuE,CAACkhB,YAAD,EAAeC,UAAf,KAA6B;gBAChG,KAAK7tB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;kBACjB,KAAK+d,YAAL,GAAoBS,UAAU,CAAC3pB,OAA/B;;kBACA,IAAI0pB,YAAJ,EAAkB;oBACd,IAAIzO,OAAO,CAACsO,QAAR,CAAiB,iBAAjB,CAAJ,EAAyC;sBACrC,OAAOtO,OAAO,CAACc,MAAR,CAAe,iBAAf,CAAP;;sBACA,IAAInhB,MAAM,CAACC,IAAP,CAAYogB,OAAO,CAACc,MAApB,EAA4Bzf,MAA5B,KAAuC,CAA3C,EAA8C;wBAC1C2e,OAAO,CAAC0E,SAAR,CAAkB,IAAlB;sBACH;oBACJ;kBACJ,CAPD,MAOO;oBACH1E,OAAO,CAAC0E,SAAR,CAAkB/kB,MAAM,CAACyuB,MAAP,CAAc;sBAAEO,eAAe,EAAE;oBAAnB,CAAd,EAAyC3O,OAAO,CAACc,MAAjD,CAAlB;kBACH;gBACJ,CAZD;cAaH,CAdD;YAeH;;YACD,OAAOd,OAAO,CAACsO,QAAR,CAAiB,iBAAjB,IAAsC;cAAEK,eAAe,EAAE;YAAnB,CAAtC,GAAkE,IAAzE;UACH;QACJ;;QACD,OAAO,IAAP;MACH,CA9CgC,CAApB;IAvDrB,CADG,EAyGH;MACIvM,UAAU,EAAE,CACPpC,OAAD,IAAsD;QAClD,MAAM0T,SAAS,GAAG1T,OAAO,CAAC7C,GAAR,CAAY,SAAZ,EAAuBA,GAAvB,CAA2B,UAA3B,EAAuC7d,KAAvC,KAAiD0gB,OAAO,CAAC7C,GAAR,CAAY,WAAZ,EAAyBA,GAAzB,CAA6B,UAA7B,EAAyC7d,KAA5G;;QACA,IAAIo0B,SAAJ,EAAe;UACX1T,OAAO,CAAC7C,GAAR,CAAY,WAAZ,EAAyBA,GAAzB,CAA6B,UAA7B,EAAyCuH,SAAzC,CAAmD;YAAEiP,YAAY,EAAE;UAAhB,CAAnD;QACH,CAFD,MAEO;UACH3T,OAAO,CAAC7C,GAAR,CAAY,WAAZ,EAAyBA,GAAzB,CAA6B,UAA7B,EAAyCuH,SAAzC,CAAmD,IAAnD;QACH;;QACD,OAAO,IAAP;MACH,CATO;IADhB,CAzGG,CAAP;EAmUH;;EAvMG/P,QAAQ;IACJ,KAAKib,WAAL;IACA,KAAK5X,UAAL;IACA,KAAK4b,iCAAL;IAEA,KAAKC,kBAAL,GAA0B,KAAKR,IAAL,CAAUxS,QAAV,CAAmByS,SAAnB,CAA6BzS,QAA7B,CAAsClY,QAAtC,CAA+C8X,YAA/C,CAA4D9D,IAA5D,CACtB+V,0DAAS,CAAC,KAAKW,IAAL,CAAUxS,QAAV,CAAmByS,SAAnB,CAA6BzS,QAA7B,CAAsClY,QAAtC,CAA+CrJ,KAAhD,CADa,EAEtBW,oDAAG,CAAE0I,QAAD,IAAc,KAAKwqB,aAAL,CAAmBzV,MAAnB,CAA2Bxd,CAAD,IAAOA,CAAC,CAACyI,QAAF,KAAeA,QAAhD,CAAf,CAFmB,CAA1B;IAIA,KAAKmrB,oBAAL,GAA4B,KAAKT,IAAL,CAAUxS,QAAV,CAAmBuS,OAAnB,CAA2BvS,QAA3B,CAAoClY,QAApC,CAA6C8X,YAA7C,CAA0D9D,IAA1D,CACxB+V,0DAAS,CAAC,KAAKW,IAAL,CAAUxS,QAAV,CAAmBuS,OAAnB,CAA2BvS,QAA3B,CAAoClY,QAApC,CAA6CrJ,KAA9C,CADe,EAExBW,oDAAG,CAAE0I,QAAD,IAAc,KAAKwqB,aAAL,CAAmBzV,MAAnB,CAA2Bxd,CAAD,IAAOA,CAAC,CAACyI,QAAF,KAAeA,QAAhD,CAAf,CAFqB,CAA5B;EAIH;;EAEDsU,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAEDuS,OAAO;IACH,MAAM;MAAEX,OAAF;MAAWE;IAAX,IAAyB,KAAKD,IAAL,CAAU3N,WAAV,EAA/B;;IAEA,MAAMiL,gBAAgB,GAAG,MAAK;MAC1B,KAAK0C,IAAL,CAAUxS,QAAV,CAAmBuS,OAAnB,CAA2BzC,gBAA3B;MACA,KAAK0C,IAAL,CAAUxS,QAAV,CAAmByS,SAAnB,CAA6B3C,gBAA7B;IACH,CAHD;;IAKAA,gBAAgB;IAEhB,KAAK0C,IAAL,CAAUnN,UAAV,CAAqB;MACjBkN,OAAO,EAAEE,SADQ;MAEjBA,SAAS,EAAEF;IAFM,CAArB;IAIA,KAAKC,IAAL,CAAUxS,QAAV,CAAmBuS,OAAnB,CAA2BvS,QAA3B,CAAoCvY,MAApC,CAA2C0rB,sBAA3C;IACA,KAAKX,IAAL,CAAUxS,QAAV,CAAmByS,SAAnB,CAA6BzS,QAA7B,CAAsCvY,MAAtC,CAA6C0rB,sBAA7C;EACH;;EAEDzD,gBAAgB;IACZ,MAAMjoB,MAAM,GAAG,KAAKylB,UAAL,CAAgBhlB,SAAhB,CAA0B,KAAKsqB,IAAL,CAAU3N,WAAV,GAAwB4N,SAAxB,CAAkChrB,MAA5D,CAAf;IACA,MAAMkoB,MAAM,GAAG,IAAIrxB,mDAAJ,CAAc,KAAK4vB,QAAL,CAAcK,OAAd,CAAsBC,qBAApC,CAAf;;IACA,IAAI/mB,MAAM,IAAIkoB,MAAd,EAAsB;MAClB,OAAQloB,MAAoB,CAAC8hB,KAArB,CAA2BoG,MAA3B,CAAR;IACH;;IACD,OAAO,CAAP;EACH;;EAEDyD,+BAA+B,CAAC7C,KAAD,EAAW;IACtC,MAAM;MACFK,MAAM,EAAE;QAAEnyB;MAAF;IADN,IAEF8xB,KAFJ;IAGAhE,yCAAE,CAAE9tB,KAAK,SAAL,SAAK,WAAL,WAAS,EAAX,CAAF,CACKqd,IADL,CAEQwQ,oDAAG,CAACjtB,CAAC,IAAI,KAAKqxB,kBAAL,CAAwBzuB,IAAxB,CAA6B5C,CAAC,CAACgB,OAAF,CAAU,GAAV,MAAmB,CAAhD,CAAN,CAFX,EAGQisB,oDAAG,CAACjtB,CAAC,IAAI,KAAK8tB,yBAAL,CAA+BlrB,IAA/B,CAAoC,CAAC,CAAC5C,CAAC,CAACmB,MAAJ,IAAcnB,CAAC,CAACgB,OAAF,CAAU,GAAV,MAAmB,CAArE,CAAN,CAHX,EAIQwc,uDAAM,CAACxd,CAAC,IAAIA,CAAC,CAACgB,OAAF,CAAU,GAAV,MAAmB,CAAzB,CAJd,EAKQqS,qDAAI,CAAC,CAAD,CALZ,EAOKiB,SAPL,CAOe;MACP1R,IAAI,EAAE5C,CAAC,IAAG;QACN,MAAMwxB,eAAe,GAAG,KAAKhxB,gBAAL,CAAsB6N,OAAtB,CAA8BmP,MAA9B,CAAqC,CAAC;UAAEzc;QAAF,CAAD,KAAa;UACtE,OAAOA,IAAI,CAACC,OAAL,CAAahB,CAAb,IAAkB,CAAC,CAA1B;QACH,CAFuB,CAAxB;QAGA,KAAKyvB,QAAL,CAAc7sB,IAAd,CAAmB4uB,eAAnB;MACH;IANM,CAPf;EAeH;;EAEDwC,+BAA+B,CAAC9C,KAAD,EAAW;;;IACtCA,KAAK,CAACC,cAAN;IACA,MAAM;MAAEC;IAAF,IAAoBF,KAA1B;IACA,IAAI9xB,KAAK,GAAG,mBAAa,CAACikB,OAAd,CAAsB,MAAtB,OAA6B,IAA7B,IAA6BnC,aAA7B,GAA6BA,EAA7B,GAAiC,EAA7C;IACA,KAAKmQ,kBAAL,CAAwBzuB,IAAxB,CAA6BxD,KAAK,CAAC4B,OAAN,CAAc,GAAd,MAAuB,CAApD;;IAEA,IAAI5B,KAAK,CAAC4B,OAAN,CAAc,GAAd,MAAuB,CAA3B,EAA8B;MAC1B5B,KAAK,GAAGA,KAAK,CAACshB,WAAN,EAAR;IACH;;IACD,KAAKyS,IAAL,CAAUxS,QAAV,CAAmB4S,eAAnB,CAAmCvN,UAAnC,CAA8C5mB,KAA9C;EACH;;EAED60B,YAAY;IACR,IAAI,KAAKd,IAAL,CAAUe,OAAd,EAAuB;MACnB,KAAKf,IAAL,CAAU1C,gBAAV;MACA,KAAK0C,IAAL,CAAUW,sBAAV;MACA;IACH;;IACD,KAAKK,MAAL;EACH;;EAEDA,MAAM;IACF,KAAK7O,QAAL,CAAc1iB,IAAd,CAAmB,IAAnB;IACA,MAAM;MAAEswB,OAAF;MAAWE,SAAX;MAAsBG;IAAtB,IAA0C,KAAKJ,IAAL,CAAU3N,WAAV,EAAhD;IACA,MAAM;MAAEre;IAAF,IAAgB,KAAK3G,gBAAL,CAAsBsS,aAA5C;IACA,MAAM;MAAErI;IAAF,IAAsB,KAAKjK,gBAAjC;IACA,MAAM4zB,OAAO,GAAkB;MAC3BvW,OAAO,EAAE,KADkB;MAE3B7P,EAAE,EAAE,CAFuB;MAG3B+M,MAAM,EAAE,kBAHmB;MAI3B3W,MAAM,EAAE;QAAE+C;MAAF;IAJmB,CAA/B;IAMA,MAAMktB,OAAO,GAAkB;MAC3BxW,OAAO,EAAE,KADkB;MAE3B7P,EAAE,EAAE,CAFuB;MAG3B+M,MAAM,EAAE,8BAHmB;MAI3B3W,MAAM,EAAE;QACJkwB,QAAQ,EAAE;UACNC,YAAY,EAAE,CACV;YACI9rB,QAAQ,EAAEyqB,OAAO,CAACzqB,QADtB;YAEIL,MAAM,EAAE,KAAK1H,cAAL,CAAoBmI,SAApB,CAA8BqqB,OAAO,CAAC9qB,MAAtC;UAFZ,CADU,CADR;UAONosB,YAAY,EAAE,CACV;YACI/rB,QAAQ,EAAE2qB,SAAS,CAAC3qB,QADxB;YAEIL,MAAM,EAAE,KAAK1H,cAAL,CAAoBmI,SAApB,CAA8BuqB,SAAS,CAAChrB,MAAxC;UAFZ,CADU,CAPR;UAaN0oB,MAAM,EAAE,EAbF;UAcN2D,aAAa,EAAEhqB,eAdT;UAeNmP,eAAe,EAAE;QAfX;MADN;IAJmB,CAA/B;;IAyBA,IAAI2Z,eAAe,CAACvyB,OAAhB,CAAwB,GAAxB,MAAiC,CAArC,EAAwC;MACpC,MAAMmvB,SAAS,GAAGoD,eAAlB;MACA,MAAMvmB,KAAK,GAAG,KAAKyiB,QAAL,CAAcrwB,KAAd,CAAoB4a,IAApB,CAAyB,CAAC;QAAEjZ;MAAF,CAAD,KAAcA,IAAI,KAAKovB,SAAhD,CAAd;;MAEA,IAAI,CAACnjB,KAAL,EAAY;QACR,KAAKmmB,IAAL,CAAUxS,QAAV,CAAmB4S,eAAnB,CAAmC/O,SAAnC,CAA6C;UACzCiK,eAAe,EAAE;QADwB,CAA7C;QAGA;MACH;;MAED4F,OAAO,CAACjwB,MAAR,CAAe,qBAAf,IAAwC4I,KAAK,CAACnI,OAA9C;IACH,CAZD,MAYO;MACHwvB,OAAO,CAACjwB,MAAR,CAAe,qBAAf,IAAwCmvB,eAAxC;IACH;;IAED,KAAK1f,cAAL,CAAoBvC,eAApB,CAAoC,CAACnK,SAAD,EAAYktB,OAAZ,CAApC,EAA0D,CAAC/lB,MAAD,EAAS8D,aAAT,KAA0B;MAChF,IAAIA,aAAa,SAAb,iBAAa,WAAb,GAAa,MAAb,gBAAa,CAAEL,MAAnB,EAA2B;QACf,KAAKpR,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAK8D,MAAL,CACK4gB,aADL,CACmB,2BADnB,EACgD;YACxCnwB,KAAK,EAAE;cACHowB,gBAAgB,EAAEviB,aAAa,CAACL,MAAd,CAAqB,kBAArB;YADf;UADiC,CADhD,EAMKqK,IANL;QAOH,CARD;MASX,CAVD,MAUO;QACH,KAAKzb,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAK4kB,QAAL,GAAgBxiB,aAAa,CAAC7Q,KAA9B;UACA,KAAK+jB,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;QACH,CAHD;MAIH;IACJ,CAjBD;EAkBH;;EAEO8wB,iCAAiC;IACrC,MAAMnvB,KAAK,GAAG6T,OAAO,CAAC7T,KAAR,IAAiB,EAA/B;IACA,MAAM2jB,KAAK,GAAiB3jB,KAAK,CAAC,OAAD,CAAjC;;IACA,IAAI2jB,KAAJ,EAAW;MACP,MAAM;QACFK,UAAU,EAAE;UAAE9f;QAAF;MADV,IAEFyf,KAFJ;MAGA,KAAKiL,IAAL,CAAUnN,UAAV,CAAqB;QACjBkN,OAAO,EAAE;UACLzqB;QADK;MADQ,CAArB;IAKH;EACJ;;EAEOqP,UAAU;IACd,MAAM;MAAEzJ;IAAF,IAAc,KAAK7N,gBAAzB;IACA,KAAKivB,QAAL,CAAc7sB,IAAd,CAAmByL,OAAnB;EACH;;EAEOqhB,WAAW;IACf,KAAKsB,eAAL,CACKtB,WADL,GAEKjT,IAFL,CAGQwQ,oDAAG,CAAC,MAAM,KAAK3H,QAAL,CAAc1iB,IAAd,CAAmB,IAAnB,CAAP,CAHX,EAIQoqB,sDAAK,CAAC,CAAD,CAJb,EAKQ1Z,0DAAS,CAAC,KAAKoJ,QAAN,CALjB,EAOKpI,SAPL,CAOe;MACP1R,IAAI,EAAExD,KAAK,IAAG;QACV,KAAKyvB,QAAL,GAAgBzvB,KAAhB;QACA,KAAKkmB,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;MACH,CAJM;MAKPrB,KAAK,EAAE,MAAK;QACR,KAAK+jB,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;MACH;IAPM,CAPf;EAgBH;;AA3X2B;;;mBAAnBowB;AAAmB;;;QAAnBA;EAAmBjV;EAAA8W;EAAAC,WAAAA,kEAAAA;EAAA9W;EAAAC;EAAAC;EAAAC;IAAA;MCtDhCnL,6DAAAA;MACIA,wDAAAA;MAEAA,6DAAAA;MAAMA,yDAAAA;QAAA,OAAYmM,kBAAZ;MAA0B,CAA1B;MAEFnM,6DAAAA,cAA+C,CAA/C,EAA+C,KAA/C,EAA+C,CAA/C,EAA+C,CAA/C,EAA+C,OAA/C,EAA+C,CAA/C;MAGYA,qDAAAA;;MACJA,2DAAAA;MACAA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,0CAAf;MAAqD,CAArD;;MADJnM,2DAAAA;MASAA,yDAAAA;MAgCJA,2DAAAA;MAEAA,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB;MACYA,qDAAAA;MAAOA,2DAAAA;MACfA,6DAAAA;MACIA,yDAAAA;QAAA,OAAUmM,kEAAV;MAAwE,CAAxE;;MAQAnM,yDAAAA;MAYJA,2DAAAA;MAKRA,6DAAAA,gBAA6B,EAA7B,EAA6B,QAA7B,EAA6B,EAA7B;MACYA,yDAAAA;QAAA,OAASmM,aAAT;MAAkB,CAAlB;MAEJnM,wDAAAA;MACJA,2DAAAA;MAIJA,6DAAAA,gBAAiD,EAAjD,EAAiD,KAAjD,EAAiD,CAAjD,EAAiD,EAAjD,EAAiD,OAAjD,EAAiD,EAAjD;MAGYA,qDAAAA;;MACJA,2DAAAA;MACAA,wDAAAA;;MAQAA,yDAAAA;MAcJA,2DAAAA;MAEAA,6DAAAA,eAAyB,EAAzB,EAAyB,OAAzB;MACYA,qDAAAA;MAAOA,2DAAAA;MACfA,6DAAAA;;MAQIA,yDAAAA;MAYJA,2DAAAA;MACAA,yDAAAA;MAaJA,2DAAAA;MAIJA,yDAAAA;;MA6BAA,6DAAAA,gBAA8C,EAA9C,EAA8C,OAA9C,EAA8C,EAA9C;MAEQA,qDAAAA;;MACJA,2DAAAA;MACAA,6DAAAA;MACIA,yDAAAA;QAAA,OAAemM,0CAAf;MAAqD,CAArD,EAAsD,UAAtD,EAAsD;QAAA,OAC1CA,mCAA+B,KAA/B,CAD0C;MACL,CADjD,EAAsD,OAAtD,EAAsD;QAAA,OAE7CA,2CAF6C;MAEN,CAFhD,EAAsD,OAAtD,EAAsD;QAAA,OAG7CA,2CAH6C;MAGN,CAHhD;;;MADJnM,2DAAAA;MAcAA,yDAAAA;;MA0BAA,yDAAAA;MAoBAA,yDAAAA;MAGJA,2DAAAA;MAEAA,6DAAAA,gBAAqB,EAArB,EAAqB,QAArB,EAAqB,EAArB;;MAEQA,yDAAAA;;MAEAA,yDAAAA;;MACJA,2DAAAA;MACAA,6DAAAA;MAC6BA,qDAAAA;;MAAoDA,2DAAAA;MAGrFA,yDAAAA;MAGJA,2DAAAA;;;;MA5QiBA,wDAAAA;MAAAA,yDAAAA;MAEiBA,wDAAAA;MAAAA,yDAAAA;MAKlBA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAIAA,wDAAAA;MAAAA,yDAAAA,gBAAAA,0DAAAA;MAQCA,wDAAAA;MAAAA,yDAAAA;MAqCDA,wDAAAA;MAAAA,yDAAAA,0BAAwB,WAAxB,EAAwB,KAAxB,EAAwB,OAAxB,EAAwBA,0DAAAA,gCAAxB,EAAwB,YAAxB,EAAwB,KAAxB;MAyBoBA,wDAAAA;MAAAA,yDAAAA;MAUpBA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAGAA,wDAAAA;MAAAA,yDAAAA,gBAAAA,0DAAAA;MAQCA,wDAAAA;MAAAA,yDAAAA;MAkBDA,wDAAAA;MAAAA,yDAAAA,0BAAwB,WAAxB,EAAwB,KAAxB,EAAwB,OAAxB,EAAwBA,0DAAAA,kCAAxB,EAAwB,YAAxB,EAAwB,KAAxB;MAqBCA,wDAAAA;MAAAA,yDAAAA;MAgBPA,wDAAAA;MAAAA,yDAAAA,6CAAAA,0DAAAA;MA+BEA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAOAA,wDAAAA;MAAAA,yDAAAA,sBAAAA,0DAAAA,kCAAgD,aAAhD,EAAgDA,0DAAAA,2CAAhD;MAUCA,wDAAAA;MAAAA,yDAAAA,SAAAA,0DAAAA;MA0BAA,wDAAAA;MAAAA,yDAAAA;MAmBCA,wDAAAA;MAAAA,yDAAAA;MAMEA,wDAAAA;MAAAA,yDAAAA,iCAAAA,0DAAAA;MACWA,wDAAAA;MAAAA,yDAAAA,UAAAA,0DAAAA;MAEDA,wDAAAA;MAAAA,yDAAAA,SAAAA,0DAAAA;MAGWA,wDAAAA;MAAAA,gEAAAA,CAAAA,0DAAAA;MAG3BA,wDAAAA;MAAAA,yDAAAA;;;iBDtON0e,0DAAYA,EAAAqD,qDAAAA,EAAAA,kDAAAA,EAAAA,qDAAAA,EAAAA,uDAAAA,EACZpD,gEAAkBA,EAClBC,iEAAeA,EAAAoD,+DAAAA,EACfnD,qGAAoBA,EACpBE,kEAAmBA,EAAAkD,8GAAAA,EACnB/C,gEAAmBA,EAAAgD,6DAAAA,EAAAA,iEAAAA,EAAAA,4DAAAA,EAAAA,iEAAAA,EAAAA,+DAAAA,EAAAA,4DAAAA,EAAAA,0DAAAA,EACnBpD,+DAAgBA,EAAAqD,qGAAAA,EAChB5C,iEAAcA,EAAA6C,oEAAAA,EAAAA,4EAAAA,EAAAA,2EAAAA,EACdpD,iEAAkBA,EAClBM,yDAAeA,EACfL,wDAAWA,EACXE,8DAAoBA,EAAAkD,6FAAAA,EACpBhD,8DAAoBA,EACpBK,gFAAeA;EAAA4C;;;;;;;;;;;;;;;;;;;;;;;;;AEjDmC;AACX;AAC4C;AAEtC;AACG;AACF;AACS;AACe;AAGnB;AACmD;;;;AASvG,MAAM,wBAAwB;IAPrC;QAQI,oBAAe,GAAoB;YAC/B;gBACI,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,qCAAqC;aAC/C;YACD;gBACI,KAAK,EAAE,qCAAqC;aAC/C;SACJ,CAAC;QAEF,kBAAa,GAAG,KAAK,CAAC;QAItB,OAAE,GAAG,qDAAM,CAAC,uDAAW,CAAC,CAAC;QAEzB,SAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,+DAAmB,CAAC,CAAC;SAC/D,CAAC,CAAC;QAEK,mBAAc,GAAG,qDAAM,CAAC,yEAAc,CAAC,CAAC;QAExC,WAAM,GAAG,qDAAM,CAAC,uDAAM,CAAC,CAAC;KAuCnC;IArCG,QAAQ;QACJ,IAAI,CAAC,kCAAkC,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI;QACA,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO;QACH,MAAM,YAAY,GAAmC;YACjD,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACF,KAAK,EAAE,8CAA8C;gBACrD,OAAO,EAAE,gDAAgD;gBACzD,OAAO,EAAE;oBACL,MAAM,EAAE,uDAAuD;oBAC/D,KAAK,EAAE,sDAAsD;iBAChE;aACJ;SACJ,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,sGAAqB,EAAE,YAAY,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEO,kCAAkC;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAC1D,IAAI,gBAAgB,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;SAC1F;IACL,CAAC;;gGA7DQ,wBAAwB;sHAAxB,wBAAwB;QCrBrC,yEAAwC;QACpC,gFAA0E;QAE1E,0EAAsC;QAG1B,uDACJ;;QAAA,4DAAQ;QACR,yEAKY;;QAChB,4DAAM;QAEN,yEAAqB;QACT,iJAAS,UAAM,IAAC;QACpB,mEAAqF;QACrF,wDACJ;;QAAA,4DAAS;QAET,wEAA2D;QACvD,wDACJ;;QAAA,4DAAI;;QAvBK,0DAAyB;QAAzB,sFAAyB;QAEpC,0DAAkB;QAAlB,+EAAkB;QAGZ,0DACJ;QADI,oLACJ;QAEI,0DAA8E;QAA9E,6LAA8E;QAQzD,0DAAyB;QAAzB,sFAAyB;QAC3C,0DAA6B;QAA7B,qFAA6B;QAChC,0DACJ;QADI,uLACJ;QAGI,0DACJ;QADI,uLACJ;wBDPE,yDAAY,EAAE,qGAAoB,EAAE,+DAAkB,EAAE,kEAAmB,EAAE,gEAAe,EAAE,+HAAmB;;;;;;;;;;;;;;;;;;;;AEhBhF;AACG;AACG;AACC;;;AAS/C,MAAM,aAAa;IACtB,gBAAe,CAAC;IAEhB,QAAQ,KAAU,CAAC;;0EAHV,aAAa;2GAAb,aAAa;QCb1B,yEAAwC;QAEkC,uDAAwC;;QAAA,4DAAI;QAC9G,uEAAmE;QAAA,uDAAwC;;QAAA,4DAAI;;QAD7C,0DAAwC;QAAxC,wJAAwC;QACvC,0DAAwC;QAAxC,wJAAwC;wBDMrG,yDAAY,EAAE,4DAAU,EAAE,+DAAkB,EAAE,gEAAe;;;;;;;;;;;;;;;;AER2B;;AAO/F,MAAM,oBAAoB;IAC7B,aAAa,CACT,SAA+B,EAC/B,YAAoC,EACpC,YAAiC,EACjC,SAA+B;QAE/B,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;;wFARQ,oBAAoB;qHAApB,oBAAoB,WAApB,oBAAoB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLiC;AACK;AACN;AACK;AACS;AACA;AACA;AACH;AAC4C;AAChB;AACvB;AACoB;AACiB;AACnB;;;AAExF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,gDAAY;QAClB,SAAS,EAAE,kHAA0B;QACrC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,qEAAe;gBAC1B,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,8DAA0B;wBAChC,SAAS,EAAE,0EAAe;qBAC7B;oBACD;wBACI,IAAI,EAAE,4DAAwB;wBAC9B,SAAS,EAAE,oEAAa;qBAC3B;oBACD;wBACI,IAAI,EAAE,+DAA2B;wBACjC,SAAS,EAAE,6EAAgB;qBAC9B;oBACD;wBACI,IAAI,EAAE,+DAA2B;wBACjC,SAAS,EAAE,6EAAgB;qBAC9B;oBACD;wBACI,IAAI,EAAE,+DAA2B;wBACjC,SAAS,EAAE,6EAAgB;qBAC9B;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,+EAAa;qBAC3B;oBACD;wBACI,IAAI,EAAE,aAAa;wBACnB,SAAS,EAAE,oGAAmB;qBACjC;oBACD;wBACI,IAAI,EAAE,mBAAmB;wBACzB,SAAS,EAAE,qHAAwB;wBACnC,aAAa,EAAE,CAAC,kGAAoB,CAAC;qBACxC;oBACD;wBACI,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,sGAAoB;qBAClC;oBACD;wBACI,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,8DAA0B;wBACtC,SAAS,EAAE,MAAM;qBACpB;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC;AAMK,MAAM,mBAAmB;;sFAAnB,mBAAmB;iHAAnB,mBAAmB;qHAHlB,mEAAqB,CAAC,MAAM,CAAC,EAC7B,0DAAY;oIAEb,mBAAmB,qFAFlB,0DAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1EqB;AACe;AACG;AACL;AACQ;AACK;AAMnD;AACgC;AACgC;AACsB;AACxB;AAClB;AACb;AACyC;AACzC;AACe;AACA;AACnB;AACK;AACc;AACjB;AACQ;AACsB;AACK;AACb;AACK;AACM;AACf;AACyB;AACH;AACD;AACb;AACT;AAC+D;AACT;;AAmDnH,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;8GAnCjB,0DAAY;QACZ,uEAAmB;QACnB,6DAAU;QACV,mFAAa;QAEb,iEAAe;QACf,wEAA8B;QAC9B,gGAAkB;QAClB,qHAAwB;QACxB,gEAAmB;QACnB,gEAAa;QACb,+DAAgB;QAChB,gEAAmB;QACnB,gFAAe;QACf,4DAAW;QACX,iEAAc;QACd,wDAAW;QACX,mEAAgB;QAChB,+FAAsB;QACtB,8DAAY;QACZ,8DAAoB;QACpB,0EAAgC;QAChC,uEAA6B;QAC7B,kEAAmB;QACnB,oFAAiB;QACjB,iGAAkB;QAClB,yFAAmB;QACnB,yGAA2B;QAE3B,sGAAoB;QACpB,qGAAmB;QACnB,uFAAkB;oIAIb,YAAY,mBA/CjB,qEAAe;QACf,0EAAe;QACf,4FAAsB;QACtB,6EAAgB;QAChB,8EAAgB;QAChB,8EAAgB;QAChB,0FAAqB;QACrB,qEAAa;QACb,6IAAgC;QAChC,oIAA6B,aAG7B,0DAAY;QACZ,uEAAmB;QACnB,6DAAU;QACV,mFAAa;QACb,yDAAe;QACf,iEAAe;QACf,wEAA8B;QAC9B,gGAAkB;QAClB,qHAAwB;QACxB,gEAAmB;QACnB,gEAAa;QACb,+DAAgB;QAChB,gEAAmB;QACnB,gFAAe;QACf,4DAAW;QACX,iEAAc;QACd,wDAAW;QACX,mEAAgB;QAChB,+FAAsB;QACtB,8DAAY;QACZ,8DAAoB;QACpB,0EAAgC;QAChC,uEAA6B;QAC7B,kEAAmB;QACnB,oFAAiB;QACjB,iGAAkB;QAClB,yFAAmB;QACnB,yGAA2B;QAC3B,iEAAkB;QAClB,sGAAoB;QACpB,qGAAmB;QACnB,uFAAkB;QAClB,+EAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFxB;AACA;AAEA;AAKA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;IA6BwBtiB,4DAAAA;IAA6EA,oDAAAA;;IAAoEA,0DAAAA;;;;IAApEA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;IAC7EA,4DAAAA;IACIA,oDAAAA;;IACJA,0DAAAA;;;;;IADIA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;IAHRA,qEAAAA;IACIA,wDAAAA;IACAA,wDAAAA;IAGJA,mEAAAA;;;;;IAJUA,uDAAAA;IAAAA,wDAAAA;IACAA,uDAAAA;IAAAA,wDAAAA;;;;;;IAYVA,qEAAAA;IACIA,oDAAAA;;IACJA,mEAAAA;;;;IADIA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;IAGAA,uDAAAA;;;;AAkBlB,MAAO0iB,uBAAP,CAA8B;EAWhCp1B,YACWE,gBADX,EAEWqT,cAFX,EAGYiO,cAHZ,EAIY6T,SAJZ,EAI0D;IAH/C;IACA;IACC;IACA;IAdJ,UAAKvX,qDAAM,CAACqG,kEAAD,CAAX;IAEA,WAAMrG,qDAAM,CAACmX,4DAAD,CAAZ;IAER,gBAAW,IAAI7T,iDAAJ,CAA6B,KAA7B,CAAX;IAEA,iBAAY,KAAK/B,EAAL,CAAQC,KAAR,CAAiD;MACzDnX,QAAQ,EAAE,KAAKkX,EAAL,CAAQG,OAAR,CAAgB,EAAhB,EAAoBT,8DAAA,CAAmB,CAACA,+DAAD,EAAsBuC,6EAAtB,EAA2CvC,gEAAA,CAAqB,EAArB,CAA3C,CAAnB,CAApB;IAD+C,CAAjD,CAAZ;EASI;;EAEJ4U,YAAY;IACR,IAAI,KAAK6B,SAAL,CAAe5B,OAAnB,EAA4B;MACxB,KAAK4B,SAAL,CAAepP,aAAf;MACA,KAAKoP,SAAL,CAAehC,sBAAf;MACA;IACH;;IAED,KAAKK,MAAL;EACH;;EAEDA,MAAM;IACF,KAAK7O,QAAL,CAAc1iB,IAAd,CAAmB,IAAnB;IACA,MAAM;MAAE6F;IAAF,IAAe,KAAKqtB,SAAL,CAAetQ,WAAf,EAArB;IACA,MAAM;MAAEre;IAAF,IAAgB,KAAK3G,gBAAL,CAAsBsS,aAA5C;IACA,MAAM1O,MAAM,GAA2B;MACnCqE,QADmC;MAEnCtB;IAFmC,CAAvC;IAIA,KAAK0M,cAAL,CAAoB9C,gBAApB,CAAqC3M,MAArC,EAA6C,CAACkK,MAAD,EAAS;MAAEynB;IAAF,CAAT,KAAiC;MAC1E,IAAIznB,MAAJ,EAAY;QACR,MAAM4Z,KAAK,GAAiB;UACxBK,UAAU,EAAE,EACR,GAAGwN,gBADK;YAERttB;UAFQ,CADY;UAKxButB,WAAW,EAAE,CALW;UAMxBC,YAAY,EAAE,CANU;UAOxBxM,KAAK,EAAE,CAPiB;UAQxBtI,QAAQ,EAAE;QARc,CAA5B;QAUA,KAAKW,cAAL,CAAoBoH,gBAApB,CAAqC/hB,SAArC;QACA,KAAKwuB,SAAL,CAAeO,KAAf,CAAqBhO,KAArB;MACH,CAbD,MAaO;QACH,KAAK4N,SAAL,CAAenV,QAAf,CAAwBlY,QAAxB,CAAiC+b,SAAjC,CAA2C;UACvCgR,YAAYA,oEAAAA;QAD2B,CAA3C;QAGA,KAAKlQ,QAAL,CAAc1iB,IAAd,CAAmB,KAAnB;QACA,KAAKuzB,GAAL,CAASC,aAAT;MACH;IACJ,CArBD;EAsBH;;EAEDF,KAAK;IACD,KAAKP,SAAL,CAAeO,KAAf;EACH;;AA9D+B;;;mBAAvBR,yBAAuB1iB,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,yEAAAA,GAAAA,+DAAAA,CAAAA,2EAAAA,GAAAA,+DAAAA,CAAAA,0DAAAA;AAAA;;;QAAvB0iB;EAAuB3X;EAAA8W;EAAAC,WAAAA,iEAAAA;EAAA9W;EAAAC;EAAAC;EAAAC;IAAA;MA1D5BnL,4DAAAA;MACIA,wDAAAA;QAAA,OAAYmM,kBAAZ;MAA0B,CAA1B;MAIAnM,4DAAAA,cAAuC,CAAvC,EAAuC,IAAvC,EAAuC,CAAvC;MAEQA,oDAAAA;;MACJA,0DAAAA;MAEAA,4DAAAA,cAAyB,CAAzB,EAAyB,OAAzB,EAAyB,CAAzB;MAC0BA,oDAAAA;;MAA6DA,0DAAAA;MACnFA,4DAAAA;MACIA,wDAAAA;QAAA,OAAemM,qDAAf;MAAgE,CAAhE;MADJnM,0DAAAA;MAUAA,wDAAAA;MAMJA,0DAAAA;MAGJA,4DAAAA,eAA+D,EAA/D,EAA+D,QAA/D,EAA+D,CAA/D;MACYA,wDAAAA;QAAA,OAASmM,WAAT;MAAgB,CAAhB;MACJnM,oDAAAA;;MACJA,0DAAAA;MACAA,4DAAAA;;MACIA,wDAAAA;;MAGAA,wDAAAA,qFAAAA,oEAAAA;MAGJA,0DAAAA;;;;;;MAxCJA,wDAAAA;MAKQA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAIsBA,uDAAAA;MAAAA,+DAAAA,CAAAA,yDAAAA;MAWPA,uDAAAA;MAAAA,wDAAAA;MAWfA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAEIA,uDAAAA;MAAAA,wDAAAA,sCAAAA,yDAAAA;MACWA,uDAAAA;MAAAA,wDAAAA,UAAAA,yDAAAA,wBAA2B,UAA3B,EAA2BqjB,GAA3B;;;iBAmBrB3E,0DAAYA,EAAAyD,kDAAAA,EAAEA,uDAAAA,EAAAM,6DAAUA,EAAAL,yEAAAA,EAAEA,4EAAAA,EAAAxD,iEAAeA,EAAAyD,+DAAAA,EAAEnD,+DAAmBA,EAAAoE,4DAAAA,EAAEA,gEAAAA,EAAAA,2DAAAA,EAAAA,gEAAAA,EAAAA,8DAAAA,EAAAA,8DAAAA,EAAAA,2DAAAA,EAAA5D,+EAAeA;EAAA4C;EAAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICzC7D,uDACJ;;;IADI,8FACJ;;;IAEI,uDACJ;;;IADI,8FACJ;;AA+BrB,MAAM,2BAA2B;IA2BpC,YACY,OAAuB,EACxB,gBAAkC,EACjC,SAA2B,EAC3B,SAAoB;QAHpB,YAAO,GAAP,OAAO,CAAgB;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,cAAS,GAAT,SAAS,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAAW;QA9BhC,kBAAa,GAAG,IAAI,CAAC;QAIrB,eAAU,GAAG;YACT,SAAS,EAAE,CAAC;YACZ,wBAAwB,EAAE,KAAK;YAC/B,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;SACjB,CAAC;QAEF,kBAAa,GAAG;YACZ;gBACI,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,MAAM;aACrB;YACD;gBACI,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,MAAM;aACrB;YACD;gBACI,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,KAAK;aACpB;SACJ,CAAC;QAQE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED,UAAU;QACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa;QACT,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,CAAC,EACnD,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAC3C,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE;gBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;aAClD;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;aACxE;YACD,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;QACL,CAAC,CACJ,CAAC;IACN,CAAC;;sGA7DQ,2BAA2B;yHAA3B,2BAA2B;QA3DhC,yEAKC;QAGW,uDACJ;;QAAA,4DAAK;QAEL,yEAA4C;QAE7B,kEAAO;QAAA,4DAAQ;QACtB,+EAQC;QAPG,0MAA2B;QAQ3B,yIAEc;QACd,yIAEc;QAClB,4DAAY;QAGhB,0EAA8D;QACzB,wDAAyC;;QAAA,4DAAO;QACjF,kFAAkF;QAAtE,4MAA6C;QAAyB,4DAAa;QAIvG,2EAA4F;QAChF,oJAAS,mBAAe,IAAC;QAC7B,wDACJ;;QAAA,4DAAS;QACT,8EAA8E;QAAtE,oJAAS,gBAAY,IAAC;QAC1B,wDACJ;;QAAA,4DAAS;;QApCT,0DACJ;QADI,mKACJ;QAMY,0DAA2B;QAA3B,sFAA2B;QAkBE,0DAAyC;QAAzC,2JAAyC;QAChB,0DAAuB;QAAvB,oFAAuB;QAMjF,0DACJ;QADI,sKACJ;QAEI,0DACJ;QADI,sKACJ;;;;;;;;;;;;;;;;;;;;;;;;;ACpD2D;AAChC;AACO;AACJ;AACI;AACT;AAC4B;AACJ;;AAO9D,MAAM,wBAAwB;;gGAAxB,wBAAwB;qHAAxB,wBAAwB;yHAFvB,yDAAY,EAAE,gEAAe,EAAE,4DAAU,EAAE,+EAAe,EAAE,mFAAiB,EAAE,gEAAc,EAAE,uDAAW;mIAE3G,wBAAwB,mBAJlB,wFAA2B,aAEhC,yDAAY,EAAE,gEAAe,EAAE,4DAAU,EAAE,+EAAe,EAAE,mFAAiB,EAAE,gEAAc,EAAE,uDAAW,aAD1G,wFAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;ACZiB;AAEyB;AACpB;AACM;AAER;AACgD;AAChC;AAClB;;;;;;;AAOpD,MAAM,gCAAgC;IAL7C;QAMa,eAAU,GAAqB,qDAAM,CAAmB,4DAAW,CAAC,CAAC;QAC7D,2BAAsB,GAA0B,qDAAM,CAAC,uEAAqB,CAAC,CAAC;QAC9E,wBAAmB,GAAmB,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACzE,YAAO,GAAG,qDAAM,CAAC,uDAAM,CAAC,CAAC;QACzB,eAAU,GAAG,qDAAM,CAAC,0DAAS,CAAC,CAAC;QAC/B,oBAAe,GAAG,qDAAM,CAAC,yEAAc,CAAC,CAAC;QACzC,qBAAgB,GAAG,qDAAM,CAAC,+EAAgB,CAAC,CAAC;QAC5C,kBAAa,GAAG,qDAAM,CAAC,uEAAY,CAAC,CAAC;QACrC,YAAO,GAAG,qDAAM,CAAC,iDAAM,CAAC,CAAC;KAiC7C;IA/BG,OAAO;QACH,MAAM,EACF,aAAa,EAAE,EAAE,SAAS,EAAE,GAC/B,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1B,MAAM,MAAM,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;YAChF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;oBACvB,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;oBAElC,MAAM,YAAY,GAAgC;wBAC9C,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,OAAO;wBACd,cAAc,EAAE,IAAI,CAAC,mBAAmB;wBACxC,IAAI;qBACP,CAAC;oBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qHAA6B,EAAE,YAAY,CAAC,CAAC;iBAClE;qBAAM;oBACH,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBACrD;gBAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACjB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,qEAAkB,CAAC,CAAC;IAC9D,CAAC;;gHAzCQ,gCAAgC;8HAAhC,gCAAgC;QChB7C,yEAA0F;QAG9E,uDACJ;;QAAA,4DAAK;QAEL,yEAA0B;QAElB,uDAIJ;;;QAAA,4DAAI;QACJ,wEACqC;QAAlC,oJAAS,2BAAuB,IAAC;QAChC,mEAA2C;QAC3C,2EAA4B;QAAA,wDAAoD;;QAAA,4DAAO;QAE3F,oEAAiB;QACjB,wEAAgB;QACZ,wDAIJ;;;QAAA,4DAAI;QAGR,0EAAuF;QACnC,yJAAS,aAAS,IAAC;QAC/D,wDACJ;;QAAA,4DAAS;;QA3BT,0DACJ;QADI,+KACJ;QAIQ,0DAIJ;QAJI,sXAIJ;QAIgC,0DAAoD;QAApD,sKAAoD;QAIhF,0DAIJ;QAJI,yXAIJ;QAKI,0DACJ;QADI,mLACJ;;;;;;;;;;;;;;;;;;;;;;;;AC9BZ;AAEA;AACA;;;;;;;;;;IC4BwBvjB,uDAAAA;;;;;;IAKAA,uDAAAA;;;;;;;;;;;;;;;;;;;AD1BlB,MAAO0jB,6BAAP,CAAoC;EAL1Cp2B;IAMa,kBAA4B8d,qDAAM,CAAgBoY,4DAAhB,CAAlC;IACQ,kBAAapY,qDAAM,CAACqY,0DAAD,CAAnB;IACjB,qBAAgB,IAAI/U,iDAAJ,CAA6B,KAA7B,CAAhB;EASH;;EAPGwK,aAAa;IACT,KAAKC,aAAL,CAAmBvpB,IAAnB,CAAwB,CAAC,KAAKupB,aAAL,CAAmB/sB,KAA5C;EACH;;EAED82B,KAAK;IACD,KAAKS,UAAL,CAAgBT,KAAhB;EACH;;AAXqC;;;mBAA7BQ;AAA6B;;;QAA7BA;EAA6B3Y;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCV1CnL,4DAAAA,cAA8F,CAA9F,EAA8F,KAA9F,EAA8F,CAA9F,EAA8F,CAA9F,EAA8F,IAA9F,EAA8F,CAA9F;MAGYA,oDAAAA;;MACJA,0DAAAA;MAEAA,4DAAAA,cAAgG,CAAhG,EAAgG,KAAhG,EAAgG,CAAhG,EAAgG,CAAhG,EAAgG,KAAhG,EAAgG,CAAhG;MAGYA,uDAAAA;MACJA,0DAAAA;MAEAA,4DAAAA;MACIA,oDAAAA;;MAGJA,0DAAAA;MAGJA,4DAAAA,eAA+F,EAA/F,EAA+F,KAA/F,EAA+F,CAA/F;MAEQA,wDAAAA;QAAA,OAASmM,mBAAT;MAAwB,CAAxB;;MAMAnM,4DAAAA;MACIA,oDAAAA;;MACJA,0DAAAA;MACAA,4DAAAA;MACIA,wDAAAA;;MAKAA,wDAAAA;;MACJA,0DAAAA;MAEJA,4DAAAA;;;;;MASIA,4DAAAA,eAA0C,EAA1C,EAA0C,IAA1C,EAA0C,EAA1C,EAA0C,EAA1C,EAA0C,GAA1C;MAMWA,oDAAAA;;;;MAKHA,0DAAAA;MAMpBA,4DAAAA,gBAAwC,EAAxC,EAAwC,QAAxC,EAAwC,EAAxC;MACsCA,wDAAAA;QAAA,OAASmM,WAAT;MAAgB,CAAhB;MAC9BnM,oDAAAA;;MACJA,0DAAAA;;;;MAjEAA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAUQA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAYAA,uDAAAA;MAAAA,wDAAAA,YAAAA,6DAAAA,UAAAA,yDAAAA;MAGIA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAIKA,uDAAAA;MAAAA,wDAAAA,UAAAA,yDAAAA;MAICA,uDAAAA;MAAAA,wDAAAA,SAAAA,yDAAAA;MAIVA,uDAAAA;MAAAA,yDAAAA,SAAAA,yDAAAA,6BAAoC,MAApC,EAAoCA,yDAAAA,2BAApC;MAEAA,wDAAAA,YAAAA,yDAAAA,6BAAmC,SAAnC,EAAmCA,6DAAAA,UAAAA,yDAAAA,yDAAnC;MAYWA,uDAAAA;MAAAA,gEAAAA,KAAAA,yDAAAA,4CAAAA,6DAAAA,mEAAAA,yDAAAA,uCAAAA,yDAAAA;MAafA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnEhB;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AAQA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;IA8G4BA,sEAAAA;IAQIA,6DAAAA;IACIA,qDAAAA;;IACJA,2DAAAA;IACJA,oEAAAA;;;;IAHYA,wDAAAA;IAAAA,yDAAAA,eAAAA,8DAAAA;IACJA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;;;;;;;;;IAgBJA,sEAAAA;IACIA,6DAAAA;;IASIA,wDAAAA;IACJA,2DAAAA;IAEAA,6DAAAA;;IASIA,wDAAAA;IACJA,2DAAAA;IACJA,oEAAAA;;;;IAjBQA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IALAA,yDAAAA,eAAa,YAAb,EAAaA,8DAAAA,SAAb,EAAa,WAAb,EAAa,GAAb;IAiBAA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IALAA,yDAAAA,eAAa,YAAb,EAAaA,8DAAAA,SAAb,EAAa,WAAb,EAAa,GAAb;;;;;;IA1BZA,sEAAAA;IAOIA,6DAAAA;;IAEIA,qDAAAA;IACJA,2DAAAA;IAEAA,yDAAAA;IAyBJA,oEAAAA;;;;;IA9BSA,wDAAAA;IAAAA,0DAAAA,cAAAA,0DAAAA;IAEDA,wDAAAA;IAAAA,iEAAAA;IAGWA,wDAAAA;IAAAA,yDAAAA;;;;;;IAhCvBA,6DAAAA;IAOIA,yDAAAA;IAaAA,yDAAAA;IAsCJA,2DAAAA;;;;;IAlDSA,wDAAAA;IAAAA,yDAAAA;IAaAA,wDAAAA;IAAAA,yDAAAA;;;;;;;;IAwCjBA,sEAAAA;IACIA,wDAAAA;IACAA,6DAAAA,eAA0F,CAA1F,EAA0F,QAA1F,EAA0F,EAA1F;IAC8CA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,sCAAT;IAAsC,CAAtC;IAAwCA,qDAAAA;;IAA0CA,2DAAAA;IAE5HA,6DAAAA,eAA+B,CAA/B,EAA+B,GAA/B,EAA+B,EAA/B;IACyBA,qDAAAA;;IAAwCA,2DAAAA;IAC7DA,6DAAAA;IAAwFA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,iCAAT;IAAgC,CAAhC;IACpFA,wDAAAA;IACAA,6DAAAA;IAA4BA,qDAAAA;;IAA0CA,2DAAAA;IAItFA,oEAAAA;;;;IAV0FA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAGzDA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAGWA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;;;IA0DxCA,sEAAAA;IACIA,6DAAAA,cAAiB,CAAjB,EAAiB,QAAjB,EAAiB,EAAjB;IAEQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,0BAAT;IAAyB,CAAzB;;IAUAA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAmDA,2DAAAA;IAGrEA,oEAAAA;;;;IARYA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IALAA,yDAAAA,eAAa,UAAb,EAAa,KAAb,EAAa,WAAb,EAAa,GAAb;IAUMA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;;;IAoBlBA,sEAAAA;IACIA,6DAAAA,cAAiB,CAAjB,EAAiB,QAAjB,EAAiB,EAAjB;IAEQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,+EAAT;IAAsE,CAAtE;;IAUAA,wDAAAA;IAAgCA,6DAAAA;IAAMA,qDAAAA;;IAAuDA,2DAAAA;IAGzGA,oEAAAA;;;;;IAPYA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IALAA,yDAAAA,eAAa,UAAb,EAAa,8CAAb,EAAa,WAAb,EAAa,GAAb;IASsCA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;;;;;;;IAlE1DA,6DAAAA;IAAKA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,8BAAT;IAA6B,CAA7B;IACDA,6DAAAA,cAAiB,CAAjB,EAAiB,IAAjB,EAAiB,EAAjB,EAAiB,CAAjB,EAAiB,QAAjB,EAAiB,EAAjB;;IAcYA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAiDA,2DAAAA;IAG/DA,yDAAAA;;IAkBAA,6DAAAA,eAAiB,EAAjB,EAAiB,QAAjB,EAAiB,EAAjB;IAEQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,yBAAT;IAAwB,CAAxB;;IAUAA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAAgDA,2DAAAA;IAG9DA,yDAAAA;IAiBAA,6DAAAA,eAAiB,EAAjB,EAAiB,QAAjB,EAAiB,EAAjB;IAEQA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,iEAAT;IAAwD,CAAxD;;IASAA,wDAAAA;IAAsCA,6DAAAA;IAAMA,qDAAAA;;IAAgDA,2DAAAA;;;;;IAtE5FA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IAPAA,yDAAAA,eAAa,UAAb,EAAa,6CAAb,EAAa,YAAb,EAAaA,8DAAAA,SAAb,EAAa,WAAb,EAAa,GAAb;IAYMA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAGCA,wDAAAA;IAAAA,yDAAAA,SAAAA,0DAAAA;IA0BPA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IALAA,yDAAAA,eAAa,UAAb,EAAa4f,yDAAb,EAAa,WAAb,EAAa,GAAb;IAUM5f,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IAGCA,wDAAAA;IAAAA,yDAAAA;IAwBPA,wDAAAA;IAAAA,oEAAAA,YAAAA,0DAAAA;IAJAA,yDAAAA,eAAa,WAAb,EAAa,GAAb;IAQ4CA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;IAe5CA,6DAAAA;IACwBA,qDAAAA;IAAkDA,2DAAAA;;;;;IAAlDA,wDAAAA;IAAAA,gEAAAA;;;;;;;;;;IANhCA,sEAAAA;IACIA,6DAAAA;IAEIA,wDAAAA;IACAA,6DAAAA;IAAMA,qDAAAA;;IAA2BA,2DAAAA;IACjCA,yDAAAA;IAEJA,2DAAAA;IACJA,oEAAAA;;;;;IAPYA,wDAAAA;IAAAA,yDAAAA,+BAAyB,YAAzB,EAAyBA,8DAAAA,kCAAzB;IAEDA,wDAAAA;IAAAA,yDAAAA;IACGA,wDAAAA;IAAAA,gEAAAA,CAAAA,0DAAAA;IACCA,wDAAAA;IAAAA,yDAAAA;;;;;;IANnBA,sEAAAA;IACIA,yDAAAA;IASJA,oEAAAA;;;;;IATmBA,wDAAAA;IAAAA,yDAAAA;;;;;;IAcnBA,6DAAAA,eAAkD,CAAlD,EAAkD,KAAlD,EAAkD,EAAlD,EAAkD,CAAlD,EAAkD,GAAlD,EAAkD,EAAlD;IAGYA,qDAAAA;;IACJA,2DAAAA;IACAA,wDAAAA;IACJA,2DAAAA;;;;IAHQA,wDAAAA;IAAAA,iEAAAA,MAAAA,0DAAAA;;;;;;;;;;;;;;AA5S5B,MAAMokB,OAAO,GAAkC;EAC3CC,MAAM,EAAE;IACJrpB,EAAE,EAAE,QADA;IAEJpE,KAAK,EAAE,oBAFH;IAGJ0tB,IAAI,EAAE,cAHF;IAIJnN,IAAI,EAAE,SAJF;IAKJkJ,QAAQ,EAAE,KALN;IAMJkE,MAAM,EAAE;EANJ,CADmC;EAS3Cnf,OAAO,EAAE;IACLpK,EAAE,EAAE,SADC;IAELpE,KAAK,EAAE,qBAFF;IAGL0tB,IAAI,EAAE,aAHD;IAILnN,IAAI,EAAE,UAJD;IAKLkJ,QAAQ,EAAE,KALL;IAMLkE,MAAM,EAAE;EANH,CATkC;EAiB3CC,IAAI,EAAE;IACFxpB,EAAE,EAAE,MADF;IAEFpE,KAAK,EAAE,kBAFL;IAGF0tB,IAAI,EAAE,iBAHJ;IAIFnN,IAAI,EAAE,OAJJ;IAKFkJ,QAAQ,EAAE,KALR;IAMFkE,MAAM,EAAE;EANN,CAjBqC;EAyB3CE,OAAO,EAAE;IACLzpB,EAAE,EAAE,SADC;IAELpE,KAAK,EAAE,qBAFF;IAGL0tB,IAAI,EAAE,mBAHD;IAILnN,IAAI,EAAE,UAJD;IAKLkJ,QAAQ,EAAE,KALL;IAMLkE,MAAM,EAAE;EANH,CAzBkC;EAiC3CG,IAAI,EAAE;IACF1pB,EAAE,EAAE,MADF;IAEFpE,KAAK,EAAE,MAFL;IAGF0tB,IAAI,EAAE,MAHJ;IAIFnN,IAAI,EAAE,OAJJ;IAKFkJ,QAAQ,EAAE,KALR;IAMFkE,MAAM,EAAE;EANN,CAjCqC;EAyC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA5yB,OAAO,EAAE;IACLqJ,EAAE,EAAE,SADC;IAELpE,KAAK,EAAE,qBAFF;IAGL0tB,IAAI,EAAE,SAHD;IAILnN,IAAI,EAAE,UAJD;IAKLwN,SAAS,EAAE,KALN;IAMLtE,QAAQ,EAAE,KANL;IAOLkE,MAAM,EAAE;EAPH;AAjDkC,CAA/C;AAqTM,MAAOK,eAAP,CAAsB;EAmBxBt3B,YACYkf,OADZ,EAEWhf,gBAFX,EAGYG,MAHZ,EAIYqT,KAJZ,EAKYC,MALZ,EAMYxT,YANZ,EAOYqhB,cAPZ,EAQYhO,MARZ,EASsB+jB,qBATtB,EASkE;IARtD;IACD;IACC;IACA;IACA;IACA;IACA;IACA;IACU;IAzBtB,8BAAyB,IAAzB;IAEA,oBAAe,KAAf;IAIA,yBAAoB,KAApB;IAEA,YAAc,EAAd;IAEQ,gBAAW,IAAI94B,0CAAJ,EAAX;IAER,cAAS,IAAT;IAeI,KAAK+4B,kBAAL,GAA0B,KAAKD,qBAAL,CAA2BE,IAA3B,EAA1B;;IAEA,IAAI,CAAC,KAAKv3B,gBAAL,CAAsBsS,aAAvB,IAAwC,KAAKtS,gBAAL,CAAsB6C,OAAtB,CAA8BlC,MAA9B,GAAuC,CAAnF,EAAsF;MAClF,KAAKX,gBAAL,CAAsBqlB,gBAAtB,CAAuC,CAAvC;IACH;;IACD,KAAKmS,YAAL,GAAoB,KAAKx3B,gBAAL,CAAsBsS,aAAtB,CAAoC2C,MAAxD;IAEA,KAAKjV,gBAAL,CAAsB8pB,yBAAtB,CACK7N,IADL,CAEQnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAFjB,EAIKpI,SAJL,CAIe;MACP1R,IAAI,EAAGY,MAAD,IAAmB;QACrB,KAAKy0B,UAAL,CAAgBz0B,MAAhB;QACA,MAAM6vB,QAAQ,GAAI,CAAC7vB,MAAM,CAACiS,MAA1B;QACA,KAAKyiB,eAAL,CAAqB,CAAC,MAAD,EAAS,MAAT,EAAiB,SAAjB,CAArB,EAAkD7E,QAAlD;QAEA,KAAK7yB,gBAAL,CAAsB23B,kBAAtB,CAAyC1b,IAAzC,CACIpJ,2CAAI,CAAC,CAAD,CADR,EAEEiB,SAFF,CAEY;UACR1R,IAAI,EAAGxD,KAAD,IAAU;YACZ,MAAMm4B,MAAM,GAAG,CAACn4B,KAAhB;YACA,KAAKg5B,aAAL,CAAmB,CAAC,MAAD,CAAnB,EAA6Bb,MAA7B;UACH;QAJO,CAFZ;MAQH;IAdM,CAJf;IAqBA,KAAK/2B,gBAAL,CAAsB23B,kBAAtB,CAAyC1b,IAAzC,CACInJ,0DAAS,CAAC,KAAKoJ,QAAN,CADb,EAEEpI,SAFF,CAEY;MACR1R,IAAI,EAAGxD,KAAD,IAAU;QACZ,MAAMm4B,MAAM,GAAG,CAACn4B,KAAhB;QACA,KAAKg5B,aAAL,CAAmB,CAAC,MAAD,CAAnB,EAA6Bb,MAA7B;MACH;IAJO,CAFZ;IASA,KAAKzjB,MAAL,CAAYgH,MAAZ,CAAmB2B,IAAnB,CAAwBnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAAjC,EAAkDpI,SAAlD,CAA6DnC,CAAD,IAAmB;MAC3E,KAAKkmB,qBAAL,CAA2BlmB,CAA3B;IACH,CAFD;EAGH;;EAEDkmB,qBAAqB,CAACnH,KAAD,EAAmB;IACpC,IAAIA,KAAK,YAAY+F,6DAArB,EAAsC;MAClC,KAAKqB,MAAL,GAAc,IAAd;IACH;;IACD,IAAIpH,KAAK,YAAY6F,2DAArB,EAAoC;MAChCnkB,UAAU,CAAC,MAAK;QACZ,KAAK0lB,MAAL,GAAc,KAAd;MACH,CAFS,EAEP,GAFO,CAAV;IAGH;;IACD,IAAIpH,KAAK,YAAY4F,8DAArB,EAAuC;MACnClkB,UAAU,CAAC,MAAK;QACZ,KAAK0lB,MAAL,GAAc,KAAd;MACH,CAFS,EAEP,GAFO,CAAV;IAGH;;IACD,IAAIpH,KAAK,YAAY8F,6DAArB,EAAsC;MAClCpkB,UAAU,CAAC,MAAK;QACZ,KAAK0lB,MAAL,GAAc,KAAd;MACH,CAFS,EAEP,GAFO,CAAV;IAGH;EAEJ;;EAEDL,UAAU,CAAC;IAAE/T,YAAF;IAAgBC;EAAhB,CAAD,EAAwC;IAC9C,MAAMoU,kBAAkB,GAAY,CAACrU,YAAD,IAAiB,CAACC,aAAtD;IACA,MAAMqU,IAAI,GAAe,EAAzB;IAEAA,IAAI,CAAC/0B,IAAL,CAAU2zB,OAAO,CAACC,MAAlB;IACAmB,IAAI,CAAC/0B,IAAL,CAAU2zB,OAAO,CAAChf,OAAlB;;IAEA,IAAImgB,kBAAJ,EAAwB;MACpBC,IAAI,CAAC/0B,IAAL,CAAU2zB,OAAO,CAACI,IAAlB;IACH;;IAEDgB,IAAI,CAAC/0B,IAAL,CAAU2zB,OAAO,CAACK,OAAlB;;IAEA,IAAIc,kBAAJ,EAAwB;MACpBC,IAAI,CAAC/0B,IAAL,CAAU2zB,OAAO,CAACM,IAAlB;IACH;;IAEDc,IAAI,CAAC/0B,IAAL,CAAU2zB,OAAO,CAACzyB,OAAlB;IAEA,KAAK6zB,IAAL,GAAYA,IAAZ;EACH;;EAGDC,YAAY;IACR,IAAI,CAAC,KAAKC,YAAV,EAAwB;MACpB,KAAKC,iBAAL,GAAyB,IAAzB;IACH;EACJ;;EAGDC,cAAc;IACV,IAAI,CAAC,KAAKF,YAAV,EAAwB;MACpB,KAAKC,iBAAL,GAAyB,KAAzB;IACH;EACJ;;EAEDlkB,QAAQ;IACJ,KAAKokB,sBAAL,GAA8Btd,WAAW,CAAC,MAAK;MAC3C;MACA,IAAI,KAAK/a,gBAAL,CAAsB2N,YAAtB,IAAsC,CAAtC,IAA2C,KAAK6pB,YAApD,EAAkE;QAC9D,KAAKc,sBAAL,GAA8B,KAA9B;QACAhc,aAAa,CAAC,KAAK+b,sBAAN,CAAb;MACH;IACJ,CANwC,EAMtC,IANsC,CAAzC;IAOA,KAAK7kB,KAAL,CACK+kB,MADL,CACY3lB,wDADZ,EAEKqJ,IAFL,CAEUe,uDAAM,CAACwb,OAAD,CAFhB,EAE2BpC,qEAAoB,EAF/C,EAEmDtjB,0DAAS,CAAC,KAAKoJ,QAAN,CAF5D,EAGKpI,SAHL,CAGe;MACP1R,IAAI,EAAGxD,KAAD,IAAe;QACjB,MAAM2F,IAAI,GAAG3F,KAAK,CAACoe,MAAN,CAAcC,IAAD,IAAgBA,IAAI,CAACtW,SAAL,KAAmB,KAAK3G,gBAAL,CAAsBsS,aAAtB,CAAoC3L,SAApF,EAA+F,CAA/F,CAAb;;QACA,IAAIpC,IAAI,IAAI,CAACA,IAAI,CAACyS,IAAlB,EAAwB;UACpB,IAAIyhB,WAAJ;UACA,MAAMC,MAAM,GAAG,KAAKllB,KAAL,CAAWzP,KAAX,CAAiBiT,IAAhC;;UACA,IAAI0hB,MAAM,IAAIA,MAAM,CAAC/3B,MAAP,GAAgB,CAA9B,EAAiC;YAC7B83B,WAAW,GAAGC,MAAM,CAAC1b,MAAP,CAAcC,IAAI,IAAIA,IAAI,CAACjG,IAA3B,CAAd;YACA,KAAKhX,gBAAL,CAAsB0V,YAAtB,GAAqC,CAAC,EAAE+iB,WAAW,IAAIA,WAAW,CAAC93B,MAA7B,CAAtC;;YACA,IAAI,CAAC83B,WAAL,EAAkB;cACd,KAAKz4B,gBAAL,CAAsB0V,YAAtB,GAAqC,KAArC;cACA,KAAK1V,gBAAL,CAAsB2V,YAAtB,CAAmCpR,IAAI,CAACoC,SAAxC,IAAqD,KAArD;YACH;UACJ,CAPD,MAOO;YACH,KAAK3G,gBAAL,CAAsB0V,YAAtB,GAAqC,KAArC;YACA,KAAK1V,gBAAL,CAAsB2V,YAAtB,CAAmCpR,IAAI,CAACoC,SAAxC,IAAqD,KAArD;UACH;QACJ;MACJ;IAlBM,CAHf;;IAuBA,IAAIsM,+EAAc,CAAC,KAAKjT,gBAAL,CAAsBsS,aAAtB,CAAoC9F,KAArC,EAA4C,MAA5C,CAAlB,EAAuE;MACnE,KAAKxM,gBAAL,CAAsBsS,aAAtB,CAAoC0O,SAApC,GAAgD,KAAhD;IACH;;IACD,KAAKhhB,gBAAL,CAAsB24B,oBAAtB,CAA2C1c,IAA3C,CAAgDnJ,0DAAS,CAAC,KAAKoJ,QAAN,CAAzD,EAA0EpI,SAA1E,CAAoF;MAChF1R,IAAI,EAAE,MAAK;QACP,IAAI6Q,+EAAc,CAAC,KAAKjT,gBAAL,CAAsBsS,aAAtB,CAAoC9F,KAArC,EAA4C,MAA5C,CAAlB,EAAuE;UACnE,KAAKxM,gBAAL,CAAsBsS,aAAtB,CAAoC0O,SAApC,GAAgD,KAAhD;QACH;MACJ;IAL+E,CAApF;IAOA,KAAK4X,kBAAL;EACH;;EAEDC,kBAAkB;IACd,IAAI,CAAC,KAAKX,YAAV,EAAwB;MACpB,KAAKA,YAAL,GAAoB,IAApB;IACH,CAFD,MAEO;MACH,KAAKA,YAAL,GAAoB,KAApB;MACA,KAAKC,iBAAL,GAAyB,KAAzB;IACH;EACJ;;EAEDW,mBAAmB,CAACnyB,SAAD,EAAkB;IACjC,KAAKqY,OAAL,CAAazR,YAAb,CAA0B5G,SAA1B;EACH;;EAED+uB,KAAK,CAAC/uB,SAAD,EAAkB;IACnB,MAAMuhB,YAAY,GAAmC;MACjD3jB,IAAI,EAAE;QACF6E,KAAK,EAAE,wBADL;QAEFvI,OAAO,EAAE;MAFP;IAD2C,CAArD;IAOA,KAAK4S,MAAL,CACK0U,IADL,CACmB5B,sGADnB,EAC0C2B,YAD1C,EAEKI,MAFL,CAGKrM,IAHL,CAIQe,uDAAM,CAACwb,OAAD,CAJd,EAKQ1lB,0DAAS,CAAC,KAAKoJ,QAAN,CALjB,EAOKpI,SAPL,CAOe;MACP1R,IAAI,EAAE,MAAK;QACP,KAAKkf,cAAL,CAAoB5a,WAApB,CAAgCC,SAAhC;MACH;IAHM,CAPf;EAYH;;EAEDoyB,cAAc;IACV,KAAKtlB,MAAL,CACK0U,IADL,CACoC+M,wGADpC,EAEK5M,MAFL,CAEYrM,IAFZ,CAGQe,uDAAM,CAACpL,aAAa,IAAI4mB,OAAO,CAAC5mB,aAAD,CAAzB,CAHd,EAIQkB,0DAAS,CAAC,KAAKoJ,QAAN,CAJjB,EAMKpI,SANL,CAMe;MACP1R,IAAI,EAAEslB,KAAK,IAAG;QACV,MAAMQ,YAAY,GAAiB;UAC/B3jB,IAAI,EAAE;YACFmjB,KADE;YAEFte,KAAK,EAAE;UAFL;QADyB,CAAnC;QAMA,KAAKjJ,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAKiE,MAAL,CAAY0U,IAAZ,CAAiB7B,sGAAjB,EAAwC4B,YAAxC;QACH,CAFD;MAGH;IAXM,CANf;EAmBH;;EAED8Q,aAAa;IACT,KAAKvlB,MAAL,CAAY0U,IAAZ,CAAiBkO,oHAAjB;EACH;;EAED4C,qBAAqB;IACjB,KAAKja,OAAL,CAAa1T,gBAAb,CAA8BorB,qEAA9B;EACH;;EAEDwC,2BAA2B;IACvB,MAAM;MAAE5mB,aAAa,EAAE;QAAE3L;MAAF;IAAjB,IAAkC,KAAK3G,gBAA7C;IACA,MAAM4D,MAAM,GAAkB;MAC1B4J,EAAE,EAAE,CADsB;MACnB6P,OAAO,EAAE,KADU;MACH9C,MAAM,EAAE,qBADL;MAC4B3W,MAAM,EAAE;IADpC,CAA9B;IAIA,KAAKob,OAAL,CAAalO,eAAb,CAA6B,CAACnK,SAAD,EAAY/C,MAAZ,CAA7B,EAAkD,CAACkK,MAAD,EAAS8D,aAAT,KAA0B;MACxE,KAAKzR,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;QACjB,IAAIoC,aAAa,SAAb,iBAAa,WAAb,GAAa,MAAb,gBAAa,CAAEL,MAAnB,EAA2B;UACvB,MAAMhN,IAAI,GAAGqN,aAAa,CAACL,MAA3B;UAEA,MAAM2W,YAAY,GAAmC;YACjDiR,QAAQ,EAAE,MADuC;YAEjDC,KAAK,EAAE,OAF0C;YAGjDC,cAAc,EAAE,KAAK/B,kBAH4B;YAIjD/yB;UAJiD,CAArD;UAMA,KAAKkP,MAAL,CAAY0U,IAAZ,CAAiBwO,qIAAjB,EAAmDzO,YAAnD;QACH,CAVD,MAUO;UACH,MAAMrnB,OAAO,GAAG+Q,aAAa,CAAC7Q,KAA9B;UACA,KAAKd,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCxQ,OAAxC;QACH;MACJ,CAfD;IAgBH,CAjBD;EAkBH;;EAED0b,WAAW;IACP,KAAKL,QAAL,CAAc9Z,IAAd;IACA,KAAK8Z,QAAL,CAAc4E,QAAd;EACH;;EAED8X,kBAAkB;IACd,KAAK5Z,OAAL,CAAa9d,cAAb,CAA4BtB,wFAA5B,EAA2D2E,IAAI,IAAG;MAC9D,MAAMoC,SAAS,GAAGpC,IAAI,CAACoC,SAAvB;;MACA,IAAIA,SAAS,KAAK,KAAK3G,gBAAL,CAAsBsS,aAAtB,CAAoC3L,SAAtD,EAAiE;QAC7D,KAAKxG,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAKgoB,YAAL,GAAoB,KAApB;QACH,CAFD;MAGH;IACJ,CAPD;IAQA,KAAKxY,OAAL,CAAa9d,cAAb,CAA4BtB,wFAA5B,EAA2D2E,IAAI,IAAG;MAC9D,MAAMuQ,YAAY,GAAGvQ,IAAI,CAACuQ,YAA1B;MACA,MAAMnO,SAAS,GAAGpC,IAAI,CAACoC,SAAvB;MACA,KAAKxG,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;QACjB,IAAI7I,SAAS,KAAK,KAAK3G,gBAAL,CAAsBsS,aAAtB,CAAoC3L,SAAtD,EAAiE;UAC7D;QACH;;QAED,IAAImO,YAAY,KAAK,CAArB,EAAwB;UACpB,KAAK0iB,YAAL,GAAoB,IAApB;UACA,KAAKE,eAAL,CAAqB,CAAC,MAAD,EAAS,MAAT,EAAiB,SAAjB,CAArB,EAAkD,KAAlD;QACH,CAHD,MAGO;UACH,KAAKF,YAAL,GAAoB,KAApB;UACA,KAAKE,eAAL,CAAqB,CAAC,MAAD,EAAS,MAAT,EAAiB,SAAjB,CAArB,EAAkD,IAAlD;QACH;MACJ,CAZD;IAaH,CAhBD;EAiBH;;EAEDE,aAAa,CAAC0B,GAAD,EAAgBvC,MAAhB,EAA+B;IACxC,KAAKiB,IAAL,CACKj1B,OADL,CACaw2B,GAAG,IAAG;MACX,IAAID,GAAG,CAACn6B,QAAJ,CAAao6B,GAAG,CAAC/rB,EAAjB,CAAJ,EAA0B;QACtB+rB,GAAG,CAACxC,MAAJ,GAAaA,MAAb;MACH;IACJ,CALL;EAMH;;EAEDW,eAAe,CAAC4B,GAAD,EAAgBzG,QAAhB,EAAiC;IAC5C,KAAKmF,IAAL,CACKj1B,OADL,CACaw2B,GAAG,IAAG;MACX,IAAID,GAAG,CAACn6B,QAAJ,CAAao6B,GAAG,CAAC/rB,EAAjB,CAAJ,EAA0B;QACtB+rB,GAAG,CAAC1G,QAAJ,GAAeA,QAAf;MACH;IACJ,CALL;EAMH;;AA1TuB;;;mBAAfuE,iBAAe5kB,gEAAAA,CAAAA,yEAAAA,GAAAA,gEAAAA,CAAAA,+EAAAA,GAAAA,gEAAAA,CAAAA,kDAAAA,GAAAA,gEAAAA,CAAAA,+CAAAA,GAAAA,gEAAAA,CAAAA,wDAAAA,GAAAA,gEAAAA,CAAAA,wEAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,wEAAAA;AAAA;;;QAAf4kB;EAAe7Z;EAAAic;IAAA;;eAAf7a;MAAwB;QAAA,OAAxBA,8BAAwB;MAAE;;;;;;;;MAtP/BnM,6DAAAA,cACwB,CADxB,EACwB,KADxB,EACwB,CADxB,EACwB,CADxB,EACwB,KADxB,EACwB,CADxB,EACwB,CADxB,EACwB,KADxB,EACwB,CADxB,EACwB,CADxB,EACwB,IADxB,EACwB,CADxB;MAMoBA,qDAAAA;;MACJA,2DAAAA;MAEAA,wDAAAA;MAWAA,yDAAAA;MA2DJA,2DAAAA;MAEJA,yDAAAA;MAcJA,2DAAAA;MACAA,6DAAAA,eAAmB,EAAnB,EAAmB,KAAnB,EAAmB,CAAnB,EAAmB,EAAnB,EAAmB,QAAnB,EAAmB,EAAnB,EAAmB,EAAnB;MAGYA,yDAAAA;QAASoU;QAAwB,OAAEjI,wBAAF;MAAsB,CAAvD;MAOAnM,wDAAAA;MACJA,2DAAAA;MAKZA,yDAAAA;MACIA,yDAAAA;QAAiBoU;QAAwB,OAAEjI,wBAAF;MAAsB,CAA/D;MAwGJnM,6DAAAA,gBAAkB,EAAlB,EAAkB,KAAlB,EAAkB,EAAlB;MAEQA,yDAAAA;MAWJA,2DAAAA;MACAA,6DAAAA;MACIA,wDAAAA;MAEAA,yDAAAA;MAQJA,2DAAAA;;;;;;MA5OgBA,wDAAAA;MAAAA,iEAAAA,MAAAA,0DAAAA;MAIAA,wDAAAA;MAAAA,yDAAAA,eAAa,WAAb,EAAa,QAAb,EAAa,SAAb,EAAa,CAAb,EAAa,cAAb,EAAa,eAAb,EAAa,SAAb,EAAamM,0CAAb,EAAa,OAAb,EAAaA,0CAAb;MAWCnM,wDAAAA;MAAAA,yDAAAA;MA4DEA,wDAAAA;MAAAA,yDAAAA;MAqBPA,wDAAAA;MAAAA,yDAAAA;MAYZA,wDAAAA;MAAAA,yDAAAA,kDAAgD,gCAAhD,EAAgD,IAAhD,EAAgD,2BAAhD,EAAgDqjB,GAAhD,EAAgD,yBAAhD,EAAgDlX,gBAAhD,EAAgD,8BAAhD,EAAgDnM,8DAAAA,UAAAA,8DAAAA,UAAhD;MAyGkCA,wDAAAA;MAAAA,yDAAAA;MAexBA,wDAAAA;MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;ACpVyB;AACqC;;;AAS7E,MAAM,mBAAmB;;sFAAnB,mBAAmB;iHAAnB,mBAAmB;QCXhC,4EAAgE;QAC5D,kEAAwC;QAC5C,4DAAS;wBDKK,yDAAY,EAAE,8FAAgB;;;;;;;;;;;;;;;;;;;AENG;AACM;AACC;;;;;ICD9C,wEAA0D;IACtD,uEAAkC;IAAA,uDAA4B;;IAAA,4DAAI;IACtE,qEAAe;;;IADR,0DAA8B;IAA9B,0FAA8B;IAAC,0DAA4B;IAA5B,+IAA4B;;;IAI9D,uEAAM;IAAA,uDAA4B;;IAAA,4DAAO;;;IAAnC,0DAA4B;IAA5B,+IAA4B;;;IAN1C,yEAAmD;IAC/C,wIAEe;IAEf,kNAEc;IAClB,4DAAM;;;;IAPa,0DAAuB;IAAvB,oFAAuB;;ADWvC,MAAM,oBAAoB;IAPjC;QAQa,UAAK,GAAoB,EAAE,CAAC;KACxC;;wFAFY,oBAAoB;kHAApB,oBAAoB;QCbjC,yEAAyB;QACrB,gHAQM;QACV,4DAAM;;QAToB,0DAAQ;QAAR,8EAAQ;wBDQpB,yDAAY,EAAE,wKAAkB,EAAE,gEAAe;;;;;;;;;;;;;;;;;;AEToB;AACV;AAC1B;;AAkCxC,MAAM,iBAAiB;IAhC9B;QAiCa,UAAK,GAAG,KAAK,CAAC;QAEd,UAAK,GAAG,EAAE,CAAC;QAEX,OAAE,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,aAAQ,GAAG,KAAK,CAAC;QAEjB,aAAQ,GAAG,KAAK,CAAC;QAEhB,eAAU,GAAG,IAAI,uDAAY,EAAW,CAAC;KA8BtD;IAxBG,aAAa,CAAC,EAAE,MAAM,EAAS;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAA0B,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1B;IACL,CAAC;IAED,gBAAgB,CAAC,EAAO;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,KAAc;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;kFAxCQ,iBAAiB;+GAAjB,iBAAiB,wQAVf;YACP;gBACI,OAAO,EAAE,6DAAiB;gBAC1B,WAAW,EAAE,yDAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;gBAChD,KAAK,EAAE,IAAI;aACd;SACJ;QAzBG,yEAAsB;QAEd,gJAAU,yBAAqB,IAAC;QADpC,4DAOE;QACF,2EAAkB;QAAA,uDAAW;QAAA,4DAAQ;;QANjC,0DAAiB;QAAjB,8EAAiB;QAMd,0DAAU;QAAV,uEAAU;QAAC,0DAAW;QAAX,0EAAW;wBAkB3B,yDAAY;;;;;;;;;;;;;;;;;;;AC/BqB;;;;AAaxC,MAAM,mBAAmB;IAS5B,YAAoB,OAAuB,EAAS,gBAAkC;QAAlE,YAAO,GAAP,OAAO,CAAgB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAN7E,SAAI,GAAoB,OAAO,CAAC;QAEzC,kBAAa,GAAG,KAAK,CAAC;IAImE,CAAC;IAE1F,IAAI;QACA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;;sFAlBQ,mBAAmB;iHAAnB,mBAAmB;QARxB,4EAAsE;QAA9D,2IAAS,UAAM,IAAC;QACpB,kEAAsF;QAC1F,4DAAS;;QAFgB,yGAA4C;QAC9D,0DAA6B;QAA7B,qFAA6B;wBAK9B,yDAAY;;;;;;;;;;;;;;;;;ACbgD;;;IAU9D,yEAA+C;IAC3C,kEAAa;IACjB,4DAAM;;;IAGN,yEAAiD;IAC7C,kEAAa;IACjB,4DAAM;;;IAGN,0EAAiD;IAC7C,kEAAa;IACjB,4DAAM;;;IAGN,0EAA6C;IACzC,kEAAa;IACjB,4DAAM;;;IAGN,0EAA+C;IAC3C,kEAAa;IACjB,4DAAM;;;IAGN,0EAA8C;IAC1C,kEAAa;IACjB,4DAAM;;;IAGN,yEAAuC;IACnC,kEAAa;IACjB,4DAAM;;;AAmxBX,MAAM,eAAe;IAzzB5B;QA2zBI,SAAI,GAAe,QAAQ,CAAC;KAC/B;;8EAHY,eAAe;6GAAf,eAAe;QArzBpB,2EAAkC;QAE9B,2GAEM;QAGN,2GAEM;QAGN,2GAEM;QAGN,2GAEM;QAGN,2GAEM;QAGN,2GAEM;QAGN,2GAEM;QACV,qEAAe;;QAnCD,qJAAmB;QAEvB,0DAAsB;QAAtB,kFAAsB;QAKtB,0DAAwB;QAAxB,oFAAwB;QAKxB,0DAAwB;QAAxB,oFAAwB;QAKxB,0DAAoB;QAApB,gFAAoB;QAKpB,0DAAsB;QAAtB,kFAAsB;QAKtB,0DAAqB;QAArB,iFAAqB;wBAwxBzB,qDAAQ,EAAE,yDAAY,EAAE,4DAAe;;;;;;;;;;;;;;;;;;;;;AC3zBwD;AAG9D;AACO;;;;;;;;;;IAK6B,uDAAqC;;;IAArC,qJAAqC;;;IACpC,uDAAsC;;;IAAtC,sJAAsC;;;IACrC,uDAAuC;;;IAAvC,uJAAuC;;;IAGrC,uDAAqC;;;IAArC,qJAAqC;;;IAIxC,uDAAsC;;;IAAtC,sJAAsC;;;IACrC,uDAAuC;;;IAAvC,uJAAuC;;AAMrH,MAAM,iCAAiC;IAU1C,YAAmB,gBAAkC,EAAU,cAA8B;QAA1E,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEjG,QAAQ;QACJ,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;IAC/E,CAAC;IAED,eAAe,CAAC,MAAM;QAClB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,EAAE;YAC7G,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC3F,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC;YACnF,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;YAC/D,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/G,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,mBAAmB,CAAC,IAAI;QACpB,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAClD;IACL,CAAC;IAED,gBAAgB,CAAC,MAAM;QACnB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,EAAE;YAC7G,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;gBACnD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC9B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE;oBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBAC3F,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC;oBACnF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC5E,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;oBACnC,MAAM,cAAc,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC;oBACjD,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;wBAC9D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;qBAC5D;oBACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;oBACvB,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;oBACzD,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;iBACrB;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,iBAAiB,CAAC,MAAM;QACpB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,EAAE;YAC7G,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;;kHAhEQ,iCAAiC;+HAAjC,iCAAiC;;;;;;;;;uGAF/B,CAAC,8EAAkB,CAAC;QAfnB,wFAA8B;QAClC,6IAA0H;QAA7G,wKAAW,iCAA6B,IAAC;QACtD,6IAA4H;QAA/G,wKAAW,kCAA8B,IAAC;QACvD,6IAA8H;QAAjH,wKAAW,mCAA+B,IAAC;QAC5D,4DAAe;QACf,wFAAmC;QAC/B,6IAA8H;QAAjH,wKAAW,qCAAiC,IAAC;QAC9D,4DAAe;QAEf,wFAAsC;QAClC,+IAA4H;QAA/G,yKAAW,kCAA8B,IAAC;QACvD,+IAA8H;QAAjH,yKAAW,mCAA+B,IAAC;QAC5D,4DAAe;wBAET,yDAAY,EAAE,6EAAiB,EAAE,wOAAe;;;;;;;;;;;;;;;;;;;ACvBS;AAGxB;;;;AAaxC,MAAM,sBAAsB;IAO/B,YAAoB,cAA8B,EAAU,gBAAkC;QAA1E,mBAAc,GAAd,cAAc,CAAgB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAFpF,kBAAa,GAAG,IAAI,uDAAY,EAAW,CAAC;IAE2C,CAAC;IAElG,aAAa;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACtD;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;;4FAnBQ,sBAAsB;oHAAtB,sBAAsB;QAR3B,yEAAoH;QAA/G,0IAAS,mBAAe,SAAE,wBAAwB,IAAC;QACpD,qEAA4B;QAChC,4DAAM;;QAFmD,8EAAsB;wBAMzE,yDAAY;;;;;;;;;;;;;;;;;;ACdyD;AACV;AAC1B;;AAgCxC,MAAM,eAAe;IA9B5B;QA+Ba,UAAK,GAAG,KAAK,CAAC;QAEd,aAAQ,GAAG,KAAK,CAAC;QAEhB,eAAU,GAAG,IAAI,uDAAY,EAAW,CAAC;KA+BtD;IAzBG,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC7B;SACJ;IACL,CAAC;IAED,gBAAgB,CAAC,EAAO;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,KAAc;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;;8EAnCQ,eAAe;6GAAf,eAAe,sNARb;YACP;gBACI,OAAO,EAAE,6DAAiB;gBAC1B,WAAW,EAAE,yDAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;gBAC9C,KAAK,EAAE,IAAI;aACd;SACJ;QAzBG,yEAMC;QALG,mIAAS,YAAQ,SAAE,wBAAwB,IAAC;QAM5C,qEAA4B;QAChC,4DAAM;;QANF,mFAA2B;wBAgBzB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;ACvBiC;AAEZ;AACO;AACJ;;;;;;;;IAYlC,yEAAiE;IACvD,uDAAmD;;IAAA,4DAAO;;IAA1D,0DAAmD;IAAnD,mKAAmD;;;IAE7D,yEAA+E;IAC3E,uDAEJ;;IAAA,4DAAM;;;IAFF,0DAEJ;IAFI,sOAEJ;;;IACA,0EAAgE;IACtD,uDAAkD;;IAAA,4DAAO;;IAAzD,0DAAkD;IAAlD,kKAAkD;;;IAE5D,0EAAiE;IAC7D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,8KACJ;;;IACA,yEAAiE;IAC7D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,4KACJ;;;IACA,0EAAgE;IAC5D,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,+KACJ;;;IACA,yEAA+E;IAC3E,uDAEJ;;IAAA,4DAAM;;;IAFF,0DAEJ;IAFI,8OAEJ;;;IAGI,0EAAiE;IAEzD,qEAAmF;IACvF,4DAAM;;;IADG,0DAA0D;IAA1D,sHAA0D;;;IAGvE,qEAAuE;;;IAN3E,0EAAuH;IACnH,iIAIM;IACN,gIAAuE;IAC3E,4DAAM;;;IANI,0DAAyC;IAAzC,4GAAyC;IAKzC,0DAAyC;IAAzC,4GAAyC;;;IAI/C,0EAA6E;IAErE,qEAAuF;IAC3F,4DAAM;;;IADG,0DAA8D;IAA9D,0HAA8D;;;IAH/E,0EAAgF;IAC5E,kIAIM;IACV,4DAAM;;;IALI,0DAAyC;IAAzC,4GAAyC;;;;IAenD,wEAAoE;IAChE,0EAAkC;IACxB,6TAAS,6EAAW,KAAC;IAA4B,uDAA2C;;IAAA,4DAAO;IAE7G,mEAMK;;IACT,qEAAe;;IATqB,0DAA0B;IAA1B,8EAA0B;IAAC,0DAA2C;IAA3C,2JAA2C;IAMlG,0DAA6D;IAA7D,kLAA6D;IAH7D,sEAAa;;;;IAQrB,wEAAoE;IAChE,0EAAmC;IACzB,6TAAS,6EAAW,KAAC;IAA4B,uDAA4C;;IAAA,4DAAO;IAC1G,2EAA8B;IAAA,uDAAiD;;IAAA,4DAAO;IAE1F,mEAMK;;IACT,qEAAe;;IAVqB,0DAA0B;IAA1B,8EAA0B;IAAC,0DAA4C;IAA5C,4JAA4C;IACrE,0DAAiD;IAAjD,iKAAiD;IAM/E,0DAA8D;IAA9D,oLAA8D;IAH9D,sEAAa;;;;IAQrB,wEAAoE;IAChE,0EAAkC;IACxB,6TAAS,6EAAW,KAAC;IAA4B,uDAA2C;;IAAA,4DAAO;IACzG,2EAA8B;IAAA,uDAAiD;;IAAA,4DAAO;IAE1F,mEAMK;;IACT,qEAAe;;IAVqB,0DAA0B;IAA1B,8EAA0B;IAAC,0DAA2C;IAA3C,2JAA2C;IACpE,0DAAiD;IAAjD,iKAAiD;IAM/E,0DAA6D;IAA7D,mLAA6D;IAH7D,sEAAa;;;IAxCzB,0EAMC;IACG,oJAWe;IAEf,sJAYe;IAEf,sJAYe;IACnB,4DAAM;;;IAxCa,0DAAmD;IAAnD,sHAAmD;IAanD,0DAAmD;IAAnD,sHAAmD;IAcnD,0DAAmD;IAAnD,sHAAmD;;;IAetE,0EAA0H;IAE5G,uDAAuC;;IAAA,4DAAO;IAExD,mEAMK;;IACT,4DAAM;;IATQ,0DAAuC;IAAvC,uJAAuC;IAM7C,0DAAyD;IAAzD,8KAAyD;IAHzD,sEAAa;;;;AAa1B,MAAM,8BAA8B;IACvC,YAAmB,gBAAkC,EAAU,OAAuB;QAAnE,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAE1F,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,qEAAkB,CAAC,CAAC;IACtD,CAAC;;4GALQ,8BAA8B;4HAA9B,8BAA8B;QApHnC,yEAKC;QAEO,0HAEM;QACN,0HAGM;QACN,0HAEM;QACN,0HAEM;QACN,0HAEM;QACN,0HAEM;QACN,0HAGM;QAEN,0HAOM;QAEN,4HAMM;QACV,4DAAM;QAEN,4HA+CM;QAEN,4HAWM;QACV,4DAAM;;QA7GF,yPAEE;QAIQ,0DAAyC;QAAzC,yGAAyC;QAGzC,0DAAyC;QAAzC,yGAAyC;QAIzC,0DAAyC;QAAzC,yGAAyC;QAGzC,0DAAyC;QAAzC,yGAAyC;QAGzC,0DAAyC;QAAzC,yGAAyC;QAGzC,0DAAyC;QAAzC,yGAAyC;QAGzC,0DAAyC;QAAzC,yGAAyC;QAKzC,0DAAgF;QAAhF,oJAAgF;QAShF,0DAAyC;QAAzC,yGAAyC;QAU9C,0DAIf;QAJe,4RAIf;QA4CgB,0DAAyF;QAAzF,6JAAyF;wBAgB7F,yDAAY,EAAE,yKAAe,EAAE,4HAAa;;;;;;;;;;;;;;;;;;;;;;;ACzHwC;AACnD;AACO;AACJ;;;;;;;;;IA4B1B,wEAAsE;IAClE,uEAAkG;IAAzE,+XAAe,4HAAwD,KAAC;IAAC,uDAAc;IAAA,4DAAI;IACxH,qEAAe;;;IADuF,0DAAc;IAAd,4EAAc;;;AA6DrI,MAAM,2BAA2B;IAEpC,YAAmB,gBAAkC,EAAU,cAA8B;QAA1E,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAGjG,iBAAiB,CAAC,WAAwB;QACtC,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;QACzC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,gBAAgB,CAAC;QACtD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa,CAAC,EAAE;QACZ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAChC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,4EAA+B,CAAC,CAAC,CAAC,yEAA4B,CAAC,GAAG,EAAE,CACxG,CAAC;IACN,CAAC;;sGAfQ,2BAA2B;yHAA3B,2BAA2B;QArFhC,wEAAO;QAGS,uDAAsC;;QAAA,4DAAK;QAC/C,wEAKC;QAHG,+IAAS,0CAAkC,IAAC,yGAC7B,2EAAmE,IADtC;QAI5C,uDACJ;QAAA,4DAAK;QACL,qEAAI;QAAA,uDAAwC;;QAAA,4DAAK;QACjD,sEAAI;QACA,wDACJ;;QAAA,4DAAK;QAET,sEAAI;QACI,wDAA4B;;QAAA,4DAAK;QACrC,yEAGC;QACG,2IAEe;QACnB,4DAAK;QACL,sEAAI;QAAA,wDAAgD;;QAAA,4DAAK;QACzD,sEAAI;QACA,wDACJ;QAAA,4DAAK;QAET,sEAAI;QACI,wDAA0C;;QAAA,4DAAK;QACnD,yEAAgB;QAAA,wDAAwB;QAAA,4DAAK;QAC7C,oEAAqB;QACzB,4DAAK;QACL,sEAAI;QACI,wDAA8C;;QAAA,4DAAK;QACvD,yEAOC;QACG,wDACJ;QAAA,4DAAK;QAET,sEAAI;QACI,wDAA2C;;QAAA,4DAAK;QACpD,yEAQC;QANG,kKAAe,2EAAmE,IAAC;QAOnF,wDACJ;QAAA,4DAAK;;QA3DD,0DAAsC;QAAtC,uJAAsC;QAOtC,0DACJ;QADI,mGACJ;QACI,0DAAwC;QAAxC,0JAAwC;QAExC,0DACJ;QADI,iRACJ;QAGI,0DAA4B;QAA5B,8IAA4B;QAKO,0DAAiC;QAAjC,2GAAiC;QAIpE,0DAAgD;QAAhD,kKAAgD;QAEhD,0DACJ;QADI,uKACJ;QAGI,0DAA0C;QAA1C,4JAA0C;QAC9B,0DAAwB;QAAxB,uFAAwB;QAIpC,0DAA8C;QAA9C,gKAA8C;QAM9C,0DAAsC;QAAtC,0GAAsC;QAHtC,sEAAa;QAMb,0DACJ;QADI,sGACJ;QAGI,0DAA2C;QAA3C,6JAA2C;QAO3C,0DAAmC;QAAnC,uGAAmC;QAHnC,sEAAa;QAMb,0DACJ;QADI,mGACJ;wBAqBN,yDAAY,EAAE,sHAAe,EAAE,4HAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FkC;AAInD;AACwB;AACO;AACJ;AAErB;AAC4B;AACS;;;;;;;;;;;IAS5D,4EAAqD;IACjD,wDACJ;IAAA,6DAAO;;;IADH,2DACJ;IADI,wGACJ;;;IA6BZ,0EAQC;IACG,wDACA;;;IAAA,4EAAgF;IAC5E,wDACJ;;IAAA,6DAAO;;;IAVP,uEAAa;IAOb,2DACA;IADA,8SACA;IAAM,2DAAyD;IAAzD,qHAAyD;IAC3D,2DACJ;IADI,wMACJ;;;;IAIA,2EAAsF;IAC/D,wDAA2C;;IAAA,6DAAO;IACrE,0FAAgF;IAA5D,uVAAa,0FAAsB,IAAP;IAAgC,6DAAqB;;;IADlF,2DAA2C;IAA3C,6JAA2C;IAC1C,2DAA4B;IAA5B,2FAA4B;;;IAHxD,yEAAwH;IACpH,iIAGM;IACV,sEAAe;;;IAJL,2DAA8D;IAA9D,yIAA8D;;;IAMxE,2EAAmG;IAE3F,sEAA8D;IAClE,6DAAM;IACN,2EAA8B;IAAA,wDAAsB;IAAA,6DAAM;;;IAFjD,2DAAqC;IAArC,iGAAqC;IAEhB,2DAAsB;IAAtB,kGAAsB;;AAO7D,MAAM,mBAAmB;IAO5B,YACW,gBAAkC,EACjC,cAA8B,EAC9B,SAA2B,EAC3B,OAAuB;QAHxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;QAC3B,YAAO,GAAP,OAAO,CAAgB;QAVb,cAAS,GAAG,QAAQ,CAAC;QAIjC,eAAU,GAAG,IAAI,wDAAY,EAAU,CAAC;IAO/C,CAAC;IAEJ,kBAAkB;QACd,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACvC,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEjC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7C,SAAS,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC;YAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/C,UAAU,CAAC,SAAS,GAAG,GAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAE,IAAK,MAAM,IAAI,KAAM,EAAE,CAAC;YAC3F,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAClC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC;YACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,CAAC,SAAS,GAAG,GAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,mDAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAE,IAAK,MAAM,IAAI,KAAM,EAAE,CAAC;YACpH,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC5B,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,2EAAwB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC;;sFAjDQ,mBAAmB;kHAAnB,mBAAmB;;;QApExB,0EAAqB;QAIL,kHAEO;QAEP,2EAOC;QACG,wDACJ;QAAA,6DAAO;QAGf,0EAAmB;QAEX,4IAAS,yCAAiC,IAAC;;QAQ3C,oEAA0B;QAC9B,6DAAS;QAIjB,iHAaK;QAEL,qIAKe;QAEf,mHAKM;QACV,6DAAM;;QA3DiB,2DAA0B;QAA1B,2FAA0B;QAS7B,2DAA2B;QAA3B,gGAA2B;QAJ3B,uEAAa;QAOb,2DACJ;QADI,mJACJ;QASA,2DAAoD;QAApD,4KAAoD;QAHpD,uEAAa;QA2BV,2DAAuG;QAAvG,gLAAuG;QAOhH,2DAA2D;QAA3D,gIAA2D;wBAS/D,0DAAY,EAAE,uOAAa,EAAE,sJAAe,EAAE,+HAAoB,EAAE,4LAAsB,EAAE,sEAAuB;;;;;;;;;;;;;;;;AChF1H,MAAM,aAAa,GAAqD;IAC3E,QAAQ,EAAE,kEAAkE;IAC5E,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,sCAAsC;IAC5C,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,kEAAkE;IACzE,SAAS,EAAE,gDAAgD;IAC3D,MAAM,EAAE,MAAM;IACd,gBAAgB,EAAE,CAAC;CACtB,CAAC;AAEK,MAAM,aAAa,GAAG,8CAA8C,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACfrE,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,sBAAsB;AACxC,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAE1D,MAAM,0BAA0B,GAAG,8CAA8C,CAAC;AAClF,MAAM,2BAA2B,GAAG,2CAA2C,CAAC;AAChF,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;AACzE,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AAExE,MAAM,4BAA4B,GAAG,gCAAgC,CAAC;AACtE,MAAM,+BAA+B,GAAG,wCAAwC,CAAC;;;;;;;;;;;;;;;ACRjF,MAAM,UAAU,GAAe;IAClC;QACI,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,mBAAmB;KAC5B;IACD;QACI,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,oBAAoB;KAC7B;IACD;QACI,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,oBAAoB;KAC7B;IACD;QACI,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,oBAAoB;KAC7B;CACJ,CAAC;;;;;;;;;;;;;;;;ACnBmE;;AAM9D,MAAM,kBAAkB;IAC3B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,eAAe;QACX,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;;oFALQ,kBAAkB;gHAAlB,kBAAkB;;;;;;;;;;;;;;;;;;;ACAxB,MAAM,mBAAmB;IAC5B,YAAoB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAG5D,OAAO;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;;sFANQ,mBAAmB;iHAAnB,mBAAmB;2IAAnB,aAAS;;;;;;;;;;;;;;;;;;;ACLyB;AACe;;AAOvD,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAFf,yDAAY;mIAEb,gBAAgB,mBAJV,uEAAmB,aAExB,yDAAY,aADZ,uEAAmB;;;;;;;;;;;;;;;;ACN0C;;AAKpE,MAAM,mBAAmB;IAI5B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAG9C,cAAc;QACV,MAAM,UAAU,GAAuC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QACrF,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC;QAC7C,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC;IACjD,CAAC;;sFAZQ,mBAAmB;iHAAnB,mBAAmB;2IAAnB,oBAAgB;;;;;;;;;;;;;;;;;;;ACJkB;AACe;;AAOvD,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAFf,yDAAY;mIAEb,gBAAgB,mBAJV,uEAAmB,aAExB,yDAAY,aADZ,uEAAmB;;;;;;;;;;;;;;;;ACNI;;;;;;;;;;;;;;;;;;;;ACA+C;AAErD;AACkC;;;AAK1D,MAAM,0BAA0B;IAGnC,YACY,iBAAmC,EACnC,YAA8B,EAC9B,cAAgC;QAFhC,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,mBAAc,GAAd,cAAc,CAAkB;QALpC,aAAQ,GAAkB,IAAI,yCAAO,EAAQ,CAAC;QAOlD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,oEAAoB,EAAE,EAAE,yDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACzG,IAAI,EAAE,CAAC,mBAA4B,EAAE,EAAE;gBACnC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,EAAE;oBACtB,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7D;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;;oGArBQ,0BAA0B;wHAA1B,0BAA0B;;;;;;;;;;;;;;;;;;ACPQ;AAC8B;;AAOtE,MAAM,uBAAuB;;8FAAvB,uBAAuB;oHAAvB,uBAAuB;wHAHtB,yDAAY;mIAGb,uBAAuB,mBAJjB,sFAA0B,aAC/B,yDAAY,aACZ,sFAA0B;;;;;;;;;;;;;;;;;;ACPQ;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDf;AACQ;AACI;AACT;AACP;AACa;;;;;;;;;;;;;;;;;;ACLU;AACG;;;;;;;;;;;;;;;;;ACK7C,MAAM,8BAA8B;IAEvC,WAAW,CAAC,KAAY;QACpB,IAAuB,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE;YAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;;4GANQ,8BAA8B;4HAA9B,8BAA8B;oKAA9B,uBAAmB;;;;;;;;;;;;;;;;;;;ACLe;AAC8E;;AAOtH,MAAM,2BAA2B;;sGAA3B,2BAA2B;wHAA3B,2BAA2B;4HAF1B,yDAAY;mIAEb,2BAA2B,mBAJrB,uIAA8B,aAEnC,yDAAY,aADZ,uIAA8B;;;;;;;;;;;;;;;;;;ACNJ;AACG;;;;;;;;;;;;;;;;;ACDgC;;;AAMpE,MAAM,sBAAsB;IAG/B,YAAoB,EAAc,EAAU,gBAAkC;QAA1D,OAAE,GAAF,EAAE,CAAY;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAElF,IACW,eAAe,CAAC,IAAY;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAGD,WAAW,CAAC,KAAY;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC/B;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACjC;IACL,CAAC;IAEO,eAAe,CAAC,KAAY;QAChC,IAAI,YAAY,GAAsB,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC;QAC1D,MAAM,aAAa,GAAG,YAAY,CAAC;QACnC,2BAA2B;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACpE;QACD,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SACxE;QACD,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACjC,YAAY,GAAG,GAAG,GAAG,YAAY,CAAC;SACrC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACzC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;SACzE;QACD,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,YAAY,KAAK,aAAa,EAAE;YACb,KAAK,CAAC,MAAO,CAAC,KAAK,GAAG,YAAY,CAAC;YACtD,MAAM,cAAc,GAAsB,KAAK,CAAC,MAAO,CAAC,YAAY,CAAC;YAClD,KAAK,CAAC,MAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAChE,KAAK,CAAC,MAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACtE;IACL,CAAC;IAEO,iBAAiB,CAAC,KAAY;QAClC,IAAI,YAAY,GAAsB,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC;QAC1D,MAAM,aAAa,GAAG,YAAY,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAClD;QACD,IAAI,YAAY,KAAK,aAAa,EAAE;YAChC,MAAM,cAAc,GAAsB,KAAK,CAAC,MAAO,CAAC,YAAY,CAAC;YAClD,KAAK,CAAC,MAAO,CAAC,KAAK,GAAG,YAAY,CAAC;YACnC,KAAK,CAAC,MAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;SACtF;IACL,CAAC;;4FAjEQ,sBAAsB;oHAAtB,sBAAsB;oJAAtB,uBAAmB;;;;;;;;;;;;;;;;;;;ACLe;AACoD;;AAO5F,MAAM,mBAAmB;;sFAAnB,mBAAmB;gHAAnB,mBAAmB;oHAFlB,yDAAY;mIAEb,mBAAmB,mBAJb,6GAAsB,aAE3B,yDAAY,aADZ,6GAAsB;;;;;;;;;;;;;;;;;ACA7B,MAAM,kBAAkB;IAJ/B;QAOa,sBAAiB,GAAG,KAAK,CAAC;KA6DtC;IA3DW,QAAQ,CAAC,EAAE;QACf,OAAO;YACH,KAAK,EAAE,EAAE,CAAC,cAAc;YACxB,GAAG,EAAE,EAAE,CAAC,YAAY;SACvB,CAAC;IACN,CAAC;IAEO,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG;QAC3B,EAAE,CAAC,cAAc,GAAG,KAAK,CAAC;QAC1B,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC;QAEtB,EAAE,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,EAAE,EAAE,SAAS;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,EAAE,EAAE,KAAK;QAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAGD,MAAM,CAAC,EAAO,EAAE,KAAa;QACzB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO;SACV;QACD,IACI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC;YACxD,UAAU,KAAK,OAAO,KAAK,CAAC,WAAW;YACvC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAC/B;YACE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,kCAAkC;SACrE;IACL,CAAC;IAGD,OAAO,CAAC,EAAO,EAAE,KAAa;QAC1B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO;SACV;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,KAAK,OAAO,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;YAClG,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;gBAC9C,KAAK,GAAG,CAAC,CAAC;gBACV,GAAG,GAAG,CAAC,CAAC;aACX;YAED,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAE7B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACjC;IACL,CAAC;;oFA/DQ,kBAAkB;gHAAlB,kBAAkB;8IAAlB,8CACO,oFADP,+CACQ;;;;;;;;;;;;;;;;;;;ACPe;AACH;;;;;;;;;;;;;;;;;ACUV;;;AAOhB,MAAM,gBAAgB;IA+BzB,YAAoB,EAAc,EAAU,QAAmB,EAAU,SAAuB;QAA5E,OAAE,GAAF,EAAE,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,cAAS,GAAT,SAAS,CAAc;QAtBvF,YAAO,GAAG,CAAC,CAAC;QAEZ,cAAS,GAAG,CAAC,CAAC;QAEd,UAAK,GAAG,CAAC,CAAC;QAEV,uBAAkB,GAAG,IAAI,CAAC;QAEzB,cAAS,GAAG,IAAI,uDAAY,EAAW,CAAC;IAciD,CAAC;IAExE,YAAY;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,OAAO;SACV;QACD,IACI,IAAI,CAAC,kBAAkB;YACvB,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EACrG;YACE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;oBACtB,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtB;qBAAM;oBACH,IAAI,CAAC,IAAI,EAAE,CAAC;iBACf;aACJ;iBAAM;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;SACJ;IACL,CAAC;IAE2B,YAAY;QACpC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;IACL,CAAC;IAED,IAAI;QACA,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,IAAI;QACA,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,yBAAyB,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,UAAU;QACN,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,MAAM;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YACvC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,+DAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC3F;aAAM;YACH,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;aAClC;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,GAAG,GAAS,EAAE;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,GAAS,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,IAAI,EAAE,CAAC;aACf;QACL,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACpD;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACnB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,WAAW,CAAC,SAAS;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;QAChE,MAAM,OAAO,GACT,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3H,MAAM,UAAU,GACZ,MAAM,CAAC,WAAW;YAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAE1H,QAAQ,SAAS,EAAE;YACf,KAAK,KAAK;gBACN,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC3B,OAAO;iBACV;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAC5G,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBAC9G,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,MAAM;YACV,KAAK,UAAU;gBACX,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAChC,OAAO;iBACV;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBAC9G,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,MAAM;YACV,KAAK,WAAW;gBACZ,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBACjC,OAAO;iBACV;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;oBAC9F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBAC9G,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACxB,OAAO;iBACV;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAC5G,CAAC;oBACF,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC7B,OAAO;iBACV;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;oBAClE,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,MAAM;YACV,KAAK,cAAc;gBACf,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBAC9B,OAAO;iBACV;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;oBAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;gBACD,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC/G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAC5G,CAAC;gBACF,MAAM;YACV,KAAK,UAAU;gBACX,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC/G,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC/G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBACjH,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAC5G,CAAC;gBACF,MAAM;YACV,KAAK,WAAW;gBACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBACnE,MAAM;YACV,KAAK,cAAc;gBACf,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;gBACjH,MAAM;SACb;IACL,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;SACnD;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE;YAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;SACvH;IACL,CAAC;IAED,WAAW;QACP,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC7C,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;IACL,CAAC;;gFA5QQ,gBAAgB;8GAAhB,gBAAgB;kJAAhB,kBAAc,sFAAd,kBAAc;;;;;;;;;;;;;;;;;;;;;ACjBoB;AACQ;;AAOhD,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GAHZ,yDAAY;mIAGb,aAAa,mBAJP,gEAAgB,aACrB,yDAAY,aACZ,gEAAgB;;;;;;;;;;;;;;;ACPvB,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,GAAW,EAAW,EAAE;IAChE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACzD;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACLwE;AACb;AAGV;AACY;;;;;;;;;IAW/C,wEAAgD;IAC5C,yEAAoF;IAIpE,uDACJ;;IAAA,4DAAM;IACN,0EAAkB;IAAA,uDAAgC;IAAA,4DAAM;IAG5D,oEAAwB;IAExB,0EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IAAA,wDAA6B;IAAA,4DAAM;IAGzD,qEAAwB;IAExB,0EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAA4G;IAA1F,4TAAe,iJAAyE,KAAC;IACvG,wDACJ;IAAA,4DAAM;IAGV,qEAAwB;IAExB,0EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IACd,wDAKJ;IAAA,4DAAM;IAGV,qEAAwB;IAExB,0EAAiB;IAET,wDACJ;;IAAA,4DAAM;IACN,2EAAkB;IACd,wDAKJ;IAAA,4DAAM;IAItB,qEAAe;;;IAxDK,0DACJ;IADI,uLACJ;IACkB,0DAAgC;IAAhC,kGAAgC;IAO9C,0DACJ;IADI,0LACJ;IACkB,0DAA6B;IAA7B,+FAA6B;IAO3C,0DACJ;IADI,sLACJ;IAEI,0DACJ;IADI,4GACJ;IAOI,0DACJ;IADI,kMACJ;IAEI,0DAKJ;IALI,oNAKJ;IAOI,0DACJ;IADI,8LACJ;IAEI,0DAKJ;IALI,sMAKJ;;;IAKa,mEAAO;;AAmB7C,MAAM,qBAAqB;IAa9B,YACW,gBAAkC,EACjC,SAAoB,EACP,EAAE,KAAK,EAAE,KAAK,EAA2C;QAFvE,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,cAAS,GAAT,SAAS,CAAW;QAdhC,UAAK,GAAG,eAAe,CAAC;QAIxB,kBAAa,GAAG,6DAAa,CAAC;QAE9B,mBAAc,GAAG,qDAAM,CAAC,yEAAc,CAAC,CAAC;QAExC,WAAM,GAAG,qDAAM,CAAC,iDAAM,CAAC,CAAC;QAExB,wBAAmB,GAAG,SAAS,CAAC;QAO5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;IACL,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,KAAK,sEAAsB,EAAE;YAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;IACL,CAAC;IAEO,oBAAoB;QACxB,MAAM,MAAM,GAAkB;YAC1B,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI;aACd;SACJ,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;;gBACjB,IAAI,CAAC,mBAAmB,GAAG,yBAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,QAAQ,CAAC,0CAAG,aAAa,CAAC,mCAAI,SAAS,CAAC;YACvF,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;;0FAlDQ,qBAAqB,iVAgBlB,4DAAW;mHAhBd,qBAAqB;QAtF1B,yEAA0F;QAG9E,uDACJ;;QAAA,4DAAK;QACL,qIA6De;QACf,6MAAkD;QAClD,yEAAuF;QAC3E,6IAAS,WAAO,IAAC;QACrB,wDACJ;;QAAA,4DAAS;;;QApET,0DACJ;QADI,sJACJ;QACe,0DAAa;QAAb,2EAAa;QAiEpB,0DACJ;QADI,yJACJ;;;;;;;;;;;;;;;;;;;;;ACjF2B;AAC6C;AACtC;AACJ;;AAO3C,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAFjB,yDAAY,EAAE,gEAAe,EAAE,4DAAU;mIAE1C,kBAAkB,mBAJZ,sGAAqB,aAE1B,yDAAY,EAAE,gEAAe,EAAE,4DAAU,aADzC,sGAAqB;;;;;;;;;;;;;;;;;;;ACR8C;AACpB;;;;;;AAgDtD,MAAM,qBAAqB;IAS9B,YAAoB,SAAoB,EAAuB,IAAsB;QAAjE,cAAS,GAAT,SAAS,CAAW;QACpC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;;0FA1BQ,qBAAqB,+LASoB,4DAAW;mHATpD,qBAAqB;;;;;;QAlC1B,yEAA6F;QACjF,6IAAS,WAAO,IAAC;QACrB,kEAA0B;QAC9B,4DAAS;QAET,yEAA0F;QACtF,kEAA+B;QAE/B,yEAAqD;QAC/B,uDAAuB;;QAAA,4DAAK;QAC9C,uEAAmB;QAAA,wDAAyB;;QAAA,4DAAI;QAIxD,0EAA+D;QACnD,8IAAS,WAAO,IAAC;QACrB,wDACJ;;QAAA,4DAAS;QACT,kFAAiF;QAA3D,8IAAS,YAAQ,IAAC;QACpC,wDACJ;;QAAA,4DAAS;;QAXa,0DAAuB;QAAvB,2IAAuB;QACtB,0DAAyB;QAAzB,8IAAyB;QAM5C,0DACJ;QADI,qPACJ;QAEI,0DACJ;QADI,mPACJ;;;;;;;;;;;;;;;;;;;;;AClC+B;AACmB;AACZ;AACE;;AAOjD,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAHjB,yDAAY,EAAE,gEAAe,EAAE,kEAAgB;mIAGhD,kBAAkB,mBAJZ,2EAAqB,aAC1B,yDAAY,EAAE,gEAAe,EAAE,kEAAgB,aAC/C,2EAAqB;;;;;;;;;;;;;;;;;;ACTsG;;;;;AAkClI,MAAM,uBAAuB;IAahC,YAAoB,SAA2B,EAAU,QAAmB;QAAxD,cAAS,GAAT,SAAS,CAAkB;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAZxC,iBAAY,GAAG,IAAI,CAAC;QAQ9C,eAAU,GAAG,IAAI,uDAAY,EAAQ,CAAC;IAI+B,CAAC;IAEhF,QAAQ;QACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,OAAO;gBACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACpD,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACtD,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACnD,MAAM;SACb;IACL,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;;8FArCQ,uBAAuB;qHAAvB,uBAAuB;;;;;;;;QA5B5B,yEAAwF;QAC5E,+IAAS,aAAS,IAAC;QACvB,kEAA0B;QAC9B,4DAAS;QAET,yEAAsE;QAClE,kEAMK;QACL,yEAA+B;QACT,uDAAW;QAAA,4DAAK;QAClC,kEAA6C;QACjD,4DAAM;QAGV,yEAAmE;QAClD,gJAAS,aAAS,IAAC;QAC5B,wDACJ;;QAAA,4DAAS;;QAfL,0DAAgC;QAAhC,wFAAgC;QAOd,0DAAW;QAAX,0EAAW;QAC1B,0DAAqB;QAArB,gJAAqB;QAMxB,0DACJ;QADI,yJACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BhB;AAEA;AAKA;;;;;;;;;;;;;IAyBwBA,4DAAAA;IACIA,oDAAAA;;IACJA,0DAAAA;;;;IADIA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;IAEJA,4DAAAA;IACIA,oDAAAA;;IACJA,0DAAAA;;;;IADIA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;IAhBRA,4DAAAA,cAAkD,CAAlD,EAAkD,OAAlD,EAAkD,EAAlD;IAC0BA,oDAAAA;;IAA2CA,0DAAAA;IACjEA,4DAAAA;IACIA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAaA,yDAAAA,6BAAb;IACtB,CADsB,EAAyB,aAAzB,EAAyB;MAAAA,2DAAAA;MAAA;MAAA,OAEVA,yDAAAA,0DAFU;IAEuC,CAFhE,EAAyB,SAAzB,EAAyB;MAAAA,2DAAAA;MAAA;MAAA,OAGdA,yDAAAA,8BAAsB,KAAtB,EAHc;IAGc,CAHvC;;IADJA,0DAAAA;IAUAA,wDAAAA;IAGAA,wDAAAA;;IAGJA,0DAAAA;;;;;IAjB0BA,uDAAAA;IAAAA,+DAAAA,CAAAA,yDAAAA;IAGlBA,uDAAAA;IAAAA,yDAAAA,YAAAA,yDAAAA;IADAA,wDAAAA;IASEA,uDAAAA;IAAAA,wDAAAA;IAGAA,uDAAAA;IAAAA,wDAAAA,SAAAA,yDAAAA;;;;AAmBxB,MAAOinB,wBAAP,CAA+B;EAejC35B,YACWE,gBADX,EAEWshB,cAFX,EAGYtC,OAHZ,EAIYjf,SAJZ,EAKYE,YALZ,EAMYE,MANZ,EAOYiT,QAPZ,EAO+B;IANpB;IACA;IACC;IACA;IACA;IACA;IACA;IArBwB,oBAAe,IAAf;IAIpC,wBAAmB,IAAI8N,iDAAJ,CAA6B,KAA7B,CAAnB;IAEA,cAAS;MACL3gB,IAAI,EAAE,EADD;MAEL2C,IAAI,EAAE,EAFD;MAGLG,IAAI,EAAE,EAHD;MAILq2B,QAAQ,EAAE,KAJL;MAKLC,SAAS,EAAE;IALN,CAAT;EAgBI;;EAEJ1lB,QAAQ;IACJ,KAAKb,QAAL,CAAciY,QAAd,CAAuB/P,QAAQ,CAACgQ,IAAhC,EAAsC,WAAtC;;IACA,IAAI,KAAKzoB,OAAL,CAAalC,MAAjB,EAAyB;MACrB,KAAKqC,MAAL,GAAc,KAAKH,OAAL,CAAa,CAAb,CAAd;MACA,KAAKG,MAAL,CAAYK,IAAZ,GAAmB,EAAnB;IACH;EACJ;;EAEDkZ,WAAW;IACP,KAAKnJ,QAAL,CAAcqY,WAAd,CAA0BnQ,QAAQ,CAACgQ,IAAnC,EAAyC,WAAzC;EACH;;EAEDhlB,UAAU;IACN,IAAI,KAAKzD,OAAL,CAAalC,MAAb,KAAwB,CAA5B,EAA+B;MAC3B;IACH;;IACD,KAAKqe,OAAL,CAAa1Y,UAAb,CACI,KAAKtD,MAAL,CAAYE,IADhB,EAEI,KAAKF,MAAL,CAAYK,IAFhB,EAGI,KAAKrD,gBAAL,CAAsBkO,KAH1B,EAII,KAJJ,EAKI,CAACkV,WAAD,EAAcC,SAAd,EAAyBC,UAAzB,KAAuC;MACnC,IAAIA,UAAU,KAAK,gBAAnB,EAAqC;QACjC,KAAKnjB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAKoqB,gBAAL,CAAsBx3B,IAAtB,CAA2B,IAA3B;QACH,CAFD;MAGH;;MACD,IAAIkhB,UAAU,IAAIA,UAAU,KAAK,gBAAjC,EAAmD;QAC/C,KAAKnjB,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;UACjB,KAAKxM,MAAL,CAAY02B,QAAZ,GAAuB,IAAvB;QACH,CAFD;QAGA,IAAI1oB,eAAe,GAAG,KAAKjR,SAAL,CAAekR,OAAf,CAAuB,6BAAvB,CAAtB;QACAD,eAAe,IAAI,UAAU,KAAKhO,MAAL,CAAYE,IAAzC;QACA8N,eAAe,IAAI,KAAKjR,SAAL,CAAekR,OAAf,CAAuB,6BAAvB,CAAnB;QACA,KAAKhR,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwCL,eAAxC;MACH,CARD,MAQO;QACH,IAAIoS,WAAW,IAAIE,UAAU,KAAK,eAAlC,EAAmD;UAC/C,IAAIzD,MAAM,GAAG,KAAb;UACA,KAAK7f,gBAAL,CAAsB6C,OAAtB,CAA8BE,OAA9B,CAAsCC,MAAM,IAAG;YAC3C,IAAIA,MAAM,CAACqB,OAAP,KAAmBgf,SAAS,CAAC,IAAD,CAAT,CAAgBhf,OAAvC,EAAgD;cAC5Cwb,MAAM,GAAG,IAAT;YACH;UACJ,CAJD;;UAMA,IAAIA,MAAJ,EAAY;YACR,KAAK5f,YAAL,CAAkBoR,YAAlB,CAA+B,OAA/B,EAAwC,uCAAxC;YACA,KAAK2N,OAAL,CAAatY,WAAb,CAAyB2c,SAAS,CAAC1c,SAAnC;UACH,CAHD,MAGO;YACH,MAAM4c,UAAU,GAAG,IAAItC,4DAAJ,CACfoC,SAAS,CAAC1c,SADK,EAEf,KAAK3D,MAAL,CAAYzC,IAFG,EAGf,KAAKyC,MAAL,CAAYK,IAHG,EAIfggB,SAAS,CAAC,IAAD,CAAT,CAAgBngB,IAJD,EAKfmgB,SAAS,CAAC,IAAD,CAAT,CAAgBhf,OALD,EAMfgf,SAAS,CAAC,IAAD,CAAT,CAAgBG,OAND,EAOfH,SAAS,CAAC,IAAD,CAAT,CAAgB7C,gBAPD,EAQf6C,SAAS,CAAC,IAAD,CAAT,CAAgBlO,WARD,EASfkO,SAAS,CAAC,IAAD,CAAT,CAAgBI,YATD,CAAnB;YAWAF,UAAU,CAAC/W,KAAX,GAAmB,KAAKwS,OAAL,CAAatR,cAAb,CAA4B6V,UAAU,CAAClf,OAAvC,CAAnB;YACAkf,UAAU,CAACG,YAAX,GAA0BL,SAAS,CAAC,IAAD,CAAT,CAAgBK,YAA1C;YACAH,UAAU,CAACI,aAAX,GAA2BN,SAAS,CAAC,IAAD,CAAT,CAAgBM,aAA3C;YACAJ,UAAU,CAACnL,WAAX,GAAyB,CAAzB;YACAmL,UAAU,CAACpV,kBAAX,GAAgC,KAAhC;;YACA,IAAIkV,SAAS,CAACO,cAAV,IAA4BP,SAAS,CAACO,cAAV,CAAyBhM,OAAzD,EAAkE;cAC9D2L,UAAU,CAAChL,kBAAX,GAAgC8K,SAAS,CAACO,cAAV,CAAyBC,mBAAzD;cACAN,UAAU,CAAC/K,UAAX,GAAwB1B,IAAI,CAAC2B,IAAL,CACpB4K,SAAS,CAACO,cAAV,CAAyBC,mBAAzB,GAA+C,KAAK7jB,gBAAL,CAAsBkO,KADjD,CAAxB;cAGAqV,UAAU,CAAC/K,UAAX,GAAwB,KAAKxY,gBAAL,CAAsB0Y,QAA9C,GACO6K,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,EAAqBrZ,GAArB,CAAyB,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAnD,CAD1B,GAEO0K,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAUykB,UAAU,CAAC/K,UAArB,EAAiCI,IAAjC,CAAsC,CAAtC,EAAyCrZ,GAAzC,CAA6C,CAACX,KAAD,EAAQia,KAAR,KAAkBja,KAAK,GAAGia,KAAvE,CAF1B;cAGA0K,UAAU,CAAClL,cAAX,CAA0BgL,SAAS,CAACO,cAAV,CAAyBhM,OAAnD;YACH,CATD,MASO;cACH2L,UAAU,CAAChL,kBAAX,GAAgC,CAAhC;cACAgL,UAAU,CAAC5K,KAAX,GAAmB,IAAI7Z,KAAJ,CAAU,CAAV,EAAa8Z,IAAb,CAAkB,CAAlB,CAAnB;cACA2K,UAAU,CAAC/K,UAAX,GAAwB,CAAxB;YACH;;YACD,KAAK8I,cAAL,CAAoBwC,SAApB,CAA8BP,UAA9B;YACA,KAAKvE,OAAL,CAAa7X,SAAb,CAAuBkc,SAAS,CAAC1c,SAAjC;YACA,KAAKkzB,UAAL;YACA,KAAKD,gBAAL,CAAsBx3B,IAAtB,CAA2B,KAA3B;UACH;QACJ;MACJ;IACJ,CArEL;EAuEH;;EAEDy3B,UAAU;IACN,KAAK15B,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;MACjB,IAAI,KAAK3M,OAAL,CAAalC,MAAjB,EAAyB;QACrB,KAAKkC,OAAL,CAAa+R,MAAb,CAAoB,CAApB,EAAuB,CAAvB;QACA,KAAKX,QAAL;MACH;IACJ,CALD;EAMH;;AAzHgC;;;mBAAxBwlB,0BAAwBjnB,+DAAAA,CAAAA,yEAAAA,GAAAA,+DAAAA,CAAAA,2EAAAA,GAAAA,+DAAAA,CAAAA,yEAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA,GAAAA,+DAAAA,CAAAA,iDAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA;AAAA;;;QAAxBinB;EAAwBlc;EAAAuc;EAAAN;IAAA;;;;;;;;;;;;MA1C7BhnB,4DAAAA,cAAyG,CAAzG,EAAyG,KAAzG,EAAyG,CAAzG,EAAyG,CAAzG,EAAyG,IAAzG,EAAyG,CAAzG;MAEyBA,oDAAAA;;MAA2CA,0DAAAA;MAE5DA,4DAAAA;MAAuCA,oDAAAA;MAAiBA,0DAAAA;MACxDA,4DAAAA;MAAuCA,oDAAAA;MAAiBA,0DAAAA;MAExDA,4DAAAA;MAAMA,wDAAAA;QAAA,OAAYmM,gBAAZ;MAAwB,CAAxB;MACFnM,wDAAAA;MAoBAA,4DAAAA,eAA8C,EAA9C,EAA8C,QAA9C,EAA8C,CAA9C;;MAEQA,oDAAAA;;MACJA,0DAAAA;MACAA,4DAAAA;MAAQA,wDAAAA;QAAA,OAASmM,gBAAT;MAAqB,CAArB;MACJnM,oDAAAA;;MACJA,0DAAAA;;;;MAhCSA,uDAAAA;MAAAA,+DAAAA,CAAAA,yDAAAA;MAEsBA,uDAAAA;MAAAA,+DAAAA;MACAA,uDAAAA;MAAAA,+DAAAA;MAG7BA,uDAAAA;MAAAA,wDAAAA;MAqBMA,uDAAAA;MAAAA,wDAAAA,aAAAA,yDAAAA;MACJA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;MAGAA,uDAAAA;MAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;AC5CmB;AACuE;;AAQ/G,MAAM,gCAAgC;;gHAAhC,gCAAgC;6HAAhC,gCAAgC;kIAH9B,CAAC,gIAA0B,CAAC,YAC7B,yDAAY;mIAEb,gCAAgC,mBAL1B,gIAA0B,aAG/B,yDAAY,aAFZ,gIAA0B;;;;;;;;;;;;;;;;;;;ACAjC,MAAM,0BAA0B;IACnC,YAAoB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAEnD,cAAc,CAAC,QAAgB;QAC3B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvC,QAAQ,QAAQ,EAAE;YACd,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;gBACtF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;gBACjF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;gBAClF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;gBAC9E,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBACvF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBACnF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;gBACtF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBACnF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;gBACzF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;gBACzF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBACnF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBACxF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;gBACjF,MAAM;SACb;QACD,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvC,QAAQ,QAAQ,EAAE;YACd,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;gBAChF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;gBAChF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;gBACjF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;gBAC7E,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;gBACjF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBACvF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;gBAClF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBACrF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;gBAClF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBACvF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBACxF,MAAM;YACV,KAAK,CAAC;gBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;gBAClF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBACvF,MAAM;YACV,KAAK,GAAG;gBACJ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;gBAChF,MAAM;SACb;QACD,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,IAAc;QACnC,IAAI,IAAI,EAAE;YACN,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;aAAM;YACH,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;;oGAhGQ,0BAA0B;oJAA1B,0BAA0B;;;;;;;;;;;;;;;;;;ACNgB;AACP;;;;;;;;;;;;;;;;;;ACAD;AACqD;;AAQ7F,MAAM,0BAA0B;;oGAA1B,0BAA0B;uHAA1B,0BAA0B;4HAHxB,CAAC,8GAAoB,CAAC,YACvB,yDAAY;mIAEb,0BAA0B,mBALpB,8GAAoB,aAGzB,yDAAY,aAFZ,8GAAoB;;;;;;;;;;;;;;;;;;;;;ACC3B,MAAM,oBAAoB;IAC7B,YAAoB,OAAyB,EAAU,SAA2B;QAA9D,YAAO,GAAP,OAAO,CAAkB;QAAU,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAEtF,SAAS,CAAC,KAAU,EAAE,GAAS;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,CAAC,EAAE;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;SAC3E;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE;YACzC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACZ,IAAI,IAAI,KAAK,CAAC,EAAE;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAmC,EAAE;wBAC/D,IAAI,EAAE,IAAI;qBACb,CAAC,CAAC;iBACN;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oCAAoC,EAAE;wBAChE,IAAI,EAAE,IAAI;qBACb,CAAC,CAAC;iBACN;aACJ;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE;gBACnB,IAAI,IAAI,KAAK,CAAC,EAAE;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/F;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChG;aACJ;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE;gBACnB,IAAI,IAAI,KAAK,CAAC,EAAE;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC9F;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/F;aACJ;SACJ;aAAM;YACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAmC,EAAE;wBAC/D,IAAI,EAAE,IAAI;qBACb,CAAC,CAAC;iBACN;qBAAM,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oCAAoC,EAAE;wBAChE,IAAI,EAAE,IAAI;qBACb,CAAC,CAAC;iBACN;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC3F;aACJ;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/F;qBAAM,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChG;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iDAAiD,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpG;aACJ;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC9F;qBAAM,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/F;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACnG;aACJ;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;wFAlEQ,oBAAoB;wIAApB,oBAAoB;;;;;;;;;;;;;;;;;;ACPgB;AACP;;;;;;;;;;;;;;;;;ACDkB;AAEK;;AAK1D,MAAM,gBAAgB;IAJ7B;QAKY,mBAAc,GAAG,qDAAM,CAAC,2EAAc,CAAC,CAAC;KAKnD;IAHG,SAAS,CAAC,KAA4B;;QAClC,OAAO,UAAI,CAAC,cAAc,CAAC,aAAa,0CAAE,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IACvG,CAAC;;gFALQ,gBAAgB;gIAAhB,gBAAgB;;;;;;;;;;;;;;;;;;ACNkB;AAC8D;;AAQtG,MAAM,6BAA6B;;0GAA7B,6BAA6B;0HAA7B,6BAA6B;+HAH3B,CAAC,uHAAuB,CAAC,YAC1B,yDAAY;mIAEb,6BAA6B,mBALvB,uHAAuB,aAG5B,yDAAY,aAFZ,uHAAuB;;;;;;;;;;;;;;;;;;ACJ2B;;;AAKzD,MAAM,uBAAuB;IAChC,YAAoB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAEnD,SAAS,CAAC,IAAS;;QACf,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBACnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACnC;iBAAM;gBACH,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;iBACjE;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;iBACpE;aACJ;SACJ;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,OAAO,SAAS,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YAC3B,IAAI,yEAAc,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;aACzE;iBAAM;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;aAC1E;SACJ;aAAM;YACH,QAAQ,IAAI,CAAC,OAAO,EAAE;gBAClB,UAAU;gBACV,eAAe;gBACf,UAAU;gBACV,eAAe;gBACf,UAAU;gBACV,eAAe;gBACf,UAAU;gBACV,eAAe;gBACf,KAAK,CAAC;oBACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;gBACxE,KAAK,CAAC;oBACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;gBACxE,KAAK,CAAC;oBACF,OAAO,iBAAI,CAAC,gBAAgB,0CAAE,KAAK,0CAAE,MAAM;wBACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kCAAkC,CAAC;wBAC5D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;gBACrE,KAAK,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;wBACjD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;qBAC/E;yBAAM;wBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;qBAC1E;gBACL,KAAK,CAAC;oBACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;gBAC3E,UAAU;gBACV,eAAe;gBACf,KAAK,EAAE;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;gBAC5E,KAAK,EAAE;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBACpF,KAAK,EAAE;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;aAC9E;SACJ;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC;;8FA5DQ,uBAAuB;8IAAvB,uBAAuB;;;;;;;;;;;;;;;;;;ACPgB;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDG;AACN;AACG;AACT;AACW;AACX;AACH;AACK;AACF;;;;;;;;;;;;;;;;;;ACRO;AACP;;;;;;;;;;;;;;;;;;ACAW;AACmC;;AAQ3E,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;sHAHlB,CAAC,4FAAc,CAAC,YACjB,yDAAY;mIAEb,oBAAoB,mBALd,4FAAc,aAGnB,yDAAY,aAFZ,4FAAc;;;;;;;;;;;;;;;;;;ACJa;;;AAKlC,MAAM,cAAc;IACvB,YAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAE1D,SAAS,CAAC,KAAU,EAAE,IAAU;QAC5B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE;YACpC,OAAO,GAAG,CAAC;SACd;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC/C,IAAI,IAAI,EAAE;YACN,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACpC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,GAAG,GAAG,IAAI,mDAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAChB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,MAAM;aACT;SACJ;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;YAC7B,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;;4EAxBQ,cAAc;4HAAd,cAAc;;;;;;;;;;;;;;;;;;ACP2B;AACP;;;;;;;;;;;;;;;;;;ACAA;AAC2B;;AAQnE,MAAM,8BAA8B;;4GAA9B,8BAA8B;2HAA9B,8BAA8B;gIAH5B,CAAC,mFAAwB,CAAC,YAC3B,yDAAY;mIAEb,8BAA8B,mBALxB,mFAAwB,aAG7B,yDAAY,aAFZ,mFAAwB;;;;;;;;;;;;;;;;;ACA/B,MAAM,wBAAwB;IACjC,SAAS,CAAC,KAAwC;QAC9C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;IAChH,CAAC;;gGAHQ,wBAAwB;gJAAxB,wBAAwB;;;;;;;;;;;;;;;;;;ACNM;AACP;;;;;;;;;;;;;;;;;;ACAW;AACmC;;AAQ3E,MAAM,oBAAoB;;wFAApB,oBAAoB;iHAApB,oBAAoB;sHAHlB,CAAC,4FAAc,CAAC,YACjB,yDAAY;mIAEb,oBAAoB,mBALd,4FAAc,aAGnB,yDAAY,aAFZ,4FAAc;;;;;;;;;;;;;;;;;;ACJa;;;AAKlC,MAAM,cAAc;IACvB,YAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAE1D,SAAS,CAAC,KAAU;QAChB,MAAM,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpE,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,EAAE;YACP,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,KAAK,WAAW,EAAE;gBACpB,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;gBAChD,OAAO,8BAA8B,GAAG,aAAa,IAAI,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;oBACxF,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC5C,EAAE,aAAa,CAAC;iBACnB;gBACD,IAAI,8BAA8B,GAAG,aAAa,EAAE;oBAChD,OAAO,SAAS,CAAC;iBACpB;gBACD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aACxF;iBAAM;gBACH,aAAa,GAAG,CAAC,CAAC;aACrB;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAChB,OAAO,SAAS,CAAC;aACpB;YACD,IAAI,aAAa,GAAG,8BAA8B,EAAE;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,8BAA8B,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;oBACvE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;iBACzB;aACJ;YACD,MAAM,GAAG,IAAI,mDAAS,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;SACjD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;;4EAlCQ,cAAc;4HAAd,cAAc;;;;;;;;;;;;;;;;;;ACPa;AACP;;;;;;;;;;;;;;;;;;ACAc;AAC2B;;AAQnE,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;oHAHhB,CAAC,oFAAY,CAAC,YACf,yDAAY;mIAEb,kBAAkB,mBALZ,oFAAY,aAGjB,yDAAY,aAFZ,oFAAY;;;;;;;;;;;;;;;;;;;ACAnB,MAAM,YAAY;IACrB,YAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAE/C,SAAS,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;;wEALQ,YAAY;wHAAZ,YAAY;;;;;;;;;;;;;;;;;ACAlB,MAAM,eAAe;IACxB,SAAS,CAAC,KAAgC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;QAC3D,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACvE,CAAC;;8EAHQ,eAAe;kIAAf,eAAe;;;;;;;;;;;;;;;;;;ACJ4B;;;;AAGjD,MAAM,iBAAiB;IAG1B,YAAoB,MAAc,EAAU,QAAkB;QAA1C,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAFtD,YAAO,GAAa,EAAE,CAAC;QAG3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,KAAK,YAAY,0DAAa,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;aAC9C;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI;QACA,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACxB;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;SACzC;IACL,CAAC;;kFAlBQ,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBADJ,MAAM;;;;;;;;;;;;;;;;;;ACJwF;AAE1B;;;AAKvF,MAAM,YAAY;IAGrB,YACY,wBAAkD,EAClD,MAAsB,EACtB,QAAkB,EAClB,MAAc,EACd,SAA2B;QAJ3B,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,WAAM,GAAN,MAAM,CAAgB;QACtB,aAAQ,GAAR,QAAQ,CAAU;QAClB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAkB;QAP/B,eAAU,GAAU,EAAE,CAAC;IAQ5B,CAAC;IAEJ,YAAY,CAAC,IAA2C,EAAE,OAAO;;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC/B,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,sGAAuB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvG,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,UAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,0CAAE,SAAS,CAAC;YAC1D,IAAI,EAAE,GAAG,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,KAAK;QACb,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,OAAO,GAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;YACtG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,KAAK;QACb,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACnC;IACL,CAAC;;wEAlDQ,YAAY;6GAAZ,YAAY,WAAZ,YAAY,mBAFT,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;ACLtB;AAGA;AACA;AAGA;AAEA;;;;AAKM,MAAO0R,gBAAP,CAAuB;EA8HzBpkB,YAAoBwT,MAApB,EAA4CnT,MAA5C,EAAoE65B,kBAApE,EAA+G;IAAA;;IAA3F;IAAwB;IAAwB;IA7HpE,4BAAuB,IAAI9Y,iDAAJ,CAA6B,KAA7B,CAAvB;IAIA,uBAAkB,IAAIA,iDAAJ,CAA6B,KAA7B,CAAlB;IAEA,aAAQ,IAAIA,iDAAJ,CAAyB,EAAzB,CAAR;IAEA,0BAA0C,KAAK5D,KAAL,CAAWrB,IAAX,CAAgB1c,mDAAG,CAAE06B,IAAD,IAAS;;;MACnE,OAAOzB,OAAO,CAAC,UAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAG,mBAAH,CAAJ,MAA2B,IAA3B,IAA2B9X,aAA3B,GAA2B,MAA3B,GAA2BA,GAAG,CAAH,CAA5B,CAAd;IACH,CAF4D,CAAnB,EAEtC0V,oEAAoB,EAFkB,CAA1C;IAIA,qBAAgB,EAAhB;IAEA,oBAAe,KAAf;IAEA,cAAS,EAAT;IAEA,eAAU,EAAV;IAMA,gBAAW,KAAX;IAEA,uBAAkB,CAAlB;IAEA,8BAAyB,CAAzB;IAEA,uBAAkB,MAAlB;IAIA,kBAAa,CAAb;IAEA,6BAAwB,CAAxB;IAEA,kBAAa,CAAb;IAEA,kBAAa,CAAb;IAEA,kBAAa,CAAb;IAEA,aAAQ,CAAR;IAEA,4BAAuB,EAAvB;IAEA,8BAAyB,CAAzB;IAEA,oBAAe,CAAf;IAEA,iBAAY,IAAIlV,iDAAJ,CAAmC,IAAnC,CAAZ;IAEA,uBAAkB,IAAIA,iDAAJ,CAAoC,EAApC,CAAlB;IAEA,YAAO;MACHjK,cAAc,EAAE,CADb;MAEHC,mBAAmB,EAAE;IAFlB,CAAP;IAKO,oBAAiD,EAAjD;IACP,gBAAW;MACPD,cAAc,EAAE,CADT;MAEPC,mBAAmB,EAAE;IAFd,CAAX;IAIA,4BAAuB,KAAvB,CA2D+G,CA3DjF;;IAC9B,mBAAc,gBAAd;IACA,uBAAkB,IAAIzY,mDAAJ,CAAc,aAAd,CAAlB;IACA,gBAAW;MACPujB,WAAW,EAAE,EADN;MAEPxG,MAAM,EAAE,CAFD;MAGPJ,KAAK,EAAE,MAHA;MAIPD,SAAS,EAAE,KAJJ;MAKPnH,QAAQ,EAAE,IALH;MAMP5O,YAAY,EAAE,GANP;MAOPsU,eAAe,EAAE,EAPV;MAQPH,kBAAkB,EAAE,EARb;MASP3Q,iBAAiB,EAAE;QACfwZ,aAAa,EAAE,KADA;QAEf1Z,MAAM,EAAE;MAFO,CATZ;MAaP7F,OAAO,EAAE;IAbF,CAAX;IAeA,aAAQ,EAAR;IACA,gBAAW,CAAX;IACA,eAAU,KAAV;IACA,mBAAc,EAAd,CAsC+G,CAtC7F;;IAClB,eAAyB,EAAzB;IAEA,eAAmB,EAAnB;IACA,sBAAsB,EAAtB;IACA,yBAAoB,KAApB;IACA,2BAAsB,EAAtB;IACA,wBAAmB,GAAnB;IACA,oBAAe,KAAf;IACA,gBAA2B,EAA3B;IACA,eAAU,qDAAV;IACA,0BAA0B,EAA1B;IACA,wBAAmB,IAAIqe,iDAAJ,CAAoB,IAApB,CAAnB;IACA,yBAAoB,IAAIA,iDAAJ,CAAoB,IAApB,CAApB;IACA,yBAAoB,IAAIA,iDAAJ,CAAoB,IAApB,CAApB;IACA,6BAAwB,IAAIA,iDAAJ,CAAoB,IAApB,CAAxB;IACA,qBAAgB,IAAIA,iDAAJ,CAAoB,IAApB,CAAhB;IACA,+BAA0B,IAAIA,iDAAJ,CAAoB,IAApB,CAA1B;IACA,4BAAuB,IAAIA,iDAAJ,CAAoB,IAApB,CAAvB;IACA,iCAA4B,IAAIA,iDAAJ,CAA4B,IAA5B,CAA5B;IACA,YAAO,IAAI6Y,6CAAJ,GAAWG,kBAAX,GAAgCC,EAAhC,oKAAmC,aAAW;MACjD,IAAI,KAAI,CAACz1B,OAAL,KAAiB,EAArB,EAAyB;QACrB,KAAI,CAAC01B,aAAL;MACH,CAFD,MAEO;QACH,MAAM,KAAI,CAACj6B,MAAL,CAAYqP,GAAZ,oKAAgB,aAAW;UAC7B,KAAI,CAAC4qB,aAAL;;UACA,KAAI,CAAC11B,OAAL,GAAe,EAAf;UACA,KAAI,CAACqX,QAAL,GAAgB,KAAhB;UACA,MAAM,KAAI,CAACzI,MAAL,CAAYmI,QAAZ,CAAqB,CAAC,QAAD,CAArB,EAAiC;YACnCK,WAAW,EAAE;cAAEpc,IAAI,EAAE;YAAR;UADsB,CAAjC,CAAN;QAGH,CAPK,EAAN;MAQH;IACJ,CAbM,EAAP;EAkBmH;;EAzGrG,IAAV26B,UAAU;IACV,OAAO7B,OAAO,CAAC,KAAK9zB,OAAN,CAAd;EACH;;EAyGsB,IAAnB41B,mBAAmB;IACnB,IAAI,KAAKhoB,aAAT,EAAwB;MACpB,MAAM;QAAE3L;MAAF,IAAgB,KAAK2L,aAA3B;MACA,OAAO,KAAKqD,YAAL,CAAkBhP,SAAlB,KAAgC,KAAvC;IACH;;IACD,OAAO,KAAP;EACH;;EAEwB,IAArB4zB,qBAAqB;IACrB,IAAI,KAAKjoB,aAAT,EAAwB;MACpB,MAAM;QAAE2C;MAAF,IAAa,KAAK3C,aAAxB;MACA,OAAO2C,MAAP;IACH;;IACD,OAAO,KAAP;EACH;;EAE4B,IAAzBuP,yBAAyB;;;IACzB,OAAO,WAAK3hB,OAAL,CAAatD,GAAb,CAAiB,CAAC;MAAEgB;IAAF,CAAD,KAAcA,IAA/B,OAAoC,IAApC,IAAoCmgB,aAApC,GAAoCA,EAApC,GAAwC,EAA/C;EACH;;EAED3K,WAAW,CAACsD,SAAD,EAAkB;IACzB,IAAIA,SAAS,KAAK,KAAKP,UAAvB,EAAmC;MAC/B,KAAKA,UAAL,GAAkBO,SAAlB;MACA,KAAK4B,gBAAL,CAAsB7Y,IAAtB,CAA2BiX,SAA3B;IACH;EACJ;;EAEDlD,YAAY,CAACC,MAAD,EAAe;IACvB,IAAIA,MAAM,KAAK,KAAK2C,UAApB,EAAgC;MAC5B,KAAKA,UAAL,GAAkB3C,MAAlB;MACA,KAAKokB,iBAAL,CAAuBp4B,IAAvB,CAA4BgU,MAA5B;IACH;EACJ;;EAEDC,YAAY,CAACD,MAAD,EAAe;IACvB,IAAIA,MAAM,KAAK,KAAKqkB,UAApB,EAAgC;MAC5B,KAAKA,UAAL,GAAkBrkB,MAAlB;MACA,KAAKskB,iBAAL,CAAuBt4B,IAAvB,CAA4BgU,MAA5B;IACH;EACJ;;EAEDG,kBAAkB,CAACokB,KAAD,EAAc;IAC5B,IAAIA,KAAK,KAAK,KAAKC,UAAnB,EAA+B;MAC3B,KAAKA,UAAL,GAAkB,KAAKC,SAAL,CAAeF,KAAf,CAAlB;MACA,KAAKG,qBAAL,CAA2B14B,IAA3B,CAAgCu4B,KAAhC;IACH;EACJ;;EAEDlkB,aAAa,CAACkkB,KAAD,EAAc;IACvB,IAAIA,KAAK,KAAK,KAAK1R,KAAnB,EAA0B;MACtB,KAAKA,KAAL,GAAa,KAAK4R,SAAL,CAAeF,KAAf,CAAb;MACA,KAAKI,aAAL,CAAmB34B,IAAnB,CAAwBu4B,KAAxB;IACH;EACJ;;EAED7iB,kBAAkB,CAACnR,SAAD,EAAkB;IAChC,KAAK6zB,iBAAL,CAAuBp4B,IAAvB,CAA4BuE,SAA5B;EACH;;EAEDgU,aAAa;IACT,KAAKge,oBAAL,CAA0Bv2B,IAA1B,CAA+B,IAA/B;EACH;;EAEDijB,gBAAgB,CAAC7X,EAAD,EAAG;IACf,KAAK3K,OAAL,CAAaE,OAAb,CAAqBC,MAAM,IAAG;MAC1B,IAAIA,MAAM,CAAC2D,SAAP,KAAqB6G,EAAzB,EAA6B;QACzB,KAAK8E,aAAL,GAAqBtP,MAArB;QACA,KAAK8mB,yBAAL,CAA+B1nB,IAA/B,CAAoCY,MAApC;MACH;IACJ,CALD;EAMH;;EAEDgS,SAAS,CAACxH,EAAD,EAAG;IACR,KAAK,IAAI9M,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmC,OAAL,CAAalC,MAAjC,EAAyCD,CAAC,EAA1C,EAA8C;MAC1C,IAAI,KAAKmC,OAAL,CAAanC,CAAb,EAAgBiG,SAAhB,KAA8B6G,EAAlC,EAAsC;QAClC,OAAO,KAAK3K,OAAL,CAAanC,CAAb,CAAP;MACH;IACJ;;IACD,OAAO,IAAP;EACH;;EAEDs6B,kBAAkB;IACd,KAAK,IAAIt6B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmC,OAAL,CAAalC,MAAjC,EAAyCD,CAAC,EAA1C,EAA8C;MAC1C,IAAI,CAAC,KAAKmC,OAAL,CAAanC,CAAb,EAAgBuU,MAArB,EAA6B;QACzB,OAAO,KAAKpS,OAAL,CAAanC,CAAb,CAAP;MACH;IACJ;;IACD,OAAO,IAAP;EACH;;EAEDuhB,cAAc;IACV,KAAKgZ,IAAL,CAAUC,MAAV,CAAiB,KAAKp4B,QAAL,CAAckf,WAA/B,EAA4CmZ,KAA5C;EACH;;EAEDf,aAAa;IACT,KAAKa,IAAL,CAAUG,IAAV;EACH;;EAEDC,gBAAgB;IACZ,IAAI7C,OAAO,CAAC,KAAK11B,QAAL,CAAckf,WAAf,CAAX,EAAwC;MACpC,KAAKiZ,IAAL,CAAUC,MAAV,CAAiB,KAAKp4B,QAAL,CAAckf,WAA/B,EAA4CsZ,OAA5C;IACH,CAFD,MAEO;MACH,KAAKlB,aAAL;IACH;EACJ;;EAEDS,SAAS,CAACF,KAAD,EAAM;IACX,OAAOY,MAAM,CAAC,CAACZ,KAAK,GAAG7jB,IAAI,CAAC0kB,GAAL,CAAS,IAAT,EAAe,CAAf,CAAT,EAA4BrkB,OAA5B,CAAoC,CAApC,CAAD,CAAb;EACH;;EAEDskB,aAAa,CAAC7U,MAAD,EAAmB;IAC5BA,MAAM,CAACmK,MAAP,CAAc,uBAAd,IAAyCnK,MAAM,CAACmK,MAAP,CAAc,gBAAd,CAAzC;IACAnK,MAAM,CAACmK,MAAP,CAAc,qBAAd,IAAuCnK,MAAM,CAACmK,MAAP,CAAc,cAAd,CAAvC;;IACA,IACInK,MAAM,CAACmK,MAAP,KACCnK,MAAM,CAACmK,MAAP,CAAc,UAAd,EAA0B2K,WAA1B,OAA4C,UAA5C,IAA0D9U,MAAM,CAACmK,MAAP,CAAc,UAAd,EAA0B2K,WAA1B,OAA4C,OADvG,KAEA,CAAC9U,MAAM,CAACmK,MAAP,CAAc,UAAd,CAHL,EAIE;MACE,KAAKiJ,kBAAL,CAAwB2B,IAAxB,CAA6B,KAAKC,cAAlC,EAAkD;QAC9CC,CAAC,EAAEjV,MAAM,CAACiV,CADoC;QAE9CC,CAAC,EAAElV,MAAM,CAACkV,CAFoC;QAG9Cl9B,KAAK,EAAEgoB,MAAM,CAACmK;MAHgC,CAAlD;MAKAnK,MAAM,CAAC+J,cAAP;MACA/J,MAAM,CAACmV,eAAP;IACH;EACJ;;EAEDC,qBAAqB,CAACpV,MAAD,EAAqBqV,QAArB,EAAsC;IACvDrV,MAAM,CAAC+J,cAAP;IACA/J,MAAM,CAACmV,eAAP;IACA,KAAK/B,kBAAL,CAAwB2B,IAAxB,CAA6B,KAAKO,mBAAlC,EAAuD;MACnDt9B,KAAK,EAAEq9B,QAD4C;MAEnDJ,CAAC,EAAEjV,MAAM,CAACiV,CAFyC;MAGnDC,CAAC,EAAElV,MAAM,CAACkV;IAHyC,CAAvD;EAKH;;EAEDK,wBAAwB,CAACvV,MAAD,EAAmB;IACvCA,MAAM,CAACmK,MAAP,CAAc,uBAAd,IAAyCnK,MAAM,CAACmK,MAAP,CAAc,gBAAd,CAAzC;IACAnK,MAAM,CAACmK,MAAP,CAAc,qBAAd,IAAuCnK,MAAM,CAACmK,MAAP,CAAc,cAAd,CAAvC;IAEAjwB,OAAO,CAACE,IAAR,CAAa4lB,MAAM,CAACmK,MAApB;IACAjwB,OAAO,CAACE,IAAR,CAAa4lB,MAAM,CAACmK,MAAP,CAAc,UAAd,CAAb;;IAEA,IACInK,MAAM,CAACmK,MAAP,KACCnK,MAAM,CAACmK,MAAP,CAAc,UAAd,EAA0B2K,WAA1B,OAA4C,UAA5C,IAA0D9U,MAAM,CAACmK,MAAP,CAAc,UAAd,EAA0B2K,WAA1B,OAA4C,OADvG,KAEA,CAAC9U,MAAM,CAACmK,MAAP,CAAc,UAAd,CAHL,EAIE;MACE,KAAKiJ,kBAAL,CAAwB2B,IAAxB,CAA6B,KAAKS,sBAAlC,EAA0D;QACtDP,CAAC,EAAEjV,MAAM,CAACiV,CAD4C;QAEtDC,CAAC,EAAElV,MAAM,CAACkV,CAF4C;QAGtDl9B,KAAK,EAAEgoB,MAAM,CAACmK;MAHwC,CAA1D;MAKAnK,MAAM,CAAC+J,cAAP;MACA/J,MAAM,CAACmV,eAAP;IACH;EACJ;;AA9RwB;;;mBAAhB7X,kBAAgB1R,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,iDAAAA,GAAAA,sDAAAA,CAAAA,8EAAAA;AAAA;;;SAAhB0R;EAAgBzR,SAAhByR,gBAAgB;EAAAxR,YAFb;;;;;;;;;;;;;;;;;;;;;ACZhB;;;;;AAWM,MAAO2R,cAAP,CAAqB;EAiBvBvkB,YACYuT,cADZ,EAEYrT,gBAFZ,EAGYsT,MAHZ,EAIYnT,MAJZ,EAI0B;IAHd;IACA;IACA;IACA;EACR;;EArBO,IAAP0C,OAAO;IACP,OAAO,KAAK7C,gBAAL,CAAsB6C,OAA7B;EACH;;EAEU,IAAPA,OAAO,CAACjE,KAAD,EAAM;IACb,KAAKoB,gBAAL,CAAsB6C,OAAtB,GAAgCjE,KAAhC;EACH;;EAEgB,IAAb0T,aAAa;IACb,OAAO,KAAKtS,gBAAL,CAAsBsS,aAA7B;EACH;;EAEgB,IAAbA,aAAa,CAAC1T,KAAD,EAAM;IACnB,KAAKoB,gBAAL,CAAsBsS,aAAtB,GAAsC1T,KAAtC;EACH;;EASDklB,SAAS,CAAC9gB,MAAD,EAAe;IACpB,MAAM;MAAE2D;IAAF,IAAgB3D,MAAtB;IACA,KAAKhD,gBAAL,CAAsB6C,OAAtB,CAA8BI,IAA9B,CAAmCD,MAAnC;IACA,KAAK0lB,gBAAL,CAAsB/hB,SAAtB;EACH;;EAED01B,mBAAmB,CAAC11B,SAAD,EAAkB;IACjC,MAAM3D,MAAM,GAAG,KAAKs5B,aAAL,CAAmB31B,SAAnB,CAAf;;IAEA,IAAI,CAAC3D,MAAL,EAAa;MACTlC,OAAO,CAACE,IAAR,CAAa,kDAAkD2F,SAAS,kCAAxE;MACA;IACH;;IAED,MAAM/C,MAAM,GAAkB;MAC1ByZ,OAAO,EAAE,KADiB;MAE1B7P,EAAE,EAAE,CAFsB;MAG1B+M,MAAM,EAAE,sBAHkB;MAI1B3W,MAAM,EAAE;IAJkB,CAA9B;IAMA,KAAKyP,cAAL,CAAoBvC,eAApB,CAAoC,CAACnK,SAAD,EAAY/C,MAAZ,CAApC,EAAyD,CAACkK,MAAD,EAAS8D,aAAT,KAA0D;MAC/G,MAAM;QAAEL;MAAF,IAAaK,aAAnB;MACA5O,MAAM,CAACu5B,mBAAP,GAA6BhrB,MAA7B;IACH,CAHD;EAIH;;EAED+qB,aAAa,CAAC31B,SAAD,EAAkB;IAC3B,MAAM;MAAE9D;IAAF,IAAc,KAAK7C,gBAAzB;IACA,OAAO6C,OAAO,CAAC2W,IAAR,CAAagjB,CAAC,IAAIA,CAAC,CAAC71B,SAAF,KAAgBA,SAAlC,CAAP;EACH;;EAED+hB,gBAAgB,CAAC/hB,SAAD,EAAkB;IAC9B,MAAM3D,MAAM,GAAG,KAAKs5B,aAAL,CAAmB31B,SAAnB,CAAf;;IAEA,IAAI,CAAC3D,MAAL,EAAa;MACTlC,OAAO,CAACE,IAAR,CAAa,6CAA6C2F,SAAS,kCAAnE;MACA;IACH;;IACD,MAAMvF,QAAQ,GAAoE,CAAC0M,MAAD,EAAS8D,aAAT,KAA0B;MACxG,KAAKzR,MAAL,CAAYqP,GAAZ,CAAgB,MAAK;QACjB,IAAI1B,MAAJ,EAAY;UACR,MAAM;YAAEoH;UAAF,IAAetD,aAArB;UACA5O,MAAM,CAACkS,QAAP,GAAkBA,QAAlB;QACH;MACJ,CALD;IAMH,CAPD;;IASA,KAAK7B,cAAL,CAAoB1C,aAApB,CAAkChK,SAAlC,EAA6CvF,QAA7C;IAEA,KAAKi7B,mBAAL,CAAyB11B,SAAzB;EACH;;EAEDD,WAAW,CAACC,SAAD,EAAkB;IAAA;;IACzB,MAAMvF,QAAQ;MAAA,gKAAG,aAA0B;QACvC,KAAI,CAACyB,OAAL,GAAe,KAAI,CAACA,OAAL,CAAama,MAAb,CAAoBwf,CAAC,IAAIA,CAAC,CAAC71B,SAAF,KAAgBA,SAAzC,CAAf;QAEA,MAAM,KAAI,CAACxG,MAAL,CAAYqP,GAAZ,oKAAgB,aAAW;UAC7B,IAAIjE,GAAG,GAAG,GAAV;;UACA,IAAI,KAAI,CAAC1I,OAAL,CAAalC,MAAb,GAAsB,CAA1B,EAA6B;YACzB,KAAI,CAAC2R,aAAL,GAAqB,KAAI,CAACzP,OAAL,CAAa,CAAb,CAArB;YACA0I,GAAG,GAAG,UAAN;UACH;;UACD,IAAI,KAAI,CAACvL,gBAAL,CAAsB0E,OAA1B,EAAmC;YAC/B,KAAI,CAAC2O,cAAL,CAAoBpP,kBAApB;UACH;;UACD,MAAM,KAAI,CAACqP,MAAL,CAAYmI,QAAZ,CAAqB,CAAClQ,GAAD,CAArB,CAAN;QACH,CAVK,EAAN;MAWH,CAda;;MAAA,gBAARnK,QAAQ;QAAA;MAAA;IAAA,GAAd;;IAgBA,KAAKiS,cAAL,CAAoB3M,WAApB,CAAgCC,SAAhC,EAA2CvF,QAA3C;EACH;;AA9FsB;;;mBAAdijB,gBAAc7R,sDAAAA,CAAAA,yEAAAA,GAAAA,sDAAAA,CAAAA,+EAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,iDAAAA;AAAA;;;SAAd6R;EAAc5R,SAAd4R,cAAc;EAAA3R,YAFX;;;;;;;;;;;;;;;;;;ACRmC;AACd;;AAgB9B,MAAM,kBAAkB;IAH/B;QAIY,cAAS,GAAG,IAAI,iDAAe,CAAe;YAClD,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE;SACnD,CAAC,CAAC;KA8BN;IA5BG,QAAQ,CAAC,EAAa;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC;IACnE,CAAC;IAED,UAAU,CAAC,EAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAE,CAAC,CAAC;IACrE,CAAC;IAGD,IAAI,CAAC,EAAa,EAAE,UAAkB,SAAS;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;YACvB,CAAC,EAAE,CAAC,EAAE;gBACF,KAAK,EAAE,IAAI;gBACX,OAAO;aACV;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,EAAa;QACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK;YACvB,CAAC,EAAE,CAAC,EAAE;gBACF,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,KAAK,EAAE,KAAK;aACf;SACJ,CAAC,CAAC;IACP,CAAC;;oFAhCQ,kBAAkB;mHAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;AChBb,MAAM,SAAS,GAAa;IAC/B,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;CACR,CAAC;;;;;;;;;;;;;;;ACjFK,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAE;IAChE,MAAM,KAAK,GAAe,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,YAAY,GAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;;;;;;;;;;;;;;;;;;;ACDK,MAAM,YAAY,GAAyB;IAC9C,SAAS,EAAE,mCAAmC;CACjD,CAAC;AAEK,MAAM,aAAa,GAAyB;IAC/C,SAAS,EAAE,oBAAoB;CAClC,CAAC;AAEK,MAAM,iBAAiB,GAAyB;IACnD,SAAS,EAAE,2BAA2B;CACzC,CAAC;AAEK,MAAM,4BAA4B,GAAyB;IAC9D,SAAS,EAAE,2CAA2C;CACzD,CAAC;AAEK,MAAM,iBAAiB,GAAyB;IACnD,SAAS,EAAE,6BAA6B;CAC3C,CAAC;;;;;;;;;;;;;;;;;;;;;ACvBiF;AAC/B;AAE7C,MAAM,UAAU,GAAG,iBAAiB,CAAC;AACrC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,cAAc,GAAG,iDAAiD,CAAC;AAEzE,MAAM,cAAc;IACvB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAmB;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,gBAAwB,EAAE,iBAAyB,EAAE,YAAY,GAAG,UAAU;QAC3F,OAAO,CAAC,eAAgC,EAA2B,EAAE,CACjE,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACvI,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,oBAAuC;QACpD,OAAO,CAAC,EAAE,KAAK,EAAmB,EAA2B,EAAE;YAC3D,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACxC,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,oBAAoB,EAAE;gBAC7D,KAAK,GAAG,WAAW,CAAC;aACvB;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC7E,KAAK,GAAG,WAAW,CAAC;aACvB;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;IACN,CAAC;CACJ;AAEM,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAA+B,EAAE;IACjF,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC;KACf;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACvC,OAAO,IAAI,CAAC;KACf;IAED,IAAI,QAAQ,EAAE;QACV,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,qEAAgB,EAAE;YAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,8DAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrC,OAAO,uEAAiB,CAAC;aAC5B;YACD,KAAK,EAAE,CAAC;SACX;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;AC3DiD;AAGvB;;;;AAKrB,MAAM,iBAAiB;IAC1B,YAAoB,SAA2B,EAAU,MAAc,EAAU,eAAgC;QAA7F,cAAS,GAAT,SAAS,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAErH,QAAQ,CAAC,WAAW,GAAG,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,EAAE;YACjB,WAAW,GAAG,CAAC,CAAC;SACnB;aAAM,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE;YAC9D,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC;SACzD;QACD,IAAI,SAAiB,EAAE,OAAe,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACpE,SAAS,GAAG,CAAC,CAAC;YACd,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC;SACrD;aAAM;YACH,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC1E,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,WAAW,IAAI,yBAAyB,EAAE;gBAC1C,SAAS,GAAG,CAAC,CAAC;gBACd,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;oBAC7D,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACrC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAC7D;iBAAM,IAAI,WAAW,GAAG,wBAAwB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE;gBAC1F,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC;aACrD;iBAAM;gBACH,SAAS,GAAG,WAAW,GAAG,yBAAyB,CAAC;gBACpD,OAAO,GAAG,WAAW,GAAG,wBAAwB,CAAC;aACpD;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,QAAQ;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;QAC7D,IAAI,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,MAAM,IAAI,CAAC,CAAC;SACtB;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC/D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAM,GAAG,GAAG,yCAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACrE,IAAI,SAAS,EAAE;gBACX,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;aAC5B;iBAAM;gBACH,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBACjE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;aACrC;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,IAAI;QACV,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAClD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;gBAC7D,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;gBAClG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC;qBACnF,IAAI,CAAC,CAAC,CAAC;qBACP,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;SACpD;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;YAC7C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;gBAC7D,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;gBAClG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC;qBACnF,IAAI,CAAC,CAAC,CAAC;qBACP,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;SACpD;IACL,CAAC;IAED,cAAc,CAAC,IAAI,EAAE,MAAM;QACvB,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC7C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;oBAC3E,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;wBACpE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;qBAC3G;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;;kFAzFQ,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;ACLiB;AACX;;AAWrB,MAAM,eAAe;IAH5B;QAIY,YAAO,GAAG,IAAI,iDAAe,CAAiB,IAAI,CAAC,CAAC;KAoB/D;IAlBG,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,WAAW;QACxB,MAAM,GAAG,GAAG,yCAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,UAAkB,EAAE,MAAc,EAAE,QAAgB;QACxD,IAAI,QAAQ,GAAY,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;;8EApBQ,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;;ACXqC;AACR;;AASnD,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,gCAAmB;IACnB,0BAAa;AACjB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAOD,MAAM,YAAY,GAAU;IACxB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CAClB,CAAC;AAKK,MAAM,KAAK;IAHlB;QAIY,YAAO,GAAG,IAAI,iDAAe,CAAQ,YAAY,CAAC,CAAC;QACnD,UAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oEAAoB,EAAE,CAAC,CAAC;KAa5E;IAXG,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,MAAM,CAAI,IAAe;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mDAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAA6B,CAAC;IAClF,CAAC;IAED,GAAG,CAAC,IAAe,EAAE,KAAU;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;;0DAdQ,KAAK;sGAAL,KAAK,WAAL,KAAK,mBAFF,MAAM;;;;;;;;;;;;;;;AC1BtB,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACvB,UAAU,EAAE,KAAK;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;;;;;ACfvB;AAGF;AACY;AACzC;AAET,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAEpD,IAAI,6EAAsB,EAAE;IACxB,6DAAc,EAAE,CAAC;CACpB;AAED,wEAAwB;KACnB,eAAe,CAAC,sDAAS,CAAC;KAC1B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC","sources":["./src/app/api/models/wallet.model.ts","./src/app/api/services/backend.service.ts","./src/app/api/services/wrap-info.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/layouts/full-layout/full-layout.component.ts","./src/app/layouts/full-layout/full-layout.module.ts","./src/app/layouts/sidebar/sidebar.component.ts","./src/app/layouts/sidebar/sidebar.module.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.component.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.module.ts","./src/app/pages/add-wallet/add-wallet.component.ts","./src/app/pages/assign-alias/assign-alias.component.ts","./src/app/pages/auth/auth-routing.module.ts","./src/app/pages/auth/auth.module.ts","./src/app/pages/auth/login/login.component.ts","./src/app/pages/auth/no-wallet/no-wallet.component.ts","./src/app/pages/create-wallet/create-wallet.component.ts","./src/app/pages/deeplink/deeplink.component.ts","./src/app/pages/deeplink/deeplink.module.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.component.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.module.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.component.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.module.ts","./src/app/pages/edit-alias/edit-alias.component.ts","./src/app/pages/export-import/export-import.component.ts","./src/app/pages/open-wallet/open-wallet.component.ts","./src/app/pages/pages-routing.module.ts","./src/app/pages/pages.module.ts","./src/app/pages/paths.ts","./src/app/pages/restore-wallet/restore-wallet.component.ts","./src/app/pages/seed-phrase/seed-phrase.component.ts","./src/app/pages/settings/settings.component.ts","./src/app/pages/transfer-alias/transfer-alias.component.ts","./src/app/pages/wallet-details/wallet-details.component.ts","./src/app/pages/wallet/tabs/assets/assets.component.ts","./src/app/pages/wallet/tabs/history/history.component.ts","./src/app/pages/wallet/tabs/receive/receive.component.ts","./src/app/pages/wallet/tabs/send/modals/send-details-modal/send-details-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/send-modal/send-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/wallet-modals.module.ts","./src/app/pages/wallet/tabs/send/send.component.ts","./src/app/pages/wallet/tabs/staking/staking.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.html","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.html","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.html","./src/app/pages/wallet/tabs/swap/parts/guards/swap-proposal-hex.guard.ts","./src/app/pages/wallet/wallet-routing.module.ts","./src/app/pages/wallet/wallet.module.ts","./src/app/pages/wallet/wallet/modals/add-custom-token/add-custom-token.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.module.ts","./src/app/pages/wallet/wallet/modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component.ts","./src/app/pages/wallet/wallet/modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component.html","./src/app/pages/wallet/wallet/modals/success-sweep-bare-outs/success-sweep-bare-outs.component.ts","./src/app/pages/wallet/wallet/modals/success-sweep-bare-outs/success-sweep-bare-outs.component.html","./src/app/pages/wallet/wallet/wallet.component.ts","./src/app/parts/components/back-button/back-button.component.ts","./src/app/parts/components/back-button/back-button.component.html","./src/app/parts/components/breadcrumbs/breadcrumbs.component.ts","./src/app/parts/components/breadcrumbs/breadcrumbs.component.html","./src/app/parts/components/checkbox.component.ts","./src/app/parts/components/copy-button.component.ts","./src/app/parts/components/loader.component.ts","./src/app/parts/components/register-context-templates.component.ts","./src/app/parts/components/staking-switch.component.ts","./src/app/parts/components/switch.component.ts","./src/app/parts/components/synchronization-status.component.ts","./src/app/parts/components/transaction-details.component.ts","./src/app/parts/components/wallet-card.component.ts","./src/app/parts/data/assets.ts","./src/app/parts/data/constants.ts","./src/app/parts/data/scale-items.ts","./src/app/parts/directives/autofocus.directive.ts","./src/app/parts/directives/back-button/back-button.directive.ts","./src/app/parts/directives/back-button/back-button.module.ts","./src/app/parts/directives/default-img/default-img.directive.ts","./src/app/parts/directives/default-img/default-img.module.ts","./src/app/parts/directives/default-img/index.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.directive.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.module.ts","./src/app/parts/directives/disable-price-fetch/index.ts","./src/app/parts/directives/index.ts","./src/app/parts/directives/input-disable-selection/index.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.directive.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.module.ts","./src/app/parts/directives/input-validate/index.ts","./src/app/parts/directives/input-validate/input-validate.directive.ts","./src/app/parts/directives/input-validate/input-validate.module.ts","./src/app/parts/directives/lower-case.directive.ts","./src/app/parts/directives/tooltip/index.ts","./src/app/parts/directives/tooltip/tooltip.directive.ts","./src/app/parts/directives/tooltip/tooltip.module.ts","./src/app/parts/functions/hasOwnProperty.ts","./src/app/parts/modals/asset-details/asset-details.component.ts","./src/app/parts/modals/asset-details/asset-details.module.ts","./src/app/parts/modals/confirm-modal/confirm-modal.component.ts","./src/app/parts/modals/confirm-modal/confirm-modal.module.ts","./src/app/parts/modals/modal-container/modal-container.component.ts","./src/app/parts/modals/open-wallet-modal/open-wallet-modal.component.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages-pipe.module.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe.ts","./src/app/parts/pipes/contract-status-messages-pipe/index.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left-pipe.module.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left.pipe.ts","./src/app/parts/pipes/contract-time-left-pipe/index.ts","./src/app/parts/pipes/get-asset-info.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages-pipe.module.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/index.ts","./src/app/parts/pipes/index.ts","./src/app/parts/pipes/int-to-money-pipe/index.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money-pipe.module.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money.pipe.ts","./src/app/parts/pipes/is-available-alias-name-pipe/index.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name-pipe.module.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name.pipe.ts","./src/app/parts/pipes/money-to-int-pipe/index.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int-pipe.module.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int.pipe.ts","./src/app/parts/pipes/safe-html-pipe/index.ts","./src/app/parts/pipes/safe-html-pipe/safe-html-pipe.module.ts","./src/app/parts/pipes/safe-html-pipe/safe-html.pipe.ts","./src/app/parts/pipes/short-string.pipe.ts","./src/app/parts/services/back.service.ts","./src/app/parts/services/modal.service.ts","./src/app/parts/services/variables.service.ts","./src/app/parts/services/wallets.service.ts","./src/app/parts/services/zano-loaders.service.ts","./src/app/parts/utils/MIME-types.ts","./src/app/parts/utils/generate-random-string.ts","./src/app/parts/utils/zano-errors.ts","./src/app/parts/utils/zano-validators.ts","./src/app/store/pagination/pagination.service.ts","./src/app/store/pagination/pagination.store.ts","./src/app/store/store.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Contracts } from './contract.model';\nimport { Transaction, Transactions } from './transaction.model';\nimport { BigNumber } from 'bignumber.js';\nimport { AssetBalance, AssetInfo, AssetBalances, AssetsInfoWhitelist } from './assets.model';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { MIXIN } from '@parts/data/constants';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\nexport const defaultSendMoneyParams: SendMoneyParams = {\n asset_id: zanoAssetInfo.asset_id,\n wallet_id: undefined,\n address: '',\n amount: undefined,\n comment: '',\n mixin: MIXIN,\n fee: '0.01',\n hide: false,\n};\n\nexport class Wallet {\n open_from_exist: boolean;\n updated = false;\n wallet_id: number;\n name: string;\n pass: string;\n path: string;\n address: string;\n\n private _balances$ = new BehaviorSubject(undefined);\n\n private _assetsInfoWhitelist: AssetsInfoWhitelist = { global_whitelist: [], local_whitelist: [], own_assets: [] };\n\n set assetsInfoWhitelist(value: AssetsInfoWhitelist) {\n this._assetsInfoWhitelist = value;\n }\n\n get allAssetsInfoWhitelist(): AssetInfo[] {\n const { global_whitelist = [], local_whitelist= [], own_assets= [] } = this._assetsInfoWhitelist;\n return [\n ...global_whitelist,\n ...local_whitelist,\n ...own_assets\n ];\n }\n\n get isEmptyAssetsInfoWhitelist(): boolean {\n return !this.allAssetsInfoWhitelist.length;\n }\n\n get allAssetsInfo(): AssetInfo[] {\n return [\n zanoAssetInfo,\n ...this.allAssetsInfoWhitelist\n ];\n }\n\n get balances$(): Observable {\n return this._balances$.asObservable();\n }\n\n get balances(): AssetBalances | null | undefined {\n return this._balances$.value;\n }\n\n set balances(value: AssetBalances | null | undefined) {\n const sortedAssets: AssetBalances = [];\n if (value) {\n const assets = [...value];\n const indexZano = assets.findIndex(({ asset_info: { ticker } }) => ticker === 'ZANO');\n if (indexZano >= 0) {\n const assetZano = assets.splice(indexZano, 1)[0];\n sortedAssets.push(assetZano);\n }\n const sortedAssetsByBalance = assets.sort((a, b) => new BigNumber(b.total).minus(new BigNumber(a.total)).toNumber());\n sortedAssets.push(...sortedAssetsByBalance);\n }\n this._balances$.next(sortedAssets);\n }\n\n get isEmptyBalances(): boolean {\n if (!this.balances) {\n return true;\n }\n\n for (const asset of this.balances) {\n const value = asset.total || 0;\n const isEmpty = !Boolean(new BigNumber(value).toNumber());\n\n if (!isEmpty) {\n return false;\n }\n }\n\n return true;\n }\n\n mined_total: number;\n tracking_hey: string;\n is_auditable: boolean;\n is_watch_only: boolean;\n exclude_mining_txs: boolean;\n alias_available: boolean;\n has_bare_unspent_outputs = false;\n\n alias?: Partial;\n wakeAlias?: boolean;\n staking?: boolean;\n new_messages?: number;\n new_contracts?: number;\n\n history: Transactions = [];\n total_history_item?: number;\n pages = [];\n totalPages: number;\n currentPage: number;\n excluded_history: Transactions = [];\n\n contracts: Contracts = [];\n\n progress?: number;\n loaded?: boolean;\n restore?: boolean;\n\n sendMoneyParams: SendMoneyParams | null = null;\n\n constructor(id, name, pass, path, address, balances, unlocked_balance, mined = 0, tracking = '') {\n this.wallet_id = id;\n this.name = name;\n this.pass = pass;\n this.path = path;\n this.address = address;\n this.balances = balances;\n this.mined_total = mined;\n this.tracking_hey = tracking;\n\n this.alias = {};\n this.staking = false;\n this.new_messages = 0;\n this.new_contracts = 0;\n\n this.history = [];\n this.excluded_history = [];\n\n this.progress = 0;\n this.loaded = false;\n }\n\n getBalanceByTicker(searchTicker: string): AssetBalance | undefined {\n return this.balances?.find(({ asset_info: { ticker } }) => ticker === searchTicker);\n }\n\n getMoneyEquivalentForZano(equivalent): string {\n const balanceZano = this.getBalanceByTicker('ZANO')?.total || 0;\n return new BigNumber(balanceZano).multipliedBy(equivalent).toFixed(0);\n }\n\n prepareHistory(items: Transaction[]): void {\n for (let i = 0; i < items.length; i++) {\n if (\n (items[i].tx_type === 7 && items[i].subtransfers?.find(({ is_income }) => is_income)) ||\n (items[i].tx_type === 11 && items[i].subtransfers?.find(({ is_income }) => is_income))\n ) {\n let exists = false;\n for (let j = 0; j < this.excluded_history.length; j++) {\n if (this.excluded_history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.excluded_history[j].height !== items[i].height) {\n this.excluded_history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n this.excluded_history.push(items[i]);\n }\n } else {\n let exists = false;\n for (let j = 0; j < this.history.length; j++) {\n if (this.history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.history[j].height !== items[i].height) {\n this.history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n if (this.history.length > 0 && items[i].timestamp >= this.history[0].timestamp) {\n this.history.unshift(items[i]);\n } else {\n this.history.push(items[i]);\n }\n }\n }\n }\n }\n\n removeFromHistory(hash: string): void {\n for (let i = 0; i < this.history.length; i++) {\n if (this.history[i].tx_hash === hash) {\n this.history.splice(i, 1);\n break;\n }\n }\n }\n}\n\nexport interface DeeplinkParams {\n action?: 'send' | string;\n address?: string;\n amount?: string;\n my_deposit?: string;\n seller_deposit?: string;\n seller_address?: string;\n hide_sender?: string;\n hide_receiver?: string;\n title?: string;\n description?: string;\n category?: string;\n price?: string;\n img_url?: string;\n url?: string;\n contact?: string;\n comment?: string;\n comments?: string;\n mixins?: string;\n fee?: string;\n}\n\nexport interface PushOffer {\n wallet_id: number;\n od: {\n ap: string;\n at: string;\n cat: string;\n cnt: string;\n com: string;\n do: string;\n et: number;\n fee: BigNumber;\n lci: string;\n lco: string;\n ot: number;\n pt: string;\n t: string;\n url: string;\n };\n}\n\nexport interface ResponseGetWalletInfo {\n address: string;\n balances: AssetBalances;\n is_auditable: boolean;\n is_watch_only: boolean;\n mined_total: number;\n path: string;\n view_sec_key: string;\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport JSONBigNumber from 'json-bignumber';\nimport { BigNumber } from 'bignumber.js';\nimport { ResponseGetWalletInfo } from '../models/wallet.model';\nimport {\n AssetInfo,\n ParamsAddCustomAssetId,\n ParamsRemoveCustomAssetId,\n ResponseAddCustomAssetId,\n ResponseRemoveCustomAssetId,\n} from '@api/models/assets.model';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\nexport interface PramsObj {\n [key: string]: any;\n}\n\nexport type PramsArray = (string | PramsObj)[];\n\nexport type Params = string | PramsObj | PramsArray;\n\nexport enum ParamsType {\n array = 'array',\n object = 'object',\n string = 'string',\n}\n\nexport const getParamsType = (value: Params): ParamsType | null => {\n if (!value) {\n return null;\n }\n const array: false | ParamsType.array = Array.isArray(value) && ParamsType.array;\n const object: false | ParamsType = Object.keys(ParamsType).includes(typeof value) && ParamsType[typeof value];\n return array || object || null;\n};\n\nexport type ConvertersObjectForTypes = {\n [key in ParamsType]: (value: Params) => string | string[];\n};\n\nexport const convertersObjectForTypes: ConvertersObjectForTypes = {\n [ParamsType.string]: (value: string): string => value,\n [ParamsType.object]: (value: PramsObj): string => JSONBigNumber.stringify(value),\n [ParamsType.array]: (value: PramsArray): string[] =>\n value.map(v => {\n return typeof v === ParamsType.string ? (v as string) : JSONBigNumber.stringify(v);\n }),\n};\n\nexport const convertorParams = (value: Params): string | string[] => {\n const type: ParamsType = getParamsType(value);\n return convertersObjectForTypes[type](value);\n};\n\nexport interface ResponseAsyncTransfer {\n error_code: string | 'NOT_ENOUGH_MONEY' | 'OK';\n response_data: {\n success: boolean;\n tx_blob_size: number;\n tx_hash: string;\n };\n}\n\nexport interface AsyncCommandResults {\n job_id: number;\n response: ResponseAsyncTransfer;\n}\n\nexport enum StatusCurrentActionState {\n STATE_SENDING = 'STATE_SENDING',\n STATE_SENT_SUCCESS = 'STATE_SENT_SUCCESS',\n STATE_SEND_FAILED = 'STATE_SEND_FAILED',\n STATE_INITIALIZING = 'STATE_INITIALIZING',\n STATE_DOWNLOADING_CONSENSUS = 'STATE_DOWNLOADING_CONSENSUS',\n STATE_MAKING_TUNNEL_A = 'STATE_MAKING_TUNNEL_A',\n STATE_MAKING_TUNNEL_B = 'STATE_MAKING_TUNNEL_B',\n STATE_CREATING_STREAM = 'STATE_CREATING_STREAM',\n STATE_FAILED = 'STATE_FAILED',\n STATE_SUCCESS = 'STATE_SUCCESS',\n}\n\nexport interface CurrentActionState {\n status: StatusCurrentActionState;\n wallet_id: number;\n}\n\nexport enum Commands {\n money_transfer_cancel = 'money_transfer_cancel',\n handle_deeplink_click = 'handle_deeplink_click',\n money_transfer = 'money_transfer',\n update_daemon_state = 'update_daemon_state',\n wallet_sync_progress = 'wallet_sync_progress',\n update_wallet_status = 'update_wallet_status',\n quit_requested = 'quit_requested',\n on_core_event = 'on_core_event',\n get_wallet_info = 'get_wallet_info',\n remove_custom_asset_id = 'remove_custom_asset_id',\n add_custom_asset_id = 'add_custom_asset_id',\n get_options = 'get_options',\n handle_current_action_state = 'handle_current_action_state',\n set_enable_tor = 'set_enable_tor',\n dispatch_async_call_result = 'dispatch_async_call_result',\n async_call = 'async_call',\n set_log_level = 'set_log_level',\n get_network_type = 'get_network_type',\n get_version = 'get_version',\n get_tx_pool_info = 'get_tx_pool_info',\n get_recent_transfers = 'get_recent_transfers',\n resync_wallet = 'resync_wallet',\n get_alias_coast = 'get_alias_coast',\n get_alias_info_by_address = 'get_alias_info_by_address',\n get_alias_info_by_name = 'get_alias_info_by_name',\n get_all_aliases = 'get_all_aliases',\n request_alias_update = 'request_alias_update',\n webkit_launched_script = 'webkit_launched_script',\n on_request_quit = 'on_request_quit',\n get_app_data = 'get_app_data',\n store_app_data = 'store_app_data',\n get_secure_app_data = 'get_secure_app_data',\n set_master_password = 'set_master_password',\n check_master_password = 'check_master_password',\n get_is_disabled_notifications = 'get_is_disabled_notifications',\n set_is_disabled_notifications = 'set_is_disabled_notifications',\n store_secure_app_data = 'store_secure_app_data',\n drop_secure_app_data = 'drop_secure_app_data',\n have_secure_app_data = 'have_secure_app_data',\n show_savefile_dialog = 'show_savefile_dialog',\n show_openfile_dialog = 'show_openfile_dialog',\n store_to_file = 'store_to_file',\n load_from_file = 'load_from_file',\n push_offer = 'push_offer',\n generate_wallet = 'generate_wallet',\n export_wallet_history = 'export_wallet_history',\n open_wallet = 'open_wallet',\n close_wallet = 'close_wallet',\n get_smart_wallet_info = 'get_smart_wallet_info',\n get_seed_phrase_info = 'get_seed_phrase_info',\n run_wallet = 'run_wallet',\n is_valid_restore_wallet_text = 'is_valid_restore_wallet_text',\n restore_wallet = 'restore_wallet',\n transfer = 'transfer',\n validate_address = 'validate_address',\n set_clipboard = 'set_clipboard',\n get_clipboard = 'get_clipboard',\n create_proposal = 'create_proposal',\n get_contracts = 'get_contracts',\n accept_proposal = 'accept_proposal',\n release_contract = 'release_contract',\n request_cancel_contract = 'request_cancel_contract',\n accept_cancel_contract = 'accept_cancel_contract',\n get_mining_history = 'get_mining_history',\n start_pos_mining = 'start_pos_mining',\n stop_pos_mining = 'stop_pos_mining',\n open_url_in_browser = 'open_url_in_browser',\n start_backend = 'start_backend',\n get_default_fee = 'get_default_fee',\n set_localization_strings = 'set_localization_strings',\n request_alias_registration = 'request_alias_registration',\n call_rpc = 'call_rpc',\n call_wallet_rpc = 'call_wallet_rpc',\n setup_jwt_wallet_rpc = 'setup_jwt_wallet_rpc',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BackendService {\n dispatchAsyncCallResult$ = new Subject();\n\n handleCurrentActionState$ = new Subject();\n\n backendObject: any;\n\n backendLoaded = false;\n\n constructor(\n private translate: TranslateService,\n private variablesService: VariablesService,\n private modalService: ModalService,\n private moneyToIntPipe: MoneyToIntPipe,\n private ngZone: NgZone\n ) {}\n\n static bigNumberParser(key, val): any {\n if (\n val.constructor.name === 'BigNumber' &&\n ['balance', 'unlocked_balance', 'amount', 'fee', 'b_fee', 'to_pay', 'a_pledge', 'b_pledge', 'coast', 'a'].indexOf(key) === -1\n ) {\n return val.toNumber();\n }\n if (key === 'rcv' || key === 'spn') {\n for (let i = 0; i < val.length; i++) {\n val[i] = new BigNumber(val[i]);\n }\n }\n return val;\n }\n\n static Debug(type, message): void {\n switch (type) {\n case 0:\n console.error(message);\n break;\n case 1:\n console.warn(message);\n break;\n case 2:\n console.log(message);\n break;\n default:\n console.log(message);\n break;\n }\n }\n\n eventSubscribe(command: Commands, callback): void {\n if (command === Commands.on_core_event) {\n this.backendObject[command].connect(callback);\n } else {\n this.backendObject[command].connect(str => {\n callback(JSONBigNumber.parse(str, BackendService.bigNumberParser));\n });\n }\n }\n\n initService(): Observable {\n return new Observable(observer => {\n if (!this.backendLoaded) {\n this.backendLoaded = true;\n (window).QWebChannel((window).qt.webChannelTransport, channel => {\n this.backendObject = channel.objects.mediator_object;\n observer.next('backendObject loaded');\n });\n } else {\n observer.error('backend not loaded');\n if (!this.backendObject) {\n observer.error('backendObject not loaded');\n }\n }\n });\n }\n\n webkitLaunchedScript(): void {\n this.runCommand(Commands.webkit_launched_script);\n }\n\n quitRequest(): void {\n this.runCommand(Commands.on_request_quit);\n }\n\n getAppData(callback): void {\n this.runCommand(Commands.get_app_data, {}, callback);\n }\n\n storeAppData(callback?): void {\n if (this.variablesService.wallets.length > 0) {\n this.variablesService.settings.wallets = [];\n this.variablesService.wallets.forEach(wallet => {\n this.variablesService.settings.wallets.push({\n name: wallet.name,\n path: wallet.path,\n });\n });\n }\n this.runCommand(Commands.store_app_data, this.variablesService.settings, callback);\n }\n\n getSecureAppData(pass, callback): void {\n this.runCommand(Commands.get_secure_app_data, pass, callback);\n }\n\n setMasterPassword(pass, callback): void {\n this.runCommand(Commands.set_master_password, pass, callback);\n }\n\n checkMasterPassword(pass, callback): void {\n this.runCommand(Commands.check_master_password, pass, callback);\n }\n\n getIsDisabledNotifications(callback): void {\n const params = {};\n this.runCommand(Commands.get_is_disabled_notifications, params, callback);\n }\n\n setIsDisabledNotifications(state): void {\n this.runCommand(Commands.set_is_disabled_notifications, state);\n }\n\n storeSecureAppData(callback?): void {\n const wallets = [];\n const contacts = [];\n this.variablesService.wallets.forEach(wallet => {\n wallets.push({\n name: wallet.name,\n pass: wallet.pass,\n path: wallet.path,\n staking: wallet.staking,\n });\n });\n this.variablesService.contacts.forEach(contact => {\n contacts.push({\n name: contact.name,\n address: contact.address,\n notes: contact.notes,\n });\n });\n const data = { wallets: wallets, contacts: contacts };\n this.backendObject[Commands.store_secure_app_data](JSON.stringify(data), this.variablesService.appPass, dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.store_secure_app_data);\n });\n }\n\n dropSecureAppData(callback?): void {\n this.backendObject[Commands.drop_secure_app_data](dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.drop_secure_app_data);\n });\n }\n\n haveSecureAppData(callback): void {\n this.runCommand(Commands.have_secure_app_data, {}, callback);\n }\n\n saveFileDialog(caption, fileMask, default_path, callback): void {\n const dir = default_path ? default_path : '/';\n const params = {\n caption: caption,\n filemask: fileMask,\n default_dir: dir,\n };\n this.runCommand(Commands.show_savefile_dialog, params, callback);\n }\n\n openFileDialog(caption, filemask, default_path, callback): void {\n const default_dir = default_path ? default_path : '/';\n const params = {\n caption,\n filemask,\n default_dir,\n };\n this.runCommand(Commands.show_openfile_dialog, params, callback);\n }\n\n storeFile(path, buff): void {\n this.backendObject[Commands.store_to_file](path, buff);\n }\n\n loadFile(path, callback): void {\n this.runCommand(Commands.load_from_file, path, callback);\n }\n\n push_offer(params, callback): void {\n this.runCommand(Commands.push_offer, params, callback);\n }\n\n generateWallet(path, pass, callback): void {\n const params = {\n path: path,\n pass: pass,\n };\n this.runCommand(Commands.generate_wallet, params, callback);\n }\n\n exportWalletHistory(json_string): void {\n this.runCommand(Commands.export_wallet_history, json_string);\n }\n\n openWallet(path, pass, txs_to_return, testEmpty, callback): void {\n const params = {\n path: path,\n pass: pass,\n txs_to_return: txs_to_return,\n };\n params['testEmpty'] = !!testEmpty;\n this.runCommand(Commands.open_wallet, params, callback);\n }\n\n closeWallet(wallet_id, callback?): void {\n this.runCommand(Commands.close_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n getSmartWalletInfo({ wallet_id, seed_password }, callback): void {\n this.runCommand(Commands.get_smart_wallet_info, { wallet_id: +wallet_id, seed_password }, callback);\n }\n\n getSeedPhraseInfo(param, callback): void {\n this.runCommand(Commands.get_seed_phrase_info, param, callback);\n }\n\n runWallet(wallet_id, callback?): void {\n this.runCommand(Commands.run_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n isValidRestoreWalletText(param, callback): void {\n this.runCommand(Commands.is_valid_restore_wallet_text, param, callback);\n }\n\n restoreWallet(path, pass, seed_phrase, seed_pass, callback): void {\n const params = {\n seed_phrase: seed_phrase,\n path: path,\n pass: pass,\n seed_pass,\n };\n this.runCommand(Commands.restore_wallet, params, callback);\n }\n\n sendMoney({ wallet_id, address, amount, fee, mixin, comment, hide, asset_id }: SendMoneyParams, callback): void {\n const params = {\n wallet_id,\n destinations: [\n {\n address,\n amount,\n ...(asset_id && { asset_id }),\n },\n ],\n mixin_count: mixin ?? 0,\n lock_time: 0,\n fee: this.moneyToIntPipe.transform(fee),\n comment: comment,\n push_payer: !hide,\n };\n\n this.asyncCall(Commands.transfer, params, callback);\n }\n\n setupJwtWalletRpc(value: { zanoCompation: boolean; secret: string }): void {\n const { secret } = value;\n\n this.runCommand(Commands.setup_jwt_wallet_rpc, secret, () => {\n this.variablesService.settings.zanoCompanionForm = value;\n this.storeAppData();\n });\n }\n\n validateAddress(address, callback): void {\n this.runCommand(Commands.validate_address, address, callback);\n }\n\n setClipboard(str, callback?): void {\n this.runCommand(Commands.set_clipboard, str, callback);\n }\n\n getClipboard(callback): void {\n this.runCommand(Commands.get_clipboard, {}, callback);\n }\n\n createProposal(wallet_id, title, comment, a_addr, b_addr, to_pay, a_pledge, b_pledge, time, payment_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n details: {\n t: title,\n c: comment,\n a_addr: a_addr,\n b_addr: b_addr,\n to_pay: this.moneyToIntPipe.transform(to_pay),\n a_pledge: this.moneyToIntPipe.transform(a_pledge),\n b_pledge: this.moneyToIntPipe.transform(b_pledge),\n },\n payment_id: payment_id,\n expiration_period: parseInt(time, 10) * 60 * 60,\n fee: this.variablesService.default_fee_big,\n b_fee: this.variablesService.default_fee_big,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.create_proposal, params, callback);\n }\n\n getContracts(wallet_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.get_contracts, params, callback);\n }\n\n acceptProposal(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_proposal, params, callback);\n }\n\n releaseProposal(wallet_id, contract_id, release_type, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n release_type: release_type, // \"normal\" or \"burn\"\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.release_contract, params, callback);\n }\n\n requestCancelContract(wallet_id, contract_id, time, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n fee: this.variablesService.default_fee_big,\n expiration_period: parseInt(time, 10) * 60 * 60,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.request_cancel_contract, params, callback);\n }\n\n acceptCancelContract(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_cancel_contract, params, callback);\n }\n\n getMiningHistory(wallet_id, callback): void {\n this.runCommand(Commands.get_mining_history, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n startPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.start_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n stopPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.stop_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n openUrlInBrowser(url, callback?): void {\n this.runCommand(Commands.open_url_in_browser, url, callback);\n }\n\n start_backend(node, host, port, callback): void {\n const params = {\n configure_for_remote_node: node,\n remote_node_host: host,\n remote_node_port: parseInt(port, 10),\n };\n this.runCommand(Commands.start_backend, params, callback);\n }\n\n getDefaultFee(callback): void {\n this.runCommand(Commands.get_default_fee, {}, callback);\n }\n\n setBackendLocalization(stringsArray, title, callback?): void {\n const params = {\n strings: stringsArray,\n language_title: title,\n };\n this.runCommand(Commands.set_localization_strings, params, callback);\n }\n\n registerAlias(wallet_id, alias, address, fee, comment, reward, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias,\n address: address,\n tracking_key: '',\n comment: comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n reward: this.moneyToIntPipe.transform(reward),\n };\n this.runCommand(Commands.request_alias_registration, params, callback);\n }\n\n updateAlias(wallet_id, alias, fee, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias.name.replace('@', ''),\n address: alias.address,\n tracking_key: '',\n comment: alias.comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n };\n this.runCommand(Commands.request_alias_update, params, callback);\n }\n\n getAllAliases(callback): void {\n this.runCommand(Commands.get_all_aliases, {}, callback);\n }\n\n getAliasInfoByName(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_name, value, callback);\n }\n\n getAliasByAddress(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_address, value, callback);\n }\n\n getAliasCoast(alias, callback): void {\n this.runCommand(Commands.get_alias_coast, { v: alias }, callback);\n }\n\n resyncWallet(id): void {\n this.runCommand(Commands.resync_wallet, { wallet_id: id });\n }\n\n getWalletAlias(address): Partial {\n if (address !== null && this.variablesService.daemon_state === 2) {\n if (this.variablesService.aliasesChecked[address] == null) {\n this.variablesService.aliasesChecked[address] = {};\n if (this.variablesService.aliases.length) {\n for (let i = 0, length = this.variablesService.aliases.length; i < length; i++) {\n if (i in this.variablesService.aliases && this.variablesService.aliases[i]['address'] === address) {\n this.variablesService.aliasesChecked[address]['name'] = this.variablesService.aliases[i].name;\n this.variablesService.aliasesChecked[address]['address'] = this.variablesService.aliases[i].address;\n this.variablesService.aliasesChecked[address]['comment'] = this.variablesService.aliases[i].comment;\n return this.variablesService.aliasesChecked[address];\n }\n }\n }\n this.getAliasByAddress(address, (status, data) => {\n if (status) {\n this.variablesService.aliasesChecked[data.address]['name'] = '@' + data.alias;\n this.variablesService.aliasesChecked[data.address]['address'] = data.address;\n this.variablesService.aliasesChecked[data.address]['comment'] = data.comment;\n }\n });\n }\n return this.variablesService.aliasesChecked[address];\n }\n return {};\n }\n\n getContactAlias(): void {\n if (this.variablesService.contacts.length > 0 && this.variablesService.daemon_state === 2) {\n this.variablesService.contacts.map(contact => {\n this.getAliasByAddress(contact.address, (status, data) => {\n if (status) {\n if (data.alias) {\n contact.alias = '@' + data.alias;\n }\n } else {\n contact.alias = null;\n }\n });\n });\n }\n }\n\n getRecentTransfers(id, offset, count, exclude_mining_txs, callback): void {\n const params = {\n wallet_id: id,\n offset: offset,\n count: count,\n exclude_mining_txs: exclude_mining_txs,\n };\n this.runCommand(Commands.get_recent_transfers, params, callback);\n }\n\n getPoolInfo(callback): void {\n this.runCommand(Commands.get_tx_pool_info, {}, callback);\n }\n\n getVersion(callback): void {\n this.runCommand(Commands.get_version, {}, (status, version, errorVersion) => {\n this.runCommand(Commands.get_network_type, {}, (status_network, type, errorType) => {\n callback(version, type, errorVersion ?? errorType);\n });\n });\n }\n\n setLogLevel(level): void {\n this.runCommand(Commands.set_log_level, { v: level });\n }\n\n asyncCall(command: string, params: PramsObj, callback?: (job_id?: number) => void | any): void {\n this.runCommand(Commands.async_call, [command, params], (status, { job_id }: { job_id: number }) => {\n callback(job_id);\n });\n }\n\n dispatchAsyncCallResult(): void {\n this.backendObject[Commands.dispatch_async_call_result].connect((job_id: string, json_resp: string) => {\n const asyncCommandResults: AsyncCommandResults = {\n job_id: +job_id,\n response: JSON.parse(json_resp),\n };\n this.ngZone.run(() => this.dispatchAsyncCallResult$.next(asyncCommandResults));\n });\n }\n\n handleCurrentActionState(): void {\n this.backendObject[Commands.handle_current_action_state].connect((response: string) => {\n const currentActionState: CurrentActionState = JSON.parse(response);\n this.ngZone.run(() => this.handleCurrentActionState$.next(currentActionState));\n });\n }\n\n setEnableTor(value: boolean): void {\n this.runCommand(Commands.set_enable_tor, <{ v: boolean }>{\n v: value,\n });\n }\n\n getOptions(): any {\n this.runCommand(\n Commands.get_options,\n {},\n (\n status,\n {\n disable_price_fetch,\n use_debug_mode,\n rpc_port,\n }: { disable_price_fetch: boolean; use_debug_mode: boolean; rpc_port: number }\n ) => {\n this.variablesService.disable_price_fetch$.next(disable_price_fetch);\n this.variablesService.use_debug_mode$.next(use_debug_mode);\n this.variablesService.rpc_port = rpc_port;\n }\n );\n }\n\n addCustomAssetId(\n params: ParamsAddCustomAssetId,\n callback: (\n status: boolean,\n response_data: ResponseAddCustomAssetId,\n res_error_code?: {\n error_code: 'FAILED' | string;\n response_data: {\n asset_descriptor: Partial;\n status: 'FAILED' | string;\n };\n }\n ) => void\n ): void {\n this.runCommand(Commands.add_custom_asset_id, params, callback);\n }\n\n removeCustomAssetId(\n params: ParamsRemoveCustomAssetId,\n callback?: (status: boolean, response_data: ResponseRemoveCustomAssetId) => void\n ): void {\n this.runCommand(Commands.remove_custom_asset_id, params, callback);\n }\n\n getWalletInfo(wallet_id, callback?: (status: boolean, response_data: ResponseGetWalletInfo) => void): void {\n this.runCommand(Commands.get_wallet_info, { wallet_id }, callback);\n }\n\n // Use for call rpc-api https://docs.zano.org/docs/build/rpc-api\n call_rpc(params: Partial, callback?: (status: boolean, response_data: any) => void): void {\n this.runCommand(Commands.call_rpc, params, callback);\n }\n\n call_wallet_rpc(params: [wallet_id: number, params: Partial], callback?: (status: boolean, response_data: any) => void): void {\n this.runCommand(Commands.call_wallet_rpc, params, callback);\n }\n\n private informerRun(error: string, params, command: string): void {\n let error_translate = '';\n switch (error) {\n case 'NOT_ENOUGH_MONEY':\n error_translate = 'ERRORS.NOT_ENOUGH_MONEY';\n // error_translate = 'ERRORS.NO_MONEY'; maybe that one?\n if (command === 'cancel_offer') {\n error_translate = this.translate.instant('ERRORS.NO_MONEY_REMOVE_OFFER', {\n fee: this.variablesService.default_fee,\n currency: this.variablesService.defaultCurrency,\n });\n }\n break;\n case 'CORE_BUSY':\n error_translate = 'ERRORS.CORE_BUSY';\n break;\n case 'BUSY':\n error_translate = 'ERRORS.DAEMON_BUSY';\n break;\n case 'OVERFLOW':\n if (command !== 'get_all_aliases') {\n error_translate = '';\n }\n break;\n case 'NOT_ENOUGH_OUTPUTS_FOR_MIXING':\n error_translate = 'ERRORS.NOT_ENOUGH_OUTPUTS_TO_MIX';\n break;\n case 'TX_IS_TOO_BIG':\n error_translate = 'ERRORS.TRANSACTION_IS_TO_BIG';\n break;\n case 'DISCONNECTED':\n error_translate = 'ERRORS.TRANSFER_ATTEMPT';\n break;\n case 'ACCESS_DENIED':\n error_translate = 'ERRORS.ACCESS_DENIED';\n break;\n case 'TX_REJECTED':\n // if (command === 'request_alias_registration') {\n // error_translate = 'INFORMER.ALIAS_IN_REGISTER';\n // } else {\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n // }\n break;\n case 'INTERNAL_ERROR':\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n break;\n case 'BAD_ARG':\n error_translate = 'ERRORS.BAD_ARG';\n break;\n case 'WALLET_WRONG_ID':\n error_translate = 'ERRORS.WALLET_WRONG_ID';\n break;\n case 'WALLET_WATCH_ONLY_NOT_SUPPORTED':\n error_translate = 'ERRORS.WALLET_WATCH_ONLY_NOT_SUPPORTED';\n break;\n // case 'WRONG_PASSWORD':\n // params = JSON.parse(params);\n // if (!params.testEmpty) {\n // error_translate = 'ERRORS.WRONG_PASSWORD';\n // }\n // break;\n case 'FILE_RESTORED':\n if (command === 'open_wallet') {\n error_translate = 'ERRORS.FILE_RESTORED';\n }\n break;\n case 'FILE_NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'CANCELED':\n case '':\n break;\n case 'FAIL':\n if (\n command === 'create_proposal' ||\n command === 'accept_proposal' ||\n command === 'release_contract' ||\n command === 'request_cancel_contract' ||\n command === 'accept_cancel_contract'\n ) {\n error_translate = ' ';\n }\n break;\n case 'ALREADY_EXISTS':\n error_translate = 'ERRORS.FILE_EXIST';\n break;\n case 'FAILED':\n BackendService.Debug(0, `Error: (${error}) was triggered by command: ${command}`);\n break;\n default:\n error_translate = '';\n }\n if (error.indexOf('FAIL:failed to save file') > -1) {\n error_translate = 'ERRORS.FILE_NOT_SAVED';\n }\n if (error.indexOf('FAILED:failed to open binary wallet file for saving') > -1 && command === 'generate_wallet') {\n error_translate = '';\n }\n\n if (error_translate !== '') {\n this.modalService.prepareModal('error', error_translate);\n }\n }\n\n private commandDebug(command: Commands, params: Params, result: any): void {\n BackendService.Debug(2, '----------------- ' + command + ' -----------------');\n const debug = {\n _send_params: params,\n _result: result,\n };\n BackendService.Debug(2, debug);\n try {\n BackendService.Debug(2, JSONBigNumber.parse(result, BackendService.bigNumberParser));\n } catch (e) {\n BackendService.Debug(2, { response_data: result, error_code: 'OK' });\n }\n }\n\n private backendCallback(resultStr, params, callback, command: Commands): any {\n let Result = resultStr;\n if (command !== Commands.get_clipboard) {\n if (!resultStr || resultStr === '') {\n Result = {};\n } else {\n try {\n Result = JSONBigNumber.parse(resultStr, BackendService.bigNumberParser);\n } catch (e) {\n Result = { response_data: resultStr, error_code: 'OK' };\n }\n }\n } else {\n Result = {\n error_code: 'OK',\n response_data: Result,\n };\n }\n\n const core_busy = Result.error_code === 'CORE_BUSY';\n const Status = Result.error_code === 'OK' || Result.error_code === 'TRUE';\n\n if (!Status && Status !== undefined && Result.error_code !== undefined) {\n BackendService.Debug(1, 'API error for command: \"' + command + '\". Error code: ' + Result.error_code);\n }\n const data = typeof Result === 'object' && 'response_data' in Result ? Result.response_data : Result;\n\n let res_error_code = false;\n if (\n typeof Result === 'object' &&\n 'error_code' in Result &&\n Result.error_code !== 'OK' &&\n Result.error_code !== 'TRUE' &&\n Result.error_code !== 'FALSE' &&\n Result.error_code !== 'WRAP'\n ) {\n if (core_busy) {\n setTimeout(() => {\n // this is will avoid update data when user\n // on other wallet after CORE_BUSY (blink of data)\n if (command !== Commands.get_recent_transfers) {\n this.runCommand(command, params, callback);\n } else {\n const current_wallet_id = this.variablesService.currentWallet.wallet_id;\n if (current_wallet_id === params.wallet_id) {\n this.runCommand(command, params, callback);\n }\n }\n }, 50);\n } else {\n this.informerRun(Result.error_code, params, command);\n res_error_code = Result.error_code;\n }\n }\n\n if (!core_busy) {\n if (typeof callback === 'function') {\n callback(Status, data, res_error_code);\n } else {\n return data;\n }\n }\n }\n\n private runCommand(command: Commands, params?: Params, callback?): any {\n if (!this.backendObject) {\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = true;\n }\n\n const Action = this.backendObject[command];\n\n if (!Action) {\n BackendService.Debug(0, 'Run Command Error! Command \"' + command + '\" don\\'t found in backendObject');\n return;\n }\n\n const type: ParamsType = getParamsType(params);\n params = params && convertorParams(params);\n\n if (type === ParamsType.array) {\n Action(...(params as string[]), resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = false;\n }\n Action(params, resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { WrapInfo } from '@api/models/wrap-info';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WrapInfoService {\n private httpClient = inject(HttpClient);\n\n getWrapInfo(): Observable {\n return this.httpClient.get('https://wrapped.zano.org/api2/get_wrap_info');\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [RouterModule.forRoot([], { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { BigNumber } from 'bignumber.js';\nimport { ModalService } from '@parts/services/modal.service';\nimport { StateKeys, Store } from '@store/store';\nimport { shareReplay, Subject, switchMap, take } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { paths, pathsChildrenAuth } from './pages/paths';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { ZanoLoadersService } from '@parts/services/zano-loaders.service';\n\n@Component({\n selector: 'app-root',\n template: `\n \n\n
\n

\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n

\n

\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n

\n

\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n

\n
\n
\n\n
\n

\n {{ zanoLoadersService.getMessage('fullScreen') | async | translate }}\n

\n
\n
\n\n \n\n \n `,\n})\nexport class AppComponent implements OnInit, OnDestroy {\n intervalUpdatePriceState;\n\n intervalUpdateContractsState;\n\n expMedTsEvent;\n\n onQuitRequest = false;\n\n firstOnlineState = false;\n\n translateUsed = false;\n\n needOpenWallets = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public translate: TranslateService,\n private http: HttpClient,\n private renderer: Renderer2,\n private backendService: BackendService,\n private router: Router,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private modalService: ModalService,\n private store: Store,\n private dialog: Dialog,\n public zanoLoadersService: ZanoLoadersService\n ) {\n translate.addLangs(['en', 'fr', 'de', 'it', 'pt']);\n translate.setDefaultLang('en');\n translate.use('en').subscribe({\n next: () => {\n this.translateUsed = true;\n },\n });\n }\n\n setBackendLocalization(): void {\n if (this.translateUsed) {\n const stringsArray = [\n this.translate.instant('BACKEND_LOCALIZATION.QUIT'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_RECEIVED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_UNCONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.MINED'),\n this.translate.instant('BACKEND_LOCALIZATION.LOCKED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_MINIMIZE'),\n this.translate.instant('BACKEND_LOCALIZATION.RESTORE'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_SHOW'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_MINIMIZE'),\n ];\n this.backendService.setBackendLocalization(stringsArray, this.variablesService.settings.language);\n } else {\n console.warn('wait translate use');\n setTimeout(() => {\n this.setBackendLocalization();\n }, 10000);\n }\n }\n\n ngOnInit(): void {\n this.backendService.initService().subscribe({\n next: initMessage => {\n console.log('Init message: ', initMessage);\n this.backendService.webkitLaunchedScript();\n\n this.backendService.start_backend(false, '127.0.0.1', 11512, (st2, dd2) => {\n console.log(st2, dd2);\n });\n\n this.backendService.eventSubscribe(Commands.quit_requested, async () => {\n if (this.onQuitRequest) {\n return;\n }\n\n // await this.ngZone.run(async () => {\n // await this.router.navigate(['/']);\n // });\n\n this.dialog.closeAll();\n this.needOpenWallets = [];\n this.variablesService.daemon_state = 5;\n\n const saveFunction = (): void => {\n this.backendService.storeAppData((): void => {\n const recursionCloseWallets = (): void => {\n if (this.variablesService.wallets.length > 0) {\n const lastIndex = this.variablesService.wallets.length - 1;\n this.backendService.closeWallet(this.variablesService.wallets[lastIndex].wallet_id, () => {\n this.variablesService.wallets.splice(lastIndex, 1);\n recursionCloseWallets();\n });\n } else {\n this.ngZone.run(() => {\n this.backendService.quitRequest();\n });\n }\n };\n recursionCloseWallets();\n });\n };\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData(saveFunction);\n } else {\n saveFunction();\n }\n\n this.onQuitRequest = true;\n });\n\n this.backendService.eventSubscribe(Commands.update_wallet_status, data => {\n console.log('----------------- update_wallet_status -----------------');\n console.log(data);\n\n const wallet_state = data.wallet_state;\n const is_mining = data.is_mining;\n const wallet = this.variablesService.getWallet(data.wallet_id);\n // 1-synch, 2-ready, 3 - error\n if (wallet) {\n this.ngZone.run(() => {\n wallet.loaded = false;\n wallet.staking = is_mining;\n if (wallet_state === 2) {\n // ready\n wallet.loaded = true;\n }\n if (wallet_state === 3) {\n // error\n // wallet.error = true;\n }\n wallet.balances = data.balances;\n wallet.mined_total = data.minied_total;\n wallet.alias_available = data.is_alias_operations_available;\n wallet.has_bare_unspent_outputs = data.has_bare_unspent_outputs;\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.wallet_sync_progress, data => {\n console.log('----------------- wallet_sync_progress -----------------');\n console.log(data);\n const wallet = this.variablesService.getWallet(data.wallet_id);\n if (wallet) {\n this.ngZone.run(() => {\n wallet.progress = data.progress < 0 ? 0 : data.progress > 100 ? 100 : data.progress;\n if (!this.variablesService.sync_started) {\n this.variablesService.sync_started = true;\n this.variablesService.sync_wallets[wallet.wallet_id] = true;\n }\n this.addToStore(wallet, true); // subscribe on data\n if (wallet.progress === 0) {\n wallet.loaded = false;\n } else if (wallet.progress === 100) {\n wallet.loaded = true;\n this.addToStore(wallet, false);\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[wallet.wallet_id] = false;\n }\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.update_daemon_state, data => {\n console.log('----------------- update_daemon_state -----------------');\n console.log('DAEMON:' + data.daemon_network_state);\n console.log(data);\n // this.variablesService.exp_med_ts = data['expiration_median_timestamp'] + 600 + 1;\n this.variablesService.setExpMedTs(data['expiration_median_timestamp'] + 600 + 1);\n this.variablesService.net_time_delta_median = data.net_time_delta_median;\n this.variablesService.last_build_available = data.last_build_available;\n this.variablesService.last_build_displaymode = data.last_build_displaymode;\n this.variablesService.setHeightApp(data.height);\n this.variablesService.setHeightMax(data.max_net_seen_height);\n\n this.variablesService.setDownloadedBytes(data.downloaded_bytes);\n this.variablesService.setTotalBytes(data.download_total_data_size);\n\n this.backendService.getContactAlias();\n this.ngZone.run(() => {\n this.variablesService.daemon_state = data['daemon_network_state'];\n if (data['daemon_network_state'] === 1) {\n const max = data['max_net_seen_height'] - data['synchronization_start_height'];\n const current = data.height - data['synchronization_start_height'];\n const return_val = Math.floor(((current * 100) / max) * 100) / 100;\n if (max === 0 || return_val < 0) {\n this.variablesService.sync.progress_value = 0;\n this.variablesService.sync.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.sync.progress_value = 100;\n this.variablesService.sync.progress_value_text = '99.99';\n } else {\n this.variablesService.sync.progress_value = return_val;\n this.variablesService.sync.progress_value_text = return_val.toFixed(2);\n }\n }\n\n if (data['daemon_network_state'] === 6) {\n const max = data['download_total_data_size'];\n const current = data['downloaded_bytes'];\n const return_val = Math.floor((current / max) * 100);\n if (max === 0 || return_val < 0) {\n this.variablesService.download.progress_value = 0;\n this.variablesService.download.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.download.progress_value = 100;\n this.variablesService.download.progress_value_text = '99.99';\n } else {\n this.variablesService.download.progress_value = return_val;\n this.variablesService.download.progress_value_text = return_val.toFixed(2);\n }\n }\n });\n if (!this.firstOnlineState && data['daemon_network_state'] === 2) {\n this.getAliases();\n this.backendService.getContactAlias();\n this.backendService.getDefaultFee((status_fee, data_fee) => {\n this.variablesService.default_fee_big = new BigNumber(data_fee);\n this.variablesService.default_fee = this.intToMoneyPipe.transform(data_fee);\n });\n this.firstOnlineState = true;\n }\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer, data => {\n console.log('----------------- money_transfer -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n\n const wallet = this.variablesService.getWallet(wallet_id);\n if (wallet) {\n if (wallet.history.length > 40) {\n wallet.history.splice(40, 1);\n }\n this.ngZone.run(() => {\n wallet.balances = data.balances;\n\n if (tr_info.tx_type === 6) {\n this.variablesService.setRefreshStacking(wallet_id);\n }\n\n let tr_exists = wallet.excluded_history.some(elem => elem.tx_hash === tr_info.tx_hash);\n tr_exists = !tr_exists ? wallet.history.some(elem => elem.tx_hash === tr_info.tx_hash) : tr_exists;\n\n if (wallet.currentPage === 1) {\n wallet.prepareHistory([tr_info]);\n if (wallet.restore) {\n wallet.total_history_item = wallet.history.length;\n wallet.totalPages = Math.ceil(wallet.total_history_item / this.variablesService.count);\n wallet.totalPages > this.variablesService.maxPages\n ? (wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (wallet.pages = new Array(wallet.totalPages).fill(1).map((value, index) => value + index));\n }\n }\n\n if (hasOwnProperty(tr_info, 'contract')) {\n const exp_med_ts = this.variablesService.exp_med_ts;\n const height_app = this.variablesService.height_app;\n const contract = tr_info.contract[0];\n if (tr_exists) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === contract.contract_id &&\n wallet.contracts[i].is_a === contract.is_a\n ) {\n wallet.contracts[i].cancel_expiration_time = contract.cancel_expiration_time;\n wallet.contracts[i].expiration_time = contract.expiration_time;\n wallet.contracts[i].height = contract.height;\n wallet.contracts[i].timestamp = contract.timestamp;\n break;\n }\n }\n // $rootScope.getContractsRecount();\n return;\n }\n\n if (contract.state === 1 && contract.expiration_time < exp_med_ts) {\n contract.state = 110;\n } else if (contract.state === 5 && contract.cancel_expiration_time < exp_med_ts) {\n contract.state = 130;\n } else if (contract.state === 1) {\n const searchResult2 = this.variablesService.settings.notViewedContracts.find(\n elem =>\n elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult2) {\n if (searchResult2.time === contract.expiration_time) {\n contract.state = 110;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 2 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 201;\n } else if (contract.state === 2) {\n const searchResult3 = this.variablesService.settings.viewedContracts.some(\n elem =>\n elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult3) {\n contract.state = 120;\n }\n } else if (contract.state === 5) {\n const searchResult4 = this.variablesService.settings.notViewedContracts.find(\n elem =>\n elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult4) {\n if (searchResult4.time === contract.cancel_expiration_time) {\n contract.state = 130;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 6 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 601;\n }\n\n const searchResult = this.variablesService.settings.viewedContracts.some(\n elem =>\n elem.state === contract.state &&\n elem.is_a === contract.is_a &&\n elem.contract_id === contract.contract_id\n );\n contract.is_new = !searchResult;\n\n let findContract = false;\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === contract.contract_id &&\n wallet.contracts[i].is_a === contract.is_a\n ) {\n for (const prop in contract) {\n if (hasOwnProperty(contract, prop)) {\n wallet.contracts[i][prop] = contract[prop];\n }\n }\n findContract = true;\n break;\n }\n }\n if (findContract === false) {\n wallet.contracts.push(contract);\n }\n // wallet.recountNewContracts();\n }\n });\n }\n });\n\n this.backendService.backendObject[Commands.handle_deeplink_click].connect(data => {\n console.log('----------------- handle_deeplink_click -----------------');\n console.log(data);\n this.ngZone.run(() => {\n if (data) {\n this.variablesService.deeplink$.next(data);\n }\n });\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer_cancel, data => {\n console.log('----------------- money_transfer_cancel -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n const wallet = this.variablesService.getWallet(wallet_id);\n\n if (wallet) {\n if (hasOwnProperty(tr_info, 'contract')) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === tr_info.contract[0].contract_id &&\n wallet.contracts[i].is_a === tr_info.contract[0].is_a\n ) {\n if (wallet.contracts[i].state === 1 || wallet.contracts[i].state === 110) {\n wallet.contracts[i].is_new = true;\n wallet.contracts[i].state = 140;\n // wallet.recountNewContracts();\n }\n break;\n }\n }\n }\n\n wallet.removeFromHistory(tr_info.tx_hash);\n\n let error_tr = '';\n switch (tr_info.tx_type) {\n case 0:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NORMAL') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_TO') +\n ' ' +\n this.intToMoneyPipe.transform(tr_info.amount) +\n ' ' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_END');\n break;\n case 1:\n // this.translate.instant('ERRORS.TX_TYPE_PUSH_OFFER');\n break;\n case 2:\n // this.translate.instant('ERRORS.TX_TYPE_UPDATE_OFFER');\n break;\n case 3:\n // this.translate.instant('ERRORS.TX_TYPE_CANCEL_OFFER');\n break;\n case 4:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 5:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_UPDATE_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 6:\n error_tr = this.translate.instant('ERRORS.TX_TYPE_COIN_BASE');\n break;\n }\n if (error_tr) {\n this.modalService.prepareModal('error', error_tr);\n }\n }\n });\n\n this.backendService.eventSubscribe(Commands.on_core_event, data => {\n console.log('----------------- on_core_event -----------------');\n console.log(data);\n\n data = JSON.parse(data);\n\n if (data.events != null) {\n for (let i = 0, length = data.events.length; i < length; i++) {\n switch (data.events[i].method) {\n case 'CORE_EVENT_BLOCK_ADDED':\n break;\n case 'CORE_EVENT_ADD_ALIAS':\n if (this.variablesService.aliasesChecked[data.events[i].details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.address]['name'] =\n '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.address]['address'] =\n data.events[i].details.address;\n this.variablesService.aliasesChecked[data.events[i].details.address]['comment'] =\n data.events[i].details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const newAlias = {\n name: '@' + data.events[i].details.alias,\n address: data.events[i].details.address,\n comment: data.events[i].details.comment,\n };\n this.variablesService.aliases = this.variablesService.aliases.concat(newAlias);\n this.variablesService.changeAliases();\n }\n break;\n case 'CORE_EVENT_UPDATE_ALIAS':\n for (const address in this.variablesService.aliasesChecked) {\n if (hasOwnProperty(this.variablesService.aliasesChecked, address)) {\n if (this.variablesService.aliasesChecked[address].name === '@' + data.events[i].details.alias) {\n if (\n this.variablesService.aliasesChecked[address].address !==\n data.events[i].details.details.address\n ) {\n delete this.variablesService.aliasesChecked[address]['name'];\n delete this.variablesService.aliasesChecked[address]['address'];\n delete this.variablesService.aliasesChecked[address]['comment'];\n } else {\n this.variablesService.aliasesChecked[address].comment =\n data.events[i].details.details.comment;\n }\n break;\n }\n }\n }\n if (this.variablesService.aliasesChecked[data.events[i].details.details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['name'] =\n '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['address'] =\n data.events[i].details.details.address;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['comment'] =\n data.events[i].details.details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const CurrentAlias = this.variablesService.aliases.find(\n element => element.name === '@' + data.events[i].details.alias\n );\n if (CurrentAlias) {\n CurrentAlias.address = data.events[i].details.details.address;\n CurrentAlias.comment = data.events[i].details.details.comment;\n }\n }\n this.variablesService.changeAliases();\n break;\n default:\n break;\n }\n }\n }\n });\n\n this.intervalUpdateContractsState = setInterval(() => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (\n contract.state === 201 &&\n contract.height !== 0 &&\n this.variablesService.height_app - contract.height >= 10\n ) {\n contract.state = 2;\n contract.is_new = true;\n console.warn('need check state in contracts');\n } else if (\n contract.state === 601 &&\n contract.height !== 0 &&\n this.variablesService.height_app - contract.height >= 10\n ) {\n contract.state = 6;\n contract.is_new = true;\n }\n });\n });\n }, 30000);\n\n this.expMedTsEvent = this.variablesService.getExpMedTsEvent.subscribe({\n next: (newTimestamp: number) => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (contract.state === 1 && contract.expiration_time <= newTimestamp) {\n contract.state = 110;\n contract.is_new = true;\n } else if (contract.state === 5 && contract.cancel_expiration_time <= newTimestamp) {\n contract.state = 130;\n contract.is_new = true;\n }\n });\n });\n },\n });\n\n this.backendService.getAppData((status, data) => {\n if (data && Object.keys(data).length > 0) {\n for (const key in data) {\n if (hasOwnProperty(data, key) && hasOwnProperty(this.variablesService.settings, key)) {\n this.variablesService.settings[key] = data[key];\n }\n }\n // TODO: Delete this line after return appUseTor\n this.variablesService.settings.appUseTor = false;\n if (\n hasOwnProperty(this.variablesService.settings, 'scale') &&\n ['8px', '10px', '12px', '14px'].indexOf(this.variablesService.settings.scale) !== -1\n ) {\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n } else {\n this.variablesService.settings.scale = '10px';\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n }\n }\n this.translate.use(this.variablesService.settings.language);\n this.setBackendLocalization();\n\n this.backendService.setLogLevel(this.variablesService.settings.appLog);\n this.backendService.setEnableTor(this.variablesService.settings.appUseTor);\n\n if (!this.variablesService.settings.wallets || this.variablesService.settings.wallets.length === 0) {\n return this.router.navigate([`${paths.auth}/${pathsChildrenAuth.noWallet}`]).then();\n }\n\n if (this.router.url !== '/login') {\n this.backendService.haveSecureAppData(statusPass => {\n if (statusPass) {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n } else {\n if (Object.keys(data).length !== 0) {\n this.needOpenWallets = JSON.parse(JSON.stringify(this.variablesService.settings.wallets));\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'reg' },\n });\n });\n }\n }\n });\n }\n });\n\n this.backendService.dispatchAsyncCallResult();\n\n this.backendService.handleCurrentActionState();\n\n this.getVersion();\n\n setTimeout(() => {\n this.backendService.getOptions();\n this.getInfo();\n }, 10 * 1000);\n },\n error: error => {\n console.log(error);\n },\n });\n\n this.variablesService.disable_price_fetch$.pipe(takeUntil(this.destroy$)).subscribe({\n next: disable_price_fetch => {\n const updateTime = 10 * 60 * 1000;\n if (!disable_price_fetch) {\n this.updateMoneyEquivalent();\n this.intervalUpdatePriceState = setInterval(() => {\n this.updateMoneyEquivalent();\n }, updateTime);\n } else {\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n if (this.intervalUpdateContractsState) {\n clearInterval(this.intervalUpdateContractsState);\n }\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n this.expMedTsEvent.unsubscribe();\n }\n\n updateMoneyEquivalent(): void {\n this.http\n .get('https://explorer.zano.org/api/price?asset=zano')\n .pipe(take(1))\n .subscribe({\n next: ({ data }: { data: { zano: { usd: number, usd_24h_change: number }, success: boolean} }): void => {\n this.variablesService.moneyEquivalent = data['zano']['usd'];\n this.variablesService.moneyEquivalentPercent = data['zano']['usd_24h_change'];\n },\n error: error => {\n console.warn('api.coingecko.com price error: ', error);\n },\n });\n }\n\n getAliases(): void {\n this.backendService.getAllAliases((status, data, error) => {\n console.warn(error);\n\n if (error === 'CORE_BUSY') {\n window.setTimeout(() => {\n this.getAliases();\n }, 10000);\n } else if (error === 'OVERFLOW') {\n this.variablesService.aliases = [];\n this.variablesService.enableAliasSearch = false;\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n } else {\n this.variablesService.enableAliasSearch = true;\n if (data.aliases && data.aliases.length) {\n this.variablesService.aliases = [];\n data.aliases.forEach(alias => {\n const newAlias = {\n name: '@' + alias.alias,\n address: alias.address,\n comment: alias.comment,\n };\n this.variablesService.aliases.push(newAlias);\n });\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n this.variablesService.aliases = this.variablesService.aliases.sort((a, b) => {\n if (a.name.length > b.name.length) {\n return 1;\n }\n if (a.name.length < b.name.length) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n return 0;\n });\n this.variablesService.changeAliases();\n }\n }\n });\n }\n\n addToStore(wallet, boolean): void {\n const value = this.store.state.sync;\n if (value && value.length > 0) {\n const sync = value.filter(item => item.wallet_id === wallet.wallet_id);\n if (sync && sync.length > 0) {\n const result = value.map(item => {\n if (item.wallet_id === wallet.wallet_id) {\n return { sync: boolean, wallet_id: wallet.wallet_id };\n } else {\n return item;\n }\n });\n this.store.set(StateKeys.sync, result);\n } else {\n value.push({ sync: boolean, wallet_id: wallet.wallet_id });\n this.store.set(StateKeys.sync, value);\n }\n } else {\n this.store.set(StateKeys.sync, [{ sync: boolean, wallet_id: wallet.wallet_id }]);\n }\n }\n\n getVersion(): void {\n this.backendService.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n console.log('----------------- version -----------------', version);\n console.log('----------------- type -----------------', type);\n this.variablesService.testnet = type === 'testnet';\n this.variablesService.networkType = type;\n }\n });\n });\n }\n\n getInfo(): void {\n const updateTime = 60 * 1000;\n const getInfo = () => {\n const params = {\n jsonrpc: '2.0',\n method: 'getinfo',\n };\n\n this.backendService.call_rpc(params, (status, response_data) => {\n this.variablesService.info$.next(response_data.result);\n });\n };\n getInfo();\n setInterval(getInfo, updateTime);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { PagesModule } from './pages/pages.module';\nimport { CommonModule } from '@angular/common';\nimport { TranslateLoader, TranslateModule, TranslateModuleConfig } from '@ngx-translate/core';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ChartModule, HIGHCHARTS_MODULES } from 'angular-highcharts';\nimport * as highcharts from 'highcharts';\nimport exporting from 'highcharts/modules/exporting.src';\nimport { MoneyToIntPipeModule } from '@parts/pipes';\nimport { OpenWalletModalComponent } from '@parts/modals/open-wallet-modal/open-wallet-modal.component';\nimport { FlexModule } from '@angular/flex-layout';\nimport { FormsModule } from '@angular/forms';\nimport { RegisterContextTemplatesComponent } from '@parts/components/register-context-templates.component';\n\nexport function highchartsFactory(): any[] {\n highcharts.setOptions({\n time: {\n useUTC: false,\n },\n });\n\n return [exporting];\n}\n\nexport const provideHighchartsFactory = {\n provide: HIGHCHARTS_MODULES,\n useFactory: highchartsFactory,\n};\n\nexport function HttpLoaderFactory(httpClient: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\n}\n\nexport const translateModuleConfig: TranslateModuleConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n};\n\n@NgModule({\n declarations: [AppComponent, OpenWalletModalComponent],\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n TranslateModule.forRoot(translateModuleConfig),\n AppRoutingModule,\n PagesModule,\n ChartModule,\n MoneyToIntPipeModule,\n FlexModule,\n FormsModule,\n RegisterContextTemplatesComponent,\n ],\n providers: [provideHighchartsFactory],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-full-layout',\n template: `\n
\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class FullLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FullLayoutComponent } from './full-layout.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [FullLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule],\n exports: [FullLayoutComponent],\n})\nexport class FullLayoutModule {}\n","import { Component, NgZone, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { ZanoLoadersService } from '@parts/services/zano-loaders.service';\n\n@Component({\n selector: 'app-sidebar',\n template: `\n
\n
\n \"zano-logo\"\n
\n
\n\n
\n
\n \n
\n\n
\n \n \n {{ 'SIDEBAR.ADD_NEW' | translate }}\n \n\n \n \n {{ 'SIDEBAR.SETTINGS' | translate }}\n \n\n \n \n \n {{ 'SIDEBAR.LOG_OUT' | translate }}\n \n \n\n \n \n \n
\n
\n\n
\n \n
\n\n \n `,\n styles: [],\n})\nexport class SidebarComponent implements OnDestroy {\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private ngZone: NgZone,\n private dialog: Dialog,\n public zanoLoadersService: ZanoLoadersService\n ) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n goMainPage(): void {\n if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl === 'login') {\n this.ngZone.run(() => {\n this.router.navigate(['/'], { queryParams: { prevUrl: 'login' } });\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n\n selectWallet(id: number): void {\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(id);\n this.router.navigate(['/wallet/assets']);\n });\n }\n\n drop(event: CdkDragDrop): void {\n moveItemInArray(this.variablesService.wallets, event.previousIndex, event.currentIndex);\n }\n\n beforeClose(wallet_id): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.closeWallet(wallet_id),\n });\n }\n\n closeWallet(wallet_id): void {\n this.walletsService.closeWallet(wallet_id);\n }\n\n logOut(): void {\n this.zanoLoadersService.open('fullScreen', 'SIDEBAR.SYNCHRONIZATION.LOGGING_OUT');\n\n setTimeout(() => {\n this.variablesService.stopCountdown();\n this.variablesService.appLogin = false;\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.router.navigate(['/login'], { queryParams: { type: 'auth' } }).then(() => {\n this.zanoLoadersService.close('fullScreen');\n });\n });\n }, 500);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarComponent } from './sidebar.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from '../../pages/deeplink/deeplink.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { WalletCardComponent } from '@parts/components/wallet-card.component';\n\n@NgModule({\n declarations: [SidebarComponent],\n imports: [\n CommonModule,\n RouterModule,\n DragDropModule,\n TooltipModule,\n TranslateModule,\n DisablePriceFetchModule,\n ConfirmModalModule,\n SynchronizationStatusComponent,\n DeeplinkModule,\n StakingSwitchComponent,\n FlexLayoutModule,\n IntToMoneyPipeModule,\n WalletCardComponent,\n ],\n exports: [SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-with-sidebar-layout',\n template: `\n \n\n
\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n display: flex;\n }\n `,\n ],\n})\nexport class WithSidebarLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WithSidebarLayoutComponent } from './with-sidebar-layout.component';\nimport { SidebarModule } from '../sidebar/sidebar.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [WithSidebarLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule, SidebarModule],\n exports: [WithSidebarLayoutComponent],\n})\nexport class WithSidebarLayoutModule {}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { filePathWalletValidator } from '@parts/utils/zano-validators';\nimport { ModalService } from '@parts/services/modal.service';\n\n@Component({\n selector: 'app-add-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n \n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n
\n
\n
\n
\n `,\n})\nexport class AddWalletComponent {\n private translateService = inject(TranslateService);\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private modalService: ModalService,\n private backendService: BackendService,\n private ngZone: NgZone\n ) {}\n\n openWallet(): void {\n const caption = this.translateService.instant('MAIN.CHOOSE_PATH');\n const default_path = this.variablesService.settings.default_path;\n this.backendService.openFileDialog(caption, '*', default_path, async (file_status, file_data) => {\n if (!file_status) {\n if (file_data['error_code'] !== 'CANCELED') {\n this.modalService.prepareModal('error', file_data['error_code']);\n }\n return;\n }\n const positionLastSlash = file_data.path.lastIndexOf('/');\n const new_default_path = file_data.path.slice(0, positionLastSlash);\n const error = filePathWalletValidator(file_data.path);\n\n if (error) {\n const text = this.translateService.instant(error.errorText);\n this.modalService.prepareModal('error', text);\n return;\n }\n\n this.variablesService.settings.default_path = new_default_path;\n await this.ngZone.run(async () => {\n await this.router.navigate(['/open'], {\n queryParams: { path: file_data.path },\n });\n });\n });\n }\n\n openInBrowser(): void {\n this.backendService.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport BigNumber from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-assign-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ASSIGN_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n {{ 'ASSIGN_ALIAS.NAME.LABEL' | translate }}\n \n
\n \n
\n \n 6 &&\n assignForm.get('name').value.length <= 25\n \"\n >\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_WRONG' | translate }}\n
\n
25\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_LENGTH' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_EXISTS' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n \n {{ 'ASSIGN_ALIAS.COMMENT.LABEL' | translate }}\n \n \n \n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n

\n {{\n 'ASSIGN_ALIAS.COST'\n | translate\n : {\n value: alias.price | intToMoney,\n currency: variablesService.defaultCurrency\n }\n }}\n

\n\n \n {{ 'ASSIGN_ALIAS.BUTTON_ASSIGN' | translate }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class AssignAliasComponent implements OnInit, OnDestroy {\n wallet: Wallet;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.ASSIGN_ALIAS',\n },\n ];\n\n fb = inject(FormBuilder);\n\n assignForm = this.fb.group({\n name: this.fb.nonNullable.control('', [Validators.required, Validators.pattern(regExpAliasName)]),\n comment: this.fb.nonNullable.control('', [Validators.maxLength(this.variablesService.maxCommentLength)]),\n });\n\n alias = {\n name: '',\n fee: this.variablesService.default_fee,\n price: new BigNumber(0),\n reward: '0',\n rewardOriginal: '0',\n comment: '',\n exists: false,\n };\n\n canRegister = false;\n\n notEnoughMoney = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private intToMoney: IntToMoneyPipe\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n this.assignForm\n .get('name')\n .valueChanges.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: value => {\n this.canRegister = false;\n this.alias.exists = false;\n const newName = value.toLowerCase().replace('@', '');\n if (\n !(this.assignForm.controls['name'].errors && hasOwnProperty(this.assignForm.controls['name'].errors, 'pattern')) &&\n newName.length >= 6 &&\n newName.length <= 25\n ) {\n this.backend.getAliasInfoByName(newName, status => {\n this.ngZone.run(() => {\n this.alias.exists = status;\n });\n if (!status) {\n this.alias.price = new BigNumber(0);\n this.backend.getAliasCoast(newName, (statusPrice, dataPrice) => {\n this.ngZone.run(() => {\n if (statusPrice) {\n this.alias.price = BigNumber.sum(dataPrice['coast'], this.variablesService.default_fee_big);\n }\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = this.alias.price.isGreaterThan(unlocked_balance);\n this.alias.reward = this.intToMoney.transform(this.alias.price, false);\n this.alias.rewardOriginal = this.intToMoney.transform(dataPrice['coast'], false);\n this.canRegister = !this.notEnoughMoney;\n });\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n this.alias.name = newName;\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n assignAlias(): void {\n const alias = this.backend.getWalletAlias(this.wallet.address);\n if (hasOwnProperty(alias, 'name')) {\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.ONE_ALIAS');\n } else {\n this.alias.comment = this.assignForm.get('comment').value;\n this.backend.registerAlias(\n this.wallet.wallet_id,\n this.alias.name,\n this.wallet.address,\n this.alias.fee,\n this.alias.comment,\n this.alias.rewardOriginal,\n async status => {\n if (status) {\n this.wallet.wakeAlias = true;\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.REQUEST_ADD_REG');\n await this.ngZone.run(async () => {\n await this.router.navigate(['/wallet/']);\n });\n }\n }\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { paths, pathsChildrenAuth } from '../paths';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { FullLayoutComponent } from '../../layouts/full-layout/full-layout.component';\n\nconst routes: Routes = [\n {\n path: paths.auth,\n component: FullLayoutComponent,\n children: [\n {\n path: pathsChildrenAuth.noWallet,\n component: NoWalletComponent,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthRoutingModule } from './auth-routing.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\n\n@NgModule({\n declarations: [NoWalletComponent],\n imports: [CommonModule, AuthRoutingModule, TranslateModule, FlexLayoutModule, SynchronizationStatusComponent],\n})\nexport class AuthModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-login',\n template: `\n
\n
\n \n\n
\n
\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\n
\n
\n
\n
\n\n \n {{ 'LOGIN.BUTTON_NEXT' | translate }}\n \n\n \n {{ 'LOGIN.BUTTON_SKIP' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'LOGIN.FORM_ERRORS.INVALID_PASS' | translate }}\n
\n
\n
\n
\n \n\n \n \n \n\n \n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n submitLoading$ = new BehaviorSubject(false);\n\n resetLoading$ = new BehaviorSubject(false);\n\n fb = inject(FormBuilder);\n\n regForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmation: this.fb.nonNullable.control(''),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmation')],\n }\n );\n\n authForm = this.fb.group({\n password: this.fb.nonNullable.control(''),\n });\n\n type = 'reg';\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.type) {\n this.type = params.type;\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onSubmitCreatePass(): void {\n if (this.regForm.valid) {\n this.variablesService.appPass = this.regForm.get('password').value; // the pass what was written in input of login form by user\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n } else {\n console.log(data['error_code']);\n }\n });\n }\n }\n\n onSkipCreatePass(): void {\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n }\n\n resetJwtWalletRpc(): void {\n this.backend.setupJwtWalletRpc({ secret: '', zanoCompation: false });\n }\n\n dropSecureAppData(): void {\n this.resetLoading$.next(true);\n\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n this.resetJwtWalletRpc();\n this.backend.dropSecureAppData(() => {\n this.resetLoading$.next(false);\n this.onSkipCreatePass();\n });\n this.closeAllWallets();\n this.variablesService.contacts = [];\n }, 500);\n }\n\n onSubmitAuthPass(): void {\n this.submitLoading$.next(true);\n\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n if (this.authForm.valid) {\n this.variablesService.appPass = this.authForm.get('password').value;\n if (this.variablesService.dataIsLoaded) {\n this.backend.checkMasterPassword({ pass: this.variablesService.appPass }, status => {\n if (status) {\n this.variablesService.appLogin = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/'], {\n queryParams: { prevUrl: 'login' },\n });\n });\n } else {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n } else {\n this.getData(this.variablesService.appPass);\n }\n } else {\n this.submitLoading$.next(false);\n }\n }, 500);\n }\n\n getData(appPass): void {\n this.backend.getSecureAppData({ pass: appPass }, (status, data) => {\n if (!data.error_code) {\n this.setAuthPassError(null);\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.variablesService.appPass = appPass;\n const isEmptyObject = Object.keys(data).length === 0 && data.constructor === Object;\n\n if (this.variablesService.wallets.length > 0) {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/wallet/']);\n });\n return;\n }\n if (hasOwnProperty(data, 'contracts')) {\n if (Object.keys(data['contacts']).length !== 0) {\n data['contacts'].map(contact => {\n this.variablesService.contacts.push(contact);\n });\n }\n }\n if (hasOwnProperty(data, 'wallets')) {\n if (Object.keys(data['wallets']).length !== 0) {\n this.getWalletData(data['wallets']);\n } else {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/']);\n });\n }\n }\n if (!hasOwnProperty(data, 'wallets') && !hasOwnProperty(data, 'contracts')) {\n if (data.length !== 0 && !isEmptyObject) {\n this.getWalletData(data);\n } else {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/']);\n });\n }\n }\n\n if (this.variablesService.settings.zanoCompanionForm.zanoCompation) {\n this.backend.setupJwtWalletRpc(this.variablesService.settings.zanoCompanionForm);\n }\n }\n\n if (data.error_code === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n }\n\n getWalletData(walletData): void {\n let openWallets = 0;\n let runWallets = 0;\n walletData.forEach((wallet, wallet_index) => {\n this.backend.openWallet(wallet.path, wallet.pass, this.variablesService.count, true, (open_status, open_data, open_error) => {\n if (open_status || open_error === 'FILE_RESTORED') {\n openWallets++;\n this.ngZone.run(() => {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n wallet.name,\n wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n if (wallet.staking) {\n new_wallet.staking = true;\n this.backend.startPosMining(new_wallet.wallet_id);\n } else {\n new_wallet.staking = false;\n }\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n if (this.variablesService.wallets.length === 1) {\n this.router.navigate(['/wallet/']);\n }\n });\n this.backend.runWallet(open_data.wallet_id, run_status => {\n if (run_status) {\n runWallets++;\n } else {\n if (wallet_index === walletData.length - 1 && runWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n } else {\n if (wallet_index === walletData.length - 1 && openWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n });\n this.submitLoading$.next(false);\n }\n\n closeAllWallets(): void {\n this.variablesService.wallets.forEach(({ wallet_id }) => this.closeWallet(wallet_id));\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n }\n\n closeWallet(wallet_id) {\n this.backend.closeWallet(wallet_id, () => {\n for (let i = this.variablesService.wallets.length - 1; i >= 0; i--) {\n this.variablesService.wallets.splice(i, 1);\n }\n });\n }\n\n private setAuthPassError(errors: ValidationErrors | null): void {\n this.authForm.controls['password'].setErrors(errors);\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { paths } from '../../paths';\n\n@Component({\n selector: 'app-no-wallet',\n template: `\n
\n
\n \n\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n

\n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class NoWalletComponent {\n paths = paths;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n openWallet(): void {\n this.backend.openFileDialog(\n this.translate.instant('MAIN.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n this.ngZone.run(() => {\n this.router\n .navigate(['/' + paths.open], {\n queryParams: { path: file_data.path },\n })\n .then();\n });\n } else {\n console.log(file_data['error_code']);\n }\n }\n );\n }\n\n openInBrowser(): void {\n this.backend.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-create-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
variablesService.maxWalletNameLength\" class=\"error\">\n {{ 'CREATE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\"\n [readonly]=\"createForm.controls.path.valid\"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'CREATE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n\n \n\n \n {{ 'CREATE_WALLET.BUTTON_SELECT' | translate }}\n \n\n \n \n
\n \n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class CreateWalletComponent {\n variablesService = inject(VariablesService);\n\n loading$ = new BehaviorSubject(false);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.CREATE_WALLET',\n },\n ];\n\n walletsService = inject(WalletsService);\n\n fb = inject(NonNullableFormBuilder);\n\n createForm = this.fb.group(\n {\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.control(''),\n path: this.fb.control('', Validators.required),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n private router = inject(Router);\n\n private backend = inject(BackendService);\n\n private modalService = inject(ModalService);\n\n private ngZone = inject(NgZone);\n\n private translate = inject(TranslateService);\n\n get savedWalletName(): string {\n const path = this.createForm.get('path').value;\n return path.substr(path.lastIndexOf('/') + 1, path.length - 1);\n }\n\n createWallet(): void {\n this.loading$.next(true);\n\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n const { path: selectedPath, password, name } = this.createForm.getRawValue();\n this.backend.generateWallet(selectedPath, password, async (generate_status, generate_data, errorCode) => {\n if (generate_status) {\n const { wallet_id } = generate_data;\n const { path, address, balance, unlocked_balance, mined_total, tracking_hey } = generate_data['wi'];\n const wallet = new Wallet(wallet_id, name, password, path, address, balance, unlocked_balance, mined_total, tracking_hey);\n wallet.alias = this.backend.getWalletAlias(address);\n wallet.total_history_item = 0;\n wallet.pages = new Array(1).fill(1);\n wallet.totalPages = 1;\n wallet.currentPage = 1;\n await this.backend.runWallet(wallet_id, async (run_status, run_data) => {\n if (run_status) {\n await this.ngZone.run(async () => {\n this.walletsService.addWallet(wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.variablesService.setCurrentWallet(wallet_id);\n this.loading$.next(false);\n await this.router.navigate(['/seed-phrase'], { queryParams: { wallet_id } });\n });\n } else {\n console.log(run_data['error_code']);\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n }\n });\n } else {\n const errorTranslationKey =\n errorCode === 'ALREADY_EXISTS' ? 'CREATE_WALLET.ERROR_CANNOT_SAVE_TOP' : 'CREATE_WALLET.ERROR_CANNOT_SAVE_SYSTEM';\n this.modalService.prepareModal('error', errorTranslationKey);\n\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n }\n });\n }, 500);\n }\n\n selectWalletLocation(): void {\n const caption = this.translate.instant('CREATE_WALLET.TITLE_SAVE');\n const fileMask = '*';\n const { default_path } = this.variablesService.settings;\n this.backend.saveFileDialog(caption, fileMask, default_path, (file_status, file_data) => {\n if (file_status) {\n this.ngZone.run(() => {\n const { path } = file_data;\n this.createForm.get('path').patchValue(path);\n this.variablesService.settings.default_path = path.substr(0, path.lastIndexOf('/'));\n });\n }\n });\n }\n}\n","import { delay, takeUntil } from 'rxjs/operators';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-deeplink',\n template: `\n \n \n\n \n \n `,\n styles: [],\n})\nexport class DeeplinkComponent implements OnInit, OnDestroy {\n deeplink$ = new BehaviorSubject(null);\n\n private destroy$ = new Subject();\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.variablesService.deeplink$.pipe(delay(200), takeUntil(this.destroy$)).subscribe({\n next: data => {\n this.deeplink$.next(data);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalModule } from './modals/deeplink-modal/deeplink-modal.module';\nimport { DeeplinkComponent } from './deeplink.component';\nimport { SyncModalModule } from './modals/sync-modal/sync-modal.module';\n\n@NgModule({\n declarations: [DeeplinkComponent],\n imports: [CommonModule, DeeplinkModalModule, SyncModalModule],\n exports: [DeeplinkComponent, DeeplinkModalModule, SyncModalModule],\n})\nexport class DeeplinkModule {}\n","import { Component, HostBinding, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DeeplinkParams, PushOffer, Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-deeplink-modal',\n template: `\n
\n 1 && !secondStep\">\n
\n
\n \n \n \n {{ item.name }}\n \n \n {{ item.name }}\n \n \n
\n
\n\n
\n \n \n
\n
\n\n \n

Creating a marketplace offer

\n
\n
\n
\n
\n {{ 'Offer title' | translate }}\n
\n
{{ actionData.title }}
\n
\n\n
\n\n
\n
\n {{ 'Description' | translate }}\n
\n
{{ actionData.description }}
\n
\n\n
\n\n
\n
\n {{ 'Category' | translate }}\n
\n
{{ actionData.category }}
\n
\n\n
\n\n
\n
\n {{ 'Price' | translate }}\n
\n
\n {{ actionData.price }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n\n
\n\n
\n
\n {{ 'Preview url' | translate }}\n
\n
{{ actionData.url || actionData.img_url }}
\n
\n\n
\n\n
\n
\n {{ 'Contacts' | translate }}\n
\n
{{ actionData.contact }}
\n
\n\n
\n\n
\n
\n {{ 'Comments' | translate }}\n
\n
\n {{ actionData.comment || actionData.comments }}\n
\n
\n\n
\n\n
\n
\n {{ 'Mixins' | translate }}\n
\n
{{ actionData.mixins || defaultMixin }}
\n
\n\n
\n\n
\n
\n {{ 'Transaction fee' | translate }}\n
\n
\n {{ actionData.price * (actionData.fee || this.variablesService.default_fee) }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n\n \n

Operation successful

\n\n
\n
\n
\n
\n {{ 'Operation hash' | translate }}\n
\n \n {{ marketplaceConfirmHash }}\n \n
\n
\n
\n
\n\n
\n \n
\n \n\n \n

Your wallets have not loaded yet. Try this action a little later.

\n\n
\n \n
\n
\n \n `,\n styles: [],\n})\nexport class DeeplinkModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n secondStep = false;\n\n walletToPayId = 0;\n\n nextStepInterval;\n\n marketplaceModalShow = true;\n\n copyAnimation = false;\n\n marketplaceConfirmHash: any = null;\n\n actionData: DeeplinkParams = {};\n\n defaultMixin = MIXIN;\n\n walletsToPay: Array = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private _router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.walletsToPay = this.variablesService.wallets.filter(wallet => !wallet.is_watch_only || !wallet.is_auditable);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n\n this.variablesService.deeplink$.pipe(takeUntil(this.destroy$)).subscribe({\n next: deeplink => {\n this.actionData = {};\n\n if (deeplink) {\n if (this.walletsToPay.length === 0) {\n this.canselAction();\n return;\n }\n this.actionData = this.parseDeeplink(deeplink);\n if (this.walletsToPay.length === 1) {\n this.walletToPayId = this.walletsToPay[0].wallet_id;\n const { daemon_state, sync_started } = this.variablesService;\n\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n } else {\n this.nextStepInterval = setInterval(() => {\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n clearInterval(this.nextStepInterval);\n }\n }, 1500);\n }\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.variablesService.deeplink$.next(null);\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n parseDeeplink(deeplink): DeeplinkParams {\n const quotesRex = new RegExp(/'|\"|”|%E2%80%9D|%22/g);\n const spaceSymbolRex = new RegExp(/%20/g);\n const newObj = {};\n\n const newString = deeplink.substr(5); // delete zano:;\n newString.split('&').forEach(str => {\n const [key, value] = str.split('=');\n newObj[key] = value.replace(quotesRex, '').replace(spaceSymbolRex, ' ').trim();\n });\n return newObj;\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n this.actionData = {};\n this.secondStep = false;\n }\n\n marketplaceSend(): void {\n const offerObject: PushOffer = {\n wallet_id: this.walletToPayId,\n od: {\n ap: this.actionData.price || '',\n at: '1',\n cat: this.actionData.category || '',\n cnt: this.actionData.contact || '',\n com: this.actionData.comment || this.actionData.comments || '',\n do: this.actionData.description || '',\n et: 10,\n fee: new BigNumber('' + (+this.actionData.fee || +this.variablesService.default_fee) * 1000000000000),\n lci: '',\n lco: 'World Wide',\n ot: 1,\n pt: 'Credit cards, BTC, ZANO, ETH',\n t: this.actionData.title || '',\n url: this.actionData.url || this.actionData.img_url || '',\n },\n };\n this.backend.push_offer(offerObject, (status, data) => {\n this.ngZone.run(() => {\n if (data.success) {\n this.marketplaceModalShow = false;\n this.marketplaceConfirmHash = data.tx_hash;\n } else {\n this.canselAction();\n }\n });\n });\n }\n\n copyHash(): void {\n this.backend.setClipboard(this.marketplaceConfirmHash);\n this.copyAnimation = true;\n setTimeout(() => (this.copyAnimation = false), 2000);\n }\n\n nextStep(): void {\n if (this.actionData.action === 'send') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/send']).then();\n this.secondStep = false;\n } else if (this.actionData.action === 'escrow') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/contracts/purchase']).then();\n this.secondStep = false;\n } else {\n this.secondStep = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalComponent } from './deeplink-modal.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [DeeplinkModalComponent],\n imports: [CommonModule, NgSelectModule, FormsModule, FlexLayoutModule, TranslateModule],\n exports: [DeeplinkModalComponent],\n})\nexport class DeeplinkModalModule {}\n","import { Component, HostBinding, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-sync-modal',\n template: `\n
\n
\n

This action is not available during synchronization...

\n \n
\n
\n `,\n styles: [],\n})\nexport class SyncModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n constructor(private renderer: Renderer2, public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SyncModalComponent } from './sync-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [SyncModalComponent],\n imports: [CommonModule, FlexLayoutModule],\n exports: [SyncModalComponent],\n})\nexport class SyncModalModule {}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-edit-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.EDIT_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n \n
0 && notEnoughMoney\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n {{\n 'EDIT_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n variablesService.maxCommentLength\n \"\n class=\"primary big w-100\"\n type=\"button\"\n >\n {{ 'EDIT_ALIAS.BUTTON_EDIT' | translate }}\n \n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class EditAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.EDIT_ALIAS',\n },\n ];\n\n oldAliasComment: string;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n };\n this.oldAliasComment = alias.comment;\n const balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n updateAlias(): void {\n if (\n this.requestProcessing ||\n this.notEnoughMoney ||\n this.oldAliasComment === this.alias.comment ||\n this.alias.comment.length > this.variablesService.maxCommentLength\n ) {\n return;\n }\n this.requestProcessing = true;\n this.backend.updateAlias(this.wallet.wallet_id, this.alias, this.variablesService.default_fee, status => {\n if (status) {\n this.modalService.prepareModal('success', '');\n this.wallet.alias['comment'] = this.alias.comment;\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Contact } from '@api/models/contact.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Papa } from 'ngx-papaparse';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-export-import',\n template: `\n
\n
\n
\n \n

{{ 'CONTACTS.IMPORT_EXPORT' | translate }}

\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n\n .head {\n justify-content: flex-end;\n }\n\n .contacts-title {\n font-size: 1.7rem;\n margin-bottom: 1rem;\n }\n\n .btn-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0 -0.5rem;\n padding: 1.5rem 0;\n }\n\n .btn-wrapper button {\n flex: 1 0 auto;\n margin: 0 0.5rem;\n }\n `,\n ],\n})\nexport class ExportImportComponent {\n constructor(\n private variablesService: VariablesService,\n private backend: BackendService,\n private modalService: ModalService,\n private papa: Papa,\n private translate: TranslateService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n import(): void {\n this.backend.openFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n if (this.isValid(file_data.path)) {\n this.backend.loadFile(file_data.path, (status, data) => {\n if (!status) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT_EMPTY');\n } else {\n const options = {\n header: true,\n };\n const elements = this.papa.parse(data, options);\n const isArray = Array.isArray(elements.data);\n if (isArray && elements.data.length !== 0 && elements.errors.length === 0) {\n if (this.variablesService.contacts.length === 0) {\n elements.data.forEach(element => {\n this.variablesService.contacts.push(element);\n });\n } else {\n elements.data.forEach(element => {\n const indexName = this.variablesService.contacts.findIndex(\n contact => contact.name === element.name\n );\n const indexAddress = this.variablesService.contacts.findIndex(\n contact => contact.address === element.address\n );\n if (indexAddress === -1 && indexName === -1) {\n this.variablesService.contacts.push(element);\n }\n if (indexName !== -1 && indexAddress === -1) {\n this.variablesService.contacts.push({\n name: `${(element.name as string) || '---'} ${\n this.translate.instant('CONTACTS.COPY') as string\n }`,\n address: element.address,\n notes: element.notes,\n });\n }\n });\n }\n this.backend.getContactAlias();\n this.ngZone.run(() => {\n this.router.navigate(['/contacts']);\n });\n }\n if (elements.errors.length > 0) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT');\n console.log(elements.errors);\n }\n }\n });\n } else {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_TYPE_FILE');\n }\n }\n });\n }\n\n export(): void {\n const contacts: Array = [];\n this.variablesService.contacts.forEach(contact => {\n delete contact.alias;\n contacts.push(contact);\n });\n\n this.backend.saveFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (this.variablesService.contacts.length === 0 && !(file_data.error_code === 'CANCELED')) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EMPTY_LIST');\n }\n const path = this.isValid(file_data.path) ? file_data.path : `${(file_data.path as string) || 'base-name'}.csv`;\n if (file_status && this.isValid(path) && this.variablesService.contacts.length > 0) {\n this.backend.storeFile(path, this.papa.unparse(contacts));\n }\n if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');\n }\n });\n }\n\n isValid(file): boolean {\n return file.endsWith('.csv');\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { notFileZanoWallet, wrongPassword } from '@parts/utils/zano-errors';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-open-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.OPEN_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ openWalletForm.controls.password.errors['wrongPassword'].errorText | translate }}\n
\n
\n
\n \n \n
\n \n \n\n \n `,\n})\nexport class OpenWalletComponent implements OnInit, OnDestroy {\n loading$ = new BehaviorSubject(false);\n\n fb = inject(NonNullableFormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.OPEN_WALLET',\n },\n ];\n\n openWalletForm = this.fb.group({\n name: this.fb.control('', [\n Validators.required,\n Validators.maxLength(this.variablesService.maxWalletNameLength),\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n password: this.fb.control('', [Validators.pattern(regExpPassword)]),\n filePath: this.fb.control('', Validators.required),\n });\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (!params.path) {\n return;\n }\n\n this.openWalletForm.controls.filePath.patchValue(params.path);\n\n let filename = '';\n if (params.path.lastIndexOf('.') === -1) {\n filename = params.path.substr(params.path.lastIndexOf('/') + 1);\n } else {\n filename = params.path.substr(\n params.path.lastIndexOf('/') + 1,\n params.path.lastIndexOf('.') - 1 - params.path.lastIndexOf('/')\n );\n }\n if (filename.length > 25) {\n filename = filename.slice(0, 25);\n }\n this.openWalletForm.controls.name.patchValue(filename);\n this.openWalletForm.controls.name.markAsTouched();\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n openWallet(): void {\n this.loading$.next(true);\n\n if (this.openWalletForm.valid) {\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n const { filePath, password, name } = this.openWalletForm.getRawValue();\n const { count: txs_to_return } = this.variablesService;\n this.backend.openWallet(\n filePath,\n password,\n txs_to_return,\n false,\n (openStatus, openData, errorCode: 'WRONG_PASSWORD' | 'FILE_NOT_FOUND' | 'INVALID_FILE' | 'ALREADY_EXISTS' | string) => {\n console.log('openData', openData);\n if (errorCode === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.openWalletForm.controls.password.setErrors({\n wrongPassword,\n });\n this.loading$.next(false);\n });\n return;\n }\n\n let errorText = errorCode;\n\n if (errorCode === 'FILE_NOT_FOUND') {\n errorText = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n errorText += ':
' + filePath;\n errorText += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n }\n\n if (errorCode === 'INVALID_FILE') {\n errorText = this.translate.instant(notFileZanoWallet.errorText);\n }\n\n if (['INVALID_FILE', 'FILE_NOT_FOUND'].includes(errorCode)) {\n this.modalService.prepareModal('error', errorText);\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n return;\n }\n\n if (openStatus || errorCode === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === openData['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(openData.wallet_id, () => {\n this.ngZone.run(() => {\n this.loading$.next(false);\n this.router.navigate(['/']);\n });\n });\n } else {\n const new_wallet = new Wallet(\n openData.wallet_id,\n name,\n password,\n openData['wi'].path,\n openData['wi'].address,\n openData['wi'].balance,\n openData['wi'].unlocked_balance,\n openData['wi'].mined_total,\n openData['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.currentPage = 1;\n new_wallet.open_from_exist = true;\n new_wallet.exclude_mining_txs = false;\n new_wallet.is_auditable = openData['wi'].is_auditable;\n new_wallet.is_watch_only = openData['wi'].is_watch_only;\n if (openData.recent_history && openData.recent_history.history) {\n new_wallet.total_history_item = openData.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(\n openData.recent_history.total_history_items / this.variablesService.count\n );\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(openData.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(openData.wallet_id, (run_status, run_data) => {\n if (run_status) {\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(openData.wallet_id);\n this.router.navigate(['/wallet/']);\n this.loading$.next(false);\n });\n } else {\n console.log(run_data['error_code']);\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n }\n });\n }\n }\n }\n );\n }, 500);\n } else {\n this.loading$.next(false);\n }\n\n }\n}\n","import { RouterModule, Routes } from '@angular/router';\nimport { paths } from './paths';\nimport { WithSidebarLayoutComponent } from '../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { WalletDetailsComponent } from './wallet-details/wallet-details.component';\nimport { FullLayoutComponent } from '../layouts/full-layout/full-layout.component';\nimport { LoginComponent } from './auth/login/login.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeeplinkComponent } from './deeplink/deeplink.component';\nimport { NgModule } from '@angular/core';\nimport { ExportImportComponent } from './export-import/export-import.component';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\n\nconst routes: Routes = [\n {\n path: paths.addWallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AddWalletComponent,\n },\n ],\n },\n {\n path: paths.details,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletDetailsComponent,\n },\n ],\n },\n {\n path: paths.login,\n component: FullLayoutComponent,\n children: [\n {\n path: '',\n component: LoginComponent,\n },\n ],\n },\n {\n path: paths.create,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: CreateWalletComponent,\n },\n ],\n },\n {\n path: paths.open,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: OpenWalletComponent,\n },\n ],\n },\n {\n path: paths.restore,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: RestoreWalletComponent,\n },\n ],\n },\n {\n path: paths.seedPhrase,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SeedPhraseComponent,\n },\n ],\n },\n {\n path: paths.assignAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AssignAliasComponent,\n },\n ],\n },\n {\n path: paths.editAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: EditAliasComponent,\n },\n ],\n },\n {\n path: paths.transferAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: TransferAliasComponent,\n },\n ],\n },\n {\n path: paths.settings,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SettingsComponent,\n },\n ],\n },\n {\n path: paths.import,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: ExportImportComponent,\n },\n ],\n },\n {\n path: paths.deeplink,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: DeeplinkComponent,\n },\n ],\n },\n {\n path: '',\n redirectTo: paths.addWallet,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthModule } from './auth/auth.module';\nimport { WalletModule } from './wallet/wallet.module';\nimport { PagesRoutingModule } from './pages-routing.module';\nimport { LoginComponent } from './auth/login/login.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { ModalContainerComponent } from '@parts/modals/modal-container/modal-container.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { DefaultImgModule, DisablePriceFetchModule } from '@parts/directives';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from './deeplink/deeplink.module';\nimport { FullLayoutModule } from '../layouts/full-layout/full-layout.module';\nimport { WithSidebarLayoutModule } from '../layouts/with-sidebar-layout/with-sidebar-layout.module';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\nimport {\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule, ShortStringPipe,\n} from '@parts/pipes';\nimport { InputValidateModule } from '@parts/directives/input-validate';\nimport { InputDisableSelectionModule } from '@parts/directives/input-disable-selection';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { LoaderComponent } from '@parts/components/loader.component';\nimport { AutoFocusDirective } from '@parts/directives/autofocus.directive';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\n\n@NgModule({\n declarations: [\n LoginComponent,\n SettingsComponent,\n AddWalletComponent,\n CreateWalletComponent,\n OpenWalletComponent,\n RestoreWalletComponent,\n SeedPhraseComponent,\n AssignAliasComponent,\n EditAliasComponent,\n TransferAliasComponent,\n ModalContainerComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n PagesRoutingModule,\n AuthModule,\n WalletModule,\n NgSelectModule,\n TranslateModule.forChild(),\n FlexLayoutModule,\n DisablePriceFetchModule,\n TooltipModule,\n ConfirmModalModule,\n DeeplinkModule,\n FullLayoutModule,\n WithSidebarLayoutModule,\n OverlayModule,\n DefaultImgModule,\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule,\n ShortStringPipe,\n InputValidateModule,\n InputDisableSelectionModule,\n CheckboxComponent,\n CopyButtonComponent,\n StakingSwitchComponent,\n SwitchComponent,\n SynchronizationStatusComponent,\n LoaderComponent,\n AutoFocusDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n ],\n})\nexport class PagesModule {}\n","export enum paths {\n auth = 'auth',\n addWallet = 'add-wallet',\n login = 'login',\n wallet = 'wallet',\n create = 'create',\n open = 'open',\n restore = 'restore',\n seedPhrase = 'seed-phrase',\n details = 'details',\n assignAlias = 'assign-alias',\n editAlias = 'edit-alias',\n transferAlias = 'transfer-alias',\n settings = 'settings',\n import = 'import',\n deeplink = 'deeplink',\n}\n\nexport enum pathsChildrenAuth {\n noWallet = 'no-wallet',\n}\n\nexport enum pathsChildrenWallet {\n assets = 'assets',\n send = 'send',\n receive = 'receive',\n history = 'history',\n contracts = 'contracts',\n staking = 'staking',\n}\n\nexport enum pathsChildrenContracts {\n purchase = 'purchase',\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { pairwise, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-restore-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.CONFIRM_WALET_PASSWORD_PLACEHOLDER' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_REQUIRED' | translate }}\n
\n
\n \n {{ 'RESTORE_WALLET.FORM_ERRORS.SEED_PHRASE_IS_NO_VALID' | translate }}\n
\n \n
\n \n \n \n {{ 'RESTORE_WALLET.FORM_ERRORS.INCORRECT_PASSWORD' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.OK' | translate }}\n
\n \n\n \n \n {{ 'RESTORE_WALLET.BUTTON_SELECT' | translate }}\n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class RestoreWalletComponent implements OnInit, OnDestroy {\n fb = inject(FormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.RESTORE_WALLET',\n },\n ];\n\n restoreForm = this.fb.group(\n {\n name: this.fb.nonNullable.control('', [\n Validators.required,\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n key: this.fb.nonNullable.control('', Validators.required),\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n seedPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n wallet = {\n id: '',\n };\n\n walletSaved = false;\n\n walletSavedName = '';\n\n progressWidth = '9rem';\n\n seedPhraseInfo = null;\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.checkValidSeedPhrasePassword();\n this.changeDetectionSeedPhrasePassword();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeDetectionSeedPhrasePassword(): void {\n this.restoreForm.controls.seedPassword.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n this.restoreForm.controls.key.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n }\n\n checkValidSeedPhrasePassword(): void {\n const seed_password = this.restoreForm.controls.seedPassword.value;\n const seed_phrase = this.restoreForm.controls.key.value;\n this.backend.getSeedPhraseInfo({ seed_phrase, seed_password }, (status, data) => {\n this.ngZone.run(() => {\n this.seedPhraseInfo = data;\n });\n });\n }\n\n createWallet(): void {\n this.ngZone.run(() => {\n this.progressWidth = '100%';\n this.runWallet();\n });\n }\n\n saveWallet(): void {\n if (this.restoreForm.valid && this.restoreForm.get('name').value.length <= this.variablesService.maxWalletNameLength) {\n this.backend.isValidRestoreWalletText(\n {\n seed_phrase: this.restoreForm.get('key').value,\n seed_password: this.restoreForm.get('seedPassword').value,\n },\n (valid_status, valid_data) => {\n if (valid_data !== 'TRUE') {\n this.ngZone.run(() => {\n this.restoreForm.get('key').setErrors({ key_not_valid: true });\n });\n } else {\n this.backend.saveFileDialog(\n this.translate.instant('RESTORE_WALLET.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (save_status, save_data) => {\n if (save_status) {\n this.variablesService.settings.default_path = save_data.path.substr(0, save_data.path.lastIndexOf('/'));\n this.walletSavedName = save_data.path.substr(\n save_data.path.lastIndexOf('/') + 1,\n save_data.path.length - 1\n );\n this.backend.restoreWallet(\n save_data.path,\n this.restoreForm.get('password').value,\n this.restoreForm.get('key').value,\n this.restoreForm.get('seedPassword').value,\n (restore_status, restore_data) => {\n if (restore_status) {\n this.wallet.id = restore_data.wallet_id;\n this.variablesService.opening_wallet = new Wallet(\n restore_data.wallet_id,\n this.restoreForm.get('name').value,\n this.restoreForm.get('password').value,\n restore_data['wi'].path,\n restore_data['wi'].address,\n restore_data['wi'].balance,\n restore_data['wi'].unlocked_balance,\n restore_data['wi'].mined_total,\n restore_data['wi'].tracking_hey\n );\n this.variablesService.opening_wallet.is_auditable = restore_data['wi'].is_auditable;\n this.variablesService.opening_wallet.is_watch_only = restore_data['wi'].is_watch_only;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.alias = this.backend.getWalletAlias(\n this.variablesService.opening_wallet.address\n );\n this.variablesService.opening_wallet.pages = new Array(1).fill(1);\n this.variablesService.opening_wallet.totalPages = 1;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.total_history_item = 0;\n this.variablesService.opening_wallet.restore = true;\n if (restore_data.recent_history && restore_data.recent_history.history) {\n this.variablesService.opening_wallet.totalPages = Math.ceil(\n restore_data.recent_history.total_history_items / this.variablesService.count\n );\n this.variablesService.opening_wallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.opening_wallet.pages = new Array(5)\n .fill(1)\n .map((value, index) => value + index))\n : (this.variablesService.opening_wallet.pages = new Array(\n this.variablesService.opening_wallet.totalPages\n )\n .fill(1)\n .map((value, index) => value + index));\n this.variablesService.opening_wallet.prepareHistory(\n restore_data.recent_history.history\n );\n }\n this.ngZone.run(() => {\n this.walletSaved = true;\n this.progressWidth = '50%';\n });\n } else {\n this.modalService.prepareModal('error', 'RESTORE_WALLET.NOT_CORRECT_FILE_OR_PASSWORD');\n }\n }\n );\n }\n }\n );\n }\n }\n );\n }\n }\n\n runWallet(): void {\n // add flag when wallet was restored form seed\n this.variablesService.after_sync_request[this.wallet.id] = true;\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === this.variablesService.opening_wallet.address) {\n exists = true;\n }\n });\n if (!exists) {\n this.backend.runWallet(this.wallet.id, (run_status, run_data) => {\n if (run_status) {\n this.walletsService.addWallet(this.variablesService.opening_wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(this.wallet.id);\n this.router.navigate(['/wallet/']);\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n } else {\n this.variablesService.opening_wallet = null;\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(this.wallet.id, () => {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n });\n }\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-seed-phrase',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n \n\n \n
\n
\n \n \n
\n\n
\n \n 0\"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n
0\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n
\n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n \n \n \n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n \n
\n
\n
\n \n
\n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n
\n \n \n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class SeedPhraseComponent implements OnInit, OnDestroy {\n seedPhrase = '';\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.SAVE_PHRASE',\n },\n ];\n\n showSeed = false;\n\n wallet_id: number;\n\n wallet!: Wallet;\n\n seedPhraseCopied = false;\n\n progressWidth = '66%';\n\n fb = inject(FormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.nonNullable.control('', [ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.nonNullable.control(''),\n });\n\n seedPhraseForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.showSeed = false;\n this.getWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n showSeedPhrase(): void {\n this.showSeed = true;\n this.progressWidth = '100%';\n }\n\n onSubmitSeed(): void {\n if (this.seedPhraseForm.valid) {\n this.showSeedPhrase();\n const wallet_id = this.wallet_id;\n const seed_password = this.seedPhraseForm.controls.password.value;\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n }\n\n private setWalletInfoNamePath(): void {\n this.detailsForm.get('name').setValue(this.wallet.name);\n this.detailsForm.get('path').setValue(this.wallet.path);\n }\n\n private getWallet(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.wallet_id) {\n this.wallet_id = +params.wallet_id;\n this.wallet = this.walletsService.getWalletById(this.wallet_id);\n if (this.wallet) {\n this.setWalletInfoNamePath();\n }\n }\n },\n });\n }\n}\n","import { Component, inject, NgZone, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { scaleItems } from '@parts/data/scale-items';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { generateRandomString } from '@parts/utils/generate-random-string';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'app-settings',\n template: `\n
\n
\n
\n \n

{{ 'SETTINGS.TITLE' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n {{ item.language | translate }}\n \n \n {{ item.language | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.translationKey | translate }}\n \n \n {{ item.translationKey | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.name | translate }}\n \n \n {{ item.name | translate }}\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n\n
\n
\n \n \n
\n \n
\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
\n
\n\n\n
\n

\n {{ 'SETTINGS.MASTER_PASSWORD.TITLE' | translate }}\n

\n\n
\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"password\"\n id=\"old-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_OLD' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.CURRENT_PASS_NOT_MATCH' | translate }}\n
\n
\n\n
\n \n \n \n
\n {{ 'ERRORS.WRONG_PASSWORD_MUST_BE' | translate }} a-zA-Z0-9_.*|~!?@#$%^&+{}()<>:;\"'-=,/[]*$\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"new_confirmation\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n
\n\n
\n \n {{\n 'SETTINGS.SETTINGS_SAVED' | translate\n }}\n
\n \n\n

Build version: {{ currentBuild }}

\n
\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n\n .form__field--secret .form__field--input {\n padding-right: 4rem;\n }\n\n .btn--regenerate {\n padding: 4px;\n border-radius: 4px;\n position: absolute;\n right: 0.6rem;\n top: 3.6rem;\n background: #ffffff1a;\n cursor: pointer;\n }\n `,\n ],\n})\nexport class SettingsComponent implements OnInit {\n ifSaved = false;\n\n scale: string;\n\n appUseTor: boolean;\n\n fb = inject(FormBuilder);\n\n changeForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.compose([Validators.pattern(regExpPassword)])),\n new_password: this.fb.nonNullable.control('', Validators.compose([Validators.required, Validators.pattern(regExpPassword)])),\n new_confirmation: this.fb.nonNullable.control(''),\n appPass: this.fb.nonNullable.control(this.variablesService.appPass ?? ''),\n },\n {\n validators: [\n ZanoValidators.formMatch('new_password', 'new_confirmation'),\n ZanoValidators.formMatch('password', 'appPass', 'pass_mismatch'),\n ],\n }\n );\n\n zanoCompanionForm: FormGroup<{\n zanoCompation: FormControl,\n secret: FormControl\n }> = this.fb.group({\n zanoCompation: this.fb.nonNullable.control({ value: false, disabled: !this.variablesService.hasAppPass }),\n secret: this.fb.nonNullable.control(\n { value: '', disabled: false },\n {\n validators: Validators.compose([]),\n }\n ),\n });\n\n public currentNotificationsState;\n\n languagesOptions = [\n {\n name: 'en',\n language: 'SETTINGS.LANGUAGE.EN',\n },\n {\n name: 'fr',\n language: 'SETTINGS.LANGUAGE.FR',\n },\n {\n name: 'de',\n language: 'SETTINGS.LANGUAGE.DE',\n },\n {\n name: 'id',\n language: 'SETTINGS.LANGUAGE.ID',\n },\n {\n name: 'it',\n language: 'SETTINGS.LANGUAGE.IT',\n },\n {\n name: 'pt',\n language: 'SETTINGS.LANGUAGE.PT',\n },\n ];\n\n appLockOptions = [\n {\n time: 5,\n translationKey: 'SETTINGS.APP_LOCK.TIME1',\n },\n {\n time: 15,\n translationKey: 'SETTINGS.APP_LOCK.TIME2',\n },\n {\n time: 60,\n translationKey: 'SETTINGS.APP_LOCK.TIME3',\n },\n {\n time: 0,\n translationKey: 'SETTINGS.APP_LOCK.TIME4',\n },\n ];\n\n appScaleOptions = scaleItems;\n\n appLogOptions = [\n {\n id: -1,\n },\n {\n id: 0,\n },\n {\n id: 1,\n },\n {\n id: 2,\n },\n {\n id: 3,\n },\n {\n id: 4,\n },\n ];\n\n currentBuild = '';\n\n appPass: any;\n\n constructor(\n public translate: TranslateService,\n public variablesService: VariablesService,\n private renderer: Renderer2,\n private backend: BackendService,\n private ngZone: NgZone\n ) {\n this.scale = this.variablesService.settings.scale;\n this.appUseTor = this.variablesService.settings.appUseTor;\n this.zanoCompanionForm.setValue(this.variablesService.settings.zanoCompanionForm, { emitEvent: false });\n\n this.backend.getOptions();\n }\n\n ngOnInit(): void {\n this.backend.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n this.currentBuild = version;\n this.variablesService.testnet = false;\n if (type === 'testnet') {\n this.currentBuild += ' TESTNET';\n this.variablesService.testnet = true;\n }\n this.variablesService.networkType = type;\n } else {\n this.currentBuild = 'There was an error getting the build version';\n }\n });\n });\n this.backend.getIsDisabledNotifications(res => {\n this.currentNotificationsState = res;\n });\n\n this.zanoCompanionForm.valueChanges.pipe(debounceTime(200)).subscribe({\n next: () => {\n const value = this.zanoCompanionForm.getRawValue();\n const { zanoCompation, secret } = value;\n\n if (zanoCompation && !secret) {\n this.generateSecret();\n return;\n }\n\n if (!zanoCompation && secret) {\n this.zanoCompanionForm.controls.secret.patchValue('');\n return;\n }\n\n if (zanoCompation && secret || !zanoCompation && !secret) {\n this.backend.setupJwtWalletRpc(value);\n return;\n }\n }\n });\n }\n\n private generateSecret(): void {\n this.zanoCompanionForm.get('secret').setValue(generateRandomString(40));\n }\n\n regenerateSecret(): void {\n this.generateSecret();\n }\n\n setScale(): void {\n this.scale = this.variablesService.settings.scale;\n this.renderer.setStyle(document.documentElement, 'font-size', this.scale);\n this.backend.storeAppData();\n }\n\n onSubmitChangePass(): void {\n if (this.changeForm.valid) {\n this.variablesService.appPass = this.changeForm.get('new_password').value;\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.zanoCompanionForm.controls.zanoCompation.enable({ emitEvent: false });\n this.onSave();\n });\n } else {\n console.log(data['error_code']);\n }\n });\n\n this.changeForm.reset();\n }\n }\n\n toggleNotifications(): void {\n if (!this.currentNotificationsState) {\n this.backend.setIsDisabledNotifications('true');\n this.currentNotificationsState = true;\n } else {\n this.backend.setIsDisabledNotifications('false');\n this.currentNotificationsState = false;\n }\n }\n\n toggleUseTor(): void {\n this.appUseTor = !this.appUseTor;\n this.variablesService.settings.appUseTor = this.appUseTor;\n this.backend.setEnableTor(this.appUseTor);\n this.backend.storeAppData();\n }\n\n onSave(): void {\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n onLockChange(): void {\n this.variablesService.restartCountdown();\n }\n\n onLogChange(): void {\n this.backend.setLogLevel(this.variablesService.settings.appLog);\n this.backend.storeAppData();\n }\n\n onLanguageChange(): void {\n this.translate.use(this.variablesService.settings.language);\n this.backend.storeAppData();\n }\n}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport BigNumber from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-transfer-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.TRANSFER_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n 0 &&\n (transferAddressAlias ||\n !transferAddressValid ||\n (transferAddressValid && !permissionSend) ||\n notEnoughMoney)\n \"\n class=\"form__field--input\"\n id=\"alias-transfer\"\n name=\"alias-transfer\"\n placeholder=\"{{ 'TRANSFER_ALIAS.ADDRESS.PLACEHOLDER' | translate }}\"\n type=\"text\"\n />\n 0 &&\n (transferAddressAlias ||\n !transferAddressValid ||\n (transferAddressValid && !permissionSend) ||\n notEnoughMoney)\n \"\n class=\"error\"\n >\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.WRONG_ADDRESS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.ALIAS_EXISTS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n {{\n 'TRANSFER_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n \n {{ 'TRANSFER_ALIAS.BUTTON_TRANSFER' | translate }}\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class TransferAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.TRANSFER_ALIAS',\n },\n ];\n\n transferAddress = '';\n\n transferAddressValid: boolean;\n\n transferAddressAlias: boolean;\n\n permissionSend: boolean;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n tracking_key: alias.tracking_key,\n };\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = unlocked_balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n changeAddress(): void {\n this.backend.validateAddress(this.transferAddress, status => {\n this.transferAddressValid = status;\n if (status) {\n this.backend.getPoolInfo((statusPool, dataPool) => {\n if (hasOwnProperty(dataPool, 'aliases_que') && dataPool.aliases_que.length) {\n this.setStatus(!dataPool.aliases_que.some(el => el.address === this.transferAddress));\n } else {\n this.setStatus(status);\n }\n });\n } else {\n this.setStatus(false);\n }\n });\n }\n\n setStatus(statusSet): void {\n this.permissionSend = statusSet;\n if (statusSet) {\n this.backend.getAliasByAddress(this.transferAddress, status => {\n this.ngZone.run(() => {\n if (status) {\n this.transferAddressAlias = true;\n this.permissionSend = false;\n } else {\n this.transferAddressAlias = false;\n }\n });\n });\n } else {\n this.ngZone.run(() => {\n this.transferAddressAlias = false;\n });\n }\n }\n\n transferAlias(): void {\n if (this.requestProcessing || !this.permissionSend || !this.transferAddressValid || this.notEnoughMoney) {\n return;\n }\n this.requestProcessing = true;\n const newAlias = {\n name: this.alias.name,\n address: this.transferAddress,\n comment: this.alias.comment,\n tracking_key: this.alias.tracking_key,\n };\n this.backend.updateAlias(this.wallet.wallet_id, newAlias, this.variablesService.default_fee, (status, data) => {\n if (status && hasOwnProperty(data, 'success') && data.success) {\n this.modalService.prepareModal('info', 'TRANSFER_ALIAS.REQUEST_SEND_REG');\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-wallet-details',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.WALLET_DETAILS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n
\n \n

Saved!

\n
\n
\n \n \n
\n \n\n \n \n \n
\n \n \n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n 0\n \"\n >\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n \n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n \n \n \n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n \n \n
\n \n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n \n \n \n \n \n \n \n `,\n})\nexport class WalletDetailsComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.WALLET_DETAILS',\n },\n ];\n\n seedPhrase = '';\n\n showSeed = false;\n\n seedPhraseCopied = false;\n\n ifSaved = false;\n\n fb = inject(NonNullableFormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.control(''),\n });\n\n passwordSeedPhraseForm = this.fb.group(\n {\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone\n ) {\n const { currentWallet } = this.variablesService;\n const { name, path } = currentWallet;\n this.detailsForm.patchValue(\n {\n name,\n path,\n },\n {\n emitEvent: false,\n }\n );\n }\n\n beforeSubmitPasswordSeedPhrase(): void {\n if (this.passwordSeedPhraseForm.invalid) {\n this.passwordSeedPhraseForm.updateValueAndValidity();\n this.passwordSeedPhraseForm.markAllAsTouched();\n return;\n }\n\n this.submitPasswordSeedPhrase();\n }\n\n submitPasswordSeedPhrase(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const { password: seed_password } = this.passwordSeedPhraseForm.getRawValue();\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.showSeed = true;\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n\n beforeSubmitDetails(): void {\n if (this.detailsForm.invalid) {\n this.detailsForm.updateValueAndValidity();\n this.detailsForm.markAllAsTouched();\n return;\n }\n\n this.submitDetails();\n }\n\n submitDetails(): void {\n const getRawValue = this.detailsForm.getRawValue();\n const { name } = getRawValue;\n this.variablesService.currentWallet.name = name;\n this.detailsForm.reset(getRawValue);\n this.refreshDetailsFormValidators();\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n private refreshDetailsFormValidators(): void {\n const walletNamesForComparisons = this.variablesService.walletNamesForComparisons;\n const validatorsForName = [Validators.required, ZanoValidators.duplicate(walletNamesForComparisons)];\n this.detailsForm.controls.name.clearValidators();\n this.detailsForm.controls.name.setValidators(validatorsForName);\n this.detailsForm.controls.name.updateValueAndValidity();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Subject } from 'rxjs';\nimport { AssetBalance, ParamsRemoveCustomAssetId } from '@api/models/assets.model';\nimport { PaginatePipeArgs } from 'ngx-pagination';\nimport { takeUntil } from 'rxjs/operators';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { TranslateService } from '@ngx-translate/core';\nimport { defaultImgSrc, zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-assets',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n {{ 'ASSETS.TABLE.LABELS.NAME' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.BALANCE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.VALUE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.PRICE' | translate }}\n
\n
\n
 
\n
\n
\n \n {{ asset.asset_info.full_name }}\n
\n
\n
\n \n {{ asset.total | intToMoney }}\n {{ asset.asset_info.ticker }}\n \n
\n
\n
\n {{\n (asset.total | intToMoney) * variablesService.moneyEquivalent | currency : 'USD'\n }}\n
\n
\n
\n {{ variablesService.moneyEquivalent | currency : 'USD' }}\n 0\"\n [class.color-red]=\"variablesService.moneyEquivalentPercent < 0\"\n >\n {{ variablesService.moneyEquivalentPercent | number : '1.2-2' }}%\n \n
\n
\n
\n \n \n \n
\n
\n
\n\n \n \n\n
\n \n {{ page.label }}\n \n
\n {{ page.label }}\n
\n
\n\n \n \n
\n\n \n \n \n `,\n})\nexport class AssetsComponent implements OnInit, OnDestroy {\n currentPage = 1;\n\n itemsPerPage = 10;\n\n paginationId = 'pagination-assets-id';\n\n get paginatePipeArgs(): PaginatePipeArgs {\n return {\n id: this.paginationId,\n itemsPerPage: this.itemsPerPage,\n currentPage: this.currentPage,\n };\n }\n\n get isShowPagination(): boolean {\n const { currentWallet } = this.variablesService;\n if (currentWallet) {\n const { balances } = currentWallet;\n return (balances?.length || 0) > this.itemsPerPage;\n }\n return false;\n }\n\n zanoAssetInfo = zanoAssetInfo;\n\n defaultImgSrc = defaultImgSrc;\n\n triggerOrigin!: CdkOverlayOrigin;\n\n currentAsset!: AssetBalance;\n\n isOpenDropDownMenu = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private backendService: BackendService,\n private walletsService: WalletsService,\n private dialog: Dialog,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.listenChangeWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDropDownMenu(trigger: CdkOverlayOrigin, asset: AssetBalance): void {\n this.isOpenDropDownMenu = !this.isOpenDropDownMenu;\n this.triggerOrigin = trigger;\n this.currentAsset = asset;\n }\n\n trackByAssets(index: number, { asset_info: { asset_id } }: AssetBalance): number | string {\n return asset_id || index;\n }\n\n trackByPages(index: number): number | string {\n return index;\n }\n\n assetDetails(): void {\n const dialogConfig: DialogConfig = {\n data: {\n asset: this.currentAsset,\n },\n };\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n }\n\n beforeRemoveAsset(): void {\n if (!this.currentAsset) {\n return;\n }\n const {\n asset_info: { full_name },\n } = this.currentAsset;\n const dialogConfig: DialogConfig = {\n data: {\n title: `Do you want delete \"${full_name}\"`,\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.removeAsset(),\n });\n }\n\n removeAsset(): void {\n const { wallet_id, sendMoneyParams } = this.variablesService.currentWallet;\n const {\n asset_info: { asset_id },\n } = this.currentAsset;\n const params: ParamsRemoveCustomAssetId = {\n wallet_id,\n asset_id,\n };\n this.backendService.removeCustomAssetId(params, () => {\n this.walletsService.updateWalletInfo(wallet_id);\n this.currentAsset = undefined;\n\n if (sendMoneyParams) {\n this.walletsService.currentWallet.sendMoneyParams.asset_id = zanoAssetInfo.asset_id;\n }\n });\n }\n\n getBalanceTooltip(balance: AssetBalance): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!balance) {\n return null;\n }\n\n scrollWrapper.classList.add('balance-scroll-list');\n [balance].forEach(({ unlocked, total, asset_info: { ticker } }: AssetBalance) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerText = `${this.translate.instant('WALLET.AVAILABLE_BALANCE')} `;\n const availableB = document.createElement('b');\n availableB.innerText = `${ this.intToMoneyPipe.transform(unlocked) } ${ ticker || '---' }`;\n available.appendChild(availableB);\n scrollWrapper.appendChild(available);\n\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerText = `${this.translate.instant('WALLET.LOCKED_BALANCE')} `;\n const lockedB = document.createElement('b');\n lockedB.innerText = `${ this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)) } ${ ticker || '---' }`;\n locked.appendChild(lockedB);\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backendService.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n\n private listenChangeWallet(): void {\n this.variablesService.currentWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.currentPage = 0;\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subtransfer, Transaction } from '@api/models/transaction.model';\nimport BigNumber from 'bignumber.js';\nimport { PaginationService } from '@store/pagination/pagination.service';\nimport { PaginationStore } from '@store/pagination/pagination.store';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { collapseOnLeaveAnimation, expandOnEnterAnimation } from 'angular-animations';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-history',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n 0\"\n >\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
\n
{{ 'HISTORY.STATUS' | translate }}
\n
\n
{{ 'HISTORY.AMOUNT' | translate }}
\n
\n
{{ 'HISTORY.FEE' | translate }}
\n
\n
{{ 'HISTORY.ADDRESS' | translate }}
\n
\n
{{ 'HISTORY.DATE' | translate }}
\n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n {{\n (subtransfer.is_income ? 'HISTORY.RECEIVED' : 'HISTORY.SEND') | translate\n }}\n\n \n \n \n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{\n 'HISTORY.LOCK_TOOLTIP'\n | translate : { date: time(transaction) | date : 'MM.dd.yy' }\n }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n 500000000\">\n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{\n 'HISTORY.LOCK_TOOLTIP'\n | translate\n : {\n date:\n transaction.unlock_time * 1000 | date : 'MM.dd.yy'\n }\n }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n \n \n 0)\n \"\n class=\"icon unlock-transaction mr-1\"\n >\n \n \n \n \n \n \n\n \n
\n \"\"\n\n {{ 'HISTORY.RECEIVED' | translate }}\n
\n
\n
\n \n \n \n \n
\n \n {{ subtransfer.amount.minus(transaction.fee ?? 0).negated() | intToMoney }}\n {{ subtransfer.amount.negated() | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n {{ (subtransfer.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n \n \n
\n \n {{ subtransfer.amount.negated() | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n {{ (subtransfer.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n
\n \n\n \n \n {{ 0 | intToMoney }}\n {{ variablesService.defaultCurrency }}\n \n \n
\n
\n \n \n \n {{ transaction.fee | intToMoney }}\n {{ variablesService.defaultCurrency }}\n \n \n {{ 'HISTORY.NO_FEE' | translate }}\n \n \n
\n
\n \n \n
\n \n {{ transaction | historyTypeMessages }}\n \n
\n
\n\n \n \n \n {{ transaction.remote_addresses[0] | zanoShortString }}\n \n \n \n
\n \n \n = 1 && alias.length <= 5\"\n [class.mb-0_5]=\"transaction.remote_aliases.length >= 2\"\n [class.mr-0_5]=\"transaction.remote_aliases.length >= 2\"\n class=\"alias\"\n fxLayout=\"row inline\"\n >\n {{ '@' + alias }}\n
\n
\n
\n \n \n \n\n \n {{ 'HISTORY.HIDDEN' | translate }}\n \n \n
\n
\n {{ transaction.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm' }}\n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n\n \n \n {{ page }}\n \n \n\n \n \n {{ variablesService.currentWallet.currentPage }}\n \n \n\n \n \n \n
\n
\n Hide mining transactions\n \n
\n
\n
\n
\n `,\n styles: [\n `\n .cell-fee {\n display: inline-flex;\n }\n `,\n ],\n animations: [expandOnEnterAnimation(), collapseOnLeaveAnimation()],\n})\nexport class HistoryComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n openedDetails = '';\n\n stop_paginate = false;\n\n mining = false;\n\n wallet: Wallet;\n\n x = new BigNumber(3);\n\n y = new BigNumber(0.2);\n\n private destroy$ = new Subject();\n\n constructor(\n private route: ActivatedRoute,\n public variablesService: VariablesService,\n private pagination: PaginationService,\n private backend: BackendService,\n private ngZone: NgZone,\n private paginationStore: PaginationStore\n ) {}\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.openedDetails = '';\n },\n });\n\n this.init();\n\n this.variablesService.currentWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getRecentTransfers();\n },\n });\n\n this.variablesService.currentWalletChangedEvent\n .pipe(\n filter(w => !!w),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: (currentWallet: Wallet) => {\n this.mining = currentWallet.exclude_mining_txs;\n },\n });\n }\n\n isVisibleSubtransferStatus(subtransfer: Subtransfer, transaction: Transaction): boolean {\n const { amount, asset_id, is_income } = subtransfer;\n const { fee, subtransfers } = transaction;\n\n if (subtransfers.length === 1 && asset_id === zanoAssetInfo.asset_id && is_income === false && amount.eq(fee)) {\n return true;\n }\n\n if (asset_id === zanoAssetInfo.asset_id && this.isSwapTransaction(transaction) && this.isFinalizator(transaction)) {\n return true;\n }\n\n return !(asset_id === zanoAssetInfo.asset_id && is_income === false && amount.eq(fee));\n\n }\n\n isInitiator(transaction: Transaction): boolean {\n const { employed_entries: { spent= [] } } = transaction;\n return Boolean(spent?.find(({ index }) => {\n return index === 0;\n }));\n }\n\n isSwapTransaction(transaction: Transaction): boolean {\n const { subtransfers } = transaction;\n const arr = subtransfers.map(({ is_income }) => is_income);\n const condition1 = arr.some((value) => value);\n const condition2 = arr.some((value) => !value);\n return condition1 && condition2;\n }\n\n isFinalizator(transaction: Transaction): boolean {\n return !this.isInitiator(transaction);\n }\n\n isSelfTransaction(transaction: Transaction): boolean {\n const { remote_addresses, employed_entries: { receive, spent }, subtransfers, fee } = transaction;\n\n const condition1 = remote_addresses?.includes(this.variablesService.currentWallet?.address);\n const condition2 = [...receive, ...spent].map(({ asset_id }) => asset_id === zanoAssetInfo.asset_id).every(Boolean);\n const condition3 = subtransfers.length === 1 && subtransfers[0].asset_id === zanoAssetInfo.asset_id && subtransfers[0].amount.eq(fee);\n\n return condition1 && condition2 && condition3;\n }\n\n init(): void {\n let restore = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n restore = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (!this.variablesService.sync_started && restore && this.variablesService.currentWallet.wallet_id) {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n // if this is was restore wallet, and it was selected on moment when sync completed\n this.getRecentTransfers();\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n let after_sync_request = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n after_sync_request = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (after_sync_request && !this.variablesService.sync_started) {\n // if user click on the wallet at the first time after restore.\n this.getRecentTransfers();\n }\n\n if (hasOwnProperty(this.variablesService.stop_paginate, String(this.variablesService.currentWallet.wallet_id))) {\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n } else {\n this.stop_paginate = false;\n }\n // this will hide pagination a bit earlier\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isVisibleFee(transaction: Transaction): boolean {\n const { subtransfers } = transaction;\n const condition1 = subtransfers ? !subtransfers?.every(({ is_income }) => is_income) : false;\n const condition2 = this.isInitiator(transaction);\n return condition1 && condition2;\n }\n\n strokeSize(item): number {\n const rem = this.variablesService.settings.scale;\n if ((this.variablesService.height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 0;\n } else {\n if (item.height === 0 || this.variablesService.height_app - item.height < 0) {\n return 4.5 * parseInt(rem, 10);\n } else {\n return (\n 4.5 * parseInt(rem, 10) - ((4.5 * parseInt(rem, 10)) / 100) * ((this.variablesService.height_app - item.height) * 10)\n );\n }\n }\n }\n\n resetPaginationValues(): void {\n this.ngZone.run(() => {\n const total_history_item = this.variablesService.currentWallet.total_history_item;\n const count = this.variablesService.count;\n this.variablesService.currentWallet.totalPages = Math.ceil(total_history_item / count);\n this.variablesService.currentWallet.exclude_mining_txs = this.mining;\n this.variablesService.currentWallet.currentPage = 1;\n\n if (!this.variablesService.currentWallet.totalPages) {\n this.variablesService.currentWallet.totalPages = 1;\n }\n this.variablesService.currentWallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variablesService.currentWallet.pages = new Array(this.variablesService.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n });\n }\n\n setPage(pageNumber: number): void {\n // this is will allow pagination for wallets that was open from existed wallets'\n if (pageNumber === this.variablesService.currentWallet.currentPage) {\n return;\n }\n if (this.variablesService.currentWallet.open_from_exist && !this.variablesService.currentWallet.updated) {\n this.variablesService.get_recent_transfers = false;\n this.variablesService.currentWallet.updated = true;\n }\n // if not running get_recent_transfers callback\n if (!this.variablesService.get_recent_transfers) {\n this.variablesService.currentWallet.currentPage = pageNumber;\n }\n if (!this.variablesService.get_recent_transfers) {\n this.getRecentTransfers();\n }\n }\n\n toggleMiningTransactions(): void {\n if (!this.variablesService.sync_started && !this.wallet) {\n const value = this.paginationStore.value;\n if (!value) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n } else {\n const pages = value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id);\n if (pages.length === 0) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n }\n }\n this.mining = !this.mining;\n this.resetPaginationValues();\n this.getRecentTransfers();\n }\n }\n\n getRecentTransfers(): void {\n const offset = this.pagination.getOffset(this.variablesService.currentWallet.wallet_id);\n const value = this.paginationStore.value;\n const pages = value ? value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id) : [];\n this.backend.getRecentTransfers(\n this.variablesService.currentWallet.wallet_id,\n offset,\n this.variablesService.count,\n this.variablesService.currentWallet.exclude_mining_txs,\n (status, data) => {\n const isForward = this.paginationStore.isForward(pages, this.variablesService.currentWallet.currentPage);\n if (this.mining && isForward && pages && pages.length === 1) {\n this.variablesService.currentWallet.currentPage = 1; // set init page after navigation back\n }\n\n const history = data && data.history;\n this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id] =\n (history && history.length < this.variablesService.count) || !history;\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n if (!this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id]) {\n const page = this.variablesService.currentWallet.currentPage + 1;\n if (isForward && this.mining && history && history.length === this.variablesService.count) {\n this.paginationStore.setPage(page, data.last_item_index, this.variablesService.currentWallet.wallet_id); // add back page for current page\n }\n }\n\n this.pagination.calcPages(data);\n this.pagination.prepareHistory(data, status);\n\n this.ngZone.run(() => {\n this.variablesService.get_recent_transfers = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n // this is will complete get_recent_transfers request\n // this will switch of\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n });\n }\n );\n }\n\n tick(): void {\n const walletInterval = setInterval(() => {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (!this.wallet) {\n clearInterval(walletInterval);\n }\n }, 1000);\n }\n\n getHeight(item): number {\n const { height_app } = this.variablesService;\n if ((height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 10;\n } else {\n if (item.height === 0 || height_app - item.height < 0) {\n return 0;\n } else {\n return height_app - item.height;\n }\n }\n }\n\n openDetails(tx_hash): void {\n if (tx_hash === this.openedDetails) {\n this.openedDetails = '';\n } else {\n this.openedDetails = tx_hash;\n }\n }\n\n time(item: Transaction): number {\n const now = new Date().getTime();\n return now + (item.unlock_time - this.variablesService.height_max) * 60 * 1000;\n }\n\n isLocked(item: Transaction): boolean {\n if (item.unlock_time > 500000000 && item.unlock_time > new Date().getTime() / 1000) {\n return true;\n }\n return item.unlock_time < 500000000 && item.unlock_time > this.variablesService.height_max;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport QRCode from 'qrcode';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { RCV_ADDR_QR_SCALE } from '@parts/data/constants';\n\n@Component({\n selector: 'app-receive',\n template: `\n
\n \n \"qr-code\"\n
\n\n \n {{ variablesService.currentWallet.address | zanoShortString : 9 : 9 }}\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class ReceiveComponent implements OnInit {\n qrImageSrc: string;\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n QRCode.toDataURL(this.variablesService.currentWallet.address, {\n width: 200 * RCV_ADDR_QR_SCALE,\n height: 200 * RCV_ADDR_QR_SCALE,\n })\n .then(url => {\n this.qrImageSrc = url;\n })\n .catch(err => {\n console.error(err);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AsyncCommandResults,\n BackendService,\n CurrentActionState,\n ResponseAsyncTransfer,\n StatusCurrentActionState,\n} from '@api/services/backend.service';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nconst successfulStatuses: string[] = [\n StatusCurrentActionState.STATE_SENDING,\n StatusCurrentActionState.STATE_SENT_SUCCESS,\n StatusCurrentActionState.STATE_INITIALIZING,\n StatusCurrentActionState.STATE_DOWNLOADING_CONSENSUS,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_A,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_B,\n StatusCurrentActionState.STATE_CREATING_STREAM,\n StatusCurrentActionState.STATE_SUCCESS,\n];\n\nconst failedStatuses: string[] = [StatusCurrentActionState.STATE_SEND_FAILED, StatusCurrentActionState.STATE_FAILED];\n\n@Component({\n selector: 'app-send-details-modal',\n template: `\n
\n
\n

\n {{ 'SEND_DETAILS_MODAL.TITLE1' | translate }}\n

\n\n
\n
\n
\n \"success\"\n
\n\n
\n \"failed\"\n
\n\n
\n\n

\n {{\n (currentActionState\n ? 'TOR_LIB_STATE' + '.' + currentActionState.status\n : 'TOR_LIB_STATE.STATE_INITIALIZING'\n ) | translate\n }}\n {{ !isSentSuccess && !isSentFailed ? '...' : '' }}\n

\n\n \n \n \n
\n\n
\n \n

\n {{ 'SEND_DETAILS_MODAL.TITLE2' | translate }}\n

\n \n
\n \n
    \n \n {{ 'TOR_LIB_STATE' + '.' + action?.status | translate\n }}{{ last && !isSentSuccess && !isSentFailed ? '...' : '' }}\n \n \n\n \n \n\n \n \n\n \n \n \n\n \n
  • \n tx id: {{ data.response_data.tx_hash || '---' }} \n \n \n
  • \n
  • \n
    \n tx size:\n {{ data.response_data.tx_blob_size }}\n bytes\n
    \n
  • \n
  • \n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n \n \n\n \n \n \n

{{ prefix }} {{ 'SEND.ERROR_CODES' + '.' + error_code | translate }}

\n
\n \n \n

{{ prefix }} {{ error_code }}

\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendDetailsModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() job_id: number;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('elDetailsList', { static: true }) elDetailsList: ElementRef;\n\n responseData$ = new BehaviorSubject(null);\n\n stateDetails$ = new BehaviorSubject(false);\n\n currentActionState$ = new BehaviorSubject(null);\n\n currentActionStates$ = new BehaviorSubject([]);\n\n success = false;\n\n private destroy$: Subject = new Subject();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService, private renderer: Renderer2) {}\n\n get currentActionState(): CurrentActionState {\n return this.currentActionState$.value;\n }\n\n get currentActionStates(): CurrentActionState[] {\n return this.currentActionStates$.value;\n }\n\n get isSentSuccess(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SENT_SUCCESS;\n }\n\n get isSentFailed(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SEND_FAILED;\n }\n\n get isDetailsNotEmpty(): boolean {\n return !!(this.responseData$.value || this.currentActionStates$.value.length > 0);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const {\n currentWallet: { wallet_id },\n settings: { appUseTor },\n } = this.variablesService;\n\n if (appUseTor) {\n this.backendService.handleCurrentActionState$.pipe(takeUntil(this.destroy$)).subscribe({\n next: (currentActionState: CurrentActionState) => {\n this.currentActionState$.next(currentActionState);\n this.currentActionStates$.next([...this.currentActionStates, currentActionState]);\n },\n });\n } else {\n const actionState: CurrentActionState = {\n status: StatusCurrentActionState.STATE_INITIALIZING,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n }\n\n this.backendService.dispatchAsyncCallResult$\n .pipe(\n filter(({ job_id, response }: AsyncCommandResults) => this.job_id === job_id && !!response),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: ({ response }: AsyncCommandResults) => {\n const { response_data } = response;\n const success = response_data?.success ?? false;\n this.success = success;\n\n const actionState: CurrentActionState = {\n status: success ? StatusCurrentActionState.STATE_SENT_SUCCESS : StatusCurrentActionState.STATE_SEND_FAILED,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n\n this.responseData$.next(response);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDetails(): void {\n this.stateDetails$.next(!this.stateDetails$.value);\n setTimeout(() => this.scrollToBottomDetailsList(), 100);\n }\n\n trackBy(index: number): number {\n return index;\n }\n\n isSuccess(action: CurrentActionState): boolean {\n return successfulStatuses.includes(action && action.status);\n }\n\n isFailed(action: CurrentActionState): boolean {\n return failedStatuses.includes(action && action.status);\n }\n\n private scrollToBottomDetailsList(): void {\n if (this.elDetailsList) {\n const { nativeElement } = this.elDetailsList;\n nativeElement.scrollTop = nativeElement.scrollHeight;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\n\n@Component({\n selector: 'app-send-modal',\n template: `\n
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM.MESSAGE.SEND' | translate }}\n
\n
\n {{ sendMoneyParams.amount }}\n {{ (sendMoneyParams.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.FROM' | translate }}\n
\n
\n {{ variablesService.currentWallet.address }}\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.TO' | translate }}\n
\n
{{ sendMoneyParams.address }}
\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.COMMENT' | translate }}\n
\n
{{ sendMoneyParams.comment }}
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() sendMoneyParams: SendMoneyParams;\n\n @Output() confirmed: EventEmitter = new EventEmitter();\n\n cdr = inject(ChangeDetectorRef);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group({\n password: this.fb.control(''),\n appPass: this.fb.control(''),\n });\n\n constructor(public variablesService: VariablesService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const { appPass } = this.variablesService;\n if (appPass) {\n this.confirmForm.controls.appPass.patchValue(appPass, {\n emitEvent: false,\n });\n this.confirmForm.setValidators([ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')]);\n this.confirmForm.controls.password.setValidators([Validators.required]);\n this.confirmForm.updateValueAndValidity();\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n beforeSubmit(): void {\n if (this.confirmForm.invalid) {\n this.confirmForm.markAsTouched();\n this.confirmForm.updateValueAndValidity();\n this.cdr.detectChanges();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.confirmed.emit(true);\n }\n\n onClose(): void {\n this.confirmed.emit(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SendModalComponent } from './send-modal/send-modal.component';\nimport { SendDetailsModalComponent } from './send-details-modal/send-details-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { GetAssetInfoPipe } from '@parts/pipes';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\n\n@NgModule({\n declarations: [SendModalComponent, SendDetailsModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule, ReactiveFormsModule, GetAssetInfoPipe, CopyButtonComponent],\n exports: [SendModalComponent, SendDetailsModalComponent],\n})\nexport class WalletModalsModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport { debounceTime, delay, filter, retry, take, takeUntil, tap } from 'rxjs/operators';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { insuficcientFunds } from '@parts/utils/zano-errors';\nimport { Aliases } from '@api/models/alias.model';\nimport { DeeplinkParams, defaultSendMoneyParams } from '@api/models/wallet.model';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { defaultImgSrc, zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-send',\n template: `\n
\n \n
\n
\n \n \n\n \n \n \n \n = 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\"\n class=\"alias\"\n >\n
{{ alias.name }}
\n
\n
\n \n \n
Not found aliases
\n
\n \n
\n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n \n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ sendMoneyParamsForm.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n \n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n \n \n {{ asset.asset_info.full_name || '---' }}\n ({{ asset.total | intToMoney }} {{ asset.asset_info.ticker }})\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n \n\n
\n \n {{ 'SEND.DETAILS' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ 'Min' }} {{ sendMoneyParamsForm.controls.mixin.getError('min')['min'] }}\n
\n
\n {{ 'Max' }} {{ sendMoneyParamsForm.controls.mixin.getError('max')['max'] }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : { fee: variablesService.default_fee } }}\n
\n
\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\n
\n
\n
\n
\n\n \n \n \n\n \n {{ 'SEND.BUTTON' | translate }}\n \n \n \n\n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class SendComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n defaultImgSrc = defaultImgSrc;\n\n job_id: number;\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(250));\n\n isModalDialogVisible = false;\n\n isModalDetailsDialogVisible = false;\n\n hideWalletAddress = false;\n\n wrapInfo: WrapInfo;\n\n loading$ = new BehaviorSubject(true);\n\n isWrapShown = false;\n\n aliasAddress: string;\n\n additionalOptions = false;\n\n fb = inject(NonNullableFormBuilder);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n variablesService = inject(VariablesService);\n\n wrapInfoService = inject(WrapInfoService);\n\n aliases$ = new BehaviorSubject([]);\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n sendMoneyParamsForm = this.fb.group({\n wallet_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n address: this.fb.control('', {\n validators: [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ],\n }),\n amount: this.fb.control(undefined, {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.sendMoneyParamsForm?.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: AssetBalance | undefined = this.variablesService.currentWallet.balances?.find(\n v => v.asset_info.asset_id === asset_id\n );\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n }\n return null;\n },\n ],\n }),\n comment: this.fb.control('', {\n validators: [Validators.maxLength(this.variablesService.maxCommentLength)],\n }),\n asset_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n mixin: this.fb.control(MIXIN, {\n validators: [Validators.required, Validators.min(0), Validators.max(1000)],\n }),\n fee: this.fb.control(this.variablesService.default_fee, {\n validators: [\n Validators.required,\n (g: FormControl): ValidationErrors | null => {\n if (new BigNumber(g.value).isLessThan(this.variablesService.default_fee)) {\n return { less_min: true };\n }\n return null;\n },\n ],\n }),\n hide: this.fb.control(false),\n });\n\n get sendMoneyParams(): SendMoneyParams {\n return this.sendMoneyParamsForm.getRawValue() as SendMoneyParams;\n }\n\n private destroy$ = new Subject();\n\n constructor(private backendService: BackendService, private ngZone: NgZone, private moneyToInt: MoneyToIntPipe) {}\n\n ngOnInit(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n\n this.getWrapInfo();\n this.listenSendActionData();\n this.patchSendMoneyParamsByCurrentWallet();\n this.saveSendMoneyParams();\n this.setAssetFromHistoryState();\n }\n\n setAssetFromHistoryState(): void {\n const state = history.state || {};\n const asset: AssetBalance = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.sendMoneyParamsForm.controls.asset_id.patchValue(asset_id, { emitEvent: false });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n showDialog(): void {\n this.isModalDialogVisible = true;\n }\n\n confirmed(confirmed: boolean): void {\n this.isModalDialogVisible = false;\n if (confirmed) {\n this.onSend();\n }\n }\n\n onSend(): void {\n if (this.sendMoneyParamsForm.valid) {\n const { address } = this.sendMoneyParamsForm.getRawValue();\n let sendMoneyParams: SendMoneyParams = {\n ...this.sendMoneyParamsForm.getRawValue(),\n };\n\n if (address.indexOf('@') === 0) {\n const aliasName = address;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.sendMoneyParamsForm.controls.address.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n sendMoneyParams = {\n ...sendMoneyParams,\n address: alias.address,\n };\n }\n\n this.backendService.sendMoney(sendMoneyParams, job_id => {\n this.ngZone.run(() => {\n this.job_id = job_id;\n this.isModalDetailsDialogVisible = true;\n this.variablesService.currentWallet.sendMoneyParams = null;\n });\n });\n }\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.sendMoneyParamsForm.value.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n handeCloseDetailsModal(success: boolean): void {\n this.isModalDetailsDialogVisible = false;\n this.job_id = null;\n\n if (success) {\n const {\n currentWallet: { wallet_id },\n } = this.variablesService;\n this.variablesService.currentWallet.sendMoneyParams = null;\n this.sendMoneyParamsForm.reset({ ...defaultSendMoneyParams, wallet_id }, { emitEvent: false });\n }\n }\n\n private patchSendMoneyParamsByCurrentWallet(): void {\n const { currentWallet, default_fee } = this.variablesService;\n\n let sendMoneyParams: SendMoneyParams;\n\n if (currentWallet.sendMoneyParams) {\n sendMoneyParams = currentWallet.sendMoneyParams;\n this.sendMoneyParamsForm.markAllAsTouched();\n } else {\n sendMoneyParams = {\n ...defaultSendMoneyParams,\n fee: default_fee,\n };\n }\n\n if (currentWallet.is_auditable && !currentWallet.is_watch_only) {\n sendMoneyParams.hide = true;\n this.sendMoneyParamsForm.controls['hide'].disable();\n }\n\n if (currentWallet.is_auditable) {\n sendMoneyParams.mixin = 0;\n this.sendMoneyParamsForm.controls['mixin'].disable();\n }\n\n sendMoneyParams.wallet_id = currentWallet.wallet_id;\n\n this.sendMoneyParamsForm.patchValue(sendMoneyParams, { emitEvent: false });\n }\n\n private fillDeepLinkData(value: DeeplinkParams): void {\n this.additionalOptions = true;\n this.sendMoneyParamsForm.patchValue({\n address: value.address,\n amount: value.amount || null,\n comment: value.comment || value.comments || '',\n mixin: +value.mixins || MIXIN,\n asset_id: zanoAssetInfo.asset_id,\n fee: value.fee || this.variablesService.default_fee,\n hide: value.hide_sender === 'true',\n });\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n\n pasteListenAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.sendMoneyParamsForm.controls.address.patchValue(value);\n }\n\n inputListenAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n private listenSendActionData(): void {\n this.variablesService.sendActionData$.pipe(takeUntil(this.destroy$)).subscribe({\n next: value => {\n if (value && value.action === 'send') {\n setTimeout(() => {\n this.fillDeepLinkData(value);\n }, 100);\n this.variablesService.sendActionData$.next({});\n }\n },\n });\n }\n\n private saveSendMoneyParams(): void {\n this.sendMoneyParamsForm.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.variablesService.currentWallet.sendMoneyParams = this.sendMoneyParamsForm.getRawValue();\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Chart } from 'angular-highcharts';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BigNumber } from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-staking',\n template: `\n
\n
\n
\n
\n \n
\n \n
\n {{ 'STAKING.TITLE' | translate }}\n
\n\n
\n \n \n
\n
\n \n
\n {{ 'STAKING.TITLE_PENDING' | translate }}\n :\n
\n
\n
\n {{ pending.total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n \n
\n {{ 'STAKING.TITLE_TOTAL' | translate }}\n :\n
\n
\n
\n {{ total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n\n \n \n Sort by {{ (item.title | translate | lowercase) + 's' }}\n \n \n {{ item.title | translate }}\n \n \n
\n \n \n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n \n \n\n
\n
\n
\n\n
\n \n \n {{ period.title }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: auto;\n }\n `,\n ],\n})\nexport class StakingComponent implements OnInit, OnDestroy {\n periods = [\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK1'),\n key: '1 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK2'),\n key: '2 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH1'),\n key: '1 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH3'),\n key: '3 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH6'),\n key: '6 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.YEAR'),\n key: '1 year',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.ALL'),\n key: 'All',\n active: true,\n },\n ];\n\n groups = [\n {\n title: this.translate.instant('STAKING.GROUP.DAY'),\n key: 'day',\n active: true,\n },\n {\n title: this.translate.instant('STAKING.GROUP.WEEK'),\n key: 'week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.GROUP.MONTH'),\n key: 'month',\n active: false,\n },\n ];\n\n selectedGroup = this.groups[0].key;\n\n selectedDate = {\n date: null,\n amount: null,\n };\n\n originalData = [];\n\n chart: Chart;\n\n total = new BigNumber(0);\n\n pending = {\n list: [],\n total: new BigNumber(0),\n };\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n static makeGroupTime(key, date): number {\n if (key === 'day') {\n return date.setHours(0, 0, 0, 0);\n } else if (key === 'week') {\n return new Date(date.setDate(date.getDate() - date.getDay())).setHours(0, 0, 0, 0);\n } else {\n return new Date(date.setDate(1)).setHours(0, 0, 0, 0);\n }\n }\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getMiningHistory();\n },\n });\n this.variablesService.getHeightAppEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (newHeight: number) => {\n if (!this.pending.total.isZero()) {\n const pendingCount = this.pending.list.length;\n for (let i = pendingCount - 1; i >= 0; i--) {\n if (newHeight - this.pending.list[i].h >= 10) {\n this.pending.list.splice(i, 1);\n }\n }\n if (pendingCount !== this.pending.list.length) {\n this.pending.total = new BigNumber(0);\n for (let i = 0; i < this.pending.list.length; i++) {\n this.pending.total = this.pending.total.plus(this.pending.list[i].a);\n }\n }\n }\n },\n });\n this.variablesService.getRefreshStackingEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (wallet_id: number) => {\n if (this.variablesService.currentWallet.wallet_id === wallet_id) {\n this.getMiningHistory();\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n drawChart(data): void {\n this.chart = new Chart({\n title: { text: '' },\n credits: { enabled: false },\n exporting: { enabled: false },\n legend: { enabled: false },\n chart: {\n type: 'line',\n backgroundColor: 'transparent',\n height: null,\n events: {\n load: (): void => {\n this.changePeriod();\n },\n },\n },\n\n yAxis: {\n min: 0,\n tickAmount: 5,\n title: {\n text: '',\n },\n gridLineColor: '#2b3644',\n gridLineWidth: 2,\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 120,\n tickColor: '#2b3644',\n labels: {\n y: -8,\n align: 'left',\n x: -120,\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n format: '{value} ' + this.variablesService.defaultCurrency,\n },\n },\n\n xAxis: {\n type: 'datetime',\n gridLineColor: '#2b3644',\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 10,\n tickColor: '#2b3644',\n labels: {\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n },\n minPadding: 0,\n maxPadding: 0,\n minRange: 86400000,\n // tickInterval: 86400000,\n minTickInterval: 3600000,\n },\n\n tooltip: {\n enabled: false,\n },\n\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n },\n stops: [\n [0, 'rgba(124,181,236,0.2)'],\n [1, 'rgba(124,181,236,0)'],\n ],\n },\n marker: {\n enabled: false,\n radius: 2,\n },\n lineWidth: 2,\n threshold: null,\n },\n\n series: {\n point: {\n events: {\n mouseOver: (obj): void => {\n this.selectedDate.date = obj.target['x'];\n this.selectedDate.amount = obj.target['y'];\n },\n },\n },\n events: {\n mouseOut: (): void => {\n this.selectedDate.date = null;\n this.selectedDate.amount = null;\n },\n },\n },\n },\n series: [\n {\n type: 'area',\n data: data,\n },\n ],\n });\n }\n\n getMiningHistory(): void {\n if (this.variablesService.currentWallet.loaded) {\n this.backend.getMiningHistory(this.variablesService.currentWallet.wallet_id, (status, data) => {\n this.total = new BigNumber(0);\n this.pending.list = [];\n this.pending.total = new BigNumber(0);\n this.originalData = [];\n if (data.mined_entries) {\n data.mined_entries.forEach((item, key) => {\n if (item.t.toString().length === 10) {\n data.mined_entries[key].t = new Date(item.t * 1000).setUTCMilliseconds(0);\n }\n });\n data.mined_entries.forEach(item => {\n this.total = this.total.plus(item.a);\n if (this.variablesService.height_app - item.h < 10) {\n this.pending.list.push(item);\n this.pending.total = this.pending.total.plus(item.a);\n }\n this.originalData.push([parseInt(item.t, 10), parseFloat(this.intToMoneyPipe.transform(item.a))]);\n });\n this.originalData = this.originalData.sort(function (a, b) {\n return a[0] - b[0];\n });\n }\n this.ngZone.run(() => {\n this.drawChart([]);\n });\n });\n }\n }\n\n changePeriod(period?): void {\n if (!this.chart) { return; }\n\n if (period) {\n this.periods.forEach(p => {\n p.active = false;\n });\n period.active = true;\n } else {\n period = this.periods.find(p => p.active);\n }\n\n const d = new Date();\n let min = null;\n const newData = [];\n\n const group = this.groups.find(g => g.active);\n\n if (period.key === '1 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7, 0, 0, 0, 0);\n } else if (period.key === '2 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 14, 0, 0, 0, 0);\n } else if (period.key === '1 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 1, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '3 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 3, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '6 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 6, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '1 year') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear() - 1, d.getMonth(), d.getDate(), 0, 0, 0, 0);\n } else {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n }\n\n this.chart.ref?.xAxis[0].setExtremes(min, null);\n }\n\n changeGroup(group): void {\n this.groups.forEach(g => {\n g.active = false;\n });\n group.active = true;\n this.changePeriod();\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { GetAssetInfoPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ProposalDetails } from '@api/models/swap.model';\n\n@Component({\n selector: 'app-swap-confirm-master-password',\n standalone: true,\n imports: [CommonModule, FlexModule, ReactiveFormsModule, TranslateModule, IntToMoneyPipeModule, GetAssetInfoPipe],\n templateUrl: './swap-confirm-master-password.component.html',\n styleUrls: ['./swap-confirm-master-password.component.scss'],\n})\nexport class SwapConfirmMasterPasswordComponent {\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group(\n {\n password: this.fb.control(''),\n appPass: this.fb.control(this.variablesService.appPass || ''),\n },\n { validators: [ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')] }\n );\n\n data: { proposalDetails: ProposalDetails } = inject(DIALOG_DATA);\n\n dialogRef = inject(DialogRef);\n}\n","
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }}\n {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }}\n {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, take, takeUntil } from 'rxjs/operators';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { SwapConfirmMasterPasswordComponent } from '../../modals/swap-confirm-master-password/swap-confirm-master-password.component';\nimport { ProposalDetails } from '@api/models/swap.model';\nimport { GetAssetInfoPipe } from '@parts/pipes/get-asset-info.pipe';\n\n@Component({\n selector: 'app-confirm-swap',\n standalone: true,\n imports: [\n CommonModule,\n BreadcrumbsComponent,\n RouterLinkWithHref,\n InputValidateModule,\n TranslateModule,\n ReactiveFormsModule,\n IntToMoneyPipeModule,\n GetAssetInfoPipe,\n ],\n templateUrl: './confirm-swap.component.html',\n styleUrls: ['./confirm-swap.component.scss'],\n})\nexport class ConfirmSwapComponent implements OnInit, OnDestroy {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n errorRpc: { code: number; message: string } | undefined;\n\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n proposalDetails: ProposalDetails | undefined;\n\n hex_raw_proposal: string | undefined;\n\n private backendService = inject(BackendService);\n\n private router = inject(Router);\n\n private ngZone = inject(NgZone);\n\n private dialog = inject(Dialog);\n\n private destroy$ = new Subject();\n\n ngOnInit(): void {\n this.form.controls.hex_raw_proposal.valueChanges\n .pipe(distinctUntilChanged(), debounceTime(500), takeUntil(this.destroy$))\n .subscribe({\n next: (hex_raw_proposal: string) => {\n this.hex_raw_proposal = hex_raw_proposal;\n this.getProposalDetails(hex_raw_proposal);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n swapConfirmMasterPasswordDialog(): void {\n const proposalDetails = this.proposalDetails;\n const config: DialogConfig = {\n data: {\n proposalDetails,\n },\n disableClose: true,\n width: '54rem',\n maxHeight: '90vh',\n };\n this.dialog\n .open(SwapConfirmMasterPasswordComponent, config)\n .closed.pipe(filter(Boolean), take(1))\n .subscribe({\n next: () => this.acceptProposal(),\n });\n }\n\n acceptProposal(): void {\n if (!this.hex_raw_proposal) {\n return;\n }\n const { wallet_id } = this.variablesService.currentWallet;\n const hex_raw_proposal = this.hex_raw_proposal;\n\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'ionic_swap_accept_proposal',\n params: { hex_raw_proposal },\n };\n this.backendService.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this.ngZone.run(() => {\n if (response_data.result?.['result_tx_id']) {\n this.router.navigate(['/wallet/history']).then();\n } else {\n this.errorRpc = response_data.error;\n }\n });\n });\n }\n\n private getProposalDetails(hex_raw_proposal: string): void {\n const { wallet_id } = this.variablesService.currentWallet;\n\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'ionic_swap_get_proposal_info',\n params: { hex_raw_proposal },\n };\n\n this.backendService.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this.ngZone.run(() => {\n const proposal = response_data?.result?.['proposal'];\n if (proposal) {\n this.proposalDetails = proposal;\n this.errorRpc = undefined;\n } else {\n this.proposalDetails = undefined;\n this.errorRpc = response_data.error;\n }\n });\n });\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n\n
\n

{{ item.amount | intToMoney }} {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}

\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
\n

\n {{ item.amount | intToMoney }}\n {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}\n

\n
\n
\n
\n
\n\n
\n \n\n \n {{ 'CONFIRM_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n\n
\n {{ 'ERRORS.INVALID_PROPOSAL' | translate }}\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { AbstractControl, FormBuilder, FormControl, FormsModule, ReactiveFormsModule, ValidationErrors, Validators } from '@angular/forms';\nimport {\n IntToMoneyPipe,\n IntToMoneyPipeModule,\n MoneyToIntPipe,\n MoneyToIntPipeModule,\n ShortStringPipe\n} from '@parts/pipes';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { AssetBalance, AssetInfo } from '@api/models/assets.model';\nimport { defaultImgSrc, zanoAssetInfo } from '@parts/data/assets';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BackendService } from '@api/services/backend.service';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { delay, filter, map, retry, startWith, take, takeUntil, tap } from 'rxjs/operators';\nimport { Aliases } from '@api/models/alias.model';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { BigNumber } from 'bignumber.js';\nimport { assetHasNotBeenAddedToWallet, insuficcientFunds } from '@parts/utils/zano-errors';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { LoaderComponent } from '@parts/components/loader.component';\nimport { Wallet } from '@api/models/wallet.model';\n\n@Component({\n selector: 'app-create-swap',\n standalone: true,\n imports: [\n CommonModule,\n RouterLinkWithHref,\n TranslateModule,\n BreadcrumbsComponent,\n InputValidateModule,\n ReactiveFormsModule,\n DefaultImgModule,\n NgSelectModule,\n LowerCaseDirective,\n ShortStringPipe,\n FormsModule,\n IntToMoneyPipeModule,\n MoneyToIntPipeModule,\n LoaderComponent,\n ],\n templateUrl: './create-swap.component.html',\n styleUrls: ['./create-swap.component.scss'],\n})\nexport class CreateSwapComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n defaultImgSrc = defaultImgSrc;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n variablesService = inject(VariablesService);\n\n fb = inject(FormBuilder);\n\n aliasAddress: string;\n\n loading$ = new BehaviorSubject(false);\n\n isWrapShown = false;\n\n aliases$ = new BehaviorSubject([]);\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(150));\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n moneyToIntPipe = inject(MoneyToIntPipe);\n\n wrapInfoService = inject(WrapInfoService);\n\n wrapInfo: WrapInfo;\n\n errorRpc: { code: number; message: string } = null;\n\n private backendService = inject(BackendService);\n\n private ngZone = inject(NgZone);\n\n private router = inject(Router);\n\n private destroy$ = new Subject();\n\n private moneyToInt = inject(MoneyToIntPipe);\n\n currentWallet: Wallet = this.variablesService.currentWallet;\n\n allAssetsInfo = this.currentWallet.allAssetsInfo;\n\n form = this.fb.group(\n {\n sending: this.fb.group({\n amount: this.fb.control(null, {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.form?.controls.sending.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: AssetBalance | undefined = this.variablesService.currentWallet.balances?.find(\n v => v.asset_info.asset_id === asset_id\n );\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n } else {\n return { assetHasNotBeenAddedToWallet };\n }\n },\n ],\n }),\n asset_id: this.fb.control(zanoAssetInfo.asset_id, [Validators.required]),\n }),\n receiving: this.fb.group({\n amount: this.fb.control({ value: null, disabled: this.currentWallet.isEmptyAssetsInfoWhitelist }, [Validators.required, Validators.min(0.000000000001)]),\n asset_id: this.fb.control({\n value: this.currentWallet.isEmptyAssetsInfoWhitelist ? null : (this.allAssetsInfo[1].asset_id ?? zanoAssetInfo.asset_id),\n disabled: this.currentWallet.isEmptyAssetsInfoWhitelist\n }, [Validators.required]),\n }),\n receiverAddress: this.fb.control('', [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ]),\n },\n {\n validators: [\n (control: AbstractControl): ValidationErrors | null => {\n const condition = control.get('sending').get('asset_id').value === control.get('receiving').get('asset_id').value;\n if (condition) {\n control.get('receiving').get('asset_id').setErrors({ sameAssetsId: true });\n } else {\n control.get('receiving').get('asset_id').setErrors(null);\n }\n return null;\n },\n ],\n }\n );\n\n sendingAssetsInfo$: Observable;\n\n receivingAssetsInfo$: Observable;\n\n ngOnInit(): void {\n this.getWrapInfo();\n this.getAliases();\n this.setSendingAssetIdFromHistoryState();\n\n this.sendingAssetsInfo$ = this.form.controls.receiving.controls.asset_id.valueChanges.pipe(\n startWith(this.form.controls.receiving.controls.asset_id.value),\n map((asset_id) => this.allAssetsInfo.filter((v) => v.asset_id !== asset_id))\n );\n this.receivingAssetsInfo$ = this.form.controls.sending.controls.asset_id.valueChanges.pipe(\n startWith(this.form.controls.sending.controls.asset_id.value),\n map((asset_id) => this.allAssetsInfo.filter((v) => v.asset_id !== asset_id))\n );\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n reverse(): void {\n const { sending, receiving } = this.form.getRawValue();\n\n const markAllAsTouched = () => {\n this.form.controls.sending.markAllAsTouched();\n this.form.controls.receiving.markAllAsTouched();\n };\n\n markAllAsTouched();\n\n this.form.patchValue({\n sending: receiving,\n receiving: sending,\n });\n this.form.controls.sending.controls.amount.updateValueAndValidity();\n this.form.controls.receiving.controls.amount.updateValueAndValidity();\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.form.getRawValue().receiving.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n inputListenReceiverAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n pasteListenReceiverAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.form.controls.receiverAddress.patchValue(value);\n }\n\n beforeSubmit(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n this.form.updateValueAndValidity();\n return;\n }\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { sending, receiving, receiverAddress } = this.form.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const { default_fee_big } = this.variablesService;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'ionic_swap_generate_proposal',\n params: {\n proposal: {\n to_finalizer: [\n {\n asset_id: sending.asset_id,\n amount: this.moneyToIntPipe.transform(sending.amount),\n },\n ],\n to_initiator: [\n {\n asset_id: receiving.asset_id,\n amount: this.moneyToIntPipe.transform(receiving.amount),\n },\n ],\n mixins: 10,\n fee_paid_by_a: default_fee_big,\n expiration_time: 0,\n },\n },\n };\n\n if (receiverAddress.indexOf('@') === 0) {\n const aliasName = receiverAddress;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.form.controls.receiverAddress.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n params2.params['destination_address'] = alias.address;\n } else {\n params2.params['destination_address'] = receiverAddress;\n }\n\n this.backendService.call_wallet_rpc([wallet_id, params2], (status, response_data) => {\n if (response_data?.result) {\n this.ngZone.run(() => {\n this.router\n .navigateByUrl('/wallet/swap-proposal-hex', {\n state: {\n hex_raw_proposal: response_data.result['hex_raw_proposal'],\n },\n })\n .then();\n });\n } else {\n this.ngZone.run(() => {\n this.errorRpc = response_data.error;\n this.loading$.next(false);\n });\n }\n });\n }\n\n private setSendingAssetIdFromHistoryState(): void {\n const state = history.state || {};\n const asset: AssetBalance = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.form.patchValue({\n sending: {\n asset_id,\n },\n });\n }\n }\n\n private getAliases(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n}\n","
\n \n\n
\n \n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ form.controls.sending.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ form.controls.sending.controls.amount.errors['assetHasNotBeenAddedToWallet'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n {{ assetInfo.full_name || '---' }}\n \n \n
\n
\n \n\n
\n \n
\n\n \n
\n
\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n {{ assetInfo.full_name || '---' }}\n \n \n \n
\n {{ 'CREATE_SWAP.FORM.ERRORS.ERROR1' | translate }}\n
\n
\n \n \n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n\n \n \n \n
\n = 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\"\n class=\"alias\"\n >\n
{{ alias.name }}
\n
\n
\n \n \n
Not found aliases
\n
\n \n \n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n \n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n {{ 'CREATE_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n
\n\n
\n {{ 'ERRORS.INVALID_PROPOSAL' | translate }}\n
\n \n\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\nimport { Observable } from 'rxjs';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\n\n@Component({\n selector: 'app-swap-proposal-hex',\n standalone: true,\n imports: [CommonModule, BreadcrumbsComponent, RouterLinkWithHref, InputValidateModule, TranslateModule, ReactiveFormsModule],\n templateUrl: './swap-proposal-hex.component.html',\n styleUrls: ['./swap-proposal-hex.component.scss'],\n})\nexport class SwapProposalHexComponent implements OnInit, IDeactivateComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM1',\n },\n {\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM2',\n },\n ];\n\n copyAnimation = false;\n\n copyAnimationTimeout: any;\n\n fb = inject(FormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n private backendService = inject(BackendService);\n\n private dialog = inject(Dialog);\n\n ngOnInit(): void {\n this.setSwapProposalHexFromHistoryState();\n }\n\n copy(): void {\n const { hex_raw_proposal } = this.form.getRawValue();\n this.backendService.setClipboard(hex_raw_proposal);\n this.copyAnimation = true;\n this.copyAnimationTimeout = setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n\n canExit(): Observable | Promise | boolean {\n const dialogConfig: DialogConfig = {\n disableClose: true,\n data: {\n title: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.TITLE',\n message: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.MESSAGE',\n buttons: {\n submit: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.SUBMIT',\n close: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.CLOSE',\n },\n },\n };\n const dialogRef = this.dialog.open(ConfirmModalComponent, dialogConfig);\n return dialogRef.closed;\n }\n\n private setSwapProposalHexFromHistoryState(): void {\n const historyState = history.state || {};\n const hex_raw_proposal = historyState['hex_raw_proposal'];\n if (hex_raw_proposal) {\n this.form.controls.hex_raw_proposal.patchValue(hex_raw_proposal, { emitEvent: false });\n }\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n\n \n {{ 'SWAP_PROPOSAL_HEX.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-swap',\n standalone: true,\n imports: [CommonModule, FlexModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './swap.component.html',\n styleUrls: ['./swap.component.scss'],\n})\nexport class SwapComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SwapProposalHexGuard implements CanDeactivate {\n canDeactivate(\n component: IDeactivateComponent,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot\n ): Observable | Promise | boolean | UrlTree {\n return component.canExit ? component.canExit() : true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { paths, pathsChildrenWallet } from '../paths';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WithSidebarLayoutComponent } from '../../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { ConfirmSwapComponent } from './tabs/swap/pages/confirm-swap/confirm-swap.component';\nimport { SwapComponent } from './tabs/swap/pages/swap/swap.component';\nimport { CreateSwapComponent } from './tabs/swap/pages/create-swap/create-swap.component';\nimport { SwapProposalHexComponent } from './tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component';\nimport { SwapProposalHexGuard } from './tabs/swap/parts/guards/swap-proposal-hex.guard';\n\nconst routes: Routes = [\n {\n path: paths.wallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletComponent,\n children: [\n {\n path: pathsChildrenWallet.assets,\n component: AssetsComponent,\n },\n {\n path: pathsChildrenWallet.send,\n component: SendComponent,\n },\n {\n path: pathsChildrenWallet.receive,\n component: ReceiveComponent,\n },\n {\n path: pathsChildrenWallet.history,\n component: HistoryComponent,\n },\n {\n path: pathsChildrenWallet.staking,\n component: StakingComponent,\n },\n {\n path: 'swap',\n component: SwapComponent,\n },\n {\n path: 'create-swap',\n component: CreateSwapComponent,\n },\n {\n path: 'swap-proposal-hex',\n component: SwapProposalHexComponent,\n canDeactivate: [SwapProposalHexGuard],\n },\n {\n path: 'confirm-swap',\n component: ConfirmSwapComponent,\n },\n {\n path: '',\n redirectTo: pathsChildrenWallet.assets,\n pathMatch: 'full',\n },\n ],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class WalletRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WalletRoutingModule } from './wallet-routing.module';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { FlexLayoutModule, FlexModule } from '@angular/flex-layout';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport {\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule, ShortStringPipe,\n} from '@parts/pipes';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { ExportHistoryModalModule } from './wallet/modals/export-history-modal/export-history-modal.module';\nimport { WalletDetailsComponent } from '../wallet-details/wallet-details.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { ChartModule } from 'angular-highcharts';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ExportImportComponent } from '../export-import/export-import.component';\nimport { AssetDetailsModule } from '@parts/modals/asset-details/asset-details.module';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { TransactionDetailsComponent } from '@parts/components/transaction-details.component';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\nimport { WalletModalsModule } from './tabs/send/modals/wallet-modals.module';\nimport { GetAssetInfoPipe } from '@parts/pipes/get-asset-info.pipe';\nimport { MigrateWalletToZarcanumComponent } from './wallet/modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component';\nimport { SuccessSweepBareOutsComponent } from './wallet/modals/success-sweep-bare-outs/success-sweep-bare-outs.component';\n\n@NgModule({\n declarations: [\n WalletComponent,\n AssetsComponent,\n WalletDetailsComponent,\n HistoryComponent,\n StakingComponent,\n ReceiveComponent,\n ExportImportComponent,\n SendComponent,\n MigrateWalletToZarcanumComponent,\n SuccessSweepBareOutsComponent,\n ],\n imports: [\n CommonModule,\n WalletRoutingModule,\n FlexModule,\n TooltipModule,\n ShortStringPipe,\n TranslateModule,\n IsAvailableAliasNamePipeModule,\n ConfirmModalModule,\n ExportHistoryModalModule,\n ReactiveFormsModule,\n OverlayModule,\n DefaultImgModule,\n NgxPaginationModule,\n SwitchComponent,\n ChartModule,\n NgSelectModule,\n FormsModule,\n FlexLayoutModule,\n StakingSwitchComponent,\n DialogModule,\n IntToMoneyPipeModule,\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n InputValidateModule,\n CheckboxComponent,\n AssetDetailsModule,\n CopyButtonComponent,\n TransactionDetailsComponent,\n LowerCaseDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n WalletModalsModule,\n GetAssetInfoPipe,\n ],\n})\nexport class WalletModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { AssetBalance, ParamsAddCustomAssetId } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { wrongAssetId } from '@parts/utils/zano-errors';\nimport { BehaviorSubject } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LoaderComponent } from '@parts/components/loader.component';\n\n@Component({\n selector: 'app-add-custom-token',\n standalone: true,\n template: `\n \n
\n

\n {{ 'WALLET.MODAL_ADD_CUSTOM_TOKEN.TITLE' | translate }}\n

\n\n
\n \n \n \n
{{ 'WALLET.MODAL_ADD_CUSTOM_TOKEN.FORM_ERRORS.ERROR1' | translate }}
\n
\n {{ formGroup.get('asset_id').errors['wrongAssetId'].errorText | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n imports: [CommonModule, FlexModule, TranslateModule, ReactiveFormsModule, LoaderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AddCustomTokenComponent {\n private fb = inject(NonNullableFormBuilder);\n\n private cdr = inject(ChangeDetectorRef);\n\n loading$ = new BehaviorSubject(false);\n\n formGroup = this.fb.group<{ asset_id: FormControl }>({\n asset_id: this.fb.control('', Validators.compose([Validators.required, ZanoValidators.hash, Validators.maxLength(64)])),\n });\n\n constructor(\n public variablesService: VariablesService,\n public backendService: BackendService,\n private walletsService: WalletsService,\n private dialogRef: DialogRef\n ) {}\n\n beforeSubmit(): void {\n if (this.formGroup.invalid) {\n this.formGroup.markAsTouched();\n this.formGroup.updateValueAndValidity();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { asset_id } = this.formGroup.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const params: ParamsAddCustomAssetId = {\n asset_id,\n wallet_id,\n };\n this.backendService.addCustomAssetId(params, (status, { asset_descriptor }) => {\n if (status) {\n const asset: AssetBalance = {\n asset_info: {\n ...asset_descriptor,\n asset_id,\n },\n awaiting_in: 0,\n awaiting_out: 0,\n total: 0,\n unlocked: 0,\n };\n this.walletsService.updateWalletInfo(wallet_id);\n this.dialogRef.close(asset);\n } else {\n this.formGroup.controls.asset_id.setErrors({\n wrongAssetId,\n });\n this.loading$.next(false);\n this.cdr.detectChanges();\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DialogRef } from '@angular/cdk/dialog';\n\n@Component({\n selector: 'app-export-history-modal',\n template: `\n \n
\n

\n {{ 'EXPORT_HISTORY.TITLE' | translate }}\n

\n\n
\n
\n \n \n \n {{ item.formatName }}\n \n \n {{ item.formatName }}\n \n \n
\n\n
\n {{ 'EXPORT_HISTORY.FILTER' | translate }}\n \n
\n
\n\n
\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ExportHistoryModalComponent {\n posFilterIsOn = true;\n\n currentFormat: string;\n\n exportData = {\n wallet_id: 0,\n include_pos_transactions: false,\n path: 'C:\\\\some_file.txt',\n format: 'json',\n };\n\n exportFormats = [\n {\n format: 'json',\n formatName: 'JSON',\n },\n {\n format: 'text',\n formatName: 'Text',\n },\n {\n format: 'csv',\n formatName: 'CSV',\n },\n ];\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private translate: TranslateService,\n private dialogRef: DialogRef\n ) {\n this.currentFormat = this.exportFormats[0].format;\n }\n\n closeModal(): void {\n this.dialogRef.close();\n }\n\n confirmExport(): void {\n this.exportData.format = `${this.currentFormat}`;\n this.exportData.wallet_id = this.variablesService.currentWallet.wallet_id;\n this.exportData.include_pos_transactions = this.posFilterIsOn;\n\n this.backend.saveFileDialog(\n this.translate.instant('EXPORT_HISTORY.SAVED_FILE'),\n `${this.exportData.format}`,\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (this.exportData.format === 'text') {\n this.exportData.path = file_data.path + '.txt';\n } else {\n this.exportData.path = file_data.path + `.${this.exportData.format}`;\n }\n if (file_status) {\n this.backend.exportWalletHistory(JSON.stringify(this.exportData));\n this.closeModal();\n }\n }\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ExportHistoryModalComponent } from './export-history-modal.component';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\n\n@NgModule({\n declarations: [ExportHistoryModalComponent],\n exports: [ExportHistoryModalComponent],\n imports: [CommonModule, TranslateModule, FlexModule, SwitchComponent, CheckboxComponent, NgSelectModule, FormsModule],\n})\nexport class ExportHistoryModalModule {}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { GetBareOutsStats, SweepBareOuts } from '@api/models/rpc.models';\nimport { Dialog, DIALOG_DATA, DialogConfig, DialogRef } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { SuccessSweepBareOutsComponent } from '../success-sweep-bare-outs/success-sweep-bare-outs.component';\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ZARCANUM_MIGRATION } from '@parts/data/constants';\n\n@Component({\n selector: 'app-migrate-wallet-to-zarcanum',\n templateUrl: './migrate-wallet-to-zarcanum.component.html',\n styleUrls: ['./migrate-wallet-to-zarcanum.component.scss'],\n})\nexport class MigrateWalletToZarcanumComponent {\n readonly dialogData: GetBareOutsStats = inject(DIALOG_DATA);\n private readonly _scrollStrategyOptions: ScrollStrategyOptions = inject(ScrollStrategyOptions);\n private readonly _scrollStrategyNoop: ScrollStrategy = this._scrollStrategyOptions.noop();\n private readonly _dialog = inject(Dialog);\n private readonly _dialogRef = inject(DialogRef);\n private readonly _backendService = inject(BackendService);\n private readonly _variableService = inject(VariablesService);\n private readonly _modalService = inject(ModalService);\n private readonly _ngZone = inject(NgZone);\n\n migrate(): void {\n const {\n currentWallet: { wallet_id },\n } = this._variableService;\n const params: ParamsCallRpc = { id: 0, jsonrpc: '2.0', method: 'sweep_bare_outs', params: {} };\n this._backendService.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this._ngZone.run(() => {\n if (response_data?.result) {\n const data = response_data.result;\n\n const dialogConfig: DialogConfig = {\n maxWidth: '90vw',\n width: '540px',\n scrollStrategy: this._scrollStrategyNoop,\n data,\n };\n\n this._dialog.open(SuccessSweepBareOutsComponent, dialogConfig);\n } else {\n const message = response_data.error;\n this._modalService.prepareModal('error', message);\n }\n\n this._dialogRef.close();\n });\n });\n }\n\n openZarcanumMigration(): void {\n this._backendService.openUrlInBrowser(ZARCANUM_MIGRATION);\n }\n}\n","
\n
\n

\n {{ 'MIGRATE_WALLET_TO_ZARCANUM.TITLE' | translate }}\n

\n\n
\n

\n {{ 'MIGRATE_WALLET_TO_ZARCANUM.TEXT1' | translate: {\n total_bare_outs: dialogData.total_bare_outs,\n total_amount: dialogData.total_amount | intToMoney\n } }}\n

\n

\n \n {{ 'MIGRATE_WALLET_TO_ZARCANUM.LINK1' | translate }}\n

\n
\n

\n {{ 'MIGRATE_WALLET_TO_ZARCANUM.TEXT2' | translate: {\n txs_count: dialogData.txs_count,\n expected_total_fee: dialogData.expected_total_fee | intToMoney\n } }}\n

\n
\n\n
\n \n
\n
\n
\n","import { Component, inject, OnInit } from '@angular/core';\nimport { SweepBareOuts } from '@api/models/rpc.models';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-success-sweep-bare-outs',\n templateUrl: './success-sweep-bare-outs.component.html',\n styleUrls: ['./success-sweep-bare-outs.component.scss']\n})\nexport class SuccessSweepBareOutsComponent {\n readonly dialogData: SweepBareOuts = inject(DIALOG_DATA);\n private readonly _dialogRef = inject(DialogRef);\n stateDetails$ = new BehaviorSubject(false);\n\n toggleDetails(): void {\n this.stateDetails$.next(!this.stateDetails$.value);\n }\n\n close(): void {\n this._dialogRef.close();\n }\n}\n","
\n
\n

\n {{ 'SEND_DETAILS_MODAL.TITLE1' | translate }}\n

\n\n
\n
\n
\n \"success\"\n
\n\n

\n {{\n 'TOR_LIB_STATE.STATE_SENT_SUCCESS' | translate\n }}\n

\n
\n\n
\n \n

\n {{ 'SEND_DETAILS_MODAL.TITLE2' | translate }}\n

\n \n
\n \n
    \n \n

    {{ 'SUCCESS_SWEEP_BARE_OUTS.DETAILS' | translate: {\n txs_sent: dialogData.txs_sent,\n bare_outs_swept: dialogData.bare_outs_swept,\n amount_swept: dialogData.amount_swept | intToMoney,\n fee_spent: dialogData.fee_spent | intToMoney } }}\n

    \n \n
\n
\n
\n
\n
\n \n
\n \n\n","import { Component, HostListener, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Subject, take } from 'rxjs';\nimport { StateKeys, Store, Sync } from '@store/store';\nimport { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { ExportHistoryModalComponent } from './modals/export-history-modal/export-history-modal.component';\nimport { AddCustomTokenComponent } from './modals/add-custom-token/add-custom-token.component';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n RouterEvent\n} from '@angular/router';\nimport { ZARCANUM_MIGRATION } from '@parts/data/constants';\nimport {\n MigrateWalletToZarcanumComponent\n} from './modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component';\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { GetBareOutsStats } from '@api/models/rpc.models';\n\ninterface Tab {\n id: string;\n title: string;\n icon: string;\n link: string;\n disabled: boolean;\n hidden: boolean;\n indicator?: boolean;\n}\n\ntype TabNameKeys = 'assets' | 'history' | 'send' | 'receive' | 'swap' | 'staking';\n\nconst objTabs: { [key in TabNameKeys]: Tab } = {\n assets: {\n id: 'assets',\n title: 'WALLET.TABS.ASSETS',\n icon: 'balance-icon',\n link: '/assets',\n disabled: false,\n hidden: false\n },\n history: {\n id: 'history',\n title: 'WALLET.TABS.HISTORY',\n icon: 'time-circle',\n link: '/history',\n disabled: false,\n hidden: false\n },\n send: {\n id: 'send',\n title: 'WALLET.TABS.SEND',\n icon: 'arrow-up-square',\n link: '/send',\n disabled: false,\n hidden: false\n },\n receive: {\n id: 'receive',\n title: 'WALLET.TABS.RECEIVE',\n icon: 'arrow-down-square',\n link: '/receive',\n disabled: false,\n hidden: false\n },\n swap: {\n id: 'swap',\n title: 'Swap',\n icon: 'swap',\n link: '/swap',\n disabled: false,\n hidden: true\n },\n // TODO: https://github.com/hyle-team/zano/issues/374\n // contract: {\n // title: 'WALLET.TABS.CONTRACTS',\n // icon: 'document',\n // link: '/contracts',\n // disabled: false,\n // hidden: false\n // },\n staking: {\n id: 'staking',\n title: 'WALLET.TABS.STAKING',\n icon: 'staking',\n link: '/staking',\n indicator: false,\n disabled: false,\n hidden: false\n },\n};\n\n@Component({\n selector: 'app-wallet',\n template: `\n
\n
\n
\n
\n

\n {{ variablesService.currentWallet.address | zanoShortString }}\n

\n\n \n \n\n \n \n \n \n\n \n
\n {{ variablesService.currentWallet.alias.name }}\n
\n\n \n \n \n \n\n \n \n \n \n \n
\n
\n
\n \n
\n
\n \n\n
\n

{{ 'WALLET.MIGRATE.TEXT1' | translate }}

\n

\n \n {{ 'WALLET.MIGRATE.BUTTON1' | translate }}\n

\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n\n \n
\n
    \n
  • \n \n \n {{ 'WALLET_DETAILS.WALLET_OPTIONS' | translate }}\n \n
  • \n \n
  • \n \n \n {{ 'WALLET_DETAILS.ADD_CUSTOM_TOKEN' | translate }}\n \n
  • \n
    \n
  • \n \n \n {{ 'EXPORT_HISTORY.EXPORT_BUTTON' | translate }}\n \n
  • \n \n
  • \n \n {{ 'WALLET_DETAILS.RESYNC_WALLET_BUTTON' | translate }}\n \n
  • \n
    \n
  • \n \n {{ 'WALLET_DETAILS.BUTTON_REMOVE' | translate }}\n \n
  • \n
\n
\n \n\n
\n
\n \n \n \n \n \n
\n
\n \n\n
\n
\n

\n {{ 'Loading...' | translate }}\n

\n
\n
\n
\n
\n
\n `,\n})\nexport class WalletComponent implements OnInit, OnDestroy {\n settingsButtonInterval;\n\n settingsButtonDisabled = true;\n\n walletLoaded = false;\n\n openDropdown: boolean;\n\n walletSyncVisible = false;\n\n tabs: Tab[] = [];\n\n private destroy$ = new Subject();\n\n loader = true;\n\n scrollStrategyNoop: ScrollStrategy;\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private store: Store,\n private dialog: Dialog,\n private modalService: ModalService,\n private walletsService: WalletsService,\n private router: Router,\n private readonly scrollStrategyOptions: ScrollStrategyOptions\n ) {\n this.scrollStrategyNoop = this.scrollStrategyOptions.noop();\n\n if (!this.variablesService.currentWallet && this.variablesService.wallets.length > 0) {\n this.variablesService.setCurrentWallet(0);\n }\n this.walletLoaded = this.variablesService.currentWallet.loaded;\n\n this.variablesService.currentWalletChangedEvent\n .pipe(\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: (wallet: Wallet) => {\n this.createTabs(wallet);\n const disabled = !wallet.loaded;\n this.setDisabledTabs(['send', 'swap', 'staking'], disabled);\n\n this.variablesService.is_hardfok_active$.pipe(\n take(1)\n ).subscribe({\n next: (value) => {\n const hidden = !value;\n this.setHiddenTabs(['swap'], hidden);\n }\n });\n },\n });\n\n this.variablesService.is_hardfok_active$.pipe(\n takeUntil(this.destroy$)\n ).subscribe({\n next: (value) => {\n const hidden = !value;\n this.setHiddenTabs(['swap'], hidden);\n }\n });\n\n this.router.events.pipe(takeUntil(this.destroy$)).subscribe((e: RouterEvent) => {\n this.navigationInterceptor(e);\n });\n }\n\n navigationInterceptor(event: RouterEvent): void {\n if (event instanceof NavigationStart) {\n this.loader = true;\n }\n if (event instanceof NavigationEnd) {\n setTimeout(() => {\n this.loader = false;\n }, 500);\n }\n if (event instanceof NavigationCancel) {\n setTimeout(() => {\n this.loader = false;\n }, 500);\n }\n if (event instanceof NavigationError) {\n setTimeout(() => {\n this.loader = false;\n }, 500);\n }\n\n }\n\n createTabs({ is_auditable, is_watch_only }: Wallet): void {\n const conditionForHiding: boolean = !is_auditable || !is_watch_only;\n const tabs: Array = [];\n\n tabs.push(objTabs.assets);\n tabs.push(objTabs.history);\n\n if (conditionForHiding) {\n tabs.push(objTabs.send);\n }\n\n tabs.push(objTabs.receive);\n\n if (conditionForHiding) {\n tabs.push(objTabs.swap);\n }\n\n tabs.push(objTabs.staking);\n\n this.tabs = tabs;\n }\n\n @HostListener('document:keydown.shift', ['$event.key'])\n onKeyPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = true;\n }\n }\n\n @HostListener('document:keyup.shift', ['$event.key'])\n onKeyUpPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = false;\n }\n }\n\n ngOnInit(): void {\n this.settingsButtonInterval = setInterval(() => {\n // tslint:disable-next-line:triple-equals\n if (this.variablesService.daemon_state == 2 || this.walletLoaded) {\n this.settingsButtonDisabled = false;\n clearInterval(this.settingsButtonInterval);\n }\n }, 1000);\n this.store\n .select(StateKeys.sync)\n .pipe(filter(Boolean), distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe({\n next: (value: any) => {\n const data = value.filter((item: Sync) => item.wallet_id === this.variablesService.currentWallet.wallet_id)[0];\n if (data && !data.sync) {\n let in_progress;\n const values = this.store.state.sync;\n if (values && values.length > 0) {\n in_progress = values.filter(item => item.sync);\n this.variablesService.sync_started = !!(in_progress && in_progress.length);\n if (!in_progress) {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n } else {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n }\n },\n });\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n this.variablesService.getAliasChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n },\n });\n this.updateWalletStatus();\n }\n\n toggleMenuDropdown(): void {\n if (!this.openDropdown) {\n this.openDropdown = true;\n } else {\n this.openDropdown = false;\n this.walletSyncVisible = false;\n }\n }\n\n resyncCurrentWallet(wallet_id: number): void {\n this.backend.resyncWallet(wallet_id);\n }\n\n close(wallet_id: number): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed\n .pipe(\n filter(Boolean),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: () => {\n this.walletsService.closeWallet(wallet_id);\n },\n });\n }\n\n addCustomToken(): void {\n this.dialog\n .open(AddCustomTokenComponent)\n .closed.pipe(\n filter(response_data => Boolean(response_data)),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: asset => {\n const dialogConfig: DialogConfig = {\n data: {\n asset,\n title: 'You added new asset',\n },\n };\n this.ngZone.run(() => {\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n });\n },\n });\n }\n\n exportHistory(): void {\n this.dialog.open(ExportHistoryModalComponent);\n }\n\n openZarcanumMigration(): void {\n this.backend.openUrlInBrowser(ZARCANUM_MIGRATION);\n }\n\n openMigrateWalletToZarcanum(): void {\n const { currentWallet: { wallet_id }} = this.variablesService;\n const params: ParamsCallRpc = {\n id: 0, jsonrpc: '2.0', method: 'get_bare_outs_stats', params: {}\n\n };\n this.backend.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this.ngZone.run(() => {\n if (response_data?.result) {\n const data = response_data.result;\n\n const dialogConfig: DialogConfig = {\n maxWidth: '90vw',\n width: '540px',\n scrollStrategy: this.scrollStrategyNoop,\n data\n };\n this.dialog.open(MigrateWalletToZarcanumComponent, dialogConfig);\n } else {\n const message = response_data.error;\n this.modalService.prepareModal('error', message);\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n updateWalletStatus(): void {\n this.backend.eventSubscribe(Commands.wallet_sync_progress, data => {\n const wallet_id = data.wallet_id;\n if (wallet_id === this.variablesService.currentWallet.wallet_id) {\n this.ngZone.run(() => {\n this.walletLoaded = false;\n });\n }\n });\n this.backend.eventSubscribe(Commands.update_wallet_status, data => {\n const wallet_state = data.wallet_state;\n const wallet_id = data.wallet_id;\n this.ngZone.run(() => {\n if (wallet_id !== this.variablesService.currentWallet.wallet_id) {\n return;\n }\n\n if (wallet_state === 2) {\n this.walletLoaded = true;\n this.setDisabledTabs(['send', 'swap', 'staking'], false);\n } else {\n this.walletLoaded = false;\n this.setDisabledTabs(['send', 'swap', 'staking'], true);\n }\n });\n });\n }\n\n setHiddenTabs(ids: string[], hidden: boolean): void {\n this.tabs\n .forEach(tab => {\n if (ids.includes(tab.id)) {\n tab.hidden = hidden;\n }\n });\n }\n\n setDisabledTabs(ids: string[], disabled: boolean): void {\n this.tabs\n .forEach(tab => {\n if (ids.includes(tab.id)) {\n tab.disabled = disabled;\n }\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonModule } from '@parts/directives/back-button/back-button.module';\n\n@Component({\n selector: 'app-back-button',\n standalone: true,\n imports: [CommonModule, BackButtonModule],\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n})\nexport class BackButtonComponent {}\n","\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-breadcrumbs',\n standalone: true,\n imports: [CommonModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class BreadcrumbsComponent {\n @Input() items: BreadcrumbItems = [];\n}\n","
\n
\n \n {{ item.title | translate }}\n \n\n \n {{ item.title | translate }}\n \n
\n
\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-checkbox',\n template: `\n
\n \n \n
\n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() label = '';\n\n @Input() id = 'id-' + Math.random();\n\n @Input() disabled = false;\n\n @Input() readonly = false;\n\n @Output() emitChange = new EventEmitter();\n\n onChange!: (value: boolean) => void;\n\n onTouched!: () => void;\n\n handlerChange({ target }: Event): void {\n const { checked } = target as HTMLInputElement;\n this.value = checked;\n this.emitChange.emit(checked);\n if (this.onChange) {\n this.onChange(checked);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-copy-button',\n template: `\n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CopyButtonComponent {\n @Input() value: string;\n\n @Input() size: 'small' | 'big' = 'small';\n\n copyAnimation = false;\n\n copyAnimationTimeout;\n\n constructor(private backend: BackendService, public variablesService: VariablesService) {}\n\n copy(): void {\n this.backend.setClipboard(this.value || '');\n this.copyAnimation = true;\n this.copyAnimationTimeout = window.setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\n\ntype LoaderType = 'circle' | 'circle-2' | 'circle-3' | 'dots' | 'dots-2' | 'pulse';\n\n@Component({\n selector: 'zano-loader',\n standalone: true,\n template: `\n \n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n
\n `,\n styles: [\n `\n /* Loader 1 */\n .loader-1 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-1-1 4.8s linear infinite;\n animation: loader-1-1 4.8s linear infinite;\n }\n\n @-webkit-keyframes loader-1-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-1-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-1 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n -webkit-animation: loader-1-2 1.2s linear infinite;\n animation: loader-1-2 1.2s linear infinite;\n }\n\n @-webkit-keyframes loader-1-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(220deg);\n }\n }\n\n @keyframes loader-1-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(220deg);\n }\n }\n\n .loader-1 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n border: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-1-3 {\n 0% {\n -webkit-transform: rotate(-140deg);\n }\n 50% {\n -webkit-transform: rotate(-160deg);\n }\n 100% {\n -webkit-transform: rotate(140deg);\n }\n }\n\n @keyframes loader-1-3 {\n 0% {\n transform: rotate(-140deg);\n }\n 50% {\n transform: rotate(-160deg);\n }\n 100% {\n transform: rotate(140deg);\n }\n }\n\n /* Loader 2 */\n .loader-2 {\n display: block;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-2-1 3s linear infinite;\n animation: loader-2-1 3s linear infinite;\n }\n\n @-webkit-keyframes loader-2-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(16px, 32px, 32px, 0);\n -webkit-animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid transparent;\n border-top: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-3 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-3 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid rgba(255, 255, 255, 0.5);\n border-radius: 50%;\n }\n\n /* Loader 3 */\n .loader-3 {\n display: block;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid #fff;\n border-bottom: 3px solid transparent;\n border-radius: 50%;\n -webkit-animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 40% {\n -webkit-transform: rotate(180deg);\n }\n 60% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-3-1 {\n 0% {\n transform: rotate(0deg);\n }\n 40% {\n transform: rotate(180deg);\n }\n 60% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-3 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 6px;\n height: 6px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-2 {\n 0% {\n -webkit-transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n @keyframes loader-3-2 {\n 0% {\n transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n /* Loader 4 */\n .loader-4 {\n height: 32px;\n width: 32px;\n }\n\n .loader-4::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 12px;\n height: 12px;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-1 {\n 0% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n 50% {\n -webkit-transform: scale(1);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n }\n\n @keyframes loader-4-1 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n .loader-4 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 50% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-4-2 {\n 0% {\n transform: rotate(0deg);\n }\n 50% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-4 span::before,\n .loader-4 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 12px;\n width: 12px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-4 span::after {\n -webkit-animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 5 */\n .loader-5 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-5-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-5::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: auto;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: auto;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-5 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: auto;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span::after {\n content: '';\n display: block;\n position: absolute;\n top: auto;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-5 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-5 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 6 */\n .loader-6 {\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span::before,\n .loader-6 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 2px solid #fff;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n }\n\n @-webkit-keyframes loader-6-1 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-1 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n .loader-6 span::after {\n -webkit-animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n }\n\n @-webkit-keyframes loader-6-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n `,\n ],\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault],\n})\nexport class LoaderComponent {\n @Input()\n type: LoaderType = 'circle';\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ContextMenuComponent, ContextMenuModule, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-register-context-templates',\n template: ` \n {{ 'CONTEXT_MENU.COPY' | translate }}\n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n \n \n {{ 'CONTEXT_MENU.COPY' | translate }}\n \n\n \n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n `,\n standalone: true,\n imports: [CommonModule, ContextMenuModule, TranslateModule],\n providers: [ContextMenuService],\n})\nexport class RegisterContextTemplatesComponent implements OnInit {\n @ViewChild('allContextMenu', { static: true })\n public allContextMenu: ContextMenuComponent;\n\n @ViewChild('onlyCopyContextMenu', { static: true })\n public onlyCopyContextMenu: ContextMenuComponent;\n\n @ViewChild('pasteSelectContextMenu', { static: true })\n public pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n ngOnInit(): void {\n this.variablesService.allContextMenu = this.allContextMenu;\n this.variablesService.onlyCopyContextMenu = this.onlyCopyContextMenu;\n this.variablesService.pasteSelectContextMenu = this.pasteSelectContextMenu;\n }\n\n contextMenuCopy(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const canUseSelection = target[start] || target[start] === '0';\n const SelectedText = canUseSelection ? target['value'].substring(target[start], target[end]) : target['value'];\n this.backendService.setClipboard(String(SelectedText));\n }\n }\n\n contextMenuOnlyCopy(text): void {\n if (text) {\n this.backendService.setClipboard(String(text));\n }\n }\n\n contextMenuPaste(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n this.backendService.getClipboard((status, clipboard) => {\n clipboard = String(clipboard);\n if (typeof clipboard !== 'string' || clipboard.length) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const _pre = target['value'].substring(0, target[start]);\n const _aft = target['value'].substring(target[end], target['value'].length);\n let text = _pre + clipboard + _aft;\n const cursorPosition = (_pre + clipboard).length;\n if (target['maxLength'] && parseInt(target['maxLength'], 10) > 0) {\n text = text.substr(0, parseInt(target['maxLength'], 10));\n }\n target['value'] = text;\n target.setSelectionRange(cursorPosition, cursorPosition);\n target.dispatchEvent(new Event('input'));\n target['focus']();\n }\n });\n }\n }\n\n contextMenuSelect(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n target['focus']();\n setTimeout(() => {\n target['select']();\n });\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-staking-switch',\n template: `\n
\n \n
\n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class StakingSwitchComponent {\n @Input() wallet_id: number;\n\n @Input() staking: boolean;\n\n @Output() stakingChange = new EventEmitter();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService) {}\n\n toggleStaking(): void {\n const wallet = this.variablesService.getWallet(this.wallet_id);\n if (wallet && wallet.loaded) {\n this.stakingChange.emit(!this.staking);\n if (!this.staking) {\n this.backendService.startPosMining(this.wallet_id);\n } else {\n this.backendService.stopPosMining(this.wallet_id);\n }\n }\n }\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-switch',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n },\n ],\n})\nexport class SwitchComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() disabled = false;\n\n @Output() emitChange = new EventEmitter();\n\n onTouched!: () => void;\n\n onChange!: (value: boolean) => void;\n\n toggle(): void {\n if (!this.disabled) {\n this.value = !this.value;\n this.emitChange.emit(this.value);\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component } from '@angular/core';\nimport { VariablesService } from '../services/variables.service';\nimport { DOWNLOADS_PAGE_URL } from '@parts/data/constants';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-synchronization-status',\n template: `\n \n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }}\n {{ variablesService.sync.progress_value_text }}%\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }}\n {{ variablesService.download.progress_value_text }}%\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n \n\n
\n
\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\n
\n \n
\n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class SynchronizationStatusComponent {\n constructor(public variablesService: VariablesService, private backend: BackendService) {}\n\n getUpdate(): void {\n this.backend.openUrlInBrowser(DOWNLOADS_PAGE_URL);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Transaction } from '@api/models/transaction.model';\nimport { VariablesService } from '../services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { BLOCK_EXPLORER_TN_TX_URL_PREFIX, BLOCK_EXPLORER_TX_URL_PREFIX } from '../data/constants';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-transaction-details',\n template: `\n \n \n \n \n \n {{ transaction.tx_hash }}\n \n \n \n \n \n \n \n \n

{{ asset_id }}

\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n {{ transaction.payment_id }}\n \n \n \n \n \n {{ transaction.comment }}\n \n \n \n
{{ 'HISTORY.DETAILS.ID' | translate }}{{ 'HISTORY.DETAILS.SIZE' | translate }}\n {{ 'HISTORY.DETAILS.SIZE_VALUE' | translate : { value: transaction.tx_blob_size } }}\n
{{ 'Asset ID' | translate }}{{ 'HISTORY.DETAILS.CONFIRMATION' | translate }}\n {{ transaction.height === 0 ? 0 : variablesService.height_app - transaction.height }}\n
{{ 'HISTORY.DETAILS.HEIGHT' | translate }}{{ transaction.height }}
{{ 'HISTORY.DETAILS.PAYMENT_ID' | translate }}
{{ 'HISTORY.DETAILS.COMMENT' | translate }}
\n `,\n styles: [\n `\n :host {\n display: block;\n padding: 2rem 0;\n }\n table tbody tr {\n background: none;\n }\n\n table tbody tr td {\n padding: 1rem 2rem;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class TransactionDetailsComponent {\n @Input() transaction: Transaction;\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n\n getAllUniqAssetId(transaction: Transaction): Set {\n const { employed_entries } = transaction;\n const { receive = [], spent = [] } = employed_entries;\n return new Set([...receive, ...spent].map(({ asset_id }) => asset_id));\n }\n\n openInBrowser(tr): void {\n this.backendService.openUrlInBrowser(\n (this.variablesService.testnet ? BLOCK_EXPLORER_TN_TX_URL_PREFIX : BLOCK_EXPLORER_TX_URL_PREFIX) + tr\n );\n }\n}\n","import { Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\nimport { Wallet } from '@api/models/wallet.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { IntToMoneyPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\n\n@Component({\n selector: 'app-wallet-card',\n template: `\n
\n
\n
\n
\n \n {{ wallet.new_contracts }}\n \n\n \n {{ !wallet.alias['name'] ? wallet.name : wallet.alias['name'] }}\n \n
\n
\n
\n \n \n \n
\n
\n\n \n {{ wallet.getMoneyEquivalentForZano(variablesService.moneyEquivalent) | intToMoney | currency : 'USD' || '---' }}\n \n {{ variablesService.moneyEquivalentPercent | number : '1.2-2' }}%\n \n \n\n \n
\n {{ 'SIDEBAR.ACCOUNT.STAKING' | translate }}\n \n
\n
\n\n
\n
\n
\n
\n
{{ wallet.progress }}%
\n
\n
\n `,\n standalone: true,\n imports: [CommonModule, TooltipModule, TranslateModule, IntToMoneyPipeModule, StakingSwitchComponent, DisablePriceFetchModule],\n})\nexport class WalletCardComponent {\n @HostBinding('class') classAttr = 'wallet';\n\n @Input() wallet: Wallet;\n\n @Output() eventClose = new EventEmitter();\n\n constructor(\n public variablesService: VariablesService,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService,\n private backend: BackendService\n ) {}\n\n getBalancesTooltip(): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!this.wallet || !this.wallet.balances) {\n return null;\n }\n const { balances } = this.wallet;\n\n scrollWrapper.classList.add('balance-scroll-list');\n balances.forEach(({ unlocked, total, asset_info: { ticker } }) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerText = `${this.translate.instant('WALLET.AVAILABLE_BALANCE')} `;\n const availableB = document.createElement('b');\n availableB.innerText = `${ this.intToMoneyPipe.transform(unlocked) } ${ ticker || '---' }`;\n available.appendChild(availableB);\n scrollWrapper.appendChild(available);\n\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerText = `${this.translate.instant('WALLET.LOCKED_BALANCE')} `;\n const lockedB = document.createElement('b');\n lockedB.innerText = `${ this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)) } ${ ticker || '---' }`;\n locked.appendChild(lockedB);\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backend.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n}\n","import { AssetInfo } from '@api/models/assets.model';\n\nexport const zanoAssetInfo: AssetInfo & { logo: string; price_url: string; } = {\n asset_id: 'd6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a',\n current_supply: 0,\n decimal_point: 12,\n full_name: 'Zano',\n logo: 'assets/icons/currency-icons/zano.svg',\n meta_info: '',\n owner: '0000000000000000000000000000000000000000000000000000000000000000',\n price_url: 'https://explorer.zano.org/api/price?asset=zano',\n ticker: 'ZANO',\n total_max_supply: 0,\n};\n\nexport const defaultImgSrc = 'assets/icons/currency-icons/custom_token.svg';\n","export const MIXIN = 10; // default mixin value\nexport const RCV_ADDR_QR_SCALE = 1.5; // scale factor for QR code\n\nexport const AUDITABLE_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/auditable-wallets-faq';\nexport const CREATE_NEW_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/wallets/gui-wallet';\nexport const LOCKED_BALANCE_HELP_PAGE = 'docs.zano.org/docs/use/locked-balance';\nexport const DOWNLOADS_PAGE_URL = 'zano.org/downloads';\nexport const ZARCANUM_MIGRATION = 'docs.zano.org/docs/use/zarcanum-migration/';\n\nexport const BLOCK_EXPLORER_TX_URL_PREFIX = 'explorer.zano.org/transaction/';\nexport const BLOCK_EXPLORER_TN_TX_URL_PREFIX = 'testnet-explorer.zano.org/transaction/';\n","import { ScaleItems } from '@api/models/scale.model';\n\nexport const scaleItems: ScaleItems = [\n {\n value: '8px',\n name: 'SETTINGS.SCALE.75',\n },\n {\n value: '10px',\n name: 'SETTINGS.SCALE.100',\n },\n {\n value: '12px',\n name: 'SETTINGS.SCALE.125',\n },\n {\n value: '14px',\n name: 'SETTINGS.SCALE.150',\n },\n];\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n standalone: true,\n})\nexport class AutoFocusDirective implements AfterViewInit {\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => this.elementRef.nativeElement.focus());\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { NavigationService } from '@parts/services/back.service';\n\n@Directive({\n selector: '[appBackButton]',\n})\nexport class BackButtonDirective {\n constructor(private navigationService: NavigationService) {}\n\n @HostListener('click')\n onClick(): void {\n this.navigationService.back();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonDirective } from './back-button.directive';\n\n@NgModule({\n declarations: [BackButtonDirective],\n exports: [BackButtonDirective],\n imports: [CommonModule],\n})\nexport class BackButtonModule {}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[appDefaultImg]',\n})\nexport class DefaultImgDirective {\n @Input() defaultImgSrc!: string | null | undefined;\n @Input() defaultImgAlt: string | null | undefined;\n\n constructor(private elementRef: ElementRef) {}\n\n @HostListener('error')\n handlerOnError(): void {\n const elementImg: HTMLImageElement = this.elementRef.nativeElement;\n elementImg.onerror = null;\n elementImg.src = this.defaultImgSrc || '---';\n elementImg.alt = this.defaultImgAlt || '---';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DefaultImgDirective } from './default-img.directive';\n\n@NgModule({\n declarations: [DefaultImgDirective],\n exports: [DefaultImgDirective],\n imports: [CommonModule],\n})\nexport class DefaultImgModule {}\n","export * from './default-img.module';\n","import { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDisablePriceFetch]',\n})\nexport class DisablePriceFetchDirective implements OnDestroy {\n private destroy$: Subject = new Subject();\n\n constructor(\n private _variablesService: VariablesService,\n private _templateRef: TemplateRef,\n private _viewContainer: ViewContainerRef\n ) {\n this._variablesService.disable_price_fetch$.pipe(distinctUntilChanged(), takeUntil(this.destroy$)).subscribe({\n next: (disable_price_fetch: boolean) => {\n this._viewContainer.clear();\n if (!disable_price_fetch) {\n this._viewContainer.createEmbeddedView(this._templateRef);\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchDirective } from './disable-price-fetch.directive';\n\n@NgModule({\n declarations: [DisablePriceFetchDirective],\n imports: [CommonModule],\n exports: [DisablePriceFetchDirective],\n})\nexport class DisablePriceFetchModule {}\n","export * from './disable-price-fetch.directive';\nexport * from './disable-price-fetch.module';\n","export * from './default-img';\nexport * from './disable-price-fetch';\nexport * from './input-disable-selection';\nexport * from './input-validate';\nexport * from './tooltip';\nexport * from './lower-case.directive';\n","export * from './input-disable-selection.module';\nexport * from './input-disable-selection.directive';\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line\n selector: 'input',\n})\nexport class InputDisableSelectionDirective {\n @HostListener('mousedown', ['$event'])\n handleInput(event: Event): void {\n if ((event.target).readOnly) {\n event.preventDefault();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputDisableSelectionDirective } from '@parts/directives/input-disable-selection/input-disable-selection.directive';\n\n@NgModule({\n declarations: [InputDisableSelectionDirective],\n exports: [InputDisableSelectionDirective],\n imports: [CommonModule],\n})\nexport class InputDisableSelectionModule {}\n","export * from './input-validate.module';\nexport * from './input-validate.directive';\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\n\n@Directive({\n selector: '[appInputValidate]',\n})\nexport class InputValidateDirective {\n private type: string;\n\n constructor(private el: ElementRef, private variablesService: VariablesService) {}\n\n @Input('appInputValidate')\n public set defineInputType(type: string) {\n this.type = type;\n }\n\n @HostListener('input', ['$event'])\n handleInput(event: Event): void {\n if (this.type === 'money') {\n this.moneyValidation(event);\n } else if (this.type === 'integer') {\n this.integerValidation(event);\n }\n }\n\n private moneyValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n // eslint-disable-next-line\n const OnlyD = /[^\\d\\.]/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(',', '.').replace(OnlyD, '');\n }\n const _double_separator = currentValue.match(/\\./g);\n if (_double_separator && _double_separator.length > 1) {\n currentValue = currentValue.substr(0, currentValue.lastIndexOf('.'));\n }\n if (currentValue.indexOf('.') === 0) {\n currentValue = '0' + currentValue;\n }\n const _zero_fill = currentValue.split('.');\n if (_zero_fill[0].length > 7) {\n _zero_fill[0] = _zero_fill[0].substr(0, 7);\n }\n\n if (1 in _zero_fill && _zero_fill[1].length) {\n _zero_fill[1] = _zero_fill[1].substr(0, this.variablesService.digits);\n }\n currentValue = _zero_fill.join('.');\n if (currentValue !== originalValue) {\n (event.target).value = currentValue;\n const cursorPosition = (event.target).selectionEnd;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n (event.target).dispatchEvent(new Event('input'));\n }\n }\n\n private integerValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n const OnlyD = /\\D/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(OnlyD, '');\n }\n if (currentValue !== originalValue) {\n const cursorPosition = (event.target).selectionEnd;\n (event.target).value = currentValue;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputValidateDirective } from '@parts/directives/input-validate/input-validate.directive';\n\n@NgModule({\n declarations: [InputValidateDirective],\n exports: [InputValidateDirective],\n imports: [CommonModule],\n})\nexport class InputValidateModule {}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: 'input[lowerCase]:not([upperCase]),textarea[lowerCase]:not([upperCase])',\n standalone: true,\n})\nexport class LowerCaseDirective {\n @Input() lowerCaseValue: string;\n\n @Input() lowerCaseDisabled = false;\n\n private getCaret(el) {\n return {\n start: el.selectionStart,\n end: el.selectionEnd,\n };\n }\n\n private setCaret(el, start, end) {\n el.selectionStart = start;\n el.selectionEnd = end;\n\n el.focus();\n }\n\n private dispatchEvent(el, eventType) {\n const event = document.createEvent('Event');\n event.initEvent(eventType, false, false);\n el.dispatchEvent(event);\n }\n\n private convertValue(el, value) {\n el.value = value.toLowerCase();\n\n this.dispatchEvent(el, 'input');\n }\n\n @HostListener('blur', ['$event.target', '$event.target.value'])\n onBlur(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (\n (!this.lowerCaseValue || 'blur' === this.lowerCaseValue) &&\n 'function' === typeof value.toLowerCase &&\n value.toLowerCase() !== value\n ) {\n this.convertValue(el, value);\n this.dispatchEvent(el, 'blur'); // in case updateOn is set to blur\n }\n }\n\n @HostListener('input', ['$event.target', '$event.target.value'])\n onInput(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (!this.lowerCaseValue && 'function' === typeof value.toLowerCase && value.toLowerCase() !== value) {\n let { start, end } = this.getCaret(el);\n\n if (value[0] === ' ' && start === 1 && end === 1) {\n start = 0;\n end = 0;\n }\n\n this.convertValue(el, value);\n\n this.setCaret(el, start, end);\n }\n }\n}\n","export * from './tooltip.directive';\nexport * from './tooltip.module';\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n // eslint-disable-next-line\n selector: '[tooltip]',\n})\nexport class TooltipDirective implements OnDestroy {\n @HostBinding('style.cursor') cursor;\n\n @Input('tooltip') tooltipInner: any;\n\n @Input() placement: string;\n\n @Input() tooltipClass: string;\n\n @Input() timeout = 0;\n\n @Input() timeDelay = 0;\n\n @Input() delay = 0;\n\n @Input() showWhenNoOverflow = true;\n\n @Output() eventHide = new EventEmitter();\n\n tooltip: HTMLElement;\n\n removeTooltipTimeout;\n\n removeTooltipTimeoutInner;\n\n removeTooltipTimeDelay;\n\n private enter: (event: MouseEvent) => void;\n\n private leave: (event: MouseEvent) => void;\n\n constructor(private el: ElementRef, private renderer: Renderer2, private sanitizer: DomSanitizer) {}\n\n @HostListener('mouseenter') onMouseEnter(): void {\n if (!this.tooltipInner) {\n return;\n }\n if (\n this.showWhenNoOverflow ||\n (!this.showWhenNoOverflow && this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth)\n ) {\n this.cursor = 'pointer';\n if (!this.tooltip) {\n if (this.timeDelay !== 0) {\n this.removeTooltipTimeDelay = setTimeout(() => {\n this.show();\n }, this.timeDelay);\n } else {\n this.show();\n }\n } else {\n this.cancelHide();\n }\n }\n }\n\n @HostListener('mouseleave') onMouseLeave(): void {\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.hide();\n }\n }\n\n show(): void {\n this.create();\n this.placement = this.placement === null ? 'top' : this.placement;\n this.setPosition(this.placement);\n }\n\n hide(): void {\n this.removeTooltipTimeout = setTimeout(() => {\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.removeTooltipTimeoutInner = setTimeout(() => {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip.removeEventListener('mouseenter', this.enter);\n this.tooltip.removeEventListener('mouseleave', this.leave);\n this.tooltip = null;\n this.eventHide.emit(true);\n }, this.delay);\n }, this.timeout);\n }\n\n cancelHide(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }\n\n create(): void {\n this.tooltip = this.renderer.createElement('div');\n let innerBlock = this.renderer.createElement('div');\n if (typeof this.tooltipInner === 'string') {\n innerBlock.innerText = this.sanitizer.sanitize(SecurityContext.HTML, this.tooltipInner);\n } else {\n if (this.tooltipInner) {\n innerBlock = this.tooltipInner;\n }\n }\n this.renderer.addClass(innerBlock, 'tooltip-inner');\n this.renderer.addClass(innerBlock, 'scrolled-content');\n this.renderer.appendChild(this.tooltip, innerBlock);\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.enter = (): void => {\n this.cancelHide();\n };\n this.tooltip.addEventListener('mouseenter', this.enter);\n this.leave = (): void => {\n if (this.tooltip) {\n this.hide();\n }\n };\n this.tooltip.addEventListener('mouseleave', this.leave);\n\n this.renderer.setStyle(document.body, 'position', 'relative');\n this.renderer.setStyle(this.tooltip, 'position', 'absolute');\n if (this.tooltipClass !== null) {\n const classes = this.tooltipClass.split(' ');\n for (let i = 0; i < classes.length; i++) {\n this.renderer.addClass(this.tooltip, classes[i]);\n }\n }\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\n window.setTimeout(() => {\n return this.tooltip && this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }, 0);\n }\n\n setPosition(placement): void {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-' + placement);\n const topExit =\n hostPos.top - this.tooltip.getBoundingClientRect().height - parseInt(getComputedStyle(this.tooltip).marginTop, 10) < 0;\n const bottomExit =\n window.innerHeight <\n hostPos.bottom + this.tooltip.getBoundingClientRect().height + parseInt(getComputedStyle(this.tooltip).marginTop, 10);\n\n switch (placement) {\n case 'top':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom');\n return;\n } else {\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-left':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-right':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'bottom':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.checkSides();\n }\n break;\n case 'bottom-left':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.checkSides();\n }\n break;\n case 'bottom-right':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.checkSides();\n }\n break;\n case 'left':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'left-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n break;\n case 'left-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n case 'right':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'right-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n break;\n case 'right-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n }\n }\n\n checkSides(): void {\n if (this.tooltip.getBoundingClientRect().left < 0) {\n this.renderer.setStyle(this.tooltip, 'left', 0);\n }\n if (this.tooltip.getBoundingClientRect().right > window.innerWidth) {\n this.renderer.setStyle(this.tooltip, 'left', window.innerWidth - this.tooltip.getBoundingClientRect().width + 'px');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip = null;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [TooltipDirective],\n imports: [CommonModule],\n exports: [TooltipDirective],\n})\nexport class TooltipModule {}\n","export const hasOwnProperty = (obj: object, key: string): boolean => {\n if (Boolean(obj) && Boolean(key)) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n return false;\n};\n","import { Component, inject, Inject, NgZone, OnInit } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { zanoAssetInfo } from '@parts/data/assets';\nimport { BackendService } from '@api/services/backend.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\n@Component({\n selector: 'app-asset-details',\n template: `\n
\n
\n

\n {{ title | translate }}\n

\n \n
\n
\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.NAME' | translate }}\n
\n
{{ asset.asset_info.full_name }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.TICKER' | translate }}\n
\n
{{ asset.asset_info.ticker }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.ID' | translate }}\n
\n
\n {{ asset.asset_info.asset_id }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.CURRENT_SUPPLY' | translate }}\n
\n
\n {{\n asset.asset_info.asset_id === zanoAssetInfo.asset_id\n ? zano_current_supply\n : asset.asset_info.current_supply\n }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.MAX_SUPPLE' | translate }}\n
\n
\n {{\n asset.asset_info.asset_id === zanoAssetInfo.asset_id\n ? 'Uncapped'\n : asset.asset_info.total_max_supply\n }}\n
\n
\n
\n
\n
\n No data\n
\n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class AssetDetailsComponent implements OnInit {\n title = 'Asset Details';\n\n asset!: AssetBalance;\n\n zanoAssetInfo = zanoAssetInfo;\n\n backendService = inject(BackendService);\n\n ngZone = inject(NgZone);\n\n zano_current_supply = 'Unknown';\n\n constructor(\n public variablesService: VariablesService,\n private dialogRef: DialogRef,\n @Inject(DIALOG_DATA) { asset, title }: { asset: AssetBalance; title?: string }\n ) {\n this.asset = asset;\n\n if (title) {\n this.title = title;\n }\n }\n\n ngOnInit(): void {\n if (this.asset.asset_info.asset_id === zanoAssetInfo.asset_id) {\n this.getZanoCurrentSupply();\n }\n }\n\n private getZanoCurrentSupply(): void {\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'getinfo',\n params: {\n flags: 1024,\n },\n };\n\n this.backendService.call_rpc(params, (status, response_data) => {\n this.ngZone.run(() => {\n this.zano_current_supply = response_data?.['result']?.['total_coins'] ?? 'Unknown';\n });\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [AssetDetailsComponent],\n exports: [AssetDetailsComponent],\n imports: [CommonModule, TranslateModule, FlexModule],\n})\nexport class AssetDetailsModule {}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\n\nexport interface ConfirmModalData {\n title: string;\n message?: string;\n buttons?: Partial<{\n close: string;\n submit: string;\n }>;\n}\n\n@Component({\n selector: 'app-confirm-modal',\n template: `\n
\n \n\n
\n \n\n
\n

{{ title | translate }}

\n

{{ message | translate }}

\n
\n
\n\n
\n \n \n
\n
\n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ConfirmModalComponent implements OnInit {\n title: string;\n\n message: string;\n\n data: ConfirmModalData;\n\n @ViewChild('buttonSubmit', { static: true }) buttonSubmit: ElementRef;\n\n constructor(private dialogRef: DialogRef, @Inject(DIALOG_DATA) data: ConfirmModalData) {\n const { title, message } = data;\n this.data = data;\n this.title = title;\n this.message = message;\n }\n\n ngOnInit(): void {\n this.buttonSubmit.nativeElement.focus();\n }\n\n submit(): void {\n this.dialogRef.close(true);\n }\n\n close(): void {\n this.dialogRef.close(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmModalComponent } from './confirm-modal.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [ConfirmModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule],\n exports: [ConfirmModalComponent],\n})\nexport class ConfirmModalModule {}\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-modal-container',\n template: `\n
\n \n\n
\n \n
\n

{{ title }}

\n

\n
\n
\n\n
\n \n
\n
\n `,\n styles: [],\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n public title: string;\n\n @Input() type: string;\n\n @Input() message: string;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('btn', { static: true }) button: ElementRef;\n\n constructor(private translate: TranslateService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n this.button.nativeElement.focus();\n switch (this.type) {\n case 'error':\n this.title = this.translate.instant('MODALS.ERROR');\n break;\n case 'success':\n this.title = this.translate.instant('MODALS.SUCCESS');\n break;\n case 'info':\n this.title = this.translate.instant('MODALS.INFO');\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n onClose(): void {\n this.eventClose.emit();\n }\n}\n","import { Component, HostBinding, Input, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalService } from '../../services/modal.service';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-open-wallet-modal',\n template: `\n
\n
\n

{{ 'OPEN_WALLET.MODAL.TITLE' | translate }}

\n\n
{{ wallet.name }}
\n
{{ wallet.path }}
\n\n
\n
\n \n \n
\n {{ 'OPEN_WALLET.MODAL.NOT_FOUND' | translate }}\n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n\n
\n \n \n
\n
\n
\n
\n `,\n styles: [],\n})\nexport class OpenWalletModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() wallets;\n\n isWrongPassword$ = new BehaviorSubject(false);\n\n wallet = {\n name: '',\n path: '',\n pass: '',\n notFound: false,\n emptyPass: false,\n };\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private backend: BackendService,\n private translate: TranslateService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n if (this.wallets.length) {\n this.wallet = this.wallets[0];\n this.wallet.pass = '';\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n openWallet(): void {\n if (this.wallets.length === 0) {\n return;\n }\n this.backend.openWallet(\n this.wallet.path,\n this.wallet.pass,\n this.variablesService.count,\n false,\n (open_status, open_data, open_error) => {\n if (open_error === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.isWrongPassword$.next(true);\n });\n }\n if (open_error && open_error === 'FILE_NOT_FOUND') {\n this.ngZone.run(() => {\n this.wallet.notFound = true;\n });\n let error_translate = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n error_translate += ':
' + this.wallet.path;\n error_translate += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n this.modalService.prepareModal('error', error_translate);\n } else {\n if (open_status || open_error === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === open_data['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(open_data.wallet_id);\n } else {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n this.wallet.name,\n this.wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(\n open_data.recent_history.total_history_items / this.variablesService.count\n );\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(open_data.wallet_id);\n this.skipWallet();\n this.isWrongPassword$.next(false);\n }\n }\n }\n }\n );\n }\n\n skipWallet(): void {\n this.ngZone.run(() => {\n if (this.wallets.length) {\n this.wallets.splice(0, 1);\n this.ngOnInit();\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractStatusMessagesPipe } from '@parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe';\n\n@NgModule({\n declarations: [ContractStatusMessagesPipe],\n exports: [ContractStatusMessagesPipe],\n providers: [ContractStatusMessagesPipe],\n imports: [CommonModule],\n})\nexport class ContractStatusMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractStatusMessages',\n})\nexport class ContractStatusMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n getStateSeller(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NEW_CONTRACT');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAITING_BUYER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.PROPOSAL_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n getStateBuyer(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n break;\n case 120:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_SELLER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n transform(state: number, is_a?: boolean): any {\n if (is_a) {\n return this.getStateBuyer(state);\n } else {\n return this.getStateSeller(state);\n }\n }\n}\n","export * from './contract-status-messages-pipe.module';\nexport * from './contract-status-messages.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractTimeLeftPipe } from '@parts/pipes/contract-time-left-pipe/contract-time-left.pipe';\n\n@NgModule({\n declarations: [ContractTimeLeftPipe],\n exports: [ContractTimeLeftPipe],\n providers: [ContractTimeLeftPipe],\n imports: [CommonModule],\n})\nexport class ContractTimeLeftPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractTimeLeft',\n})\nexport class ContractTimeLeftPipe implements PipeTransform {\n constructor(private service: VariablesService, private translate: TranslateService) {}\n\n transform(value: any, arg?: any): any {\n const time = parseInt(((parseInt(value, 10) - this.service.exp_med_ts) / 3600).toFixed(0), 10);\n const type = arg || 0;\n if (time === 0) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_LESS_ONE');\n }\n if (this.service.settings.language === 'en') {\n if (type === 0) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n }\n } else if (type === 1) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n }\n }\n } else {\n const rest = time % 10;\n if (type === 0) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT', { time: time });\n }\n } else if (type === 1) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_WAITING', { time: time });\n }\n }\n }\n return null;\n }\n}\n","export * from './contract-time-left-pipe.module';\nexport * from './contract-time-left.pipe';\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { AssetInfo } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\n@Pipe({\n name: 'getAssetInfo',\n standalone: true,\n})\nexport class GetAssetInfoPipe implements PipeTransform {\n private walletsService = inject(WalletsService);\n\n transform(value: AssetInfo['asset_id']): AssetInfo | undefined {\n return this.walletsService.currentWallet?.allAssetsInfo.find(({ asset_id }) => asset_id === value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HistoryTypeMessagesPipe } from '@parts/pipes/history-type-messages-pipe/history-type-messages.pipe';\n\n@NgModule({\n declarations: [HistoryTypeMessagesPipe],\n exports: [HistoryTypeMessagesPipe],\n providers: [HistoryTypeMessagesPipe],\n imports: [CommonModule],\n})\nexport class HistoryTypeMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { hasOwnProperty } from '../../functions/hasOwnProperty';\n\n@Pipe({\n name: 'historyTypeMessages',\n})\nexport class HistoryTypeMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n transform(item: any): any {\n if (item.tx_type === 0) {\n if (item.remote_addresses && item.remote_addresses[0]) {\n return item.remote_addresses[0];\n } else {\n if (item.is_income) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.HIDDEN');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n }\n } else if (item.tx_type === 6 && item.height === 0) {\n return 'unknown';\n } else if (item.tx_type === 9) {\n if (hasOwnProperty(item, 'contract') && item.contract[0].is_a) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_BUYER');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_SELLER');\n }\n } else {\n switch (item.tx_type) {\n // case 0:\n // return '';\n // case 1:\n // return '';\n // case 2:\n // return '';\n // case 3:\n // return '';\n case 4:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_ALIAS');\n case 5:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UPDATE_ALIAS');\n case 6:\n return item.employed_entries?.spent?.length\n ? this.translate.instant('HISTORY.TYPE_MESSAGES.POS_REWARD')\n : this.translate.instant('HISTORY.TYPE_MESSAGES.POW_REWARD');\n case 7:\n if (!item.subtransfers || !item.subtransfers.length) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.SERVICE_TRANSACTIONS');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_CONTRACT');\n }\n case 8:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PLEDGE_CONTRACT');\n // case 9:\n // return '';\n case 10:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.NULLIFY_CONTRACT');\n case 11:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PROPOSAL_CANCEL_CONTRACT');\n case 12:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CANCEL_CONTRACT');\n }\n }\n\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n}\n","export * from './history-type-messages-pipe.module';\nexport * from './history-type-messages.pipe';\n","export * from './contract-status-messages-pipe';\nexport * from './contract-time-left-pipe';\nexport * from './history-type-messages-pipe';\nexport * from './int-to-money-pipe';\nexport * from './is-available-alias-name-pipe';\nexport * from './money-to-int-pipe';\nexport * from './safe-html-pipe';\nexport * from './get-asset-info.pipe';\nexport * from './short-string.pipe';\n","export * from './int-to-money-pipe.module';\nexport * from './int-to-money.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\n\n@NgModule({\n declarations: [IntToMoneyPipe],\n exports: [IntToMoneyPipe],\n providers: [IntToMoneyPipe],\n imports: [CommonModule],\n})\nexport class IntToMoneyPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'intToMoney',\n})\nexport class IntToMoneyPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any, args?: any): any {\n if (value === 0 || value === undefined) {\n return '0';\n }\n let maxFraction = this.variablesService.digits;\n if (args) {\n maxFraction = parseInt(args, 10);\n }\n const power = Math.pow(10, this.variablesService.digits);\n let str = new BigNumber(value).div(power).toFixed(maxFraction);\n\n for (let i = str.length - 1; i >= 0; i--) {\n if (str[i] !== '0') {\n str = str.substr(0, i + 1);\n break;\n }\n }\n if (str[str.length - 1] === '.') {\n str = str.substr(0, str.length - 1);\n }\n return str;\n }\n}\n","export * from './is-available-alias-name-pipe.module';\nexport * from './is-available-alias-name.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IsAvailableAliasNamePipe } from './is-available-alias-name.pipe';\n\n@NgModule({\n declarations: [IsAvailableAliasNamePipe],\n exports: [IsAvailableAliasNamePipe],\n providers: [IsAvailableAliasNamePipe],\n imports: [CommonModule],\n})\nexport class IsAvailableAliasNamePipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Alias } from '@api/models/alias.model';\n\n@Pipe({\n name: 'isAvailableAliasName',\n})\nexport class IsAvailableAliasNamePipe implements PipeTransform {\n transform(alias: Partial | null | undefined): boolean {\n return (Boolean(alias) && Boolean(alias.name) && alias.name.length >= 2 && alias.name.length <= 6) || false;\n }\n}\n","export * from './money-to-int-pipe.module';\nexport * from './money-to-int.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\n\n@NgModule({\n declarations: [MoneyToIntPipe],\n exports: [MoneyToIntPipe],\n providers: [MoneyToIntPipe],\n imports: [CommonModule],\n})\nexport class MoneyToIntPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'moneyToInt',\n})\nexport class MoneyToIntPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any): any {\n const CURRENCY_DISPLAY_DECIMAL_POINT = this.variablesService.digits;\n let result;\n if (value) {\n let am_str = value.toString().trim();\n const point_index = am_str.indexOf('.');\n let fraction_size = 0;\n if (-1 !== point_index) {\n fraction_size = am_str.length - point_index - 1;\n while (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size && '0' === am_str[am_str.length - 1]) {\n am_str = am_str.slice(0, am_str.length - 1);\n --fraction_size;\n }\n if (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size) {\n return undefined;\n }\n am_str = am_str.slice(0, point_index) + am_str.slice(point_index + 1, am_str.length);\n } else {\n fraction_size = 0;\n }\n if (!am_str.length) {\n return undefined;\n }\n if (fraction_size < CURRENCY_DISPLAY_DECIMAL_POINT) {\n for (let i = 0; i !== CURRENCY_DISPLAY_DECIMAL_POINT - fraction_size; i++) {\n am_str = am_str + '0';\n }\n }\n result = new BigNumber(am_str).integerValue();\n }\n return result;\n }\n}\n","export * from './safe-html-pipe.module';\nexport * from './safe-html.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SafeHTMLPipe } from '@parts/pipes/safe-html-pipe/safe-html.pipe';\n\n@NgModule({\n declarations: [SafeHTMLPipe],\n exports: [SafeHTMLPipe],\n providers: [SafeHTMLPipe],\n imports: [CommonModule],\n})\nexport class SafeHtmlPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHTML',\n})\nexport class SafeHTMLPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'zanoShortString',\n standalone: true\n})\nexport class ShortStringPipe implements PipeTransform {\n transform(value: string | null | undefined, left = 6, right = 6): string | null | undefined {\n return value && `${value.slice(0, left)}...${value.slice(-right)}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class NavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n back(): void {\n this.history.pop();\n if (this.history.length > 0) {\n this.location.back();\n } else {\n this.router.navigateByUrl('/').then();\n }\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalContainerComponent } from '../modals/modal-container/modal-container.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private components: any[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n prepareModal(type: 'error' | 'info' | 'success' | string, message): void {\n const length = this.components.push(\n this.componentFactoryResolver.resolveComponentFactory(ModalContainerComponent).create(this.injector)\n );\n\n this.components[length - 1].instance['type'] = type;\n this.components[length - 1].instance['message'] = message.length ? this.translate.instant(message) : '';\n this.components[length - 1].instance['eventClose']?.subscribe({\n next: () => {\n this.ngZone.run(() => {\n this.removeModal(length - 1);\n });\n },\n });\n\n this.ngZone.run(() => {\n this.appendModal(length - 1);\n });\n }\n\n appendModal(index): void {\n setTimeout(() => {\n this.appRef.attachView(this.components[index].hostView);\n const domElem = (this.components[index].hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n });\n }\n\n removeModal(index): void {\n if (this.components[index]) {\n this.appRef.detachView(this.components[index].hostView);\n this.components[index].destroy();\n this.components.splice(index, 1);\n } else {\n const last = this.components.length - 1;\n this.appRef.detachView(this.components[last].hostView);\n this.components[last].destroy();\n this.components.splice(last, 1);\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { DeeplinkParams, Wallet } from '@api/models/wallet.model';\nimport { Contact } from '@api/models/contact.model';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { Idle } from 'idlejs/dist';\nimport { Router } from '@angular/router';\nimport { ContextMenuComponent, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { BigNumber } from 'bignumber.js';\nimport { Aliases } from '@api/models/alias.model';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VariablesService {\n disable_price_fetch$ = new BehaviorSubject(false);\n\n rpc_port!: number;\n\n use_debug_mode$ = new BehaviorSubject(false);\n\n info$ = new BehaviorSubject({});\n\n is_hardfok_active$: Observable = this.info$.pipe(map((info) => {\n return Boolean(info?.['is_hardfok_active']?.[4]);\n }), distinctUntilChanged());\n\n stop_paginate = {};\n\n sync_started = false;\n\n digits = 12;\n\n appPass = '';\n\n get hasAppPass(): boolean {\n return Boolean(this.appPass);\n }\n\n appLogin = false;\n\n moneyEquivalent = 0;\n\n moneyEquivalentPercent = 0;\n\n defaultCurrency = 'ZANO';\n\n opening_wallet: Wallet;\n\n exp_med_ts = 0;\n\n net_time_delta_median = 0;\n\n height_app = 0;\n\n height_max = 0;\n\n downloaded = 0;\n\n total = 0;\n\n last_build_available = '';\n\n last_build_displaymode = 0;\n\n daemon_state = 3;\n\n deeplink$ = new BehaviorSubject(null);\n\n sendActionData$ = new BehaviorSubject({});\n\n sync = {\n progress_value: 0,\n progress_value_text: '0',\n };\n\n public sync_wallets: { [wallet_id: number]: boolean } = {};\n download = {\n progress_value: 0,\n progress_value_text: '0',\n };\n get_recent_transfers = false; // avoid of execute function before callback complete\n default_fee = '0.010000000000';\n default_fee_big = new BigNumber('10000000000');\n settings = {\n appLockTime: 15,\n appLog: 0,\n scale: '10px',\n appUseTor: false,\n language: 'en',\n default_path: '/',\n viewedContracts: [],\n notViewedContracts: [],\n zanoCompanionForm: {\n zanoCompation: false,\n secret: ''\n },\n wallets: [],\n };\n count = 40;\n maxPages = 5;\n testnet = false;\n networkType = ''; // testnet of mainnet\n wallets: Array = [];\n currentWallet: Wallet;\n aliases: Aliases = [];\n aliasesChecked: any = {};\n enableAliasSearch = false;\n maxWalletNameLength = 25;\n maxCommentLength = 255;\n dataIsLoaded = false;\n contacts: Array = [];\n pattern = '^[a-zA-Z0-9_.\\\\]*|~!?@#$%^&+{}()<>:;\"\\'-=/,[\\\\\\\\]*$';\n after_sync_request: any = {};\n getExpMedTsEvent = new BehaviorSubject(null);\n getHeightAppEvent = new BehaviorSubject(null);\n getHeightMaxEvent = new BehaviorSubject(null);\n getDownloadedAppEvent = new BehaviorSubject(null);\n getTotalEvent = new BehaviorSubject(null);\n getRefreshStackingEvent = new BehaviorSubject(null);\n getAliasChangedEvent = new BehaviorSubject(null);\n currentWalletChangedEvent = new BehaviorSubject(null);\n idle = new Idle().whenNotInteractive().do(async () => {\n if (this.appPass === '') {\n this.stopCountdown();\n } else {\n await this.ngZone.run(async () => {\n this.stopCountdown();\n this.appPass = '';\n this.appLogin = false;\n await this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n }\n });\n allContextMenu: ContextMenuComponent;\n onlyCopyContextMenu: ContextMenuComponent;\n pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(private router: Router, private ngZone: NgZone, private contextMenuService: ContextMenuService) {}\n\n get isCurrentWalletSync(): boolean {\n if (this.currentWallet) {\n const { wallet_id } = this.currentWallet;\n return this.sync_wallets[wallet_id] || false;\n }\n return false;\n }\n\n get isCurrentWalletLoaded(): boolean {\n if (this.currentWallet) {\n const { loaded } = this.currentWallet;\n return loaded;\n }\n return false;\n }\n\n get walletNamesForComparisons(): string[] {\n return this.wallets.map(({ name }) => name) ?? [];\n }\n\n setExpMedTs(timestamp: number): void {\n if (timestamp !== this.exp_med_ts) {\n this.exp_med_ts = timestamp;\n this.getExpMedTsEvent.next(timestamp);\n }\n }\n\n setHeightApp(height: number): void {\n if (height !== this.height_app) {\n this.height_app = height;\n this.getHeightAppEvent.next(height);\n }\n }\n\n setHeightMax(height: number): void {\n if (height !== this.height_max) {\n this.height_max = height;\n this.getHeightMaxEvent.next(height);\n }\n }\n\n setDownloadedBytes(bytes: number): void {\n if (bytes !== this.downloaded) {\n this.downloaded = this.bytesToMb(bytes);\n this.getDownloadedAppEvent.next(bytes);\n }\n }\n\n setTotalBytes(bytes: number): void {\n if (bytes !== this.total) {\n this.total = this.bytesToMb(bytes);\n this.getTotalEvent.next(bytes);\n }\n }\n\n setRefreshStacking(wallet_id: number): void {\n this.getHeightAppEvent.next(wallet_id);\n }\n\n changeAliases(): void {\n this.getAliasChangedEvent.next(true);\n }\n\n setCurrentWallet(id): void {\n this.wallets.forEach(wallet => {\n if (wallet.wallet_id === id) {\n this.currentWallet = wallet;\n this.currentWalletChangedEvent.next(wallet);\n }\n });\n }\n\n getWallet(id): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (this.wallets[i].wallet_id === id) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n getNotLoadedWallet(): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (!this.wallets[i].loaded) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n startCountdown(): void {\n this.idle.within(this.settings.appLockTime).start();\n }\n\n stopCountdown(): void {\n this.idle.stop();\n }\n\n restartCountdown(): void {\n if (Boolean(this.settings.appLockTime)) {\n this.idle.within(this.settings.appLockTime).restart();\n } else {\n this.stopCountdown();\n }\n }\n\n bytesToMb(bytes): number {\n return Number((bytes / Math.pow(1024, 2)).toFixed(1));\n }\n\n onContextMenu($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.allContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n\n onContextMenuOnlyCopy($event: MouseEvent, copyText?: string): void {\n $event.preventDefault();\n $event.stopPropagation();\n this.contextMenuService.show(this.onlyCopyContextMenu, {\n value: copyText,\n x: $event.x,\n y: $event.y,\n });\n }\n\n onContextMenuPasteSelect($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n\n console.warn($event.target);\n console.warn($event.target['disabled']);\n\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.pasteSelectContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ResponseGetWalletInfo, Wallet } from '@api/models/wallet.model';\nimport { Router } from '@angular/router';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { AssetsWhitelistGetResponseData } from '@api/models/assets.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WalletsService {\n get wallets(): Wallet[] | null | undefined {\n return this.variablesService.wallets;\n }\n\n set wallets(value) {\n this.variablesService.wallets = value;\n }\n\n get currentWallet(): Wallet | null | undefined {\n return this.variablesService.currentWallet;\n }\n\n set currentWallet(value) {\n this.variablesService.currentWallet = value;\n }\n\n constructor(\n private backendService: BackendService,\n private variablesService: VariablesService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n addWallet(wallet: Wallet): void {\n const { wallet_id } = wallet;\n this.variablesService.wallets.push(wallet);\n this.updateWalletInfo(wallet_id);\n }\n\n loadAssetsWhitelist(wallet_id: number): void {\n const wallet = this.getWalletById(wallet_id);\n\n if (!wallet) {\n console.warn(`You want update assetsWhiteList by wallet_id: (${wallet_id}). But this wallet not uploaded.`);\n return;\n }\n\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'assets_whitelist_get',\n params: {},\n };\n this.backendService.call_wallet_rpc([wallet_id, params], (status, response_data: AssetsWhitelistGetResponseData) => {\n const { result } = response_data;\n wallet.assetsInfoWhitelist = result;\n });\n }\n\n getWalletById(wallet_id: number): Wallet | undefined {\n const { wallets } = this.variablesService;\n return wallets.find(w => w.wallet_id === wallet_id);\n }\n\n updateWalletInfo(wallet_id: number): void {\n const wallet = this.getWalletById(wallet_id);\n\n if (!wallet) {\n console.warn(`You want update walletInfo by wallet_id: (${wallet_id}). But this wallet not uploaded.`);\n return;\n }\n const callback: (status: boolean, response_data: ResponseGetWalletInfo) => void = (status, response_data) => {\n this.ngZone.run(() => {\n if (status) {\n const { balances } = response_data;\n wallet.balances = balances;\n }\n });\n };\n\n this.backendService.getWalletInfo(wallet_id, callback);\n\n this.loadAssetsWhitelist(wallet_id);\n }\n\n closeWallet(wallet_id: number): void {\n const callback = async (): Promise => {\n this.wallets = this.wallets.filter(w => w.wallet_id !== wallet_id);\n\n await this.ngZone.run(async () => {\n let url = '/';\n if (this.wallets.length > 0) {\n this.currentWallet = this.wallets[0];\n url = '/wallet/';\n }\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData();\n }\n await this.router.navigate([url]);\n });\n };\n\n this.backendService.closeWallet(wallet_id, callback);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype TLoaderId = 'fullScreen';\n\ninterface TDataLoader {\n state: boolean;\n message: string;\n}\n\ntype TDataLoaders = {\n [key in TLoaderId]: TDataLoader\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ZanoLoadersService {\n private _loaders$ = new BehaviorSubject({\n fullScreen: { state: false, message: 'Loading' }\n });\n\n getState(id: TLoaderId): Observable {\n return this._loaders$.pipe(map((loader) => loader[id].state ));\n }\n\n getMessage(id: TLoaderId): Observable {\n return this._loaders$.pipe(map((loader) => loader[id].message ));\n }\n\n\n open(id: TLoaderId, message: string = 'Loading'): void {\n this._loaders$.next({\n ...this._loaders$.value,\n [id]: {\n state: true,\n message\n }\n });\n }\n\n close(id: TLoaderId): void {\n this._loaders$.next({\n ...this._loaders$.value,\n [id]: {\n ...this._loaders$.value[id],\n state: false\n }\n });\n }\n}\n","export const MIMETypes: string[] = [\n '.rar',\n '.txt',\n '.xls',\n '.xlsx',\n '.zip',\n '.png',\n '.pdf',\n '.csv',\n '.doc',\n '.docx',\n '.jar',\n '.jpeg',\n '.jpg',\n '.js',\n '.json',\n '.mp3',\n '.mp4',\n '.mpeg',\n '.aac',\n '.abw',\n '.arc',\n '.avif',\n '.avi',\n '.azw',\n '.bin',\n '.bmp',\n '.bz',\n '.bz2',\n '.cda',\n '.csh',\n '.css',\n '.dll',\n '.exe',\n '.eot',\n '.epub',\n '.gz',\n '.gif',\n '.htm',\n '.html',\n '.ico',\n '.ics',\n '.jsonld',\n '.mid',\n '.midi',\n '.mjs',\n '.mpkg',\n '.odp',\n '.ods',\n '.odt',\n '.oga',\n '.ogv',\n '.ogx',\n '.opus',\n '.otf',\n '.php',\n '.ppt',\n '.pptx',\n '.pdb',\n '.dat',\n '.rtf',\n '.sh',\n '.svg',\n '.tar',\n '.tif',\n '.tiff',\n '.ts',\n '.ttf',\n '.vsd',\n '.wav',\n '.weba',\n '.webm',\n '.webp',\n '.woff',\n '.woff2',\n '.xhtml',\n '.xml',\n '.xul',\n '.3gp',\n '.3g2',\n '.7z',\n];\n","export const generateRandomString = (length: number = 40): string => {\n const array: Uint8Array = new Uint8Array(length);\n window.crypto.getRandomValues(array);\n\n const regularArray: number[] = Array.from(array);\n\n return btoa(String.fromCharCode.apply(null, regularArray));\n};\n","import { ValidationErrors } from '@angular/forms';\n\nexport interface ZanoValidationErrors extends ValidationErrors {\n errorText: string;\n}\n\nexport const wrongAssetId: ZanoValidationErrors = {\n errorText: 'ASSETS.FORM.ERRORS.WRONG_ASSET_ID',\n};\n\nexport const wrongPassword: ZanoValidationErrors = {\n errorText: 'Incorrect password',\n};\n\nexport const insuficcientFunds: ZanoValidationErrors = {\n errorText: 'ERRORS.INSUFFICIENT_FUNDS',\n};\n\nexport const assetHasNotBeenAddedToWallet: ZanoValidationErrors = {\n errorText: 'ERRORS.ASSET_HAS_NOT_BEEN_ADDED_TO_WALLET',\n};\n\nexport const notFileZanoWallet: ZanoValidationErrors = {\n errorText: 'ERRORS.NOT_FILE_ZANO_WALLET',\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { notFileZanoWallet, ZanoValidationErrors } from '@parts/utils/zano-errors';\nimport { MIMETypes } from '@parts/utils/MIME-types';\n\nexport const regExpHash = /^[a-f0-9]{64}$/i;\nexport const regExpAliasName = /^@?[a-z\\d.-]{2,25}$/;\nexport const regExpPassword = /^[a-zA-Z0-9_.\\]*|~!?@#$%^&+{}()<>:;\"'-=,/[\\\\]*$/;\n\nexport class ZanoValidators {\n static hash({ value }: AbstractControl): ValidationErrors | null {\n return regExpHash.test(value) ? null : { invalidHash: true };\n }\n\n static formMatch(firstControlName: string, secondControlName: string, nameErrorKey = 'mismatch'): ValidatorFn {\n return (abstractControl: AbstractControl): ValidationErrors | null =>\n abstractControl.get(firstControlName).value === abstractControl.get(secondControlName).value ? null : { [nameErrorKey]: true };\n }\n\n static duplicate(valuesForComparisons: string | string[]): ValidatorFn {\n return ({ value }: AbstractControl): ValidationErrors | null => {\n const errorObject = { duplicate: true };\n let error = null;\n\n if (typeof value === 'string' && value === valuesForComparisons) {\n error = errorObject;\n }\n\n if (Array.isArray(valuesForComparisons) && valuesForComparisons.includes(value)) {\n error = errorObject;\n }\n\n return error;\n };\n }\n}\n\nexport const filePathWalletValidator = (path: string): ZanoValidationErrors | null => {\n if (!(path && path.trim().length)) {\n return null;\n }\n\n const positionLastSlash = path.lastIndexOf('/');\n const fileName = path.slice(positionLastSlash + 1);\n\n if (!(fileName && fileName.trim().length)) {\n return null;\n }\n\n if (fileName) {\n let index = 0;\n while (index < MIMETypes.length) {\n if (fileName.includes(MIMETypes[index])) {\n return notFileZanoWallet;\n }\n index++;\n }\n }\n\n return null;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { PaginationStore } from './pagination.store';\nimport * as _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationService {\n constructor(private variables: VariablesService, private ngZone: NgZone, private paginationStore: PaginationStore) {}\n\n paginate(currentPage = 1): void {\n if (currentPage < 1) {\n currentPage = 1;\n } else if (currentPage > this.variables.currentWallet.totalPages) {\n currentPage = this.variables.currentWallet.totalPages;\n }\n let startPage: number, endPage: number;\n if (this.variables.currentWallet.totalPages <= this.variables.maxPages) {\n startPage = 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n const maxPagesBeforeCurrentPage = Math.floor(this.variables.maxPages / 2);\n const maxPagesAfterCurrentPage = Math.ceil(this.variables.maxPages / 2) - 1;\n if (currentPage <= maxPagesBeforeCurrentPage) {\n startPage = 1;\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (endPage = this.variables.maxPages)\n : (endPage = this.variables.currentWallet.totalPages);\n } else if (currentPage + maxPagesAfterCurrentPage >= this.variables.currentWallet.totalPages) {\n startPage = this.variables.currentWallet.totalPages - this.variables.maxPages + 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n startPage = currentPage - maxPagesBeforeCurrentPage;\n endPage = currentPage + maxPagesAfterCurrentPage;\n }\n }\n this.ngZone.run(() => {\n this.variables.currentWallet.pages = Array.from(Array(endPage + 1 - startPage).keys()).map(i => startPage + i);\n });\n }\n\n getOffset(walletID): number {\n const mining = this.variables.currentWallet.exclude_mining_txs;\n const currentPage = this.variables.currentWallet.currentPage;\n let offset = (currentPage - 1) * this.variables.count;\n if (!mining) {\n return offset || 0;\n }\n const value = this.paginationStore.value;\n const pages = value.filter(item => item.walletID === walletID);\n if (pages && pages.length > 0) {\n const max = _.maxBy(pages, 'page');\n const isForward = this.paginationStore.isForward(pages, currentPage);\n if (isForward) {\n offset = max.offset || 0;\n } else {\n const index = pages.findIndex(item => item.page === currentPage);\n offset = pages[index].offset || 0;\n }\n }\n return offset;\n }\n\n calcPages(data): void {\n if (data.total_history_items && data && data.history) {\n this.variables.currentWallet.totalPages = Math.ceil(data.total_history_items / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n } else if (this.variables.currentWallet.restore) {\n this.variables.currentWallet.totalPages = Math.ceil(data.history.length / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n }\n }\n\n prepareHistory(data, status): void {\n if (status && data && data.total_history_items) {\n this.variables.currentWallet.history.splice(0, this.variables.currentWallet.history.length);\n this.ngZone.run(() => {\n this.paginate(this.variables.currentWallet.currentPage);\n if (data.history.length !== 0) {\n this.variables.currentWallet.restore = false;\n this.variables.currentWallet.total_history_item = data.total_history_items;\n this.variables.currentWallet.prepareHistory(data.history);\n if (this.variables.currentWallet.currentPage === 1 && data.unconfirmed) {\n this.variables.currentWallet.prepareHistory(data.unconfirmed.sort((a, b) => a.timestamp - b.timestamp));\n }\n }\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as _ from 'lodash';\n\nexport interface Pages {\n page: number;\n offset: number;\n walletID: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationStore {\n private subject = new BehaviorSubject(null);\n\n get value(): Pages[] | null {\n return this.subject.value;\n }\n\n isForward(pages, currentPage): boolean {\n const max = _.maxBy(pages, 'page');\n return !max || max.page < currentPage || max.page === currentPage;\n }\n\n setPage(pageNumber: number, offset: number, walletID: number): void {\n let newPages: Pages[] = [];\n const pages = this.subject.getValue();\n if (pages && pages.length > 0) {\n newPages = pages.slice(0);\n }\n newPages.push({ page: pageNumber, offset, walletID });\n this.subject.next(newPages);\n }\n}\n","import { distinctUntilChanged, map } from 'rxjs/operators';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Injectable } from '@angular/core';\n\nexport interface Sync {\n sync: boolean;\n wallet_id: number;\n}\n\nexport enum StateKeys {\n wallets = 'wallets',\n sync = 'sync',\n}\n\nexport interface State {\n [StateKeys.wallets]: Wallet[] | null | undefined;\n [StateKeys.sync]: Sync[] | null | undefined;\n}\n\nconst initialState: State = {\n wallets: undefined,\n sync: undefined,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Store {\n private subject = new BehaviorSubject(initialState);\n private store = this.subject.asObservable().pipe(distinctUntilChanged());\n\n get state(): State {\n return this.subject.value;\n }\n\n select(name: StateKeys): Observable {\n return this.store.pipe(map(state => state[name])) as unknown as Observable;\n }\n\n set(name: StateKeys, value: any): void {\n this.subject.next({ ...this.state, [name]: value });\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport 'lodash';\n\nexport const buildTime = '2024-03-06T13:59:36.086Z';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["NgZone","Observable","Subject","JSONBigNumber","BigNumber","ParamsType","getParamsType","value","array","Array","isArray","object","Object","keys","includes","convertersObjectForTypes","string","stringify","map","v","convertorParams","type","StatusCurrentActionState","Commands","BackendService","constructor","translate","variablesService","modalService","moneyToIntPipe","ngZone","bigNumberParser","key","val","name","indexOf","toNumber","i","length","Debug","message","console","error","warn","log","eventSubscribe","command","callback","on_core_event","backendObject","connect","str","parse","initService","observer","backendLoaded","window","QWebChannel","qt","webChannelTransport","channel","objects","mediator_object","next","webkitLaunchedScript","runCommand","webkit_launched_script","quitRequest","on_request_quit","getAppData","get_app_data","storeAppData","wallets","settings","forEach","wallet","push","path","store_app_data","getSecureAppData","pass","get_secure_app_data","setMasterPassword","set_master_password","checkMasterPassword","check_master_password","getIsDisabledNotifications","params","get_is_disabled_notifications","setIsDisabledNotifications","state","set_is_disabled_notifications","storeSecureAppData","contacts","staking","contact","address","notes","data","store_secure_app_data","JSON","appPass","dataStore","backendCallback","dropSecureAppData","drop_secure_app_data","haveSecureAppData","have_secure_app_data","saveFileDialog","caption","fileMask","default_path","dir","filemask","default_dir","show_savefile_dialog","openFileDialog","show_openfile_dialog","storeFile","buff","store_to_file","loadFile","load_from_file","push_offer","generateWallet","generate_wallet","exportWalletHistory","json_string","export_wallet_history","openWallet","txs_to_return","testEmpty","open_wallet","closeWallet","wallet_id","close_wallet","getSmartWalletInfo","seed_password","get_smart_wallet_info","getSeedPhraseInfo","param","get_seed_phrase_info","runWallet","run_wallet","isValidRestoreWalletText","is_valid_restore_wallet_text","restoreWallet","seed_phrase","seed_pass","restore_wallet","sendMoney","amount","fee","mixin","comment","hide","asset_id","destinations","mixin_count","lock_time","transform","push_payer","asyncCall","transfer","setupJwtWalletRpc","secret","setup_jwt_wallet_rpc","zanoCompanionForm","validateAddress","validate_address","setClipboard","set_clipboard","getClipboard","get_clipboard","createProposal","title","a_addr","b_addr","to_pay","a_pledge","b_pledge","time","payment_id","parseInt","details","t","c","expiration_period","default_fee_big","b_fee","create_proposal","getContracts","get_contracts","acceptProposal","contract_id","accept_proposal","releaseProposal","release_type","release_contract","requestCancelContract","request_cancel_contract","acceptCancelContract","accept_cancel_contract","getMiningHistory","get_mining_history","startPosMining","start_pos_mining","stopPosMining","stop_pos_mining","openUrlInBrowser","url","open_url_in_browser","start_backend","node","host","port","configure_for_remote_node","remote_node_host","remote_node_port","getDefaultFee","get_default_fee","setBackendLocalization","stringsArray","strings","language_title","set_localization_strings","registerAlias","alias","reward","tracking_key","request_alias_registration","updateAlias","replace","request_alias_update","getAllAliases","get_all_aliases","getAliasInfoByName","get_alias_info_by_name","getAliasByAddress","get_alias_info_by_address","getAliasCoast","get_alias_coast","resyncWallet","id","resync_wallet","getWalletAlias","daemon_state","aliasesChecked","aliases","status","getContactAlias","getRecentTransfers","offset","count","exclude_mining_txs","get_recent_transfers","getPoolInfo","get_tx_pool_info","getVersion","get_version","version","errorVersion","get_network_type","status_network","errorType","setLogLevel","level","set_log_level","async_call","job_id","dispatchAsyncCallResult","dispatch_async_call_result","json_resp","asyncCommandResults","response","run","dispatchAsyncCallResult$","handleCurrentActionState","handle_current_action_state","currentActionState","handleCurrentActionState$","setEnableTor","set_enable_tor","getOptions","get_options","disable_price_fetch","use_debug_mode","rpc_port","disable_price_fetch$","use_debug_mode$","addCustomAssetId","add_custom_asset_id","removeCustomAssetId","remove_custom_asset_id","getWalletInfo","get_wallet_info","call_rpc","call_wallet_rpc","informerRun","error_translate","instant","default_fee","currency","defaultCurrency","prepareModal","commandDebug","result","debug","_send_params","_result","e","response_data","error_code","resultStr","Result","core_busy","Status","undefined","res_error_code","setTimeout","current_wallet_id","currentWallet","Action","i0","factory","providedIn","Renderer2","StateKeys","take","takeUntil","paths","pathsChildrenAuth","hasOwnProperty","AppComponent","http","renderer","backendService","router","intToMoneyPipe","store","dialog","zanoLoadersService","addLangs","setDefaultLang","use","subscribe","translateUsed","language","ngOnInit","initMessage","st2","dd2","quit_requested","onQuitRequest","closeAll","needOpenWallets","saveFunction","recursionCloseWallets","lastIndex","splice","update_wallet_status","wallet_state","is_mining","getWallet","loaded","balances","mined_total","minied_total","alias_available","is_alias_operations_available","has_bare_unspent_outputs","wallet_sync_progress","progress","sync_started","sync_wallets","addToStore","update_daemon_state","daemon_network_state","setExpMedTs","net_time_delta_median","last_build_available","last_build_displaymode","setHeightApp","height","setHeightMax","max_net_seen_height","setDownloadedBytes","downloaded_bytes","setTotalBytes","download_total_data_size","max","current","return_val","Math","floor","sync","progress_value","progress_value_text","toFixed","download","firstOnlineState","getAliases","status_fee","data_fee","money_transfer","ti","tr_info","history","tx_type","setRefreshStacking","tr_exists","excluded_history","some","elem","tx_hash","currentPage","prepareHistory","restore","total_history_item","totalPages","ceil","maxPages","pages","fill","index","exp_med_ts","height_app","contract","contracts","is_a","cancel_expiration_time","expiration_time","timestamp","searchResult2","notViewedContracts","find","j","viewedContracts","searchResult3","searchResult4","searchResult","is_new","findContract","prop","handle_deeplink_click","deeplink$","money_transfer_cancel","removeFromHistory","error_tr","events","method","enableAliasSearch","newAlias","concat","changeAliases","CurrentAlias","element","intervalUpdateContractsState","setInterval","expMedTsEvent","getExpMedTsEvent","newTimestamp","appUseTor","scale","setStyle","document","documentElement","appLog","navigate","auth","noWallet","then","statusPass","queryParams","appLogin","getInfo","pipe","destroy$","updateTime","updateMoneyEquivalent","intervalUpdatePriceState","clearInterval","ngOnDestroy","unsubscribe","get","moneyEquivalent","moneyEquivalentPercent","sort","a","b","boolean","filter","item","set","testnet","networkType","jsonrpc","info$","selectors","decls","vars","consts","template","inject","TranslateService","CREATE_NEW_WALLET_HELP_PAGE","filePathWalletValidator","AddWalletComponent","translateService","file_status","file_data","positionLastSlash","lastIndexOf","new_default_path","slice","text","errorText","openInBrowser","ctx","FormBuilder","Validators","regExpAliasName","AssignAliasComponent","backend","intToMoney","routerLink","fb","group","nonNullable","control","required","pattern","maxLength","maxCommentLength","price","rewardOriginal","exists","assignForm","valueChanges","canRegister","newName","toLowerCase","controls","errors","statusPrice","dataPrice","sum","unlocked_balance","getBalanceByTicker","_a","unlocked","notEnoughMoney","isGreaterThan","complete","assignAlias","wakeAlias","Wallet","BehaviorSubject","regExpPassword","ZanoValidators","LoginComponent","walletsService","route","password","confirmation","validators","formMatch","onSubmitCreatePass","regForm","valid","dataIsLoaded","appLockTime","startCountdown","onSkipCreatePass","resetJwtWalletRpc","zanoCompation","resetLoading$","closeAllWallets","onSubmitAuthPass","submitLoading$","authForm","prevUrl","setAuthPassError","wrong_password","getData","isEmptyObject","getWalletData","walletData","openWallets","runWallets","wallet_index","open_status","open_data","open_error","new_wallet","balance","tracking_hey","is_auditable","is_watch_only","recent_history","total_history_items","addWallet","run_status","setErrors","NonNullableFormBuilder","VariablesService","ModalService","Router","WalletsService","CreateWalletComponent","duplicate","walletNamesForComparisons","confirm","savedWalletName","createForm","substr","createWallet","loading$","selectedPath","getRawValue","generate_status","generate_data","errorCode","run_data","setCurrentWallet","errorTranslationKey","selectWalletLocation","patchValue","delay","DeeplinkComponent","notFileZanoWallet","wrongPassword","OpenWalletComponent","maxWalletNameLength","filePath","openWalletForm","filename","markAsTouched","openStatus","openData","open_from_exist","AssetDetailsComponent","ConfirmModalComponent","LOCKED_BALANCE_HELP_PAGE","defaultImgSrc","zanoAssetInfo","ctx_r6","$event","ctx_r4","asset_r5","_r7","ctx_r0","ctx_r1","AssetsComponent","paginatePipeArgs","paginationId","itemsPerPage","isShowPagination","listenChangeWallet","toggleDropDownMenu","trigger","asset","isOpenDropDownMenu","triggerOrigin","currentAsset","trackByAssets","asset_info","trackByPages","assetDetails","dialogConfig","open","beforeRemoveAsset","full_name","closed","confirmed","removeAsset","sendMoneyParams","updateWalletInfo","getBalanceTooltip","tooltip","createElement","scrollWrapper","classList","add","total","ticker","available","setAttribute","innerText","availableB","appendChild","locked","lockedB","minus","link","innerHTML","addEventListener","currentWalletChangedEvent","ElementRef","EventEmitter","successfulStatuses","STATE_SENDING","STATE_SENT_SUCCESS","STATE_INITIALIZING","STATE_DOWNLOADING_CONSENSUS","STATE_MAKING_TUNNEL_A","STATE_MAKING_TUNNEL_B","STATE_CREATING_STREAM","STATE_SUCCESS","failedStatuses","STATE_SEND_FAILED","STATE_FAILED","SendDetailsModalComponent","currentActionState$","currentActionStates","currentActionStates$","isSentSuccess","isSentFailed","isDetailsNotEmpty","responseData$","addClass","body","actionState","success","removeClass","toggleDetails","stateDetails$","scrollToBottomDetailsList","trackBy","isSuccess","action","isFailed","elDetailsList","nativeElement","scrollTop","scrollHeight","viewQuery","MIXIN","debounceTime","retry","tap","of","IntToMoneyPipe","insuficcientFunds","defaultSendMoneyParams","WrapInfoService","alias_r18","_r15","asset_r36","ctx_r9","ctx_r11","SendComponent","moneyToInt","isVisibleDropdownAliases$","aliasAddress","valid_status","isWrapShown","assign","address_not_valid","hasError","test","alias_not_valid","alias_status","alias_data","alias_not_found","min","zero","bigAmount","wrapInfo","wrap_info_null","unwraped_coins_left","great_than_unwraped_coins","isLessThan","tx_cost","zano_needed_for_erc20","less_than_zano_needed","sendMoneyParamsForm","_b","g","less_min","aliases$","getWrapInfo","listenSendActionData","patchSendMoneyParamsByCurrentWallet","saveSendMoneyParams","setAssetFromHistoryState","emitEvent","showDialog","isModalDialogVisible","onSend","aliasName","isModalDetailsDialogVisible","getReceivedValue","needed","handeCloseDetailsModal","reset","markAllAsTouched","disable","fillDeepLinkData","additionalOptions","comments","mixins","hide_sender","wrapInfoService","pasteListenAddressField","event","preventDefault","clipboardData","lowerCaseDisabled$","inputListenAddressField","target","filteredAliases","sendActionData$","CommonModule","RouterLinkWithHref","TranslateModule","BreadcrumbsComponent","DefaultImgModule","InputValidateModule","LowerCaseDirective","FormsModule","ReactiveFormsModule","IntToMoneyPipeModule","MoneyToIntPipe","MoneyToIntPipeModule","ShortStringPipe","NgSelectModule","startWith","assetHasNotBeenAddedToWallet","LoaderComponent","assetInfo_r20","ctx_r3","assetInfo_r23","alias_r33","_r30","CreateSwapComponent","allAssetsInfo","sending","form","receiving","disabled","isEmptyAssetsInfoWhitelist","receiverAddress","condition","sameAssetsId","setSendingAssetIdFromHistoryState","sendingAssetsInfo$","receivingAssetsInfo$","reverse","updateValueAndValidity","inputListenReceiverAddressField","pasteListenReceiverAddressField","beforeSubmit","invalid","submit","params1","params2","proposal","to_finalizer","to_initiator","fee_paid_by_a","navigateByUrl","hex_raw_proposal","errorRpc","standalone","features","i1","i2","i3","i4","i5","i6","i7","styles","ChangeDetectorRef","wrongAssetId","FlexModule","AddCustomTokenComponent","dialogRef","compose","hash","formGroup","asset_descriptor","awaiting_in","awaiting_out","close","cdr","detectChanges","_r2","i8","changeDetection","DIALOG_DATA","DialogRef","SuccessSweepBareOutsComponent","_dialogRef","distinctUntilChanged","ExportHistoryModalComponent","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","ZARCANUM_MIGRATION","MigrateWalletToZarcanumComponent","objTabs","assets","icon","hidden","send","receive","swap","indicator","WalletComponent","scrollStrategyOptions","scrollStrategyNoop","noop","walletLoaded","createTabs","setDisabledTabs","is_hardfok_active$","setHiddenTabs","navigationInterceptor","loader","conditionForHiding","tabs","onKeyPressed","openDropdown","walletSyncVisible","onKeyUpPressed","settingsButtonInterval","settingsButtonDisabled","select","Boolean","in_progress","values","getAliasChangedEvent","updateWalletStatus","toggleMenuDropdown","resyncCurrentWallet","addCustomToken","exportHistory","openZarcanumMigration","openMigrateWalletToZarcanum","maxWidth","width","scrollStrategy","ids","tab","hostBindings","OpenWalletModalComponent","notFound","emptyPass","isWrongPassword$","skipWallet","hostVars","Idle","contextMenuService","info","whenNotInteractive","do","stopCountdown","hasAppPass","isCurrentWalletSync","isCurrentWalletLoaded","getHeightAppEvent","height_max","getHeightMaxEvent","bytes","downloaded","bytesToMb","getDownloadedAppEvent","getTotalEvent","getNotLoadedWallet","idle","within","start","stop","restartCountdown","restart","Number","pow","onContextMenu","toUpperCase","show","allContextMenu","x","y","stopPropagation","onContextMenuOnlyCopy","copyText","onlyCopyContextMenu","onContextMenuPasteSelect","pasteSelectContextMenu","loadAssetsWhitelist","getWalletById","assetsInfoWhitelist","w"],"sourceRoot":"webpack:///","x_google_ignoreList":[]} \ No newline at end of file +{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/api/models/wallet.model.ts","./src/app/api/services/backend.service.ts","./src/app/api/services/wrap-info.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/layouts/full-layout/full-layout.component.ts","./src/app/layouts/full-layout/full-layout.module.ts","./src/app/layouts/sidebar/sidebar.component.ts","./src/app/layouts/sidebar/sidebar.module.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.component.ts","./src/app/layouts/with-sidebar-layout/with-sidebar-layout.module.ts","./src/app/pages/add-wallet/add-wallet.component.ts","./src/app/pages/assign-alias/assign-alias.component.ts","./src/app/pages/auth/auth-routing.module.ts","./src/app/pages/auth/auth.module.ts","./src/app/pages/auth/login/login.component.ts","./src/app/pages/auth/no-wallet/no-wallet.component.ts","./src/app/pages/create-wallet/create-wallet.component.ts","./src/app/pages/deeplink/deeplink.component.ts","./src/app/pages/deeplink/deeplink.module.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.component.ts","./src/app/pages/deeplink/modals/deeplink-modal/deeplink-modal.module.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.component.ts","./src/app/pages/deeplink/modals/sync-modal/sync-modal.module.ts","./src/app/pages/edit-alias/edit-alias.component.ts","./src/app/pages/export-import/export-import.component.ts","./src/app/pages/open-wallet/open-wallet.component.ts","./src/app/pages/pages-routing.module.ts","./src/app/pages/pages.module.ts","./src/app/pages/paths.ts","./src/app/pages/restore-wallet/restore-wallet.component.ts","./src/app/pages/seed-phrase/seed-phrase.component.ts","./src/app/pages/settings/settings.component.ts","./src/app/pages/transfer-alias/transfer-alias.component.ts","./src/app/pages/wallet-details/wallet-details.component.ts","./src/app/pages/wallet/tabs/assets/assets.component.ts","./src/app/pages/wallet/tabs/history/history.component.ts","./src/app/pages/wallet/tabs/receive/receive.component.ts","./src/app/pages/wallet/tabs/send/modals/send-details-modal/send-details-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/send-modal/send-modal.component.ts","./src/app/pages/wallet/tabs/send/modals/wallet-modals.module.ts","./src/app/pages/wallet/tabs/send/send.component.ts","./src/app/pages/wallet/tabs/staking/staking.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.ts","./src/app/pages/wallet/tabs/swap/modals/swap-confirm-master-password/swap-confirm-master-password.component.html","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/confirm-swap/confirm-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/create-swap/create-swap.component.html","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component.html","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.ts","./src/app/pages/wallet/tabs/swap/pages/swap/swap.component.html","./src/app/pages/wallet/tabs/swap/parts/guards/swap-proposal-hex.guard.ts","./src/app/pages/wallet/wallet-routing.module.ts","./src/app/pages/wallet/wallet.module.ts","./src/app/pages/wallet/wallet/modals/add-custom-token/add-custom-token.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.component.ts","./src/app/pages/wallet/wallet/modals/export-history-modal/export-history-modal.module.ts","./src/app/pages/wallet/wallet/modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component.ts","./src/app/pages/wallet/wallet/modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component.html","./src/app/pages/wallet/wallet/modals/success-sweep-bare-outs/success-sweep-bare-outs.component.ts","./src/app/pages/wallet/wallet/modals/success-sweep-bare-outs/success-sweep-bare-outs.component.html","./src/app/pages/wallet/wallet/wallet.component.ts","./src/app/parts/components/back-button/back-button.component.ts","./src/app/parts/components/back-button/back-button.component.html","./src/app/parts/components/breadcrumbs/breadcrumbs.component.ts","./src/app/parts/components/breadcrumbs/breadcrumbs.component.html","./src/app/parts/components/checkbox.component.ts","./src/app/parts/components/copy-button.component.ts","./src/app/parts/components/loader.component.ts","./src/app/parts/components/register-context-templates.component.ts","./src/app/parts/components/staking-switch.component.ts","./src/app/parts/components/switch.component.ts","./src/app/parts/components/synchronization-status.component.ts","./src/app/parts/components/transaction-details.component.ts","./src/app/parts/components/wallet-card.component.ts","./src/app/parts/data/assets.ts","./src/app/parts/data/constants.ts","./src/app/parts/data/scale-items.ts","./src/app/parts/directives/autofocus.directive.ts","./src/app/parts/directives/back-button/back-button.directive.ts","./src/app/parts/directives/back-button/back-button.module.ts","./src/app/parts/directives/default-img/default-img.directive.ts","./src/app/parts/directives/default-img/default-img.module.ts","./src/app/parts/directives/default-img/index.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.directive.ts","./src/app/parts/directives/disable-price-fetch/disable-price-fetch.module.ts","./src/app/parts/directives/disable-price-fetch/index.ts","./src/app/parts/directives/index.ts","./src/app/parts/directives/input-disable-selection/index.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.directive.ts","./src/app/parts/directives/input-disable-selection/input-disable-selection.module.ts","./src/app/parts/directives/input-validate/index.ts","./src/app/parts/directives/input-validate/input-validate.directive.ts","./src/app/parts/directives/input-validate/input-validate.module.ts","./src/app/parts/directives/lower-case.directive.ts","./src/app/parts/directives/tooltip/index.ts","./src/app/parts/directives/tooltip/tooltip.directive.ts","./src/app/parts/directives/tooltip/tooltip.module.ts","./src/app/parts/functions/hasOwnProperty.ts","./src/app/parts/modals/asset-details/asset-details.component.ts","./src/app/parts/modals/asset-details/asset-details.module.ts","./src/app/parts/modals/confirm-modal/confirm-modal.component.ts","./src/app/parts/modals/confirm-modal/confirm-modal.module.ts","./src/app/parts/modals/modal-container/modal-container.component.ts","./src/app/parts/modals/open-wallet-modal/open-wallet-modal.component.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages-pipe.module.ts","./src/app/parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe.ts","./src/app/parts/pipes/contract-status-messages-pipe/index.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left-pipe.module.ts","./src/app/parts/pipes/contract-time-left-pipe/contract-time-left.pipe.ts","./src/app/parts/pipes/contract-time-left-pipe/index.ts","./src/app/parts/pipes/get-asset-info.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages-pipe.module.ts","./src/app/parts/pipes/history-type-messages-pipe/history-type-messages.pipe.ts","./src/app/parts/pipes/history-type-messages-pipe/index.ts","./src/app/parts/pipes/index.ts","./src/app/parts/pipes/int-to-money-pipe/index.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money-pipe.module.ts","./src/app/parts/pipes/int-to-money-pipe/int-to-money.pipe.ts","./src/app/parts/pipes/is-available-alias-name-pipe/index.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name-pipe.module.ts","./src/app/parts/pipes/is-available-alias-name-pipe/is-available-alias-name.pipe.ts","./src/app/parts/pipes/money-to-int-pipe/index.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int-pipe.module.ts","./src/app/parts/pipes/money-to-int-pipe/money-to-int.pipe.ts","./src/app/parts/pipes/safe-html-pipe/index.ts","./src/app/parts/pipes/safe-html-pipe/safe-html-pipe.module.ts","./src/app/parts/pipes/safe-html-pipe/safe-html.pipe.ts","./src/app/parts/pipes/short-string.pipe.ts","./src/app/parts/services/back.service.ts","./src/app/parts/services/modal.service.ts","./src/app/parts/services/variables.service.ts","./src/app/parts/services/wallets.service.ts","./src/app/parts/services/zano-loaders.service.ts","./src/app/parts/utils/MIME-types.ts","./src/app/parts/utils/generate-random-string.ts","./src/app/parts/utils/zano-errors.ts","./src/app/parts/utils/zano-validators.ts","./src/app/store/pagination/pagination.service.ts","./src/app/store/pagination/pagination.store.ts","./src/app/store/store.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Contracts } from './contract.model';\nimport { Transaction, Transactions } from './transaction.model';\nimport { BigNumber } from 'bignumber.js';\nimport { AssetBalance, AssetInfo, AssetBalances, AssetsInfoWhitelist } from './assets.model';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { MIXIN } from '@parts/data/constants';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\nexport const defaultSendMoneyParams: SendMoneyParams = {\n asset_id: zanoAssetInfo.asset_id,\n wallet_id: undefined,\n address: '',\n amount: undefined,\n comment: '',\n mixin: MIXIN,\n fee: '0.01',\n hide: false,\n};\n\nexport class Wallet {\n open_from_exist: boolean;\n updated = false;\n wallet_id: number;\n name: string;\n pass: string;\n path: string;\n address: string;\n\n private _balances$ = new BehaviorSubject(undefined);\n\n private _assetsInfoWhitelist: AssetsInfoWhitelist = { global_whitelist: [], local_whitelist: [], own_assets: [] };\n\n set assetsInfoWhitelist(value: AssetsInfoWhitelist) {\n this._assetsInfoWhitelist = value;\n }\n\n get allAssetsInfoWhitelist(): AssetInfo[] {\n const { global_whitelist = [], local_whitelist= [], own_assets= [] } = this._assetsInfoWhitelist;\n return [\n ...global_whitelist,\n ...local_whitelist,\n ...own_assets\n ];\n }\n\n get isEmptyAssetsInfoWhitelist(): boolean {\n return !this.allAssetsInfoWhitelist.length;\n }\n\n get allAssetsInfo(): AssetInfo[] {\n return [\n zanoAssetInfo,\n ...this.allAssetsInfoWhitelist\n ];\n }\n\n get balances$(): Observable {\n return this._balances$.asObservable();\n }\n\n get balances(): AssetBalances | null | undefined {\n return this._balances$.value;\n }\n\n set balances(value: AssetBalances | null | undefined) {\n const sortedAssets: AssetBalances = [];\n if (value) {\n const assets = [...value];\n const indexZano = assets.findIndex(({ asset_info: { ticker } }) => ticker === 'ZANO');\n if (indexZano >= 0) {\n const assetZano = assets.splice(indexZano, 1)[0];\n sortedAssets.push(assetZano);\n }\n const sortedAssetsByBalance = assets.sort((a, b) => new BigNumber(b.total).minus(new BigNumber(a.total)).toNumber());\n sortedAssets.push(...sortedAssetsByBalance);\n }\n this._balances$.next(sortedAssets);\n }\n\n get isEmptyBalances(): boolean {\n if (!this.balances) {\n return true;\n }\n\n for (const asset of this.balances) {\n const value = asset.total || 0;\n const isEmpty = !Boolean(new BigNumber(value).toNumber());\n\n if (!isEmpty) {\n return false;\n }\n }\n\n return true;\n }\n\n mined_total: number;\n tracking_hey: string;\n is_auditable: boolean;\n is_watch_only: boolean;\n exclude_mining_txs: boolean;\n alias_available: boolean;\n has_bare_unspent_outputs = false;\n\n alias?: Partial;\n wakeAlias?: boolean;\n staking?: boolean;\n new_messages?: number;\n new_contracts?: number;\n\n history: Transactions = [];\n total_history_item?: number;\n pages = [];\n totalPages: number;\n currentPage: number;\n excluded_history: Transactions = [];\n\n contracts: Contracts = [];\n\n progress?: number;\n loaded?: boolean;\n restore?: boolean;\n\n sendMoneyParams: SendMoneyParams | null = null;\n\n constructor(id, name, pass, path, address, balances, unlocked_balance, mined = 0, tracking = '') {\n this.wallet_id = id;\n this.name = name;\n this.pass = pass;\n this.path = path;\n this.address = address;\n this.balances = balances;\n this.mined_total = mined;\n this.tracking_hey = tracking;\n\n this.alias = {};\n this.staking = false;\n this.new_messages = 0;\n this.new_contracts = 0;\n\n this.history = [];\n this.excluded_history = [];\n\n this.progress = 0;\n this.loaded = false;\n }\n\n getBalanceByTicker(searchTicker: string): AssetBalance | undefined {\n return this.balances?.find(({ asset_info: { ticker } }) => ticker === searchTicker);\n }\n\n getMoneyEquivalentForZano(equivalent): string {\n const balanceZano = this.getBalanceByTicker('ZANO')?.total || 0;\n return new BigNumber(balanceZano).multipliedBy(equivalent).toFixed(0);\n }\n\n prepareHistory(items: Transaction[]): void {\n for (let i = 0; i < items.length; i++) {\n if (\n (items[i].tx_type === 7 && items[i].subtransfers?.find(({ is_income }) => is_income)) ||\n (items[i].tx_type === 11 && items[i].subtransfers?.find(({ is_income }) => is_income))\n ) {\n let exists = false;\n for (let j = 0; j < this.excluded_history.length; j++) {\n if (this.excluded_history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.excluded_history[j].height !== items[i].height) {\n this.excluded_history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n this.excluded_history.push(items[i]);\n }\n } else {\n let exists = false;\n for (let j = 0; j < this.history.length; j++) {\n if (this.history[j].tx_hash === items[i].tx_hash) {\n exists = true;\n if (this.history[j].height !== items[i].height) {\n this.history[j] = items[i];\n }\n break;\n }\n }\n if (!exists) {\n if (this.history.length > 0 && items[i].timestamp >= this.history[0].timestamp) {\n this.history.unshift(items[i]);\n } else {\n this.history.push(items[i]);\n }\n }\n }\n }\n }\n\n removeFromHistory(hash: string): void {\n for (let i = 0; i < this.history.length; i++) {\n if (this.history[i].tx_hash === hash) {\n this.history.splice(i, 1);\n break;\n }\n }\n }\n}\n\nexport interface DeeplinkParams {\n action?: 'send' | string;\n address?: string;\n amount?: string;\n my_deposit?: string;\n seller_deposit?: string;\n seller_address?: string;\n hide_sender?: string;\n hide_receiver?: string;\n title?: string;\n description?: string;\n category?: string;\n price?: string;\n img_url?: string;\n url?: string;\n contact?: string;\n comment?: string;\n comments?: string;\n mixins?: string;\n fee?: string;\n}\n\nexport interface PushOffer {\n wallet_id: number;\n od: {\n ap: string;\n at: string;\n cat: string;\n cnt: string;\n com: string;\n do: string;\n et: number;\n fee: BigNumber;\n lci: string;\n lco: string;\n ot: number;\n pt: string;\n t: string;\n url: string;\n };\n}\n\nexport interface ResponseGetWalletInfo {\n address: string;\n balances: AssetBalances;\n is_auditable: boolean;\n is_watch_only: boolean;\n mined_total: number;\n path: string;\n view_sec_key: string;\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport JSONBigNumber from 'json-bignumber';\nimport { BigNumber } from 'bignumber.js';\nimport { ResponseGetWalletInfo } from '../models/wallet.model';\nimport {\n AssetInfo,\n ParamsAddCustomAssetId,\n ParamsRemoveCustomAssetId,\n ResponseAddCustomAssetId,\n ResponseRemoveCustomAssetId,\n} from '@api/models/assets.model';\nimport { Alias } from '@api/models/alias.model';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\nexport interface PramsObj {\n [key: string]: any;\n}\n\nexport type PramsArray = (string | PramsObj)[];\n\nexport type Params = string | PramsObj | PramsArray;\n\nexport enum ParamsType {\n array = 'array',\n object = 'object',\n string = 'string',\n}\n\nexport const getParamsType = (value: Params): ParamsType | null => {\n if (!value) {\n return null;\n }\n const array: false | ParamsType.array = Array.isArray(value) && ParamsType.array;\n const object: false | ParamsType = Object.keys(ParamsType).includes(typeof value) && ParamsType[typeof value];\n return array || object || null;\n};\n\nexport type ConvertersObjectForTypes = {\n [key in ParamsType]: (value: Params) => string | string[];\n};\n\nexport const convertersObjectForTypes: ConvertersObjectForTypes = {\n [ParamsType.string]: (value: string): string => value,\n [ParamsType.object]: (value: PramsObj): string => JSONBigNumber.stringify(value),\n [ParamsType.array]: (value: PramsArray): string[] =>\n value.map(v => {\n return typeof v === ParamsType.string ? (v as string) : JSONBigNumber.stringify(v);\n }),\n};\n\nexport const convertorParams = (value: Params): string | string[] => {\n const type: ParamsType = getParamsType(value);\n return convertersObjectForTypes[type](value);\n};\n\nexport interface ResponseAsyncTransfer {\n error_code: string | 'NOT_ENOUGH_MONEY' | 'OK';\n response_data: {\n success: boolean;\n tx_blob_size: number;\n tx_hash: string;\n };\n}\n\nexport interface AsyncCommandResults {\n job_id: number;\n response: ResponseAsyncTransfer;\n}\n\nexport enum StatusCurrentActionState {\n STATE_SENDING = 'STATE_SENDING',\n STATE_SENT_SUCCESS = 'STATE_SENT_SUCCESS',\n STATE_SEND_FAILED = 'STATE_SEND_FAILED',\n STATE_INITIALIZING = 'STATE_INITIALIZING',\n STATE_DOWNLOADING_CONSENSUS = 'STATE_DOWNLOADING_CONSENSUS',\n STATE_MAKING_TUNNEL_A = 'STATE_MAKING_TUNNEL_A',\n STATE_MAKING_TUNNEL_B = 'STATE_MAKING_TUNNEL_B',\n STATE_CREATING_STREAM = 'STATE_CREATING_STREAM',\n STATE_FAILED = 'STATE_FAILED',\n STATE_SUCCESS = 'STATE_SUCCESS',\n}\n\nexport interface CurrentActionState {\n status: StatusCurrentActionState;\n wallet_id: number;\n}\n\nexport enum Commands {\n money_transfer_cancel = 'money_transfer_cancel',\n handle_deeplink_click = 'handle_deeplink_click',\n money_transfer = 'money_transfer',\n update_daemon_state = 'update_daemon_state',\n wallet_sync_progress = 'wallet_sync_progress',\n update_wallet_status = 'update_wallet_status',\n quit_requested = 'quit_requested',\n on_core_event = 'on_core_event',\n get_wallet_info = 'get_wallet_info',\n remove_custom_asset_id = 'remove_custom_asset_id',\n add_custom_asset_id = 'add_custom_asset_id',\n get_options = 'get_options',\n handle_current_action_state = 'handle_current_action_state',\n set_enable_tor = 'set_enable_tor',\n dispatch_async_call_result = 'dispatch_async_call_result',\n async_call = 'async_call',\n set_log_level = 'set_log_level',\n get_network_type = 'get_network_type',\n get_version = 'get_version',\n get_tx_pool_info = 'get_tx_pool_info',\n get_recent_transfers = 'get_recent_transfers',\n resync_wallet = 'resync_wallet',\n get_alias_coast = 'get_alias_coast',\n get_alias_info_by_address = 'get_alias_info_by_address',\n get_alias_info_by_name = 'get_alias_info_by_name',\n get_all_aliases = 'get_all_aliases',\n request_alias_update = 'request_alias_update',\n webkit_launched_script = 'webkit_launched_script',\n on_request_quit = 'on_request_quit',\n get_app_data = 'get_app_data',\n store_app_data = 'store_app_data',\n get_secure_app_data = 'get_secure_app_data',\n set_master_password = 'set_master_password',\n check_master_password = 'check_master_password',\n get_is_disabled_notifications = 'get_is_disabled_notifications',\n set_is_disabled_notifications = 'set_is_disabled_notifications',\n store_secure_app_data = 'store_secure_app_data',\n drop_secure_app_data = 'drop_secure_app_data',\n have_secure_app_data = 'have_secure_app_data',\n show_savefile_dialog = 'show_savefile_dialog',\n show_openfile_dialog = 'show_openfile_dialog',\n store_to_file = 'store_to_file',\n load_from_file = 'load_from_file',\n push_offer = 'push_offer',\n generate_wallet = 'generate_wallet',\n export_wallet_history = 'export_wallet_history',\n open_wallet = 'open_wallet',\n close_wallet = 'close_wallet',\n get_smart_wallet_info = 'get_smart_wallet_info',\n get_seed_phrase_info = 'get_seed_phrase_info',\n run_wallet = 'run_wallet',\n is_valid_restore_wallet_text = 'is_valid_restore_wallet_text',\n restore_wallet = 'restore_wallet',\n transfer = 'transfer',\n validate_address = 'validate_address',\n set_clipboard = 'set_clipboard',\n get_clipboard = 'get_clipboard',\n create_proposal = 'create_proposal',\n get_contracts = 'get_contracts',\n accept_proposal = 'accept_proposal',\n release_contract = 'release_contract',\n request_cancel_contract = 'request_cancel_contract',\n accept_cancel_contract = 'accept_cancel_contract',\n get_mining_history = 'get_mining_history',\n start_pos_mining = 'start_pos_mining',\n stop_pos_mining = 'stop_pos_mining',\n open_url_in_browser = 'open_url_in_browser',\n start_backend = 'start_backend',\n get_default_fee = 'get_default_fee',\n set_localization_strings = 'set_localization_strings',\n request_alias_registration = 'request_alias_registration',\n call_rpc = 'call_rpc',\n call_wallet_rpc = 'call_wallet_rpc',\n setup_jwt_wallet_rpc = 'setup_jwt_wallet_rpc',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BackendService {\n dispatchAsyncCallResult$ = new Subject();\n\n handleCurrentActionState$ = new Subject();\n\n backendObject: any;\n\n backendLoaded = false;\n\n constructor(\n private translate: TranslateService,\n private variablesService: VariablesService,\n private modalService: ModalService,\n private moneyToIntPipe: MoneyToIntPipe,\n private ngZone: NgZone\n ) {}\n\n static bigNumberParser(key, val): any {\n if (\n val.constructor.name === 'BigNumber' &&\n ['balance', 'unlocked_balance', 'amount', 'fee', 'b_fee', 'to_pay', 'a_pledge', 'b_pledge', 'coast', 'a'].indexOf(key) === -1\n ) {\n return val.toNumber();\n }\n if (key === 'rcv' || key === 'spn') {\n for (let i = 0; i < val.length; i++) {\n val[i] = new BigNumber(val[i]);\n }\n }\n return val;\n }\n\n static Debug(type, message): void {\n switch (type) {\n case 0:\n console.error(message);\n break;\n case 1:\n console.warn(message);\n break;\n case 2:\n console.log(message);\n break;\n default:\n console.log(message);\n break;\n }\n }\n\n eventSubscribe(command: Commands, callback): void {\n if (command === Commands.on_core_event) {\n this.backendObject[command].connect(callback);\n } else {\n this.backendObject[command].connect(str => {\n callback(JSONBigNumber.parse(str, BackendService.bigNumberParser));\n });\n }\n }\n\n initService(): Observable {\n return new Observable(observer => {\n if (!this.backendLoaded) {\n this.backendLoaded = true;\n (window).QWebChannel((window).qt.webChannelTransport, channel => {\n this.backendObject = channel.objects.mediator_object;\n observer.next('backendObject loaded');\n });\n } else {\n observer.error('backend not loaded');\n if (!this.backendObject) {\n observer.error('backendObject not loaded');\n }\n }\n });\n }\n\n webkitLaunchedScript(): void {\n this.runCommand(Commands.webkit_launched_script);\n }\n\n quitRequest(): void {\n this.runCommand(Commands.on_request_quit);\n }\n\n getAppData(callback): void {\n this.runCommand(Commands.get_app_data, {}, callback);\n }\n\n storeAppData(callback?): void {\n if (this.variablesService.wallets.length > 0) {\n this.variablesService.settings.wallets = [];\n this.variablesService.wallets.forEach(wallet => {\n this.variablesService.settings.wallets.push({\n name: wallet.name,\n path: wallet.path,\n });\n });\n }\n this.runCommand(Commands.store_app_data, this.variablesService.settings, callback);\n }\n\n getSecureAppData(pass, callback): void {\n this.runCommand(Commands.get_secure_app_data, pass, callback);\n }\n\n setMasterPassword(pass, callback): void {\n this.runCommand(Commands.set_master_password, pass, callback);\n }\n\n checkMasterPassword(pass, callback): void {\n this.runCommand(Commands.check_master_password, pass, callback);\n }\n\n getIsDisabledNotifications(callback): void {\n const params = {};\n this.runCommand(Commands.get_is_disabled_notifications, params, callback);\n }\n\n setIsDisabledNotifications(state): void {\n this.runCommand(Commands.set_is_disabled_notifications, state);\n }\n\n storeSecureAppData(callback?): void {\n const wallets = [];\n const contacts = [];\n this.variablesService.wallets.forEach(wallet => {\n wallets.push({\n name: wallet.name,\n pass: wallet.pass,\n path: wallet.path,\n staking: wallet.staking,\n });\n });\n this.variablesService.contacts.forEach(contact => {\n contacts.push({\n name: contact.name,\n address: contact.address,\n notes: contact.notes,\n });\n });\n const data = { wallets: wallets, contacts: contacts };\n this.backendObject[Commands.store_secure_app_data](JSON.stringify(data), this.variablesService.appPass, dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.store_secure_app_data);\n });\n }\n\n dropSecureAppData(callback?): void {\n this.backendObject[Commands.drop_secure_app_data](dataStore => {\n this.backendCallback(dataStore, {}, callback, Commands.drop_secure_app_data);\n });\n }\n\n haveSecureAppData(callback): void {\n this.runCommand(Commands.have_secure_app_data, {}, callback);\n }\n\n saveFileDialog(caption, fileMask, default_path, callback): void {\n const dir = default_path ? default_path : '/';\n const params = {\n caption: caption,\n filemask: fileMask,\n default_dir: dir,\n };\n this.runCommand(Commands.show_savefile_dialog, params, callback);\n }\n\n openFileDialog(caption, filemask, default_path, callback): void {\n const default_dir = default_path ? default_path : '/';\n const params = {\n caption,\n filemask,\n default_dir,\n };\n this.runCommand(Commands.show_openfile_dialog, params, callback);\n }\n\n storeFile(path, buff): void {\n this.backendObject[Commands.store_to_file](path, buff);\n }\n\n loadFile(path, callback): void {\n this.runCommand(Commands.load_from_file, path, callback);\n }\n\n push_offer(params, callback): void {\n this.runCommand(Commands.push_offer, params, callback);\n }\n\n generateWallet(path, pass, callback): void {\n const params = {\n path: path,\n pass: pass,\n };\n this.runCommand(Commands.generate_wallet, params, callback);\n }\n\n exportWalletHistory(json_string): void {\n this.runCommand(Commands.export_wallet_history, json_string);\n }\n\n openWallet(path, pass, txs_to_return, testEmpty, callback): void {\n const params = {\n path: path,\n pass: pass,\n txs_to_return: txs_to_return,\n };\n params['testEmpty'] = !!testEmpty;\n this.runCommand(Commands.open_wallet, params, callback);\n }\n\n closeWallet(wallet_id, callback?): void {\n this.runCommand(Commands.close_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n getSmartWalletInfo({ wallet_id, seed_password }, callback): void {\n this.runCommand(Commands.get_smart_wallet_info, { wallet_id: +wallet_id, seed_password }, callback);\n }\n\n getSeedPhraseInfo(param, callback): void {\n this.runCommand(Commands.get_seed_phrase_info, param, callback);\n }\n\n runWallet(wallet_id, callback?): void {\n this.runCommand(Commands.run_wallet, { wallet_id: +wallet_id }, callback);\n }\n\n isValidRestoreWalletText(param, callback): void {\n this.runCommand(Commands.is_valid_restore_wallet_text, param, callback);\n }\n\n restoreWallet(path, pass, seed_phrase, seed_pass, callback): void {\n const params = {\n seed_phrase: seed_phrase,\n path: path,\n pass: pass,\n seed_pass,\n };\n this.runCommand(Commands.restore_wallet, params, callback);\n }\n\n sendMoney({ wallet_id, address, amount, fee, mixin, comment, hide, asset_id }: SendMoneyParams, callback): void {\n const params = {\n wallet_id,\n destinations: [\n {\n address,\n amount,\n ...(asset_id && { asset_id }),\n },\n ],\n mixin_count: mixin ?? 0,\n lock_time: 0,\n fee: this.moneyToIntPipe.transform(fee),\n comment: comment,\n push_payer: !hide,\n };\n\n this.asyncCall(Commands.transfer, params, callback);\n }\n\n setupJwtWalletRpc(value: { zanoCompation: boolean; secret: string }): void {\n const { secret } = value;\n\n this.runCommand(Commands.setup_jwt_wallet_rpc, secret, () => {\n this.variablesService.settings.zanoCompanionForm = value;\n this.storeAppData();\n });\n }\n\n validateAddress(address, callback): void {\n this.runCommand(Commands.validate_address, address, callback);\n }\n\n setClipboard(str, callback?): void {\n this.runCommand(Commands.set_clipboard, str, callback);\n }\n\n getClipboard(callback): void {\n this.runCommand(Commands.get_clipboard, {}, callback);\n }\n\n createProposal(wallet_id, title, comment, a_addr, b_addr, to_pay, a_pledge, b_pledge, time, payment_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n details: {\n t: title,\n c: comment,\n a_addr: a_addr,\n b_addr: b_addr,\n to_pay: this.moneyToIntPipe.transform(to_pay),\n a_pledge: this.moneyToIntPipe.transform(a_pledge),\n b_pledge: this.moneyToIntPipe.transform(b_pledge),\n },\n payment_id: payment_id,\n expiration_period: parseInt(time, 10) * 60 * 60,\n fee: this.variablesService.default_fee_big,\n b_fee: this.variablesService.default_fee_big,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.create_proposal, params, callback);\n }\n\n getContracts(wallet_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.get_contracts, params, callback);\n }\n\n acceptProposal(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_proposal, params, callback);\n }\n\n releaseProposal(wallet_id, contract_id, release_type, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n release_type: release_type, // \"normal\" or \"burn\"\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.release_contract, params, callback);\n }\n\n requestCancelContract(wallet_id, contract_id, time, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n fee: this.variablesService.default_fee_big,\n expiration_period: parseInt(time, 10) * 60 * 60,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.request_cancel_contract, params, callback);\n }\n\n acceptCancelContract(wallet_id, contract_id, callback): void {\n const params = {\n wallet_id: parseInt(wallet_id, 10),\n contract_id: contract_id,\n };\n BackendService.Debug(1, params);\n this.runCommand(Commands.accept_cancel_contract, params, callback);\n }\n\n getMiningHistory(wallet_id, callback): void {\n this.runCommand(Commands.get_mining_history, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n startPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.start_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n stopPosMining(wallet_id, callback?): void {\n this.runCommand(Commands.stop_pos_mining, { wallet_id: parseInt(wallet_id, 10) }, callback);\n }\n\n openUrlInBrowser(url, callback?): void {\n this.runCommand(Commands.open_url_in_browser, url, callback);\n }\n\n start_backend(node, host, port, callback): void {\n const params = {\n configure_for_remote_node: node,\n remote_node_host: host,\n remote_node_port: parseInt(port, 10),\n };\n this.runCommand(Commands.start_backend, params, callback);\n }\n\n getDefaultFee(callback): void {\n this.runCommand(Commands.get_default_fee, {}, callback);\n }\n\n setBackendLocalization(stringsArray, title, callback?): void {\n const params = {\n strings: stringsArray,\n language_title: title,\n };\n this.runCommand(Commands.set_localization_strings, params, callback);\n }\n\n registerAlias(wallet_id, alias, address, fee, comment, reward, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias,\n address: address,\n tracking_key: '',\n comment: comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n reward: this.moneyToIntPipe.transform(reward),\n };\n this.runCommand(Commands.request_alias_registration, params, callback);\n }\n\n updateAlias(wallet_id, alias, fee, callback): void {\n const params = {\n wallet_id: wallet_id,\n alias: {\n alias: alias.name.replace('@', ''),\n address: alias.address,\n tracking_key: '',\n comment: alias.comment,\n },\n fee: this.moneyToIntPipe.transform(fee),\n };\n this.runCommand(Commands.request_alias_update, params, callback);\n }\n\n getAllAliases(callback): void {\n this.runCommand(Commands.get_all_aliases, {}, callback);\n }\n\n getAliasInfoByName(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_name, value, callback);\n }\n\n getAliasByAddress(value, callback): void {\n this.runCommand(Commands.get_alias_info_by_address, value, callback);\n }\n\n getAliasCoast(alias, callback): void {\n this.runCommand(Commands.get_alias_coast, { v: alias }, callback);\n }\n\n resyncWallet(id): void {\n this.runCommand(Commands.resync_wallet, { wallet_id: id });\n }\n\n getWalletAlias(address): Partial {\n if (address !== null && this.variablesService.daemon_state === 2) {\n if (this.variablesService.aliasesChecked[address] == null) {\n this.variablesService.aliasesChecked[address] = {};\n if (this.variablesService.aliases.length) {\n for (let i = 0, length = this.variablesService.aliases.length; i < length; i++) {\n if (i in this.variablesService.aliases && this.variablesService.aliases[i]['address'] === address) {\n this.variablesService.aliasesChecked[address]['name'] = this.variablesService.aliases[i].name;\n this.variablesService.aliasesChecked[address]['address'] = this.variablesService.aliases[i].address;\n this.variablesService.aliasesChecked[address]['comment'] = this.variablesService.aliases[i].comment;\n return this.variablesService.aliasesChecked[address];\n }\n }\n }\n this.getAliasByAddress(address, (status, data) => {\n if (status) {\n this.variablesService.aliasesChecked[data.address]['name'] = '@' + data.alias;\n this.variablesService.aliasesChecked[data.address]['address'] = data.address;\n this.variablesService.aliasesChecked[data.address]['comment'] = data.comment;\n }\n });\n }\n return this.variablesService.aliasesChecked[address];\n }\n return {};\n }\n\n getContactAlias(): void {\n if (this.variablesService.contacts.length > 0 && this.variablesService.daemon_state === 2) {\n this.variablesService.contacts.map(contact => {\n this.getAliasByAddress(contact.address, (status, data) => {\n if (status) {\n if (data.alias) {\n contact.alias = '@' + data.alias;\n }\n } else {\n contact.alias = null;\n }\n });\n });\n }\n }\n\n getRecentTransfers(id, offset, count, exclude_mining_txs, callback): void {\n const params = {\n wallet_id: id,\n offset: offset,\n count: count,\n exclude_mining_txs: exclude_mining_txs,\n };\n this.runCommand(Commands.get_recent_transfers, params, callback);\n }\n\n getPoolInfo(callback): void {\n this.runCommand(Commands.get_tx_pool_info, {}, callback);\n }\n\n getVersion(callback): void {\n this.runCommand(Commands.get_version, {}, (status, version, errorVersion) => {\n this.runCommand(Commands.get_network_type, {}, (status_network, type, errorType) => {\n callback(version, type, errorVersion ?? errorType);\n });\n });\n }\n\n setLogLevel(level): void {\n this.runCommand(Commands.set_log_level, { v: level });\n }\n\n asyncCall(command: string, params: PramsObj, callback?: (job_id?: number) => void | any): void {\n this.runCommand(Commands.async_call, [command, params], (status, { job_id }: { job_id: number }) => {\n callback(job_id);\n });\n }\n\n dispatchAsyncCallResult(): void {\n this.backendObject[Commands.dispatch_async_call_result].connect((job_id: string, json_resp: string) => {\n const asyncCommandResults: AsyncCommandResults = {\n job_id: +job_id,\n response: JSON.parse(json_resp),\n };\n this.ngZone.run(() => this.dispatchAsyncCallResult$.next(asyncCommandResults));\n });\n }\n\n handleCurrentActionState(): void {\n this.backendObject[Commands.handle_current_action_state].connect((response: string) => {\n const currentActionState: CurrentActionState = JSON.parse(response);\n this.ngZone.run(() => this.handleCurrentActionState$.next(currentActionState));\n });\n }\n\n setEnableTor(value: boolean): void {\n this.runCommand(Commands.set_enable_tor, <{ v: boolean }>{\n v: value,\n });\n }\n\n getOptions(): any {\n this.runCommand(\n Commands.get_options,\n {},\n (\n status,\n {\n disable_price_fetch,\n use_debug_mode,\n rpc_port,\n }: { disable_price_fetch: boolean; use_debug_mode: boolean; rpc_port: number }\n ) => {\n this.variablesService.disable_price_fetch$.next(disable_price_fetch);\n this.variablesService.use_debug_mode$.next(use_debug_mode);\n this.variablesService.rpc_port = rpc_port;\n }\n );\n }\n\n addCustomAssetId(\n params: ParamsAddCustomAssetId,\n callback: (\n status: boolean,\n response_data: ResponseAddCustomAssetId,\n res_error_code?: {\n error_code: 'FAILED' | string;\n response_data: {\n asset_descriptor: Partial;\n status: 'FAILED' | string;\n };\n }\n ) => void\n ): void {\n this.runCommand(Commands.add_custom_asset_id, params, callback);\n }\n\n removeCustomAssetId(\n params: ParamsRemoveCustomAssetId,\n callback?: (status: boolean, response_data: ResponseRemoveCustomAssetId) => void\n ): void {\n this.runCommand(Commands.remove_custom_asset_id, params, callback);\n }\n\n getWalletInfo(wallet_id, callback?: (status: boolean, response_data: ResponseGetWalletInfo) => void): void {\n this.runCommand(Commands.get_wallet_info, { wallet_id }, callback);\n }\n\n // Use for call rpc-api https://docs.zano.org/docs/build/rpc-api\n call_rpc(params: Partial, callback?: (status: boolean, response_data: any) => void): void {\n this.runCommand(Commands.call_rpc, params, callback);\n }\n\n call_wallet_rpc(params: [wallet_id: number, params: Partial], callback?: (status: boolean, response_data: any) => void): void {\n this.runCommand(Commands.call_wallet_rpc, params, callback);\n }\n\n private informerRun(error: string, params, command: string): void {\n let error_translate = '';\n switch (error) {\n case 'NOT_ENOUGH_MONEY':\n error_translate = 'ERRORS.NOT_ENOUGH_MONEY';\n // error_translate = 'ERRORS.NO_MONEY'; maybe that one?\n if (command === 'cancel_offer') {\n error_translate = this.translate.instant('ERRORS.NO_MONEY_REMOVE_OFFER', {\n fee: this.variablesService.default_fee,\n currency: this.variablesService.defaultCurrency,\n });\n }\n break;\n case 'CORE_BUSY':\n error_translate = 'ERRORS.CORE_BUSY';\n break;\n case 'BUSY':\n error_translate = 'ERRORS.DAEMON_BUSY';\n break;\n case 'OVERFLOW':\n if (command !== 'get_all_aliases') {\n error_translate = '';\n }\n break;\n case 'NOT_ENOUGH_OUTPUTS_FOR_MIXING':\n error_translate = 'ERRORS.NOT_ENOUGH_OUTPUTS_TO_MIX';\n break;\n case 'TX_IS_TOO_BIG':\n error_translate = 'ERRORS.TRANSACTION_IS_TO_BIG';\n break;\n case 'DISCONNECTED':\n error_translate = 'ERRORS.TRANSFER_ATTEMPT';\n break;\n case 'ACCESS_DENIED':\n error_translate = 'ERRORS.ACCESS_DENIED';\n break;\n case 'TX_REJECTED':\n // if (command === 'request_alias_registration') {\n // error_translate = 'INFORMER.ALIAS_IN_REGISTER';\n // } else {\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n // }\n break;\n case 'INTERNAL_ERROR':\n error_translate = 'ERRORS.TRANSACTION_ERROR';\n break;\n case 'BAD_ARG':\n error_translate = 'ERRORS.BAD_ARG';\n break;\n case 'WALLET_WRONG_ID':\n error_translate = 'ERRORS.WALLET_WRONG_ID';\n break;\n case 'WALLET_WATCH_ONLY_NOT_SUPPORTED':\n error_translate = 'ERRORS.WALLET_WATCH_ONLY_NOT_SUPPORTED';\n break;\n // case 'WRONG_PASSWORD':\n // params = JSON.parse(params);\n // if (!params.testEmpty) {\n // error_translate = 'ERRORS.WRONG_PASSWORD';\n // }\n // break;\n case 'FILE_RESTORED':\n if (command === 'open_wallet') {\n error_translate = 'ERRORS.FILE_RESTORED';\n }\n break;\n case 'FILE_NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'NOT_FOUND':\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\n params = JSON.parse(params);\n if (params.path) {\n error_translate += ': ' + params.path;\n }\n }\n break;\n case 'CANCELED':\n case '':\n break;\n case 'FAIL':\n if (\n command === 'create_proposal' ||\n command === 'accept_proposal' ||\n command === 'release_contract' ||\n command === 'request_cancel_contract' ||\n command === 'accept_cancel_contract'\n ) {\n error_translate = ' ';\n }\n break;\n case 'ALREADY_EXISTS':\n error_translate = 'ERRORS.FILE_EXIST';\n break;\n case 'FAILED':\n BackendService.Debug(0, `Error: (${error}) was triggered by command: ${command}`);\n break;\n default:\n error_translate = '';\n }\n if (error.indexOf('FAIL:failed to save file') > -1) {\n error_translate = 'ERRORS.FILE_NOT_SAVED';\n }\n if (error.indexOf('FAILED:failed to open binary wallet file for saving') > -1 && command === 'generate_wallet') {\n error_translate = '';\n }\n\n if (error_translate !== '') {\n this.modalService.prepareModal('error', error_translate);\n }\n }\n\n private commandDebug(command: Commands, params: Params, result: any): void {\n BackendService.Debug(2, '----------------- ' + command + ' -----------------');\n const debug = {\n _send_params: params,\n _result: result,\n };\n BackendService.Debug(2, debug);\n try {\n BackendService.Debug(2, JSONBigNumber.parse(result, BackendService.bigNumberParser));\n } catch (e) {\n BackendService.Debug(2, { response_data: result, error_code: 'OK' });\n }\n }\n\n private backendCallback(resultStr, params, callback, command: Commands): any {\n let Result = resultStr;\n if (command !== Commands.get_clipboard) {\n if (!resultStr || resultStr === '') {\n Result = {};\n } else {\n try {\n Result = JSONBigNumber.parse(resultStr, BackendService.bigNumberParser);\n } catch (e) {\n Result = { response_data: resultStr, error_code: 'OK' };\n }\n }\n } else {\n Result = {\n error_code: 'OK',\n response_data: Result,\n };\n }\n\n const core_busy = Result.error_code === 'CORE_BUSY';\n const Status = Result.error_code === 'OK' || Result.error_code === 'TRUE';\n\n if (!Status && Status !== undefined && Result.error_code !== undefined) {\n BackendService.Debug(1, 'API error for command: \"' + command + '\". Error code: ' + Result.error_code);\n }\n const data = typeof Result === 'object' && 'response_data' in Result ? Result.response_data : Result;\n\n let res_error_code = false;\n if (\n typeof Result === 'object' &&\n 'error_code' in Result &&\n Result.error_code !== 'OK' &&\n Result.error_code !== 'TRUE' &&\n Result.error_code !== 'FALSE' &&\n Result.error_code !== 'WRAP'\n ) {\n if (core_busy) {\n setTimeout(() => {\n // this is will avoid update data when user\n // on other wallet after CORE_BUSY (blink of data)\n if (command !== Commands.get_recent_transfers) {\n this.runCommand(command, params, callback);\n } else {\n const current_wallet_id = this.variablesService.currentWallet.wallet_id;\n if (current_wallet_id === params.wallet_id) {\n this.runCommand(command, params, callback);\n }\n }\n }, 50);\n } else {\n this.informerRun(Result.error_code, params, command);\n res_error_code = Result.error_code;\n }\n }\n\n if (!core_busy) {\n if (typeof callback === 'function') {\n callback(Status, data, res_error_code);\n } else {\n return data;\n }\n }\n }\n\n private runCommand(command: Commands, params?: Params, callback?): any {\n if (!this.backendObject) {\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = true;\n }\n\n const Action = this.backendObject[command];\n\n if (!Action) {\n BackendService.Debug(0, 'Run Command Error! Command \"' + command + '\" don\\'t found in backendObject');\n return;\n }\n\n const type: ParamsType = getParamsType(params);\n params = params && convertorParams(params);\n\n if (type === ParamsType.array) {\n Action(...(params as string[]), resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n return;\n }\n\n if (command === Commands.get_recent_transfers) {\n this.variablesService.get_recent_transfers = false;\n }\n Action(params, resultStr => {\n this.commandDebug(command, params, resultStr);\n return this.backendCallback(resultStr, params, callback, command);\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { WrapInfo } from '@api/models/wrap-info';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WrapInfoService {\n private httpClient = inject(HttpClient);\n\n getWrapInfo(): Observable {\n return this.httpClient.get('https://wrapped.zano.org/api2/get_wrap_info');\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [RouterModule.forRoot([], { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { BigNumber } from 'bignumber.js';\nimport { ModalService } from '@parts/services/modal.service';\nimport { StateKeys, Store } from '@store/store';\nimport { shareReplay, Subject, switchMap, take } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { paths, pathsChildrenAuth } from './pages/paths';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { ZanoLoadersService } from '@parts/services/zano-loaders.service';\n\n@Component({\n selector: 'app-root',\n template: `\n \n\n
\n

\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n

\n

\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n

\n

\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n

\n
\n
\n\n
\n

\n {{ zanoLoadersService.getMessage('fullScreen') | async | translate }}\n

\n
\n
\n\n \n\n \n `,\n})\nexport class AppComponent implements OnInit, OnDestroy {\n intervalUpdatePriceState;\n\n intervalUpdateContractsState;\n\n expMedTsEvent;\n\n onQuitRequest = false;\n\n firstOnlineState = false;\n\n translateUsed = false;\n\n needOpenWallets = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public translate: TranslateService,\n private http: HttpClient,\n private renderer: Renderer2,\n private backendService: BackendService,\n private router: Router,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private modalService: ModalService,\n private store: Store,\n private dialog: Dialog,\n public zanoLoadersService: ZanoLoadersService\n ) {\n translate.addLangs(['en', 'fr', 'de', 'it', 'pt']);\n translate.setDefaultLang('en');\n translate.use('en').subscribe({\n next: () => {\n this.translateUsed = true;\n },\n });\n }\n\n setBackendLocalization(): void {\n if (this.translateUsed) {\n const stringsArray = [\n this.translate.instant('BACKEND_LOCALIZATION.QUIT'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_RECEIVED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_UNCONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_CONFIRMED'),\n this.translate.instant('BACKEND_LOCALIZATION.MINED'),\n this.translate.instant('BACKEND_LOCALIZATION.LOCKED'),\n this.translate.instant('BACKEND_LOCALIZATION.IS_MINIMIZE'),\n this.translate.instant('BACKEND_LOCALIZATION.RESTORE'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_SHOW'),\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_MINIMIZE'),\n ];\n this.backendService.setBackendLocalization(stringsArray, this.variablesService.settings.language);\n } else {\n console.warn('wait translate use');\n setTimeout(() => {\n this.setBackendLocalization();\n }, 10000);\n }\n }\n\n ngOnInit(): void {\n this.backendService.initService().subscribe({\n next: initMessage => {\n console.log('Init message: ', initMessage);\n this.backendService.webkitLaunchedScript();\n\n this.backendService.start_backend(false, '127.0.0.1', 11512, (st2, dd2) => {\n console.log(st2, dd2);\n });\n\n this.backendService.eventSubscribe(Commands.quit_requested, async () => {\n if (this.onQuitRequest) {\n return;\n }\n\n // await this.ngZone.run(async () => {\n // await this.router.navigate(['/']);\n // });\n\n this.dialog.closeAll();\n this.needOpenWallets = [];\n this.variablesService.daemon_state = 5;\n\n const saveFunction = (): void => {\n this.backendService.storeAppData((): void => {\n const recursionCloseWallets = (): void => {\n if (this.variablesService.wallets.length > 0) {\n const lastIndex = this.variablesService.wallets.length - 1;\n this.backendService.closeWallet(this.variablesService.wallets[lastIndex].wallet_id, () => {\n this.variablesService.wallets.splice(lastIndex, 1);\n recursionCloseWallets();\n });\n } else {\n this.ngZone.run(() => {\n this.backendService.quitRequest();\n });\n }\n };\n recursionCloseWallets();\n });\n };\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData(saveFunction);\n } else {\n saveFunction();\n }\n\n this.onQuitRequest = true;\n });\n\n this.backendService.eventSubscribe(Commands.update_wallet_status, data => {\n console.log('----------------- update_wallet_status -----------------');\n console.log(data);\n\n const wallet_state = data.wallet_state;\n const is_mining = data.is_mining;\n const wallet = this.variablesService.getWallet(data.wallet_id);\n // 1-synch, 2-ready, 3 - error\n if (wallet) {\n this.ngZone.run(() => {\n wallet.loaded = false;\n wallet.staking = is_mining;\n if (wallet_state === 2) {\n // ready\n wallet.loaded = true;\n }\n if (wallet_state === 3) {\n // error\n // wallet.error = true;\n }\n wallet.balances = data.balances;\n wallet.mined_total = data.minied_total;\n wallet.alias_available = data.is_alias_operations_available;\n wallet.has_bare_unspent_outputs = data.has_bare_unspent_outputs;\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.wallet_sync_progress, data => {\n console.log('----------------- wallet_sync_progress -----------------');\n console.log(data);\n const wallet = this.variablesService.getWallet(data.wallet_id);\n if (wallet) {\n this.ngZone.run(() => {\n wallet.progress = data.progress < 0 ? 0 : data.progress > 100 ? 100 : data.progress;\n if (!this.variablesService.sync_started) {\n this.variablesService.sync_started = true;\n this.variablesService.sync_wallets[wallet.wallet_id] = true;\n }\n this.addToStore(wallet, true); // subscribe on data\n if (wallet.progress === 0) {\n wallet.loaded = false;\n } else if (wallet.progress === 100) {\n wallet.loaded = true;\n this.addToStore(wallet, false);\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[wallet.wallet_id] = false;\n }\n });\n }\n });\n\n this.backendService.eventSubscribe(Commands.update_daemon_state, data => {\n console.log('----------------- update_daemon_state -----------------');\n console.log('DAEMON:' + data.daemon_network_state);\n console.log(data);\n // this.variablesService.exp_med_ts = data['expiration_median_timestamp'] + 600 + 1;\n this.variablesService.setExpMedTs(data['expiration_median_timestamp'] + 600 + 1);\n this.variablesService.net_time_delta_median = data.net_time_delta_median;\n this.variablesService.last_build_available = data.last_build_available;\n this.variablesService.last_build_displaymode = data.last_build_displaymode;\n this.variablesService.setHeightApp(data.height);\n this.variablesService.setHeightMax(data.max_net_seen_height);\n\n this.variablesService.setDownloadedBytes(data.downloaded_bytes);\n this.variablesService.setTotalBytes(data.download_total_data_size);\n\n this.backendService.getContactAlias();\n this.ngZone.run(() => {\n this.variablesService.daemon_state = data['daemon_network_state'];\n if (data['daemon_network_state'] === 1) {\n const max = data['max_net_seen_height'] - data['synchronization_start_height'];\n const current = data.height - data['synchronization_start_height'];\n const return_val = Math.floor(((current * 100) / max) * 100) / 100;\n if (max === 0 || return_val < 0) {\n this.variablesService.sync.progress_value = 0;\n this.variablesService.sync.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.sync.progress_value = 100;\n this.variablesService.sync.progress_value_text = '99.99';\n } else {\n this.variablesService.sync.progress_value = return_val;\n this.variablesService.sync.progress_value_text = return_val.toFixed(2);\n }\n }\n\n if (data['daemon_network_state'] === 6) {\n const max = data['download_total_data_size'];\n const current = data['downloaded_bytes'];\n const return_val = Math.floor((current / max) * 100);\n if (max === 0 || return_val < 0) {\n this.variablesService.download.progress_value = 0;\n this.variablesService.download.progress_value_text = '0.00';\n } else if (return_val >= 100) {\n this.variablesService.download.progress_value = 100;\n this.variablesService.download.progress_value_text = '99.99';\n } else {\n this.variablesService.download.progress_value = return_val;\n this.variablesService.download.progress_value_text = return_val.toFixed(2);\n }\n }\n });\n if (!this.firstOnlineState && data['daemon_network_state'] === 2) {\n this.getAliases();\n this.backendService.getContactAlias();\n this.backendService.getDefaultFee((status_fee, data_fee) => {\n this.variablesService.default_fee_big = new BigNumber(data_fee);\n this.variablesService.default_fee = this.intToMoneyPipe.transform(data_fee);\n });\n this.firstOnlineState = true;\n }\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer, data => {\n console.log('----------------- money_transfer -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n\n const wallet = this.variablesService.getWallet(wallet_id);\n if (wallet) {\n if (wallet.history.length > 40) {\n wallet.history.splice(40, 1);\n }\n this.ngZone.run(() => {\n wallet.balances = data.balances;\n\n if (tr_info.tx_type === 6) {\n this.variablesService.setRefreshStacking(wallet_id);\n }\n\n let tr_exists = wallet.excluded_history.some(elem => elem.tx_hash === tr_info.tx_hash);\n tr_exists = !tr_exists ? wallet.history.some(elem => elem.tx_hash === tr_info.tx_hash) : tr_exists;\n\n if (wallet.currentPage === 1) {\n wallet.prepareHistory([tr_info]);\n if (wallet.restore) {\n wallet.total_history_item = wallet.history.length;\n wallet.totalPages = Math.ceil(wallet.total_history_item / this.variablesService.count);\n wallet.totalPages > this.variablesService.maxPages\n ? (wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (wallet.pages = new Array(wallet.totalPages).fill(1).map((value, index) => value + index));\n }\n }\n\n if (hasOwnProperty(tr_info, 'contract')) {\n const exp_med_ts = this.variablesService.exp_med_ts;\n const height_app = this.variablesService.height_app;\n const contract = tr_info.contract[0];\n if (tr_exists) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === contract.contract_id &&\n wallet.contracts[i].is_a === contract.is_a\n ) {\n wallet.contracts[i].cancel_expiration_time = contract.cancel_expiration_time;\n wallet.contracts[i].expiration_time = contract.expiration_time;\n wallet.contracts[i].height = contract.height;\n wallet.contracts[i].timestamp = contract.timestamp;\n break;\n }\n }\n // $rootScope.getContractsRecount();\n return;\n }\n\n if (contract.state === 1 && contract.expiration_time < exp_med_ts) {\n contract.state = 110;\n } else if (contract.state === 5 && contract.cancel_expiration_time < exp_med_ts) {\n contract.state = 130;\n } else if (contract.state === 1) {\n const searchResult2 = this.variablesService.settings.notViewedContracts.find(\n elem =>\n elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult2) {\n if (searchResult2.time === contract.expiration_time) {\n contract.state = 110;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 2 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 201;\n } else if (contract.state === 2) {\n const searchResult3 = this.variablesService.settings.viewedContracts.some(\n elem =>\n elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult3) {\n contract.state = 120;\n }\n } else if (contract.state === 5) {\n const searchResult4 = this.variablesService.settings.notViewedContracts.find(\n elem =>\n elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id\n );\n if (searchResult4) {\n if (searchResult4.time === contract.cancel_expiration_time) {\n contract.state = 130;\n } else {\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\n if (\n this.variablesService.settings.notViewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.notViewedContracts.splice(j, 1);\n break;\n }\n }\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\n if (\n this.variablesService.settings.viewedContracts[j].contract_id ===\n contract.contract_id &&\n this.variablesService.settings.viewedContracts[j].is_a === contract.is_a\n ) {\n this.variablesService.settings.viewedContracts.splice(j, 1);\n break;\n }\n }\n }\n }\n } else if (contract.state === 6 && (contract.height === 0 || height_app - contract.height < 10)) {\n contract.state = 601;\n }\n\n const searchResult = this.variablesService.settings.viewedContracts.some(\n elem =>\n elem.state === contract.state &&\n elem.is_a === contract.is_a &&\n elem.contract_id === contract.contract_id\n );\n contract.is_new = !searchResult;\n\n let findContract = false;\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === contract.contract_id &&\n wallet.contracts[i].is_a === contract.is_a\n ) {\n for (const prop in contract) {\n if (hasOwnProperty(contract, prop)) {\n wallet.contracts[i][prop] = contract[prop];\n }\n }\n findContract = true;\n break;\n }\n }\n if (findContract === false) {\n wallet.contracts.push(contract);\n }\n // wallet.recountNewContracts();\n }\n });\n }\n });\n\n this.backendService.backendObject[Commands.handle_deeplink_click].connect(data => {\n console.log('----------------- handle_deeplink_click -----------------');\n console.log(data);\n this.ngZone.run(() => {\n if (data) {\n this.variablesService.deeplink$.next(data);\n }\n });\n });\n\n this.backendService.eventSubscribe(Commands.money_transfer_cancel, data => {\n console.log('----------------- money_transfer_cancel -----------------');\n console.log(data);\n\n if (!data.ti) {\n return;\n }\n\n const wallet_id = data.wallet_id;\n const tr_info = data.ti;\n const wallet = this.variablesService.getWallet(wallet_id);\n\n if (wallet) {\n if (hasOwnProperty(tr_info, 'contract')) {\n for (let i = 0; i < wallet.contracts.length; i++) {\n if (\n wallet.contracts[i].contract_id === tr_info.contract[0].contract_id &&\n wallet.contracts[i].is_a === tr_info.contract[0].is_a\n ) {\n if (wallet.contracts[i].state === 1 || wallet.contracts[i].state === 110) {\n wallet.contracts[i].is_new = true;\n wallet.contracts[i].state = 140;\n // wallet.recountNewContracts();\n }\n break;\n }\n }\n }\n\n wallet.removeFromHistory(tr_info.tx_hash);\n\n let error_tr = '';\n switch (tr_info.tx_type) {\n case 0:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NORMAL') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_TO') +\n ' ' +\n this.intToMoneyPipe.transform(tr_info.amount) +\n ' ' +\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_END');\n break;\n case 1:\n // this.translate.instant('ERRORS.TX_TYPE_PUSH_OFFER');\n break;\n case 2:\n // this.translate.instant('ERRORS.TX_TYPE_UPDATE_OFFER');\n break;\n case 3:\n // this.translate.instant('ERRORS.TX_TYPE_CANCEL_OFFER');\n break;\n case 4:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 5:\n error_tr =\n this.translate.instant('ERRORS.TX_TYPE_UPDATE_ALIAS') +\n '
' +\n tr_info.tx_hash +\n '
' +\n wallet.name +\n '
' +\n wallet.address +\n '
' +\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\n break;\n case 6:\n error_tr = this.translate.instant('ERRORS.TX_TYPE_COIN_BASE');\n break;\n }\n if (error_tr) {\n this.modalService.prepareModal('error', error_tr);\n }\n }\n });\n\n this.backendService.eventSubscribe(Commands.on_core_event, data => {\n console.log('----------------- on_core_event -----------------');\n console.log(data);\n\n data = JSON.parse(data);\n\n if (data.events != null) {\n for (let i = 0, length = data.events.length; i < length; i++) {\n switch (data.events[i].method) {\n case 'CORE_EVENT_BLOCK_ADDED':\n break;\n case 'CORE_EVENT_ADD_ALIAS':\n if (this.variablesService.aliasesChecked[data.events[i].details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.address]['name'] =\n '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.address]['address'] =\n data.events[i].details.address;\n this.variablesService.aliasesChecked[data.events[i].details.address]['comment'] =\n data.events[i].details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const newAlias = {\n name: '@' + data.events[i].details.alias,\n address: data.events[i].details.address,\n comment: data.events[i].details.comment,\n };\n this.variablesService.aliases = this.variablesService.aliases.concat(newAlias);\n this.variablesService.changeAliases();\n }\n break;\n case 'CORE_EVENT_UPDATE_ALIAS':\n for (const address in this.variablesService.aliasesChecked) {\n if (hasOwnProperty(this.variablesService.aliasesChecked, address)) {\n if (this.variablesService.aliasesChecked[address].name === '@' + data.events[i].details.alias) {\n if (\n this.variablesService.aliasesChecked[address].address !==\n data.events[i].details.details.address\n ) {\n delete this.variablesService.aliasesChecked[address]['name'];\n delete this.variablesService.aliasesChecked[address]['address'];\n delete this.variablesService.aliasesChecked[address]['comment'];\n } else {\n this.variablesService.aliasesChecked[address].comment =\n data.events[i].details.details.comment;\n }\n break;\n }\n }\n }\n if (this.variablesService.aliasesChecked[data.events[i].details.details.address] != null) {\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['name'] =\n '@' + data.events[i].details.alias;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['address'] =\n data.events[i].details.details.address;\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['comment'] =\n data.events[i].details.details.comment;\n }\n if (this.variablesService.enableAliasSearch) {\n const CurrentAlias = this.variablesService.aliases.find(\n element => element.name === '@' + data.events[i].details.alias\n );\n if (CurrentAlias) {\n CurrentAlias.address = data.events[i].details.details.address;\n CurrentAlias.comment = data.events[i].details.details.comment;\n }\n }\n this.variablesService.changeAliases();\n break;\n default:\n break;\n }\n }\n }\n });\n\n this.intervalUpdateContractsState = setInterval(() => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (\n contract.state === 201 &&\n contract.height !== 0 &&\n this.variablesService.height_app - contract.height >= 10\n ) {\n contract.state = 2;\n contract.is_new = true;\n console.warn('need check state in contracts');\n } else if (\n contract.state === 601 &&\n contract.height !== 0 &&\n this.variablesService.height_app - contract.height >= 10\n ) {\n contract.state = 6;\n contract.is_new = true;\n }\n });\n });\n }, 30000);\n\n this.expMedTsEvent = this.variablesService.getExpMedTsEvent.subscribe({\n next: (newTimestamp: number) => {\n this.variablesService.wallets.forEach(wallet => {\n wallet.contracts.forEach(contract => {\n if (contract.state === 1 && contract.expiration_time <= newTimestamp) {\n contract.state = 110;\n contract.is_new = true;\n } else if (contract.state === 5 && contract.cancel_expiration_time <= newTimestamp) {\n contract.state = 130;\n contract.is_new = true;\n }\n });\n });\n },\n });\n\n this.backendService.getAppData((status, data) => {\n if (data && Object.keys(data).length > 0) {\n for (const key in data) {\n if (hasOwnProperty(data, key) && hasOwnProperty(this.variablesService.settings, key)) {\n this.variablesService.settings[key] = data[key];\n }\n }\n // TODO: Delete this line after return appUseTor\n this.variablesService.settings.appUseTor = false;\n if (\n hasOwnProperty(this.variablesService.settings, 'scale') &&\n ['8px', '10px', '12px', '14px'].indexOf(this.variablesService.settings.scale) !== -1\n ) {\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n } else {\n this.variablesService.settings.scale = '10px';\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale);\n }\n }\n this.translate.use(this.variablesService.settings.language);\n this.setBackendLocalization();\n\n this.backendService.setLogLevel(this.variablesService.settings.appLog);\n this.backendService.setEnableTor(this.variablesService.settings.appUseTor);\n\n if (!this.variablesService.settings.wallets || this.variablesService.settings.wallets.length === 0) {\n return this.router.navigate([`${paths.auth}/${pathsChildrenAuth.noWallet}`]).then();\n }\n\n if (this.router.url !== '/login') {\n this.backendService.haveSecureAppData(statusPass => {\n if (statusPass) {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n } else {\n if (Object.keys(data).length !== 0) {\n this.needOpenWallets = JSON.parse(JSON.stringify(this.variablesService.settings.wallets));\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/login'], {\n queryParams: { type: 'reg' },\n });\n });\n }\n }\n });\n }\n });\n\n this.backendService.dispatchAsyncCallResult();\n\n this.backendService.handleCurrentActionState();\n\n this.getVersion();\n\n setTimeout(() => {\n this.backendService.getOptions();\n this.getInfo();\n }, 10 * 1000);\n },\n error: error => {\n console.log(error);\n },\n });\n\n this.variablesService.disable_price_fetch$.pipe(takeUntil(this.destroy$)).subscribe({\n next: disable_price_fetch => {\n const updateTime = 10 * 60 * 1000;\n if (!disable_price_fetch) {\n this.updateMoneyEquivalent();\n this.intervalUpdatePriceState = setInterval(() => {\n this.updateMoneyEquivalent();\n }, updateTime);\n } else {\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n if (this.intervalUpdateContractsState) {\n clearInterval(this.intervalUpdateContractsState);\n }\n if (this.intervalUpdatePriceState) {\n clearInterval(this.intervalUpdatePriceState);\n }\n this.expMedTsEvent.unsubscribe();\n }\n\n updateMoneyEquivalent(): void {\n this.http\n .get('https://explorer.zano.org/api/price?asset=zano')\n .pipe(take(1))\n .subscribe({\n next: ({ data }: { data: { zano: { usd: number, usd_24h_change: number }, success: boolean} }): void => {\n this.variablesService.moneyEquivalent = data['zano']['usd'];\n this.variablesService.moneyEquivalentPercent = data['zano']['usd_24h_change'];\n },\n error: error => {\n console.warn('api.coingecko.com price error: ', error);\n },\n });\n }\n\n getAliases(): void {\n this.backendService.getAllAliases((status, data, error) => {\n console.warn(error);\n\n if (error === 'CORE_BUSY') {\n window.setTimeout(() => {\n this.getAliases();\n }, 10000);\n } else if (error === 'OVERFLOW') {\n this.variablesService.aliases = [];\n this.variablesService.enableAliasSearch = false;\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n } else {\n this.variablesService.enableAliasSearch = true;\n if (data.aliases && data.aliases.length) {\n this.variablesService.aliases = [];\n data.aliases.forEach(alias => {\n const newAlias = {\n name: '@' + alias.alias,\n address: alias.address,\n comment: alias.comment,\n };\n this.variablesService.aliases.push(newAlias);\n });\n this.variablesService.wallets.forEach(wallet => {\n wallet.alias = this.backendService.getWalletAlias(wallet.address);\n });\n this.variablesService.aliases = this.variablesService.aliases.sort((a, b) => {\n if (a.name.length > b.name.length) {\n return 1;\n }\n if (a.name.length < b.name.length) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n return 0;\n });\n this.variablesService.changeAliases();\n }\n }\n });\n }\n\n addToStore(wallet, boolean): void {\n const value = this.store.state.sync;\n if (value && value.length > 0) {\n const sync = value.filter(item => item.wallet_id === wallet.wallet_id);\n if (sync && sync.length > 0) {\n const result = value.map(item => {\n if (item.wallet_id === wallet.wallet_id) {\n return { sync: boolean, wallet_id: wallet.wallet_id };\n } else {\n return item;\n }\n });\n this.store.set(StateKeys.sync, result);\n } else {\n value.push({ sync: boolean, wallet_id: wallet.wallet_id });\n this.store.set(StateKeys.sync, value);\n }\n } else {\n this.store.set(StateKeys.sync, [{ sync: boolean, wallet_id: wallet.wallet_id }]);\n }\n }\n\n getVersion(): void {\n this.backendService.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n console.log('----------------- version -----------------', version);\n console.log('----------------- type -----------------', type);\n this.variablesService.testnet = type === 'testnet';\n this.variablesService.networkType = type;\n }\n });\n });\n }\n\n getInfo(): void {\n const updateTime = 60 * 1000;\n const getInfo = () => {\n const params = {\n jsonrpc: '2.0',\n method: 'getinfo',\n };\n\n this.backendService.call_rpc(params, (status, response_data) => {\n this.variablesService.info$.next(response_data.result);\n });\n };\n getInfo();\n setInterval(getInfo, updateTime);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { PagesModule } from './pages/pages.module';\nimport { CommonModule } from '@angular/common';\nimport { TranslateLoader, TranslateModule, TranslateModuleConfig } from '@ngx-translate/core';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ChartModule, HIGHCHARTS_MODULES } from 'angular-highcharts';\nimport * as highcharts from 'highcharts';\nimport exporting from 'highcharts/modules/exporting.src';\nimport { MoneyToIntPipeModule } from '@parts/pipes';\nimport { OpenWalletModalComponent } from '@parts/modals/open-wallet-modal/open-wallet-modal.component';\nimport { FlexModule } from '@angular/flex-layout';\nimport { FormsModule } from '@angular/forms';\nimport { RegisterContextTemplatesComponent } from '@parts/components/register-context-templates.component';\n\nexport function highchartsFactory(): any[] {\n highcharts.setOptions({\n time: {\n useUTC: false,\n },\n });\n\n return [exporting];\n}\n\nexport const provideHighchartsFactory = {\n provide: HIGHCHARTS_MODULES,\n useFactory: highchartsFactory,\n};\n\nexport function HttpLoaderFactory(httpClient: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\n}\n\nexport const translateModuleConfig: TranslateModuleConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n};\n\n@NgModule({\n declarations: [AppComponent, OpenWalletModalComponent],\n imports: [\n CommonModule,\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n TranslateModule.forRoot(translateModuleConfig),\n AppRoutingModule,\n PagesModule,\n ChartModule,\n MoneyToIntPipeModule,\n FlexModule,\n FormsModule,\n RegisterContextTemplatesComponent,\n ],\n providers: [provideHighchartsFactory],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-full-layout',\n template: `\n
\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class FullLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FullLayoutComponent } from './full-layout.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [FullLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule],\n exports: [FullLayoutComponent],\n})\nexport class FullLayoutModule {}\n","import { Component, NgZone, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { ZanoLoadersService } from '@parts/services/zano-loaders.service';\n\n@Component({\n selector: 'app-sidebar',\n template: `\n
\n
\n \"zano-logo\"\n
\n
\n\n
\n
\n \n
\n\n
\n \n \n {{ 'SIDEBAR.ADD_NEW' | translate }}\n \n\n \n \n {{ 'SIDEBAR.SETTINGS' | translate }}\n \n\n \n \n \n {{ 'SIDEBAR.LOG_OUT' | translate }}\n \n \n\n \n \n \n
\n
\n\n
\n \n
\n\n \n `,\n styles: [],\n})\nexport class SidebarComponent implements OnDestroy {\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private ngZone: NgZone,\n private dialog: Dialog,\n public zanoLoadersService: ZanoLoadersService\n ) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n goMainPage(): void {\n if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl === 'login') {\n this.ngZone.run(() => {\n this.router.navigate(['/'], { queryParams: { prevUrl: 'login' } });\n });\n } else {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n\n selectWallet(id: number): void {\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(id);\n this.router.navigate(['/wallet/assets']);\n });\n }\n\n drop(event: CdkDragDrop): void {\n moveItemInArray(this.variablesService.wallets, event.previousIndex, event.currentIndex);\n }\n\n beforeClose(wallet_id): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.closeWallet(wallet_id),\n });\n }\n\n closeWallet(wallet_id): void {\n this.walletsService.closeWallet(wallet_id);\n }\n\n logOut(): void {\n this.zanoLoadersService.open('fullScreen', 'SIDEBAR.SYNCHRONIZATION.LOGGING_OUT');\n\n setTimeout(() => {\n this.variablesService.stopCountdown();\n this.variablesService.appLogin = false;\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.router.navigate(['/login'], { queryParams: { type: 'auth' } }).then(() => {\n this.zanoLoadersService.close('fullScreen');\n });\n });\n }, 500);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarComponent } from './sidebar.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from '../../pages/deeplink/deeplink.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { WalletCardComponent } from '@parts/components/wallet-card.component';\n\n@NgModule({\n declarations: [SidebarComponent],\n imports: [\n CommonModule,\n RouterModule,\n DragDropModule,\n TooltipModule,\n TranslateModule,\n DisablePriceFetchModule,\n ConfirmModalModule,\n SynchronizationStatusComponent,\n DeeplinkModule,\n StakingSwitchComponent,\n FlexLayoutModule,\n IntToMoneyPipeModule,\n WalletCardComponent,\n ],\n exports: [SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-with-sidebar-layout',\n template: `\n \n\n
\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n display: flex;\n }\n `,\n ],\n})\nexport class WithSidebarLayoutComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WithSidebarLayoutComponent } from './with-sidebar-layout.component';\nimport { SidebarModule } from '../sidebar/sidebar.module';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterOutlet } from '@angular/router';\n\n@NgModule({\n declarations: [WithSidebarLayoutComponent],\n imports: [CommonModule, RouterOutlet, FlexLayoutModule, SidebarModule],\n exports: [WithSidebarLayoutComponent],\n})\nexport class WithSidebarLayoutModule {}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { filePathWalletValidator } from '@parts/utils/zano-validators';\nimport { ModalService } from '@parts/services/modal.service';\n\n@Component({\n selector: 'app-add-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n \n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n
\n
\n
\n
\n `,\n})\nexport class AddWalletComponent {\n private translateService = inject(TranslateService);\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private modalService: ModalService,\n private backendService: BackendService,\n private ngZone: NgZone\n ) {}\n\n openWallet(): void {\n const caption = this.translateService.instant('MAIN.CHOOSE_PATH');\n const default_path = this.variablesService.settings.default_path;\n this.backendService.openFileDialog(caption, '*', default_path, async (file_status, file_data) => {\n if (!file_status) {\n if (file_data['error_code'] !== 'CANCELED') {\n this.modalService.prepareModal('error', file_data['error_code']);\n }\n return;\n }\n const positionLastSlash = file_data.path.lastIndexOf('/');\n const new_default_path = file_data.path.slice(0, positionLastSlash);\n const error = filePathWalletValidator(file_data.path);\n\n if (error) {\n const text = this.translateService.instant(error.errorText);\n this.modalService.prepareModal('error', text);\n return;\n }\n\n this.variablesService.settings.default_path = new_default_path;\n await this.ngZone.run(async () => {\n await this.router.navigate(['/open'], {\n queryParams: { path: file_data.path },\n });\n });\n });\n }\n\n openInBrowser(): void {\n this.backendService.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport BigNumber from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-assign-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ASSIGN_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n {{ 'ASSIGN_ALIAS.NAME.LABEL' | translate }}\n \n
\n \n
\n \n 6 &&\n assignForm.get('name').value.length <= 25\n \"\n >\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_WRONG' | translate }}\n
\n
25\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_LENGTH' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_EXISTS' | translate }}\n
\n
\n
\n
\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n \n {{ 'ASSIGN_ALIAS.COMMENT.LABEL' | translate }}\n \n \n \n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n

\n {{\n 'ASSIGN_ALIAS.COST'\n | translate\n : {\n value: alias.price | intToMoney,\n currency: variablesService.defaultCurrency\n }\n }}\n

\n\n \n {{ 'ASSIGN_ALIAS.BUTTON_ASSIGN' | translate }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class AssignAliasComponent implements OnInit, OnDestroy {\n wallet: Wallet;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.ASSIGN_ALIAS',\n },\n ];\n\n fb = inject(FormBuilder);\n\n assignForm = this.fb.group({\n name: this.fb.nonNullable.control('', [Validators.required, Validators.pattern(regExpAliasName)]),\n comment: this.fb.nonNullable.control('', [Validators.maxLength(this.variablesService.maxCommentLength)]),\n });\n\n alias = {\n name: '',\n fee: this.variablesService.default_fee,\n price: new BigNumber(0),\n reward: '0',\n rewardOriginal: '0',\n comment: '',\n exists: false,\n };\n\n canRegister = false;\n\n notEnoughMoney = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private intToMoney: IntToMoneyPipe\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n this.assignForm\n .get('name')\n .valueChanges.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: value => {\n this.canRegister = false;\n this.alias.exists = false;\n const newName = value.toLowerCase().replace('@', '');\n if (\n !(this.assignForm.controls['name'].errors && hasOwnProperty(this.assignForm.controls['name'].errors, 'pattern')) &&\n newName.length >= 6 &&\n newName.length <= 25\n ) {\n this.backend.getAliasInfoByName(newName, status => {\n this.ngZone.run(() => {\n this.alias.exists = status;\n });\n if (!status) {\n this.alias.price = new BigNumber(0);\n this.backend.getAliasCoast(newName, (statusPrice, dataPrice) => {\n this.ngZone.run(() => {\n if (statusPrice) {\n this.alias.price = BigNumber.sum(dataPrice['coast'], this.variablesService.default_fee_big);\n }\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = this.alias.price.isGreaterThan(unlocked_balance);\n this.alias.reward = this.intToMoney.transform(this.alias.price, false);\n this.alias.rewardOriginal = this.intToMoney.transform(dataPrice['coast'], false);\n this.canRegister = !this.notEnoughMoney;\n });\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n });\n } else {\n this.notEnoughMoney = false;\n this.alias.reward = '0';\n this.alias.rewardOriginal = '0';\n }\n this.alias.name = newName;\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n assignAlias(): void {\n const alias = this.backend.getWalletAlias(this.wallet.address);\n if (hasOwnProperty(alias, 'name')) {\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.ONE_ALIAS');\n } else {\n this.alias.comment = this.assignForm.get('comment').value;\n this.backend.registerAlias(\n this.wallet.wallet_id,\n this.alias.name,\n this.wallet.address,\n this.alias.fee,\n this.alias.comment,\n this.alias.rewardOriginal,\n async status => {\n if (status) {\n this.wallet.wakeAlias = true;\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.REQUEST_ADD_REG');\n await this.ngZone.run(async () => {\n await this.router.navigate(['/wallet/']);\n });\n }\n }\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { paths, pathsChildrenAuth } from '../paths';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { FullLayoutComponent } from '../../layouts/full-layout/full-layout.component';\n\nconst routes: Routes = [\n {\n path: paths.auth,\n component: FullLayoutComponent,\n children: [\n {\n path: pathsChildrenAuth.noWallet,\n component: NoWalletComponent,\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AuthRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthRoutingModule } from './auth-routing.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { NoWalletComponent } from './no-wallet/no-wallet.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\n\n@NgModule({\n declarations: [NoWalletComponent],\n imports: [CommonModule, AuthRoutingModule, TranslateModule, FlexLayoutModule, SynchronizationStatusComponent],\n})\nexport class AuthModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\n\n@Component({\n selector: 'app-login',\n template: `\n
\n
\n \n\n
\n
\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\n
\n
\n
\n
\n\n \n {{ 'LOGIN.BUTTON_NEXT' | translate }}\n \n\n \n {{ 'LOGIN.BUTTON_SKIP' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'LOGIN.FORM_ERRORS.INVALID_PASS' | translate }}\n
\n
\n
\n
\n \n\n \n \n \n\n \n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n submitLoading$ = new BehaviorSubject(false);\n\n resetLoading$ = new BehaviorSubject(false);\n\n fb = inject(FormBuilder);\n\n regForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmation: this.fb.nonNullable.control(''),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmation')],\n }\n );\n\n authForm = this.fb.group({\n password: this.fb.nonNullable.control(''),\n });\n\n type = 'reg';\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.type) {\n this.type = params.type;\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onSubmitCreatePass(): void {\n if (this.regForm.valid) {\n this.variablesService.appPass = this.regForm.get('password').value; // the pass what was written in input of login form by user\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n } else {\n console.log(data['error_code']);\n }\n });\n }\n }\n\n onSkipCreatePass(): void {\n this.variablesService.appPass = '';\n this.ngZone.run(() => {\n this.variablesService.appLogin = true;\n this.router.navigate(['/']);\n });\n }\n\n resetJwtWalletRpc(): void {\n this.backend.setupJwtWalletRpc({ secret: '', zanoCompation: false });\n }\n\n dropSecureAppData(): void {\n this.resetLoading$.next(true);\n\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n this.resetJwtWalletRpc();\n this.backend.dropSecureAppData(() => {\n this.resetLoading$.next(false);\n this.onSkipCreatePass();\n });\n this.closeAllWallets();\n this.variablesService.contacts = [];\n }, 500);\n }\n\n onSubmitAuthPass(): void {\n this.submitLoading$.next(true);\n\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n if (this.authForm.valid) {\n this.variablesService.appPass = this.authForm.get('password').value;\n if (this.variablesService.dataIsLoaded) {\n this.backend.checkMasterPassword({ pass: this.variablesService.appPass }, status => {\n if (status) {\n this.variablesService.appLogin = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/'], {\n queryParams: { prevUrl: 'login' },\n });\n });\n } else {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n } else {\n this.getData(this.variablesService.appPass);\n }\n } else {\n this.submitLoading$.next(false);\n }\n }, 500);\n }\n\n getData(appPass): void {\n this.backend.getSecureAppData({ pass: appPass }, (status, data) => {\n if (!data.error_code) {\n this.setAuthPassError(null);\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.variablesService.appPass = appPass;\n const isEmptyObject = Object.keys(data).length === 0 && data.constructor === Object;\n\n if (this.variablesService.wallets.length > 0) {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/wallet/']);\n });\n return;\n }\n if (hasOwnProperty(data, 'contracts')) {\n if (Object.keys(data['contacts']).length !== 0) {\n data['contacts'].map(contact => {\n this.variablesService.contacts.push(contact);\n });\n }\n }\n if (hasOwnProperty(data, 'wallets')) {\n if (Object.keys(data['wallets']).length !== 0) {\n this.getWalletData(data['wallets']);\n } else {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/']);\n });\n }\n }\n if (!hasOwnProperty(data, 'wallets') && !hasOwnProperty(data, 'contracts')) {\n if (data.length !== 0 && !isEmptyObject) {\n this.getWalletData(data);\n } else {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.router.navigate(['/']);\n });\n }\n }\n\n if (this.variablesService.settings.zanoCompanionForm.zanoCompation) {\n this.backend.setupJwtWalletRpc(this.variablesService.settings.zanoCompanionForm);\n }\n }\n\n if (data.error_code === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.submitLoading$.next(false);\n this.setAuthPassError({ wrong_password: true });\n });\n }\n });\n }\n\n getWalletData(walletData): void {\n let openWallets = 0;\n let runWallets = 0;\n walletData.forEach((wallet, wallet_index) => {\n this.backend.openWallet(wallet.path, wallet.pass, this.variablesService.count, true, (open_status, open_data, open_error) => {\n if (open_status || open_error === 'FILE_RESTORED') {\n openWallets++;\n this.ngZone.run(() => {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n wallet.name,\n wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n if (wallet.staking) {\n new_wallet.staking = true;\n this.backend.startPosMining(new_wallet.wallet_id);\n } else {\n new_wallet.staking = false;\n }\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / this.variablesService.count);\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n if (this.variablesService.wallets.length === 1) {\n this.router.navigate(['/wallet/']);\n }\n });\n this.backend.runWallet(open_data.wallet_id, run_status => {\n if (run_status) {\n runWallets++;\n } else {\n if (wallet_index === walletData.length - 1 && runWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n } else {\n if (wallet_index === walletData.length - 1 && openWallets === 0) {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n }\n }\n });\n });\n this.submitLoading$.next(false);\n }\n\n closeAllWallets(): void {\n this.variablesService.wallets.forEach(({ wallet_id }) => this.closeWallet(wallet_id));\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n }\n\n closeWallet(wallet_id) {\n this.backend.closeWallet(wallet_id, () => {\n for (let i = this.variablesService.wallets.length - 1; i >= 0; i--) {\n this.variablesService.wallets.splice(i, 1);\n }\n });\n }\n\n private setAuthPassError(errors: ValidationErrors | null): void {\n this.authForm.controls['password'].setErrors(errors);\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { CREATE_NEW_WALLET_HELP_PAGE } from '@parts/data/constants';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { paths } from '../../paths';\n\n@Component({\n selector: 'app-no-wallet',\n template: `\n
\n
\n \n\n

{{ 'MAIN.TITLE' | translate }}

\n\n \n\n \n\n \n\n

\n \n {{ 'MAIN.HELP' | translate }}\n

\n
\n\n \n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class NoWalletComponent {\n paths = paths;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n openWallet(): void {\n this.backend.openFileDialog(\n this.translate.instant('MAIN.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n this.ngZone.run(() => {\n this.router\n .navigate(['/' + paths.open], {\n queryParams: { path: file_data.path },\n })\n .then();\n });\n } else {\n console.log(file_data['error_code']);\n }\n }\n );\n }\n\n openInBrowser(): void {\n this.backend.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-create-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
variablesService.maxWalletNameLength\" class=\"error\">\n {{ 'CREATE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\"\n [readonly]=\"createForm.controls.path.valid\"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'CREATE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n\n \n\n \n {{ 'CREATE_WALLET.BUTTON_SELECT' | translate }}\n \n\n \n \n
\n \n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class CreateWalletComponent {\n variablesService = inject(VariablesService);\n\n loading$ = new BehaviorSubject(false);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.CREATE_WALLET',\n },\n ];\n\n walletsService = inject(WalletsService);\n\n fb = inject(NonNullableFormBuilder);\n\n createForm = this.fb.group(\n {\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.control(''),\n path: this.fb.control('', Validators.required),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n private router = inject(Router);\n\n private backend = inject(BackendService);\n\n private modalService = inject(ModalService);\n\n private ngZone = inject(NgZone);\n\n private translate = inject(TranslateService);\n\n get savedWalletName(): string {\n const path = this.createForm.get('path').value;\n return path.substr(path.lastIndexOf('/') + 1, path.length - 1);\n }\n\n createWallet(): void {\n this.loading$.next(true);\n\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n const { path: selectedPath, password, name } = this.createForm.getRawValue();\n this.backend.generateWallet(selectedPath, password, async (generate_status, generate_data, errorCode) => {\n if (generate_status) {\n const { wallet_id } = generate_data;\n const { path, address, balance, unlocked_balance, mined_total, tracking_hey } = generate_data['wi'];\n const wallet = new Wallet(wallet_id, name, password, path, address, balance, unlocked_balance, mined_total, tracking_hey);\n wallet.alias = this.backend.getWalletAlias(address);\n wallet.total_history_item = 0;\n wallet.pages = new Array(1).fill(1);\n wallet.totalPages = 1;\n wallet.currentPage = 1;\n await this.backend.runWallet(wallet_id, async (run_status, run_data) => {\n if (run_status) {\n await this.ngZone.run(async () => {\n this.walletsService.addWallet(wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.variablesService.setCurrentWallet(wallet_id);\n this.loading$.next(false);\n await this.router.navigate(['/seed-phrase'], { queryParams: { wallet_id } });\n });\n } else {\n console.log(run_data['error_code']);\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n }\n });\n } else {\n const errorTranslationKey =\n errorCode === 'ALREADY_EXISTS' ? 'CREATE_WALLET.ERROR_CANNOT_SAVE_TOP' : 'CREATE_WALLET.ERROR_CANNOT_SAVE_SYSTEM';\n this.modalService.prepareModal('error', errorTranslationKey);\n\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n }\n });\n }, 500);\n }\n\n selectWalletLocation(): void {\n const caption = this.translate.instant('CREATE_WALLET.TITLE_SAVE');\n const fileMask = '*';\n const { default_path } = this.variablesService.settings;\n this.backend.saveFileDialog(caption, fileMask, default_path, (file_status, file_data) => {\n if (file_status) {\n this.ngZone.run(() => {\n const { path } = file_data;\n this.createForm.get('path').patchValue(path);\n this.variablesService.settings.default_path = path.substr(0, path.lastIndexOf('/'));\n });\n }\n });\n }\n}\n","import { delay, takeUntil } from 'rxjs/operators';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-deeplink',\n template: `\n \n \n\n \n \n `,\n styles: [],\n})\nexport class DeeplinkComponent implements OnInit, OnDestroy {\n deeplink$ = new BehaviorSubject(null);\n\n private destroy$ = new Subject();\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.variablesService.deeplink$.pipe(delay(200), takeUntil(this.destroy$)).subscribe({\n next: data => {\n this.deeplink$.next(data);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalModule } from './modals/deeplink-modal/deeplink-modal.module';\nimport { DeeplinkComponent } from './deeplink.component';\nimport { SyncModalModule } from './modals/sync-modal/sync-modal.module';\n\n@NgModule({\n declarations: [DeeplinkComponent],\n imports: [CommonModule, DeeplinkModalModule, SyncModalModule],\n exports: [DeeplinkComponent, DeeplinkModalModule, SyncModalModule],\n})\nexport class DeeplinkModule {}\n","import { Component, HostBinding, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DeeplinkParams, PushOffer, Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-deeplink-modal',\n template: `\n
\n 1 && !secondStep\">\n
\n
\n \n \n \n {{ item.name }}\n \n \n {{ item.name }}\n \n \n
\n
\n\n
\n \n \n
\n
\n\n \n

Creating a marketplace offer

\n
\n
\n
\n
\n {{ 'Offer title' | translate }}\n
\n
{{ actionData.title }}
\n
\n\n
\n\n
\n
\n {{ 'Description' | translate }}\n
\n
{{ actionData.description }}
\n
\n\n
\n\n
\n
\n {{ 'Category' | translate }}\n
\n
{{ actionData.category }}
\n
\n\n
\n\n
\n
\n {{ 'Price' | translate }}\n
\n
\n {{ actionData.price }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n\n
\n\n
\n
\n {{ 'Preview url' | translate }}\n
\n
{{ actionData.url || actionData.img_url }}
\n
\n\n
\n\n
\n
\n {{ 'Contacts' | translate }}\n
\n
{{ actionData.contact }}
\n
\n\n
\n\n
\n
\n {{ 'Comments' | translate }}\n
\n
\n {{ actionData.comment || actionData.comments }}\n
\n
\n\n
\n\n
\n
\n {{ 'Mixins' | translate }}\n
\n
{{ actionData.mixins || defaultMixin }}
\n
\n\n
\n\n
\n
\n {{ 'Transaction fee' | translate }}\n
\n
\n {{ actionData.price * (actionData.fee || this.variablesService.default_fee) }}\n {{ this.variablesService.defaultCurrency }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n\n \n

Operation successful

\n\n
\n
\n
\n
\n {{ 'Operation hash' | translate }}\n
\n \n {{ marketplaceConfirmHash }}\n \n
\n
\n
\n
\n\n
\n \n
\n \n\n \n

Your wallets have not loaded yet. Try this action a little later.

\n\n
\n \n
\n
\n \n `,\n styles: [],\n})\nexport class DeeplinkModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n secondStep = false;\n\n walletToPayId = 0;\n\n nextStepInterval;\n\n marketplaceModalShow = true;\n\n copyAnimation = false;\n\n marketplaceConfirmHash: any = null;\n\n actionData: DeeplinkParams = {};\n\n defaultMixin = MIXIN;\n\n walletsToPay: Array = [];\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private _router: Router,\n private backend: BackendService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.walletsToPay = this.variablesService.wallets.filter(wallet => !wallet.is_watch_only || !wallet.is_auditable);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n\n this.variablesService.deeplink$.pipe(takeUntil(this.destroy$)).subscribe({\n next: deeplink => {\n this.actionData = {};\n\n if (deeplink) {\n if (this.walletsToPay.length === 0) {\n this.canselAction();\n return;\n }\n this.actionData = this.parseDeeplink(deeplink);\n if (this.walletsToPay.length === 1) {\n this.walletToPayId = this.walletsToPay[0].wallet_id;\n const { daemon_state, sync_started } = this.variablesService;\n\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n } else {\n this.nextStepInterval = setInterval(() => {\n if (daemon_state === 2 && sync_started === false) {\n this.nextStep();\n clearInterval(this.nextStepInterval);\n }\n }, 1500);\n }\n }\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.variablesService.deeplink$.next(null);\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n parseDeeplink(deeplink): DeeplinkParams {\n const quotesRex = new RegExp(/'|\"|”|%E2%80%9D|%22/g);\n const spaceSymbolRex = new RegExp(/%20/g);\n const newObj = {};\n\n const newString = deeplink.substr(5); // delete zano:;\n newString.split('&').forEach(str => {\n const [key, value] = str.split('=');\n newObj[key] = value.replace(quotesRex, '').replace(spaceSymbolRex, ' ').trim();\n });\n return newObj;\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n this.actionData = {};\n this.secondStep = false;\n }\n\n marketplaceSend(): void {\n const offerObject: PushOffer = {\n wallet_id: this.walletToPayId,\n od: {\n ap: this.actionData.price || '',\n at: '1',\n cat: this.actionData.category || '',\n cnt: this.actionData.contact || '',\n com: this.actionData.comment || this.actionData.comments || '',\n do: this.actionData.description || '',\n et: 10,\n fee: new BigNumber('' + (+this.actionData.fee || +this.variablesService.default_fee) * 1000000000000),\n lci: '',\n lco: 'World Wide',\n ot: 1,\n pt: 'Credit cards, BTC, ZANO, ETH',\n t: this.actionData.title || '',\n url: this.actionData.url || this.actionData.img_url || '',\n },\n };\n this.backend.push_offer(offerObject, (status, data) => {\n this.ngZone.run(() => {\n if (data.success) {\n this.marketplaceModalShow = false;\n this.marketplaceConfirmHash = data.tx_hash;\n } else {\n this.canselAction();\n }\n });\n });\n }\n\n copyHash(): void {\n this.backend.setClipboard(this.marketplaceConfirmHash);\n this.copyAnimation = true;\n setTimeout(() => (this.copyAnimation = false), 2000);\n }\n\n nextStep(): void {\n if (this.actionData.action === 'send') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/send']).then();\n this.secondStep = false;\n } else if (this.actionData.action === 'escrow') {\n this.variablesService.sendActionData$.next(this.actionData);\n this.variablesService.deeplink$.next(null);\n this.variablesService.setCurrentWallet(this.walletToPayId);\n this._router.navigate(['/wallet/contracts/purchase']).then();\n this.secondStep = false;\n } else {\n this.secondStep = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DeeplinkModalComponent } from './deeplink-modal.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [DeeplinkModalComponent],\n imports: [CommonModule, NgSelectModule, FormsModule, FlexLayoutModule, TranslateModule],\n exports: [DeeplinkModalComponent],\n})\nexport class DeeplinkModalModule {}\n","import { Component, HostBinding, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\n\n@Component({\n selector: 'app-sync-modal',\n template: `\n
\n
\n

This action is not available during synchronization...

\n \n
\n
\n `,\n styles: [],\n})\nexport class SyncModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n constructor(private renderer: Renderer2, public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n canselAction(): void {\n this.variablesService.deeplink$.next(null);\n this.variablesService.sendActionData$.next({});\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SyncModalComponent } from './sync-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [SyncModalComponent],\n imports: [CommonModule, FlexLayoutModule],\n exports: [SyncModalComponent],\n})\nexport class SyncModalModule {}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BigNumber } from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-edit-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.EDIT_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n \n
0 && notEnoughMoney\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
= variablesService.maxCommentLength\" class=\"error\">\n {{ 'EDIT_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n\n
\n {{\n 'EDIT_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n variablesService.maxCommentLength\n \"\n class=\"primary big w-100\"\n type=\"button\"\n >\n {{ 'EDIT_ALIAS.BUTTON_EDIT' | translate }}\n \n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class EditAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.EDIT_ALIAS',\n },\n ];\n\n oldAliasComment: string;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n };\n this.oldAliasComment = alias.comment;\n const balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n updateAlias(): void {\n if (\n this.requestProcessing ||\n this.notEnoughMoney ||\n this.oldAliasComment === this.alias.comment ||\n this.alias.comment.length > this.variablesService.maxCommentLength\n ) {\n return;\n }\n this.requestProcessing = true;\n this.backend.updateAlias(this.wallet.wallet_id, this.alias, this.variablesService.default_fee, status => {\n if (status) {\n this.modalService.prepareModal('success', '');\n this.wallet.alias['comment'] = this.alias.comment;\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Contact } from '@api/models/contact.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Papa } from 'ngx-papaparse';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-export-import',\n template: `\n
\n
\n
\n \n

{{ 'CONTACTS.IMPORT_EXPORT' | translate }}

\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n\n .head {\n justify-content: flex-end;\n }\n\n .contacts-title {\n font-size: 1.7rem;\n margin-bottom: 1rem;\n }\n\n .btn-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0 -0.5rem;\n padding: 1.5rem 0;\n }\n\n .btn-wrapper button {\n flex: 1 0 auto;\n margin: 0 0.5rem;\n }\n `,\n ],\n})\nexport class ExportImportComponent {\n constructor(\n private variablesService: VariablesService,\n private backend: BackendService,\n private modalService: ModalService,\n private papa: Papa,\n private translate: TranslateService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n import(): void {\n this.backend.openFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (file_status) {\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\n if (this.isValid(file_data.path)) {\n this.backend.loadFile(file_data.path, (status, data) => {\n if (!status) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT_EMPTY');\n } else {\n const options = {\n header: true,\n };\n const elements = this.papa.parse(data, options);\n const isArray = Array.isArray(elements.data);\n if (isArray && elements.data.length !== 0 && elements.errors.length === 0) {\n if (this.variablesService.contacts.length === 0) {\n elements.data.forEach(element => {\n this.variablesService.contacts.push(element);\n });\n } else {\n elements.data.forEach(element => {\n const indexName = this.variablesService.contacts.findIndex(\n contact => contact.name === element.name\n );\n const indexAddress = this.variablesService.contacts.findIndex(\n contact => contact.address === element.address\n );\n if (indexAddress === -1 && indexName === -1) {\n this.variablesService.contacts.push(element);\n }\n if (indexName !== -1 && indexAddress === -1) {\n this.variablesService.contacts.push({\n name: `${(element.name as string) || '---'} ${\n this.translate.instant('CONTACTS.COPY') as string\n }`,\n address: element.address,\n notes: element.notes,\n });\n }\n });\n }\n this.backend.getContactAlias();\n this.ngZone.run(() => {\n this.router.navigate(['/contacts']);\n });\n }\n if (elements.errors.length > 0) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT');\n console.log(elements.errors);\n }\n }\n });\n } else {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_TYPE_FILE');\n }\n }\n });\n }\n\n export(): void {\n const contacts: Array = [];\n this.variablesService.contacts.forEach(contact => {\n delete contact.alias;\n contacts.push(contact);\n });\n\n this.backend.saveFileDialog('', '*', this.variablesService.settings.default_path, (file_status, file_data) => {\n if (this.variablesService.contacts.length === 0 && !(file_data.error_code === 'CANCELED')) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EMPTY_LIST');\n }\n const path = this.isValid(file_data.path) ? file_data.path : `${(file_data.path as string) || 'base-name'}.csv`;\n if (file_status && this.isValid(path) && this.variablesService.contacts.length > 0) {\n this.backend.storeFile(path, this.papa.unparse(contacts));\n }\n if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');\n }\n });\n }\n\n isValid(file): boolean {\n return file.endsWith('.csv');\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { notFileZanoWallet, wrongPassword } from '@parts/utils/zano-errors';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-open-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.OPEN_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n {{ 'OPEN_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ openWalletForm.controls.password.errors['wrongPassword'].errorText | translate }}\n
\n
\n
\n \n \n
\n \n \n\n \n `,\n})\nexport class OpenWalletComponent implements OnInit, OnDestroy {\n loading$ = new BehaviorSubject(false);\n\n fb = inject(NonNullableFormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.OPEN_WALLET',\n },\n ];\n\n openWalletForm = this.fb.group({\n name: this.fb.control('', [\n Validators.required,\n Validators.maxLength(this.variablesService.maxWalletNameLength),\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n password: this.fb.control('', [Validators.pattern(regExpPassword)]),\n filePath: this.fb.control('', Validators.required),\n });\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (!params.path) {\n return;\n }\n\n this.openWalletForm.controls.filePath.patchValue(params.path);\n\n let filename = '';\n if (params.path.lastIndexOf('.') === -1) {\n filename = params.path.substr(params.path.lastIndexOf('/') + 1);\n } else {\n filename = params.path.substr(\n params.path.lastIndexOf('/') + 1,\n params.path.lastIndexOf('.') - 1 - params.path.lastIndexOf('/')\n );\n }\n if (filename.length > 25) {\n filename = filename.slice(0, 25);\n }\n this.openWalletForm.controls.name.patchValue(filename);\n this.openWalletForm.controls.name.markAsTouched();\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n openWallet(): void {\n this.loading$.next(true);\n\n if (this.openWalletForm.valid) {\n // This delay is necessary for the loader to display, as the application freezes for a few seconds\n setTimeout(() => {\n const { filePath, password, name } = this.openWalletForm.getRawValue();\n const { count: txs_to_return } = this.variablesService;\n this.backend.openWallet(\n filePath,\n password,\n txs_to_return,\n false,\n (openStatus, openData, errorCode: 'WRONG_PASSWORD' | 'FILE_NOT_FOUND' | 'INVALID_FILE' | 'ALREADY_EXISTS' | string) => {\n console.log('openData', openData);\n if (errorCode === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.openWalletForm.controls.password.setErrors({\n wrongPassword,\n });\n this.loading$.next(false);\n });\n return;\n }\n\n let errorText = errorCode;\n\n if (errorCode === 'FILE_NOT_FOUND') {\n errorText = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n errorText += ':
' + filePath;\n errorText += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n }\n\n if (errorCode === 'INVALID_FILE') {\n errorText = this.translate.instant(notFileZanoWallet.errorText);\n }\n\n if (['INVALID_FILE', 'FILE_NOT_FOUND'].includes(errorCode)) {\n this.modalService.prepareModal('error', errorText);\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n return;\n }\n\n if (openStatus || errorCode === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === openData['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(openData.wallet_id, () => {\n this.ngZone.run(() => {\n this.loading$.next(false);\n this.router.navigate(['/']);\n });\n });\n } else {\n const new_wallet = new Wallet(\n openData.wallet_id,\n name,\n password,\n openData['wi'].path,\n openData['wi'].address,\n openData['wi'].balance,\n openData['wi'].unlocked_balance,\n openData['wi'].mined_total,\n openData['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.currentPage = 1;\n new_wallet.open_from_exist = true;\n new_wallet.exclude_mining_txs = false;\n new_wallet.is_auditable = openData['wi'].is_auditable;\n new_wallet.is_watch_only = openData['wi'].is_watch_only;\n if (openData.recent_history && openData.recent_history.history) {\n new_wallet.total_history_item = openData.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(\n openData.recent_history.total_history_items / this.variablesService.count\n );\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(openData.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(openData.wallet_id, (run_status, run_data) => {\n if (run_status) {\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(openData.wallet_id);\n this.router.navigate(['/wallet/']);\n this.loading$.next(false);\n });\n } else {\n console.log(run_data['error_code']);\n this.ngZone.run(() => {\n this.loading$.next(false);\n });\n }\n });\n }\n }\n }\n );\n }, 500);\n } else {\n this.loading$.next(false);\n }\n\n }\n}\n","import { RouterModule, Routes } from '@angular/router';\nimport { paths } from './paths';\nimport { WithSidebarLayoutComponent } from '../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { WalletDetailsComponent } from './wallet-details/wallet-details.component';\nimport { FullLayoutComponent } from '../layouts/full-layout/full-layout.component';\nimport { LoginComponent } from './auth/login/login.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { DeeplinkComponent } from './deeplink/deeplink.component';\nimport { NgModule } from '@angular/core';\nimport { ExportImportComponent } from './export-import/export-import.component';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\n\nconst routes: Routes = [\n {\n path: paths.addWallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AddWalletComponent,\n },\n ],\n },\n {\n path: paths.details,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletDetailsComponent,\n },\n ],\n },\n {\n path: paths.login,\n component: FullLayoutComponent,\n children: [\n {\n path: '',\n component: LoginComponent,\n },\n ],\n },\n {\n path: paths.create,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: CreateWalletComponent,\n },\n ],\n },\n {\n path: paths.open,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: OpenWalletComponent,\n },\n ],\n },\n {\n path: paths.restore,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: RestoreWalletComponent,\n },\n ],\n },\n {\n path: paths.seedPhrase,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SeedPhraseComponent,\n },\n ],\n },\n {\n path: paths.assignAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: AssignAliasComponent,\n },\n ],\n },\n {\n path: paths.editAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: EditAliasComponent,\n },\n ],\n },\n {\n path: paths.transferAlias,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: TransferAliasComponent,\n },\n ],\n },\n {\n path: paths.settings,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: SettingsComponent,\n },\n ],\n },\n {\n path: paths.import,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: ExportImportComponent,\n },\n ],\n },\n {\n path: paths.deeplink,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: DeeplinkComponent,\n },\n ],\n },\n {\n path: '',\n redirectTo: paths.addWallet,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthModule } from './auth/auth.module';\nimport { WalletModule } from './wallet/wallet.module';\nimport { PagesRoutingModule } from './pages-routing.module';\nimport { LoginComponent } from './auth/login/login.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { AddWalletComponent } from './add-wallet/add-wallet.component';\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\nimport { ModalContainerComponent } from '@parts/modals/modal-container/modal-container.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { DefaultImgModule, DisablePriceFetchModule } from '@parts/directives';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { DeeplinkModule } from './deeplink/deeplink.module';\nimport { FullLayoutModule } from '../layouts/full-layout/full-layout.module';\nimport { WithSidebarLayoutModule } from '../layouts/with-sidebar-layout/with-sidebar-layout.module';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\nimport {\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule, ShortStringPipe,\n} from '@parts/pipes';\nimport { InputValidateModule } from '@parts/directives/input-validate';\nimport { InputDisableSelectionModule } from '@parts/directives/input-disable-selection';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { SynchronizationStatusComponent } from '@parts/components/synchronization-status.component';\nimport { LoaderComponent } from '@parts/components/loader.component';\nimport { AutoFocusDirective } from '@parts/directives/autofocus.directive';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\n\n@NgModule({\n declarations: [\n LoginComponent,\n SettingsComponent,\n AddWalletComponent,\n CreateWalletComponent,\n OpenWalletComponent,\n RestoreWalletComponent,\n SeedPhraseComponent,\n AssignAliasComponent,\n EditAliasComponent,\n TransferAliasComponent,\n ModalContainerComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n PagesRoutingModule,\n AuthModule,\n WalletModule,\n NgSelectModule,\n TranslateModule.forChild(),\n FlexLayoutModule,\n DisablePriceFetchModule,\n TooltipModule,\n ConfirmModalModule,\n DeeplinkModule,\n FullLayoutModule,\n WithSidebarLayoutModule,\n OverlayModule,\n DefaultImgModule,\n ContractStatusMessagesPipeModule,\n ContractTimeLeftPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule,\n MoneyToIntPipeModule,\n SafeHtmlPipeModule,\n ShortStringPipe,\n InputValidateModule,\n InputDisableSelectionModule,\n CheckboxComponent,\n CopyButtonComponent,\n StakingSwitchComponent,\n SwitchComponent,\n SynchronizationStatusComponent,\n LoaderComponent,\n AutoFocusDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n ],\n})\nexport class PagesModule {}\n","export enum paths {\n auth = 'auth',\n addWallet = 'add-wallet',\n login = 'login',\n wallet = 'wallet',\n create = 'create',\n open = 'open',\n restore = 'restore',\n seedPhrase = 'seed-phrase',\n details = 'details',\n assignAlias = 'assign-alias',\n editAlias = 'edit-alias',\n transferAlias = 'transfer-alias',\n settings = 'settings',\n import = 'import',\n deeplink = 'deeplink',\n}\n\nexport enum pathsChildrenAuth {\n noWallet = 'no-wallet',\n}\n\nexport enum pathsChildrenWallet {\n assets = 'assets',\n send = 'send',\n receive = 'receive',\n history = 'history',\n contracts = 'contracts',\n staking = 'staking',\n}\n\nexport enum pathsChildrenContracts {\n purchase = 'purchase',\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { pairwise, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-restore-wallet',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"confirm\"\n id=\"confirm-wallet-password\"\n placeholder=\"{{ 'PLACEHOLDERS.CONFIRM_WALET_PASSWORD_PLACEHOLDER' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n
\n
\n \n \n \n
\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_REQUIRED' | translate }}\n
\n
\n \n {{ 'RESTORE_WALLET.FORM_ERRORS.SEED_PHRASE_IS_NO_VALID' | translate }}\n
\n \n
\n \n \n \n {{ 'RESTORE_WALLET.FORM_ERRORS.INCORRECT_PASSWORD' | translate }}\n
\n
\n {{ 'RESTORE_WALLET.OK' | translate }}\n
\n \n\n \n \n {{ 'RESTORE_WALLET.BUTTON_SELECT' | translate }}\n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class RestoreWalletComponent implements OnInit, OnDestroy {\n fb = inject(FormBuilder);\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.RESTORE_WALLET',\n },\n ];\n\n restoreForm = this.fb.group(\n {\n name: this.fb.nonNullable.control('', [\n Validators.required,\n ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons),\n ]),\n key: this.fb.nonNullable.control('', Validators.required),\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirm: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n seedPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirm')],\n }\n );\n\n wallet = {\n id: '',\n };\n\n walletSaved = false;\n\n walletSavedName = '';\n\n progressWidth = '9rem';\n\n seedPhraseInfo = null;\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.checkValidSeedPhrasePassword();\n this.changeDetectionSeedPhrasePassword();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeDetectionSeedPhrasePassword(): void {\n this.restoreForm.controls.seedPassword.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n this.restoreForm.controls.key.valueChanges.pipe(startWith(null), pairwise(), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.checkValidSeedPhrasePassword();\n },\n });\n }\n\n checkValidSeedPhrasePassword(): void {\n const seed_password = this.restoreForm.controls.seedPassword.value;\n const seed_phrase = this.restoreForm.controls.key.value;\n this.backend.getSeedPhraseInfo({ seed_phrase, seed_password }, (status, data) => {\n this.ngZone.run(() => {\n this.seedPhraseInfo = data;\n });\n });\n }\n\n createWallet(): void {\n this.ngZone.run(() => {\n this.progressWidth = '100%';\n this.runWallet();\n });\n }\n\n saveWallet(): void {\n if (this.restoreForm.valid && this.restoreForm.get('name').value.length <= this.variablesService.maxWalletNameLength) {\n this.backend.isValidRestoreWalletText(\n {\n seed_phrase: this.restoreForm.get('key').value,\n seed_password: this.restoreForm.get('seedPassword').value,\n },\n (valid_status, valid_data) => {\n if (valid_data !== 'TRUE') {\n this.ngZone.run(() => {\n this.restoreForm.get('key').setErrors({ key_not_valid: true });\n });\n } else {\n this.backend.saveFileDialog(\n this.translate.instant('RESTORE_WALLET.CHOOSE_PATH'),\n '*',\n this.variablesService.settings.default_path,\n (save_status, save_data) => {\n if (save_status) {\n this.variablesService.settings.default_path = save_data.path.substr(0, save_data.path.lastIndexOf('/'));\n this.walletSavedName = save_data.path.substr(\n save_data.path.lastIndexOf('/') + 1,\n save_data.path.length - 1\n );\n this.backend.restoreWallet(\n save_data.path,\n this.restoreForm.get('password').value,\n this.restoreForm.get('key').value,\n this.restoreForm.get('seedPassword').value,\n (restore_status, restore_data) => {\n if (restore_status) {\n this.wallet.id = restore_data.wallet_id;\n this.variablesService.opening_wallet = new Wallet(\n restore_data.wallet_id,\n this.restoreForm.get('name').value,\n this.restoreForm.get('password').value,\n restore_data['wi'].path,\n restore_data['wi'].address,\n restore_data['wi'].balance,\n restore_data['wi'].unlocked_balance,\n restore_data['wi'].mined_total,\n restore_data['wi'].tracking_hey\n );\n this.variablesService.opening_wallet.is_auditable = restore_data['wi'].is_auditable;\n this.variablesService.opening_wallet.is_watch_only = restore_data['wi'].is_watch_only;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.alias = this.backend.getWalletAlias(\n this.variablesService.opening_wallet.address\n );\n this.variablesService.opening_wallet.pages = new Array(1).fill(1);\n this.variablesService.opening_wallet.totalPages = 1;\n this.variablesService.opening_wallet.currentPage = 1;\n this.variablesService.opening_wallet.total_history_item = 0;\n this.variablesService.opening_wallet.restore = true;\n if (restore_data.recent_history && restore_data.recent_history.history) {\n this.variablesService.opening_wallet.totalPages = Math.ceil(\n restore_data.recent_history.total_history_items / this.variablesService.count\n );\n this.variablesService.opening_wallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.opening_wallet.pages = new Array(5)\n .fill(1)\n .map((value, index) => value + index))\n : (this.variablesService.opening_wallet.pages = new Array(\n this.variablesService.opening_wallet.totalPages\n )\n .fill(1)\n .map((value, index) => value + index));\n this.variablesService.opening_wallet.prepareHistory(\n restore_data.recent_history.history\n );\n }\n this.ngZone.run(() => {\n this.walletSaved = true;\n this.progressWidth = '50%';\n });\n } else {\n this.modalService.prepareModal('error', 'RESTORE_WALLET.NOT_CORRECT_FILE_OR_PASSWORD');\n }\n }\n );\n }\n }\n );\n }\n }\n );\n }\n }\n\n runWallet(): void {\n // add flag when wallet was restored form seed\n this.variablesService.after_sync_request[this.wallet.id] = true;\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === this.variablesService.opening_wallet.address) {\n exists = true;\n }\n });\n if (!exists) {\n this.backend.runWallet(this.wallet.id, (run_status, run_data) => {\n if (run_status) {\n this.walletsService.addWallet(this.variablesService.opening_wallet);\n if (this.variablesService.appPass) {\n this.backend.storeSecureAppData();\n }\n this.ngZone.run(() => {\n this.variablesService.setCurrentWallet(this.wallet.id);\n this.router.navigate(['/wallet/']);\n });\n } else {\n console.log(run_data['error_code']);\n }\n });\n } else {\n this.variablesService.opening_wallet = null;\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(this.wallet.id, () => {\n this.ngZone.run(() => {\n this.router.navigate(['/']);\n });\n });\n }\n }\n}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-seed-phrase',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.ADD_WALLET' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n \n
\n \n\n \n
\n
\n \n \n
\n\n
\n \n 0\"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n
0\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n
\n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n \n \n \n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n \n
\n
\n
\n \n
\n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n
\n \n \n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class SeedPhraseComponent implements OnInit, OnDestroy {\n seedPhrase = '';\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/add-wallet',\n title: 'BREADCRUMBS.ADD_WALLET',\n },\n {\n title: 'BREADCRUMBS.SAVE_PHRASE',\n },\n ];\n\n showSeed = false;\n\n wallet_id: number;\n\n wallet!: Wallet;\n\n seedPhraseCopied = false;\n\n progressWidth = '66%';\n\n fb = inject(FormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.nonNullable.control('', [ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.nonNullable.control(''),\n });\n\n seedPhraseForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.nonNullable.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n private destroy$ = new Subject();\n\n constructor(\n public walletsService: WalletsService,\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.showSeed = false;\n this.getWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n showSeedPhrase(): void {\n this.showSeed = true;\n this.progressWidth = '100%';\n }\n\n onSubmitSeed(): void {\n if (this.seedPhraseForm.valid) {\n this.showSeedPhrase();\n const wallet_id = this.wallet_id;\n const seed_password = this.seedPhraseForm.controls.password.value;\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n }\n\n private setWalletInfoNamePath(): void {\n this.detailsForm.get('name').setValue(this.wallet.name);\n this.detailsForm.get('path').setValue(this.wallet.path);\n }\n\n private getWallet(): void {\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe({\n next: params => {\n if (params.wallet_id) {\n this.wallet_id = +params.wallet_id;\n this.wallet = this.walletsService.getWalletById(this.wallet_id);\n if (this.wallet) {\n this.setWalletInfoNamePath();\n }\n }\n },\n });\n }\n}\n","import { Component, inject, NgZone, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { scaleItems } from '@parts/data/scale-items';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { generateRandomString } from '@parts/utils/generate-random-string';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'app-settings',\n template: `\n
\n
\n
\n \n

{{ 'SETTINGS.TITLE' | translate }}

\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n {{ item.language | translate }}\n \n \n {{ item.language | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.translationKey | translate }}\n \n \n {{ item.translationKey | translate }}\n \n \n
\n\n
\n \n \n \n {{ item.name | translate }}\n \n \n {{ item.name | translate }}\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n\n
\n
\n \n \n
\n \n
\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
\n
\n\n\n
\n

\n {{ 'SETTINGS.MASTER_PASSWORD.TITLE' | translate }}\n

\n\n
\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"password\"\n id=\"old-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_OLD' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.CURRENT_PASS_NOT_MATCH' | translate }}\n
\n
\n\n
\n \n \n \n
\n {{ 'ERRORS.WRONG_PASSWORD_MUST_BE' | translate }} a-zA-Z0-9_.*|~!?@#$%^&+{}()<>:;\"'-=,/[]*$\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"new_confirmation\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n 0\n \"\n class=\"error\"\n >\n {{ 'SETTINGS.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\n
\n
\n
\n\n
\n \n {{\n 'SETTINGS.SETTINGS_SAVED' | translate\n }}\n
\n \n\n

Build version: {{ currentBuild }}

\n
\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n\n .form__field--secret .form__field--input {\n padding-right: 4rem;\n }\n\n .btn--regenerate {\n padding: 4px;\n border-radius: 4px;\n position: absolute;\n right: 0.6rem;\n top: 3.6rem;\n background: #ffffff1a;\n cursor: pointer;\n }\n `,\n ],\n})\nexport class SettingsComponent implements OnInit {\n ifSaved = false;\n\n scale: string;\n\n appUseTor: boolean;\n\n fb = inject(FormBuilder);\n\n changeForm = this.fb.group(\n {\n password: this.fb.nonNullable.control('', Validators.compose([Validators.pattern(regExpPassword)])),\n new_password: this.fb.nonNullable.control('', Validators.compose([Validators.required, Validators.pattern(regExpPassword)])),\n new_confirmation: this.fb.nonNullable.control(''),\n appPass: this.fb.nonNullable.control(this.variablesService.appPass ?? ''),\n },\n {\n validators: [\n ZanoValidators.formMatch('new_password', 'new_confirmation'),\n ZanoValidators.formMatch('password', 'appPass', 'pass_mismatch'),\n ],\n }\n );\n\n zanoCompanionForm: FormGroup<{\n zanoCompation: FormControl,\n secret: FormControl\n }> = this.fb.group({\n zanoCompation: this.fb.nonNullable.control({ value: false, disabled: !this.variablesService.hasAppPass }),\n secret: this.fb.nonNullable.control(\n { value: '', disabled: false },\n {\n validators: Validators.compose([]),\n }\n ),\n });\n\n public currentNotificationsState;\n\n languagesOptions = [\n {\n name: 'en',\n language: 'SETTINGS.LANGUAGE.EN',\n },\n {\n name: 'fr',\n language: 'SETTINGS.LANGUAGE.FR',\n },\n {\n name: 'de',\n language: 'SETTINGS.LANGUAGE.DE',\n },\n {\n name: 'id',\n language: 'SETTINGS.LANGUAGE.ID',\n },\n {\n name: 'it',\n language: 'SETTINGS.LANGUAGE.IT',\n },\n {\n name: 'pt',\n language: 'SETTINGS.LANGUAGE.PT',\n },\n ];\n\n appLockOptions = [\n {\n time: 5,\n translationKey: 'SETTINGS.APP_LOCK.TIME1',\n },\n {\n time: 15,\n translationKey: 'SETTINGS.APP_LOCK.TIME2',\n },\n {\n time: 60,\n translationKey: 'SETTINGS.APP_LOCK.TIME3',\n },\n {\n time: 0,\n translationKey: 'SETTINGS.APP_LOCK.TIME4',\n },\n ];\n\n appScaleOptions = scaleItems;\n\n appLogOptions = [\n {\n id: -1,\n },\n {\n id: 0,\n },\n {\n id: 1,\n },\n {\n id: 2,\n },\n {\n id: 3,\n },\n {\n id: 4,\n },\n ];\n\n currentBuild = '';\n\n appPass: any;\n\n constructor(\n public translate: TranslateService,\n public variablesService: VariablesService,\n private renderer: Renderer2,\n private backend: BackendService,\n private ngZone: NgZone\n ) {\n this.scale = this.variablesService.settings.scale;\n this.appUseTor = this.variablesService.settings.appUseTor;\n this.zanoCompanionForm.setValue(this.variablesService.settings.zanoCompanionForm, { emitEvent: false });\n\n this.backend.getOptions();\n }\n\n ngOnInit(): void {\n this.backend.getVersion((version, type, error) => {\n this.ngZone.run(() => {\n if (!error) {\n this.currentBuild = version;\n this.variablesService.testnet = false;\n if (type === 'testnet') {\n this.currentBuild += ' TESTNET';\n this.variablesService.testnet = true;\n }\n this.variablesService.networkType = type;\n } else {\n this.currentBuild = 'There was an error getting the build version';\n }\n });\n });\n this.backend.getIsDisabledNotifications(res => {\n this.currentNotificationsState = res;\n });\n\n this.zanoCompanionForm.valueChanges.pipe(debounceTime(200)).subscribe({\n next: () => {\n const value = this.zanoCompanionForm.getRawValue();\n const { zanoCompation, secret } = value;\n\n if (zanoCompation && !secret) {\n this.generateSecret();\n return;\n }\n\n if (!zanoCompation && secret) {\n this.zanoCompanionForm.controls.secret.patchValue('');\n return;\n }\n\n if (zanoCompation && secret || !zanoCompation && !secret) {\n this.backend.setupJwtWalletRpc(value);\n return;\n }\n }\n });\n }\n\n private generateSecret(): void {\n this.zanoCompanionForm.get('secret').setValue(generateRandomString(40));\n }\n\n regenerateSecret(): void {\n this.generateSecret();\n }\n\n setScale(): void {\n this.scale = this.variablesService.settings.scale;\n this.renderer.setStyle(document.documentElement, 'font-size', this.scale);\n this.backend.storeAppData();\n }\n\n onSubmitChangePass(): void {\n if (this.changeForm.valid) {\n this.variablesService.appPass = this.changeForm.get('new_password').value;\n\n this.backend.setMasterPassword({ pass: this.variablesService.appPass }, (status, data) => {\n if (status) {\n this.backend.storeSecureAppData({\n pass: this.variablesService.appPass,\n });\n this.variablesService.appLogin = true;\n this.variablesService.dataIsLoaded = true;\n if (this.variablesService.settings.appLockTime) {\n this.variablesService.startCountdown();\n }\n this.ngZone.run(() => {\n this.zanoCompanionForm.controls.zanoCompation.enable({ emitEvent: false });\n this.onSave();\n });\n } else {\n console.log(data['error_code']);\n }\n });\n\n this.changeForm.reset();\n }\n }\n\n toggleNotifications(): void {\n if (!this.currentNotificationsState) {\n this.backend.setIsDisabledNotifications('true');\n this.currentNotificationsState = true;\n } else {\n this.backend.setIsDisabledNotifications('false');\n this.currentNotificationsState = false;\n }\n }\n\n toggleUseTor(): void {\n this.appUseTor = !this.appUseTor;\n this.variablesService.settings.appUseTor = this.appUseTor;\n this.backend.setEnableTor(this.appUseTor);\n this.backend.storeAppData();\n }\n\n onSave(): void {\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n onLockChange(): void {\n this.variablesService.restartCountdown();\n }\n\n onLogChange(): void {\n this.backend.setLogLevel(this.variablesService.settings.appLog);\n this.backend.storeAppData();\n }\n\n onLanguageChange(): void {\n this.translate.use(this.variablesService.settings.language);\n this.backend.storeAppData();\n }\n}\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ModalService } from '@parts/services/modal.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport BigNumber from 'bignumber.js';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-transfer-alias',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.TRANSFER_ALIAS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n 0 &&\n (transferAddressAlias ||\n !transferAddressValid ||\n (transferAddressValid && !permissionSend) ||\n notEnoughMoney)\n \"\n class=\"form__field--input\"\n id=\"alias-transfer\"\n name=\"alias-transfer\"\n placeholder=\"{{ 'TRANSFER_ALIAS.ADDRESS.PLACEHOLDER' | translate }}\"\n type=\"text\"\n />\n 0 &&\n (transferAddressAlias ||\n !transferAddressValid ||\n (transferAddressValid && !permissionSend) ||\n notEnoughMoney)\n \"\n class=\"error\"\n >\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.WRONG_ADDRESS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.ALIAS_EXISTS' | translate }}\n
\n
\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\n
\n
\n
\n\n
\n {{\n 'TRANSFER_ALIAS.COST'\n | translate\n : {\n value: variablesService.default_fee,\n currency: variablesService.defaultCurrency\n }\n }}\n
\n\n \n {{ 'TRANSFER_ALIAS.BUTTON_TRANSFER' | translate }}\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n `,\n ],\n})\nexport class TransferAliasComponent implements OnInit {\n wallet: Wallet;\n\n alias: any;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.TRANSFER_ALIAS',\n },\n ];\n\n transferAddress = '';\n\n transferAddressValid: boolean;\n\n transferAddressAlias: boolean;\n\n permissionSend: boolean;\n\n notEnoughMoney: boolean;\n\n requestProcessing = false;\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private modalService: ModalService,\n private ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this.wallet = this.variablesService.currentWallet;\n const alias = this.backend.getWalletAlias(this.wallet.address);\n this.alias = {\n name: alias.name,\n address: alias.address,\n comment: alias.comment,\n tracking_key: alias.tracking_key,\n };\n const unlocked_balance = new BigNumber(this.wallet.getBalanceByTicker('ZANO')?.unlocked || 0);\n this.notEnoughMoney = unlocked_balance.isLessThan(this.variablesService.default_fee_big);\n }\n\n changeAddress(): void {\n this.backend.validateAddress(this.transferAddress, status => {\n this.transferAddressValid = status;\n if (status) {\n this.backend.getPoolInfo((statusPool, dataPool) => {\n if (hasOwnProperty(dataPool, 'aliases_que') && dataPool.aliases_que.length) {\n this.setStatus(!dataPool.aliases_que.some(el => el.address === this.transferAddress));\n } else {\n this.setStatus(status);\n }\n });\n } else {\n this.setStatus(false);\n }\n });\n }\n\n setStatus(statusSet): void {\n this.permissionSend = statusSet;\n if (statusSet) {\n this.backend.getAliasByAddress(this.transferAddress, status => {\n this.ngZone.run(() => {\n if (status) {\n this.transferAddressAlias = true;\n this.permissionSend = false;\n } else {\n this.transferAddressAlias = false;\n }\n });\n });\n } else {\n this.ngZone.run(() => {\n this.transferAddressAlias = false;\n });\n }\n }\n\n transferAlias(): void {\n if (this.requestProcessing || !this.permissionSend || !this.transferAddressValid || this.notEnoughMoney) {\n return;\n }\n this.requestProcessing = true;\n const newAlias = {\n name: this.alias.name,\n address: this.transferAddress,\n comment: this.alias.comment,\n tracking_key: this.alias.tracking_key,\n };\n this.backend.updateAlias(this.wallet.wallet_id, newAlias, this.variablesService.default_fee, (status, data) => {\n if (status && hasOwnProperty(data, 'success') && data.success) {\n this.modalService.prepareModal('info', 'TRANSFER_ALIAS.REQUEST_SEND_REG');\n this.ngZone.run(() => {\n this.router.navigate(['/wallet/']);\n });\n }\n this.requestProcessing = false;\n });\n }\n}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Router } from '@angular/router';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { regExpPassword, ZanoValidators } from '@parts/utils/zano-validators';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-wallet-details',\n template: `\n
\n
\n
\n \n

{{ 'BREADCRUMBS.WALLET_DETAILS' | translate }}

\n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n \n \n \n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\n
\n
= variablesService.maxWalletNameLength\">\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\n
\n
\n
\n
\n \n

Saved!

\n
\n
\n \n \n
\n \n\n \n \n \n
\n \n \n
\n\n
\n \n 0\n \"\n class=\"form__field--input\"\n formControlName=\"confirmPassword\"\n id=\"confirm-password\"\n placeholder=\"{{ 'PLACEHOLDERS.PLACEHOLDER_CONFIRM' | translate }}\"\n type=\"password\"\n />\n \n 0\n \"\n >\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\n
\n
\n
\n\n \n\n

\n \n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\n

\n \n \n\n \n \n
\n
\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\n
\n
\n \n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\n \n \n 0\"\n class=\"status color-aqua\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n >\n {{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\n \n \n
\n
\n \n \n \n
\n {{ index + 1 }}\n
\n {{ word }}\n
\n \n \n
\n \n

0\" class=\"text-align-center\">\n \n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\n

\n
\n \n \n \n \n \n \n \n `,\n})\nexport class WalletDetailsComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/history',\n title: this.variablesService.currentWallet.name,\n },\n {\n title: 'BREADCRUMBS.WALLET_DETAILS',\n },\n ];\n\n seedPhrase = '';\n\n showSeed = false;\n\n seedPhraseCopied = false;\n\n ifSaved = false;\n\n fb = inject(NonNullableFormBuilder);\n\n detailsForm = this.fb.group({\n name: this.fb.control('', [Validators.required, ZanoValidators.duplicate(this.variablesService.walletNamesForComparisons)]),\n path: this.fb.control(''),\n });\n\n passwordSeedPhraseForm = this.fb.group(\n {\n password: this.fb.control('', Validators.pattern(regExpPassword)),\n confirmPassword: this.fb.control('', Validators.pattern(regExpPassword)),\n },\n {\n validators: [ZanoValidators.formMatch('password', 'confirmPassword')],\n }\n );\n\n constructor(\n public variablesService: VariablesService,\n private router: Router,\n private backend: BackendService,\n private ngZone: NgZone\n ) {\n const { currentWallet } = this.variablesService;\n const { name, path } = currentWallet;\n this.detailsForm.patchValue(\n {\n name,\n path,\n },\n {\n emitEvent: false,\n }\n );\n }\n\n beforeSubmitPasswordSeedPhrase(): void {\n if (this.passwordSeedPhraseForm.invalid) {\n this.passwordSeedPhraseForm.updateValueAndValidity();\n this.passwordSeedPhraseForm.markAllAsTouched();\n return;\n }\n\n this.submitPasswordSeedPhrase();\n }\n\n submitPasswordSeedPhrase(): void {\n const { wallet_id } = this.variablesService.currentWallet;\n const { password: seed_password } = this.passwordSeedPhraseForm.getRawValue();\n this.backend.getSmartWalletInfo({ wallet_id, seed_password }, (status, data) => {\n if (hasOwnProperty(data, 'seed_phrase')) {\n this.ngZone.run(() => {\n this.showSeed = true;\n this.seedPhrase = data['seed_phrase'].trim();\n });\n }\n });\n }\n\n beforeSubmitDetails(): void {\n if (this.detailsForm.invalid) {\n this.detailsForm.updateValueAndValidity();\n this.detailsForm.markAllAsTouched();\n return;\n }\n\n this.submitDetails();\n }\n\n submitDetails(): void {\n const getRawValue = this.detailsForm.getRawValue();\n const { name } = getRawValue;\n this.variablesService.currentWallet.name = name;\n this.detailsForm.reset(getRawValue);\n this.refreshDetailsFormValidators();\n this.ifSaved = true;\n setTimeout(() => {\n this.ifSaved = false;\n }, 3000);\n }\n\n copySeedPhrase(): void {\n this.backend.setClipboard(this.seedPhrase, () => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.seedPhraseCopied = false;\n }, 4000);\n this.seedPhraseCopied = true;\n });\n });\n }\n\n private refreshDetailsFormValidators(): void {\n const walletNamesForComparisons = this.variablesService.walletNamesForComparisons;\n const validatorsForName = [Validators.required, ZanoValidators.duplicate(walletNamesForComparisons)];\n this.detailsForm.controls.name.clearValidators();\n this.detailsForm.controls.name.setValidators(validatorsForName);\n this.detailsForm.controls.name.updateValueAndValidity();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Subject } from 'rxjs';\nimport { AssetBalance, ParamsRemoveCustomAssetId } from '@api/models/assets.model';\nimport { PaginatePipeArgs } from 'ngx-pagination';\nimport { takeUntil } from 'rxjs/operators';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { TranslateService } from '@ngx-translate/core';\nimport { defaultImgSrc, zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-assets',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n {{ 'ASSETS.TABLE.LABELS.NAME' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.BALANCE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.VALUE' | translate }}\n
\n
\n
\n {{ 'ASSETS.TABLE.LABELS.PRICE' | translate }}\n
\n
\n
 
\n
\n
\n \n {{ asset.asset_info.full_name }}\n
\n
\n
\n \n {{ asset.total | intToMoney }}\n {{ asset.asset_info.ticker }}\n \n
\n
\n
\n {{\n (asset.total | intToMoney) * variablesService.moneyEquivalent | currency : 'USD'\n }}\n
\n
\n
\n {{ variablesService.moneyEquivalent | currency : 'USD' }}\n 0\"\n [class.color-red]=\"variablesService.moneyEquivalentPercent < 0\"\n >\n {{ variablesService.moneyEquivalentPercent | number : '1.2-2' }}%\n \n
\n
\n
\n \n \n \n
\n
\n
\n\n \n \n\n
\n \n {{ page.label }}\n \n
\n {{ page.label }}\n
\n
\n\n \n \n
\n\n \n \n \n `,\n})\nexport class AssetsComponent implements OnInit, OnDestroy {\n currentPage = 1;\n\n itemsPerPage = 10;\n\n paginationId = 'pagination-assets-id';\n\n get paginatePipeArgs(): PaginatePipeArgs {\n return {\n id: this.paginationId,\n itemsPerPage: this.itemsPerPage,\n currentPage: this.currentPage,\n };\n }\n\n get isShowPagination(): boolean {\n const { currentWallet } = this.variablesService;\n if (currentWallet) {\n const { balances } = currentWallet;\n return (balances?.length || 0) > this.itemsPerPage;\n }\n return false;\n }\n\n zanoAssetInfo = zanoAssetInfo;\n\n defaultImgSrc = defaultImgSrc;\n\n triggerOrigin!: CdkOverlayOrigin;\n\n currentAsset!: AssetBalance;\n\n isOpenDropDownMenu = false;\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private backendService: BackendService,\n private walletsService: WalletsService,\n private dialog: Dialog,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.listenChangeWallet();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDropDownMenu(trigger: CdkOverlayOrigin, asset: AssetBalance): void {\n this.isOpenDropDownMenu = !this.isOpenDropDownMenu;\n this.triggerOrigin = trigger;\n this.currentAsset = asset;\n }\n\n trackByAssets(index: number, { asset_info: { asset_id } }: AssetBalance): number | string {\n return asset_id || index;\n }\n\n trackByPages(index: number): number | string {\n return index;\n }\n\n assetDetails(): void {\n const dialogConfig: DialogConfig = {\n data: {\n asset: this.currentAsset,\n },\n };\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n }\n\n beforeRemoveAsset(): void {\n if (!this.currentAsset) {\n return;\n }\n const {\n asset_info: { full_name },\n } = this.currentAsset;\n const dialogConfig: DialogConfig = {\n data: {\n title: `Do you want delete \"${full_name}\"`,\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed.pipe(takeUntil(this.destroy$))\n .subscribe({\n next: confirmed => confirmed && this.removeAsset(),\n });\n }\n\n removeAsset(): void {\n const { wallet_id, sendMoneyParams } = this.variablesService.currentWallet;\n const {\n asset_info: { asset_id },\n } = this.currentAsset;\n const params: ParamsRemoveCustomAssetId = {\n wallet_id,\n asset_id,\n };\n this.backendService.removeCustomAssetId(params, () => {\n this.walletsService.updateWalletInfo(wallet_id);\n this.currentAsset = undefined;\n\n if (sendMoneyParams) {\n this.walletsService.currentWallet.sendMoneyParams.asset_id = zanoAssetInfo.asset_id;\n }\n });\n }\n\n getBalanceTooltip(balance: AssetBalance): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!balance) {\n return null;\n }\n\n scrollWrapper.classList.add('balance-scroll-list');\n [balance].forEach(({ unlocked, total, asset_info: { ticker } }: AssetBalance) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerText = `${this.translate.instant('WALLET.AVAILABLE_BALANCE')} `;\n const availableB = document.createElement('b');\n availableB.innerText = `${ this.intToMoneyPipe.transform(unlocked) } ${ ticker || '---' }`;\n available.appendChild(availableB);\n scrollWrapper.appendChild(available);\n\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerText = `${this.translate.instant('WALLET.LOCKED_BALANCE')} `;\n const lockedB = document.createElement('b');\n lockedB.innerText = `${ this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)) } ${ ticker || '---' }`;\n locked.appendChild(lockedB);\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backendService.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n\n private listenChangeWallet(): void {\n this.variablesService.currentWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.currentPage = 0;\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subtransfer, Transaction } from '@api/models/transaction.model';\nimport BigNumber from 'bignumber.js';\nimport { PaginationService } from '@store/pagination/pagination.service';\nimport { PaginationStore } from '@store/pagination/pagination.store';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { collapseOnLeaveAnimation, expandOnEnterAnimation } from 'angular-animations';\nimport { zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-history',\n template: `\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n 0\"\n >\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
\n
{{ 'HISTORY.STATUS' | translate }}
\n
\n
{{ 'HISTORY.AMOUNT' | translate }}
\n
\n
{{ 'HISTORY.FEE' | translate }}
\n
\n
{{ 'HISTORY.ADDRESS' | translate }}
\n
\n
{{ 'HISTORY.DATE' | translate }}
\n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n {{\n (subtransfer.is_income ? 'HISTORY.RECEIVED' : 'HISTORY.SEND') | translate\n }}\n\n \n \n \n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{\n 'HISTORY.LOCK_TOOLTIP'\n | translate : { date: time(transaction) | date : 'MM.dd.yy' }\n }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n 500000000\">\n 0)\n \"\n [delay]=\"500\"\n class=\"icon lock-transaction mr-1\"\n placement=\"bottom-left\"\n tooltip=\"{{\n 'HISTORY.LOCK_TOOLTIP'\n | translate\n : {\n date:\n transaction.unlock_time * 1000 | date : 'MM.dd.yy'\n }\n }}\"\n tooltipClass=\"table-tooltip\"\n >\n \n \n \n 0)\n \"\n class=\"icon unlock-transaction mr-1\"\n >\n \n \n \n \n \n \n\n \n
\n \"\"\n\n {{ 'HISTORY.RECEIVED' | translate }}\n
\n
\n
\n \n \n \n \n
\n \n {{ subtransfer.amount.minus(transaction.fee ?? 0).negated() | intToMoney }}\n {{ subtransfer.amount.negated() | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n {{ (subtransfer.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n \n \n
\n \n {{ subtransfer.amount.negated() | intToMoney }}\n \n \n {{ subtransfer.amount | intToMoney }}\n \n {{ (subtransfer.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n
\n \n\n \n \n {{ 0 | intToMoney }}\n {{ variablesService.defaultCurrency }}\n \n \n
\n
\n \n \n \n {{ transaction.fee | intToMoney }}\n {{ variablesService.defaultCurrency }}\n \n \n {{ 'HISTORY.NO_FEE' | translate }}\n \n \n
\n
\n \n \n
\n \n {{ transaction | historyTypeMessages }}\n \n
\n
\n\n \n \n \n {{ transaction.remote_addresses[0] | zanoShortString }}\n \n \n \n
\n \n \n = 1 && alias.length <= 5\"\n [class.mb-0_5]=\"transaction.remote_aliases.length >= 2\"\n [class.mr-0_5]=\"transaction.remote_aliases.length >= 2\"\n class=\"alias\"\n fxLayout=\"row inline\"\n >\n {{ '@' + alias }}\n
\n
\n
\n \n \n \n\n \n {{ 'HISTORY.HIDDEN' | translate }}\n \n \n
\n
\n {{ transaction.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm' }}\n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n\n \n \n {{ page }}\n \n \n\n \n \n {{ variablesService.currentWallet.currentPage }}\n \n \n\n \n \n \n
\n
\n Hide mining transactions\n \n
\n
\n
\n
\n `,\n styles: [\n `\n .cell-fee {\n display: inline-flex;\n }\n `,\n ],\n animations: [expandOnEnterAnimation(), collapseOnLeaveAnimation()],\n})\nexport class HistoryComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n openedDetails = '';\n\n stop_paginate = false;\n\n mining = false;\n\n wallet: Wallet;\n\n x = new BigNumber(3);\n\n y = new BigNumber(0.2);\n\n private destroy$ = new Subject();\n\n constructor(\n private route: ActivatedRoute,\n public variablesService: VariablesService,\n private pagination: PaginationService,\n private backend: BackendService,\n private ngZone: NgZone,\n private paginationStore: PaginationStore\n ) {}\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.openedDetails = '';\n },\n });\n\n this.init();\n\n this.variablesService.currentWalletChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getRecentTransfers();\n },\n });\n\n this.variablesService.currentWalletChangedEvent\n .pipe(\n filter(w => !!w),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: (currentWallet: Wallet) => {\n this.mining = currentWallet.exclude_mining_txs;\n },\n });\n }\n\n isVisibleSubtransferStatus(subtransfer: Subtransfer, transaction: Transaction): boolean {\n const { amount, asset_id, is_income } = subtransfer;\n const { fee, subtransfers } = transaction;\n\n if (subtransfers.length === 1 && asset_id === zanoAssetInfo.asset_id && is_income === false && amount.eq(fee)) {\n return true;\n }\n\n if (asset_id === zanoAssetInfo.asset_id && this.isSwapTransaction(transaction) && this.isFinalizator(transaction)) {\n return true;\n }\n\n return !(asset_id === zanoAssetInfo.asset_id && is_income === false && amount.eq(fee));\n\n }\n\n isInitiator(transaction: Transaction): boolean {\n const { employed_entries: { spent= [] } } = transaction;\n return Boolean(spent?.find(({ index }) => {\n return index === 0;\n }));\n }\n\n isSwapTransaction(transaction: Transaction): boolean {\n const { subtransfers } = transaction;\n const arr = subtransfers.map(({ is_income }) => is_income);\n const condition1 = arr.some((value) => value);\n const condition2 = arr.some((value) => !value);\n return condition1 && condition2;\n }\n\n isFinalizator(transaction: Transaction): boolean {\n return !this.isInitiator(transaction);\n }\n\n isSelfTransaction(transaction: Transaction): boolean {\n const { remote_addresses, employed_entries: { receive, spent }, subtransfers, fee } = transaction;\n\n const condition1 = remote_addresses?.includes(this.variablesService.currentWallet?.address);\n const condition2 = [...(receive ?? []), ...(spent ?? [])].map(({ asset_id }) => asset_id === zanoAssetInfo.asset_id).every(Boolean);\n const condition3 = subtransfers?.length === 1 && subtransfers[0].asset_id === zanoAssetInfo.asset_id && subtransfers[0].amount.eq(fee);\n\n return condition1 && condition2 && condition3;\n }\n\n init(): void {\n let restore = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n restore = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (!this.variablesService.sync_started && restore && this.variablesService.currentWallet.wallet_id) {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n // if this is was restore wallet, and it was selected on moment when sync completed\n this.getRecentTransfers();\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n let after_sync_request = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n after_sync_request = this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id];\n }\n if (after_sync_request && !this.variablesService.sync_started) {\n // if user click on the wallet at the first time after restore.\n this.getRecentTransfers();\n }\n\n if (hasOwnProperty(this.variablesService.stop_paginate, String(this.variablesService.currentWallet.wallet_id))) {\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n } else {\n this.stop_paginate = false;\n }\n // this will hide pagination a bit earlier\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (this.wallet) {\n this.tick();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isVisibleFee(transaction: Transaction): boolean {\n const { subtransfers } = transaction;\n const condition1 = subtransfers ? !subtransfers?.every(({ is_income }) => is_income) : false;\n const condition2 = this.isInitiator(transaction);\n return condition1 && condition2;\n }\n\n strokeSize(item): number {\n const rem = this.variablesService.settings.scale;\n if ((this.variablesService.height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 0;\n } else {\n if (item.height === 0 || this.variablesService.height_app - item.height < 0) {\n return 4.5 * parseInt(rem, 10);\n } else {\n return (\n 4.5 * parseInt(rem, 10) - ((4.5 * parseInt(rem, 10)) / 100) * ((this.variablesService.height_app - item.height) * 10)\n );\n }\n }\n }\n\n resetPaginationValues(): void {\n this.ngZone.run(() => {\n const total_history_item = this.variablesService.currentWallet.total_history_item;\n const count = this.variablesService.count;\n this.variablesService.currentWallet.totalPages = Math.ceil(total_history_item / count);\n this.variablesService.currentWallet.exclude_mining_txs = this.mining;\n this.variablesService.currentWallet.currentPage = 1;\n\n if (!this.variablesService.currentWallet.totalPages) {\n this.variablesService.currentWallet.totalPages = 1;\n }\n this.variablesService.currentWallet.totalPages > this.variablesService.maxPages\n ? (this.variablesService.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variablesService.currentWallet.pages = new Array(this.variablesService.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n });\n }\n\n setPage(pageNumber: number): void {\n // this is will allow pagination for wallets that was open from existed wallets'\n if (pageNumber === this.variablesService.currentWallet.currentPage) {\n return;\n }\n if (this.variablesService.currentWallet.open_from_exist && !this.variablesService.currentWallet.updated) {\n this.variablesService.get_recent_transfers = false;\n this.variablesService.currentWallet.updated = true;\n }\n // if not running get_recent_transfers callback\n if (!this.variablesService.get_recent_transfers) {\n this.variablesService.currentWallet.currentPage = pageNumber;\n }\n if (!this.variablesService.get_recent_transfers) {\n this.getRecentTransfers();\n }\n }\n\n toggleMiningTransactions(): void {\n if (!this.variablesService.sync_started && !this.wallet) {\n const value = this.paginationStore.value;\n if (!value) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n } else {\n const pages = value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id);\n if (pages.length === 0) {\n this.paginationStore.setPage(1, 0, this.variablesService.currentWallet.wallet_id); // add back page for the first page\n }\n }\n this.mining = !this.mining;\n this.resetPaginationValues();\n this.getRecentTransfers();\n }\n }\n\n getRecentTransfers(): void {\n const offset = this.pagination.getOffset(this.variablesService.currentWallet.wallet_id);\n const value = this.paginationStore.value;\n const pages = value ? value.filter(item => item.walletID === this.variablesService.currentWallet.wallet_id) : [];\n this.backend.getRecentTransfers(\n this.variablesService.currentWallet.wallet_id,\n offset,\n this.variablesService.count,\n this.variablesService.currentWallet.exclude_mining_txs,\n (status, data) => {\n const isForward = this.paginationStore.isForward(pages, this.variablesService.currentWallet.currentPage);\n if (this.mining && isForward && pages && pages.length === 1) {\n this.variablesService.currentWallet.currentPage = 1; // set init page after navigation back\n }\n\n const history = data && data.history;\n this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id] =\n (history && history.length < this.variablesService.count) || !history;\n this.stop_paginate = this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id];\n if (!this.variablesService.stop_paginate[this.variablesService.currentWallet.wallet_id]) {\n const page = this.variablesService.currentWallet.currentPage + 1;\n if (isForward && this.mining && history && history.length === this.variablesService.count) {\n this.paginationStore.setPage(page, data.last_item_index, this.variablesService.currentWallet.wallet_id); // add back page for current page\n }\n }\n\n this.pagination.calcPages(data);\n this.pagination.prepareHistory(data, status);\n\n this.ngZone.run(() => {\n this.variablesService.get_recent_transfers = false;\n if (hasOwnProperty(this.variablesService.after_sync_request, String(this.variablesService.currentWallet.wallet_id))) {\n // this is will complete get_recent_transfers request\n // this will switch of\n this.variablesService.after_sync_request[this.variablesService.currentWallet.wallet_id] = false;\n }\n });\n }\n );\n }\n\n tick(): void {\n const walletInterval = setInterval(() => {\n this.wallet = this.variablesService.getNotLoadedWallet();\n if (!this.wallet) {\n clearInterval(walletInterval);\n }\n }, 1000);\n }\n\n getHeight(item): number {\n const { height_app } = this.variablesService;\n if ((height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\n return 10;\n } else {\n if (item.height === 0 || height_app - item.height < 0) {\n return 0;\n } else {\n return height_app - item.height;\n }\n }\n }\n\n openDetails(tx_hash): void {\n if (tx_hash === this.openedDetails) {\n this.openedDetails = '';\n } else {\n this.openedDetails = tx_hash;\n }\n }\n\n time(item: Transaction): number {\n const now = new Date().getTime();\n return now + (item.unlock_time - this.variablesService.height_max) * 60 * 1000;\n }\n\n isLocked(item: Transaction): boolean {\n if (item.unlock_time > 500000000 && item.unlock_time > new Date().getTime() / 1000) {\n return true;\n }\n return item.unlock_time < 500000000 && item.unlock_time > this.variablesService.height_max;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport QRCode from 'qrcode';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { RCV_ADDR_QR_SCALE } from '@parts/data/constants';\n\n@Component({\n selector: 'app-receive',\n template: `\n
\n \n \"qr-code\"\n
\n\n \n {{ variablesService.currentWallet.address | zanoShortString : 9 : 9 }}\n \n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class ReceiveComponent implements OnInit {\n qrImageSrc: string;\n\n constructor(public variablesService: VariablesService) {}\n\n ngOnInit(): void {\n QRCode.toDataURL(this.variablesService.currentWallet.address, {\n width: 200 * RCV_ADDR_QR_SCALE,\n height: 200 * RCV_ADDR_QR_SCALE,\n })\n .then(url => {\n this.qrImageSrc = url;\n })\n .catch(err => {\n console.error(err);\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AsyncCommandResults,\n BackendService,\n CurrentActionState,\n ResponseAsyncTransfer,\n StatusCurrentActionState,\n} from '@api/services/backend.service';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nconst successfulStatuses: string[] = [\n StatusCurrentActionState.STATE_SENDING,\n StatusCurrentActionState.STATE_SENT_SUCCESS,\n StatusCurrentActionState.STATE_INITIALIZING,\n StatusCurrentActionState.STATE_DOWNLOADING_CONSENSUS,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_A,\n StatusCurrentActionState.STATE_MAKING_TUNNEL_B,\n StatusCurrentActionState.STATE_CREATING_STREAM,\n StatusCurrentActionState.STATE_SUCCESS,\n];\n\nconst failedStatuses: string[] = [StatusCurrentActionState.STATE_SEND_FAILED, StatusCurrentActionState.STATE_FAILED];\n\n@Component({\n selector: 'app-send-details-modal',\n template: `\n
\n
\n

\n {{ 'SEND_DETAILS_MODAL.TITLE1' | translate }}\n

\n\n
\n
\n
\n \"success\"\n
\n\n
\n \"failed\"\n
\n\n
\n\n

\n {{\n (currentActionState\n ? 'TOR_LIB_STATE' + '.' + currentActionState.status\n : 'TOR_LIB_STATE.STATE_INITIALIZING'\n ) | translate\n }}\n {{ !isSentSuccess && !isSentFailed ? '...' : '' }}\n

\n\n \n \n \n
\n\n
\n \n

\n {{ 'SEND_DETAILS_MODAL.TITLE2' | translate }}\n

\n \n
\n \n
    \n \n {{ 'TOR_LIB_STATE' + '.' + action?.status | translate\n }}{{ last && !isSentSuccess && !isSentFailed ? '...' : '' }}\n \n \n\n \n \n\n \n \n\n \n \n \n\n \n
  • \n tx id: {{ data.response_data.tx_hash || '---' }} \n \n \n
  • \n
  • \n
    \n tx size:\n {{ data.response_data.tx_blob_size }}\n bytes\n
    \n
  • \n
  • \n \n
  • \n
    \n
\n
\n
\n
\n
\n \n
\n \n \n\n \n \n \n

{{ prefix }} {{ 'SEND.ERROR_CODES' + '.' + error_code | translate }}

\n
\n \n \n

{{ prefix }} {{ error_code }}

\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendDetailsModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() job_id: number;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('elDetailsList', { static: true }) elDetailsList: ElementRef;\n\n responseData$ = new BehaviorSubject(null);\n\n stateDetails$ = new BehaviorSubject(false);\n\n currentActionState$ = new BehaviorSubject(null);\n\n currentActionStates$ = new BehaviorSubject([]);\n\n success = false;\n\n private destroy$: Subject = new Subject();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService, private renderer: Renderer2) {}\n\n get currentActionState(): CurrentActionState {\n return this.currentActionState$.value;\n }\n\n get currentActionStates(): CurrentActionState[] {\n return this.currentActionStates$.value;\n }\n\n get isSentSuccess(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SENT_SUCCESS;\n }\n\n get isSentFailed(): boolean {\n return this.currentActionState && this.currentActionState.status === StatusCurrentActionState.STATE_SEND_FAILED;\n }\n\n get isDetailsNotEmpty(): boolean {\n return !!(this.responseData$.value || this.currentActionStates$.value.length > 0);\n }\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const {\n currentWallet: { wallet_id },\n settings: { appUseTor },\n } = this.variablesService;\n\n if (appUseTor) {\n this.backendService.handleCurrentActionState$.pipe(takeUntil(this.destroy$)).subscribe({\n next: (currentActionState: CurrentActionState) => {\n this.currentActionState$.next(currentActionState);\n this.currentActionStates$.next([...this.currentActionStates, currentActionState]);\n },\n });\n } else {\n const actionState: CurrentActionState = {\n status: StatusCurrentActionState.STATE_INITIALIZING,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n }\n\n this.backendService.dispatchAsyncCallResult$\n .pipe(\n filter(({ job_id, response }: AsyncCommandResults) => this.job_id === job_id && !!response),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: ({ response }: AsyncCommandResults) => {\n const { response_data } = response;\n const success = response_data?.success ?? false;\n this.success = success;\n\n const actionState: CurrentActionState = {\n status: success ? StatusCurrentActionState.STATE_SENT_SUCCESS : StatusCurrentActionState.STATE_SEND_FAILED,\n wallet_id,\n };\n this.currentActionState$.next(actionState);\n this.currentActionStates$.next([...this.currentActionStates, actionState]);\n\n this.responseData$.next(response);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n toggleDetails(): void {\n this.stateDetails$.next(!this.stateDetails$.value);\n setTimeout(() => this.scrollToBottomDetailsList(), 100);\n }\n\n trackBy(index: number): number {\n return index;\n }\n\n isSuccess(action: CurrentActionState): boolean {\n return successfulStatuses.includes(action && action.status);\n }\n\n isFailed(action: CurrentActionState): boolean {\n return failedStatuses.includes(action && action.status);\n }\n\n private scrollToBottomDetailsList(): void {\n if (this.elDetailsList) {\n const { nativeElement } = this.elDetailsList;\n nativeElement.scrollTop = nativeElement.scrollHeight;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NonNullableFormBuilder, Validators } from '@angular/forms';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\n\n@Component({\n selector: 'app-send-modal',\n template: `\n
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM.MESSAGE.SEND' | translate }}\n
\n
\n {{ sendMoneyParams.amount }}\n {{ (sendMoneyParams.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.FROM' | translate }}\n
\n
\n {{ variablesService.currentWallet.address }}\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.TO' | translate }}\n
\n
{{ sendMoneyParams.address }}
\n
\n
\n\n \n
\n\n
\n
\n {{ 'CONFIRM.MESSAGE.COMMENT' | translate }}\n
\n
{{ sendMoneyParams.comment }}
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SendModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() sendMoneyParams: SendMoneyParams;\n\n @Output() confirmed: EventEmitter = new EventEmitter();\n\n cdr = inject(ChangeDetectorRef);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group({\n password: this.fb.control(''),\n appPass: this.fb.control(''),\n });\n\n constructor(public variablesService: VariablesService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n const { appPass } = this.variablesService;\n if (appPass) {\n this.confirmForm.controls.appPass.patchValue(appPass, {\n emitEvent: false,\n });\n this.confirmForm.setValidators([ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')]);\n this.confirmForm.controls.password.setValidators([Validators.required]);\n this.confirmForm.updateValueAndValidity();\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n beforeSubmit(): void {\n if (this.confirmForm.invalid) {\n this.confirmForm.markAsTouched();\n this.confirmForm.updateValueAndValidity();\n this.cdr.detectChanges();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.confirmed.emit(true);\n }\n\n onClose(): void {\n this.confirmed.emit(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SendModalComponent } from './send-modal/send-modal.component';\nimport { SendDetailsModalComponent } from './send-details-modal/send-details-modal.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { GetAssetInfoPipe } from '@parts/pipes';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\n\n@NgModule({\n declarations: [SendModalComponent, SendDetailsModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule, ReactiveFormsModule, GetAssetInfoPipe, CopyButtonComponent],\n exports: [SendModalComponent, SendDetailsModalComponent],\n})\nexport class WalletModalsModule {}\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BigNumber } from 'bignumber.js';\nimport { MIXIN } from '@parts/data/constants';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\nimport { debounceTime, delay, filter, retry, take, takeUntil, tap } from 'rxjs/operators';\nimport { BehaviorSubject, of, Subject } from 'rxjs';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { IntToMoneyPipe } from '@parts/pipes';\nimport { insuficcientFunds } from '@parts/utils/zano-errors';\nimport { Aliases } from '@api/models/alias.model';\nimport { DeeplinkParams, defaultSendMoneyParams } from '@api/models/wallet.model';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { SendMoneyParams } from '@api/models/send-money.model';\nimport { defaultImgSrc, zanoAssetInfo } from '@parts/data/assets';\n\n@Component({\n selector: 'app-send',\n template: `\n
\n \n
\n
\n \n \n\n \n \n \n \n = 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\"\n class=\"alias\"\n >\n
{{ alias.name }}
\n
\n
\n \n \n
Not found aliases
\n
\n \n
\n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n \n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ sendMoneyParamsForm.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n \n \n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\n
\n
\n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n \n \n {{ asset.asset_info.full_name || '---' }}\n ({{ asset.total | intToMoney }} {{ asset.asset_info.ticker }})\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n \n\n
\n \n {{ 'SEND.DETAILS' | translate }}\n \n \n\n
\n
\n
\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ 'Min' }} {{ sendMoneyParamsForm.controls.mixin.getError('min')['min'] }}\n
\n
\n {{ 'Max' }} {{ sendMoneyParamsForm.controls.mixin.getError('max')['max'] }}\n
\n
\n
\n\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : { fee: variablesService.default_fee } }}\n
\n
\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\n
\n
\n
\n
\n\n \n \n \n\n \n {{ 'SEND.BUTTON' | translate }}\n \n \n \n\n \n\n \n `,\n styles: [\n `\n :host {\n width: 100%;\n }\n `,\n ],\n})\nexport class SendComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n defaultImgSrc = defaultImgSrc;\n\n job_id: number;\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(250));\n\n isModalDialogVisible = false;\n\n isModalDetailsDialogVisible = false;\n\n hideWalletAddress = false;\n\n wrapInfo: WrapInfo;\n\n loading$ = new BehaviorSubject(true);\n\n isWrapShown = false;\n\n aliasAddress: string;\n\n additionalOptions = false;\n\n fb = inject(NonNullableFormBuilder);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n variablesService = inject(VariablesService);\n\n wrapInfoService = inject(WrapInfoService);\n\n aliases$ = new BehaviorSubject([]);\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n sendMoneyParamsForm = this.fb.group({\n wallet_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n address: this.fb.control('', {\n validators: [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ],\n }),\n amount: this.fb.control(undefined, {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.sendMoneyParamsForm?.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: AssetBalance | undefined = this.variablesService.currentWallet.balances?.find(\n v => v.asset_info.asset_id === asset_id\n );\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n }\n return null;\n },\n ],\n }),\n comment: this.fb.control('', {\n validators: [Validators.maxLength(this.variablesService.maxCommentLength)],\n }),\n asset_id: this.fb.control(undefined, {\n validators: [Validators.required],\n }),\n mixin: this.fb.control(MIXIN, {\n validators: [Validators.required, Validators.min(0), Validators.max(1000)],\n }),\n fee: this.fb.control(this.variablesService.default_fee, {\n validators: [\n Validators.required,\n (g: FormControl): ValidationErrors | null => {\n if (new BigNumber(g.value).isLessThan(this.variablesService.default_fee)) {\n return { less_min: true };\n }\n return null;\n },\n ],\n }),\n hide: this.fb.control(false),\n });\n\n get sendMoneyParams(): SendMoneyParams {\n return this.sendMoneyParamsForm.getRawValue() as SendMoneyParams;\n }\n\n private destroy$ = new Subject();\n\n constructor(private backendService: BackendService, private ngZone: NgZone, private moneyToInt: MoneyToIntPipe) {}\n\n ngOnInit(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n\n this.getWrapInfo();\n this.listenSendActionData();\n this.patchSendMoneyParamsByCurrentWallet();\n this.saveSendMoneyParams();\n this.setAssetFromHistoryState();\n }\n\n setAssetFromHistoryState(): void {\n const state = history.state || {};\n const asset: AssetBalance = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.sendMoneyParamsForm.controls.asset_id.patchValue(asset_id, { emitEvent: false });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n showDialog(): void {\n this.isModalDialogVisible = true;\n }\n\n confirmed(confirmed: boolean): void {\n this.isModalDialogVisible = false;\n if (confirmed) {\n this.onSend();\n }\n }\n\n onSend(): void {\n if (this.sendMoneyParamsForm.valid) {\n const { address } = this.sendMoneyParamsForm.getRawValue();\n let sendMoneyParams: SendMoneyParams = {\n ...this.sendMoneyParamsForm.getRawValue(),\n };\n\n if (address.indexOf('@') === 0) {\n const aliasName = address;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.sendMoneyParamsForm.controls.address.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n sendMoneyParams = {\n ...sendMoneyParams,\n address: alias.address,\n };\n }\n\n this.backendService.sendMoney(sendMoneyParams, job_id => {\n this.ngZone.run(() => {\n this.job_id = job_id;\n this.isModalDetailsDialogVisible = true;\n this.variablesService.currentWallet.sendMoneyParams = null;\n });\n });\n }\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.sendMoneyParamsForm.value.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n handeCloseDetailsModal(success: boolean): void {\n this.isModalDetailsDialogVisible = false;\n this.job_id = null;\n\n if (success) {\n const {\n currentWallet: { wallet_id },\n } = this.variablesService;\n this.variablesService.currentWallet.sendMoneyParams = null;\n this.sendMoneyParamsForm.reset({ ...defaultSendMoneyParams, wallet_id }, { emitEvent: false });\n }\n }\n\n private patchSendMoneyParamsByCurrentWallet(): void {\n const { currentWallet, default_fee } = this.variablesService;\n\n let sendMoneyParams: SendMoneyParams;\n\n if (currentWallet.sendMoneyParams) {\n sendMoneyParams = currentWallet.sendMoneyParams;\n this.sendMoneyParamsForm.markAllAsTouched();\n } else {\n sendMoneyParams = {\n ...defaultSendMoneyParams,\n fee: default_fee,\n };\n }\n\n if (currentWallet.is_auditable && !currentWallet.is_watch_only) {\n sendMoneyParams.hide = true;\n this.sendMoneyParamsForm.controls['hide'].disable();\n }\n\n if (currentWallet.is_auditable) {\n sendMoneyParams.mixin = 0;\n this.sendMoneyParamsForm.controls['mixin'].disable();\n }\n\n sendMoneyParams.wallet_id = currentWallet.wallet_id;\n\n this.sendMoneyParamsForm.patchValue(sendMoneyParams, { emitEvent: false });\n }\n\n private fillDeepLinkData(value: DeeplinkParams): void {\n this.additionalOptions = true;\n this.sendMoneyParamsForm.patchValue({\n address: value.address,\n amount: value.amount || null,\n comment: value.comment || value.comments || '',\n mixin: +value.mixins || MIXIN,\n asset_id: zanoAssetInfo.asset_id,\n fee: value.fee || this.variablesService.default_fee,\n hide: value.hide_sender === 'true',\n });\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n\n pasteListenAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.sendMoneyParamsForm.controls.address.patchValue(value);\n }\n\n inputListenAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n private listenSendActionData(): void {\n this.variablesService.sendActionData$.pipe(takeUntil(this.destroy$)).subscribe({\n next: value => {\n if (value && value.action === 'send') {\n setTimeout(() => {\n this.fillDeepLinkData(value);\n }, 100);\n this.variablesService.sendActionData$.next({});\n }\n },\n });\n }\n\n private saveSendMoneyParams(): void {\n this.sendMoneyParamsForm.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.variablesService.currentWallet.sendMoneyParams = this.sendMoneyParamsForm.getRawValue();\n },\n });\n }\n}\n","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { Chart } from 'angular-highcharts';\nimport { BackendService } from '@api/services/backend.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BigNumber } from 'bignumber.js';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-staking',\n template: `\n
\n
\n
\n
\n \n
\n \n
\n {{ 'STAKING.TITLE' | translate }}\n
\n\n
\n \n \n
\n
\n \n
\n {{ 'STAKING.TITLE_PENDING' | translate }}\n :\n
\n
\n
\n {{ pending.total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n \n
\n {{ 'STAKING.TITLE_TOTAL' | translate }}\n :\n
\n
\n
\n {{ total | intToMoney }}\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n\n \n \n Sort by {{ (item.title | translate | lowercase) + 's' }}\n \n \n {{ item.title | translate }}\n \n \n
\n \n \n
\n
\n
\n
\n
\n {{ selectedDate.date | date : 'EEEE, MMMM d, y' }}\n {{ selectedDate.amount }}\n
\n
\n {{ variablesService.defaultCurrency }}\n
\n
\n
\n
\n \n \n\n
\n
\n
\n\n
\n \n \n {{ period.title }}\n \n \n
\n \n \n `,\n styles: [\n `\n :host {\n width: 100%;\n height: auto;\n }\n `,\n ],\n})\nexport class StakingComponent implements OnInit, OnDestroy {\n periods = [\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK1'),\n key: '1 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.WEEK2'),\n key: '2 week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH1'),\n key: '1 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH3'),\n key: '3 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.MONTH6'),\n key: '6 month',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.YEAR'),\n key: '1 year',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.PERIOD.ALL'),\n key: 'All',\n active: true,\n },\n ];\n\n groups = [\n {\n title: this.translate.instant('STAKING.GROUP.DAY'),\n key: 'day',\n active: true,\n },\n {\n title: this.translate.instant('STAKING.GROUP.WEEK'),\n key: 'week',\n active: false,\n },\n {\n title: this.translate.instant('STAKING.GROUP.MONTH'),\n key: 'month',\n active: false,\n },\n ];\n\n selectedGroup = this.groups[0].key;\n\n selectedDate = {\n date: null,\n amount: null,\n };\n\n originalData = [];\n\n chart: Chart;\n\n total = new BigNumber(0);\n\n pending = {\n list: [],\n total: new BigNumber(0),\n };\n\n private destroy$ = new Subject();\n\n constructor(\n public variablesService: VariablesService,\n private route: ActivatedRoute,\n private backend: BackendService,\n private ngZone: NgZone,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService\n ) {}\n\n static makeGroupTime(key, date): number {\n if (key === 'day') {\n return date.setHours(0, 0, 0, 0);\n } else if (key === 'week') {\n return new Date(date.setDate(date.getDate() - date.getDay())).setHours(0, 0, 0, 0);\n } else {\n return new Date(date.setDate(1)).setHours(0, 0, 0, 0);\n }\n }\n\n ngOnInit(): void {\n this.route.parent.params.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n this.getMiningHistory();\n },\n });\n this.variablesService.getHeightAppEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (newHeight: number) => {\n if (!this.pending.total.isZero()) {\n const pendingCount = this.pending.list.length;\n for (let i = pendingCount - 1; i >= 0; i--) {\n if (newHeight - this.pending.list[i].h >= 10) {\n this.pending.list.splice(i, 1);\n }\n }\n if (pendingCount !== this.pending.list.length) {\n this.pending.total = new BigNumber(0);\n for (let i = 0; i < this.pending.list.length; i++) {\n this.pending.total = this.pending.total.plus(this.pending.list[i].a);\n }\n }\n }\n },\n });\n this.variablesService.getRefreshStackingEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: (wallet_id: number) => {\n if (this.variablesService.currentWallet.wallet_id === wallet_id) {\n this.getMiningHistory();\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n drawChart(data): void {\n this.chart = new Chart({\n title: { text: '' },\n credits: { enabled: false },\n exporting: { enabled: false },\n legend: { enabled: false },\n chart: {\n type: 'line',\n backgroundColor: 'transparent',\n height: null,\n events: {\n load: (): void => {\n this.changePeriod();\n },\n },\n },\n\n yAxis: {\n min: 0,\n tickAmount: 5,\n title: {\n text: '',\n },\n gridLineColor: '#2b3644',\n gridLineWidth: 2,\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 120,\n tickColor: '#2b3644',\n labels: {\n y: -8,\n align: 'left',\n x: -120,\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n format: '{value} ' + this.variablesService.defaultCurrency,\n },\n },\n\n xAxis: {\n type: 'datetime',\n gridLineColor: '#2b3644',\n lineColor: '#2b3644',\n lineWidth: 2,\n tickWidth: 2,\n tickLength: 10,\n tickColor: '#2b3644',\n labels: {\n style: {\n color: '#e0e0e0',\n fontSize: '13px',\n },\n },\n minPadding: 0,\n maxPadding: 0,\n minRange: 86400000,\n // tickInterval: 86400000,\n minTickInterval: 3600000,\n },\n\n tooltip: {\n enabled: false,\n },\n\n plotOptions: {\n area: {\n fillColor: {\n linearGradient: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n },\n stops: [\n [0, 'rgba(124,181,236,0.2)'],\n [1, 'rgba(124,181,236,0)'],\n ],\n },\n marker: {\n enabled: false,\n radius: 2,\n },\n lineWidth: 2,\n threshold: null,\n },\n\n series: {\n point: {\n events: {\n mouseOver: (obj): void => {\n this.selectedDate.date = obj.target['x'];\n this.selectedDate.amount = obj.target['y'];\n },\n },\n },\n events: {\n mouseOut: (): void => {\n this.selectedDate.date = null;\n this.selectedDate.amount = null;\n },\n },\n },\n },\n series: [\n {\n type: 'area',\n data: data,\n },\n ],\n });\n }\n\n getMiningHistory(): void {\n if (this.variablesService.currentWallet.loaded) {\n this.backend.getMiningHistory(this.variablesService.currentWallet.wallet_id, (status, data) => {\n this.total = new BigNumber(0);\n this.pending.list = [];\n this.pending.total = new BigNumber(0);\n this.originalData = [];\n if (data.mined_entries) {\n data.mined_entries.forEach((item, key) => {\n if (item.t.toString().length === 10) {\n data.mined_entries[key].t = new Date(item.t * 1000).setUTCMilliseconds(0);\n }\n });\n data.mined_entries.forEach(item => {\n this.total = this.total.plus(item.a);\n if (this.variablesService.height_app - item.h < 10) {\n this.pending.list.push(item);\n this.pending.total = this.pending.total.plus(item.a);\n }\n this.originalData.push([parseInt(item.t, 10), parseFloat(this.intToMoneyPipe.transform(item.a))]);\n });\n this.originalData = this.originalData.sort(function (a, b) {\n return a[0] - b[0];\n });\n }\n this.ngZone.run(() => {\n this.drawChart([]);\n });\n });\n }\n }\n\n changePeriod(period?): void {\n if (!this.chart) { return; }\n\n if (period) {\n this.periods.forEach(p => {\n p.active = false;\n });\n period.active = true;\n } else {\n period = this.periods.find(p => p.active);\n }\n\n const d = new Date();\n let min = null;\n const newData = [];\n\n const group = this.groups.find(g => g.active);\n\n if (period.key === '1 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7, 0, 0, 0, 0);\n } else if (period.key === '2 week') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 14, 0, 0, 0, 0);\n } else if (period.key === '1 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 1, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '3 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 3, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '6 month') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear(), d.getMonth() - 6, d.getDate(), 0, 0, 0, 0);\n } else if (period.key === '1 year') {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n min = Date.UTC(d.getFullYear() - 1, d.getMonth(), d.getDate(), 0, 0, 0, 0);\n } else {\n this.originalData.forEach(item => {\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\n const find = newData.find(itemNew => itemNew[0] === time);\n if (find) {\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\n } else {\n newData.push([time, item[1]]);\n }\n });\n this.chart.ref?.series[0].setData(newData, true);\n }\n\n this.chart.ref?.xAxis[0].setExtremes(min, null);\n }\n\n changeGroup(group): void {\n this.groups.forEach(g => {\n g.active = false;\n });\n group.active = true;\n this.changePeriod();\n }\n}\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { GetAssetInfoPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ProposalDetails } from '@api/models/swap.model';\n\n@Component({\n selector: 'app-swap-confirm-master-password',\n standalone: true,\n imports: [CommonModule, FlexModule, ReactiveFormsModule, TranslateModule, IntToMoneyPipeModule, GetAssetInfoPipe],\n templateUrl: './swap-confirm-master-password.component.html',\n styleUrls: ['./swap-confirm-master-password.component.scss'],\n})\nexport class SwapConfirmMasterPasswordComponent {\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n confirmForm = this.fb.group(\n {\n password: this.fb.control(''),\n appPass: this.fb.control(this.variablesService.appPass || ''),\n },\n { validators: [ZanoValidators.formMatch('password', 'appPass', 'passwordNotMatch')] }\n );\n\n data: { proposalDetails: ProposalDetails } = inject(DIALOG_DATA);\n\n dialogRef = inject(DialogRef);\n}\n","
\n
\n
\n

\n {{ 'CONFIRM.TITLE' | translate }}\n

\n\n
\n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }}\n {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
\n \n {{ item.amount | intToMoney }}\n {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}\n
\n
\n
\n
\n
\n\n
\n \n \n
\n
\n {{ 'LOGIN.FORM_ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, take, takeUntil } from 'rxjs/operators';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { IntToMoneyPipeModule } from '@parts/pipes';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { SwapConfirmMasterPasswordComponent } from '../../modals/swap-confirm-master-password/swap-confirm-master-password.component';\nimport { ProposalDetails } from '@api/models/swap.model';\nimport { GetAssetInfoPipe } from '@parts/pipes/get-asset-info.pipe';\n\n@Component({\n selector: 'app-confirm-swap',\n standalone: true,\n imports: [\n CommonModule,\n BreadcrumbsComponent,\n RouterLinkWithHref,\n InputValidateModule,\n TranslateModule,\n ReactiveFormsModule,\n IntToMoneyPipeModule,\n GetAssetInfoPipe,\n ],\n templateUrl: './confirm-swap.component.html',\n styleUrls: ['./confirm-swap.component.scss'],\n})\nexport class ConfirmSwapComponent implements OnInit, OnDestroy {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CONFIRM_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n errorRpc: { code: number; message: string } | undefined;\n\n variablesService = inject(VariablesService);\n\n fb = inject(NonNullableFormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n proposalDetails: ProposalDetails | undefined;\n\n hex_raw_proposal: string | undefined;\n\n private backendService = inject(BackendService);\n\n private router = inject(Router);\n\n private ngZone = inject(NgZone);\n\n private dialog = inject(Dialog);\n\n private destroy$ = new Subject();\n\n ngOnInit(): void {\n this.form.controls.hex_raw_proposal.valueChanges\n .pipe(distinctUntilChanged(), debounceTime(500), takeUntil(this.destroy$))\n .subscribe({\n next: (hex_raw_proposal: string) => {\n this.hex_raw_proposal = hex_raw_proposal;\n this.getProposalDetails(hex_raw_proposal);\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n swapConfirmMasterPasswordDialog(): void {\n const proposalDetails = this.proposalDetails;\n const config: DialogConfig = {\n data: {\n proposalDetails,\n },\n disableClose: true,\n width: '54rem',\n maxHeight: '90vh',\n };\n this.dialog\n .open(SwapConfirmMasterPasswordComponent, config)\n .closed.pipe(filter(Boolean), take(1))\n .subscribe({\n next: () => this.acceptProposal(),\n });\n }\n\n acceptProposal(): void {\n if (!this.hex_raw_proposal) {\n return;\n }\n const { wallet_id } = this.variablesService.currentWallet;\n const hex_raw_proposal = this.hex_raw_proposal;\n\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'ionic_swap_accept_proposal',\n params: { hex_raw_proposal },\n };\n this.backendService.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this.ngZone.run(() => {\n if (response_data.result?.['result_tx_id']) {\n this.router.navigate(['/wallet/history']).then();\n } else {\n this.errorRpc = response_data.error;\n }\n });\n });\n }\n\n private getProposalDetails(hex_raw_proposal: string): void {\n const { wallet_id } = this.variablesService.currentWallet;\n\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'ionic_swap_get_proposal_info',\n params: { hex_raw_proposal },\n };\n\n this.backendService.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this.ngZone.run(() => {\n const proposal = response_data?.result?.['proposal'];\n if (proposal) {\n this.proposalDetails = proposal;\n this.errorRpc = undefined;\n } else {\n this.proposalDetails = undefined;\n this.errorRpc = response_data.error;\n }\n });\n });\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n
\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL1' | translate }}\n
\n\n
\n

{{ item.amount | intToMoney }} {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}

\n
\n
\n\n
\n\n
\n
\n {{ 'CONFIRM_SWAP.FORM.TABLE.LABELS.LABEL2' | translate }}\n
\n
\n

\n {{ item.amount | intToMoney }}\n {{ (item.asset_id | getAssetInfo)?.ticker || '???' }}\n

\n
\n
\n
\n
\n\n
\n \n\n \n {{ 'CONFIRM_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n\n
\n {{ 'ERRORS.INVALID_PROPOSAL' | translate }}\n
\n
\n
\n","import { Component, inject, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { AbstractControl, FormBuilder, FormControl, FormsModule, ReactiveFormsModule, ValidationErrors, Validators } from '@angular/forms';\nimport {\n IntToMoneyPipe,\n IntToMoneyPipeModule,\n MoneyToIntPipe,\n MoneyToIntPipeModule,\n ShortStringPipe\n} from '@parts/pipes';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { AssetBalance, AssetInfo } from '@api/models/assets.model';\nimport { defaultImgSrc, zanoAssetInfo } from '@parts/data/assets';\nimport { regExpAliasName } from '@parts/utils/zano-validators';\nimport { BackendService } from '@api/services/backend.service';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { delay, filter, map, retry, startWith, take, takeUntil, tap } from 'rxjs/operators';\nimport { Aliases } from '@api/models/alias.model';\nimport { WrapInfoService } from '@api/services/wrap-info.service';\nimport { WrapInfo } from '@api/models/wrap-info';\nimport { BigNumber } from 'bignumber.js';\nimport { assetHasNotBeenAddedToWallet, insuficcientFunds } from '@parts/utils/zano-errors';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { LoaderComponent } from '@parts/components/loader.component';\nimport { Wallet } from '@api/models/wallet.model';\n\n@Component({\n selector: 'app-create-swap',\n standalone: true,\n imports: [\n CommonModule,\n RouterLinkWithHref,\n TranslateModule,\n BreadcrumbsComponent,\n InputValidateModule,\n ReactiveFormsModule,\n DefaultImgModule,\n NgSelectModule,\n LowerCaseDirective,\n ShortStringPipe,\n FormsModule,\n IntToMoneyPipeModule,\n MoneyToIntPipeModule,\n LoaderComponent,\n ],\n templateUrl: './create-swap.component.html',\n styleUrls: ['./create-swap.component.scss'],\n})\nexport class CreateSwapComponent implements OnInit, OnDestroy {\n zanoAssetInfo = zanoAssetInfo;\n\n defaultImgSrc = defaultImgSrc;\n\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM1',\n },\n {\n title: 'CREATE_SWAP.BREADCRUMBS.ITEM2',\n },\n ];\n\n variablesService = inject(VariablesService);\n\n fb = inject(FormBuilder);\n\n aliasAddress: string;\n\n loading$ = new BehaviorSubject(false);\n\n isWrapShown = false;\n\n aliases$ = new BehaviorSubject([]);\n\n isVisibleDropdownAliases$ = new BehaviorSubject(false);\n\n isVisibleDropdownAliasesObservable$ = this.isVisibleDropdownAliases$.pipe(delay(150));\n\n lowerCaseDisabled$ = new BehaviorSubject(true);\n\n intToMoneyPipe = inject(IntToMoneyPipe);\n\n moneyToIntPipe = inject(MoneyToIntPipe);\n\n wrapInfoService = inject(WrapInfoService);\n\n wrapInfo: WrapInfo;\n\n errorRpc: { code: number; message: string } = null;\n\n private backendService = inject(BackendService);\n\n private ngZone = inject(NgZone);\n\n private router = inject(Router);\n\n private destroy$ = new Subject();\n\n private moneyToInt = inject(MoneyToIntPipe);\n\n currentWallet: Wallet = this.variablesService.currentWallet;\n\n allAssetsInfo = this.currentWallet.allAssetsInfo;\n\n form = this.fb.group(\n {\n sending: this.fb.group({\n amount: this.fb.control(null, {\n validators: [\n Validators.required,\n Validators.min(0.000000000001),\n (control: FormControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n if (control.value === 0) {\n return { zero: true };\n }\n const bigAmount = this.moneyToInt.transform(control.value) as BigNumber;\n if (this.isWrapShown) {\n if (!this.wrapInfo) {\n return { wrap_info_null: true };\n }\n if (bigAmount.isGreaterThan(new BigNumber(this.wrapInfo.unwraped_coins_left))) {\n return { great_than_unwraped_coins: true };\n }\n if (bigAmount.isLessThan(new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20))) {\n return { less_than_zano_needed: true };\n }\n }\n return null;\n },\n (control: FormControl): ValidationErrors | null => {\n const asset_id = this.form?.controls.sending.controls.asset_id.value;\n if (!asset_id) {\n return null;\n }\n\n const asset: AssetBalance | undefined = this.variablesService.currentWallet.balances?.find(\n v => v.asset_info.asset_id === asset_id\n );\n if (asset) {\n const unlocked = +this.intToMoneyPipe.transform(asset.unlocked);\n return +control.value > unlocked ? { insuficcientFunds } : null;\n } else {\n return { assetHasNotBeenAddedToWallet };\n }\n },\n ],\n }),\n asset_id: this.fb.control(zanoAssetInfo.asset_id, [Validators.required]),\n }),\n receiving: this.fb.group({\n amount: this.fb.control({ value: null, disabled: this.currentWallet.isEmptyAssetsInfoWhitelist }, [Validators.required, Validators.min(0.000000000001)]),\n asset_id: this.fb.control({\n value: this.currentWallet.isEmptyAssetsInfoWhitelist ? null : (this.allAssetsInfo[1].asset_id ?? zanoAssetInfo.asset_id),\n disabled: this.currentWallet.isEmptyAssetsInfoWhitelist\n }, [Validators.required]),\n }),\n receiverAddress: this.fb.control('', [\n Validators.required,\n (control: FormControl): ValidationErrors | null => {\n this.aliasAddress = '';\n if (control.value) {\n if (control.value.indexOf('@') !== 0) {\n this.backendService.validateAddress(control.value, (valid_status, data) => {\n this.ngZone.run(() => {\n this.isWrapShown = data.error_code === 'WRAP';\n if (valid_status === false && !this.isWrapShown) {\n control.setErrors(Object.assign({ address_not_valid: true }, control.errors));\n } else {\n if (control.hasError('address_not_valid')) {\n delete control.errors['address_not_valid'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n }\n });\n });\n return control.hasError('address_not_valid') ? { address_not_valid: true } : null;\n } else {\n if (!regExpAliasName.test(control.value)) {\n return { alias_not_valid: true };\n } else {\n this.backendService.getAliasInfoByName(control.value.replace('@', ''), (alias_status, alias_data) => {\n this.ngZone.run(() => {\n this.aliasAddress = alias_data.address;\n if (alias_status) {\n if (control.hasError('alias_not_found')) {\n delete control.errors['alias_not_found'];\n if (Object.keys(control.errors).length === 0) {\n control.setErrors(null);\n }\n }\n } else {\n control.setErrors(Object.assign({ alias_not_found: true }, control.errors));\n }\n });\n });\n }\n return control.hasError('alias_not_found') ? { alias_not_found: true } : null;\n }\n }\n return null;\n },\n ]),\n },\n {\n validators: [\n (control: AbstractControl): ValidationErrors | null => {\n const condition = control.get('sending').get('asset_id').value === control.get('receiving').get('asset_id').value;\n if (condition) {\n control.get('receiving').get('asset_id').setErrors({ sameAssetsId: true });\n } else {\n control.get('receiving').get('asset_id').setErrors(null);\n }\n return null;\n },\n ],\n }\n );\n\n sendingAssetsInfo$: Observable;\n\n receivingAssetsInfo$: Observable;\n\n ngOnInit(): void {\n this.getWrapInfo();\n this.getAliases();\n this.setSendingAssetIdFromHistoryState();\n\n this.sendingAssetsInfo$ = this.form.controls.receiving.controls.asset_id.valueChanges.pipe(\n startWith(this.form.controls.receiving.controls.asset_id.value),\n map((asset_id) => this.allAssetsInfo.filter((v) => v.asset_id !== asset_id))\n );\n this.receivingAssetsInfo$ = this.form.controls.sending.controls.asset_id.valueChanges.pipe(\n startWith(this.form.controls.sending.controls.asset_id.value),\n map((asset_id) => this.allAssetsInfo.filter((v) => v.asset_id !== asset_id))\n );\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n reverse(): void {\n const { sending, receiving } = this.form.getRawValue();\n\n const markAllAsTouched = () => {\n this.form.controls.sending.markAllAsTouched();\n this.form.controls.receiving.markAllAsTouched();\n };\n\n markAllAsTouched();\n\n this.form.patchValue({\n sending: receiving,\n receiving: sending,\n });\n this.form.controls.sending.controls.amount.updateValueAndValidity();\n this.form.controls.receiving.controls.amount.updateValueAndValidity();\n }\n\n getReceivedValue(): number | BigNumber {\n const amount = this.moneyToInt.transform(this.form.getRawValue().receiving.amount);\n const needed = new BigNumber(this.wrapInfo.tx_cost.zano_needed_for_erc20);\n if (amount && needed) {\n return (amount as BigNumber).minus(needed);\n }\n return 0;\n }\n\n inputListenReceiverAddressField(event: any): void {\n const {\n target: { value },\n } = event;\n of((value ?? '') as string)\n .pipe(\n tap(v => this.lowerCaseDisabled$.next(v.indexOf('@') !== 0)),\n tap(v => this.isVisibleDropdownAliases$.next(!!v.length && v.indexOf('@') === 0)),\n filter(v => v.indexOf('@') === 0),\n take(1)\n )\n .subscribe({\n next: v => {\n const filteredAliases = this.variablesService.aliases.filter(({ name }) => {\n return name.indexOf(v) > -1;\n });\n this.aliases$.next(filteredAliases);\n },\n });\n }\n\n pasteListenReceiverAddressField(event: any): void {\n event.preventDefault();\n const { clipboardData } = event;\n let value = clipboardData.getData('Text') ?? '';\n this.lowerCaseDisabled$.next(value.indexOf('@') !== 0);\n\n if (value.indexOf('@') === 0) {\n value = value.toLowerCase();\n }\n this.form.controls.receiverAddress.patchValue(value);\n }\n\n beforeSubmit(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n this.form.updateValueAndValidity();\n return;\n }\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { sending, receiving, receiverAddress } = this.form.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const { default_fee_big } = this.variablesService;\n const params1: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'mw_select_wallet',\n params: { wallet_id },\n };\n const params2: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'ionic_swap_generate_proposal',\n params: {\n proposal: {\n to_finalizer: [\n {\n asset_id: sending.asset_id,\n amount: this.moneyToIntPipe.transform(sending.amount),\n },\n ],\n to_initiator: [\n {\n asset_id: receiving.asset_id,\n amount: this.moneyToIntPipe.transform(receiving.amount),\n },\n ],\n mixins: 10,\n fee_paid_by_a: default_fee_big,\n expiration_time: 0,\n },\n },\n };\n\n if (receiverAddress.indexOf('@') === 0) {\n const aliasName = receiverAddress;\n const alias = this.aliases$.value.find(({ name }) => name === aliasName);\n\n if (!alias) {\n this.form.controls.receiverAddress.setErrors({\n alias_not_found: true,\n });\n return;\n }\n\n params2.params['destination_address'] = alias.address;\n } else {\n params2.params['destination_address'] = receiverAddress;\n }\n\n this.backendService.call_wallet_rpc([wallet_id, params2], (status, response_data) => {\n if (response_data?.result) {\n this.ngZone.run(() => {\n this.router\n .navigateByUrl('/wallet/swap-proposal-hex', {\n state: {\n hex_raw_proposal: response_data.result['hex_raw_proposal'],\n },\n })\n .then();\n });\n } else {\n this.ngZone.run(() => {\n this.errorRpc = response_data.error;\n this.loading$.next(false);\n });\n }\n });\n }\n\n private setSendingAssetIdFromHistoryState(): void {\n const state = history.state || {};\n const asset: AssetBalance = state['asset'];\n if (asset) {\n const {\n asset_info: { asset_id },\n } = asset;\n this.form.patchValue({\n sending: {\n asset_id,\n },\n });\n }\n }\n\n private getAliases(): void {\n const { aliases } = this.variablesService;\n this.aliases$.next(aliases);\n }\n\n private getWrapInfo(): void {\n this.wrapInfoService\n .getWrapInfo()\n .pipe(\n tap(() => this.loading$.next(true)),\n retry(5),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: value => {\n this.wrapInfo = value;\n this.loading$.next(false);\n },\n error: () => {\n this.loading$.next(false);\n },\n });\n }\n}\n","
\n \n\n
\n \n
\n
\n \n \n \n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.GREAT_THAN_UNWRAPPED_COINS' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.LESS_THAN_ZANO_NEEDED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.WRAP_INFO_NULL' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ form.controls.sending.controls.amount.errors['insuficcientFunds'].errorText | translate }}\n
\n
\n {{ form.controls.sending.controls.amount.errors['assetHasNotBeenAddedToWallet'].errorText | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n {{ assetInfo.full_name || '---' }}\n \n \n
\n
\n \n\n
\n \n
\n\n \n
\n
\n \n \n \n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\n
\n
\n
\n\n
\n \n \n \n \n {{ assetInfo.full_name || '---' }}\n \n \n \n
\n {{ 'CREATE_SWAP.FORM.ERRORS.ERROR1' | translate }}\n
\n
\n \n \n \n\n
\n
\n {{ 'SEND.WRAP.TITLE' | translate }}\n \n
\n
\n {{ 'SEND.WRAP.MAIN_TEXT' | translate }}\n
\n
{{ 'SEND.WRAP.ESTIMATE' | translate }}
\n \n \n \n \n \n \n \n \n \n \n
{{ 'SEND.WRAP.WILL_RECEIVE' | translate }}\n {{ getReceivedValue() | intToMoney }}\n {{ 'SEND.WRAP.wZANO' | translate }}\n -
{{ 'SEND.WRAP.FEE' | translate }}\n {{ wrapInfo?.tx_cost?.zano_needed_for_erc20 | intToMoney : 3 }}\n {{ 'SEND.WRAP.ZANO' | translate }}\n ({{ '$' + wrapInfo.tx_cost?.usd_needed_for_erc20 }})\n
\n
\n\n
\n \n \n\n \n \n \n
\n = 2 && alias.name.length <= 6\"\n [class.pl-1]=\"alias.name.length > 6\"\n class=\"alias\"\n >\n
{{ alias.name }}
\n
\n
\n \n \n
Not found aliases
\n
\n \n \n\n \n
\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_FOUND' | translate }}\n
\n
\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\n
\n
\n {{ 'ERRORS.REQUIRED' | translate }}\n
\n \n\n
\n {{ aliasAddress | zanoShortString }}\n
\n \n\n
\n \n {{ 'CREATE_SWAP.FORM.BUTTONS.BUTTON2' | translate }}\n
\n\n
\n {{ 'ERRORS.INVALID_PROPOSAL' | translate }}\n
\n \n\n","import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { InputValidateModule } from '@parts/directives';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\nimport { Observable } from 'rxjs';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\n\n@Component({\n selector: 'app-swap-proposal-hex',\n standalone: true,\n imports: [CommonModule, BreadcrumbsComponent, RouterLinkWithHref, InputValidateModule, TranslateModule, ReactiveFormsModule],\n templateUrl: './swap-proposal-hex.component.html',\n styleUrls: ['./swap-proposal-hex.component.scss'],\n})\nexport class SwapProposalHexComponent implements OnInit, IDeactivateComponent {\n breadcrumbItems: BreadcrumbItems = [\n {\n routerLink: '/wallet/swap',\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM1',\n },\n {\n title: 'SWAP_PROPOSAL_HEX.BREADCRUMBS.ITEM2',\n },\n ];\n\n copyAnimation = false;\n\n copyAnimationTimeout: any;\n\n fb = inject(FormBuilder);\n\n form = this.fb.group({\n hex_raw_proposal: this.fb.control('', [Validators.required]),\n });\n\n private backendService = inject(BackendService);\n\n private dialog = inject(Dialog);\n\n ngOnInit(): void {\n this.setSwapProposalHexFromHistoryState();\n }\n\n copy(): void {\n const { hex_raw_proposal } = this.form.getRawValue();\n this.backendService.setClipboard(hex_raw_proposal);\n this.copyAnimation = true;\n this.copyAnimationTimeout = setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n\n canExit(): Observable | Promise | boolean {\n const dialogConfig: DialogConfig = {\n disableClose: true,\n data: {\n title: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.TITLE',\n message: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.MESSAGE',\n buttons: {\n submit: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.SUBMIT',\n close: 'SWAP_PROPOSAL_HEX.MODALS.CONFIRM_MODAL.BUTTONS.CLOSE',\n },\n },\n };\n const dialogRef = this.dialog.open(ConfirmModalComponent, dialogConfig);\n return dialogRef.closed;\n }\n\n private setSwapProposalHexFromHistoryState(): void {\n const historyState = history.state || {};\n const hex_raw_proposal = historyState['hex_raw_proposal'];\n if (hex_raw_proposal) {\n this.form.controls.hex_raw_proposal.patchValue(hex_raw_proposal, { emitEvent: false });\n }\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n
\n \n\n \n {{ 'SWAP_PROPOSAL_HEX.FORM.BUTTONS.BUTTON2' | translate }}\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-swap',\n standalone: true,\n imports: [CommonModule, FlexModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './swap.component.html',\n styleUrls: ['./swap.component.scss'],\n})\nexport class SwapComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IDeactivateComponent } from '@parts/interfaces/deactivete-component.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SwapProposalHexGuard implements CanDeactivate {\n canDeactivate(\n component: IDeactivateComponent,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot\n ): Observable | Promise | boolean | UrlTree {\n return component.canExit ? component.canExit() : true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { paths, pathsChildrenWallet } from '../paths';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WithSidebarLayoutComponent } from '../../layouts/with-sidebar-layout/with-sidebar-layout.component';\nimport { ConfirmSwapComponent } from './tabs/swap/pages/confirm-swap/confirm-swap.component';\nimport { SwapComponent } from './tabs/swap/pages/swap/swap.component';\nimport { CreateSwapComponent } from './tabs/swap/pages/create-swap/create-swap.component';\nimport { SwapProposalHexComponent } from './tabs/swap/pages/swap-proposal-hex/swap-proposal-hex.component';\nimport { SwapProposalHexGuard } from './tabs/swap/parts/guards/swap-proposal-hex.guard';\n\nconst routes: Routes = [\n {\n path: paths.wallet,\n component: WithSidebarLayoutComponent,\n children: [\n {\n path: '',\n component: WalletComponent,\n children: [\n {\n path: pathsChildrenWallet.assets,\n component: AssetsComponent,\n },\n {\n path: pathsChildrenWallet.send,\n component: SendComponent,\n },\n {\n path: pathsChildrenWallet.receive,\n component: ReceiveComponent,\n },\n {\n path: pathsChildrenWallet.history,\n component: HistoryComponent,\n },\n {\n path: pathsChildrenWallet.staking,\n component: StakingComponent,\n },\n {\n path: 'swap',\n component: SwapComponent,\n },\n {\n path: 'create-swap',\n component: CreateSwapComponent,\n },\n {\n path: 'swap-proposal-hex',\n component: SwapProposalHexComponent,\n canDeactivate: [SwapProposalHexGuard],\n },\n {\n path: 'confirm-swap',\n component: ConfirmSwapComponent,\n },\n {\n path: '',\n redirectTo: pathsChildrenWallet.assets,\n pathMatch: 'full',\n },\n ],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class WalletRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WalletRoutingModule } from './wallet-routing.module';\nimport { AssetsComponent } from './tabs/assets/assets.component';\nimport { WalletComponent } from './wallet/wallet.component';\nimport { FlexLayoutModule, FlexModule } from '@angular/flex-layout';\nimport { TooltipModule } from '@parts/directives/tooltip/tooltip.module';\nimport {\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n IntToMoneyPipeModule,\n IsAvailableAliasNamePipeModule, ShortStringPipe,\n} from '@parts/pipes';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmModalModule } from '@parts/modals/confirm-modal/confirm-modal.module';\nimport { ExportHistoryModalModule } from './wallet/modals/export-history-modal/export-history-modal.module';\nimport { WalletDetailsComponent } from '../wallet-details/wallet-details.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { DefaultImgModule, InputValidateModule, LowerCaseDirective } from '@parts/directives';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { HistoryComponent } from './tabs/history/history.component';\nimport { StakingComponent } from './tabs/staking/staking.component';\nimport { ChartModule } from 'angular-highcharts';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ReceiveComponent } from './tabs/receive/receive.component';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { SendComponent } from './tabs/send/send.component';\nimport { ExportImportComponent } from '../export-import/export-import.component';\nimport { AssetDetailsModule } from '@parts/modals/asset-details/asset-details.module';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { CopyButtonComponent } from '@parts/components/copy-button.component';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\nimport { TransactionDetailsComponent } from '@parts/components/transaction-details.component';\nimport { BreadcrumbsComponent } from '@parts/components/breadcrumbs/breadcrumbs.component';\nimport { BackButtonComponent } from '@parts/components/back-button/back-button.component';\nimport { WalletModalsModule } from './tabs/send/modals/wallet-modals.module';\nimport { GetAssetInfoPipe } from '@parts/pipes/get-asset-info.pipe';\nimport { MigrateWalletToZarcanumComponent } from './wallet/modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component';\nimport { SuccessSweepBareOutsComponent } from './wallet/modals/success-sweep-bare-outs/success-sweep-bare-outs.component';\n\n@NgModule({\n declarations: [\n WalletComponent,\n AssetsComponent,\n WalletDetailsComponent,\n HistoryComponent,\n StakingComponent,\n ReceiveComponent,\n ExportImportComponent,\n SendComponent,\n MigrateWalletToZarcanumComponent,\n SuccessSweepBareOutsComponent,\n ],\n imports: [\n CommonModule,\n WalletRoutingModule,\n FlexModule,\n TooltipModule,\n ShortStringPipe,\n TranslateModule,\n IsAvailableAliasNamePipeModule,\n ConfirmModalModule,\n ExportHistoryModalModule,\n ReactiveFormsModule,\n OverlayModule,\n DefaultImgModule,\n NgxPaginationModule,\n SwitchComponent,\n ChartModule,\n NgSelectModule,\n FormsModule,\n FlexLayoutModule,\n StakingSwitchComponent,\n DialogModule,\n IntToMoneyPipeModule,\n ContractStatusMessagesPipeModule,\n HistoryTypeMessagesPipeModule,\n InputValidateModule,\n CheckboxComponent,\n AssetDetailsModule,\n CopyButtonComponent,\n TransactionDetailsComponent,\n LowerCaseDirective,\n BreadcrumbsComponent,\n BackButtonComponent,\n WalletModalsModule,\n GetAssetInfoPipe,\n ],\n})\nexport class WalletModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject } from '@angular/core';\nimport { FormControl, NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ZanoValidators } from '@parts/utils/zano-validators';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { AssetBalance, ParamsAddCustomAssetId } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { wrongAssetId } from '@parts/utils/zano-errors';\nimport { BehaviorSubject } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from '@angular/flex-layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LoaderComponent } from '@parts/components/loader.component';\n\n@Component({\n selector: 'app-add-custom-token',\n standalone: true,\n template: `\n \n
\n

\n {{ 'WALLET.MODAL_ADD_CUSTOM_TOKEN.TITLE' | translate }}\n

\n\n
\n \n \n \n
{{ 'WALLET.MODAL_ADD_CUSTOM_TOKEN.FORM_ERRORS.ERROR1' | translate }}
\n
\n {{ formGroup.get('asset_id').errors['wrongAssetId'].errorText | translate }}\n
\n
\n
\n
\n\n
\n \n \n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n imports: [CommonModule, FlexModule, TranslateModule, ReactiveFormsModule, LoaderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AddCustomTokenComponent {\n private fb = inject(NonNullableFormBuilder);\n\n private cdr = inject(ChangeDetectorRef);\n\n loading$ = new BehaviorSubject(false);\n\n formGroup = this.fb.group<{ asset_id: FormControl }>({\n asset_id: this.fb.control('', Validators.compose([Validators.required, ZanoValidators.hash, Validators.maxLength(64)])),\n });\n\n constructor(\n public variablesService: VariablesService,\n public backendService: BackendService,\n private walletsService: WalletsService,\n private dialogRef: DialogRef\n ) {}\n\n beforeSubmit(): void {\n if (this.formGroup.invalid) {\n this.formGroup.markAsTouched();\n this.formGroup.updateValueAndValidity();\n return;\n }\n\n this.submit();\n }\n\n submit(): void {\n this.loading$.next(true);\n const { asset_id } = this.formGroup.getRawValue();\n const { wallet_id } = this.variablesService.currentWallet;\n const params: ParamsAddCustomAssetId = {\n asset_id,\n wallet_id,\n };\n this.backendService.addCustomAssetId(params, (status, { asset_descriptor }) => {\n if (status) {\n const asset: AssetBalance = {\n asset_info: {\n ...asset_descriptor,\n asset_id,\n },\n awaiting_in: 0,\n awaiting_out: 0,\n total: 0,\n unlocked: 0,\n };\n this.walletsService.updateWalletInfo(wallet_id);\n this.dialogRef.close(asset);\n } else {\n this.formGroup.controls.asset_id.setErrors({\n wrongAssetId,\n });\n this.loading$.next(false);\n this.cdr.detectChanges();\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { DialogRef } from '@angular/cdk/dialog';\n\n@Component({\n selector: 'app-export-history-modal',\n template: `\n \n
\n

\n {{ 'EXPORT_HISTORY.TITLE' | translate }}\n

\n\n
\n
\n \n \n \n {{ item.formatName }}\n \n \n {{ item.formatName }}\n \n \n
\n\n
\n {{ 'EXPORT_HISTORY.FILTER' | translate }}\n \n
\n
\n\n
\n \n \n
\n
\n \n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ExportHistoryModalComponent {\n posFilterIsOn = true;\n\n currentFormat: string;\n\n exportData = {\n wallet_id: 0,\n include_pos_transactions: false,\n path: 'C:\\\\some_file.txt',\n format: 'json',\n };\n\n exportFormats = [\n {\n format: 'json',\n formatName: 'JSON',\n },\n {\n format: 'text',\n formatName: 'Text',\n },\n {\n format: 'csv',\n formatName: 'CSV',\n },\n ];\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private translate: TranslateService,\n private dialogRef: DialogRef\n ) {\n this.currentFormat = this.exportFormats[0].format;\n }\n\n closeModal(): void {\n this.dialogRef.close();\n }\n\n confirmExport(): void {\n this.exportData.format = `${this.currentFormat}`;\n this.exportData.wallet_id = this.variablesService.currentWallet.wallet_id;\n this.exportData.include_pos_transactions = this.posFilterIsOn;\n\n this.backend.saveFileDialog(\n this.translate.instant('EXPORT_HISTORY.SAVED_FILE'),\n `${this.exportData.format}`,\n this.variablesService.settings.default_path,\n (file_status, file_data) => {\n if (this.exportData.format === 'text') {\n this.exportData.path = file_data.path + '.txt';\n } else {\n this.exportData.path = file_data.path + `.${this.exportData.format}`;\n }\n if (file_status) {\n this.backend.exportWalletHistory(JSON.stringify(this.exportData));\n this.closeModal();\n }\n }\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ExportHistoryModalComponent } from './export-history-modal.component';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@parts/components/checkbox.component';\nimport { SwitchComponent } from '@parts/components/switch.component';\n\n@NgModule({\n declarations: [ExportHistoryModalComponent],\n exports: [ExportHistoryModalComponent],\n imports: [CommonModule, TranslateModule, FlexModule, SwitchComponent, CheckboxComponent, NgSelectModule, FormsModule],\n})\nexport class ExportHistoryModalModule {}\n","import { Component, inject, NgZone } from '@angular/core';\nimport { GetBareOutsStats, SweepBareOuts } from '@api/models/rpc.models';\nimport { Dialog, DIALOG_DATA, DialogConfig, DialogRef } from '@angular/cdk/dialog';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { SuccessSweepBareOutsComponent } from '../success-sweep-bare-outs/success-sweep-bare-outs.component';\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ZARCANUM_MIGRATION } from '@parts/data/constants';\n\n@Component({\n selector: 'app-migrate-wallet-to-zarcanum',\n templateUrl: './migrate-wallet-to-zarcanum.component.html',\n styleUrls: ['./migrate-wallet-to-zarcanum.component.scss'],\n})\nexport class MigrateWalletToZarcanumComponent {\n readonly dialogData: GetBareOutsStats = inject(DIALOG_DATA);\n private readonly _scrollStrategyOptions: ScrollStrategyOptions = inject(ScrollStrategyOptions);\n private readonly _scrollStrategyNoop: ScrollStrategy = this._scrollStrategyOptions.noop();\n private readonly _dialog = inject(Dialog);\n private readonly _dialogRef = inject(DialogRef);\n private readonly _backendService = inject(BackendService);\n private readonly _variableService = inject(VariablesService);\n private readonly _modalService = inject(ModalService);\n private readonly _ngZone = inject(NgZone);\n\n migrate(): void {\n const {\n currentWallet: { wallet_id },\n } = this._variableService;\n const params: ParamsCallRpc = { id: 0, jsonrpc: '2.0', method: 'sweep_bare_outs', params: {} };\n this._backendService.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this._ngZone.run(() => {\n if (response_data?.result) {\n const data = response_data.result;\n\n const dialogConfig: DialogConfig = {\n maxWidth: '90vw',\n width: '540px',\n scrollStrategy: this._scrollStrategyNoop,\n data,\n };\n\n this._dialog.open(SuccessSweepBareOutsComponent, dialogConfig);\n } else {\n const message = response_data.error;\n this._modalService.prepareModal('error', message);\n }\n\n this._dialogRef.close();\n });\n });\n }\n\n openZarcanumMigration(): void {\n this._backendService.openUrlInBrowser(ZARCANUM_MIGRATION);\n }\n}\n","
\n
\n

\n {{ 'MIGRATE_WALLET_TO_ZARCANUM.TITLE' | translate }}\n

\n\n
\n

\n {{ 'MIGRATE_WALLET_TO_ZARCANUM.TEXT1' | translate: {\n total_bare_outs: dialogData.total_bare_outs,\n total_amount: dialogData.total_amount | intToMoney\n } }}\n

\n

\n \n {{ 'MIGRATE_WALLET_TO_ZARCANUM.LINK1' | translate }}\n

\n
\n

\n {{ 'MIGRATE_WALLET_TO_ZARCANUM.TEXT2' | translate: {\n txs_count: dialogData.txs_count,\n expected_total_fee: dialogData.expected_total_fee | intToMoney\n } }}\n

\n
\n\n
\n \n
\n
\n
\n","import { Component, inject, OnInit } from '@angular/core';\nimport { SweepBareOuts } from '@api/models/rpc.models';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-success-sweep-bare-outs',\n templateUrl: './success-sweep-bare-outs.component.html',\n styleUrls: ['./success-sweep-bare-outs.component.scss']\n})\nexport class SuccessSweepBareOutsComponent {\n readonly dialogData: SweepBareOuts = inject(DIALOG_DATA);\n private readonly _dialogRef = inject(DialogRef);\n stateDetails$ = new BehaviorSubject(false);\n\n toggleDetails(): void {\n this.stateDetails$.next(!this.stateDetails$.value);\n }\n\n close(): void {\n this._dialogRef.close();\n }\n}\n","
\n
\n

\n {{ 'SEND_DETAILS_MODAL.TITLE1' | translate }}\n

\n\n
\n
\n
\n \"success\"\n
\n\n

\n {{\n 'TOR_LIB_STATE.STATE_SENT_SUCCESS' | translate\n }}\n

\n
\n\n
\n \n

\n {{ 'SEND_DETAILS_MODAL.TITLE2' | translate }}\n

\n \n
\n \n
    \n \n

    {{ 'SUCCESS_SWEEP_BARE_OUTS.DETAILS' | translate: {\n txs_sent: dialogData.txs_sent,\n bare_outs_swept: dialogData.bare_outs_swept,\n amount_swept: dialogData.amount_swept | intToMoney,\n fee_spent: dialogData.fee_spent | intToMoney } }}\n

    \n \n
\n
\n
\n
\n
\n \n
\n \n\n","import { Component, HostListener, NgZone, OnDestroy, OnInit } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService, Commands } from '@api/services/backend.service';\nimport { Subject, take } from 'rxjs';\nimport { StateKeys, Store, Sync } from '@store/store';\nimport { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';\nimport { hasOwnProperty } from '@parts/functions/hasOwnProperty';\nimport { Dialog, DialogConfig } from '@angular/cdk/dialog';\nimport { ConfirmModalComponent, ConfirmModalData } from '@parts/modals/confirm-modal/confirm-modal.component';\nimport { ExportHistoryModalComponent } from './modals/export-history-modal/export-history-modal.component';\nimport { AddCustomTokenComponent } from './modals/add-custom-token/add-custom-token.component';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n RouterEvent\n} from '@angular/router';\nimport { ZARCANUM_MIGRATION } from '@parts/data/constants';\nimport {\n MigrateWalletToZarcanumComponent\n} from './modals/migrate-wallet-to-zarcanum/migrate-wallet-to-zarcanum.component';\nimport { ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { ModalService } from '@parts/services/modal.service';\nimport { GetBareOutsStats } from '@api/models/rpc.models';\n\ninterface Tab {\n id: string;\n title: string;\n icon: string;\n link: string;\n disabled: boolean;\n hidden: boolean;\n indicator?: boolean;\n}\n\ntype TabNameKeys = 'assets' | 'history' | 'send' | 'receive' | 'swap' | 'staking';\n\nconst objTabs: { [key in TabNameKeys]: Tab } = {\n assets: {\n id: 'assets',\n title: 'WALLET.TABS.ASSETS',\n icon: 'balance-icon',\n link: '/assets',\n disabled: false,\n hidden: false\n },\n history: {\n id: 'history',\n title: 'WALLET.TABS.HISTORY',\n icon: 'time-circle',\n link: '/history',\n disabled: false,\n hidden: false\n },\n send: {\n id: 'send',\n title: 'WALLET.TABS.SEND',\n icon: 'arrow-up-square',\n link: '/send',\n disabled: false,\n hidden: false\n },\n receive: {\n id: 'receive',\n title: 'WALLET.TABS.RECEIVE',\n icon: 'arrow-down-square',\n link: '/receive',\n disabled: false,\n hidden: false\n },\n swap: {\n id: 'swap',\n title: 'Swap',\n icon: 'swap',\n link: '/swap',\n disabled: false,\n hidden: true\n },\n // TODO: https://github.com/hyle-team/zano/issues/374\n // contract: {\n // title: 'WALLET.TABS.CONTRACTS',\n // icon: 'document',\n // link: '/contracts',\n // disabled: false,\n // hidden: false\n // },\n staking: {\n id: 'staking',\n title: 'WALLET.TABS.STAKING',\n icon: 'staking',\n link: '/staking',\n indicator: false,\n disabled: false,\n hidden: false\n },\n};\n\n@Component({\n selector: 'app-wallet',\n template: `\n
\n
\n
\n
\n

\n {{ variablesService.currentWallet.address | zanoShortString }}\n

\n\n \n \n\n \n \n \n \n\n \n
\n {{ variablesService.currentWallet.alias.name }}\n
\n\n \n \n \n \n\n \n \n \n \n \n
\n
\n
\n \n
\n
\n \n\n
\n

{{ 'WALLET.MIGRATE.TEXT1' | translate }}

\n

\n \n {{ 'WALLET.MIGRATE.BUTTON1' | translate }}\n

\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n\n \n
\n
    \n
  • \n \n \n {{ 'WALLET_DETAILS.WALLET_OPTIONS' | translate }}\n \n
  • \n \n
  • \n \n \n {{ 'WALLET_DETAILS.ADD_CUSTOM_TOKEN' | translate }}\n \n
  • \n
    \n
  • \n \n \n {{ 'EXPORT_HISTORY.EXPORT_BUTTON' | translate }}\n \n
  • \n \n
  • \n \n {{ 'WALLET_DETAILS.RESYNC_WALLET_BUTTON' | translate }}\n \n
  • \n
    \n
  • \n \n {{ 'WALLET_DETAILS.BUTTON_REMOVE' | translate }}\n \n
  • \n
\n
\n \n\n
\n
\n \n \n \n \n \n
\n
\n \n\n
\n
\n

\n {{ 'Loading...' | translate }}\n

\n
\n
\n
\n
\n
\n `,\n})\nexport class WalletComponent implements OnInit, OnDestroy {\n settingsButtonInterval;\n\n settingsButtonDisabled = true;\n\n walletLoaded = false;\n\n openDropdown: boolean;\n\n walletSyncVisible = false;\n\n tabs: Tab[] = [];\n\n private destroy$ = new Subject();\n\n loader = true;\n\n scrollStrategyNoop: ScrollStrategy;\n\n constructor(\n private backend: BackendService,\n public variablesService: VariablesService,\n private ngZone: NgZone,\n private store: Store,\n private dialog: Dialog,\n private modalService: ModalService,\n private walletsService: WalletsService,\n private router: Router,\n private readonly scrollStrategyOptions: ScrollStrategyOptions\n ) {\n this.scrollStrategyNoop = this.scrollStrategyOptions.noop();\n\n if (!this.variablesService.currentWallet && this.variablesService.wallets.length > 0) {\n this.variablesService.setCurrentWallet(0);\n }\n this.walletLoaded = this.variablesService.currentWallet.loaded;\n\n this.variablesService.currentWalletChangedEvent\n .pipe(\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: (wallet: Wallet) => {\n this.createTabs(wallet);\n const disabled = !wallet.loaded;\n this.setDisabledTabs(['send', 'swap', 'staking'], disabled);\n\n this.variablesService.is_hardfok_active$.pipe(\n take(1)\n ).subscribe({\n next: (value) => {\n const hidden = !value;\n this.setHiddenTabs(['swap'], hidden);\n }\n });\n },\n });\n\n this.variablesService.is_hardfok_active$.pipe(\n takeUntil(this.destroy$)\n ).subscribe({\n next: (value) => {\n const hidden = !value;\n this.setHiddenTabs(['swap'], hidden);\n }\n });\n\n this.router.events.pipe(takeUntil(this.destroy$)).subscribe((e: RouterEvent) => {\n this.navigationInterceptor(e);\n });\n }\n\n navigationInterceptor(event: RouterEvent): void {\n if (event instanceof NavigationStart) {\n this.loader = true;\n }\n if (event instanceof NavigationEnd) {\n setTimeout(() => {\n this.loader = false;\n }, 500);\n }\n if (event instanceof NavigationCancel) {\n setTimeout(() => {\n this.loader = false;\n }, 500);\n }\n if (event instanceof NavigationError) {\n setTimeout(() => {\n this.loader = false;\n }, 500);\n }\n\n }\n\n createTabs({ is_auditable, is_watch_only }: Wallet): void {\n const conditionForHiding: boolean = !is_auditable || !is_watch_only;\n const tabs: Array = [];\n\n tabs.push(objTabs.assets);\n tabs.push(objTabs.history);\n\n if (conditionForHiding) {\n tabs.push(objTabs.send);\n }\n\n tabs.push(objTabs.receive);\n\n if (conditionForHiding) {\n tabs.push(objTabs.swap);\n }\n\n tabs.push(objTabs.staking);\n\n this.tabs = tabs;\n }\n\n @HostListener('document:keydown.shift', ['$event.key'])\n onKeyPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = true;\n }\n }\n\n @HostListener('document:keyup.shift', ['$event.key'])\n onKeyUpPressed(): void {\n if (!this.openDropdown) {\n this.walletSyncVisible = false;\n }\n }\n\n ngOnInit(): void {\n this.settingsButtonInterval = setInterval(() => {\n // tslint:disable-next-line:triple-equals\n if (this.variablesService.daemon_state == 2 || this.walletLoaded) {\n this.settingsButtonDisabled = false;\n clearInterval(this.settingsButtonInterval);\n }\n }, 1000);\n this.store\n .select(StateKeys.sync)\n .pipe(filter(Boolean), distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe({\n next: (value: any) => {\n const data = value.filter((item: Sync) => item.wallet_id === this.variablesService.currentWallet.wallet_id)[0];\n if (data && !data.sync) {\n let in_progress;\n const values = this.store.state.sync;\n if (values && values.length > 0) {\n in_progress = values.filter(item => item.sync);\n this.variablesService.sync_started = !!(in_progress && in_progress.length);\n if (!in_progress) {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n } else {\n this.variablesService.sync_started = false;\n this.variablesService.sync_wallets[data.wallet_id] = false;\n }\n }\n },\n });\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n this.variablesService.getAliasChangedEvent.pipe(takeUntil(this.destroy$)).subscribe({\n next: () => {\n if (hasOwnProperty(this.variablesService.currentWallet.alias, 'name')) {\n this.variablesService.currentWallet.wakeAlias = false;\n }\n },\n });\n this.updateWalletStatus();\n }\n\n toggleMenuDropdown(): void {\n if (!this.openDropdown) {\n this.openDropdown = true;\n } else {\n this.openDropdown = false;\n this.walletSyncVisible = false;\n }\n }\n\n resyncCurrentWallet(wallet_id: number): void {\n this.backend.resyncWallet(wallet_id);\n }\n\n close(wallet_id: number): void {\n const dialogConfig: DialogConfig = {\n data: {\n title: 'WALLET.CONFIRM.MESSAGE',\n message: 'WALLET.CONFIRM.TITLE',\n },\n };\n\n this.dialog\n .open(ConfirmModalComponent, dialogConfig)\n .closed\n .pipe(\n filter(Boolean),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: () => {\n this.walletsService.closeWallet(wallet_id);\n },\n });\n }\n\n addCustomToken(): void {\n this.dialog\n .open(AddCustomTokenComponent)\n .closed.pipe(\n filter(response_data => Boolean(response_data)),\n takeUntil(this.destroy$)\n )\n .subscribe({\n next: asset => {\n const dialogConfig: DialogConfig = {\n data: {\n asset,\n title: 'You added new asset',\n },\n };\n this.ngZone.run(() => {\n this.dialog.open(AssetDetailsComponent, dialogConfig);\n });\n },\n });\n }\n\n exportHistory(): void {\n this.dialog.open(ExportHistoryModalComponent);\n }\n\n openZarcanumMigration(): void {\n this.backend.openUrlInBrowser(ZARCANUM_MIGRATION);\n }\n\n openMigrateWalletToZarcanum(): void {\n const { currentWallet: { wallet_id }} = this.variablesService;\n const params: ParamsCallRpc = {\n id: 0, jsonrpc: '2.0', method: 'get_bare_outs_stats', params: {}\n\n };\n this.backend.call_wallet_rpc([wallet_id, params], (status, response_data) => {\n this.ngZone.run(() => {\n if (response_data?.result) {\n const data = response_data.result;\n\n const dialogConfig: DialogConfig = {\n maxWidth: '90vw',\n width: '540px',\n scrollStrategy: this.scrollStrategyNoop,\n data\n };\n this.dialog.open(MigrateWalletToZarcanumComponent, dialogConfig);\n } else {\n const message = response_data.error;\n this.modalService.prepareModal('error', message);\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n updateWalletStatus(): void {\n this.backend.eventSubscribe(Commands.wallet_sync_progress, data => {\n const wallet_id = data.wallet_id;\n if (wallet_id === this.variablesService.currentWallet.wallet_id) {\n this.ngZone.run(() => {\n this.walletLoaded = false;\n });\n }\n });\n this.backend.eventSubscribe(Commands.update_wallet_status, data => {\n const wallet_state = data.wallet_state;\n const wallet_id = data.wallet_id;\n this.ngZone.run(() => {\n if (wallet_id !== this.variablesService.currentWallet.wallet_id) {\n return;\n }\n\n if (wallet_state === 2) {\n this.walletLoaded = true;\n this.setDisabledTabs(['send', 'swap', 'staking'], false);\n } else {\n this.walletLoaded = false;\n this.setDisabledTabs(['send', 'swap', 'staking'], true);\n }\n });\n });\n }\n\n setHiddenTabs(ids: string[], hidden: boolean): void {\n this.tabs\n .forEach(tab => {\n if (ids.includes(tab.id)) {\n tab.hidden = hidden;\n }\n });\n }\n\n setDisabledTabs(ids: string[], disabled: boolean): void {\n this.tabs\n .forEach(tab => {\n if (ids.includes(tab.id)) {\n tab.disabled = disabled;\n }\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonModule } from '@parts/directives/back-button/back-button.module';\n\n@Component({\n selector: 'app-back-button',\n standalone: true,\n imports: [CommonModule, BackButtonModule],\n templateUrl: './back-button.component.html',\n styleUrls: ['./back-button.component.scss'],\n})\nexport class BackButtonComponent {}\n","\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbItems } from '@parts/components/breadcrumbs/breadcrumbs.models';\n\n@Component({\n selector: 'app-breadcrumbs',\n standalone: true,\n imports: [CommonModule, RouterLinkWithHref, TranslateModule],\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n})\nexport class BreadcrumbsComponent {\n @Input() items: BreadcrumbItems = [];\n}\n","
\n
\n \n {{ item.title | translate }}\n \n\n \n {{ item.title | translate }}\n \n
\n
\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-checkbox',\n template: `\n
\n \n \n
\n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() label = '';\n\n @Input() id = 'id-' + Math.random();\n\n @Input() disabled = false;\n\n @Input() readonly = false;\n\n @Output() emitChange = new EventEmitter();\n\n onChange!: (value: boolean) => void;\n\n onTouched!: () => void;\n\n handlerChange({ target }: Event): void {\n const { checked } = target as HTMLInputElement;\n this.value = checked;\n this.emitChange.emit(checked);\n if (this.onChange) {\n this.onChange(checked);\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-copy-button',\n template: `\n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class CopyButtonComponent {\n @Input() value: string;\n\n @Input() size: 'small' | 'big' = 'small';\n\n copyAnimation = false;\n\n copyAnimationTimeout;\n\n constructor(private backend: BackendService, public variablesService: VariablesService) {}\n\n copy(): void {\n this.backend.setClipboard(this.value || '');\n this.copyAnimation = true;\n this.copyAnimationTimeout = window.setTimeout(() => {\n this.copyAnimation = false;\n clearTimeout(this.copyAnimationTimeout);\n }, 2000);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\n\ntype LoaderType = 'circle' | 'circle-2' | 'circle-3' | 'dots' | 'dots-2' | 'pulse';\n\n@Component({\n selector: 'zano-loader',\n standalone: true,\n template: `\n \n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n \n
\n \n
\n
\n `,\n styles: [\n `\n /* Loader 1 */\n .loader-1 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-1-1 4.8s linear infinite;\n animation: loader-1-1 4.8s linear infinite;\n }\n\n @-webkit-keyframes loader-1-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-1-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-1 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n -webkit-animation: loader-1-2 1.2s linear infinite;\n animation: loader-1-2 1.2s linear infinite;\n }\n\n @-webkit-keyframes loader-1-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(220deg);\n }\n }\n\n @keyframes loader-1-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(220deg);\n }\n }\n\n .loader-1 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(0, 32px, 32px, 16px);\n border: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-1-3 1.2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-1-3 {\n 0% {\n -webkit-transform: rotate(-140deg);\n }\n 50% {\n -webkit-transform: rotate(-160deg);\n }\n 100% {\n -webkit-transform: rotate(140deg);\n }\n }\n\n @keyframes loader-1-3 {\n 0% {\n transform: rotate(-140deg);\n }\n 50% {\n transform: rotate(-160deg);\n }\n 100% {\n transform: rotate(140deg);\n }\n }\n\n /* Loader 2 */\n .loader-2 {\n display: block;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-2-1 3s linear infinite;\n animation: loader-2-1 3s linear infinite;\n }\n\n @-webkit-keyframes loader-2-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n clip: rect(16px, 32px, 32px, 0);\n -webkit-animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-2 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid transparent;\n border-top: 3px solid #fff;\n border-radius: 50%;\n -webkit-animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-2-3 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-2-3 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-2-3 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-2 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid rgba(255, 255, 255, 0.5);\n border-radius: 50%;\n }\n\n /* Loader 3 */\n .loader-3 {\n display: block;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-3 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 3px solid #fff;\n border-bottom: 3px solid transparent;\n border-radius: 50%;\n -webkit-animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-1 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 40% {\n -webkit-transform: rotate(180deg);\n }\n 60% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-3-1 {\n 0% {\n transform: rotate(0deg);\n }\n 40% {\n transform: rotate(180deg);\n }\n 60% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-3 span::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 6px;\n height: 6px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-3-2 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-3-2 {\n 0% {\n -webkit-transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n @keyframes loader-3-2 {\n 0% {\n transform: translate3d(0, -32px, 0) scale(0, 2);\n opacity: 0;\n }\n 50% {\n transform: translate3d(0, 0, 0) scale(1.25, 1.25);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 8px, 0) scale(0, 0);\n opacity: 0;\n }\n }\n\n /* Loader 4 */\n .loader-4 {\n height: 32px;\n width: 32px;\n }\n\n .loader-4::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 12px;\n height: 12px;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-1 {\n 0% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n 50% {\n -webkit-transform: scale(1);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(0);\n opacity: 0;\n }\n }\n\n @keyframes loader-4-1 {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n .loader-4 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n -webkit-animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-2 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 50% {\n -webkit-transform: rotate(180deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-4-2 {\n 0% {\n transform: rotate(0deg);\n }\n 50% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-4 span::before,\n .loader-4 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 12px;\n width: 12px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-4 span::after {\n -webkit-animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-4-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-4-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-4-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(16px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 5 */\n .loader-5 {\n height: 32px;\n width: 32px;\n -webkit-animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-1 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-1 {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n\n @keyframes loader-5-1 {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .loader-5::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: auto;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-2 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: auto;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-3 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-3 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-3 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(-24px, 0, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-5 span::before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: auto;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-4 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-4 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-4 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, 24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n .loader-5 span::after {\n content: '';\n display: block;\n position: absolute;\n top: auto;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n width: 8px;\n height: 8px;\n background: #fff;\n border-radius: 50%;\n -webkit-animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n animation: loader-5-5 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;\n }\n\n @-webkit-keyframes loader-5-5 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n -webkit-transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes loader-5-5 {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n 50% {\n transform: translate3d(0, -24px, 0) scale(0.5);\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n /* Loader 6 */\n .loader-6 {\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n }\n\n .loader-6 span::before,\n .loader-6 span::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n height: 32px;\n width: 32px;\n border: 2px solid #fff;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n animation: loader-6-1 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) infinite;\n }\n\n @-webkit-keyframes loader-6-1 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-1 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1.5);\n opacity: 0;\n }\n }\n\n .loader-6 span::after {\n -webkit-animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n animation: loader-6-2 1.5s cubic-bezier(0.075, 0.82, 0.165, 1) 0.25s infinite;\n }\n\n @-webkit-keyframes loader-6-2 {\n 0% {\n -webkit-transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n\n @keyframes loader-6-2 {\n 0% {\n transform: translate3d(0, 0, 0) scale(0);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 0;\n }\n }\n `,\n ],\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault],\n})\nexport class LoaderComponent {\n @Input()\n type: LoaderType = 'circle';\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ContextMenuComponent, ContextMenuModule, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-register-context-templates',\n template: ` \n {{ 'CONTEXT_MENU.COPY' | translate }}\n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n \n \n {{ 'CONTEXT_MENU.COPY' | translate }}\n \n\n \n {{ 'CONTEXT_MENU.PASTE' | translate }}\n {{ 'CONTEXT_MENU.SELECT' | translate }}\n `,\n standalone: true,\n imports: [CommonModule, ContextMenuModule, TranslateModule],\n providers: [ContextMenuService],\n})\nexport class RegisterContextTemplatesComponent implements OnInit {\n @ViewChild('allContextMenu', { static: true })\n public allContextMenu: ContextMenuComponent;\n\n @ViewChild('onlyCopyContextMenu', { static: true })\n public onlyCopyContextMenu: ContextMenuComponent;\n\n @ViewChild('pasteSelectContextMenu', { static: true })\n public pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n ngOnInit(): void {\n this.variablesService.allContextMenu = this.allContextMenu;\n this.variablesService.onlyCopyContextMenu = this.onlyCopyContextMenu;\n this.variablesService.pasteSelectContextMenu = this.pasteSelectContextMenu;\n }\n\n contextMenuCopy(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const canUseSelection = target[start] || target[start] === '0';\n const SelectedText = canUseSelection ? target['value'].substring(target[start], target[end]) : target['value'];\n this.backendService.setClipboard(String(SelectedText));\n }\n }\n\n contextMenuOnlyCopy(text): void {\n if (text) {\n this.backendService.setClipboard(String(text));\n }\n }\n\n contextMenuPaste(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n this.backendService.getClipboard((status, clipboard) => {\n clipboard = String(clipboard);\n if (typeof clipboard !== 'string' || clipboard.length) {\n const start = target['contextSelectionStart'] ? 'contextSelectionStart' : 'selectionStart';\n const end = target['contextSelectionEnd'] ? 'contextSelectionEnd' : 'selectionEnd';\n const _pre = target['value'].substring(0, target[start]);\n const _aft = target['value'].substring(target[end], target['value'].length);\n let text = _pre + clipboard + _aft;\n const cursorPosition = (_pre + clipboard).length;\n if (target['maxLength'] && parseInt(target['maxLength'], 10) > 0) {\n text = text.substr(0, parseInt(target['maxLength'], 10));\n }\n target['value'] = text;\n target.setSelectionRange(cursorPosition, cursorPosition);\n target.dispatchEvent(new Event('input'));\n target['focus']();\n }\n });\n }\n }\n\n contextMenuSelect(target): void {\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\n target['focus']();\n setTimeout(() => {\n target['select']();\n });\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '../services/variables.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-staking-switch',\n template: `\n
\n \n
\n `,\n styles: [],\n standalone: true,\n imports: [CommonModule],\n})\nexport class StakingSwitchComponent {\n @Input() wallet_id: number;\n\n @Input() staking: boolean;\n\n @Output() stakingChange = new EventEmitter();\n\n constructor(private backendService: BackendService, private variablesService: VariablesService) {}\n\n toggleStaking(): void {\n const wallet = this.variablesService.getWallet(this.wallet_id);\n if (wallet && wallet.loaded) {\n this.stakingChange.emit(!this.staking);\n if (!this.staking) {\n this.backendService.startPosMining(this.wallet_id);\n } else {\n this.backendService.stopPosMining(this.wallet_id);\n }\n }\n }\n}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-switch',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: inline-flex;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n },\n ],\n})\nexport class SwitchComponent implements ControlValueAccessor {\n @Input() value = false;\n\n @Input() disabled = false;\n\n @Output() emitChange = new EventEmitter();\n\n onTouched!: () => void;\n\n onChange!: (value: boolean) => void;\n\n toggle(): void {\n if (!this.disabled) {\n this.value = !this.value;\n this.emitChange.emit(this.value);\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: boolean): void {\n this.value = value;\n }\n}\n","import { Component } from '@angular/core';\nimport { VariablesService } from '../services/variables.service';\nimport { DOWNLOADS_PAGE_URL } from '@parts/data/constants';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-synchronization-status',\n template: `\n \n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }}\n {{ variablesService.sync.progress_value_text }}%\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\n
\n
\n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }}\n {{ variablesService.download.progress_value_text }}%\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n\n \n
\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\n
\n \n
\n \n\n
\n
\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\n
\n \n
\n \n `,\n styles: [],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class SynchronizationStatusComponent {\n constructor(public variablesService: VariablesService, private backend: BackendService) {}\n\n getUpdate(): void {\n this.backend.openUrlInBrowser(DOWNLOADS_PAGE_URL);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Transaction } from '@api/models/transaction.model';\nimport { VariablesService } from '../services/variables.service';\nimport { BackendService } from '@api/services/backend.service';\nimport { BLOCK_EXPLORER_TN_TX_URL_PREFIX, BLOCK_EXPLORER_TX_URL_PREFIX } from '../data/constants';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from '@parts/directives';\n\n@Component({\n selector: 'app-transaction-details',\n template: `\n \n \n \n \n \n {{ transaction.tx_hash }}\n \n \n \n \n \n \n \n \n

{{ asset_id }}

\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n {{ transaction.payment_id }}\n \n \n \n \n \n {{ transaction.comment }}\n \n \n \n
{{ 'HISTORY.DETAILS.ID' | translate }}{{ 'HISTORY.DETAILS.SIZE' | translate }}\n {{ 'HISTORY.DETAILS.SIZE_VALUE' | translate : { value: transaction.tx_blob_size } }}\n
{{ 'Asset ID' | translate }}{{ 'HISTORY.DETAILS.CONFIRMATION' | translate }}\n {{ transaction.height === 0 ? 0 : variablesService.height_app - transaction.height }}\n
{{ 'HISTORY.DETAILS.HEIGHT' | translate }}{{ transaction.height }}
{{ 'HISTORY.DETAILS.PAYMENT_ID' | translate }}
{{ 'HISTORY.DETAILS.COMMENT' | translate }}
\n `,\n styles: [\n `\n :host {\n display: block;\n padding: 2rem 0;\n }\n table tbody tr {\n background: none;\n }\n\n table tbody tr td {\n padding: 1rem 2rem;\n }\n `,\n ],\n standalone: true,\n imports: [CommonModule, TranslateModule, TooltipModule],\n})\nexport class TransactionDetailsComponent {\n @Input() transaction: Transaction;\n constructor(public variablesService: VariablesService, private backendService: BackendService) {}\n\n\n getAllUniqAssetId(transaction: Transaction): Set {\n const { employed_entries } = transaction;\n const { receive = [], spent = [] } = employed_entries;\n return new Set([...receive, ...spent].map(({ asset_id }) => asset_id));\n }\n\n openInBrowser(tr): void {\n this.backendService.openUrlInBrowser(\n (this.variablesService.testnet ? BLOCK_EXPLORER_TN_TX_URL_PREFIX : BLOCK_EXPLORER_TX_URL_PREFIX) + tr\n );\n }\n}\n","import { Component, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core';\nimport { Wallet } from '@api/models/wallet.model';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { BigNumber } from 'bignumber.js';\nimport { LOCKED_BALANCE_HELP_PAGE } from '@parts/data/constants';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { IntToMoneyPipe, IntToMoneyPipeModule } from '@parts/pipes';\nimport { BackendService } from '@api/services/backend.service';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchModule, TooltipModule } from '@parts/directives';\nimport { StakingSwitchComponent } from '@parts/components/staking-switch.component';\n\n@Component({\n selector: 'app-wallet-card',\n template: `\n
\n
\n
\n
\n \n {{ wallet.new_contracts }}\n \n\n \n {{ !wallet.alias['name'] ? wallet.name : wallet.alias['name'] }}\n \n
\n
\n
\n \n \n \n
\n
\n\n \n {{ wallet.getMoneyEquivalentForZano(variablesService.moneyEquivalent) | intToMoney | currency : 'USD' || '---' }}\n \n {{ variablesService.moneyEquivalentPercent | number : '1.2-2' }}%\n \n \n\n \n
\n {{ 'SIDEBAR.ACCOUNT.STAKING' | translate }}\n \n
\n
\n\n
\n
\n
\n
\n
{{ wallet.progress }}%
\n
\n
\n `,\n standalone: true,\n imports: [CommonModule, TooltipModule, TranslateModule, IntToMoneyPipeModule, StakingSwitchComponent, DisablePriceFetchModule],\n})\nexport class WalletCardComponent {\n @HostBinding('class') classAttr = 'wallet';\n\n @Input() wallet: Wallet;\n\n @Output() eventClose = new EventEmitter();\n\n constructor(\n public variablesService: VariablesService,\n private intToMoneyPipe: IntToMoneyPipe,\n private translate: TranslateService,\n private backend: BackendService\n ) {}\n\n getBalancesTooltip(): HTMLDivElement {\n const tooltip = document.createElement('div');\n const scrollWrapper = document.createElement('div');\n if (!this.wallet || !this.wallet.balances) {\n return null;\n }\n const { balances } = this.wallet;\n\n scrollWrapper.classList.add('balance-scroll-list');\n balances.forEach(({ unlocked, total, asset_info: { ticker } }) => {\n const available = document.createElement('span');\n available.setAttribute('class', 'available');\n available.innerText = `${this.translate.instant('WALLET.AVAILABLE_BALANCE')} `;\n const availableB = document.createElement('b');\n availableB.innerText = `${ this.intToMoneyPipe.transform(unlocked) } ${ ticker || '---' }`;\n available.appendChild(availableB);\n scrollWrapper.appendChild(available);\n\n const locked = document.createElement('span');\n locked.setAttribute('class', 'locked');\n locked.innerText = `${this.translate.instant('WALLET.LOCKED_BALANCE')} `;\n const lockedB = document.createElement('b');\n lockedB.innerText = `${ this.intToMoneyPipe.transform(new BigNumber(total).minus(unlocked)) } ${ ticker || '---' }`;\n locked.appendChild(lockedB);\n scrollWrapper.appendChild(locked);\n });\n tooltip.appendChild(scrollWrapper);\n const link = document.createElement('span');\n link.setAttribute('class', 'link');\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\n link.addEventListener('click', () => {\n this.backend.openUrlInBrowser(LOCKED_BALANCE_HELP_PAGE);\n });\n tooltip.appendChild(link);\n return tooltip;\n }\n}\n","import { AssetInfo } from '@api/models/assets.model';\n\nexport const zanoAssetInfo: AssetInfo & { logo: string; price_url: string; } = {\n asset_id: 'd6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a',\n current_supply: 0,\n decimal_point: 12,\n full_name: 'Zano',\n logo: 'assets/icons/currency-icons/zano.svg',\n meta_info: '',\n owner: '0000000000000000000000000000000000000000000000000000000000000000',\n price_url: 'https://explorer.zano.org/api/price?asset=zano',\n ticker: 'ZANO',\n total_max_supply: 0,\n};\n\nexport const defaultImgSrc = 'assets/icons/currency-icons/custom_token.svg';\n","export const MIXIN = 10; // default mixin value\nexport const RCV_ADDR_QR_SCALE = 1.5; // scale factor for QR code\n\nexport const AUDITABLE_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/auditable-wallets-faq';\nexport const CREATE_NEW_WALLET_HELP_PAGE = 'docs.zano.org/docs/use/wallets/gui-wallet';\nexport const LOCKED_BALANCE_HELP_PAGE = 'docs.zano.org/docs/use/locked-balance';\nexport const DOWNLOADS_PAGE_URL = 'zano.org/downloads';\nexport const ZARCANUM_MIGRATION = 'docs.zano.org/docs/use/zarcanum-migration/';\n\nexport const BLOCK_EXPLORER_TX_URL_PREFIX = 'explorer.zano.org/transaction/';\nexport const BLOCK_EXPLORER_TN_TX_URL_PREFIX = 'testnet-explorer.zano.org/transaction/';\n","import { ScaleItems } from '@api/models/scale.model';\n\nexport const scaleItems: ScaleItems = [\n {\n value: '8px',\n name: 'SETTINGS.SCALE.75',\n },\n {\n value: '10px',\n name: 'SETTINGS.SCALE.100',\n },\n {\n value: '12px',\n name: 'SETTINGS.SCALE.125',\n },\n {\n value: '14px',\n name: 'SETTINGS.SCALE.150',\n },\n];\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n standalone: true,\n})\nexport class AutoFocusDirective implements AfterViewInit {\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => this.elementRef.nativeElement.focus());\n }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { NavigationService } from '@parts/services/back.service';\n\n@Directive({\n selector: '[appBackButton]',\n})\nexport class BackButtonDirective {\n constructor(private navigationService: NavigationService) {}\n\n @HostListener('click')\n onClick(): void {\n this.navigationService.back();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackButtonDirective } from './back-button.directive';\n\n@NgModule({\n declarations: [BackButtonDirective],\n exports: [BackButtonDirective],\n imports: [CommonModule],\n})\nexport class BackButtonModule {}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[appDefaultImg]',\n})\nexport class DefaultImgDirective {\n @Input() defaultImgSrc!: string | null | undefined;\n @Input() defaultImgAlt: string | null | undefined;\n\n constructor(private elementRef: ElementRef) {}\n\n @HostListener('error')\n handlerOnError(): void {\n const elementImg: HTMLImageElement = this.elementRef.nativeElement;\n elementImg.onerror = null;\n elementImg.src = this.defaultImgSrc || '---';\n elementImg.alt = this.defaultImgAlt || '---';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DefaultImgDirective } from './default-img.directive';\n\n@NgModule({\n declarations: [DefaultImgDirective],\n exports: [DefaultImgDirective],\n imports: [CommonModule],\n})\nexport class DefaultImgModule {}\n","export * from './default-img.module';\n","import { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDisablePriceFetch]',\n})\nexport class DisablePriceFetchDirective implements OnDestroy {\n private destroy$: Subject = new Subject();\n\n constructor(\n private _variablesService: VariablesService,\n private _templateRef: TemplateRef,\n private _viewContainer: ViewContainerRef\n ) {\n this._variablesService.disable_price_fetch$.pipe(distinctUntilChanged(), takeUntil(this.destroy$)).subscribe({\n next: (disable_price_fetch: boolean) => {\n this._viewContainer.clear();\n if (!disable_price_fetch) {\n this._viewContainer.createEmbeddedView(this._templateRef);\n }\n },\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DisablePriceFetchDirective } from './disable-price-fetch.directive';\n\n@NgModule({\n declarations: [DisablePriceFetchDirective],\n imports: [CommonModule],\n exports: [DisablePriceFetchDirective],\n})\nexport class DisablePriceFetchModule {}\n","export * from './disable-price-fetch.directive';\nexport * from './disable-price-fetch.module';\n","export * from './default-img';\nexport * from './disable-price-fetch';\nexport * from './input-disable-selection';\nexport * from './input-validate';\nexport * from './tooltip';\nexport * from './lower-case.directive';\n","export * from './input-disable-selection.module';\nexport * from './input-disable-selection.directive';\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line\n selector: 'input',\n})\nexport class InputDisableSelectionDirective {\n @HostListener('mousedown', ['$event'])\n handleInput(event: Event): void {\n if ((event.target).readOnly) {\n event.preventDefault();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputDisableSelectionDirective } from '@parts/directives/input-disable-selection/input-disable-selection.directive';\n\n@NgModule({\n declarations: [InputDisableSelectionDirective],\n exports: [InputDisableSelectionDirective],\n imports: [CommonModule],\n})\nexport class InputDisableSelectionModule {}\n","export * from './input-validate.module';\nexport * from './input-validate.directive';\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\n\n@Directive({\n selector: '[appInputValidate]',\n})\nexport class InputValidateDirective {\n private type: string;\n\n constructor(private el: ElementRef, private variablesService: VariablesService) {}\n\n @Input('appInputValidate')\n public set defineInputType(type: string) {\n this.type = type;\n }\n\n @HostListener('input', ['$event'])\n handleInput(event: Event): void {\n if (this.type === 'money') {\n this.moneyValidation(event);\n } else if (this.type === 'integer') {\n this.integerValidation(event);\n }\n }\n\n private moneyValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n // eslint-disable-next-line\n const OnlyD = /[^\\d\\.]/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(',', '.').replace(OnlyD, '');\n }\n const _double_separator = currentValue.match(/\\./g);\n if (_double_separator && _double_separator.length > 1) {\n currentValue = currentValue.substr(0, currentValue.lastIndexOf('.'));\n }\n if (currentValue.indexOf('.') === 0) {\n currentValue = '0' + currentValue;\n }\n const _zero_fill = currentValue.split('.');\n if (_zero_fill[0].length > 7) {\n _zero_fill[0] = _zero_fill[0].substr(0, 7);\n }\n\n if (1 in _zero_fill && _zero_fill[1].length) {\n _zero_fill[1] = _zero_fill[1].substr(0, this.variablesService.digits);\n }\n currentValue = _zero_fill.join('.');\n if (currentValue !== originalValue) {\n (event.target).value = currentValue;\n const cursorPosition = (event.target).selectionEnd;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n (event.target).dispatchEvent(new Event('input'));\n }\n }\n\n private integerValidation(event: Event): void {\n let currentValue = (event.target).value;\n const originalValue = currentValue;\n const OnlyD = /\\D/g;\n const _has_error = currentValue.match(OnlyD);\n if (_has_error && _has_error.length) {\n currentValue = currentValue.replace(OnlyD, '');\n }\n if (currentValue !== originalValue) {\n const cursorPosition = (event.target).selectionEnd;\n (event.target).value = currentValue;\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputValidateDirective } from '@parts/directives/input-validate/input-validate.directive';\n\n@NgModule({\n declarations: [InputValidateDirective],\n exports: [InputValidateDirective],\n imports: [CommonModule],\n})\nexport class InputValidateModule {}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: 'input[lowerCase]:not([upperCase]),textarea[lowerCase]:not([upperCase])',\n standalone: true,\n})\nexport class LowerCaseDirective {\n @Input() lowerCaseValue: string;\n\n @Input() lowerCaseDisabled = false;\n\n private getCaret(el) {\n return {\n start: el.selectionStart,\n end: el.selectionEnd,\n };\n }\n\n private setCaret(el, start, end) {\n el.selectionStart = start;\n el.selectionEnd = end;\n\n el.focus();\n }\n\n private dispatchEvent(el, eventType) {\n const event = document.createEvent('Event');\n event.initEvent(eventType, false, false);\n el.dispatchEvent(event);\n }\n\n private convertValue(el, value) {\n el.value = value.toLowerCase();\n\n this.dispatchEvent(el, 'input');\n }\n\n @HostListener('blur', ['$event.target', '$event.target.value'])\n onBlur(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (\n (!this.lowerCaseValue || 'blur' === this.lowerCaseValue) &&\n 'function' === typeof value.toLowerCase &&\n value.toLowerCase() !== value\n ) {\n this.convertValue(el, value);\n this.dispatchEvent(el, 'blur'); // in case updateOn is set to blur\n }\n }\n\n @HostListener('input', ['$event.target', '$event.target.value'])\n onInput(el: any, value: string): void {\n if (this.lowerCaseDisabled) {\n return;\n }\n if (!this.lowerCaseValue && 'function' === typeof value.toLowerCase && value.toLowerCase() !== value) {\n let { start, end } = this.getCaret(el);\n\n if (value[0] === ' ' && start === 1 && end === 1) {\n start = 0;\n end = 0;\n }\n\n this.convertValue(el, value);\n\n this.setCaret(el, start, end);\n }\n }\n}\n","export * from './tooltip.directive';\nexport * from './tooltip.module';\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n // eslint-disable-next-line\n selector: '[tooltip]',\n})\nexport class TooltipDirective implements OnDestroy {\n @HostBinding('style.cursor') cursor;\n\n @Input('tooltip') tooltipInner: any;\n\n @Input() placement: string;\n\n @Input() tooltipClass: string;\n\n @Input() timeout = 0;\n\n @Input() timeDelay = 0;\n\n @Input() delay = 0;\n\n @Input() showWhenNoOverflow = true;\n\n @Output() eventHide = new EventEmitter();\n\n tooltip: HTMLElement;\n\n removeTooltipTimeout;\n\n removeTooltipTimeoutInner;\n\n removeTooltipTimeDelay;\n\n private enter: (event: MouseEvent) => void;\n\n private leave: (event: MouseEvent) => void;\n\n constructor(private el: ElementRef, private renderer: Renderer2, private sanitizer: DomSanitizer) {}\n\n @HostListener('mouseenter') onMouseEnter(): void {\n if (!this.tooltipInner) {\n return;\n }\n if (\n this.showWhenNoOverflow ||\n (!this.showWhenNoOverflow && this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth)\n ) {\n this.cursor = 'pointer';\n if (!this.tooltip) {\n if (this.timeDelay !== 0) {\n this.removeTooltipTimeDelay = setTimeout(() => {\n this.show();\n }, this.timeDelay);\n } else {\n this.show();\n }\n } else {\n this.cancelHide();\n }\n }\n }\n\n @HostListener('mouseleave') onMouseLeave(): void {\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.hide();\n }\n }\n\n show(): void {\n this.create();\n this.placement = this.placement === null ? 'top' : this.placement;\n this.setPosition(this.placement);\n }\n\n hide(): void {\n this.removeTooltipTimeout = setTimeout(() => {\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.removeTooltipTimeoutInner = setTimeout(() => {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip.removeEventListener('mouseenter', this.enter);\n this.tooltip.removeEventListener('mouseleave', this.leave);\n this.tooltip = null;\n this.eventHide.emit(true);\n }, this.delay);\n }, this.timeout);\n }\n\n cancelHide(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }\n\n create(): void {\n this.tooltip = this.renderer.createElement('div');\n let innerBlock = this.renderer.createElement('div');\n if (typeof this.tooltipInner === 'string') {\n innerBlock.innerText = this.sanitizer.sanitize(SecurityContext.HTML, this.tooltipInner);\n } else {\n if (this.tooltipInner) {\n innerBlock = this.tooltipInner;\n }\n }\n this.renderer.addClass(innerBlock, 'tooltip-inner');\n this.renderer.addClass(innerBlock, 'scrolled-content');\n this.renderer.appendChild(this.tooltip, innerBlock);\n this.renderer.appendChild(document.body, this.tooltip);\n\n this.enter = (): void => {\n this.cancelHide();\n };\n this.tooltip.addEventListener('mouseenter', this.enter);\n this.leave = (): void => {\n if (this.tooltip) {\n this.hide();\n }\n };\n this.tooltip.addEventListener('mouseleave', this.leave);\n\n this.renderer.setStyle(document.body, 'position', 'relative');\n this.renderer.setStyle(this.tooltip, 'position', 'absolute');\n if (this.tooltipClass !== null) {\n const classes = this.tooltipClass.split(' ');\n for (let i = 0; i < classes.length; i++) {\n this.renderer.addClass(this.tooltip, classes[i]);\n }\n }\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\n window.setTimeout(() => {\n return this.tooltip && this.renderer.setStyle(this.tooltip, 'opacity', '1');\n }, 0);\n }\n\n setPosition(placement): void {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-' + placement);\n const topExit =\n hostPos.top - this.tooltip.getBoundingClientRect().height - parseInt(getComputedStyle(this.tooltip).marginTop, 10) < 0;\n const bottomExit =\n window.innerHeight <\n hostPos.bottom + this.tooltip.getBoundingClientRect().height + parseInt(getComputedStyle(this.tooltip).marginTop, 10);\n\n switch (placement) {\n case 'top':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom');\n return;\n } else {\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-left':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'top-right':\n if (topExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('bottom-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\n this.checkSides();\n }\n break;\n case 'bottom':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'left',\n hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'\n );\n this.checkSides();\n }\n break;\n case 'bottom-left':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-left');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\n this.checkSides();\n }\n break;\n case 'bottom-right':\n if (bottomExit) {\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\n this.setPosition('top-right');\n return;\n } else {\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\n this.checkSides();\n }\n break;\n case 'left':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'left-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n break;\n case 'left-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n case 'right':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(\n this.tooltip,\n 'top',\n hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'\n );\n break;\n case 'right-top':\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n break;\n case 'right-bottom':\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\n break;\n }\n }\n\n checkSides(): void {\n if (this.tooltip.getBoundingClientRect().left < 0) {\n this.renderer.setStyle(this.tooltip, 'left', 0);\n }\n if (this.tooltip.getBoundingClientRect().right > window.innerWidth) {\n this.renderer.setStyle(this.tooltip, 'left', window.innerWidth - this.tooltip.getBoundingClientRect().width + 'px');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.removeTooltipTimeout);\n clearTimeout(this.removeTooltipTimeoutInner);\n clearTimeout(this.removeTooltipTimeDelay);\n if (this.tooltip) {\n this.renderer.removeChild(document.body, this.tooltip);\n this.tooltip = null;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [TooltipDirective],\n imports: [CommonModule],\n exports: [TooltipDirective],\n})\nexport class TooltipModule {}\n","export const hasOwnProperty = (obj: object, key: string): boolean => {\n if (Boolean(obj) && Boolean(key)) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n return false;\n};\n","import { Component, inject, Inject, NgZone, OnInit } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { AssetBalance } from '@api/models/assets.model';\nimport { zanoAssetInfo } from '@parts/data/assets';\nimport { BackendService } from '@api/services/backend.service';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\n\n@Component({\n selector: 'app-asset-details',\n template: `\n
\n
\n

\n {{ title | translate }}\n

\n \n
\n
\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.NAME' | translate }}\n
\n
{{ asset.asset_info.full_name }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.TICKER' | translate }}\n
\n
{{ asset.asset_info.ticker }}
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.ID' | translate }}\n
\n
\n {{ asset.asset_info.asset_id }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.CURRENT_SUPPLY' | translate }}\n
\n
\n {{\n asset.asset_info.asset_id === zanoAssetInfo.asset_id\n ? zano_current_supply\n : asset.asset_info.current_supply\n }}\n
\n
\n\n
\n\n
\n
\n {{ 'ASSETS.MODALS.ASSET_DETAILS.LABELS.MAX_SUPPLE' | translate }}\n
\n
\n {{\n asset.asset_info.asset_id === zanoAssetInfo.asset_id\n ? 'Uncapped'\n : asset.asset_info.total_max_supply\n }}\n
\n
\n
\n
\n
\n No data\n
\n \n
\n
\n
\n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class AssetDetailsComponent implements OnInit {\n title = 'Asset Details';\n\n asset!: AssetBalance;\n\n zanoAssetInfo = zanoAssetInfo;\n\n backendService = inject(BackendService);\n\n ngZone = inject(NgZone);\n\n zano_current_supply = 'Unknown';\n\n constructor(\n public variablesService: VariablesService,\n private dialogRef: DialogRef,\n @Inject(DIALOG_DATA) { asset, title }: { asset: AssetBalance; title?: string }\n ) {\n this.asset = asset;\n\n if (title) {\n this.title = title;\n }\n }\n\n ngOnInit(): void {\n if (this.asset.asset_info.asset_id === zanoAssetInfo.asset_id) {\n this.getZanoCurrentSupply();\n }\n }\n\n private getZanoCurrentSupply(): void {\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'getinfo',\n params: {\n flags: 1024,\n },\n };\n\n this.backendService.call_rpc(params, (status, response_data) => {\n this.ngZone.run(() => {\n this.zano_current_supply = response_data?.['result']?.['total_coins'] ?? 'Unknown';\n });\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AssetDetailsComponent } from '@parts/modals/asset-details/asset-details.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [AssetDetailsComponent],\n exports: [AssetDetailsComponent],\n imports: [CommonModule, TranslateModule, FlexModule],\n})\nexport class AssetDetailsModule {}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\n\nexport interface ConfirmModalData {\n title: string;\n message?: string;\n buttons?: Partial<{\n close: string;\n submit: string;\n }>;\n}\n\n@Component({\n selector: 'app-confirm-modal',\n template: `\n
\n \n\n
\n \n\n
\n

{{ title | translate }}

\n

{{ message | translate }}

\n
\n
\n\n
\n \n \n
\n
\n `,\n styles: [\n `\n :host {\n max-width: 54rem;\n width: 100vw;\n display: block;\n }\n `,\n ],\n})\nexport class ConfirmModalComponent implements OnInit {\n title: string;\n\n message: string;\n\n data: ConfirmModalData;\n\n @ViewChild('buttonSubmit', { static: true }) buttonSubmit: ElementRef;\n\n constructor(private dialogRef: DialogRef, @Inject(DIALOG_DATA) data: ConfirmModalData) {\n const { title, message } = data;\n this.data = data;\n this.title = title;\n this.message = message;\n }\n\n ngOnInit(): void {\n this.buttonSubmit.nativeElement.focus();\n }\n\n submit(): void {\n this.dialogRef.close(true);\n }\n\n close(): void {\n this.dialogRef.close(false);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmModalComponent } from './confirm-modal.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [ConfirmModalComponent],\n imports: [CommonModule, TranslateModule, FlexLayoutModule],\n exports: [ConfirmModalComponent],\n})\nexport class ConfirmModalModule {}\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-modal-container',\n template: `\n
\n \n\n
\n \n
\n

{{ title }}

\n

\n
\n
\n\n
\n \n
\n
\n `,\n styles: [],\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n public title: string;\n\n @Input() type: string;\n\n @Input() message: string;\n\n @Output() eventClose = new EventEmitter();\n\n @ViewChild('btn', { static: true }) button: ElementRef;\n\n constructor(private translate: TranslateService, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n this.button.nativeElement.focus();\n switch (this.type) {\n case 'error':\n this.title = this.translate.instant('MODALS.ERROR');\n break;\n case 'success':\n this.title = this.translate.instant('MODALS.SUCCESS');\n break;\n case 'info':\n this.title = this.translate.instant('MODALS.INFO');\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n onClose(): void {\n this.eventClose.emit();\n }\n}\n","import { Component, HostBinding, Input, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { Wallet } from '@api/models/wallet.model';\nimport { BackendService } from '@api/services/backend.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalService } from '../../services/modal.service';\nimport { WalletsService } from '@parts/services/wallets.service';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-open-wallet-modal',\n template: `\n
\n
\n

{{ 'OPEN_WALLET.MODAL.TITLE' | translate }}

\n\n
{{ wallet.name }}
\n
{{ wallet.path }}
\n\n
\n
\n \n \n
\n {{ 'OPEN_WALLET.MODAL.NOT_FOUND' | translate }}\n
\n
\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\n
\n
\n\n
\n \n \n
\n
\n
\n
\n `,\n styles: [],\n})\nexport class OpenWalletModalComponent implements OnInit, OnDestroy {\n @HostBinding('class.modal-overlay') modalOverlay = true;\n\n @Input() wallets;\n\n isWrongPassword$ = new BehaviorSubject(false);\n\n wallet = {\n name: '',\n path: '',\n pass: '',\n notFound: false,\n emptyPass: false,\n };\n\n constructor(\n public variablesService: VariablesService,\n public walletsService: WalletsService,\n private backend: BackendService,\n private translate: TranslateService,\n private modalService: ModalService,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-scroll');\n if (this.wallets.length) {\n this.wallet = this.wallets[0];\n this.wallet.pass = '';\n }\n }\n\n ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-scroll');\n }\n\n openWallet(): void {\n if (this.wallets.length === 0) {\n return;\n }\n this.backend.openWallet(\n this.wallet.path,\n this.wallet.pass,\n this.variablesService.count,\n false,\n (open_status, open_data, open_error) => {\n if (open_error === 'WRONG_PASSWORD') {\n this.ngZone.run(() => {\n this.isWrongPassword$.next(true);\n });\n }\n if (open_error && open_error === 'FILE_NOT_FOUND') {\n this.ngZone.run(() => {\n this.wallet.notFound = true;\n });\n let error_translate = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\n error_translate += ':
' + this.wallet.path;\n error_translate += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\n this.modalService.prepareModal('error', error_translate);\n } else {\n if (open_status || open_error === 'FILE_RESTORED') {\n let exists = false;\n this.variablesService.wallets.forEach(wallet => {\n if (wallet.address === open_data['wi'].address) {\n exists = true;\n }\n });\n\n if (exists) {\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\n this.backend.closeWallet(open_data.wallet_id);\n } else {\n const new_wallet = new Wallet(\n open_data.wallet_id,\n this.wallet.name,\n this.wallet.pass,\n open_data['wi'].path,\n open_data['wi'].address,\n open_data['wi'].balance,\n open_data['wi'].unlocked_balance,\n open_data['wi'].mined_total,\n open_data['wi'].tracking_hey\n );\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\n new_wallet.is_auditable = open_data['wi'].is_auditable;\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\n new_wallet.currentPage = 1;\n new_wallet.exclude_mining_txs = false;\n if (open_data.recent_history && open_data.recent_history.history) {\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\n new_wallet.totalPages = Math.ceil(\n open_data.recent_history.total_history_items / this.variablesService.count\n );\n new_wallet.totalPages > this.variablesService.maxPages\n ? (new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index));\n new_wallet.prepareHistory(open_data.recent_history.history);\n } else {\n new_wallet.total_history_item = 0;\n new_wallet.pages = new Array(1).fill(1);\n new_wallet.totalPages = 1;\n }\n this.walletsService.addWallet(new_wallet);\n this.backend.runWallet(open_data.wallet_id);\n this.skipWallet();\n this.isWrongPassword$.next(false);\n }\n }\n }\n }\n );\n }\n\n skipWallet(): void {\n this.ngZone.run(() => {\n if (this.wallets.length) {\n this.wallets.splice(0, 1);\n this.ngOnInit();\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractStatusMessagesPipe } from '@parts/pipes/contract-status-messages-pipe/contract-status-messages.pipe';\n\n@NgModule({\n declarations: [ContractStatusMessagesPipe],\n exports: [ContractStatusMessagesPipe],\n providers: [ContractStatusMessagesPipe],\n imports: [CommonModule],\n})\nexport class ContractStatusMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractStatusMessages',\n})\nexport class ContractStatusMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n getStateSeller(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NEW_CONTRACT');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAITING_BUYER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.PROPOSAL_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n getStateBuyer(stateNum: number): string {\n const state = { part1: '', part2: '' };\n switch (stateNum) {\n case 1:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING');\n break;\n case 110:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED');\n break;\n case 201:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAIT');\n break;\n case 2:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\n break;\n case 120:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_SELLER');\n break;\n case 3:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.COMPLETED');\n break;\n case 4:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NOT_RECEIVED');\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NULLIFIED');\n break;\n case 5:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_CANCEL');\n break;\n case 601:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.BEING_CANCELLED');\n break;\n case 6:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.CANCELLED');\n break;\n case 130:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED_CANCEL');\n break;\n case 140:\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.EXPIRED');\n break;\n }\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\n }\n\n transform(state: number, is_a?: boolean): any {\n if (is_a) {\n return this.getStateBuyer(state);\n } else {\n return this.getStateSeller(state);\n }\n }\n}\n","export * from './contract-status-messages-pipe.module';\nexport * from './contract-status-messages.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContractTimeLeftPipe } from '@parts/pipes/contract-time-left-pipe/contract-time-left.pipe';\n\n@NgModule({\n declarations: [ContractTimeLeftPipe],\n exports: [ContractTimeLeftPipe],\n providers: [ContractTimeLeftPipe],\n imports: [CommonModule],\n})\nexport class ContractTimeLeftPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Pipe({\n name: 'contractTimeLeft',\n})\nexport class ContractTimeLeftPipe implements PipeTransform {\n constructor(private service: VariablesService, private translate: TranslateService) {}\n\n transform(value: any, arg?: any): any {\n const time = parseInt(((parseInt(value, 10) - this.service.exp_med_ts) / 3600).toFixed(0), 10);\n const type = arg || 0;\n if (time === 0) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_LESS_ONE');\n }\n if (this.service.settings.language === 'en') {\n if (type === 0) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n }\n } else if (type === 1) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if (time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n }\n }\n } else {\n const rest = time % 10;\n if (type === 0) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {\n time: time,\n });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {\n time: time,\n });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT', { time: time });\n }\n } else if (type === 1) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_RESPONSE', { time: time });\n }\n } else if (type === 2) {\n if ((time > 20 && rest === 1) || time === 1) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time });\n } else if ((time > 1 && time < 5) || (time > 20 && (rest === 2 || rest === 3 || rest === 4))) {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time });\n } else {\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_WAITING', { time: time });\n }\n }\n }\n return null;\n }\n}\n","export * from './contract-time-left-pipe.module';\nexport * from './contract-time-left.pipe';\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { AssetInfo } from '@api/models/assets.model';\nimport { WalletsService } from '@parts/services/wallets.service';\n@Pipe({\n name: 'getAssetInfo',\n standalone: true,\n})\nexport class GetAssetInfoPipe implements PipeTransform {\n private walletsService = inject(WalletsService);\n\n transform(value: AssetInfo['asset_id']): AssetInfo | undefined {\n return this.walletsService.currentWallet?.allAssetsInfo.find(({ asset_id }) => asset_id === value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HistoryTypeMessagesPipe } from '@parts/pipes/history-type-messages-pipe/history-type-messages.pipe';\n\n@NgModule({\n declarations: [HistoryTypeMessagesPipe],\n exports: [HistoryTypeMessagesPipe],\n providers: [HistoryTypeMessagesPipe],\n imports: [CommonModule],\n})\nexport class HistoryTypeMessagesPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { hasOwnProperty } from '../../functions/hasOwnProperty';\n\n@Pipe({\n name: 'historyTypeMessages',\n})\nexport class HistoryTypeMessagesPipe implements PipeTransform {\n constructor(private translate: TranslateService) {}\n\n transform(item: any): any {\n if (item.tx_type === 0) {\n if (item.remote_addresses && item.remote_addresses[0]) {\n return item.remote_addresses[0];\n } else {\n if (item.is_income) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.HIDDEN');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n }\n } else if (item.tx_type === 6 && item.height === 0) {\n return 'unknown';\n } else if (item.tx_type === 9) {\n if (hasOwnProperty(item, 'contract') && item.contract[0].is_a) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_BUYER');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_SELLER');\n }\n } else {\n switch (item.tx_type) {\n // case 0:\n // return '';\n // case 1:\n // return '';\n // case 2:\n // return '';\n // case 3:\n // return '';\n case 4:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_ALIAS');\n case 5:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UPDATE_ALIAS');\n case 6:\n return item.employed_entries?.spent?.length\n ? this.translate.instant('HISTORY.TYPE_MESSAGES.POS_REWARD')\n : this.translate.instant('HISTORY.TYPE_MESSAGES.POW_REWARD');\n case 7:\n if (!item.subtransfers || !item.subtransfers.length) {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.SERVICE_TRANSACTIONS');\n } else {\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_CONTRACT');\n }\n case 8:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PLEDGE_CONTRACT');\n // case 9:\n // return '';\n case 10:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.NULLIFY_CONTRACT');\n case 11:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PROPOSAL_CANCEL_CONTRACT');\n case 12:\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CANCEL_CONTRACT');\n }\n }\n\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\n }\n}\n","export * from './history-type-messages-pipe.module';\nexport * from './history-type-messages.pipe';\n","export * from './contract-status-messages-pipe';\nexport * from './contract-time-left-pipe';\nexport * from './history-type-messages-pipe';\nexport * from './int-to-money-pipe';\nexport * from './is-available-alias-name-pipe';\nexport * from './money-to-int-pipe';\nexport * from './safe-html-pipe';\nexport * from './get-asset-info.pipe';\nexport * from './short-string.pipe';\n","export * from './int-to-money-pipe.module';\nexport * from './int-to-money.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IntToMoneyPipe } from '@parts/pipes/int-to-money-pipe/int-to-money.pipe';\n\n@NgModule({\n declarations: [IntToMoneyPipe],\n exports: [IntToMoneyPipe],\n providers: [IntToMoneyPipe],\n imports: [CommonModule],\n})\nexport class IntToMoneyPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'intToMoney',\n})\nexport class IntToMoneyPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any, args?: any): any {\n if (value === 0 || value === undefined) {\n return '0';\n }\n let maxFraction = this.variablesService.digits;\n if (args) {\n maxFraction = parseInt(args, 10);\n }\n const power = Math.pow(10, this.variablesService.digits);\n let str = new BigNumber(value).div(power).toFixed(maxFraction);\n\n for (let i = str.length - 1; i >= 0; i--) {\n if (str[i] !== '0') {\n str = str.substr(0, i + 1);\n break;\n }\n }\n if (str[str.length - 1] === '.') {\n str = str.substr(0, str.length - 1);\n }\n return str;\n }\n}\n","export * from './is-available-alias-name-pipe.module';\nexport * from './is-available-alias-name.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IsAvailableAliasNamePipe } from './is-available-alias-name.pipe';\n\n@NgModule({\n declarations: [IsAvailableAliasNamePipe],\n exports: [IsAvailableAliasNamePipe],\n providers: [IsAvailableAliasNamePipe],\n imports: [CommonModule],\n})\nexport class IsAvailableAliasNamePipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Alias } from '@api/models/alias.model';\n\n@Pipe({\n name: 'isAvailableAliasName',\n})\nexport class IsAvailableAliasNamePipe implements PipeTransform {\n transform(alias: Partial | null | undefined): boolean {\n return (Boolean(alias) && Boolean(alias.name) && alias.name.length >= 2 && alias.name.length <= 6) || false;\n }\n}\n","export * from './money-to-int-pipe.module';\nexport * from './money-to-int.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MoneyToIntPipe } from '@parts/pipes/money-to-int-pipe/money-to-int.pipe';\n\n@NgModule({\n declarations: [MoneyToIntPipe],\n exports: [MoneyToIntPipe],\n providers: [MoneyToIntPipe],\n imports: [CommonModule],\n})\nexport class MoneyToIntPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VariablesService } from '../../services/variables.service';\nimport { BigNumber } from 'bignumber.js';\n\n@Pipe({\n name: 'moneyToInt',\n})\nexport class MoneyToIntPipe implements PipeTransform {\n constructor(private variablesService: VariablesService) {}\n\n transform(value: any): any {\n const CURRENCY_DISPLAY_DECIMAL_POINT = this.variablesService.digits;\n let result;\n if (value) {\n let am_str = value.toString().trim();\n const point_index = am_str.indexOf('.');\n let fraction_size = 0;\n if (-1 !== point_index) {\n fraction_size = am_str.length - point_index - 1;\n while (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size && '0' === am_str[am_str.length - 1]) {\n am_str = am_str.slice(0, am_str.length - 1);\n --fraction_size;\n }\n if (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size) {\n return undefined;\n }\n am_str = am_str.slice(0, point_index) + am_str.slice(point_index + 1, am_str.length);\n } else {\n fraction_size = 0;\n }\n if (!am_str.length) {\n return undefined;\n }\n if (fraction_size < CURRENCY_DISPLAY_DECIMAL_POINT) {\n for (let i = 0; i !== CURRENCY_DISPLAY_DECIMAL_POINT - fraction_size; i++) {\n am_str = am_str + '0';\n }\n }\n result = new BigNumber(am_str).integerValue();\n }\n return result;\n }\n}\n","export * from './safe-html-pipe.module';\nexport * from './safe-html.pipe';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SafeHTMLPipe } from '@parts/pipes/safe-html-pipe/safe-html.pipe';\n\n@NgModule({\n declarations: [SafeHTMLPipe],\n exports: [SafeHTMLPipe],\n providers: [SafeHTMLPipe],\n imports: [CommonModule],\n})\nexport class SafeHtmlPipeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHTML',\n})\nexport class SafeHTMLPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'zanoShortString',\n standalone: true\n})\nexport class ShortStringPipe implements PipeTransform {\n transform(value: string | null | undefined, left = 6, right = 6): string | null | undefined {\n return value && `${value.slice(0, left)}...${value.slice(-right)}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class NavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n back(): void {\n this.history.pop();\n if (this.history.length > 0) {\n this.location.back();\n } else {\n this.router.navigateByUrl('/').then();\n }\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModalContainerComponent } from '../modals/modal-container/modal-container.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n private components: any[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private ngZone: NgZone,\n private translate: TranslateService\n ) {}\n\n prepareModal(type: 'error' | 'info' | 'success' | string, message): void {\n const length = this.components.push(\n this.componentFactoryResolver.resolveComponentFactory(ModalContainerComponent).create(this.injector)\n );\n\n this.components[length - 1].instance['type'] = type;\n this.components[length - 1].instance['message'] = message.length ? this.translate.instant(message) : '';\n this.components[length - 1].instance['eventClose']?.subscribe({\n next: () => {\n this.ngZone.run(() => {\n this.removeModal(length - 1);\n });\n },\n });\n\n this.ngZone.run(() => {\n this.appendModal(length - 1);\n });\n }\n\n appendModal(index): void {\n setTimeout(() => {\n this.appRef.attachView(this.components[index].hostView);\n const domElem = (this.components[index].hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n });\n }\n\n removeModal(index): void {\n if (this.components[index]) {\n this.appRef.detachView(this.components[index].hostView);\n this.components[index].destroy();\n this.components.splice(index, 1);\n } else {\n const last = this.components.length - 1;\n this.appRef.detachView(this.components[last].hostView);\n this.components[last].destroy();\n this.components.splice(last, 1);\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { DeeplinkParams, Wallet } from '@api/models/wallet.model';\nimport { Contact } from '@api/models/contact.model';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { Idle } from 'idlejs/dist';\nimport { Router } from '@angular/router';\nimport { ContextMenuComponent, ContextMenuService } from '@perfectmemory/ngx-contextmenu';\nimport { BigNumber } from 'bignumber.js';\nimport { Aliases } from '@api/models/alias.model';\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VariablesService {\n disable_price_fetch$ = new BehaviorSubject(false);\n\n rpc_port!: number;\n\n use_debug_mode$ = new BehaviorSubject(false);\n\n info$ = new BehaviorSubject({});\n\n is_hardfok_active$: Observable = this.info$.pipe(map((info) => {\n return Boolean(info?.['is_hardfok_active']?.[4]);\n }), distinctUntilChanged());\n\n stop_paginate = {};\n\n sync_started = false;\n\n digits = 12;\n\n appPass = '';\n\n get hasAppPass(): boolean {\n return Boolean(this.appPass);\n }\n\n appLogin = false;\n\n moneyEquivalent = 0;\n\n moneyEquivalentPercent = 0;\n\n defaultCurrency = 'ZANO';\n\n opening_wallet: Wallet;\n\n exp_med_ts = 0;\n\n net_time_delta_median = 0;\n\n height_app = 0;\n\n height_max = 0;\n\n downloaded = 0;\n\n total = 0;\n\n last_build_available = '';\n\n last_build_displaymode = 0;\n\n daemon_state = 3;\n\n deeplink$ = new BehaviorSubject(null);\n\n sendActionData$ = new BehaviorSubject({});\n\n sync = {\n progress_value: 0,\n progress_value_text: '0',\n };\n\n public sync_wallets: { [wallet_id: number]: boolean } = {};\n download = {\n progress_value: 0,\n progress_value_text: '0',\n };\n get_recent_transfers = false; // avoid of execute function before callback complete\n default_fee = '0.010000000000';\n default_fee_big = new BigNumber('10000000000');\n settings = {\n appLockTime: 15,\n appLog: 0,\n scale: '10px',\n appUseTor: false,\n language: 'en',\n default_path: '/',\n viewedContracts: [],\n notViewedContracts: [],\n zanoCompanionForm: {\n zanoCompation: false,\n secret: ''\n },\n wallets: [],\n };\n count = 40;\n maxPages = 5;\n testnet = false;\n networkType = ''; // testnet of mainnet\n wallets: Array = [];\n currentWallet: Wallet;\n aliases: Aliases = [];\n aliasesChecked: any = {};\n enableAliasSearch = false;\n maxWalletNameLength = 25;\n maxCommentLength = 255;\n dataIsLoaded = false;\n contacts: Array = [];\n pattern = '^[a-zA-Z0-9_.\\\\]*|~!?@#$%^&+{}()<>:;\"\\'-=/,[\\\\\\\\]*$';\n after_sync_request: any = {};\n getExpMedTsEvent = new BehaviorSubject(null);\n getHeightAppEvent = new BehaviorSubject(null);\n getHeightMaxEvent = new BehaviorSubject(null);\n getDownloadedAppEvent = new BehaviorSubject(null);\n getTotalEvent = new BehaviorSubject(null);\n getRefreshStackingEvent = new BehaviorSubject(null);\n getAliasChangedEvent = new BehaviorSubject(null);\n currentWalletChangedEvent = new BehaviorSubject(null);\n idle = new Idle().whenNotInteractive().do(async () => {\n if (this.appPass === '') {\n this.stopCountdown();\n } else {\n await this.ngZone.run(async () => {\n this.stopCountdown();\n this.appPass = '';\n this.appLogin = false;\n await this.router.navigate(['/login'], {\n queryParams: { type: 'auth' },\n });\n });\n }\n });\n allContextMenu: ContextMenuComponent;\n onlyCopyContextMenu: ContextMenuComponent;\n pasteSelectContextMenu: ContextMenuComponent;\n\n constructor(private router: Router, private ngZone: NgZone, private contextMenuService: ContextMenuService) {}\n\n get isCurrentWalletSync(): boolean {\n if (this.currentWallet) {\n const { wallet_id } = this.currentWallet;\n return this.sync_wallets[wallet_id] || false;\n }\n return false;\n }\n\n get isCurrentWalletLoaded(): boolean {\n if (this.currentWallet) {\n const { loaded } = this.currentWallet;\n return loaded;\n }\n return false;\n }\n\n get walletNamesForComparisons(): string[] {\n return this.wallets.map(({ name }) => name) ?? [];\n }\n\n setExpMedTs(timestamp: number): void {\n if (timestamp !== this.exp_med_ts) {\n this.exp_med_ts = timestamp;\n this.getExpMedTsEvent.next(timestamp);\n }\n }\n\n setHeightApp(height: number): void {\n if (height !== this.height_app) {\n this.height_app = height;\n this.getHeightAppEvent.next(height);\n }\n }\n\n setHeightMax(height: number): void {\n if (height !== this.height_max) {\n this.height_max = height;\n this.getHeightMaxEvent.next(height);\n }\n }\n\n setDownloadedBytes(bytes: number): void {\n if (bytes !== this.downloaded) {\n this.downloaded = this.bytesToMb(bytes);\n this.getDownloadedAppEvent.next(bytes);\n }\n }\n\n setTotalBytes(bytes: number): void {\n if (bytes !== this.total) {\n this.total = this.bytesToMb(bytes);\n this.getTotalEvent.next(bytes);\n }\n }\n\n setRefreshStacking(wallet_id: number): void {\n this.getHeightAppEvent.next(wallet_id);\n }\n\n changeAliases(): void {\n this.getAliasChangedEvent.next(true);\n }\n\n setCurrentWallet(id): void {\n this.wallets.forEach(wallet => {\n if (wallet.wallet_id === id) {\n this.currentWallet = wallet;\n this.currentWalletChangedEvent.next(wallet);\n }\n });\n }\n\n getWallet(id): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (this.wallets[i].wallet_id === id) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n getNotLoadedWallet(): Wallet | null {\n for (let i = 0; i < this.wallets.length; i++) {\n if (!this.wallets[i].loaded) {\n return this.wallets[i];\n }\n }\n return null;\n }\n\n startCountdown(): void {\n this.idle.within(this.settings.appLockTime).start();\n }\n\n stopCountdown(): void {\n this.idle.stop();\n }\n\n restartCountdown(): void {\n if (Boolean(this.settings.appLockTime)) {\n this.idle.within(this.settings.appLockTime).restart();\n } else {\n this.stopCountdown();\n }\n }\n\n bytesToMb(bytes): number {\n return Number((bytes / Math.pow(1024, 2)).toFixed(1));\n }\n\n onContextMenu($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.allContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n\n onContextMenuOnlyCopy($event: MouseEvent, copyText?: string): void {\n $event.preventDefault();\n $event.stopPropagation();\n this.contextMenuService.show(this.onlyCopyContextMenu, {\n value: copyText,\n x: $event.x,\n y: $event.y,\n });\n }\n\n onContextMenuPasteSelect($event: MouseEvent): void {\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\n\n console.warn($event.target);\n console.warn($event.target['disabled']);\n\n if (\n $event.target &&\n ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') &&\n !$event.target['readOnly']\n ) {\n this.contextMenuService.show(this.pasteSelectContextMenu, {\n x: $event.x,\n y: $event.y,\n value: $event.target,\n });\n $event.preventDefault();\n $event.stopPropagation();\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { BackendService } from '@api/services/backend.service';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { ResponseGetWalletInfo, Wallet } from '@api/models/wallet.model';\nimport { Router } from '@angular/router';\nimport { ParamsCallRpc } from '@api/models/call_rpc.model';\nimport { AssetsWhitelistGetResponseData } from '@api/models/assets.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WalletsService {\n get wallets(): Wallet[] | null | undefined {\n return this.variablesService.wallets;\n }\n\n set wallets(value) {\n this.variablesService.wallets = value;\n }\n\n get currentWallet(): Wallet | null | undefined {\n return this.variablesService.currentWallet;\n }\n\n set currentWallet(value) {\n this.variablesService.currentWallet = value;\n }\n\n constructor(\n private backendService: BackendService,\n private variablesService: VariablesService,\n private router: Router,\n private ngZone: NgZone\n ) {}\n\n addWallet(wallet: Wallet): void {\n const { wallet_id } = wallet;\n this.variablesService.wallets.push(wallet);\n this.updateWalletInfo(wallet_id);\n }\n\n loadAssetsWhitelist(wallet_id: number): void {\n const wallet = this.getWalletById(wallet_id);\n\n if (!wallet) {\n console.warn(`You want update assetsWhiteList by wallet_id: (${wallet_id}). But this wallet not uploaded.`);\n return;\n }\n\n const params: ParamsCallRpc = {\n jsonrpc: '2.0',\n id: 0,\n method: 'assets_whitelist_get',\n params: {},\n };\n this.backendService.call_wallet_rpc([wallet_id, params], (status, response_data: AssetsWhitelistGetResponseData) => {\n const { result } = response_data;\n wallet.assetsInfoWhitelist = result;\n });\n }\n\n getWalletById(wallet_id: number): Wallet | undefined {\n const { wallets } = this.variablesService;\n return wallets.find(w => w.wallet_id === wallet_id);\n }\n\n updateWalletInfo(wallet_id: number): void {\n const wallet = this.getWalletById(wallet_id);\n\n if (!wallet) {\n console.warn(`You want update walletInfo by wallet_id: (${wallet_id}). But this wallet not uploaded.`);\n return;\n }\n const callback: (status: boolean, response_data: ResponseGetWalletInfo) => void = (status, response_data) => {\n this.ngZone.run(() => {\n if (status) {\n const { balances } = response_data;\n wallet.balances = balances;\n }\n });\n };\n\n this.backendService.getWalletInfo(wallet_id, callback);\n\n this.loadAssetsWhitelist(wallet_id);\n }\n\n closeWallet(wallet_id: number): void {\n const callback = async (): Promise => {\n this.wallets = this.wallets.filter(w => w.wallet_id !== wallet_id);\n\n await this.ngZone.run(async () => {\n let url = '/';\n if (this.wallets.length > 0) {\n this.currentWallet = this.wallets[0];\n url = '/wallet/';\n }\n if (this.variablesService.appPass) {\n this.backendService.storeSecureAppData();\n }\n await this.router.navigate([url]);\n });\n };\n\n this.backendService.closeWallet(wallet_id, callback);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\ntype TLoaderId = 'fullScreen';\n\ninterface TDataLoader {\n state: boolean;\n message: string;\n}\n\ntype TDataLoaders = {\n [key in TLoaderId]: TDataLoader\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ZanoLoadersService {\n private _loaders$ = new BehaviorSubject({\n fullScreen: { state: false, message: 'Loading' }\n });\n\n getState(id: TLoaderId): Observable {\n return this._loaders$.pipe(map((loader) => loader[id].state ));\n }\n\n getMessage(id: TLoaderId): Observable {\n return this._loaders$.pipe(map((loader) => loader[id].message ));\n }\n\n\n open(id: TLoaderId, message: string = 'Loading'): void {\n this._loaders$.next({\n ...this._loaders$.value,\n [id]: {\n state: true,\n message\n }\n });\n }\n\n close(id: TLoaderId): void {\n this._loaders$.next({\n ...this._loaders$.value,\n [id]: {\n ...this._loaders$.value[id],\n state: false\n }\n });\n }\n}\n","export const MIMETypes: string[] = [\n '.rar',\n '.txt',\n '.xls',\n '.xlsx',\n '.zip',\n '.png',\n '.pdf',\n '.csv',\n '.doc',\n '.docx',\n '.jar',\n '.jpeg',\n '.jpg',\n '.js',\n '.json',\n '.mp3',\n '.mp4',\n '.mpeg',\n '.aac',\n '.abw',\n '.arc',\n '.avif',\n '.avi',\n '.azw',\n '.bin',\n '.bmp',\n '.bz',\n '.bz2',\n '.cda',\n '.csh',\n '.css',\n '.dll',\n '.exe',\n '.eot',\n '.epub',\n '.gz',\n '.gif',\n '.htm',\n '.html',\n '.ico',\n '.ics',\n '.jsonld',\n '.mid',\n '.midi',\n '.mjs',\n '.mpkg',\n '.odp',\n '.ods',\n '.odt',\n '.oga',\n '.ogv',\n '.ogx',\n '.opus',\n '.otf',\n '.php',\n '.ppt',\n '.pptx',\n '.pdb',\n '.dat',\n '.rtf',\n '.sh',\n '.svg',\n '.tar',\n '.tif',\n '.tiff',\n '.ts',\n '.ttf',\n '.vsd',\n '.wav',\n '.weba',\n '.webm',\n '.webp',\n '.woff',\n '.woff2',\n '.xhtml',\n '.xml',\n '.xul',\n '.3gp',\n '.3g2',\n '.7z',\n];\n","export const generateRandomString = (length: number = 40): string => {\n const array: Uint8Array = new Uint8Array(length);\n window.crypto.getRandomValues(array);\n\n const regularArray: number[] = Array.from(array);\n\n return btoa(String.fromCharCode.apply(null, regularArray));\n};\n","import { ValidationErrors } from '@angular/forms';\n\nexport interface ZanoValidationErrors extends ValidationErrors {\n errorText: string;\n}\n\nexport const wrongAssetId: ZanoValidationErrors = {\n errorText: 'ASSETS.FORM.ERRORS.WRONG_ASSET_ID',\n};\n\nexport const wrongPassword: ZanoValidationErrors = {\n errorText: 'Incorrect password',\n};\n\nexport const insuficcientFunds: ZanoValidationErrors = {\n errorText: 'ERRORS.INSUFFICIENT_FUNDS',\n};\n\nexport const assetHasNotBeenAddedToWallet: ZanoValidationErrors = {\n errorText: 'ERRORS.ASSET_HAS_NOT_BEEN_ADDED_TO_WALLET',\n};\n\nexport const notFileZanoWallet: ZanoValidationErrors = {\n errorText: 'ERRORS.NOT_FILE_ZANO_WALLET',\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { notFileZanoWallet, ZanoValidationErrors } from '@parts/utils/zano-errors';\nimport { MIMETypes } from '@parts/utils/MIME-types';\n\nexport const regExpHash = /^[a-f0-9]{64}$/i;\nexport const regExpAliasName = /^@?[a-z\\d.-]{2,25}$/;\nexport const regExpPassword = /^[a-zA-Z0-9_.\\]*|~!?@#$%^&+{}()<>:;\"'-=,/[\\\\]*$/;\n\nexport class ZanoValidators {\n static hash({ value }: AbstractControl): ValidationErrors | null {\n return regExpHash.test(value) ? null : { invalidHash: true };\n }\n\n static formMatch(firstControlName: string, secondControlName: string, nameErrorKey = 'mismatch'): ValidatorFn {\n return (abstractControl: AbstractControl): ValidationErrors | null =>\n abstractControl.get(firstControlName).value === abstractControl.get(secondControlName).value ? null : { [nameErrorKey]: true };\n }\n\n static duplicate(valuesForComparisons: string | string[]): ValidatorFn {\n return ({ value }: AbstractControl): ValidationErrors | null => {\n const errorObject = { duplicate: true };\n let error = null;\n\n if (typeof value === 'string' && value === valuesForComparisons) {\n error = errorObject;\n }\n\n if (Array.isArray(valuesForComparisons) && valuesForComparisons.includes(value)) {\n error = errorObject;\n }\n\n return error;\n };\n }\n}\n\nexport const filePathWalletValidator = (path: string): ZanoValidationErrors | null => {\n if (!(path && path.trim().length)) {\n return null;\n }\n\n const positionLastSlash = path.lastIndexOf('/');\n const fileName = path.slice(positionLastSlash + 1);\n\n if (!(fileName && fileName.trim().length)) {\n return null;\n }\n\n if (fileName) {\n let index = 0;\n while (index < MIMETypes.length) {\n if (fileName.includes(MIMETypes[index])) {\n return notFileZanoWallet;\n }\n index++;\n }\n }\n\n return null;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport { VariablesService } from '@parts/services/variables.service';\nimport { PaginationStore } from './pagination.store';\nimport * as _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationService {\n constructor(private variables: VariablesService, private ngZone: NgZone, private paginationStore: PaginationStore) {}\n\n paginate(currentPage = 1): void {\n if (currentPage < 1) {\n currentPage = 1;\n } else if (currentPage > this.variables.currentWallet.totalPages) {\n currentPage = this.variables.currentWallet.totalPages;\n }\n let startPage: number, endPage: number;\n if (this.variables.currentWallet.totalPages <= this.variables.maxPages) {\n startPage = 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n const maxPagesBeforeCurrentPage = Math.floor(this.variables.maxPages / 2);\n const maxPagesAfterCurrentPage = Math.ceil(this.variables.maxPages / 2) - 1;\n if (currentPage <= maxPagesBeforeCurrentPage) {\n startPage = 1;\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (endPage = this.variables.maxPages)\n : (endPage = this.variables.currentWallet.totalPages);\n } else if (currentPage + maxPagesAfterCurrentPage >= this.variables.currentWallet.totalPages) {\n startPage = this.variables.currentWallet.totalPages - this.variables.maxPages + 1;\n endPage = this.variables.currentWallet.totalPages;\n } else {\n startPage = currentPage - maxPagesBeforeCurrentPage;\n endPage = currentPage + maxPagesAfterCurrentPage;\n }\n }\n this.ngZone.run(() => {\n this.variables.currentWallet.pages = Array.from(Array(endPage + 1 - startPage).keys()).map(i => startPage + i);\n });\n }\n\n getOffset(walletID): number {\n const mining = this.variables.currentWallet.exclude_mining_txs;\n const currentPage = this.variables.currentWallet.currentPage;\n let offset = (currentPage - 1) * this.variables.count;\n if (!mining) {\n return offset || 0;\n }\n const value = this.paginationStore.value;\n const pages = value.filter(item => item.walletID === walletID);\n if (pages && pages.length > 0) {\n const max = _.maxBy(pages, 'page');\n const isForward = this.paginationStore.isForward(pages, currentPage);\n if (isForward) {\n offset = max.offset || 0;\n } else {\n const index = pages.findIndex(item => item.page === currentPage);\n offset = pages[index].offset || 0;\n }\n }\n return offset;\n }\n\n calcPages(data): void {\n if (data.total_history_items && data && data.history) {\n this.variables.currentWallet.totalPages = Math.ceil(data.total_history_items / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n } else if (this.variables.currentWallet.restore) {\n this.variables.currentWallet.totalPages = Math.ceil(data.history.length / this.variables.count);\n this.variables.currentWallet.totalPages > this.variables.maxPages\n ? (this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index))\n : (this.variables.currentWallet.pages = new Array(this.variables.currentWallet.totalPages)\n .fill(1)\n .map((value, index) => value + index));\n }\n }\n\n prepareHistory(data, status): void {\n if (status && data && data.total_history_items) {\n this.variables.currentWallet.history.splice(0, this.variables.currentWallet.history.length);\n this.ngZone.run(() => {\n this.paginate(this.variables.currentWallet.currentPage);\n if (data.history.length !== 0) {\n this.variables.currentWallet.restore = false;\n this.variables.currentWallet.total_history_item = data.total_history_items;\n this.variables.currentWallet.prepareHistory(data.history);\n if (this.variables.currentWallet.currentPage === 1 && data.unconfirmed) {\n this.variables.currentWallet.prepareHistory(data.unconfirmed.sort((a, b) => a.timestamp - b.timestamp));\n }\n }\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as _ from 'lodash';\n\nexport interface Pages {\n page: number;\n offset: number;\n walletID: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PaginationStore {\n private subject = new BehaviorSubject(null);\n\n get value(): Pages[] | null {\n return this.subject.value;\n }\n\n isForward(pages, currentPage): boolean {\n const max = _.maxBy(pages, 'page');\n return !max || max.page < currentPage || max.page === currentPage;\n }\n\n setPage(pageNumber: number, offset: number, walletID: number): void {\n let newPages: Pages[] = [];\n const pages = this.subject.getValue();\n if (pages && pages.length > 0) {\n newPages = pages.slice(0);\n }\n newPages.push({ page: pageNumber, offset, walletID });\n this.subject.next(newPages);\n }\n}\n","import { distinctUntilChanged, map } from 'rxjs/operators';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Wallet } from '@api/models/wallet.model';\nimport { Injectable } from '@angular/core';\n\nexport interface Sync {\n sync: boolean;\n wallet_id: number;\n}\n\nexport enum StateKeys {\n wallets = 'wallets',\n sync = 'sync',\n}\n\nexport interface State {\n [StateKeys.wallets]: Wallet[] | null | undefined;\n [StateKeys.sync]: Sync[] | null | undefined;\n}\n\nconst initialState: State = {\n wallets: undefined,\n sync: undefined,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Store {\n private subject = new BehaviorSubject(initialState);\n private store = this.subject.asObservable().pipe(distinctUntilChanged());\n\n get state(): State {\n return this.subject.value;\n }\n\n select(name: StateKeys): Observable {\n return this.store.pipe(map(state => state[name])) as unknown as Observable;\n }\n\n set(name: StateKeys, value: any): void {\n this.subject.next({ ...this.state, [name]: value });\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport 'lodash';\n\nexport const buildTime = '2024-03-06T13:59:36.086Z';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["NgZone","Observable","Subject","JSONBigNumber","BigNumber","ParamsType","getParamsType","value","array","Array","isArray","object","Object","keys","includes","convertersObjectForTypes","string","stringify","map","v","convertorParams","type","StatusCurrentActionState","Commands","BackendService","constructor","translate","variablesService","modalService","moneyToIntPipe","ngZone","bigNumberParser","key","val","name","indexOf","toNumber","i","length","Debug","message","console","error","warn","log","eventSubscribe","command","callback","on_core_event","backendObject","connect","str","parse","initService","observer","backendLoaded","window","QWebChannel","qt","webChannelTransport","channel","objects","mediator_object","next","webkitLaunchedScript","runCommand","webkit_launched_script","quitRequest","on_request_quit","getAppData","get_app_data","storeAppData","wallets","settings","forEach","wallet","push","path","store_app_data","getSecureAppData","pass","get_secure_app_data","setMasterPassword","set_master_password","checkMasterPassword","check_master_password","getIsDisabledNotifications","params","get_is_disabled_notifications","setIsDisabledNotifications","state","set_is_disabled_notifications","storeSecureAppData","contacts","staking","contact","address","notes","data","store_secure_app_data","JSON","appPass","dataStore","backendCallback","dropSecureAppData","drop_secure_app_data","haveSecureAppData","have_secure_app_data","saveFileDialog","caption","fileMask","default_path","dir","filemask","default_dir","show_savefile_dialog","openFileDialog","show_openfile_dialog","storeFile","buff","store_to_file","loadFile","load_from_file","push_offer","generateWallet","generate_wallet","exportWalletHistory","json_string","export_wallet_history","openWallet","txs_to_return","testEmpty","open_wallet","closeWallet","wallet_id","close_wallet","getSmartWalletInfo","seed_password","get_smart_wallet_info","getSeedPhraseInfo","param","get_seed_phrase_info","runWallet","run_wallet","isValidRestoreWalletText","is_valid_restore_wallet_text","restoreWallet","seed_phrase","seed_pass","restore_wallet","sendMoney","amount","fee","mixin","comment","hide","asset_id","destinations","mixin_count","lock_time","transform","push_payer","asyncCall","transfer","setupJwtWalletRpc","secret","setup_jwt_wallet_rpc","zanoCompanionForm","validateAddress","validate_address","setClipboard","set_clipboard","getClipboard","get_clipboard","createProposal","title","a_addr","b_addr","to_pay","a_pledge","b_pledge","time","payment_id","parseInt","details","t","c","expiration_period","default_fee_big","b_fee","create_proposal","getContracts","get_contracts","acceptProposal","contract_id","accept_proposal","releaseProposal","release_type","release_contract","requestCancelContract","request_cancel_contract","acceptCancelContract","accept_cancel_contract","getMiningHistory","get_mining_history","startPosMining","start_pos_mining","stopPosMining","stop_pos_mining","openUrlInBrowser","url","open_url_in_browser","start_backend","node","host","port","configure_for_remote_node","remote_node_host","remote_node_port","getDefaultFee","get_default_fee","setBackendLocalization","stringsArray","strings","language_title","set_localization_strings","registerAlias","alias","reward","tracking_key","request_alias_registration","updateAlias","replace","request_alias_update","getAllAliases","get_all_aliases","getAliasInfoByName","get_alias_info_by_name","getAliasByAddress","get_alias_info_by_address","getAliasCoast","get_alias_coast","resyncWallet","id","resync_wallet","getWalletAlias","daemon_state","aliasesChecked","aliases","status","getContactAlias","getRecentTransfers","offset","count","exclude_mining_txs","get_recent_transfers","getPoolInfo","get_tx_pool_info","getVersion","get_version","version","errorVersion","get_network_type","status_network","errorType","setLogLevel","level","set_log_level","async_call","job_id","dispatchAsyncCallResult","dispatch_async_call_result","json_resp","asyncCommandResults","response","run","dispatchAsyncCallResult$","handleCurrentActionState","handle_current_action_state","currentActionState","handleCurrentActionState$","setEnableTor","set_enable_tor","getOptions","get_options","disable_price_fetch","use_debug_mode","rpc_port","disable_price_fetch$","use_debug_mode$","addCustomAssetId","add_custom_asset_id","removeCustomAssetId","remove_custom_asset_id","getWalletInfo","get_wallet_info","call_rpc","call_wallet_rpc","informerRun","error_translate","instant","default_fee","currency","defaultCurrency","prepareModal","commandDebug","result","debug","_send_params","_result","e","response_data","error_code","resultStr","Result","core_busy","Status","undefined","res_error_code","setTimeout","current_wallet_id","currentWallet","Action","i0","factory","providedIn","Renderer2","StateKeys","take","takeUntil","paths","pathsChildrenAuth","hasOwnProperty","AppComponent","http","renderer","backendService","router","intToMoneyPipe","store","dialog","zanoLoadersService","addLangs","setDefaultLang","use","subscribe","translateUsed","language","ngOnInit","initMessage","st2","dd2","quit_requested","onQuitRequest","closeAll","needOpenWallets","saveFunction","recursionCloseWallets","lastIndex","splice","update_wallet_status","wallet_state","is_mining","getWallet","loaded","balances","mined_total","minied_total","alias_available","is_alias_operations_available","has_bare_unspent_outputs","wallet_sync_progress","progress","sync_started","sync_wallets","addToStore","update_daemon_state","daemon_network_state","setExpMedTs","net_time_delta_median","last_build_available","last_build_displaymode","setHeightApp","height","setHeightMax","max_net_seen_height","setDownloadedBytes","downloaded_bytes","setTotalBytes","download_total_data_size","max","current","return_val","Math","floor","sync","progress_value","progress_value_text","toFixed","download","firstOnlineState","getAliases","status_fee","data_fee","money_transfer","ti","tr_info","history","tx_type","setRefreshStacking","tr_exists","excluded_history","some","elem","tx_hash","currentPage","prepareHistory","restore","total_history_item","totalPages","ceil","maxPages","pages","fill","index","exp_med_ts","height_app","contract","contracts","is_a","cancel_expiration_time","expiration_time","timestamp","searchResult2","notViewedContracts","find","j","viewedContracts","searchResult3","searchResult4","searchResult","is_new","findContract","prop","handle_deeplink_click","deeplink$","money_transfer_cancel","removeFromHistory","error_tr","events","method","enableAliasSearch","newAlias","concat","changeAliases","CurrentAlias","element","intervalUpdateContractsState","setInterval","expMedTsEvent","getExpMedTsEvent","newTimestamp","appUseTor","scale","setStyle","document","documentElement","appLog","navigate","auth","noWallet","then","statusPass","queryParams","appLogin","getInfo","pipe","destroy$","updateTime","updateMoneyEquivalent","intervalUpdatePriceState","clearInterval","ngOnDestroy","unsubscribe","get","moneyEquivalent","moneyEquivalentPercent","sort","a","b","boolean","filter","item","set","testnet","networkType","jsonrpc","info$","selectors","decls","vars","consts","template","inject","TranslateService","CREATE_NEW_WALLET_HELP_PAGE","filePathWalletValidator","AddWalletComponent","translateService","file_status","file_data","positionLastSlash","lastIndexOf","new_default_path","slice","text","errorText","openInBrowser","ctx","FormBuilder","Validators","regExpAliasName","AssignAliasComponent","backend","intToMoney","routerLink","fb","group","nonNullable","control","required","pattern","maxLength","maxCommentLength","price","rewardOriginal","exists","assignForm","valueChanges","canRegister","newName","toLowerCase","controls","errors","statusPrice","dataPrice","sum","unlocked_balance","getBalanceByTicker","_a","unlocked","notEnoughMoney","isGreaterThan","complete","assignAlias","wakeAlias","Wallet","BehaviorSubject","regExpPassword","ZanoValidators","LoginComponent","walletsService","route","password","confirmation","validators","formMatch","onSubmitCreatePass","regForm","valid","dataIsLoaded","appLockTime","startCountdown","onSkipCreatePass","resetJwtWalletRpc","zanoCompation","resetLoading$","closeAllWallets","onSubmitAuthPass","submitLoading$","authForm","prevUrl","setAuthPassError","wrong_password","getData","isEmptyObject","getWalletData","walletData","openWallets","runWallets","wallet_index","open_status","open_data","open_error","new_wallet","balance","tracking_hey","is_auditable","is_watch_only","recent_history","total_history_items","addWallet","run_status","setErrors","NonNullableFormBuilder","VariablesService","ModalService","Router","WalletsService","CreateWalletComponent","duplicate","walletNamesForComparisons","confirm","savedWalletName","createForm","substr","createWallet","loading$","selectedPath","getRawValue","generate_status","generate_data","errorCode","run_data","setCurrentWallet","errorTranslationKey","selectWalletLocation","patchValue","delay","DeeplinkComponent","notFileZanoWallet","wrongPassword","OpenWalletComponent","maxWalletNameLength","filePath","openWalletForm","filename","markAsTouched","openStatus","openData","open_from_exist","AssetDetailsComponent","ConfirmModalComponent","LOCKED_BALANCE_HELP_PAGE","defaultImgSrc","zanoAssetInfo","ctx_r6","$event","ctx_r4","asset_r5","_r7","ctx_r0","ctx_r1","AssetsComponent","paginatePipeArgs","paginationId","itemsPerPage","isShowPagination","listenChangeWallet","toggleDropDownMenu","trigger","asset","isOpenDropDownMenu","triggerOrigin","currentAsset","trackByAssets","asset_info","trackByPages","assetDetails","dialogConfig","open","beforeRemoveAsset","full_name","closed","confirmed","removeAsset","sendMoneyParams","updateWalletInfo","getBalanceTooltip","tooltip","createElement","scrollWrapper","classList","add","total","ticker","available","setAttribute","innerText","availableB","appendChild","locked","lockedB","minus","link","innerHTML","addEventListener","currentWalletChangedEvent","ElementRef","EventEmitter","successfulStatuses","STATE_SENDING","STATE_SENT_SUCCESS","STATE_INITIALIZING","STATE_DOWNLOADING_CONSENSUS","STATE_MAKING_TUNNEL_A","STATE_MAKING_TUNNEL_B","STATE_CREATING_STREAM","STATE_SUCCESS","failedStatuses","STATE_SEND_FAILED","STATE_FAILED","SendDetailsModalComponent","currentActionState$","currentActionStates","currentActionStates$","isSentSuccess","isSentFailed","isDetailsNotEmpty","responseData$","addClass","body","actionState","success","removeClass","toggleDetails","stateDetails$","scrollToBottomDetailsList","trackBy","isSuccess","action","isFailed","elDetailsList","nativeElement","scrollTop","scrollHeight","viewQuery","MIXIN","debounceTime","retry","tap","of","IntToMoneyPipe","insuficcientFunds","defaultSendMoneyParams","WrapInfoService","alias_r18","_r15","asset_r36","ctx_r9","ctx_r11","SendComponent","moneyToInt","isVisibleDropdownAliases$","aliasAddress","valid_status","isWrapShown","assign","address_not_valid","hasError","test","alias_not_valid","alias_status","alias_data","alias_not_found","min","zero","bigAmount","wrapInfo","wrap_info_null","unwraped_coins_left","great_than_unwraped_coins","isLessThan","tx_cost","zano_needed_for_erc20","less_than_zano_needed","sendMoneyParamsForm","_b","g","less_min","aliases$","getWrapInfo","listenSendActionData","patchSendMoneyParamsByCurrentWallet","saveSendMoneyParams","setAssetFromHistoryState","emitEvent","showDialog","isModalDialogVisible","onSend","aliasName","isModalDetailsDialogVisible","getReceivedValue","needed","handeCloseDetailsModal","reset","markAllAsTouched","disable","fillDeepLinkData","additionalOptions","comments","mixins","hide_sender","wrapInfoService","pasteListenAddressField","event","preventDefault","clipboardData","lowerCaseDisabled$","inputListenAddressField","target","filteredAliases","sendActionData$","CommonModule","RouterLinkWithHref","TranslateModule","BreadcrumbsComponent","DefaultImgModule","InputValidateModule","LowerCaseDirective","FormsModule","ReactiveFormsModule","IntToMoneyPipeModule","MoneyToIntPipe","MoneyToIntPipeModule","ShortStringPipe","NgSelectModule","startWith","assetHasNotBeenAddedToWallet","LoaderComponent","assetInfo_r20","ctx_r3","assetInfo_r23","alias_r33","_r30","CreateSwapComponent","allAssetsInfo","sending","form","receiving","disabled","isEmptyAssetsInfoWhitelist","receiverAddress","condition","sameAssetsId","setSendingAssetIdFromHistoryState","sendingAssetsInfo$","receivingAssetsInfo$","reverse","updateValueAndValidity","inputListenReceiverAddressField","pasteListenReceiverAddressField","beforeSubmit","invalid","submit","params1","params2","proposal","to_finalizer","to_initiator","fee_paid_by_a","navigateByUrl","hex_raw_proposal","errorRpc","standalone","features","i1","i2","i3","i4","i5","i6","i7","styles","ChangeDetectorRef","wrongAssetId","FlexModule","AddCustomTokenComponent","dialogRef","compose","hash","formGroup","asset_descriptor","awaiting_in","awaiting_out","close","cdr","detectChanges","_r2","i8","changeDetection","DIALOG_DATA","DialogRef","SuccessSweepBareOutsComponent","_dialogRef","distinctUntilChanged","ExportHistoryModalComponent","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","ZARCANUM_MIGRATION","MigrateWalletToZarcanumComponent","objTabs","assets","icon","hidden","send","receive","swap","indicator","WalletComponent","scrollStrategyOptions","scrollStrategyNoop","noop","walletLoaded","createTabs","setDisabledTabs","is_hardfok_active$","setHiddenTabs","navigationInterceptor","loader","conditionForHiding","tabs","onKeyPressed","openDropdown","walletSyncVisible","onKeyUpPressed","settingsButtonInterval","settingsButtonDisabled","select","Boolean","in_progress","values","getAliasChangedEvent","updateWalletStatus","toggleMenuDropdown","resyncCurrentWallet","addCustomToken","exportHistory","openZarcanumMigration","openMigrateWalletToZarcanum","maxWidth","width","scrollStrategy","ids","tab","hostBindings","OpenWalletModalComponent","notFound","emptyPass","isWrongPassword$","skipWallet","hostVars","Idle","contextMenuService","info","whenNotInteractive","do","stopCountdown","hasAppPass","isCurrentWalletSync","isCurrentWalletLoaded","getHeightAppEvent","height_max","getHeightMaxEvent","bytes","downloaded","bytesToMb","getDownloadedAppEvent","getTotalEvent","getNotLoadedWallet","idle","within","start","stop","restartCountdown","restart","Number","pow","onContextMenu","toUpperCase","show","allContextMenu","x","y","stopPropagation","onContextMenuOnlyCopy","copyText","onlyCopyContextMenu","onContextMenuPasteSelect","pasteSelectContextMenu","loadAssetsWhitelist","getWalletById","assetsInfoWhitelist","w"],"sourceRoot":"webpack:///","x_google_ignoreList":[]} \ No newline at end of file diff --git a/html/polyfills.js b/html/polyfills.js index 1d931900..8e3fda2e 100644 --- a/html/polyfills.js +++ b/html/polyfills.js @@ -6099,10 +6099,10 @@ var SHARED = '__core-js_shared__'; var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); (store.versions || (store.versions = [])).push({ - version: '3.37.0', + version: '3.37.1', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.37.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE', source: 'https://github.com/zloirock/core-js' }); diff --git a/html/polyfills.js.map b/html/polyfills.js.map index aaddfa25..694c0d01 100644 --- a/html/polyfills.js.map +++ b/html/polyfills.js.map @@ -1 +1 @@ -{"version":3,"file":"polyfills.js","mappings":"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CAAC,wCAA+B;AACpD,qBAAqB,wEAAgD;AACrE,gCAAgC,mBAAO,CAAC,sDAA4C;AACpF,wCAAwC,mBAAO,CAAC,+DAAqD;AACrG,mBAAmB,mBAAO,CAAC,6CAAmC;AAC9D,UAAU,mBAAO,CAAC,4BAAkB;AACpC,eAAe,mBAAO,CAAC,iCAAuB;;AAE9C;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA,QAAQ,4CAA4C;AACpD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACzFa;AACb,sBAAsB,mBAAO,CAAC,gDAAuC;AACrE,aAAa,mBAAO,CAAC,+BAAqB;AAC1C,eAAe,mBAAO,CAAC,kCAAwB;AAC/C,kCAAkC,mBAAO,CAAC,uDAA6C;AACvF,aAAa,mBAAO,CAAC,wCAA+B;AACpD,aAAa,mBAAO,CAAC,qCAA2B;AAChD,gBAAgB,mBAAO,CAAC,mCAAyB;AACjD,iBAAiB,mBAAO,CAAC,oCAA0B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtEa;AACb,sBAAsB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CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,oDAAoD,gDAAgD;AACpG,MAAM;AACN,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,+EAA+E,iCAAiC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sFAAsF,cAAc;AACpG;AACA;AACA;;AAEA,IAAI,2FAA2F;AAC/F;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,IAAI,oDAAoD;AACxD,2BAA2B,oBAAoB;AAC/C,2BAA2B;AAC3B,CAAC;;AAED,IAAI,0EAA0E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,IAAI,sDAAsD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtQa;AACb,QAAQ,mBAAO,CAAC,+BAAqB;AACrC,iBAAiB,mBAAO,CAAC,qCAA2B;AACpD,aAAa,mBAAO,CAAC,wCAA+B;AACpD,eAAe,mBAAO,CAAC,kCAAwB;AAC/C,aAAa,mBAAO,CAAC,+BAAqB;AAC1C,6BAA6B,mBAAO,CAAC,kDAAwC;;AAE7E;AACA;;AAEA;AACA;AACA,IAAI,+DAA+D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;ACtBY;AACb;AACA,mBAAO,CAAC,4CAAkC;AAC1C,mBAAO,CAAC,oCAA0B;AAClC,mBAAO,CAAC,wCAA8B;AACtC,mBAAO,CAAC,wCAA8B;AACtC,mBAAO,CAAC,yDAA+C;;;;;;;;;;;ACN1C;AACb,QAAQ,mBAAO,CAAC,+BAAqB;AACrC,aAAa,mBAAO,CAAC,wCAA+B;AACpD,eAAe,mBAAO,CAAC,kCAAwB;AAC/C,kBAAkB,mBAAO,CAAC,sCAA4B;AACtD,aAAa,mBAAO,CAAC,+BAAqB;AAC1C,6BAA6B,mBAAO,CAAC,kDAAwC;;AAE7E;;AAEA;AACA;AACA,IAAI,+DAA+D;AACnE;AACA;AACA;AACA;AACA,CAAC","sources":["./src/polyfills.ts","./node_modules/zone.js/fesm2015/zone.js","./node_modules/core-js/es/object/index.js","./node_modules/core-js/internals/a-callable.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-buffer-non-extensible.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/array-iteration.js","./node_modules/core-js/internals/array-slice.js","./node_modules/core-js/internals/array-species-constructor.js","./node_modules/core-js/internals/array-species-create.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/classof.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/create-property.js","./node_modules/core-js/internals/define-built-in-accessor.js","./node_modules/core-js/internals/define-built-in.js","./node_modules/core-js/internals/define-global-property.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/core-js/internals/engine-v8-version.js","./node_modules/core-js/internals/engine-webkit-version.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/internals/function-apply.js","./node_modules/core-js/internals/function-bind-context.js","./node_modules/core-js/internals/function-bind-native.js","./node_modules/core-js/internals/function-call.js","./node_modules/core-js/internals/function-name.js","./node_modules/core-js/internals/function-uncurry-this-accessor.js","./node_modules/core-js/internals/function-uncurry-this-clause.js","./node_modules/core-js/internals/function-uncurry-this.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/get-iterator-method.js","./node_modules/core-js/internals/get-iterator.js","./node_modules/core-js/internals/get-json-replacer-function.js","./node_modules/core-js/internals/get-method.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has-own-property.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-metadata.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/core-js/internals/is-array.js","./node_modules/core-js/internals/is-callable.js","./node_modules/core-js/internals/is-constructor.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-null-or-undefined.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-possible-prototype.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/is-symbol.js","./node_modules/core-js/internals/iterate.js","./node_modules/core-js/internals/iterator-close.js","./node_modules/core-js/internals/iterators.js","./node_modules/core-js/internals/length-of-array-like.js","./node_modules/core-js/internals/make-built-in.js","./node_modules/core-js/internals/math-trunc.js","./node_modules/core-js/internals/object-assign.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names-external.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-is-extensible.js","./node_modules/core-js/internals/object-is-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-prototype-accessors-forced.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/object-to-array.js","./node_modules/core-js/internals/object-to-string.js","./node_modules/core-js/internals/ordinary-to-primitive.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/path.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/same-value.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/symbol-constructor-detection.js","./node_modules/core-js/internals/symbol-define-to-primitive.js","./node_modules/core-js/internals/symbol-registry-detection.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer-or-infinity.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/to-property-key.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/internals/to-string.js","./node_modules/core-js/internals/try-to-string.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/v8-prototype-define-bug.js","./node_modules/core-js/internals/weak-map-basic-detection.js","./node_modules/core-js/internals/well-known-symbol-define.js","./node_modules/core-js/internals/well-known-symbol-wrapped.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.json.stringify.js","./node_modules/core-js/modules/es.json.to-string-tag.js","./node_modules/core-js/modules/es.math.to-string-tag.js","./node_modules/core-js/modules/es.object.assign.js","./node_modules/core-js/modules/es.object.create.js","./node_modules/core-js/modules/es.object.define-getter.js","./node_modules/core-js/modules/es.object.define-properties.js","./node_modules/core-js/modules/es.object.define-property.js","./node_modules/core-js/modules/es.object.define-setter.js","./node_modules/core-js/modules/es.object.entries.js","./node_modules/core-js/modules/es.object.freeze.js","./node_modules/core-js/modules/es.object.from-entries.js","./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","./node_modules/core-js/modules/es.object.get-own-property-names.js","./node_modules/core-js/modules/es.object.get-own-property-symbols.js","./node_modules/core-js/modules/es.object.get-prototype-of.js","./node_modules/core-js/modules/es.object.group-by.js","./node_modules/core-js/modules/es.object.has-own.js","./node_modules/core-js/modules/es.object.is-extensible.js","./node_modules/core-js/modules/es.object.is-frozen.js","./node_modules/core-js/modules/es.object.is-sealed.js","./node_modules/core-js/modules/es.object.is.js","./node_modules/core-js/modules/es.object.keys.js","./node_modules/core-js/modules/es.object.lookup-getter.js","./node_modules/core-js/modules/es.object.lookup-setter.js","./node_modules/core-js/modules/es.object.prevent-extensions.js","./node_modules/core-js/modules/es.object.proto.js","./node_modules/core-js/modules/es.object.seal.js","./node_modules/core-js/modules/es.object.set-prototype-of.js","./node_modules/core-js/modules/es.object.to-string.js","./node_modules/core-js/modules/es.object.values.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","./node_modules/core-js/modules/es.symbol.constructor.js","./node_modules/core-js/modules/es.symbol.for.js","./node_modules/core-js/modules/es.symbol.js","./node_modules/core-js/modules/es.symbol.key-for.js"],"sourcesContent":["/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your add-wallet\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es/symbol';\nimport 'core-js/es/object';\n// import 'core-js/es/function';\n// import 'core-js/es/parse-int';\n// import 'core-js/es/parse-float';\n// import 'core-js/es/number';\n// import 'core-js/es/math';\n// import 'core-js/es/string';\n// import 'core-js/es/date';\n// import 'core-js/es/array';\n// import 'core-js/es/regexp';\n// import 'core-js/es/map';\n// import 'core-js/es/weak-map';\n// import 'core-js/es/set';\n\n/**\n * If the application will be indexed by Google Search, the following is required.\n * Googlebot uses a renderer based on Chrome 41.\n * https://developers.google.com/search/docs/guides/rendering\n **/\n// import 'core-js/es6/array';\n\n/** IE10 and IE11 requires the following for the Reflect API. */\n// import 'core-js/es6/reflect';\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n */\n\n// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n\n/*\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n */\n// (window as any).__Zone_enable_cross_context_check = true;\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js'; // Included with Angular CLI.\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","'use strict';\n/**\n * @license Angular v15.1.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n((function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n}))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n/// \n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n ;\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(name => name.startsWith('on') && name.length > 2)\n .map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n","'use strict';\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.object.assign');\nrequire('../../modules/es.object.create');\nrequire('../../modules/es.object.define-property');\nrequire('../../modules/es.object.define-properties');\nrequire('../../modules/es.object.entries');\nrequire('../../modules/es.object.freeze');\nrequire('../../modules/es.object.from-entries');\nrequire('../../modules/es.object.get-own-property-descriptor');\nrequire('../../modules/es.object.get-own-property-descriptors');\nrequire('../../modules/es.object.get-own-property-names');\nrequire('../../modules/es.object.get-prototype-of');\nrequire('../../modules/es.object.group-by');\nrequire('../../modules/es.object.has-own');\nrequire('../../modules/es.object.is');\nrequire('../../modules/es.object.is-extensible');\nrequire('../../modules/es.object.is-frozen');\nrequire('../../modules/es.object.is-sealed');\nrequire('../../modules/es.object.keys');\nrequire('../../modules/es.object.prevent-extensions');\nrequire('../../modules/es.object.proto');\nrequire('../../modules/es.object.seal');\nrequire('../../modules/es.object.set-prototype-of');\nrequire('../../modules/es.object.values');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.object.define-getter');\nrequire('../../modules/es.object.define-setter');\nrequire('../../modules/es.object.lookup-getter');\nrequire('../../modules/es.object.lookup-setter');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n // This feature detection crashes old WebKit\n // https://github.com/zloirock/core-js/issues/232\n if (WEBKIT && WEBKIT < 535) return;\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call, es/no-legacy-object-prototype-accessor-methods -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.37.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.37.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toPropertyKey = require('../internals/to-property-key');\nvar iterate = require('../internals/iterate');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-map-groupby -- testing\nvar nativeGroupBy = Object.groupBy;\nvar create = getBuiltIn('Object', 'create');\nvar push = uncurryThis([].push);\n\nvar DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () {\n return nativeGroupBy('ab', function (it) {\n return it;\n }).a.length !== 1;\n});\n\n// `Object.groupBy` method\n// https://github.com/tc39/proposal-array-grouping\n$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, {\n groupBy: function groupBy(items, callbackfn) {\n requireObjectCoercible(items);\n aCallable(callbackfn);\n var obj = create(null);\n var k = 0;\n iterate(items, function (value) {\n var key = toPropertyKey(callbackfn(value, k++));\n // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys\n // but since it's a `null` prototype object, we can safely use `in`\n if (key in obj) push(obj[key], value);\n else obj[key] = [value];\n });\n return obj;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://tc39.es/ecma262/#sec-object.hasown\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n// eslint-disable-next-line es/no-object-isextensible -- safe\n$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, {\n isExtensible: $isExtensible\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isFrozen: function isFrozen(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isFrozen ? $isFrozen(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isSealed: function isSealed(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isSealed ? $isSealed(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-preventextensions -- safe\nvar $preventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isObject = require('../internals/is-object');\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\nvar toObject = require('../internals/to-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar getPrototypeOf = Object.getPrototypeOf;\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar setPrototypeOf = Object.setPrototypeOf;\nvar ObjectPrototype = Object.prototype;\nvar PROTO = '__proto__';\n\n// `Object.prototype.__proto__` accessor\n// https://tc39.es/ecma262/#sec-object.prototype.__proto__\nif (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try {\n defineBuiltInAccessor(ObjectPrototype, PROTO, {\n configurable: true,\n get: function __proto__() {\n return getPrototypeOf(toObject(this));\n },\n set: function __proto__(proto) {\n var O = requireObjectCoercible(this);\n if (isPossiblePrototype(proto) && isObject(O)) {\n setPrototypeOf(O, proto);\n }\n }\n });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-seal -- safe\nvar $seal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return $seal && isObject(it) ? $seal(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = global.RangeError;\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? global : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n"],"names":["global","performance","mark","name","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","constructor","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","_ZoneDelegate","assertZonePatched","patches","root","zone","current","_currentZoneFrame","currentTask","_currentTask","__load_patch","fn","ignoreDuplicate","hasOwnProperty","perfName","_api","get","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","Object","prototype","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","func","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","getOwnPropertyDescriptor","defineProperty","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","patchPrototype","fnNames","prototypeDesc","isPropertyWritable","patched","propertyDesc","writable","set","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","result","errorEvent","message","filename","lineno","colno","preventDefault","patchProperty","obj","prop","desc","enumerable","configurable","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","proto","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","api","readableObjectToString","JSON","stringify","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","e","rejection","console","stack","uncaughtPromiseError","shift","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","AggregateError","any","values","Symbol","iterator","Promise","promises","finished","errors","race","res","rej","onResolve","onReject","all","allWithCallback","allSettled","P","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","_a","C","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","zoneify","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","globalCallback","context","isCapture","tasks","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","assign","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","concat","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","getOwnPropertyNames","startsWith","map","substring","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","eventNames","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","timer","handle","ref","unref","bind","id","patchCustomElements","customElements","eventTargetPatch","EVENT_TARGET","patchEvent","legacyPatch","clear","blockingMethods","s","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt"],"sourceRoot":"webpack:///","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]} \ No newline at end of file +{"version":3,"file":"polyfills.js","mappings":"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CAAC,wCAA+B;AACpD,qBAAqB,wEAAgD;AACrE,gCAAgC,mBAAO,CAAC,sDAA4C;AACpF,wCAAwC,mBAAO,CAAC,+DAAqD;AACrG,mBAAmB,mBAAO,CAAC,6CAAmC;AAC9D,UAAU,mBAAO,CAAC,4BAAkB;AACpC,eAAe,mBAAO,CAAC,iCAAuB;;AAE9C;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA,QAAQ,4CAA4C;AACpD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACzFa;AACb,sBAAsB,mBAAO,CAAC,gDAAuC;AACrE,aAAa,mBAAO,CAAC,+BAAqB;AAC1C,eAAe,mBAAO,CAAC,kCAAwB;AAC/C,kCAAkC,mBAAO,CAAC,uDAA6C;AACvF,aAAa,mBAAO,CAAC,wCAA+B;AACpD,aAAa,mBAAO,CAAC,qCAA2B;AAChD,gBAAgB,mBAAO,CAAC,mCAAyB;AACjD,iBAAiB,mBAAO,CAAC,oCAA0B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtEa;AACb,sBAAsB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CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,oDAAoD,gDAAgD;AACpG,MAAM;AACN,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,+EAA+E,iCAAiC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sFAAsF,cAAc;AACpG;AACA;AACA;;AAEA,IAAI,2FAA2F;AAC/F;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,IAAI,oDAAoD;AACxD,2BAA2B,oBAAoB;AAC/C,2BAA2B;AAC3B,CAAC;;AAED,IAAI,0EAA0E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,IAAI,sDAAsD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACtQa;AACb,QAAQ,mBAAO,CAAC,+BAAqB;AACrC,iBAAiB,mBAAO,CAAC,qCAA2B;AACpD,aAAa,mBAAO,CAAC,wCAA+B;AACpD,eAAe,mBAAO,CAAC,kCAAwB;AAC/C,aAAa,mBAAO,CAAC,+BAAqB;AAC1C,6BAA6B,mBAAO,CAAC,kDAAwC;;AAE7E;AACA;;AAEA;AACA;AACA,IAAI,+DAA+D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;ACtBY;AACb;AACA,mBAAO,CAAC,4CAAkC;AAC1C,mBAAO,CAAC,oCAA0B;AAClC,mBAAO,CAAC,wCAA8B;AACtC,mBAAO,CAAC,wCAA8B;AACtC,mBAAO,CAAC,yDAA+C;;;;;;;;;;;ACN1C;AACb,QAAQ,mBAAO,CAAC,+BAAqB;AACrC,aAAa,mBAAO,CAAC,wCAA+B;AACpD,eAAe,mBAAO,CAAC,kCAAwB;AAC/C,kBAAkB,mBAAO,CAAC,sCAA4B;AACtD,aAAa,mBAAO,CAAC,+BAAqB;AAC1C,6BAA6B,mBAAO,CAAC,kDAAwC;;AAE7E;;AAEA;AACA;AACA,IAAI,+DAA+D;AACnE;AACA;AACA;AACA;AACA,CAAC","sources":["./src/polyfills.ts","./node_modules/zone.js/fesm2015/zone.js","./node_modules/core-js/es/object/index.js","./node_modules/core-js/internals/a-callable.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-buffer-non-extensible.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/array-iteration.js","./node_modules/core-js/internals/array-slice.js","./node_modules/core-js/internals/array-species-constructor.js","./node_modules/core-js/internals/array-species-create.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/classof.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/create-property.js","./node_modules/core-js/internals/define-built-in-accessor.js","./node_modules/core-js/internals/define-built-in.js","./node_modules/core-js/internals/define-global-property.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/core-js/internals/engine-v8-version.js","./node_modules/core-js/internals/engine-webkit-version.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/internals/function-apply.js","./node_modules/core-js/internals/function-bind-context.js","./node_modules/core-js/internals/function-bind-native.js","./node_modules/core-js/internals/function-call.js","./node_modules/core-js/internals/function-name.js","./node_modules/core-js/internals/function-uncurry-this-accessor.js","./node_modules/core-js/internals/function-uncurry-this-clause.js","./node_modules/core-js/internals/function-uncurry-this.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/get-iterator-method.js","./node_modules/core-js/internals/get-iterator.js","./node_modules/core-js/internals/get-json-replacer-function.js","./node_modules/core-js/internals/get-method.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has-own-property.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-metadata.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/core-js/internals/is-array.js","./node_modules/core-js/internals/is-callable.js","./node_modules/core-js/internals/is-constructor.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-null-or-undefined.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-possible-prototype.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/is-symbol.js","./node_modules/core-js/internals/iterate.js","./node_modules/core-js/internals/iterator-close.js","./node_modules/core-js/internals/iterators.js","./node_modules/core-js/internals/length-of-array-like.js","./node_modules/core-js/internals/make-built-in.js","./node_modules/core-js/internals/math-trunc.js","./node_modules/core-js/internals/object-assign.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names-external.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-is-extensible.js","./node_modules/core-js/internals/object-is-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-prototype-accessors-forced.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/object-to-array.js","./node_modules/core-js/internals/object-to-string.js","./node_modules/core-js/internals/ordinary-to-primitive.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/path.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/same-value.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/symbol-constructor-detection.js","./node_modules/core-js/internals/symbol-define-to-primitive.js","./node_modules/core-js/internals/symbol-registry-detection.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer-or-infinity.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/to-property-key.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/internals/to-string.js","./node_modules/core-js/internals/try-to-string.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/v8-prototype-define-bug.js","./node_modules/core-js/internals/weak-map-basic-detection.js","./node_modules/core-js/internals/well-known-symbol-define.js","./node_modules/core-js/internals/well-known-symbol-wrapped.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.json.stringify.js","./node_modules/core-js/modules/es.json.to-string-tag.js","./node_modules/core-js/modules/es.math.to-string-tag.js","./node_modules/core-js/modules/es.object.assign.js","./node_modules/core-js/modules/es.object.create.js","./node_modules/core-js/modules/es.object.define-getter.js","./node_modules/core-js/modules/es.object.define-properties.js","./node_modules/core-js/modules/es.object.define-property.js","./node_modules/core-js/modules/es.object.define-setter.js","./node_modules/core-js/modules/es.object.entries.js","./node_modules/core-js/modules/es.object.freeze.js","./node_modules/core-js/modules/es.object.from-entries.js","./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","./node_modules/core-js/modules/es.object.get-own-property-names.js","./node_modules/core-js/modules/es.object.get-own-property-symbols.js","./node_modules/core-js/modules/es.object.get-prototype-of.js","./node_modules/core-js/modules/es.object.group-by.js","./node_modules/core-js/modules/es.object.has-own.js","./node_modules/core-js/modules/es.object.is-extensible.js","./node_modules/core-js/modules/es.object.is-frozen.js","./node_modules/core-js/modules/es.object.is-sealed.js","./node_modules/core-js/modules/es.object.is.js","./node_modules/core-js/modules/es.object.keys.js","./node_modules/core-js/modules/es.object.lookup-getter.js","./node_modules/core-js/modules/es.object.lookup-setter.js","./node_modules/core-js/modules/es.object.prevent-extensions.js","./node_modules/core-js/modules/es.object.proto.js","./node_modules/core-js/modules/es.object.seal.js","./node_modules/core-js/modules/es.object.set-prototype-of.js","./node_modules/core-js/modules/es.object.to-string.js","./node_modules/core-js/modules/es.object.values.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","./node_modules/core-js/modules/es.symbol.constructor.js","./node_modules/core-js/modules/es.symbol.for.js","./node_modules/core-js/modules/es.symbol.js","./node_modules/core-js/modules/es.symbol.key-for.js"],"sourcesContent":["/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your add-wallet\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es/symbol';\nimport 'core-js/es/object';\n// import 'core-js/es/function';\n// import 'core-js/es/parse-int';\n// import 'core-js/es/parse-float';\n// import 'core-js/es/number';\n// import 'core-js/es/math';\n// import 'core-js/es/string';\n// import 'core-js/es/date';\n// import 'core-js/es/array';\n// import 'core-js/es/regexp';\n// import 'core-js/es/map';\n// import 'core-js/es/weak-map';\n// import 'core-js/es/set';\n\n/**\n * If the application will be indexed by Google Search, the following is required.\n * Googlebot uses a renderer based on Chrome 41.\n * https://developers.google.com/search/docs/guides/rendering\n **/\n// import 'core-js/es6/array';\n\n/** IE10 and IE11 requires the following for the Reflect API. */\n// import 'core-js/es6/reflect';\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n */\n\n// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n\n/*\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n */\n// (window as any).__Zone_enable_cross_context_check = true;\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js'; // Included with Angular CLI.\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n","'use strict';\n/**\n * @license Angular v15.1.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n((function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n}))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n/// \n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n ;\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(name => name.startsWith('on') && name.length > 2)\n .map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n","'use strict';\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.object.assign');\nrequire('../../modules/es.object.create');\nrequire('../../modules/es.object.define-property');\nrequire('../../modules/es.object.define-properties');\nrequire('../../modules/es.object.entries');\nrequire('../../modules/es.object.freeze');\nrequire('../../modules/es.object.from-entries');\nrequire('../../modules/es.object.get-own-property-descriptor');\nrequire('../../modules/es.object.get-own-property-descriptors');\nrequire('../../modules/es.object.get-own-property-names');\nrequire('../../modules/es.object.get-prototype-of');\nrequire('../../modules/es.object.group-by');\nrequire('../../modules/es.object.has-own');\nrequire('../../modules/es.object.is');\nrequire('../../modules/es.object.is-extensible');\nrequire('../../modules/es.object.is-frozen');\nrequire('../../modules/es.object.is-sealed');\nrequire('../../modules/es.object.keys');\nrequire('../../modules/es.object.prevent-extensions');\nrequire('../../modules/es.object.proto');\nrequire('../../modules/es.object.seal');\nrequire('../../modules/es.object.set-prototype-of');\nrequire('../../modules/es.object.values');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.object.define-getter');\nrequire('../../modules/es.object.define-setter');\nrequire('../../modules/es.object.lookup-getter');\nrequire('../../modules/es.object.lookup-setter');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n // This feature detection crashes old WebKit\n // https://github.com/zloirock/core-js/issues/232\n if (WEBKIT && WEBKIT < 535) return;\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call, es/no-legacy-object-prototype-accessor-methods -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.37.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toPropertyKey = require('../internals/to-property-key');\nvar iterate = require('../internals/iterate');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-map-groupby -- testing\nvar nativeGroupBy = Object.groupBy;\nvar create = getBuiltIn('Object', 'create');\nvar push = uncurryThis([].push);\n\nvar DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () {\n return nativeGroupBy('ab', function (it) {\n return it;\n }).a.length !== 1;\n});\n\n// `Object.groupBy` method\n// https://github.com/tc39/proposal-array-grouping\n$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, {\n groupBy: function groupBy(items, callbackfn) {\n requireObjectCoercible(items);\n aCallable(callbackfn);\n var obj = create(null);\n var k = 0;\n iterate(items, function (value) {\n var key = toPropertyKey(callbackfn(value, k++));\n // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys\n // but since it's a `null` prototype object, we can safely use `in`\n if (key in obj) push(obj[key], value);\n else obj[key] = [value];\n });\n return obj;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://tc39.es/ecma262/#sec-object.hasown\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n// eslint-disable-next-line es/no-object-isextensible -- safe\n$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, {\n isExtensible: $isExtensible\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isFrozen: function isFrozen(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isFrozen ? $isFrozen(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\n\nvar FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FORCED }, {\n isSealed: function isSealed(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true;\n return $isSealed ? $isSealed(it) : false;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-preventextensions -- safe\nvar $preventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isObject = require('../internals/is-object');\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\nvar toObject = require('../internals/to-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar getPrototypeOf = Object.getPrototypeOf;\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar setPrototypeOf = Object.setPrototypeOf;\nvar ObjectPrototype = Object.prototype;\nvar PROTO = '__proto__';\n\n// `Object.prototype.__proto__` accessor\n// https://tc39.es/ecma262/#sec-object.prototype.__proto__\nif (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try {\n defineBuiltInAccessor(ObjectPrototype, PROTO, {\n configurable: true,\n get: function __proto__() {\n return getPrototypeOf(toObject(this));\n },\n set: function __proto__(proto) {\n var O = requireObjectCoercible(this);\n if (isPossiblePrototype(proto) && isObject(O)) {\n setPrototypeOf(O, proto);\n }\n }\n });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-seal -- safe\nvar $seal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return $seal && isObject(it) ? $seal(onFreeze(it)) : it;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = global.RangeError;\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? global : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n"],"names":["global","performance","mark","name","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","constructor","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","_ZoneDelegate","assertZonePatched","patches","root","zone","current","_currentZoneFrame","currentTask","_currentTask","__load_patch","fn","ignoreDuplicate","hasOwnProperty","perfName","_api","get","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","Object","prototype","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","func","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","getOwnPropertyDescriptor","defineProperty","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","patchPrototype","fnNames","prototypeDesc","isPropertyWritable","patched","propertyDesc","writable","set","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","result","errorEvent","message","filename","lineno","colno","preventDefault","patchProperty","obj","prop","desc","enumerable","configurable","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","proto","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","api","readableObjectToString","JSON","stringify","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","e","rejection","console","stack","uncaughtPromiseError","shift","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","AggregateError","any","values","Symbol","iterator","Promise","promises","finished","errors","race","res","rej","onResolve","onReject","all","allWithCallback","allSettled","P","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","_a","C","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","zoneify","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","globalCallback","context","isCapture","tasks","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","assign","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","concat","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","getOwnPropertyNames","startsWith","map","substring","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","eventNames","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","timer","handle","ref","unref","bind","id","patchCustomElements","customElements","eventTargetPatch","EVENT_TARGET","patchEvent","legacyPatch","clear","blockingMethods","s","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt"],"sourceRoot":"webpack:///","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]} \ No newline at end of file