{"version":3,"sources":["webpack:///src/app/modules/auth/_services/auth.service.ts","webpack:///src/app/modules/i18n/vocabs/fr.ts","webpack:///src/app/modules/i18n/vocabs/ch.ts","webpack:///src/app/_metronic/partials/layout/splash-screen/splash-screen.component.ts","webpack:///src/app/_metronic/partials/layout/splash-screen/splash-screen.component.html","webpack:///core/src/lib/services/config/json-app-config.service.ts","webpack:///core/src/lib/services/app-error-handler/not-found-error.ts","webpack:///core/src/lib/pipes/divideBy.pipe.ts","webpack:///core/src/lib/services/cache.service.ts","webpack:///core/src/lib/directives/mat-button-loading/mat-button-loading.directive.ts","webpack:///src/environments/environment.ts","webpack:///core/src/lib/services/tenantfieldsetup.service.ts","webpack:///core/src/lib/services/data.service.ts","webpack:///core/src/lib/services/config/app.config.ts","webpack:///src/app/modules/auth/_services/auth-http/index.ts","webpack:///src/app/_metronic/partials/layout/splash-screen/splash-screen.service.ts","webpack:///core/src/lib/core.module.ts","webpack:///src/app/modules/i18n/vocabs/jp.ts","webpack:///src/app/_metronic/partials/layout/splash-screen/splash-screen.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/modules/i18n/vocabs/en.ts","webpack:///core/src/lib/services/interceptors/error.interceptor.ts","webpack:///src/app/app.module.ts","webpack:///core/src/lib/services/tmxutility.service.ts","webpack:///core/src/lib/services/encryption.service.ts","webpack:///core/src/lib/services/app-error-handler/app-error.ts","webpack:///src/app/modules/i18n/translation.service.ts","webpack:///core/src/lib/services/privileges.service.ts","webpack:///src/app/modules/auth/_services/auth-http/auth-http.service.ts","webpack:///core/src/lib/pipes/safe.pipe.ts","webpack:///core/src/lib/services/app-error-handler/bad-input.ts","webpack:///core/src/public-api.ts","webpack:///core/src/lib/services/authentication.service.ts","webpack:///src/app/modules/auth/_services/auth.guard.ts","webpack:///src/app/modules/i18n/vocabs/de.ts","webpack:///core/src/lib/services/interceptors/basic-auth.interceptor.ts","webpack:///src/app/app-routing.module.ts","webpack:///core/src/lib/pipes/first-letter.pipe.ts","webpack:///src/app/modules/i18n/vocabs/es.ts","webpack:///src/main.ts","webpack:///core/src/lib/services/lookup.service.ts","webpack:///$_lazy_route_resource lazy namespace object"],"names":["AuthService","authHttpService","router","dataService","unsubscribe","authLocalStorageToken","otpLocalStorage","beautifyPrivileges","data","Role","_id","_name","vm","id","name","Privilege","Entity","privileges","ViewEntity","_key","_value","key","value","bData","roles","entities","tabs","viewEntities","i","hasOwnProperty","RoleId","RoleName","j","length","entity","EntityName","EntityId","k","Privileges","privilege","PrivilegeName","PrivilegesId","Tab","tab","TabId","TabName","ViewEntities","viewEntity","Key","Value","isLoadingSubject","currentUserSubject","undefined","currentUser$","asObservable","isLoading$","subscr","getUserByToken","subscribe","push","get","getByWebAction","response","set","savedPrivileges","JSON","stringify","localStorage","setItem","email","password","LoginFormData","username","next","postDataWithParam","map","removeItem","navigate","queryParams","auth","getAuthFromLocalStorage","accessToken","pipe","user","logout","createUser","login","err","console","error","forgotPassword","authData","parse","getItem","forEach","sb","providedIn","locale","lang","TRANSLATOR","SELECT","MENU","NEW","ACTIONS","CREATE_POST","PAGES","FEATURES","APPS","DASHBOARD","AUTH","GENERAL","OR","SUBMIT_BUTTON","NO_ACCOUNT","SIGNUP_BUTTON","FORGOT_BUTTON","BACK_BUTTON","PRIVACY","LEGAL","CONTACT","LOGIN","TITLE","BUTTON","FORGOT","DESC","SUCCESS","REGISTER","INPUT","EMAIL","FULLNAME","PASSWORD","CONFIRM_PASSWORD","USERNAME","VALIDATION","INVALID","REQUIRED","MIN_LENGTH","AGREEMENT_REQUIRED","NOT_FOUND","INVALID_LOGIN","REQUIRED_FIELD","MIN_LENGTH_FIELD","MAX_LENGTH_FIELD","INVALID_FIELD","ECOMMERCE","COMMON","SELECTED_RECORDS_COUNT","ALL","SUSPENDED","ACTIVE","FILTER","BY_STATUS","BY_TYPE","BUSINESS","INDIVIDUAL","SEARCH","IN_ALL_FIELDS","CUSTOMERS","CUSTOMERS_LIST","NEW_CUSTOMER","DELETE_CUSTOMER_SIMPLE","DESCRIPTION","WAIT_DESCRIPTION","MESSAGE","DELETE_CUSTOMER_MULTY","UPDATE_STATUS","EDIT","UPDATE_MESSAGE","ADD_MESSAGE","SplashScreenComponent","el","splashScreenService","init","splashScreen","selector","templateUrl","styleUrls","JsonAppConfigService","httpClient","toPromise","then","backendUrl","authUrl","baseUrl","env","tenant","otpexpiry","NotFoundError","DivideByPipe","divider","isNaN","Math","ceil","CacheService","MatButtonLoadingDirective","matButton","componentFactoryResolver","viewContainerRef","renderer","spinnerFactory","resolveComponentFactory","changes","loading","currentValue","_elementRef","nativeElement","classList","add","disabled","createSpinner","firstChange","remove","destroySpinner","spinner","createComponent","instance","color","diameter","mode","appendChild","destroy","environment","production","appVersion","USERDATA_KEY","isMockEnabled","apiUrl","TenantFieldSetupService","appConfig","http","HttpFormDataOptions","headers","DataService","url","backendWebUrl","body","post","handleError","action","resource","put","state","queryStr","log","total","errors","aggregateResults","ex","skip","take","argument","responseType","patch","isRead","status","json","AppConfig","SplashScreenService","animationBuilder","element","stopped","player","build","opacity","create","onDone","style","display","setTimeout","play","initializerFn","jsonAppConfig","load","CoreModule","provide","useClass","multi","deps","useExisting","useFactory","declarations","imports","exports","providers","SplashScreenModule","AppComponent","translationService","ngxService","loadTranslations","routerSubscription","events","event","start","hide","window","scrollTo","document","stop","changeDetection","Default","ErrorInterceptor","authenticationService","request","handle","message","statusText","appInitializer","authService","Promise","resolve","getHighlightLanguages","func","AppModule","useValue","languages","forRoot","bootstrap","TmxUtilityService","EntityObj","obj","property","previlegeName","alwaysAllowedMenus","indexOf","checkEntity","EncryptionService","_keys","_iv","Utf8","iv","encrypted","encrypt","toString","keySize","ECB","padding","ZeroPadding","decrypted","decrypt","AppError","originalError","LOCALIZATION_LOCAL_STORAGE_KEY","TranslationService","translate","langIds","addLangs","setDefaultLang","args","locales","setTranslation","use","getDefaultLang","allowedStates","PrivilegesService","CheckStatePrevilege","stateName","toLowerCase","parseAndCheckPrevilege","endsWith","splitString","lastIndexOf","startsWith","stateParts","PartitionStates","filteredLoggedInPrevileges","FilterPrevilegeByEntityName","CheckPrevilegeInEntity","splitStates","entityName","userPrevileges","actualName","Object","keys","find","x","entityPrevilegeItem","stringObj","index","substring","API_USERS_URL","AuthHTTPService","token","httpHeaders","Authorization","SafePipe","_sanitizer","type","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","BadInput","AuthenticationService","authdata","btoa","AuthGuard","route","currentUser","isOTPVerified","decodedCurrentUser","decodedToken","expiryTime","currTime","Date","getTime","BasicAuthInterceptor","includes","UserData","Token","clone","setHeaders","routes","path","loadChildren","m","AuthModule","ErrorsModule","canActivate","LayoutModule","redirectTo","pathMatch","AppRoutingModule","FirstLetterPipe","split","n","join","bootstrapModule","TmxLookupJson","LookupService","lookups","flag","getByAction","groupLookupByType","LookupById","lookupByType","LookupType","ParentId","filter","item","ParentLookupId","array","LookupId","webpackEmptyAsyncContext","req","e","Error","code","module"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAaaA,W;AAuBX,6BACUC,eADV,EAEUC,MAFV,EAGUC,WAHV,EAGkC;AAAA;;AAFxB,eAAAF,eAAA,GAAAA,eAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAC,WAAA,GAAAA,WAAA,CAAwB,CAzBlC;;AACQ,eAAAC,WAAA,GAA8B,EAA9B,CAwB0B,CAxBQ;;AAClC,eAAAC,qBAAA;AACA,eAAAC,eAAA,GAA0B,eAA1B;;AAkKR,eAAAC,kBAAA,GAAqB,UAAUC,IAAV,EAAgB;AACnC,iBAAKC,IAAL,GAAY,UAAUC,GAAV,EAAeC,KAAf,EAAsB;AAChC,kBAAMC,EAAE,GAAG,IAAX;AACAA,gBAAE,CAACC,EAAH,GAAQH,GAAR;AACAE,gBAAE,CAACE,IAAH,GAAUH,KAAV;AACD,aAJD;;AAMA,iBAAKI,SAAL,GAAiB,UAAUL,GAAV,EAAeC,KAAf,EAAsB;AACrC,kBAAMC,EAAE,GAAG,IAAX;AACAA,gBAAE,CAACC,EAAH,GAAQH,GAAR;AACAE,gBAAE,CAACE,IAAH,GAAUH,KAAV;AACD,aAJD;;AAMA,iBAAKK,MAAL,GAAc,UAAUN,GAAV,EAAeC,KAAf,EAAsB;AAClC,kBAAMC,EAAE,GAAG,IAAX;AACAA,gBAAE,CAACC,EAAH,GAAQH,GAAR;AACAE,gBAAE,CAACE,IAAH,GAAUH,KAAV;AACAC,gBAAE,CAACK,UAAH,GAAgB,EAAhB;AACD,aALD;;AAOA,iBAAKC,UAAL,GAAkB,UAAUC,IAAV,EAAgBC,MAAhB,EAAwB;AACxC,kBAAMR,EAAE,GAAG,IAAX;AACAA,gBAAE,CAACS,GAAH,GAASF,IAAT;AACAP,gBAAE,CAACU,KAAH,GAAWF,MAAX;AACD,aAJD;;AAKA,gBAAIG,KAAK,GAAG;AACVC,mBAAK,EAAE,EADG;AAEVC,sBAAQ,EAAE,EAFA;AAGVC,kBAAI,EAAC,EAHK;AAIVC,0BAAY,EAAE;AAJJ,aAAZ;;AAMA,iBAAK,IAAIC,CAAT,IAAcpB,IAAd,EAAoB;AAClB,kBAAIA,IAAI,CAACqB,cAAL,CAAoBD,CAApB,CAAJ,EAA4B;AAC1BL,qBAAK,CAACC,KAAN,CAAYhB,IAAI,CAACoB,CAAD,CAAJ,CAAQE,MAApB,IAA8B,IAAI,KAAKrB,IAAT,CAAcD,IAAI,CAACoB,CAAD,CAAJ,CAAQE,MAAtB,EAA8BtB,IAAI,CAACoB,CAAD,CAAJ,CAAQG,QAAtC,CAA9B;;AACA,qBAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGxB,IAAI,CAACoB,CAAD,CAAJ,CAAQZ,MAAR,CAAeiB,MAAnC,EAA2CD,CAAC,EAA5C,EAAgD;AAC9C,sBAAIE,MAAM,GAAG1B,IAAI,CAACoB,CAAD,CAAJ,CAAQZ,MAAR,CAAegB,CAAf,CAAb;AACAT,uBAAK,CAACE,QAAN,CAAeS,MAAM,CAACC,UAAtB,IAAoC,IAAI,KAAKnB,MAAT,CAAgBkB,MAAM,CAACE,QAAvB,EAAiCF,MAAM,CAACC,UAAxC,CAApC;;AACA,uBAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,MAAM,CAACI,UAAP,CAAkBL,MAAtC,EAA8CI,CAAC,EAA/C,EAAmD;AACjD,wBAAIE,SAAS,GAAGL,MAAM,CAACI,UAAP,CAAkBD,CAAlB,CAAhB;AACAd,yBAAK,CAACE,QAAN,CAAeS,MAAM,CAACC,UAAtB,EAAkClB,UAAlC,CAA6CsB,SAAS,CAACC,aAAvD,IACI,IAAI,KAAKzB,SAAT,CAAmBwB,SAAS,CAACE,YAA7B,EAA2CF,SAAS,CAACC,aAArD,CADJ;AAED;AACF;;AACD,oBAAGhC,IAAI,CAACoB,CAAD,CAAJ,CAAQc,GAAR,IAAelC,IAAI,CAACoB,CAAD,CAAJ,CAAQc,GAAR,CAAYT,MAAZ,GAAmB,CAArC,EAAuC;AACvC,uBAAK,IAAID,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGxB,IAAI,CAACoB,CAAD,CAAJ,CAAQc,GAAR,CAAYT,MAAhC,EAAwCD,EAAC,EAAzC,EAA6C;AAC3C,wBAAIW,GAAG,GAAGnC,IAAI,CAACoB,CAAD,CAAJ,CAAQc,GAAR,CAAYV,EAAZ,CAAV;AACAT,yBAAK,CAACG,IAAN,CAAWiB,GAAG,CAACC,KAAf,IAAwB,IAAI,KAAK5B,MAAT,CAAgB2B,GAAG,CAACC,KAApB,EAA2BD,GAAG,CAACE,OAA/B,CAAxB;;AACU,yBAAK,IAAIR,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGM,GAAG,CAACL,UAAJ,CAAeL,MAAnC,EAA2CI,EAAC,EAA5C,EAAgD;AAC5C,0BAAIpB,UAAU,GAAG0B,GAAG,CAACL,UAAJ,CAAeD,EAAf,CAAjB;AACAd,2BAAK,CAACG,IAAN,CAAWiB,GAAG,CAACC,KAAf,EAAsB3B,UAAtB,CAAiCA,UAAU,CAACuB,aAA5C,IACE,IAAI,KAAKzB,SAAT,CAAmBE,UAAU,CAACwB,YAA9B,EAA4CxB,UAAU,CAACuB,aAAvD,CADF;AAEH;AACd;AACF;;AACG,oBAAIhC,IAAI,CAACoB,CAAD,CAAJ,CAAQkB,YAAR,IAAwBtC,IAAI,CAACoB,CAAD,CAAJ,CAAQkB,YAAR,CAAqBb,MAArB,GAA8B,CAA1D,EAA6D;AAC3D,uBAAK,IAAID,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGxB,IAAI,CAACoB,CAAD,CAAJ,CAAQkB,YAAR,CAAqBb,MAAzC,EAAiDD,GAAC,EAAlD,EAAsD;AACpD,wBAAIe,UAAU,GAAGvC,IAAI,CAACoB,CAAD,CAAJ,CAAQkB,YAAR,CAAqBd,GAArB,CAAjB;AACAT,yBAAK,CAACI,YAAN,CAAmBoB,UAAU,CAACC,GAA9B,IAAqC,IAAI,KAAK9B,UAAT,CAAoB6B,UAAU,CAACC,GAA/B,EAAoCD,UAAU,CAACE,KAA/C,CAArC;AACD;AACF;AACF;AACF;;AACD,mBAAO1B,KAAP;AACD,WA/DD;;AA1IE,eAAK2B,gBAAL,GAAwB,IAAI,oDAAJ,CAA6B,KAA7B,CAAxB;AACA,eAAKC,kBAAL,GAA0B,IAAI,oDAAJ,CAA+BC,SAA/B,CAA1B;AACA,eAAKC,YAAL,GAAoB,KAAKF,kBAAL,CAAwBG,YAAxB,EAApB;AACA,eAAKC,UAAL,GAAkB,KAAKL,gBAAL,CAAsBI,YAAtB,EAAlB;AACA,cAAME,MAAM,GAAG,KAAKC,cAAL,GAAsBC,SAAtB,EAAf;AACA,eAAKtD,WAAL,CAAiBuD,IAAjB,CAAsBH,MAAtB;AACD;;;;gDAEqB;AACpB,gBAAI,kDAAaI,GAAb,CAAiB,kBAAjB,CAAJ,EAA0C;AACxC,qBAAO,kDAAaA,GAAb,CAAiB,kBAAjB,CAAP;AACD,aAFD,MAGK;AACH,qBAAO,KAAKzD,WAAL,CAAiB0D,cAAjB,CAAgC,sBAAhC,EAAwDH,SAAxD,CAAkE,UAAAI,QAAQ,EAAI;AACnF,kEAAaC,GAAb,CAAiB,kBAAjB,EAAqCD,QAArC;AACD,eAFM,CAAP;AAGD;AACF;;;sDAE2B;AAAA;;AAC1B,gBAAME,eAAe,GAAG,kDAAaJ,GAAb,CAAiB,wBAAjB,CAAxB;;AACA,gBAAII,eAAJ,EAAqB;AACnB,qBAAO,gDAAGA,eAAH,CAAP;AACD;;AACD,iBAAK7D,WAAL,CAAiB0D,cAAjB,CAAgC,+BAAhC,EAAiEH,SAAjE,CAA2E,UAAAI,QAAQ,EAAI;AACrF,gEAAaC,GAAb,CAAiB,wBAAjB,EAA2CE,IAAI,CAACC,SAAL,CAAe,KAAI,CAAC3D,kBAAL,CAAwBuD,QAAQ,CAACtD,IAAjC,CAAf,CAA3C;AACA2D,0BAAY,CAACC,OAAb,CAAqB,wBAArB,EAA+CH,IAAI,CAACC,SAAL,CAAe,KAAI,CAAC3D,kBAAL,CAAwBuD,QAAQ,CAACtD,IAAjC,CAAf,CAA/C;AACA,qBAAOyD,IAAI,CAACC,SAAL,CAAe,KAAI,CAAC3D,kBAAL,CAAwBuD,QAAQ,CAACtD,IAAjC,CAAf,CAAP;AACD,aAJD;AAKD,W,CAED;;;;gCACM6D,K,EAAeC,Q,EAAgB;AAAA;;AACnC,gBAAIC,aAAa,GAAG;AAClBC,sBAAQ,EAAEH,KADQ;AAElBC,sBAAQ,EAAEA;AAFQ,aAApB;AAIA,iBAAKpB,gBAAL,CAAsBuB,IAAtB,CAA2B,IAA3B;AACA,mBAAO,KAAKtE,WAAL,CAAiBuE,iBAAjB,CAAmCH,aAAnC,EACJI,GADI,CACA,UAAAb,QAAQ,EAAI;AACf,kBAAIA,QAAJ,EAAc;AACZK,4BAAY,CAACC,OAAb,CAAqB,MAAI,CAAC/D,qBAA1B,EAAiD4D,IAAI,CAACC,SAAL,CAAeJ,QAAf,CAAjD;AACAK,4BAAY,CAACC,OAAb,CAAqB,MAAI,CAAC9D,eAA1B,EAA2C,OAA3C,EAFY,CAGZ;AACA;;AACA,uBAAOwD,QAAP;AACD;AACF,aATI,CAAP,CANmC,CAgBnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;mCAEQ;AACPK,wBAAY,CAACS,UAAb,CAAwB,KAAKvE,qBAA7B;AACA8D,wBAAY,CAACS,UAAb,CAAwB,KAAKtE,eAA7B;AACA6D,wBAAY,CAACS,UAAb,CAAwB,wBAAxB;AACA,wEAAoB,wBAApB;AACA,iBAAK1E,MAAL,CAAY2E,QAAZ,CAAqB,CAAC,aAAD,CAArB,EAAsC;AACpCC,yBAAW,EAAE;AADuB,aAAtC;AAGD;;;2CAEa;AAAA;;AACZ,gBAAMC,IAAI,GAAG,KAAKC,uBAAL,EAAb;;AACA,gBAAI,CAACD,IAAD,IAAS,CAACA,IAAI,CAACE,WAAnB,EAAgC;AAC9B,qBAAO,gDAAG7B,SAAH,CAAP;AACD;;AAED,iBAAKF,gBAAL,CAAsBuB,IAAtB,CAA2B,IAA3B;AACA,mBAAO,KAAKxE,eAAL,CAAqBwD,cAArB,CAAoCsB,IAAI,CAACE,WAAzC,EAAsDC,IAAtD,CACL,2DAAI,UAACC,IAAD,EAAqB;AACvB,kBAAIA,IAAJ,EAAU;AACR,sBAAI,CAAChC,kBAAL,GAA0B,IAAI,oDAAJ,CAA+BgC,IAA/B,CAA1B;AACD,eAFD,MAEO;AACL,sBAAI,CAACC,MAAL;AACD;;AACD,qBAAOD,IAAP;AACD,aAPD,CADK,EASL,gEAAS;AAAA,qBAAM,MAAI,CAACjC,gBAAL,CAAsBuB,IAAtB,CAA2B,KAA3B,CAAN;AAAA,aAAT,CATK,CAAP;AAWD,W,CAED;;;;uCACaU,I,EAAe;AAAA;;AAC1B,iBAAKjC,gBAAL,CAAsBuB,IAAtB,CAA2B,IAA3B;AACA,mBAAO,KAAKxE,eAAL,CAAqBoF,UAArB,CAAgCF,IAAhC,EAAsCD,IAAtC,CACL,2DAAI,YAAM;AACR,oBAAI,CAAChC,gBAAL,CAAsBuB,IAAtB,CAA2B,KAA3B;AACD,aAFD,CADK,EAIL,iEAAU;AAAA,qBAAM,MAAI,CAACa,KAAL,CAAWH,IAAI,CAACd,KAAhB,EAAuBc,IAAI,CAACb,QAA5B,CAAN;AAAA,aAAV,CAJK,EAKL,kEAAW,UAACiB,GAAD,EAAS;AAClBC,qBAAO,CAACC,KAAR,CAAc,KAAd,EAAqBF,GAArB;AACA,qBAAO,gDAAGnC,SAAH,CAAP;AACD,aAHD,CALK,EASL,gEAAS;AAAA,qBAAM,MAAI,CAACF,gBAAL,CAAsBuB,IAAtB,CAA2B,KAA3B,CAAN;AAAA,aAAT,CATK,CAAP;AAWD;;;yCAEcJ,K,EAAa;AAAA;;AAC1B,iBAAKnB,gBAAL,CAAsBuB,IAAtB,CAA2B,IAA3B;AACA,mBAAO,KAAKxE,eAAL,CACJyF,cADI,CACWrB,KADX,EAEJa,IAFI,CAEC,gEAAS;AAAA,qBAAM,MAAI,CAAChC,gBAAL,CAAsBuB,IAAtB,CAA2B,KAA3B,CAAN;AAAA,aAAT,CAFD,CAAP;AAGD,W,CAED;;;;kDACgCM,I,EAAe;AAC7C;AACA,gBAAIA,IAAI,IAAIA,IAAI,CAACE,WAAjB,EAA8B;AAC5Bd,0BAAY,CAACC,OAAb,CAAqB,KAAK/D,qBAA1B,EAAiD4D,IAAI,CAACC,SAAL,CAAea,IAAf,CAAjD;AACA,qBAAO,IAAP;AACD;;AACD,mBAAO,KAAP;AACD;;;oDAE8B;AAC7B,gBAAI;AACF,kBAAMY,QAAQ,GAAG1B,IAAI,CAAC2B,KAAL,CACfzB,YAAY,CAAC0B,OAAb,CAAqB,KAAKxF,qBAA1B,CADe,CAAjB;AAGA,qBAAOsF,QAAP;AACD,aALD,CAKE,OAAOF,KAAP,EAAc;AACdD,qBAAO,CAACC,KAAR,CAAcA,KAAd;AACA,qBAAOrC,SAAP;AACD;AACF;;;wCAmEa;AACZ,iBAAKhD,WAAL,CAAiB0F,OAAjB,CAAyB,UAACC,EAAD;AAAA,qBAAQA,EAAE,CAAC3F,WAAH,EAAR;AAAA,aAAzB;AACD;;;8BA5NmB;AAClB,mBAAO6D,IAAI,CAAC2B,KAAL,CACLzB,YAAY,CAAC0B,OAAb,CAAqB,KAAKxF,qBAA1B,CADK,CAAP;AAGD,W;4BAEoB8E,I,EAAW;AAC9B,iBAAKhC,kBAAL,CAAwBsB,IAAxB,CAA6BU,IAA7B;AACD;;;;;;;yBArBUnF,W,EAAW,kH,EAAA,8G,EAAA,wG;AAAA,O;;;eAAXA,W;AAAW,iBAAXA,WAAW,K;AAAA,oBAFV;;;;;wEAEDA,W,EAAW;gBAHvB,wDAGuB;iBAHZ;AACVgG,sBAAU,EAAE;AADF,W;AAGY,U;;;;;;;;;;;;;;;;;;;;;;;;;;ACbxB;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;AACO,UAAMC,MAAM,GAAG;AACpBC,YAAI,EAAE,IADc;AAEpB1F,YAAI,EAAE;AACJ2F,oBAAU,EAAE;AACVC,kBAAM,EAAE;AADE,WADR;AAIJC,cAAI,EAAE;AACJC,eAAG,EAAE,SADD;AAEJC,mBAAO,EAAE,OAFL;AAGJC,uBAAW,EAAE,uBAHT;AAIJC,iBAAK,EAAE,OAJH;AAKJC,oBAAQ,EAAE,iBALN;AAMJC,gBAAI,EAAE,cANF;AAOJC,qBAAS,EAAE;AAPP,WAJF;AAaJC,cAAI,EAAE;AACJC,mBAAO,EAAE;AACPC,gBAAE,EAAE,IADG;AAEPC,2BAAa,EAAE,WAFR;AAGPC,wBAAU,EAAE,yBAHL;AAIPC,2BAAa,EAAE,UAJR;AAKPC,2BAAa,EAAE,qBALR;AAMPC,yBAAW,EAAE,MANN;AAOPC,qBAAO,EAAE,SAPF;AAQPC,mBAAK,EAAE,OARA;AASPC,qBAAO,EAAE;AATF,aADL;AAYJC,iBAAK,EAAE;AACLC,mBAAK,EAAE,iBADF;AAELC,oBAAM,EAAE;AAFH,aAZH;AAgBJC,kBAAM,EAAE;AACNF,mBAAK,EAAE,qBADD;AAENG,kBAAI,EAAE,yCAFA;AAGNC,qBAAO,EAAE;AAHH,aAhBJ;AAqBJC,oBAAQ,EAAE;AACRL,mBAAK,EAAE,SADC;AAERG,kBAAI,EAAE,2CAFE;AAGRC,qBAAO,EAAE;AAHD,aArBN;AA0BJE,iBAAK,EAAE;AACLC,mBAAK,EAAE,OADF;AAELC,sBAAQ,EAAE,UAFL;AAGLC,sBAAQ,EAAE,cAHL;AAILC,8BAAgB,EAAE,kBAJb;AAKLC,sBAAQ,EAAE;AALL,aA1BH;AAiCJC,sBAAU,EAAE;AACVC,qBAAO,EAAE,4BADC;AAEVC,sBAAQ,EAAE,qBAFA;AAGVC,wBAAU,EAAE,oCAHF;AAIVC,gCAAkB,EAAE,2CAJV;AAKVC,uBAAS,EAAE,qCALD;AAMVC,2BAAa,EAAE,+BANL;AAOVC,4BAAc,EAAE,gBAPN;AAQVC,8BAAgB,EAAE,uBARR;AASVC,8BAAgB,EAAE,uBATR;AAUVC,2BAAa,EAAE;AAVL;AAjCR,WAbF;AA2DJC,mBAAS,EAAE;AACTC,kBAAM,EAAE;AACNC,oCAAsB,EAAE,0CADlB;AAENC,iBAAG,EAAE,KAFC;AAGNC,uBAAS,EAAE,WAHL;AAINC,oBAAM,EAAE,QAJF;AAKNC,oBAAM,EAAE,QALF;AAMNC,uBAAS,EAAE,WANL;AAONC,qBAAO,EAAE,SAPH;AAQNC,sBAAQ,EAAE,UARJ;AASNC,wBAAU,EAAE,YATN;AAUNC,oBAAM,EAAE,QAVF;AAWNC,2BAAa,EAAE;AAXT,aADC;AAcTZ,qBAAS,EAAE,WAdF;AAeTa,qBAAS,EAAE;AACTA,uBAAS,EAAE,aADF;AAETC,4BAAc,EAAE,mBAFP;AAGTC,0BAAY,EAAE,gBAHL;AAITC,oCAAsB,EAAE;AACtBvC,qBAAK,EAAE,uBADe;AAEtBwC,2BAAW,EAAE,sDAFS;AAGtBC,gCAAgB,EAAE,yCAHI;AAItBC,uBAAO,EAAE;AAJa,eAJf;AAUTC,mCAAqB,EAAE;AACrB3C,qBAAK,EAAE,uBADc;AAErBwC,2BAAW,EAAE,qEAFQ;AAGrBC,gCAAgB,EAAE,4BAHG;AAIrBC,uBAAO,EAAE;AAJY,eAVd;AAgBTE,2BAAa,EAAE;AACb5C,qBAAK,EAAE,0DADM;AAEb0C,uBAAO,EAAE;AAFI,eAhBN;AAoBTG,kBAAI,EAAE;AACJC,8BAAc,EAAE,4BADZ;AAEJC,2BAAW,EAAE;AAFT;AApBG;AAfF;AA3DP;AAFc,OAAf;;;;;;;;;;;;;;;;ACDP;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;AACO,UAAMvE,MAAM,GAAG;AACpBC,YAAI,EAAE,IADc;AAEpB1F,YAAI,EAAE;AACJ2F,oBAAU,EAAE;AACVC,kBAAM,EAAE;AADE,WADR;AAIJC,cAAI,EAAE;AACJC,eAAG,EAAE,GADD;AAEJC,mBAAO,EAAE,IAFL;AAGJC,uBAAW,EAAE,OAHT;AAIJC,iBAAK,EAAE,OAJH;AAKJC,oBAAQ,EAAE,IALN;AAMJC,gBAAI,EAAE,IANF;AAOJC,qBAAS,EAAE;AAPP,WAJF;AAaJC,cAAI,EAAE;AACJC,mBAAO,EAAE;AACPC,gBAAE,EAAE,IADG;AAEPC,2BAAa,EAAE,IAFR;AAGPC,wBAAU,EAAE,OAHL;AAIPC,2BAAa,EAAE,IAJR;AAKPC,2BAAa,EAAE,MALR;AAMPC,yBAAW,EAAE,IANN;AAOPC,qBAAO,EAAE,IAPF;AAQPC,mBAAK,EAAE,IARA;AASPC,qBAAO,EAAE;AATF,aADL;AAYJC,iBAAK,EAAE;AACLC,mBAAK,EAAE,MADF;AAELC,oBAAM,EAAE;AAFH,aAZH;AAgBJC,kBAAM,EAAE;AACNF,mBAAK,EAAE,qBADD;AAENG,kBAAI,EAAE,yCAFA;AAGNC,qBAAO,EAAE;AAHH,aAhBJ;AAqBJC,oBAAQ,EAAE;AACRL,mBAAK,EAAE,SADC;AAERG,kBAAI,EAAE,2CAFE;AAGRC,qBAAO,EAAE;AAHD,aArBN;AA0BJE,iBAAK,EAAE;AACLC,mBAAK,EAAE,OADF;AAELC,sBAAQ,EAAE,UAFL;AAGLC,sBAAQ,EAAE,UAHL;AAILC,8BAAgB,EAAE,kBAJb;AAKLC,sBAAQ,EAAE;AALL,aA1BH;AAiCJC,sBAAU,EAAE;AACVC,qBAAO,EAAE,uBADC;AAEVC,sBAAQ,EAAE,sBAFA;AAGVC,wBAAU,EAAE,oCAHF;AAIVC,gCAAkB,EAAE,2CAJV;AAKVC,uBAAS,EAAE,qCALD;AAMVC,2BAAa,EAAE,+BANL;AAOVC,4BAAc,EAAE,gBAPN;AAQVC,8BAAgB,EAAE,uBARR;AASVC,8BAAgB,EAAE,uBATR;AAUVC,2BAAa,EAAE;AAVL;AAjCR,WAbF;AA2DJC,mBAAS,EAAE;AACTC,kBAAM,EAAE;AACNC,oCAAsB,EAAE,0BADlB;AAENC,iBAAG,EAAE,KAFC;AAGNC,uBAAS,EAAE,WAHL;AAINC,oBAAM,EAAE,QAJF;AAKNC,oBAAM,EAAE,QALF;AAMNC,uBAAS,EAAE,WANL;AAONC,qBAAO,EAAE,SAPH;AAQNC,sBAAQ,EAAE,UARJ;AASNC,wBAAU,EAAE,YATN;AAUNC,oBAAM,EAAE,QAVF;AAWNC,2BAAa,EAAE;AAXT,aADC;AAcTZ,qBAAS,EAAE,WAdF;AAeTa,qBAAS,EAAE;AACTA,uBAAS,EAAE,IADF;AAETC,4BAAc,EAAE,MAFP;AAGTC,0BAAY,EAAE,cAHL;AAITC,oCAAsB,EAAE;AACtBvC,qBAAK,EAAE,iBADe;AAEtBwC,2BAAW,EAAE,mDAFS;AAGtBC,gCAAgB,EAAE,yBAHI;AAItBC,uBAAO,EAAE;AAJa,eAJf;AAUTC,mCAAqB,EAAE;AACrB3C,qBAAK,EAAE,kBADc;AAErBwC,2BAAW,EAAE,wDAFQ;AAGrBC,gCAAgB,EAAE,2BAHG;AAIrBC,uBAAO,EAAE;AAJY,eAVd;AAgBTE,2BAAa,EAAE;AACb5C,qBAAK,EAAE,gDADM;AAEb0C,uBAAO,EAAE;AAFI,eAhBN;AAoBTG,kBAAI,EAAE;AACJC,8BAAc,EAAE,2BADZ;AAEJC,2BAAW,EAAE;AAFT;AApBG;AAfF;AA3DP;AAFc,OAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;UAQaC,qB;AAGX,uCACUC,EADV,EAEUC,mBAFV,EAEkD;AAAA;;AADxC,eAAAD,EAAA,GAAAA,EAAA;AACA,eAAAC,mBAAA,GAAAA,mBAAA;AACN;;;;qCAEI;AACN,iBAAKA,mBAAL,CAAyBC,IAAzB,CAA8B,KAAKC,YAAnC;AACD;;;;;;;yBAVUJ,qB,EAAqB,yH,EAAA,2I;AAAA,O;;;cAArBA,qB;AAAqB,0C;AAAA;AAAA;;;;;;;;;;;;;;;ACPlC;;AAEE;;AAAA;;AACE;;AAQF;;AACF;;;;;;;;wEDLaA,qB,EAAqB;gBALjC,uDAKiC;iBALvB;AACTK,oBAAQ,EAAE,mBADD;AAETC,uBAAW,EAAE,gCAFJ;AAGTC,qBAAS,EAAE,CAAC,gCAAD;AAHF,W;AAKuB,U;;;;;;;AACaH,sBAAY,EAAE,CAAF;kBAAxD,uDAAwD;mBAA9C,c,EAAgB;AAAE,wBAAQ;AAAV,a;AAA8B,WAAE;;;;;;;;;;;;;;;;;;;AET7D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAOaI,oB;;;;;AAEX,sCAAoBC,UAApB,EAA4C;AAAA;;AAAA;;AAC1C;AADkB,iBAAAA,UAAA,GAAAA,UAAA;AAAwB;AAE3C;;;;iCAEM;AAAA;;AACL,mBAAO,KAAKA,UAAL,CAAgBtH,GAAhB,CAA+B,iBAA/B,EACJuH,SADI,GAEJC,IAFI,CAEC,UAAA5K,IAAI,EAAI;AACZ,oBAAI,CAAC6K,UAAL,GAAkB7K,IAAI,CAAC6K,UAAvB;AACA,oBAAI,CAACC,OAAL,GAAe9K,IAAI,CAAC8K,OAApB;AACA,oBAAI,CAACC,OAAL,GAAe/K,IAAI,CAAC+K,OAApB;AACA,oBAAI,CAACC,GAAL,GAAWhL,IAAI,CAACgL,GAAhB;AACA,oBAAI,CAACC,MAAL,GAAcjL,IAAI,CAACiL,MAAnB;AACA,oBAAI,CAACC,SAAL,GAAiBlL,IAAI,CAACkL,SAAtB;AACD,aATI,WAUE,UAAAnG,GAAG,EAAI;AACZC,qBAAO,CAACC,KAAR,CAAc,8BAAd;AACD,aAZI,CAAP;AAaD;;;;QApBuC,qD;;;yBAA7BwF,oB,EAAoB,uH;AAAA,O;;;eAApBA,oB;AAAoB,iBAApBA,oBAAoB,K;AAAA,oBAFnB;;;;;wEAEDA,oB,EAAoB;gBAHhC,wDAGgC;iBAHrB;AACVjF,sBAAU,EAAE;AADF,W;AAGqB,U;;;;;;;;;;;;;;;;;;;;;;ACPjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;UAGa2F,a;;;;;;;;;;;;QAAsB,mD;;;;;;;;;;;;;;;;;ACHnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AACA;;;;;;;;;;;UAUaC,Y;;;;;;;oCACDtK,K,EAAeuK,O,EAAgB;AACvCA,mBAAO,GAAGC,KAAK,CAACD,OAAD,CAAL,GAAiB,CAAjB,GAAqBA,OAA/B;AACA,mBAAOE,IAAI,CAACC,IAAL,CAAU1K,KAAK,GAAGuK,OAAlB,CAAP;AACD;;;;;;;yBAJUD,Y;AAAY,O;;;;cAAZA,Y;AAAY;;;;;wEAAZA,Y,EAAY;gBADxB,kDACwB;iBADnB;AAAC9K,gBAAI,EAAE;AAAP,W;AACmB,U;;;;;;;;;;;;;;;;;;ACXzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAKsBmL,Y;;;;;;;8BAIF5K,G,EAAa;AAC7B,mBAAO4K,YAAY,CAACzL,IAAb,CAAkBa,GAAlB,KAA0B,IAAjC;AACD;;;8BAEiBA,G,EAAaC,K,EAAY;AACzC2K,wBAAY,CAACzL,IAAb,CAAkBa,GAAlB,IAAyBC,KAAzB;AACD;;;kCAEoBD,G,EAAa;AAChC4K,wBAAY,CAACzL,IAAb,CAAkBa,GAAlB,IAAyB+B,SAAzB;AACD;;;sCAEyB;AACxB6I,wBAAY,CAACzL,IAAb,GAAoB,EAApB;AACD;;;;;;AAhBc,mBAAAA,IAAA,GAAO,EAAP;;;yBAFKyL,Y;AAAY,O;;;eAAZA,Y;AAAY,iBAAZA,YAAY,K;AAAA,oBAFpB;;;;;wEAEQA,Y,EAAY;gBAHjC,wDAGiC;iBAHtB;AACVjG,sBAAU,EAAE;AADF,W;AAGsB,U;;;;;;;;;;;;;;;;;;ACLlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoBakG,yB;AAaX,2CACUC,SADV,EAEUC,wBAFV,EAGUC,gBAHV,EAIUC,QAJV,EAI6B;AAAA;;AAHnB,eAAAH,SAAA,GAAAA,SAAA;AACA,eAAAC,wBAAA,GAAAA,wBAAA;AACA,eAAAC,gBAAA,GAAAA,gBAAA;AACA,eAAAC,QAAA,GAAAA,QAAA;AAER,eAAKC,cAAL,GAAsB,KAAKH,wBAAL,CAA8BI,uBAA9B,CAAsD,qFAAtD,CAAtB;AACD;;;;sCAEWC,O,EAAsB;AAChC,gBAAI,CAACA,OAAO,CAACC,OAAb,EAAsB;AACpB;AACD;;AAED,gBAAID,OAAO,CAACC,OAAR,CAAgBC,YAApB,EAAkC;AAChC,mBAAKR,SAAL,CAAeS,WAAf,CAA2BC,aAA3B,CAAyCC,SAAzC,CAAmDC,GAAnD,CAAuD,aAAvD;;AACA,mBAAKZ,SAAL,CAAea,QAAf,GAA0B,IAA1B;AACA,mBAAKC,aAAL;AACD,aAJD,MAIO,IAAI,CAACR,OAAO,CAACC,OAAR,CAAgBQ,WAArB,EAAkC;AACvC,mBAAKf,SAAL,CAAeS,WAAf,CAA2BC,aAA3B,CAAyCC,SAAzC,CAAmDK,MAAnD,CAA0D,aAA1D;;AACA,mBAAKhB,SAAL,CAAea,QAAf,GAA0B,KAAKA,QAA/B;AACA,mBAAKI,cAAL;AACD;AACF;;;0CAEoB;AACnB,gBAAI,CAAC,KAAKC,OAAV,EAAmB;AACjB,mBAAKA,OAAL,GAAe,KAAKhB,gBAAL,CAAsBiB,eAAtB,CAAsC,KAAKf,cAA3C,CAAf;AACA,mBAAKc,OAAL,CAAaE,QAAb,CAAsBC,KAAtB,GAA8B,KAAKA,KAAnC;AACA,mBAAKH,OAAL,CAAaE,QAAb,CAAsBE,QAAtB,GAAiC,EAAjC;AACA,mBAAKJ,OAAL,CAAaE,QAAb,CAAsBG,IAAtB,GAA6B,eAA7B;AACA,mBAAKpB,QAAL,CAAcqB,WAAd,CAA0B,KAAKxB,SAAL,CAAeS,WAAf,CAA2BC,aAArD,EAAoE,KAAKQ,OAAL,CAAaE,QAAb,CAAsBX,WAAtB,CAAkCC,aAAtG;AACD;AACF;;;2CAEqB;AACpB,gBAAI,KAAKQ,OAAT,EAAkB;AAChB,mBAAKA,OAAL,CAAaO,OAAb;AACA,mBAAKP,OAAL,GAAe,IAAf;AACD;AACF;;;;;;;yBArDUnB,yB,EAAyB,mI,EAAA,uI,EAAA,+H,EAAA,wH;AAAA,O;;;cAAzBA,yB;AAAyB,sW;AAAA;AAAA;AAAA;AAAA;AAAA,S;AAAA;;;;;wEAAzBA,yB,EAAyB;gBALrC,uDAKqC;iBAL3B;AACTpB,oBAAQ;AADC,W;AAK2B,U;;;;;;;;;;;AAKpC4B,iBAAO,EAAE,CAAF;kBADN;AACM,WAAE,C;AAGTM,kBAAQ,EAAE,CAAF;kBADP;AACO,WAAE,C;AAGVQ,eAAK,EAAE,CAAF;kBADJ;AACI,WAAE;;;;;;;;;;;;;;;;;;;AC/BT;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;AACA;AACA;;;AAEO,UAAMK,WAAW,GAAG;AACzBC,kBAAU,EAAE,KADa;AAEzBC,kBAAU,EAAE,WAFa;AAGzBC,oBAAY,EAAE,kBAHW;AAIzBC,qBAAa,EAAE,IAJU;AAKzBC,cAAM,EAAE;AALiB,OAApB;AAQP;;;;;;;AAOA;;;;;;;;;;;;;;;;;ACnBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;UAUaC,uB;;;;;AAEX,yCAAYC,SAAZ,EAAgCC,IAAhC,EAAkD;AAAA;;AAAA,oCAC1CD,SAD0C,EAChCC,IADgC;AAEjD;;;QAJ0C,yD;;;yBAAhCF,uB,EAAuB,oH,EAAA,uH;AAAA,O;;;eAAvBA,uB;AAAuB,iBAAvBA,uBAAuB,K;AAAA,oBAHtB;;;;;wEAGDA,uB,EAAuB;gBAJnC,wDAImC;iBAJxB;AACVnI,sBAAU,EAAE;AADF,W;AAIwB,U;;;;;;;;;;;;;;;;;;;;;;;;ACVpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;AAkBA,UAAMsI,mBAAmB,GAAG;AAC1B;AACAC,eAAO,EAAE,IAAI,gEAAJ,CAAgB,CACvB;AACA;AAFuB,SAAhB;AAFiB,OAA5B,C,CAQA;AACA;AACA;AACA;AACA;AACA;;UAKaC,W;AAKX,6BAAYJ,SAAZ,EAAyCC,IAAzC,EAA2D;AAAA;;AAAlB,eAAAA,IAAA,GAAAA,IAAA;AACvC,eAAKI,GAAL,GAAWL,SAAS,CAAC/C,UAArB;AACA,eAAKE,OAAL,GAAe6C,SAAS,CAAC7C,OAAzB;AACA,eAAKD,OAAL,GAAe8C,SAAS,CAAC9C,OAAzB;AACA,eAAKoD,aAAL,GAAqBN,SAAS,CAAC/C,UAA/B;AACD;;;;4CAEiBsD,I,EAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AAEA,mBAAO,KAAKN,IAAL,CACJO,IADI,CACC,KAAKtD,OADN,EACeqD,IADf,EAEJzJ,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP;AAID,W,CAED;AAEA;AACA;AACA;AACA;;;;+CAEqBC,M,EAAcC,Q,EAAc;AAC/C,mBAAO,KAAKV,IAAL,CAAUW,GAAV,CAAc,KAAKzD,OAAL,GAAauD,MAA3B,EAAmCC,QAAnC,EACN7J,IADM,CACD,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CADC,EAENoB,IAFM,CAED,kEAAW,KAAK2J,WAAhB,CAFC,CAAP;AAGH;;;0CAEeC,M,EAAcC,Q,EAAc;AAC1C,mBAAO,KAAKV,IAAL,CAAUW,GAAV,CAAc,KAAKzD,OAAL,GAAauD,MAA3B,EAAmCC,QAAnC,EACN7J,IADM,CACD,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CADC,EAENoB,IAFM,CAED,kEAAW,KAAK2J,WAAhB,CAFC,CAAP;AAGD;;;yCAEgB3M,M,EAAgB+M,K,EAAU;AAEvC,gBAAIC,QAAQ,aAAM,8FAA0BD,KAA1B,CAAN,CAAZ,CAFuC,CAGxC;;AACCzJ,mBAAO,CAAC2J,GAAR,CAAYD,QAAZ,EAJuC,CAMvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACE,mBAAO,KAAKb,IAAL,CACJzK,GADI,WACG,KAAK6K,GADR,SACcvM,MADd,cACwBgN,QADxB,GAEJhK,IAFI,CAGL,2DAAI,UAAApB,QAAQ;AAAA,qBAAqB;AAC/BtD,oBAAI,EAAGsD,QAAQ,CAAC,MAAD,CADgB;AAE/BsL,qBAAK,EAAEtL,QAAQ,CAAC,OAAD,CAFgB;AAG/BuL,sBAAM,EAAEvL,QAAQ,CAAC,QAAD,CAHe;AAI/BwL,gCAAgB,EAAExL,QAAQ,CAAC,kBAAD;AAJK,eAArB;AAAA,aAAZ,CAHK,EASL,gEAAI,UAACyL,EAAD,EAAQ,CACV;AACD,aAFD,CATK,CAAP,CA3BqC,CAyCvC;AACD;;;oDAEyBN,K,EAAO;AAC/B,gBAAIA,KAAK,CAACO,IAAN,GAAa,CAAjB,EAAoB;AAClB,qBACE,UACAP,KAAK,CAACQ,IADN,GAEA,QAFA,IAGCR,KAAK,CAACO,IAAN,GAAaP,KAAK,CAACQ,IAAnB,GAA0B,CAH3B,IAIA,QAJA,GAKAR,KAAK,CAACO,IALN,GAMA,YANA,GAOAP,KAAK,CAACQ,IARR;AAUD,aAXD,MAWO;AACL,qBACE,UACAR,KAAK,CAACQ,IADN,GAEA,eAFA,GAGAR,KAAK,CAACO,IAHN,GAIA,YAJA,GAKAP,KAAK,CAACQ,IANR;AAQD;AACF;;;0CACevN,M,EAAgB+M,K,EAAYS,Q,EAAc;AACxD,gBAAMR,QAAQ,aAAM,8FAA0BD,KAA1B,CAAN,CAAd;AACEzJ,mBAAO,CAAC2J,GAAR,CAAY,gBAAZ,EAA8BF,KAA9B;AACA,mBAAO,KAAKZ,IAAL,CACJW,GADI,CACA,KAAKP,GAAL,GAAWvM,MAAX,GAAoB,GAApB,GAA0BgN,QAD1B,EACoCQ,QADpC,EAEJxK,IAFI,CAGL,2DAAI,UAAApB,QAAQ;AAAA,qBAAqB;AAC/BtD,oBAAI,EAAGsD,QAAQ,CAAC,MAAD,CADgB;AAE/BsL,qBAAK,EAAEtL,QAAQ,CAAC,OAAD,CAFgB;AAG/BuL,sBAAM,EAAEvL,QAAQ,CAAC,QAAD,CAHe;AAI/BwL,gCAAgB,EAAExL,QAAQ,CAAC,kBAAD;AAJK,eAArB;AAAA,aAAZ,CAHK,EASL,gEAAI,UAACyL,EAAD,EAAQ,CACX,CADD,CATK,CAAP;AAaH;;;mCACQ;AACP,mBAAO,KAAKlB,IAAL,CACJzK,GADI,CACA,KAAK6K,GADL,EAEJvJ,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP,CADO,CAKP;AACA;AACD;;;sCAEWC,M,EAAgB;AAC1B,mBAAO,KAAKT,IAAL,CACJzK,GADI,CACA,KAAK6K,GAAL,GAAWK,MADX,EAEJ5J,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP;AAID;;;yCAEcC,M,EAAgB;AAC7B,mBAAO,KAAKT,IAAL,CACJzK,GADI,CACA,KAAK8K,aAAL,GAAqBI,MADrB,EAEJ5J,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP;AAID;;;uCAEYC,M,EAAgBC,Q,EAAe;AAC1C,mBAAO,KAAKV,IAAL,CACJO,IADI,CACC,KAAKH,GAAL,GAAWK,MADZ,EACoBC,QADpB,EAEJ7J,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP;AAID;;;0CAEeC,M,EAAcC,Q,EAAc;AAC1C,mBAAO,KAAKV,IAAL,CAAUO,IAAV,CAAe,KAAKF,aAAL,GAAmBI,MAAlC,EAA0CC,QAA1C,EACJ7J,IADI,CACC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CADD,EAEJoB,IAFI,CAEC,kEAAW,KAAK2J,WAAhB,CAFD,CAAP;AAGD;;;sCAEWC,M,EAAcC,Q,EAAc;AACtC,mBAAO,KAAKV,IAAL,CAAUW,GAAV,CAAc,KAAKP,GAAL,GAASK,MAAvB,EAA+BC,QAA/B,EACJ7J,IADI,CACC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CADD,EAEJoB,IAFI,CAEC,kEAAW,KAAK2J,WAAhB,CAFD,CAAP;AAGD;;;yCACcC,M,EAAcC,Q,EAAc;AACzC,mBAAO,KAAKV,IAAL,CAAUW,GAAV,CAAc,KAAKP,GAAL,GAASK,MAAvB,EAA+BC,QAA/B,EAAwC;AAACY,0BAAY,EAAC;AAAd,aAAxC,EACJzK,IADI,CACC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CADD,EAEJoB,IAFI,CAEC,kEAAW,KAAK2J,WAAhB,CAFD,CAAP;AAGD;;;yCAEcC,M,EAAgBC,Q,EAAe;AAC5C,mBAAO,KAAKV,IAAL,CACJW,GADI,CACA,KAAKN,aAAL,GAAqBI,MADrB,EAC6BC,QAD7B,EAEJ7J,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP;AAID;;;iCAEME,Q,EAAU;AACf,mBAAO,KAAKV,IAAL,CACJO,IADI,CACC,KAAKH,GADN,EACWxK,IAAI,CAACC,SAAL,CAAe6K,QAAf,CADX,EAEJ7J,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP,CADe,CAKf;AACA;AACD;;;iCAEME,Q,EAAU;AACf,mBAAO,KAAKV,IAAL,CACJuB,KADI,CACE,KAAKnB,GAAL,GAAW,GAAX,GAAiBM,QAAQ,CAAClO,EAD5B,EACgCoD,IAAI,CAACC,SAAL,CAAe;AAAE2L,oBAAM,EAAE;AAAV,aAAf,CADhC,EAEJ3K,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP,CADe,CAKf;AACA;AACD;;;kCAEMhO,E,EAAI;AACT,mBAAO,KAAKwN,IAAL,WACG,KAAKI,GAAL,GAAW,GAAX,GAAiB5N,EADpB,EAEJqE,IAFI,CAEC,2DAAI,UAACpB,QAAD;AAAA,qBAAmBA,QAAnB;AAAA,aAAJ,CAFD,EAGJoB,IAHI,CAGC,kEAAW,KAAK2J,WAAhB,CAHD,CAAP,CADS,CAKT;AACA;AACD;;;sCAEmBpJ,K,EAAiB;AACnC,gBAAIA,KAAK,CAACqK,MAAN,KAAiB,GAArB,EACE,OAAO,yDAAiB,IAAI,qEAAJ,CAAarK,KAAK,CAACsK,IAAN,EAAb,CAAjB,CAAP;AAEF,gBAAItK,KAAK,CAACqK,MAAN,KAAiB,GAArB,EAA0B,OAAO,yDAAiB,IAAI,gFAAJ,EAAjB,CAAP;AAE1B,mBAAO,yDAAiB,IAAI,qEAAJ,CAAarK,KAAb,CAAjB,CAAP;AACD;;;;;;;yBAzNU+I,W,EAAW,qH,EAAA,uH;AAAA,O;;;eAAXA,W;AAAW,iBAAXA,WAAW,K;AAAA,oBAFV;;;;;wEAEDA,W,EAAW;gBAHvB,wDAGuB;iBAHZ;AACVxI,sBAAU,EAAE;AADF,W;AAGY,U;;;;;;;;;;;;;;;;;;;;;;;;ACpCxB;AAAA;;;AAAA;AAAA;AAAA;;UAAagK,S,GAAb;AAAA;;AAKW,aAAAxE,GAAA,GAAc,EAAd;AACA,aAAAC,MAAA,GAAc,EAAd;AAEV,O;;;;;;;;;;;;;;;;;ACRD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;AACA;AACA;AAEA;AACuD;AACvD;;;;;;;;;;;;;;;;;;ACNA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAMawE,mB;AAKX;;;;;AAKA,qCAAoBC,gBAApB,EAAwD;AAAA;;AAApC,eAAAA,gBAAA,GAAAA,gBAAA;AAAsC;AAE1D;;;;;;;;;+BAKKC,O,EAAqB;AACxB,iBAAKzF,EAAL,GAAUyF,OAAV;AACD;AAED;;;;;;iCAGO;AAAA;;AACL,gBAAI,KAAKC,OAAL,IAAgB,CAAC,KAAK1F,EAA1B,EAA8B;AAC5B;AACD;;AAED,gBAAM2F,MAAM,GAAG,KAAKH,gBAAL,CACZI,KADY,CACN,CAAC,kEAAM;AAAEC,qBAAO,EAAE;AAAX,aAAN,CAAD,EAA0B,oEAAQ,GAAR,EAAa,kEAAM;AAAEA,qBAAO,EAAE;AAAX,aAAN,CAAb,CAA1B,CADM,EAEZC,MAFY,CAEL,KAAK9F,EAAL,CAAQmC,aAFH,CAAf;AAIAwD,kBAAM,CAACI,MAAP,CAAc,YAAM;AAClB,kBAAI,OAAO,MAAI,CAAC/F,EAAL,CAAQmC,aAAR,CAAsBM,MAA7B,KAAwC,UAA5C,EAAwD;AACtD,sBAAI,CAACzC,EAAL,CAAQmC,aAAR,CAAsBM,MAAtB;AACD,eAFD,MAEO;AACL,sBAAI,CAACzC,EAAL,CAAQmC,aAAR,CAAsB6D,KAAtB,CAA4BC,OAA5B,GAAsC,iBAAtC;AACD;;AACD,oBAAI,CAACP,OAAL,GAAe,IAAf;AACD,aAPD;AASAQ,sBAAU,CAAC;AAAA,qBAAMP,MAAM,CAACQ,IAAP,EAAN;AAAA,aAAD,EAAsB,GAAtB,CAAV;AACD;;;;;;;yBA3CUZ,mB,EAAmB,4H;AAAA,O;;;eAAnBA,mB;AAAmB,iBAAnBA,mBAAmB,K;AAAA,oBAFlB;;;;;wEAEDA,mB,EAAmB;gBAH/B,wDAG+B;iBAHpB;AACVjK,sBAAU,EAAE;AADF,W;AAGoB,U;;;;;;;;;;;;;;;;;;;;;;ACLhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAYA,eAAS8K,aAAT,CAAuBC,aAAvB,EAA4D;AAC1D,eAAO,YAAM;AACX,iBAAOA,aAAa,CAACC,IAAd,EAAP;AACD,SAFD;AAGD;;UAiCYC,U;;;;;cAAAA;;;;2BAAAA,U;AAAU,S;AAAA,mBAjBV,CACT,qEADS,EAET;AAAEC,iBAAO,EAAE,sEAAX;AAA8BC,kBAAQ,EAAE,kGAAxC;AAA8DC,eAAK,EAAE;AAArE,SAFS,EAGT;AAAEF,iBAAO,EAAE,sEAAX;AAA8BC,kBAAQ,EAAE,0FAAxC;AAA0DC,eAAK,EAAE;AAAjE,SAHS,EAIT;AACEF,iBAAO,EAAE,qEADX;AAEEG,cAAI,EAAE,CAAC,+DAAD,CAFR;AAGEC,qBAAW,EAAE;AAHf,SAJS,EAST;AACEJ,iBAAO,EAAE,6DADX;AAEEE,eAAK,EAAE,IAFT;AAGEC,cAAI,EAAE,CAAC,6FAAD,CAHR;AAIEE,oBAAU,EAAET;AAJd,SATS,C;AAeV,kBAtBQ,CAAC,4DAAD,CAsBR;;;;4HAEUG,U,EAAU;AAAA,yBA7BnB,wEA6BmB,EA5BnB,yDA4BmB,EA3BnB,iEA2BmB,EA1BnB,qHA0BmB;AA1BM,oBAEjB,4DAFiB,CA0BN;AAxBC,oBAEpB,wEAFoB,EAGpB,yDAHoB,EAIpB,iEAJoB,EAKpB,qHALoB;AAwBD,S;AAnBM,O;;;;;wEAmBhBA,U,EAAU;gBA/BtB,sDA+BsB;iBA/Bb;AACRO,wBAAY,EAAE,CACZ,wEADY,EAEZ,yDAFY,EAGZ,iEAHY,EAIZ,qHAJY,CADN;AAORC,mBAAO,EAAE,CAAC,4DAAD,CAPD;AAQRC,mBAAO,EAAE,CACP,wEADO,EAEP,yDAFO,EAGP,iEAHO,EAIP,qHAJO,CARD;AAcRC,qBAAS,EAAE,CACT,qEADS,EAET;AAAET,qBAAO,EAAE,sEAAX;AAA8BC,sBAAQ,EAAE,kGAAxC;AAA8DC,mBAAK,EAAE;AAArE,aAFS,EAGT;AAAEF,qBAAO,EAAE,sEAAX;AAA8BC,sBAAQ,EAAE,0FAAxC;AAA0DC,mBAAK,EAAE;AAAjE,aAHS,EAIT;AACEF,qBAAO,EAAE,qEADX;AAEEG,kBAAI,EAAE,CAAC,+DAAD,CAFR;AAGEC,yBAAW,EAAE;AAHf,aAJS,EAST;AACEJ,qBAAO,EAAE,6DADX;AAEEE,mBAAK,EAAE,IAFT;AAGEC,kBAAI,EAAE,CAAC,6FAAD,CAHR;AAIEE,wBAAU,EAAET;AAJd,aATS;AAdH,W;AA+Ba,U;;;;;;;;;;;;;;;;;;AClDvB;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;AACO,UAAM7K,MAAM,GAAG;AACpBC,YAAI,EAAE,IADc;AAEpB1F,YAAI,EAAE;AACJ2F,oBAAU,EAAE;AACVC,kBAAM,EAAE;AADE,WADR;AAIJC,cAAI,EAAE;AACJC,eAAG,EAAE,KADD;AAEJC,mBAAO,EAAE,IAFL;AAGJC,uBAAW,EAAE,UAHT;AAIJC,iBAAK,EAAE,OAJH;AAKJC,oBAAQ,EAAE,IALN;AAMJC,gBAAI,EAAE,KANF;AAOJC,qBAAS,EAAE;AAPP,WAJF;AAaJC,cAAI,EAAE;AACJC,mBAAO,EAAE;AACPC,gBAAE,EAAE,KADG;AAEPC,2BAAa,EAAE,MAFR;AAGPC,wBAAU,EAAE,eAHL;AAIPC,2BAAa,EAAE,QAJR;AAKPC,2BAAa,EAAE,cALR;AAMPC,yBAAW,EAAE,KANN;AAOPC,qBAAO,EAAE,QAPF;AAQPC,mBAAK,EAAE,IARA;AASPC,qBAAO,EAAE;AATF,aADL;AAYJC,iBAAK,EAAE;AACLC,mBAAK,EAAE,gBADF;AAELC,oBAAM,EAAE;AAFH,aAZH;AAgBJC,kBAAM,EAAE;AACNF,mBAAK,EAAE,qBADD;AAENG,kBAAI,EAAE,yCAFA;AAGNC,qBAAO,EAAE;AAHH,aAhBJ;AAqBJC,oBAAQ,EAAE;AACRL,mBAAK,EAAE,SADC;AAERG,kBAAI,EAAE,2CAFE;AAGRC,qBAAO,EAAE;AAHD,aArBN;AA0BJE,iBAAK,EAAE;AACLC,mBAAK,EAAE,OADF;AAELC,sBAAQ,EAAE,UAFL;AAGLC,sBAAQ,EAAE,UAHL;AAILC,8BAAgB,EAAE,kBAJb;AAKLC,sBAAQ,EAAE;AALL,aA1BH;AAiCJC,sBAAU,EAAE;AACVC,qBAAO,EAAE,uBADC;AAEVC,sBAAQ,EAAE,sBAFA;AAGVC,wBAAU,EAAE,oCAHF;AAIVC,gCAAkB,EAAE,2CAJV;AAKVC,uBAAS,EAAE,qCALD;AAMVC,2BAAa,EAAE,+BANL;AAOVC,4BAAc,EAAE,gBAPN;AAQVC,8BAAgB,EAAE,uBARR;AASVC,8BAAgB,EAAE,uBATR;AAUVC,2BAAa,EAAE;AAVL;AAjCR,WAbF;AA2DJC,mBAAS,EAAE;AACTC,kBAAM,EAAE;AACNC,oCAAsB,EAAE,0BADlB;AAENC,iBAAG,EAAE,KAFC;AAGNC,uBAAS,EAAE,WAHL;AAINC,oBAAM,EAAE,QAJF;AAKNC,oBAAM,EAAE,QALF;AAMNC,uBAAS,EAAE,WANL;AAONC,qBAAO,EAAE,SAPH;AAQNC,sBAAQ,EAAE,UARJ;AASNC,wBAAU,EAAE,YATN;AAUNC,oBAAM,EAAE,QAVF;AAWNC,2BAAa,EAAE;AAXT,aADC;AAcTZ,qBAAS,EAAE,WAdF;AAeTa,qBAAS,EAAE;AACTA,uBAAS,EAAE,WADF;AAETC,4BAAc,EAAE,gBAFP;AAGTC,0BAAY,EAAE,cAHL;AAITC,oCAAsB,EAAE;AACtBvC,qBAAK,EAAE,iBADe;AAEtBwC,2BAAW,EAAE,mDAFS;AAGtBC,gCAAgB,EAAE,yBAHI;AAItBC,uBAAO,EAAE;AAJa,eAJf;AAUTC,mCAAqB,EAAE;AACrB3C,qBAAK,EAAE,kBADc;AAErBwC,2BAAW,EAAE,wDAFQ;AAGrBC,gCAAgB,EAAE,2BAHG;AAIrBC,uBAAO,EAAE;AAJY,eAVd;AAgBTE,2BAAa,EAAE;AACb5C,qBAAK,EAAE,gDADM;AAEb0C,uBAAO,EAAE;AAFI,eAhBN;AAoBTG,kBAAI,EAAE;AACJC,8BAAc,EAAE,2BADZ;AAEJC,2BAAW,EAAE;AAFT;AApBG;AAfF;AA3DP;AAFc,OAAf;;;;;;;;;;;;;;;;ACDP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UASaoH,kB;;;;;cAAAA;;;;2BAAAA,kB;AAAkB,S;AAAA,kBAHpB,CAAC,4DAAD,CAGoB;;;;4HAAlBA,kB,EAAkB;AAAA,yBAJd,8EAIc;AAJO,oBAC1B,4DAD0B,CAIP;AAHP,oBACZ,8EADY;AAGO,S;AAFE,O;;;;;wEAEpBA,kB,EAAkB;gBAL9B,sDAK8B;iBALrB;AACRJ,wBAAY,EAAE,CAAC,8EAAD,CADN;AAERC,mBAAO,EAAE,CAAC,4DAAD,CAFD;AAGRC,mBAAO,EAAE,CAAC,8EAAD;AAHD,W;AAKqB,U;;;;;;;;;;;;;;;;;;ACT/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAOA;;;;;UAkBaG,Y;AAGX,8BACUC,kBADV,EAEUnH,mBAFV,EAGUzK,MAHV,EAGiC6R,UAHjC,EAG+D;AAAA;;AAFrD,eAAAD,kBAAA,GAAAA,kBAAA;AACA,eAAAnH,mBAAA,GAAAA,mBAAA;AACA,eAAAzK,MAAA,GAAAA,MAAA;AAAuB,eAAA6R,UAAA,GAAAA,UAAA;AALzB,eAAA3R,WAAA,GAA8B,EAA9B,CAKuD,CALrB;AAOxC;;AACA,eAAK0R,kBAAL,CAAwBE,gBAAxB,CACE,8DADF,EAEE,8DAFF,EAGE,8DAHF,EAIE,8DAJF,EAKE,8DALF,EAME,8DANF;AAQD;;;;qCAEU;AAAA;;AACT,gBAAMC,kBAAkB,GAAG,KAAK/R,MAAL,CAAYgS,MAAZ,CAAmBxO,SAAnB,CAA6B,UAACyO,KAAD,EAAW;AACjE,oBAAI,CAACJ,UAAL,CAAgBK,KAAhB;;AACA,kBAAID,KAAK,YAAY,6DAArB,EAAoC;AAClC;AACA,sBAAI,CAACxH,mBAAL,CAAyB0H,IAAzB,GAFkC,CAIlC;;;AACAC,sBAAM,CAACC,QAAP,CAAgB,CAAhB,EAAmB,CAAnB,EALkC,CAOlC;;AACA3B,0BAAU,CAAC,YAAM;AACf4B,0BAAQ,CAAC7D,IAAT,CAAc7B,SAAd,CAAwBC,GAAxB,CAA4B,aAA5B;;AACA,wBAAI,CAACgF,UAAL,CAAgBU,IAAhB;AACD,iBAHS,EAGP,GAHO,CAAV;AAID;AACF,aAf0B,CAA3B;AAgBA,iBAAKrS,WAAL,CAAiBuD,IAAjB,CAAsBsO,kBAAtB;AACA,iBAAKF,UAAL,CAAgBU,IAAhB;AACD;;;wCAEa;AACZ,iBAAKrS,WAAL,CAAiB0F,OAAjB,CAAyB,UAACC,EAAD;AAAA,qBAAQA,EAAE,CAAC3F,WAAH,EAAR;AAAA,aAAzB;AACD;;;;;;;yBA1CUyR,Y,EAAY,qJ,EAAA,kL,EAAA,uH,EAAA,kI;AAAA,O;;;cAAZA,Y;AAAY,yC;AAAA,kB;AAAA,gB;AAAA,e;AAAA,sC;AAAA;AAAA;ACxBzB;;AACA;;;;;;;;;wEDuBaA,Y,EAAY;gBAPxB,uDAOwB;iBAPd;AACT;AACA/G,oBAAQ,EAAE,YAFD;AAGTC,uBAAW,EAAE,sBAHJ;AAITC,qBAAS,EAAE,CAAC,sBAAD,CAJF;AAKT0H,2BAAe,EAAE,sEAAwBC;AALhC,W;AAOc,U;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEzBzB;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;AACO,UAAM1M,MAAM,GAAG;AACpBC,YAAI,EAAE,IADc;AAEpB1F,YAAI,EAAE;AACJ2F,oBAAU,EAAE;AACVC,kBAAM,EAAE;AADE,WADR;AAIJC,cAAI,EAAE;AACJC,eAAG,EAAE,KADD;AAEJC,mBAAO,EAAE,SAFL;AAGJC,uBAAW,EAAE,iBAHT;AAIJC,iBAAK,EAAE,OAJH;AAKJC,oBAAQ,EAAE,UALN;AAMJC,gBAAI,EAAE,MANF;AAOJC,qBAAS,EAAE;AAPP,WAJF;AAaJC,cAAI,EAAE;AACJC,mBAAO,EAAE;AACPC,gBAAE,EAAE,IADG;AAEPC,2BAAa,EAAE,QAFR;AAGPC,wBAAU,EAAE,yBAHL;AAIPC,2BAAa,EAAE,UAJR;AAKPC,2BAAa,EAAE,iBALR;AAMPC,yBAAW,EAAE,MANN;AAOPC,qBAAO,EAAE,SAPF;AAQPC,mBAAK,EAAE,OARA;AASPC,qBAAO,EAAE;AATF,aADL;AAYJC,iBAAK,EAAE;AACLC,mBAAK,EAAE,eADF;AAELC,oBAAM,EAAE;AAFH,aAZH;AAgBJC,kBAAM,EAAE;AACNF,mBAAK,EAAE,qBADD;AAENG,kBAAI,EAAE,yCAFA;AAGNC,qBAAO,EAAE;AAHH,aAhBJ;AAqBJC,oBAAQ,EAAE;AACRL,mBAAK,EAAE,SADC;AAERG,kBAAI,EAAE,2CAFE;AAGRC,qBAAO,EAAE;AAHD,aArBN;AA0BJE,iBAAK,EAAE;AACLC,mBAAK,EAAE,OADF;AAELC,sBAAQ,EAAE,UAFL;AAGLC,sBAAQ,EAAE,UAHL;AAILC,8BAAgB,EAAE,kBAJb;AAKLC,sBAAQ,EAAE;AALL,aA1BH;AAiCJC,sBAAU,EAAE;AACVC,qBAAO,EAAE,uBADC;AAEVC,sBAAQ,EAAE,sBAFA;AAGVC,wBAAU,EAAE,oCAHF;AAIVC,gCAAkB,EAAE,2CAJV;AAKVC,uBAAS,EAAE,qCALD;AAMVC,2BAAa,EAAE,+BANL;AAOVC,4BAAc,EAAE,gBAPN;AAQVC,8BAAgB,EAAE,uBARR;AASVC,8BAAgB,EAAE,uBATR;AAUVC,2BAAa,EAAE;AAVL;AAjCR,WAbF;AA2DJC,mBAAS,EAAE;AACTC,kBAAM,EAAE;AACNC,oCAAsB,EAAE,0BADlB;AAENC,iBAAG,EAAE,KAFC;AAGNC,uBAAS,EAAE,WAHL;AAINC,oBAAM,EAAE,QAJF;AAKNC,oBAAM,EAAE,QALF;AAMNC,uBAAS,EAAE,WANL;AAONC,qBAAO,EAAE,SAPH;AAQNC,sBAAQ,EAAE,UARJ;AASNC,wBAAU,EAAE,YATN;AAUNC,oBAAM,EAAE,QAVF;AAWNC,2BAAa,EAAE;AAXT,aADC;AAcTZ,qBAAS,EAAE,WAdF;AAeTa,qBAAS,EAAE;AACTA,uBAAS,EAAE,WADF;AAETC,4BAAc,EAAE,gBAFP;AAGTC,0BAAY,EAAE,cAHL;AAITC,oCAAsB,EAAE;AACtBvC,qBAAK,EAAE,iBADe;AAEtBwC,2BAAW,EAAE,mDAFS;AAGtBC,gCAAgB,EAAE,yBAHI;AAItBC,uBAAO,EAAE;AAJa,eAJf;AAUTC,mCAAqB,EAAE;AACrB3C,qBAAK,EAAE,kBADc;AAErBwC,2BAAW,EAAE,wDAFQ;AAGrBC,gCAAgB,EAAE,2BAHG;AAIrBC,uBAAO,EAAE;AAJY,eAVd;AAgBTE,2BAAa,EAAE;AACb5C,qBAAK,EAAE,gDADM;AAEb0C,uBAAO,EAAE;AAFI,eAhBN;AAoBTG,kBAAI,EAAE;AACJC,8BAAc,EAAE,2BADZ;AAEJC,2BAAW,EAAE;AAFT;AApBG;AAfF;AA3DP;AAFc,OAAf;;;;;;;;;;;;;;;;ACDP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;UASaoI,gB;AACT,kCAAoBC,qBAApB,EAAkE;AAAA;;AAA9C,eAAAA,qBAAA,GAAAA,qBAAA;AAAgD;;;;oCAE1DC,O,EAA2BrO,I,EAAiB;AAClD,mBAAOA,IAAI,CAACsO,MAAL,CAAYD,OAAZ,EAAqB5N,IAArB,CAA0B,kEAAW,UAAAK,GAAG,EAAI;AAC/C,kBAAIA,GAAG,CAACuK,MAAJ,KAAe,GAAnB,EAAwB,CACpB;AACA;AACA;AACH;;AAED,kBAAMrK,KAAK,GAAGF,GAAG,CAACE,KAAJ,CAAUuN,OAAV,IAAqBzN,GAAG,CAAC0N,UAAvC;AACA,qBAAO,wDAAWxN,KAAX,CAAP;AACH,aATgC,CAA1B,CAAP;AAUH;;;;;;;yBAdQmN,gB,EAAgB,qI;AAAA,O;;;eAAhBA,gB;AAAgB,iBAAhBA,gBAAgB;;;;;wEAAhBA,gB,EAAgB;gBAD5B;AAC4B,U;;;;;;;;;;;;;;;;;;;;;;ACT7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAaA;;;AAYA,eAASM,cAAT,CAAwBC,WAAxB,EAAkD;AAChD,eAAO,YAAM;AACX,iBAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9BF,uBAAW,CAAC1P,cAAZ,GAA6BC,SAA7B,GAAyCqJ,GAAzC,CAA6CsG,OAA7C;AACD,WAFM,CAAP;AAGD,SAJD;AAKD;AAED;;;;;;AAIO,eAASC,qBAAT,GAAiC;AACtC,eAAO,CACL;AAAExS,cAAI,EAAE,YAAR;AAAsByS,cAAI,EAAE;AAA5B,SADK,EAEL;AAAEzS,cAAI,EAAE,MAAR;AAAgByS,cAAI,EAAE;AAAtB,SAFK,EAGL;AAAEzS,cAAI,EAAE,KAAR;AAAeyS,cAAI,EAAE;AAArB,SAHK,EAIL;AAAEzS,cAAI,EAAE,MAAR;AAAgByS,cAAI,EAAE;AAAtB,SAJK,CAAP;AAMD;;UAiCYC,S;;;;;cAAAA,S;AAAS,oBAFR,2DAEQ;;;;2BAATA,S;AAAS,S;AAAA,mBAhBT,CACT;AACA;AACA;AACA;AACA;AACA;AACA;AACEtC,iBAAO,EAAE,kEADX;AAEEuC,kBAAQ,EAAE;AACRC,qBAAS,EAAEJ;AADH;AAFZ,SAPS,C;AAaV,kBA1BQ,CACP,gDADO,EAEP,uEAFO,EAGP,4FAHO,EAIP,gHAJO,EAKP,oEAAgBK,OAAhB,EALO,EAMP,qEANO,EAOP,gEAPO,EAQP,6DARO,EASP,oEATO,EAUP,8DAAgBA,OAAhB,EAVO,EAWP,oEAXO,EAWG,gEAXH,CA0BR;;;;4HAGUH,S,EAAS;AAAA,yBA9BL,2DA8BK;AA9BO,oBAEzB,gDAFyB,EAGzB,uEAHyB,EAIzB,4FAJyB,EAKzB,gHALyB,EAKP,mEALO,EAOzB,qEAPyB,EAQzB,gEARyB,EASzB,6DATyB,EAUzB,oEAVyB,EAUT,6DAVS,EAYzB,oEAZyB,EAYf,gEAZe;AA8BP,S;AAlBS,O;;;;;wEAkBlBA,S,EAAS;gBA/BrB,sDA+BqB;iBA/BZ;AACRhC,wBAAY,EAAE,CAAC,2DAAD,CADN;AAERC,mBAAO,EAAE,CACP,gDADO,EAEP,uEAFO,EAGP,4FAHO,EAIP,gHAJO,EAKP,oEAAgBkC,OAAhB,EALO,EAMP,qEANO,EAOP,gEAPO,EAQP,6DARO,EASP,oEATO,EAUP,8DAAgBA,OAAhB,EAVO,EAWP,oEAXO,EAWG,gEAXH,CAFD;AAeRhC,qBAAS,EAAE,CACT;AACA;AACA;AACA;AACA;AACA;AACA;AACET,qBAAO,EAAE,kEADX;AAEEuC,sBAAQ,EAAE;AACRC,yBAAS,EAAEJ;AADH;AAFZ,aAPS,CAfH;AA6BRM,qBAAS,EAAE,CAAC,2DAAD;AA7BH,W;AA+BY,U;;;;;;;;;;;;;;;;;;AC7EtB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAMsBC,iB;;;;;;;6CACClR,G,EAAK;AACpB,gBAAIP,QAAQ,GAAG,CAAf;AACA,gBAAI0R,SAAS,GAAG,EAAhB;AACA,gBAAIC,GAAG,GAAG9P,IAAI,CAAC2B,KAAL,CAAWzB,YAAY,CAAC0B,OAAb,CAAqB,wBAArB,CAAX,EAA2DnE,IAArE,CAHoB,CAIpB;;AAGA,iBAAK,IAAIsS,QAAT,IAAqBD,GAArB,EAA0B;AACtB,kBAAIA,GAAG,CAACC,QAAD,CAAH,CAAcnT,EAAd,IAAoB8B,GAAG,CAACC,KAA5B,EAAmC;AAC/BkR,yBAAS,GAAGC,GAAG,CAACC,QAAD,CAAf;;AACA,oBAAIF,SAAJ,EAAe;AACX,yBAAOA,SAAS,CAAC,YAAD,CAAT,CAAwBjS,cAAxB,CAAuC,MAAvC,CAAP;AACH;AACJ;AACJ;;AACD,mBAAO,KAAP;AACH;;;0CACeK,M,EAAQ+R,a,EAAe;AACnC,gBAAOC,kBAAkB,GAAG,CAAC,aAAD,EAAgB,QAAhB,CAA5B;;AACA,gBAAIA,kBAAkB,CAACC,OAAnB,CAA2BjS,MAA3B,IAAqC,CAAC,CAA1C,EAA6C;AACzC,qBAAO,IAAP;AACH;;AACD,gBAAI,CAAC+R,aAAL,EAAoB;AAAE;AAClBA,2BAAa,GAAG,MAAhB;AACH;;AACD,gBAAMG,WAAW,GAAGnQ,IAAI,CAAC2B,KAAL,CAAWzB,YAAY,CAAC0B,OAAb,CAAqB,wBAArB,CAAX,EAA2DpE,QAA3D,CAAoES,MAApE,CAApB;;AACA,gBAAIkS,WAAJ,EAAiB;AACb,qBAAOA,WAAW,CAACnT,UAAZ,CAAuBY,cAAvB,CAAsCoS,aAAtC,CAAP,CADa,CACgD;AAChE;;AACD,mBAAO,KAAP;AAGH;;;;;;;yBAjCiBJ,iB;AAAiB,O;;;eAAjBA,iB;AAAiB,iBAAjBA,iBAAiB,K;AAAA,oBAFzB;;;;;wEAEQA,iB,EAAiB;gBAHtC,wDAGsC;iBAH3B;AACV7N,sBAAU,EAAE;AADF,W;AAG2B,U;;;;;;;;;;;;;;;;;;ACNvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;UAOaqO,iB;AACX,qCAAc;AAAA;AAAG,S,CACjB;;;;;kCACQC,K,EAAOC,G,EAAKnT,M,EAAM;AACxB,gBAAIC,GAAG,GAAG,8CAAamT,IAAb,CAAkB5O,KAAlB,CAAwB0O,KAAxB,CAAV;AACA,gBAAIG,EAAE,GAAG,8CAAaD,IAAb,CAAkB5O,KAAlB,CAAwB2O,GAAxB,CAAT;AACA,gBAAIG,SAAS,GAAG,8CAAaC,OAAb,CAAqB,8CAAaH,IAAb,CAAkB5O,KAAlB,CAAwBxE,MAAM,CAACwT,QAAP,EAAxB,CAArB,EAAiEvT,GAAjE,EAChB;AACIwT,qBAAO,EAAE,MAAM,CADnB;AAEIJ,gBAAE,EAAEA,EAFR;AAGI/G,kBAAI,EAAE,+CAAcoH,GAHxB;AAIIC,qBAAO,EAAE,8CAAaC;AAJ1B,aADgB,CAAhB;AAQA,mBAAON,SAAS,CAACE,QAAV,EAAP;AACD,W,CAED;;;;kCACQN,K,EAAOC,G,EAAKnT,M,EAAM;AACxB,gBAAIC,GAAG,GAAG,8CAAamT,IAAb,CAAkB5O,KAAlB,CAAwB0O,KAAxB,CAAV;AACA,gBAAIG,EAAE,GAAG,8CAAaD,IAAb,CAAkB5O,KAAlB,CAAwB2O,GAAxB,CAAT;AACA,gBAAIU,SAAS,GAAG,8CAAaC,OAAb,CAAqB9T,MAArB,EAA6BC,GAA7B,EAAkC;AAC9CwT,qBAAO,EAAE,MAAM,CAD+B;AAE9CJ,gBAAE,EAAEA,EAF0C;AAG9C/G,kBAAI,EAAE,+CAAcoH,GAH0B;AAI9CC,qBAAO,EAAE,8CAAaC;AAJwB,aAAlC,CAAhB;AAOA,mBAAOC,SAAS,CAACL,QAAV,CAAmB,8CAAaJ,IAAhC,CAAP;AACD;;;;;;;yBA7BUH,iB;AAAiB,O;;;eAAjBA,iB;AAAiB,iBAAjBA,iBAAiB,K;AAAA,oBAHhB;;;;;wEAGDA,iB,EAAiB;gBAJ7B,wDAI6B;iBAJlB;AACVrO,sBAAU,EAAE;AADF,W;AAIkB,U;;;;;;;;;;;;;;;;;;;;ACP9B;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;UACamP,Q,GACT,kBAAmBC,aAAnB,EAAsC;AAAA;;AAAnB,aAAAA,aAAA,GAAAA,aAAA;AAAsB,O;;;;;;;;;;;;;;;;;ACF7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;AACA;;;AAUA,UAAMC,8BAA8B,GAAG,UAAvC;;UAKaC,kB;AAIX,oCAAoBC,SAApB,EAAiD;AAAA;;AAA7B,eAAAA,SAAA,GAAAA,SAAA,CAA6B,CAHjD;;AACQ,eAAAC,OAAA,GAAe,EAAf,CAEyC,CAC/C;;AACA,eAAKD,SAAL,CAAeE,QAAf,CAAwB,CAAC,IAAD,CAAxB,EAF+C,CAI/C;;AACA,eAAKF,SAAL,CAAeG,cAAf,CAA8B,IAA9B;AACD;;;;6CAEiC;AAAA;;AAAA,8CAAdC,IAAc;AAAdA,kBAAc;AAAA;;AAChC,gBAAMC,OAAO,aAAOD,IAAP,CAAb;AAEAC,mBAAO,CAAC9P,OAAR,CAAgB,UAACG,MAAD,EAAY;AAC1B;AACA;AACA,qBAAI,CAACsP,SAAL,CAAeM,cAAf,CAA8B5P,MAAM,CAACC,IAArC,EAA2CD,MAAM,CAACzF,IAAlD,EAAwD,IAAxD;;AAEA,qBAAI,CAACgV,OAAL,CAAa7R,IAAb,CAAkBsC,MAAM,CAACC,IAAzB;AACD,aAND,EAHgC,CAWhC;;AACA,iBAAKqP,SAAL,CAAeE,QAAf,CAAwB,KAAKD,OAA7B;AACD;;;sCAEWtP,I,EAAM;AAChB,gBAAIA,IAAJ,EAAU;AACR,mBAAKqP,SAAL,CAAeO,GAAf,CAAmB,KAAKP,SAAL,CAAeQ,cAAf,EAAnB;AACA,mBAAKR,SAAL,CAAeO,GAAf,CAAmB5P,IAAnB;AACA/B,0BAAY,CAACC,OAAb,CAAqBiR,8BAArB,EAAqDnP,IAArD;AACD;AACF;AAED;;;;;;gDAGmB;AACjB,mBACE/B,YAAY,CAAC0B,OAAb,CAAqBwP,8BAArB,KACA,KAAKE,SAAL,CAAeQ,cAAf,EAFF;AAID;;;;;;;yBA3CUT,kB,EAAkB,4H;AAAA,O;;;eAAlBA,kB;AAAkB,iBAAlBA,kBAAkB,K;AAAA,oBAFjB;;;;;wEAEDA,kB,EAAkB;gBAH9B,wDAG8B;iBAHnB;AACVtP,sBAAU,EAAE;AADF,W;AAGmB,U;;;;;;;;;;;;;;;;;;;;;;AChB/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAQA,UAAMgQ,aAAa,GAAG,CAAC,mBAAD,EAAsB,gBAAtB,EAAwC,qBAAxC,EAA+D,0BAA/D,CAAtB;;UAMaC,iB;;;;;AAEX,mCAAY7H,SAAZ,EAAkCC,IAAlC,EAA0D0D,UAA1D,EAAyF;AAAA;;AAAA;;AACvF,uCAAM3D,SAAN,EAAiBC,IAAjB;AADwD,kBAAA0D,UAAA,GAAAA,UAAA;;AAI1D,kBAAAmE,mBAAA,GAAsB,UAAUC,SAAV,EAAqB;AAEzCA,qBAAS,GAAGA,SAAS,CAACC,WAAV,EAAZ;AACA,mBAAOC,sBAAsB,EAA7B;;AAEA,qBAASA,sBAAT,GAAkC;AAChC,kBAAIF,SAAS,CAACG,QAAV,CAAmB,OAAnB,CAAJ,EAAiC;AAAE;AACjCH,yBAAS,GAAGI,WAAW,CAACJ,SAAD,EAAYA,SAAS,CAACK,WAAV,CAAsB,OAAtB,CAAZ,CAAX,CAAuD,CAAvD,CAAZ;AACD;;AACD,kBAAIL,SAAS,CAACM,UAAV,CAAqB,QAArB,CAAJ,EAAoC;AAClC,uBAAO,IAAP;AACD;;AACD,kBAAIT,aAAa,CAAC7B,OAAd,CAAsBgC,SAAtB,IAAmC,CAAC,CAAxC,EAA2C;AACzC,uBAAO,IAAP;AACD;;AACD,kBAAMO,UAAU,GAAGC,eAAe,EAAlC;AACA,kBAAMC,0BAA0B,GAAGC,2BAA2B,CAACH,UAAU,CAAC,CAAD,CAAX,CAA9D;;AAEA,kBAAI,CAACE,0BAAL,EAAiC;AAAE;AACjC,uBAAO,KAAP;AACD;;AAED,kBAAIF,UAAU,CAACzU,MAAX,KAAsB,CAA1B,EAA6B;AAAE;AAC7B;AACA;AACA,uBAAO6U,sBAAsB,CAACF,0BAAD,EAA6B,MAA7B,CAA7B;AACD,eAJD,MAKK,IAAIF,UAAU,CAACA,UAAU,CAACzU,MAAX,GAAoB,CAArB,CAAV,CAAkCmU,WAAlC,GAAgDE,QAAhD,CAAyD,KAAzD,CAAJ,EAAqE;AACxE,uBAAOQ,sBAAsB,CAACF,0BAAD,EAA6B,QAA7B,CAA7B;AACD,eAFI,MAGA,IAAIF,UAAU,CAACA,UAAU,CAACzU,MAAX,GAAoB,CAArB,CAAV,CAAkCmU,WAAlC,GAAgDE,QAAhD,CAAyD,MAAzD,CAAJ,EAAsE;AACzE,uBAAOQ,sBAAsB,CAACF,0BAAD,EAA6B,MAA7B,CAA7B;AACD;;AAED,qBAAO,KAAP;AACD;;AACD,qBAASD,eAAT,GAA2B;AACzB,kBAAIR,SAAS,CAACK,WAAV,CAAsB,GAAtB,IAA6B,CAAjC,EAAoC;AAClC,uBAAO,CAACL,SAAD,CAAP;AACD;;AACD,kBAAIY,WAAW,GAAG,CAACZ,SAAD,CAAlB;;AACA,kBAAIA,SAAS,CAACG,QAAV,CAAmB,MAAnB,CAAJ,EAAgC;AAC9BS,2BAAW,GAAGR,WAAW,CAACJ,SAAD,EAAYA,SAAS,CAACK,WAAV,CAAsB,MAAtB,CAAZ,CAAzB;AACD,eAFD,MAEO,IAAIL,SAAS,CAACG,QAAV,CAAmB,OAAnB,CAAJ,EAAiC;AACtCS,2BAAW,GAAGR,WAAW,CAACJ,SAAD,EAAYA,SAAS,CAACK,WAAV,CAAsB,OAAtB,CAAZ,CAAzB;AACD;;AACD,qBAAOO,WAAP;AACD;;AAIH,qBAASF,2BAAT,CAAqCG,UAArC,EAAiD;AAC/C,kBAAMC,cAAc,GAAGhT,IAAI,CAAC2B,KAAL,CAAWzB,YAAY,CAAC0B,OAAb,CAAqB,wBAArB,CAAX,CAAvB;;AACA,kBAAIoR,cAAJ,EAAoB;AAClB,oBAAMC,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYH,cAAc,CAACxV,QAA3B,EAAqC4V,IAArC,CAA0C,UAAUC,CAAV,EAAa;AAAE,yBAAOA,CAAC,CAAClB,WAAF,OAAoBY,UAA3B;AAAwC,iBAAjG,CAAnB;AACA,uBAAOC,cAAc,CAACxV,QAAf,CAAwByV,UAAxB,CAAP;AACD;;AACD,qBAAO,IAAP;AACD;;AAAA;;AACD,qBAASJ,sBAAT,CAAgCS,mBAAhC,EAAqDtD,aAArD,EAAoE;AAClE,kBAAIsD,mBAAJ,EAAyB;AACvB,uBAAOA,mBAAmB,CAACtW,UAApB,CAA+BY,cAA/B,CAA8CoS,aAA9C,CAAP,CADuB,CAEvB;AACD;;AACD,qBAAO,KAAP;AACD;;AAAA;;AACD,qBAASsC,WAAT,CAAqBiB,SAArB,EAAgCC,KAAhC,EAAuC;AACrC,qBAAO,CAACD,SAAS,CAACE,SAAV,CAAoB,CAApB,EAAuBD,KAAvB,CAAD,EAAgCD,SAAS,CAACE,SAAV,CAAoBD,KAApB,CAAhC,CAAP;AACD;;AAAA;AAEA,WAtED;;AAJyF;AAExF;;;QAJoC,yD;;;yBAA1BxB,iB,EAAiB,oH,EAAA,uH,EAAA,wH;AAAA,O;;;eAAjBA,iB;AAAiB,iBAAjBA,iBAAiB,K;AAAA,oBAHhB;;;;;wEAGDA,iB,EAAiB;gBAJ7B,wDAI6B;iBAJlB;AACVjQ,sBAAU,EAAE;AADF,W;AAIkB,U;;;;;;;;;;;;;;;;;;;;;;;;;;ACd9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAOA,UAAM2R,aAAa,aAAM,sEAAYzJ,MAAlB,WAAnB;;UAKa0J,e;AACX,iCAAoBvJ,IAApB,EAAsC;AAAA;;AAAlB,eAAAA,IAAA,GAAAA,IAAA;AAAqB,S,CAEzC;;;;;gCACMhK,K,EAAeC,Q,EAAgB;AACnC,mBAAO,KAAK+J,IAAL,CAAUO,IAAV,CAA0B+I,aAA1B,EAA2C;AAAEtT,mBAAK,EAALA,KAAF;AAASC,sBAAQ,EAARA;AAAT,aAA3C,CAAP;AACD,W,CAED;;;;qCACWa,I,EAAe;AACxB,mBAAO,KAAKkJ,IAAL,CAAUO,IAAV,CAA0B+I,aAA1B,EAAyCxS,IAAzC,CAAP;AACD,W,CAED;;;;yCACed,K,EAAa;AAC1B,mBAAO,KAAKgK,IAAL,CAAUO,IAAV,WAA2B+I,aAA3B,uBAA4D;AACjEtT,mBAAK,EAALA;AADiE,aAA5D,CAAP;AAGD;;;yCAEgBwT,K,EAAK;AACpB,gBAAMC,WAAW,GAAG,IAAI,gEAAJ,CAAgB;AAClCC,2BAAa,mBAAYF,KAAZ;AADqB,aAAhB,CAApB;AAGA,mBAAO,KAAKxJ,IAAL,CAAUzK,GAAV,WAA4B+T,aAA5B,GAA6C;AAClDpJ,qBAAO,EAAEuJ;AADyC,aAA7C,CAAP;AAGD;;;;;;;yBA3BUF,e,EAAe,uH;AAAA,O;;;eAAfA,e;AAAe,iBAAfA,eAAe,K;AAAA,oBAFd;;;;;wEAEDA,e,EAAe;gBAH3B,wDAG2B;iBAHhB;AACV5R,sBAAU,EAAE;AADF,W;AAGgB,U;;;;;;;;;;;;;;;;;;;;;;ACZ5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;AAWA;;;;;UAMagS,Q;AACX;;;;;AAKA;AACA,0BAAsBC,UAAtB,EAAgD;AAAA;;AAA1B,eAAAA,UAAA,GAAAA,UAAA;AAA4B;AAElD;;;;;;;;;;oCAOE3W,K,EACA4W,I,EAAY;AAEZ,oBAAQA,IAAR;AACE,mBAAK,MAAL;AACE,uBAAO,KAAKD,UAAL,CAAgBE,uBAAhB,CAAwC7W,KAAxC,CAAP;;AACF,mBAAK,OAAL;AACE,uBAAO,KAAK2W,UAAL,CAAgBG,wBAAhB,CAAyC9W,KAAzC,CAAP;;AACF,mBAAK,QAAL;AACE,uBAAO,KAAK2W,UAAL,CAAgBI,yBAAhB,CAA0C/W,KAA1C,CAAP;;AACF,mBAAK,KAAL;AACE,uBAAO,KAAK2W,UAAL,CAAgBK,sBAAhB,CAAuChX,KAAvC,CAAP;;AACF,mBAAK,aAAL;AACE,uBAAO,KAAK2W,UAAL,CAAgBM,8BAAhB,CAA+CjX,KAA/C,CAAP;;AACF;AACE,uBAAO,KAAK2W,UAAL,CAAgBE,uBAAhB,CAAwC7W,KAAxC,CAAP;AAZJ;AAcD;;;;;;;yBAjCU0W,Q,EAAQ,uI;AAAA,O;;;;cAARA,Q;AAAQ;;;;;wEAARA,Q,EAAQ;gBAHpB,kDAGoB;iBAHf;AACJlX,gBAAI,EAAE;AADF,W;AAGe,U;;;;;;;;;;;;;;;;;;;;;;ACjBrB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;UAGa0X,Q;;;;;;;;;;;;QAAiB,mD;;;;;;;;;;;;;;;;;ACH9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAIA;AAGA;AAcA;AAKA;AAKA;;;;;;;;;;;;;;;;;;AC/BA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;UAMaC,qB;AACT,uCAAoBpK,IAApB,EAAsC;AAAA;;AAAlB,eAAAA,IAAA,GAAAA,IAAA;AAAqB;;;;gCAEnC7J,Q,EAAkBF,Q,EAAkB;AACtC,mBAAO,KAAK+J,IAAL,CAAUO,IAAV,CAAoB,kDAApB,EAAwE;AAAEpK,sBAAQ,EAARA,QAAF;AAAYF,sBAAQ,EAARA;AAAZ,aAAxE,EACFY,IADE,CACG,2DAAI,UAAAC,IAAI,EAAI;AACd;AACA,kBAAIA,IAAJ,EAAU;AACN;AACA;AACAA,oBAAI,CAACuT,QAAL,GAAgBpG,MAAM,CAACqG,IAAP,CAAYnU,QAAQ,GAAG,GAAX,GAAiBF,QAA7B,CAAhB;AACAH,4BAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCH,IAAI,CAACC,SAAL,CAAeiB,IAAf,CAApC;AACH;;AAED,qBAAOA,IAAP;AACH,aAVK,CADH,CAAP;AAYH;;;mCAEQ;AACL;AACAhB,wBAAY,CAACS,UAAb,CAAwB,aAAxB;AACH;;;;;;;yBArBQ6T,qB,EAAqB,uH;AAAA,O;;;eAArBA,qB;AAAqB,iBAArBA,qBAAqB,K;AAAA,oBADR;;;;;wEACbA,qB,EAAqB;gBADjC,wDACiC;iBADtB;AAAEzS,sBAAU,EAAE;AAAd,W;AACsB,U;;;;;;;;;;;;;;;;;;;;;;ACNlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAWa4S,S;AACX,2BAAoBzF,WAApB,EAA8C;AAAA;;AAA1B,eAAAA,WAAA,GAAAA,WAAA;AAA4B;;;;sCAEpC0F,K,EAA+B5J,K,EAA4B;AACrE,gBAAM6J,WAAW,GAAG3U,YAAY,CAAC0B,OAAb,CAAqB,UAArB,CAApB;AACA,gBAAMkT,aAAa,GAAG5U,YAAY,CAAC0B,OAAb,CAAqB,eAArB,CAAtB;;AAIA,gBAAIiT,WAAW,IAAIC,aAAf,IAAgCA,aAAa,IAAI,MAArD,EAA6D;AAC3D;AACA,kBAAMC,kBAAkB,GAAG/U,IAAI,CAAC2B,KAAL,CAAWkT,WAAX,CAA3B;;AACA,kBAAGE,kBAAkB,CAAC,iBAAD,CAAlB,IAAyC,IAA5C,EAAiD;AAAE;AAC/C,qBAAK7F,WAAL,CAAiB/N,MAAjB;AACA,uBAAO,KAAP;AACH;;AACD,kBAAIyS,KAAK,GAAGmB,kBAAkB,CAAC,OAAD,CAA9B;AACA,kBAAMC,YAAY,GAAG,2DAAWpB,KAAX,CAArB;AACA,kBAAMqB,UAAU,GAAGD,YAAY,CAAC,KAAD,CAA/B;AACA,kBAAME,QAAQ,GAAG,IAAIC,IAAJ,GAAWC,OAAX,KAAuB,IAAxC;AACA,kBAAGF,QAAQ,GAAGD,UAAd,EACE,OAAO,IAAP;AACH,aAnBoE,CAqBrE;;;AACA,iBAAK/F,WAAL,CAAiB/N,MAAjB;AACA,mBAAO,KAAP;AACD;;;;;;;yBA3BUwT,S,EAAS,iH;AAAA,O;;;eAATA,S;AAAS,iBAATA,SAAS,K;AAAA,oBADI;;;;;wEACbA,S,EAAS;gBADrB,wDACqB;iBADV;AAAE5S,sBAAU,EAAE;AAAd,W;AACU,U;;;;;;;;;;;;;;;;;;;;;;ACXtB;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;AACO,UAAMC,MAAM,GAAG;AACpBC,YAAI,EAAE,IADc;AAEpB1F,YAAI,EAAE;AACJ2F,oBAAU,EAAE;AACVC,kBAAM,EAAE;AADE,WADR;AAIJC,cAAI,EAAE;AACJC,eAAG,EAAE,KADD;AAEJC,mBAAO,EAAE,UAFL;AAGJC,uBAAW,EAAE,mCAHT;AAIJC,iBAAK,EAAE,OAJH;AAKJC,oBAAQ,EAAE,eALN;AAMJC,gBAAI,EAAE,MANF;AAOJC,qBAAS,EAAE;AAPP,WAJF;AAaJC,cAAI,EAAE;AACJC,mBAAO,EAAE;AACPC,gBAAE,EAAE,MADG;AAEPC,2BAAa,EAAE,YAFR;AAGPC,wBAAU,EAAE,qBAHL;AAIPC,2BAAa,EAAE,UAJR;AAKPC,2BAAa,EAAE,oBALR;AAMPC,yBAAW,EAAE,QANN;AAOPC,qBAAO,EAAE,cAPF;AAQPC,mBAAK,EAAE,OARA;AASPC,qBAAO,EAAE;AATF,aADL;AAYJC,iBAAK,EAAE;AACLC,mBAAK,EAAE,gBADF;AAELC,oBAAM,EAAE;AAFH,aAZH;AAgBJC,kBAAM,EAAE;AACNF,mBAAK,EAAE,qBADD;AAENG,kBAAI,EAAE,yCAFA;AAGNC,qBAAO,EAAE;AAHH,aAhBJ;AAqBJC,oBAAQ,EAAE;AACRL,mBAAK,EAAE,SADC;AAERG,kBAAI,EAAE,2CAFE;AAGRC,qBAAO,EAAE;AAHD,aArBN;AA0BJE,iBAAK,EAAE;AACLC,mBAAK,EAAE,OADF;AAELC,sBAAQ,EAAE,UAFL;AAGLC,sBAAQ,EAAE,UAHL;AAILC,8BAAgB,EAAE,kBAJb;AAKLC,sBAAQ,EAAE;AALL,aA1BH;AAiCJC,sBAAU,EAAE;AACVC,qBAAO,EAAE,uBADC;AAEVC,sBAAQ,EAAE,sBAFA;AAGVC,wBAAU,EAAE,oCAHF;AAIVC,gCAAkB,EAAE,2CAJV;AAKVC,uBAAS,EAAE,qCALD;AAMVC,2BAAa,EAAE,+BANL;AAOVC,4BAAc,EAAE,gBAPN;AAQVC,8BAAgB,EAAE,uBARR;AASVC,8BAAgB,EAAE,uBATR;AAUVC,2BAAa,EAAE;AAVL;AAjCR,WAbF;AA2DJC,mBAAS,EAAE;AACTC,kBAAM,EAAE;AACNC,oCAAsB,EAAE,0BADlB;AAENC,iBAAG,EAAE,KAFC;AAGNC,uBAAS,EAAE,WAHL;AAINC,oBAAM,EAAE,QAJF;AAKNC,oBAAM,EAAE,QALF;AAMNC,uBAAS,EAAE,WANL;AAONC,qBAAO,EAAE,SAPH;AAQNC,sBAAQ,EAAE,UARJ;AASNC,wBAAU,EAAE,YATN;AAUNC,oBAAM,EAAE,QAVF;AAWNC,2BAAa,EAAE;AAXT,aADC;AAcTZ,qBAAS,EAAE,WAdF;AAeTa,qBAAS,EAAE;AACTA,uBAAS,EAAE,WADF;AAETC,4BAAc,EAAE,gBAFP;AAGTC,0BAAY,EAAE,cAHL;AAITC,oCAAsB,EAAE;AACtBvC,qBAAK,EAAE,iBADe;AAEtBwC,2BAAW,EAAE,mDAFS;AAGtBC,gCAAgB,EAAE,yBAHI;AAItBC,uBAAO,EAAE;AAJa,eAJf;AAUTC,mCAAqB,EAAE;AACrB3C,qBAAK,EAAE,kBADc;AAErBwC,2BAAW,EAAE,wDAFQ;AAGrBC,gCAAgB,EAAE,2BAHG;AAIrBC,uBAAO,EAAE;AAJY,eAVd;AAgBTE,2BAAa,EAAE;AACb5C,qBAAK,EAAE,gDADM;AAEb0C,uBAAO,EAAE;AAFI,eAhBN;AAoBTG,kBAAI,EAAE;AACJC,8BAAc,EAAE,2BADZ;AAEJC,2BAAW,EAAE;AAFT;AApBG;AAfF;AA3DP;AAFc,OAAf;;;;;;;;;;;;;;;;ACDP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;;UAMa8O,oB;;;;;;;oCACCxG,O,EAA2BrO,I,EAAiB;AAClD,gBAAI,CAACqO,OAAO,CAACrE,GAAR,CAAY8K,QAAZ,CAAqB,OAArB,CAAL,EAAoC;AAChC;AACA,kBAAIC,QAAQ,GAAGvV,IAAI,CAAC2B,KAAL,CAAWzB,YAAY,CAAC0B,OAAb,CAAqB,UAArB,CAAX,CAAf;;AACA,kBAAI2T,QAAQ,IAAIA,QAAQ,CAACC,KAAzB,EAAgC;AAC5B3G,uBAAO,GAAGA,OAAO,CAAC4G,KAAR,CAAc;AACpBC,4BAAU,EAAE;AACR,qCAAiB,YAAY1V,IAAI,CAAC2B,KAAL,CAAWzB,YAAY,CAAC0B,OAAb,CAAqB,UAArB,CAAX,EAA6C4T,KADlE;AAER;AACA,mDAA+B;AAHvB;AADQ,iBAAd,CAAV;AAOH,eARD,MASK,CAEJ;AACJ;;AACD,mBAAOhV,IAAI,CAACsO,MAAL,CAAYD,OAAZ,CAAP;AACH;;;;;;;yBAnBQwG,oB;AAAoB,O;;;eAApBA,oB;AAAoB,iBAApBA,oBAAoB;;;;;wEAApBA,oB,EAAoB;gBADhC;AACgC,U;;;;;;;;;;;;;;;;;;ACNjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAIO,UAAMM,MAAM,GAAW,CAC5B;AACEC,YAAI,EAAE,MADR;AAEEC,oBAAY,EAAE;AAAA,iBACZ;AAAA;AAAA;AAAA;AAAA,mBAAqC1O,IAArC,CAA0C,UAAC2O,CAAD;AAAA,mBAAOA,CAAC,CAACC,UAAT;AAAA,WAA1C,CADY;AAAA;AAFhB,OAD4B,EAM5B;AACEH,YAAI,EAAE,OADR;AAEEC,oBAAY,EAAE;AAAA,iBACZ;AAAA;AAAA;AAAA;AAAA,mBAAyC1O,IAAzC,CAA8C,UAAC2O,CAAD;AAAA,mBAAOA,CAAC,CAACE,YAAT;AAAA,WAA9C,CADY;AAAA;AAFhB,OAN4B,EAW5B;AACEJ,YAAI,EAAE,EADR;AAEEK,mBAAW,EAAE,CAAC,2EAAD,CAFf;AAGEJ,oBAAY,EAAE;AAAA,iBACZ;AAAA;AAAA;AAAA;AAAA,mBAAgC1O,IAAhC,CAAqC,UAAC2O,CAAD;AAAA,mBAAOA,CAAC,CAACI,YAAT;AAAA,WAArC,CADY;AAAA;AAHhB,OAX4B,EAiB5B;AAAEN,YAAI,EAAE,IAAR;AAAcO,kBAAU,EAAE,YAA1B;AAAwCC,iBAAS,EAAE;AAAnD,OAjB4B,CAAvB;;UAwBMC,gB;;;;;cAAAA;;;;2BAAAA,gB;AAAgB,S;AAAA,kBAHlB,CAAC,6DAAa3G,OAAb,CAAqBiG,MAArB,CAAD,CAGkB,EAFjB,4DAEiB;;;;4HAAhBU,gB,EAAgB;AAAA;AAAA,oBAFjB,4DAEiB;AAAA,S;AAFL,O;;;;;wEAEXA,gB,EAAgB;gBAJ5B,sDAI4B;iBAJnB;AACR7I,mBAAO,EAAE,CAAC,6DAAakC,OAAb,CAAqBiG,MAArB,CAAD,CADD;AAERlI,mBAAO,EAAE,CAAC,4DAAD;AAFD,W;AAImB,U;;;;;;;;;;;;;;;;;;AC5B7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;;AAGA;;;;;UAMa6I,e;;;;;;;;AACX;;;;;;oCAMUjZ,K,EAAYqU,I,EAAU;AAC9B,mBAAOrU,KAAK,CACTkZ,KADI,CACE,GADF,EAEJ7V,GAFI,CAEA,UAAC8V,CAAD;AAAA,qBAAOA,CAAC,CAAC,CAAD,CAAR;AAAA,aAFA,EAGJC,IAHI,CAGC,EAHD,CAAP;AAID;;;;;;;yBAZUH,e;AAAe,O;;;;cAAfA,e;AAAe;;;;;wEAAfA,e,EAAe;gBAH3B,kDAG2B;iBAHtB;AACJzZ,gBAAI,EAAE;AADF,W;AAGsB,U;;;;;;;;;;;;;;;;;;ACT5B;AAAA;;;AAAA;AAAA;AAAA,S,CAAA;;;AACO,UAAMmF,MAAM,GAAG;AACpBC,YAAI,EAAE,IADc;AAEpB1F,YAAI,EAAE;AACJ2F,oBAAU,EAAE;AACVC,kBAAM,EAAE;AADE,WADR;AAIJC,cAAI,EAAE;AACJC,eAAG,EAAE,OADD;AAEJC,mBAAO,EAAE,gBAFL;AAGJC,uBAAW,EAAE,yBAHT;AAIJC,iBAAK,EAAE,OAJH;AAKJC,oBAAQ,EAAE,iBALN;AAMJC,gBAAI,EAAE,cANF;AAOJC,qBAAS,EAAE;AAPP,WAJF;AAaJC,cAAI,EAAE;AACJC,mBAAO,EAAE;AACPC,gBAAE,EAAE,GADG;AAEPC,2BAAa,EAAE,QAFR;AAGPC,wBAAU,EAAE,uBAHL;AAIPC,2BAAa,EAAE,YAJR;AAKPC,2BAAa,EAAE,4BALR;AAMPC,yBAAW,EAAE,SANN;AAOPC,qBAAO,EAAE,WAPF;AAQPC,mBAAK,EAAE,OARA;AASPC,qBAAO,EAAE;AATF,aADL;AAYJC,iBAAK,EAAE;AACLC,mBAAK,EAAE,kBADF;AAELC,oBAAM,EAAE;AAFH,aAZH;AAgBJC,kBAAM,EAAE;AACNF,mBAAK,EAAE,sBADD;AAENG,kBAAI,EAAE,8DAFA;AAGNC,qBAAO,EAAE;AAHH,aAhBJ;AAqBJC,oBAAQ,EAAE;AACRL,mBAAK,EAAE,SADC;AAERG,kBAAI,EAAE,2CAFE;AAGRC,qBAAO,EAAE;AAHD,aArBN;AA0BJE,iBAAK,EAAE;AACLC,mBAAK,EAAE,OADF;AAELC,sBAAQ,EAAE,UAFL;AAGLC,sBAAQ,EAAE,UAHL;AAILC,8BAAgB,EAAE,kBAJb;AAKLC,sBAAQ,EAAE;AALL,aA1BH;AAiCJC,sBAAU,EAAE;AACVC,qBAAO,EAAE,uBADC;AAEVC,sBAAQ,EAAE,sBAFA;AAGVC,wBAAU,EAAE,oCAHF;AAIVC,gCAAkB,EAAE,2CAJV;AAKVC,uBAAS,EAAE,qCALD;AAMVC,2BAAa,EAAE,+BANL;AAOVC,4BAAc,EAAE,gBAPN;AAQVC,8BAAgB,EAAE,uBARR;AASVC,8BAAgB,EAAE,uBATR;AAUVC,2BAAa,EAAE;AAVL;AAjCR,WAbF;AA2DJC,mBAAS,EAAE;AACTC,kBAAM,EAAE;AACNC,oCAAsB,EAAE,0BADlB;AAENC,iBAAG,EAAE,KAFC;AAGNC,uBAAS,EAAE,WAHL;AAINC,oBAAM,EAAE,QAJF;AAKNC,oBAAM,EAAE,QALF;AAMNC,uBAAS,EAAE,WANL;AAONC,qBAAO,EAAE,SAPH;AAQNC,sBAAQ,EAAE,UARJ;AASNC,wBAAU,EAAE,YATN;AAUNC,oBAAM,EAAE,QAVF;AAWNC,2BAAa,EAAE;AAXT,aADC;AAcTZ,qBAAS,EAAE,WAdF;AAeTa,qBAAS,EAAE;AACTA,uBAAS,EAAE,WADF;AAETC,4BAAc,EAAE,gBAFP;AAGTC,0BAAY,EAAE,cAHL;AAITC,oCAAsB,EAAE;AACtBvC,qBAAK,EAAE,iBADe;AAEtBwC,2BAAW,EAAE,mDAFS;AAGtBC,gCAAgB,EAAE,yBAHI;AAItBC,uBAAO,EAAE;AAJa,eAJf;AAUTC,mCAAqB,EAAE;AACrB3C,qBAAK,EAAE,kBADc;AAErBwC,2BAAW,EAAE,wDAFQ;AAGrBC,gCAAgB,EAAE,2BAHG;AAIrBC,uBAAO,EAAE;AAJY,eAVd;AAgBTE,2BAAa,EAAE;AACb5C,qBAAK,EAAE,gDADM;AAEb0C,uBAAO,EAAE;AAFI,eAhBN;AAoBTG,kBAAI,EAAE;AACJC,8BAAc,EAAE,2BADZ;AAEJC,2BAAW,EAAE;AAFT;AApBG;AAfF;AA3DP;AAFc,OAAf;;;;;;;;;;;;;;;;ACDP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAMA,UAAI,sEAAYsD,UAAhB,EAA4B;AAC1B;AACD;;AAED,kFAAyB6M,eAAzB,CAAyC,yDAAzC,WACS,UAAApV,GAAG;AAAA,eAAIC,OAAO,CAACC,KAAR,CAAcF,GAAd,CAAJ;AAAA,OADZ;;;;;;;;;;;;;;;;;ACVA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAOA,UAAIqV,aAAa,GAAG,EAApB;;UAKaC,a;;;;;AAIX,+BAAYzM,SAAZ,EAAgCC,IAAhC,EAAkD;AAAA;;AAAA;;AAChD,uCAAMD,SAAN,EAAgBC,IAAhB;AAHF,kBAAAyM,OAAA,GAAe,EAAf;AACA,kBAAAC,IAAA,GAAgB,KAAhB;AACkD;AAEnD;;;;0CACe;AACd,gBAAMD,OAAO,GAAG,4DAAalX,GAAb,CAAiB,SAAjB,CAAhB;;AACA,gBAAIkX,OAAJ,EAAa;AACX,mBAAKC,IAAL,GAAY,IAAZ;AACA,qBAAO,gDAAGD,OAAH,CAAP,CAFW,CAES;AACrB;;AACD,mBAAO,KAAKE,WAAL,CAAiB,SAAjB,CAAP;AACD;;;sCACaF,O,EAAO;AAEjBF,yBAAa,GAAGE,OAAhB;AACA,iBAAKG,iBAAL;AACA,iBAAKC,UAAL,CAAgBN,aAAhB;AACD;;;8CAEgB;AAEf,iBAAKO,YAAL,GAAoB,+CAAUP,aAAV,EAAyB,YAAzB,CAApB;AACD;;;qDAE0BQ,U,EAAWC,Q,EAAQ;AAE5C,gBAAGA,QAAH,EACA;AACE,kBAAG,KAAKF,YAAL,CAAkBC,UAAlB,CAAH,EACA;AACE,uBAAO,KAAKD,YAAL,CAAkBC,UAAlB,EAA8BE,MAA9B,CAAqC,UAAAC,IAAI,EAAI;AAClD,yBAAOA,IAAI,CAACC,cAAL,IAAuBH,QAA9B;AACD,iBAFM,CAAP;AAGD,eALD,MAOA;AACE7V,uBAAO,CAAC2J,GAAR,CAAYiM,UAAU,GAAG,yBAAzB;AACA,uBAAO,EAAP;AACD;AAGF,aAfD,MAiBA;AACE,kBAAG,KAAKD,YAAL,CAAkBC,UAAlB,CAAH,EACA;AACE,uBAAO,KAAKD,YAAL,CAAkBC,UAAlB,CAAP;AACD,eAHD,MAKA;AACE,uBAAO,EAAP;AACD;AAEF;AACF;;;qCAEaK,K,EAAiB;AAC7B,iBAAK,IAAI7Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6Z,KAAK,CAACxZ,MAA1B,EAAkCL,CAAC,EAAnC,EAAuC;AAClC,kBAAMP,GAAG,GAAGoa,KAAK,CAAC7Z,CAAD,CAAL,CAAS,UAAT,CAAZ;AACA,mBAAKkZ,OAAL,CAAazZ,GAAb,IAAoBoa,KAAK,CAAC7Z,CAAD,CAAzB;AACJ;;AACD,mBAAO,KAAKkZ,OAAZ;AACH;;;wCAEeY,Q,EAAQ;AAElB,mBAAO,KAAKZ,OAAL,CAAaY,QAAb,CAAP;AACH;;;0CAEeN,U,EAAU;AAEtB,mBAAO,KAAKD,YAAL,CAAkBC,UAAlB,CAAP;AACH;;;;QA3EgC,yD;;;yBAAtBP,a,EAAa,oH,EAAA,uH;AAAA,O;;;eAAbA,a;AAAa,iBAAbA,aAAa,K;AAAA,oBAHZ;;;;;wEAGDA,a,EAAa;gBAJzB,wDAIyB;iBAJd;AACV7U,sBAAU,EAAE;AADF,W;AAIc,U;;;;;;;;;;;;;;;;;;;;;;ACZ1B,eAAS2V,wBAAT,CAAkCC,GAAlC,EAAuC;AACtC;AACA;AACA,eAAOxI,OAAO,CAACC,OAAR,GAAkBjI,IAAlB,CAAuB,YAAW;AACxC,cAAIyQ,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBF,GAAzB,GAA+B,GAAzC,CAAR;AACAC,WAAC,CAACE,IAAF,GAAS,kBAAT;AACA,gBAAMF,CAAN;AACA,SAJM,CAAP;AAKA;;AACDF,8BAAwB,CAACvE,IAAzB,GAAgC,YAAW;AAAE,eAAO,EAAP;AAAY,OAAzD;;AACAuE,8BAAwB,CAACtI,OAAzB,GAAmCsI,wBAAnC;AACAK,YAAM,CAACtK,OAAP,GAAiBiK,wBAAjB;AACAA,8BAAwB,CAAC9a,EAAzB,GAA8B,MAA9B","file":"main-es5.js","sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Observable, BehaviorSubject, of, Subscription } from 'rxjs';\r\nimport { map, catchError, switchMap, finalize } from 'rxjs/operators';\r\nimport { UserModel } from '../_models/user.model';\r\nimport { AuthModel } from '../_models/auth.model';\r\nimport { AuthHTTPService } from './auth-http';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { CacheService, DataService } from 'core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService implements OnDestroy {\r\n // private fields\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n private authLocalStorageToken = `UserData`;\r\n private otpLocalStorage: string = 'isOTPVerified';\r\n\r\n // public fields\r\n currentUser$: Observable;\r\n isLoading$: Observable;\r\n currentUserSubject: BehaviorSubject;\r\n isLoadingSubject: BehaviorSubject;\r\n\r\n\r\n get currentUserValue(): any {\r\n return JSON.parse(\r\n localStorage.getItem(this.authLocalStorageToken)\r\n );\r\n }\r\n\r\n set currentUserValue(user: any) {\r\n this.currentUserSubject.next(user);\r\n }\r\n\r\n constructor(\r\n private authHttpService: AuthHTTPService,\r\n private router: Router,\r\n private dataService: DataService,\r\n ) {\r\n this.isLoadingSubject = new BehaviorSubject(false);\r\n this.currentUserSubject = new BehaviorSubject(undefined);\r\n this.currentUser$ = this.currentUserSubject.asObservable();\r\n this.isLoading$ = this.isLoadingSubject.asObservable();\r\n const subscr = this.getUserByToken().subscribe();\r\n this.unsubscribe.push(subscr);\r\n }\r\n\r\n getTabEntityMapping() {\r\n if (CacheService.get(\"TabEntityMapping\")) {\r\n return CacheService.get(\"TabEntityMapping\");\r\n }\r\n else {\r\n return this.dataService.getByWebAction('tab/TabEntityMapping').subscribe(response => {\r\n CacheService.set(\"TabEntityMapping\", response);\r\n });\r\n }\r\n }\r\n\r\n getLoggedInUserPrivileges() {\r\n const savedPrivileges = CacheService.get('LoggedInUserPrivileges');\r\n if (savedPrivileges) {\r\n return of(savedPrivileges);\r\n }\r\n this.dataService.getByWebAction('User/GetCurrentUserprivileges').subscribe(response => {\r\n CacheService.set('LoggedInUserPrivileges', JSON.stringify(this.beautifyPrivileges(response.data)));\r\n localStorage.setItem('LoggedInUserPrivileges', JSON.stringify(this.beautifyPrivileges(response.data)));\r\n return JSON.stringify(this.beautifyPrivileges(response.data));\r\n });\r\n }\r\n\r\n // public methods\r\n login(email: string, password: string): Observable {\r\n var LoginFormData = {\r\n username: email,\r\n password: password\r\n }\r\n this.isLoadingSubject.next(true);\r\n return this.dataService.postDataWithParam(LoginFormData)\r\n .map(response => {\r\n if (response) {\r\n localStorage.setItem(this.authLocalStorageToken, JSON.stringify(response));\r\n localStorage.setItem(this.otpLocalStorage, 'false');\r\n //this.getTabEntityMapping();\r\n //this.getLoggedInUserPrivileges();\r\n return response;\r\n }\r\n });\r\n // this.isLoadingSubject.next(true);\r\n // return this.authHttpService.login(email, password).pipe(\r\n // map((auth: AuthModel) => {\r\n // const result = this.setAuthFromLocalStorage(auth);\r\n // return result;\r\n // }),\r\n // switchMap(() => this.getUserByToken()),\r\n // catchError((err) => {\r\n // console.error('err', err);\r\n // return of(undefined);\r\n // }),\r\n // finalize(() => this.isLoadingSubject.next(false))\r\n // );\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem(this.authLocalStorageToken);\r\n localStorage.removeItem(this.otpLocalStorage);\r\n localStorage.removeItem('LoggedInUserPrivileges');\r\n CacheService.delete('LoggedInUserPrivileges');\r\n this.router.navigate(['/auth/login'], {\r\n queryParams: {},\r\n });\r\n }\r\n\r\n getUserByToken(): Observable {\r\n const auth = this.getAuthFromLocalStorage();\r\n if (!auth || !auth.accessToken) {\r\n return of(undefined);\r\n }\r\n\r\n this.isLoadingSubject.next(true);\r\n return this.authHttpService.getUserByToken(auth.accessToken).pipe(\r\n map((user: UserModel) => {\r\n if (user) {\r\n this.currentUserSubject = new BehaviorSubject(user);\r\n } else {\r\n this.logout();\r\n }\r\n return user;\r\n }),\r\n finalize(() => this.isLoadingSubject.next(false))\r\n );\r\n }\r\n\r\n // need create new user then login\r\n registration(user: UserModel): Observable {\r\n this.isLoadingSubject.next(true);\r\n return this.authHttpService.createUser(user).pipe(\r\n map(() => {\r\n this.isLoadingSubject.next(false);\r\n }),\r\n switchMap(() => this.login(user.email, user.password)),\r\n catchError((err) => {\r\n console.error('err', err);\r\n return of(undefined);\r\n }),\r\n finalize(() => this.isLoadingSubject.next(false))\r\n );\r\n }\r\n\r\n forgotPassword(email: string): Observable {\r\n this.isLoadingSubject.next(true);\r\n return this.authHttpService\r\n .forgotPassword(email)\r\n .pipe(finalize(() => this.isLoadingSubject.next(false)));\r\n }\r\n\r\n // private methods\r\n private setAuthFromLocalStorage(auth: AuthModel): boolean {\r\n // store auth accessToken/refreshToken/epiresIn in local storage to keep user logged in between page refreshes\r\n if (auth && auth.accessToken) {\r\n localStorage.setItem(this.authLocalStorageToken, JSON.stringify(auth));\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private getAuthFromLocalStorage(): AuthModel {\r\n try {\r\n const authData = JSON.parse(\r\n localStorage.getItem(this.authLocalStorageToken)\r\n );\r\n return authData;\r\n } catch (error) {\r\n console.error(error);\r\n return undefined;\r\n }\r\n }\r\n\r\n beautifyPrivileges = function (data) {\r\n this.Role = function (_id, _name) {\r\n const vm = this;\r\n vm.id = _id;\r\n vm.name = _name;\r\n }\r\n\r\n this.Privilege = function (_id, _name) {\r\n const vm = this;\r\n vm.id = _id;\r\n vm.name = _name;\r\n }\r\n\r\n this.Entity = function (_id, _name) {\r\n const vm = this;\r\n vm.id = _id;\r\n vm.name = _name;\r\n vm.privileges = {};\r\n }\r\n\r\n this.ViewEntity = function (_key, _value) {\r\n const vm = this;\r\n vm.key = _key;\r\n vm.value = _value;\r\n }\r\n let bData = {\r\n roles: {},\r\n entities: {},\r\n tabs:{},\r\n viewEntities: {}\r\n };\r\n for (let i in data) {\r\n if (data.hasOwnProperty(i)) {\r\n bData.roles[data[i].RoleId] = new this.Role(data[i].RoleId, data[i].RoleName);\r\n for (let j = 0; j < data[i].Entity.length; j++) {\r\n let entity = data[i].Entity[j];\r\n bData.entities[entity.EntityName] = new this.Entity(entity.EntityId, entity.EntityName);\r\n for (let k = 0; k < entity.Privileges.length; k++) {\r\n let privilege = entity.Privileges[k];\r\n bData.entities[entity.EntityName].privileges[privilege.PrivilegeName]\r\n = new this.Privilege(privilege.PrivilegesId, privilege.PrivilegeName);\r\n }\r\n }\r\n if(data[i].Tab && data[i].Tab.length>0){\r\n for (let j = 0; j < data[i].Tab.length; j++) {\r\n let tab = data[i].Tab[j];\r\n bData.tabs[tab.TabId] = new this.Entity(tab.TabId, tab.TabName);\r\n for (let k = 0; k < tab.Privileges.length; k++) {\r\n let privileges = tab.Privileges[k];\r\n bData.tabs[tab.TabId].privileges[privileges.PrivilegeName] \r\n = new this.Privilege(privileges.PrivilegesId, privileges.PrivilegeName);\r\n }\r\n }\r\n }\r\n if (data[i].ViewEntities && data[i].ViewEntities.length > 0) {\r\n for (let j = 0; j < data[i].ViewEntities.length; j++) {\r\n let viewEntity = data[i].ViewEntities[j];\r\n bData.viewEntities[viewEntity.Key] = new this.ViewEntity(viewEntity.Key, viewEntity.Value);\r\n }\r\n }\r\n }\r\n }\r\n return bData;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n }\r\n}\r\n","// France\r\nexport const locale = {\r\n lang: 'fr',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'choisissez votre langue',\r\n },\r\n MENU: {\r\n NEW: 'Nouveau',\r\n ACTIONS: 'Actes',\r\n CREATE_POST: 'Créer un nouveau Post',\r\n PAGES: 'Pages',\r\n FEATURES: 'Fonctionnalités',\r\n APPS: 'Applications',\r\n DASHBOARD: 'Tableau de Bord',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Ou',\r\n SUBMIT_BUTTON: 'Soumettre',\r\n NO_ACCOUNT: 'Ne pas avoir de compte?',\r\n SIGNUP_BUTTON: 'Registre',\r\n FORGOT_BUTTON: 'Mot de passe oublié',\r\n BACK_BUTTON: 'Back',\r\n PRIVACY: 'Privacy',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contact',\r\n },\r\n LOGIN: {\r\n TITLE: 'Créer un compte',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Mot de passe',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Nom d\\'utilisateur'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} n\\'est pas valide',\r\n REQUIRED: '{{name}} est requis',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Nombre d\\'enregistrements sélectionnés: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'éCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Les clients',\r\n CUSTOMERS_LIST: 'Liste des clients',\r\n NEW_CUSTOMER: 'Nouveau client',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Suppression du client',\r\n DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement ce client?',\r\n WAIT_DESCRIPTION: 'Le client est en train de supprimer ...',\r\n MESSAGE: 'Le client a été supprimé'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Supprimer les clients',\r\n DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement les clients sélectionnés?',\r\n WAIT_DESCRIPTION: 'Les clients suppriment ...',\r\n MESSAGE: 'Les clients sélectionnés ont été supprimés'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Le statut a été mis à jour pour les clients sélectionnés',\r\n MESSAGE: 'Le statut des clients sélectionnés a été mis à jour avec succès'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Le client a été mis à jour',\r\n ADD_MESSAGE: 'Le client a été créé'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// China\r\nexport const locale = {\r\n lang: 'ch',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: '选择你的语言',\r\n },\r\n MENU: {\r\n NEW: '新',\r\n ACTIONS: '行动',\r\n CREATE_POST: '创建新帖子',\r\n PAGES: 'Pages',\r\n FEATURES: '特征',\r\n APPS: '应用',\r\n DASHBOARD: '仪表板',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: '要么',\r\n SUBMIT_BUTTON: '提交',\r\n NO_ACCOUNT: '没有账号?',\r\n SIGNUP_BUTTON: '注册',\r\n FORGOT_BUTTON: '忘记密码',\r\n BACK_BUTTON: '背部',\r\n PRIVACY: '隐私',\r\n LEGAL: '法律',\r\n CONTACT: '联系',\r\n },\r\n LOGIN: {\r\n TITLE: '创建帐号',\r\n BUTTON: '签到',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: '用戶名'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: '顾客',\r\n CUSTOMERS_LIST: '客户名单',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { SplashScreenService } from './splash-screen.service';\r\n\r\n@Component({\r\n selector: 'app-splash-screen',\r\n templateUrl: './splash-screen.component.html',\r\n styleUrls: ['./splash-screen.component.scss'],\r\n})\r\nexport class SplashScreenComponent implements OnInit {\r\n @ViewChild('splashScreen', { static: true }) splashScreen: ElementRef;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private splashScreenService: SplashScreenService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.splashScreenService.init(this.splashScreen);\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfig } from './app.config';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JsonAppConfigService extends AppConfig {\r\n\r\n constructor(private httpClient: HttpClient) {\r\n super();\r\n }\r\n\r\n load() {\r\n return this.httpClient.get('app.config.json')\r\n .toPromise()\r\n .then(data => {\r\n this.backendUrl = data.backendUrl;\r\n this.authUrl = data.authUrl;\r\n this.baseUrl = data.baseUrl;\r\n this.env = data.env;\r\n this.tenant = data.tenant;\r\n this.otpexpiry = data.otpexpiry;\r\n })\r\n .catch(err => {\r\n console.error('Could not load configuration');\r\n });\r\n }\r\n}\r\n","// DEVELOPED BY TAHA HUSSAIN\r\nimport { AppError } from './app-error';\r\n\r\nexport class NotFoundError extends AppError{\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n/*\r\n * Divide the value by given arg and perform ceiling operation\r\n * Takes a divider argument that defaults to 1.\r\n * Usage:\r\n * value | divideBy:divider\r\n * Example:\r\n * {{ 20 | divideBy:10 }}\r\n * formats to: 20\r\n*/\r\n@Pipe({name: 'divideBy'})\r\nexport class DivideByPipe implements PipeTransform {\r\n transform(value: number, divider?: number): number {\r\n divider = isNaN(divider) ? 1 : divider;\r\n return Math.ceil(value / divider);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class CacheService {\r\n\r\n private static data = {};\r\n\r\n public static get(key: string) {\r\n return CacheService.data[key] || null;\r\n }\r\n\r\n public static set(key: string, value: any) {\r\n CacheService.data[key] = value;\r\n }\r\n\r\n public static delete(key: string) {\r\n CacheService.data[key] = undefined;\r\n }\r\n\r\n public static deleteAll() {\r\n CacheService.data = {};\r\n }\r\n\r\n\r\n}\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\n\r\n@Directive({\r\n selector: `button[mat-button][loading], button[mat-raised-button][loading], button[mat-icon-button][loading],\r\n button[mat-fab][loading], button[mat-mini-fab][loading], button[mat-stroked-button][loading],\r\n button[mat-flat-button][loading]`,\r\n})\r\nexport class MatButtonLoadingDirective implements OnChanges {\r\n private spinnerFactory: ComponentFactory;\r\n private spinner: ComponentRef;\r\n\r\n @Input()\r\n loading: boolean;\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n color: ThemePalette;\r\n\r\n constructor(\r\n private matButton: MatButton,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private renderer: Renderer2\r\n ) {\r\n this.spinnerFactory = this.componentFactoryResolver.resolveComponentFactory(MatProgressSpinner);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!changes.loading) {\r\n return;\r\n }\r\n\r\n if (changes.loading.currentValue) {\r\n this.matButton._elementRef.nativeElement.classList.add('mat-loading');\r\n this.matButton.disabled = true;\r\n this.createSpinner();\r\n } else if (!changes.loading.firstChange) {\r\n this.matButton._elementRef.nativeElement.classList.remove('mat-loading');\r\n this.matButton.disabled = this.disabled;\r\n this.destroySpinner();\r\n }\r\n }\r\n\r\n private createSpinner(): void {\r\n if (!this.spinner) {\r\n this.spinner = this.viewContainerRef.createComponent(this.spinnerFactory);\r\n this.spinner.instance.color = this.color;\r\n this.spinner.instance.diameter = 20;\r\n this.spinner.instance.mode = 'indeterminate';\r\n this.renderer.appendChild(this.matButton._elementRef.nativeElement, this.spinner.instance._elementRef.nativeElement);\r\n }\r\n }\r\n\r\n private destroySpinner(): void {\r\n if (this.spinner) {\r\n this.spinner.destroy();\r\n this.spinner = null;\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n appVersion: 'v713demo2',\r\n USERDATA_KEY: 'authf649fc9a5f55',\r\n isMockEnabled: true,\r\n apiUrl: 'api'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","// DEVELOPED BY TAHA HUSSAIN\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DataService } from './data.service';\r\nimport { AppConfig } from './config/app.config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class TenantFieldSetupService extends DataService{\r\n\r\n constructor(appConfig:AppConfig,http: HttpClient) {\r\n super(appConfig,http);\r\n }\r\n}\r\n","// DEVELOPED BY TAHA HUSSAIN\r\nimport { BadInput } from './app-error-handler/bad-input';\r\nimport { NotFoundError } from './app-error-handler/not-found-error';\r\nimport { AppError } from './app-error-handler/app-error';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, pipe } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { catchError } from 'rxjs/operators';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/Rx';\r\nimport { GridDataResult } from '@progress/kendo-angular-grid';\r\nimport { toDataSourceRequestString } from '@progress/kendo-data-query';\r\nimport { tap } from 'rxjs/operators/tap';\r\nimport { AppConfig } from './config/app.config';\r\n\r\nconst HttpFormDataOptions = {\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n headers: new HttpHeaders({\r\n // 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'\r\n // Authorization:\r\n }),\r\n};\r\n\r\n// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\r\n// 'Accept': '*/*',\r\n// 'Accept-Language': 'en-US,en;q=0.9,tr;q=0.8',\r\n// 'Access-Control-Allow-Origin': '*',\r\n// \"Access-Control-Allow-Methods\": \"GET,HEAD,OPTIONS,POST,PUT\",\r\n// \"Access-Control-Allow-Headers\": \"Origin, X-Requested-With, Content-Type, Accept, Authorization\"\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DataService {\r\n private url: string;\r\n private baseUrl: string;\r\n private authUrl: string;\r\n private backendWebUrl: string;\r\n constructor(appConfig:AppConfig, private http: HttpClient) { \r\n this.url = appConfig.backendUrl;\r\n this.baseUrl = appConfig.baseUrl;\r\n this.authUrl = appConfig.authUrl;\r\n this.backendWebUrl = appConfig.backendUrl;\r\n }\r\n\r\n postDataWithParam(body) {\r\n // var body =\r\n // `username=`+params.email+`&`+\r\n // `password=`+params.password+`&` +\r\n // `grant_type=password&` +\r\n // `client_id=AngularJSAppFinanceDev&`+\r\n // `client_secret=AngularJSsecret`;\r\n\r\n return this.http\r\n .post(this.authUrl, body)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n // putDataWithParam(body) {\r\n\r\n // return this.http.put(this.authUrl, body)\r\n // .pipe(map((response: any) => response))\r\n // .pipe(catchError(this.handleError))\r\n // }\r\n\r\n putDataWithParamAuth(action:string,resource:any) {\r\n return this.http.put(this.baseUrl+action, resource)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError))\r\n}\r\n\r\nputByActionAuth(action:string,resource:any) {\r\n return this.http.put(this.baseUrl+action, resource)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError))\r\n}\r\n\r\n getDataByParam(entity: string, state: any): Observable {\r\n \r\n var queryStr = `${toDataSourceRequestString(state)}`;\r\n /// queryStr=\"page=2&pageSize=10&filter=(RequestType~eq~'Corporate%20Registration%20Request'~and~RequestStatus~eq~'New'~or~RequestStatus~eq~'Rejected')&sort=CreatedDate-desc\";\r\n console.log(queryStr);\r\n \r\n // const queryStr = this.stateConvertToQueryString(state);\r\n // if(entity == \"CustomerMaster\")\r\n // {\r\n // return this.http\r\n // .get(`${this.backendWebUrl}${entity}?${queryStr}`)\r\n // .pipe(\r\n // map(response => ({\r\n // data: response['Data'],\r\n // total: response['Total'],\r\n // errors: response['Errors'],\r\n // aggregateResults: response['AggregateResults'],\r\n // })),\r\n // tap((ex) => {\r\n // // console.log(ex); \r\n // }\r\n // )\r\n // );\r\n // }\r\n // else\r\n // {\r\n // console.log(\"query string: \", state)\r\n return this.http\r\n .get(`${this.url}${entity}?${queryStr}`)\r\n .pipe(\r\n map(response => ({\r\n data: response['Data'],\r\n total: response['Total'],\r\n errors: response['Errors'],\r\n aggregateResults: response['AggregateResults'],\r\n })),\r\n tap((ex) => {\r\n // console.log(ex); \r\n }\r\n )\r\n );\r\n // }\r\n }\r\n\r\n stateConvertToQueryString(state) {\r\n if (state.skip > 0) {\r\n return (\r\n \"take=\" +\r\n state.take +\r\n \"&page=\" +\r\n (state.skip / state.take + 1) +\r\n \"&skip=\" +\r\n state.skip +\r\n \"&pageSize=\" +\r\n state.take\r\n );\r\n } else {\r\n return (\r\n \"take=\" +\r\n state.take +\r\n \"&page=1&skip=\" +\r\n state.skip +\r\n \"&pageSize=\" +\r\n state.take\r\n );\r\n }\r\n }\r\n postDataByParam(entity: string, state: any, argument : any): Observable {\r\n const queryStr = `${toDataSourceRequestString(state)}`;\r\n console.log(\"query string: \", state)\r\n return this.http\r\n .put(this.url + entity + '?' + queryStr, argument)\r\n .pipe(\r\n map(response => ({\r\n data: response['Data'],\r\n total: response['Total'],\r\n errors: response['Errors'],\r\n aggregateResults: response['AggregateResults'],\r\n })),\r\n tap((ex) => {\r\n }\r\n )\r\n );\r\n }\r\n getAll() {\r\n return this.http\r\n .get(this.url)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n // .map(response => response.json())\r\n // .catch(this.handleError);\r\n }\r\n\r\n getByAction(action: string) {\r\n return this.http\r\n .get(this.url + action)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n getByWebAction(action: string) {\r\n return this.http\r\n .get(this.backendWebUrl + action)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n postByAction(action: string, resource: any) {\r\n return this.http\r\n .post(this.url + action, resource)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n postByWebAction(action:string,resource:any) {\r\n return this.http.post(this.backendWebUrl+action, resource)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError))\r\n }\r\n\r\n putByAction(action:string,resource:any) {\r\n return this.http.put(this.url+action, resource)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n putByActionPDF(action:string,resource:any) {\r\n return this.http.put(this.url+action, resource,{responseType:'arraybuffer'})\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n putByWebAction(action: string, resource: any) {\r\n return this.http\r\n .put(this.backendWebUrl + action, resource)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n create(resource) {\r\n return this.http\r\n .post(this.url, JSON.stringify(resource))\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n // .map(response => response.json())\r\n // .catch(this.handleError);\r\n }\r\n\r\n update(resource) {\r\n return this.http\r\n .patch(this.url + \"/\" + resource.id, JSON.stringify({ isRead: true }))\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n // .map(response => response.json())\r\n // .catch(this.handleError);\r\n }\r\n\r\n delete(id) {\r\n return this.http\r\n .delete(this.url + \"/\" + id)\r\n .pipe(map((response: any) => response))\r\n .pipe(catchError(this.handleError));\r\n // .map(response => response.json())\r\n // .catch(this.handleError);\r\n }\r\n\r\n private handleError(error: Response) {\r\n if (error.status === 400)\r\n return Observable.throw(new BadInput(error.json()));\r\n\r\n if (error.status === 404) return Observable.throw(new NotFoundError());\r\n\r\n return Observable.throw(new AppError(error));\r\n }\r\n}\r\n","export class AppConfig {\r\n public backendUrl: string;\r\n public backendWebUrl: string;\r\n public authUrl: string;\r\n public baseUrl: string;\r\n public env: string = '';\r\n public tenant:string='';\r\n public otpexpiry:number;\r\n}\r\n","// #fake-start#\r\n// export { AuthHTTPService } from './fake/auth-fake-http.service'; // You have to comment this, when your real back-end is done\r\n// #fake-end#\r\n\r\n// #real-start#\r\nexport { AuthHTTPService } from './auth-http.service'; // You have to uncomment this, when your real back-end is done\r\n// #real-end#\r\n","import { ElementRef, Injectable } from '@angular/core';\r\nimport { animate, AnimationBuilder, style } from '@angular/animations';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SplashScreenService {\r\n // Private properties\r\n private el: ElementRef;\r\n private stopped: boolean;\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param animationBuilder: AnimationBuilder\r\n */\r\n constructor(private animationBuilder: AnimationBuilder) {}\r\n\r\n /**\r\n * Init\r\n *\r\n * @param element: ElementRef\r\n */\r\n init(element: ElementRef) {\r\n this.el = element;\r\n }\r\n\r\n /**\r\n * Hide\r\n */\r\n hide() {\r\n if (this.stopped || !this.el) {\r\n return;\r\n }\r\n\r\n const player = this.animationBuilder\r\n .build([style({ opacity: '1' }), animate(800, style({ opacity: '0' }))])\r\n .create(this.el.nativeElement);\r\n\r\n player.onDone(() => {\r\n if (typeof this.el.nativeElement.remove === 'function') {\r\n this.el.nativeElement.remove();\r\n } else {\r\n this.el.nativeElement.style.display = 'none !important';\r\n }\r\n this.stopped = true;\r\n });\r\n\r\n setTimeout(() => player.play(), 100);\r\n }\r\n}\r\n","import { F } from '@angular/cdk/keycodes';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { MatButtonLoadingDirective } from './directives/mat-button-loading/mat-button-loading.directive';\r\nimport { DivideByPipe } from './pipes/divideBy.pipe';\r\nimport { FirstLetterPipe } from './pipes/first-letter.pipe';\r\nimport { SafePipe } from './pipes/safe.pipe';\r\nimport { AppConfig } from './services/config/app.config';\r\nimport { JsonAppConfigService } from './services/config/json-app-config.service';\r\nimport { BasicAuthInterceptor } from './services/interceptors/basic-auth.interceptor';\r\nimport { ErrorInterceptor } from './services/interceptors/error.interceptor';\r\n\r\nfunction initializerFn(jsonAppConfig: JsonAppConfigService) {\r\n return () => {\r\n return jsonAppConfig.load();\r\n };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n FirstLetterPipe,\r\n SafePipe,\r\n DivideByPipe,\r\n MatButtonLoadingDirective\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n FirstLetterPipe,\r\n SafePipe,\r\n DivideByPipe,\r\n MatButtonLoadingDirective\r\n ],\r\n providers: [\r\n HttpClientModule,\r\n { provide: HTTP_INTERCEPTORS, useClass: BasicAuthInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n {\r\n provide: AppConfig,\r\n deps: [HttpClient],\r\n useExisting: JsonAppConfigService\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [JsonAppConfigService],\r\n useFactory: initializerFn\r\n }\r\n ]\r\n})\r\nexport class CoreModule { }\r\n","// Japan\r\nexport const locale = {\r\n lang: 'jp',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'あなたが使う言語を選んでください',\r\n },\r\n MENU: {\r\n NEW: '新しい',\r\n ACTIONS: '行動',\r\n CREATE_POST: '新しい投稿を作成',\r\n PAGES: 'Pages',\r\n FEATURES: '特徴',\r\n APPS: 'アプリ',\r\n DASHBOARD: 'ダッシュボード',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'または',\r\n SUBMIT_BUTTON: '提出する',\r\n NO_ACCOUNT: 'アカウントを持っていない?',\r\n SIGNUP_BUTTON: 'サインアップ',\r\n FORGOT_BUTTON: 'パスワードをお忘れですか',\r\n BACK_BUTTON: 'バック',\r\n PRIVACY: 'プライバシー',\r\n LEGAL: '法的',\r\n CONTACT: '接触',\r\n },\r\n LOGIN: {\r\n TITLE: 'Create Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'ユーザー名'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SplashScreenComponent } from './splash-screen.component';\r\n\r\n@NgModule({\r\n declarations: [SplashScreenComponent],\r\n imports: [CommonModule],\r\n exports: [SplashScreenComponent],\r\n})\r\nexport class SplashScreenModule {}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { TranslationService } from './modules/i18n/translation.service';\r\n// language list\r\nimport { locale as enLang } from './modules/i18n/vocabs/en';\r\nimport { locale as chLang } from './modules/i18n/vocabs/ch';\r\nimport { locale as esLang } from './modules/i18n/vocabs/es';\r\nimport { locale as jpLang } from './modules/i18n/vocabs/jp';\r\nimport { locale as deLang } from './modules/i18n/vocabs/de';\r\nimport { locale as frLang } from './modules/i18n/vocabs/fr';\r\nimport { SplashScreenService } from './_metronic/partials/layout/splash-screen/splash-screen.service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'body[root]',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n constructor(\r\n private translationService: TranslationService,\r\n private splashScreenService: SplashScreenService,\r\n private router: Router,private ngxService: NgxUiLoaderService\r\n ) {\r\n // register translations\r\n this.translationService.loadTranslations(\r\n enLang,\r\n chLang,\r\n esLang,\r\n jpLang,\r\n deLang,\r\n frLang\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n const routerSubscription = this.router.events.subscribe((event) => {\r\n this.ngxService.start();\r\n if (event instanceof NavigationEnd) {\r\n // hide splash screen\r\n this.splashScreenService.hide();\r\n\r\n // scroll to top on every route change\r\n window.scrollTo(0, 0);\r\n\r\n // to display back the body content\r\n setTimeout(() => {\r\n document.body.classList.add('page-loaded');\r\n this.ngxService.stop();\r\n }, 500);\r\n }\r\n });\r\n this.unsubscribe.push(routerSubscription);\r\n this.ngxService.stop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n }\r\n}\r\n","\r\n\r\n\r\n","// USA\r\nexport const locale = {\r\n lang: 'en',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Select your language',\r\n },\r\n MENU: {\r\n NEW: 'new',\r\n ACTIONS: 'Actions',\r\n CREATE_POST: 'Create New Post',\r\n PAGES: 'Pages',\r\n FEATURES: 'Features',\r\n APPS: 'Apps',\r\n DASHBOARD: 'Home',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Or',\r\n SUBMIT_BUTTON: 'Submit',\r\n NO_ACCOUNT: 'Don\\'t have an account?',\r\n SIGNUP_BUTTON: 'Register',\r\n FORGOT_BUTTON: 'Forgot Password',\r\n BACK_BUTTON: 'Back',\r\n PRIVACY: 'Privacy',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contact',\r\n },\r\n LOGIN: {\r\n TITLE: 'Login Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Username'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// DEVELOPED BY TAHA HUSSAIN\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n // this.authenticationService.logout();\r\n // location.reload(true);\r\n }\r\n \r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n}","import { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { InlineSVGModule } from 'ng-inline-svg';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { AuthService } from './modules/auth/_services/auth.service';\r\nimport { environment } from '../environments/environment';\r\n// Highlight JS\r\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\r\nimport highlight from 'highlight.js/lib/highlight';\r\nimport xml from 'highlight.js/lib/languages/xml';\r\nimport json from 'highlight.js/lib/languages/json';\r\nimport scss from 'highlight.js/lib/languages/scss';\r\nimport typescript from 'highlight.js/lib/languages/typescript';\r\nimport { SplashScreenModule } from './_metronic/partials/layout/splash-screen/splash-screen.module';\r\nimport { CoreModule } from 'core';\r\nimport { NgxUiLoaderModule } from 'ngx-ui-loader';\r\n\r\n\r\nfunction appInitializer(authService: AuthService) {\r\n return () => {\r\n return new Promise((resolve) => {\r\n authService.getUserByToken().subscribe().add(resolve);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Import specific languages to avoid importing everything\r\n * The following will lazy load highlight.js core script (~9.6KB) + the selected languages bundle (each lang. ~1kb)\r\n */\r\nexport function getHighlightLanguages() {\r\n return [\r\n { name: 'typescript', func: typescript },\r\n { name: 'scss', func: scss },\r\n { name: 'xml', func: xml },\r\n { name: 'json', func: json },\r\n ];\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n CoreModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n SplashScreenModule,\r\n TranslateModule.forRoot(),\r\n HttpClientModule,\r\n HighlightModule,\r\n ClipboardModule,\r\n AppRoutingModule,\r\n InlineSVGModule.forRoot(),\r\n NgbModule,NgxUiLoaderModule\r\n ],\r\n providers: [\r\n // {\r\n // provide: APP_INITIALIZER,\r\n // useFactory: appInitializer,\r\n // multi: true,\r\n // deps: [AuthService],\r\n // },\r\n {\r\n provide: HIGHLIGHT_OPTIONS,\r\n useValue: {\r\n languages: getHighlightLanguages,\r\n },\r\n },\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CacheService } from 'core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class TmxUtilityService {\r\n checkTabPermission(tab) {\r\n var EntityId = 0;\r\n var EntityObj = {};\r\n var obj = JSON.parse(localStorage.getItem('LoggedInUserPrivileges')).tabs;\r\n //var TabEntityMapping = CacheService.get('TabEntityMapping');\r\n \r\n\r\n for (var property in obj) {\r\n if (obj[property].id == tab.TabId) {\r\n EntityObj = obj[property];\r\n if (EntityObj) {\r\n return EntityObj['privileges'].hasOwnProperty('View');\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n checkPermission(entity, previlegeName) {\r\n const alwaysAllowedMenus = ['ProfileLink', 'logout'];\r\n if (alwaysAllowedMenus.indexOf(entity) > -1) {\r\n return true;\r\n }\r\n if (!previlegeName) { // If previlege name is not defined then check view previlege\r\n previlegeName = 'View';\r\n }\r\n const checkEntity = JSON.parse(localStorage.getItem('LoggedInUserPrivileges')).entities[entity];\r\n if (checkEntity) {\r\n return checkEntity.privileges.hasOwnProperty(previlegeName); //Check if key with the previlegeName is there in privileges object\r\n }\r\n return false;\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class EncryptionService {\r\n constructor() { }\r\n //The set method is use for encrypt the value.\r\n encrypt(_keys, _iv, _value){\r\n var key = CryptoJS.enc.Utf8.parse(_keys);\r\n var iv = CryptoJS.enc.Utf8.parse(_iv);\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(_value.toString()), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n\r\n return encrypted.toString();\r\n }\r\n\r\n //The get method is use for decrypt the value.\r\n decrypt(_keys, _iv, _value){\r\n var key = CryptoJS.enc.Utf8.parse(_keys);\r\n var iv = CryptoJS.enc.Utf8.parse(_iv);\r\n var decrypted = CryptoJS.AES.decrypt(_value, key, {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8);\r\n }\r\n}","// DEVELOPED BY TAHA HUSSAIN\r\nexport class AppError {\r\n constructor(public originalError?: any){}\r\n}","// Localization is based on '@ngx-translate/core';\r\n// Please be familiar with official documentations first => https://github.com/ngx-translate/core\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface Locale {\r\n lang: string;\r\n data: any;\r\n}\r\n\r\nconst LOCALIZATION_LOCAL_STORAGE_KEY = 'language';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslationService {\r\n // Private properties\r\n private langIds: any = [];\r\n\r\n constructor(private translate: TranslateService) {\r\n // add new langIds to the list\r\n this.translate.addLangs(['en']);\r\n\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n this.translate.setDefaultLang('en');\r\n }\r\n\r\n loadTranslations(...args: Locale[]): void {\r\n const locales = [...args];\r\n\r\n locales.forEach((locale) => {\r\n // use setTranslation() with the third argument set to true\r\n // to append translations instead of replacing them\r\n this.translate.setTranslation(locale.lang, locale.data, true);\r\n\r\n this.langIds.push(locale.lang);\r\n });\r\n\r\n // add new languages to the list\r\n this.translate.addLangs(this.langIds);\r\n }\r\n\r\n setLanguage(lang) {\r\n if (lang) {\r\n this.translate.use(this.translate.getDefaultLang());\r\n this.translate.use(lang);\r\n localStorage.setItem(LOCALIZATION_LOCAL_STORAGE_KEY, lang);\r\n }\r\n }\r\n\r\n /**\r\n * Returns selected language\r\n */\r\n getSelectedLanguage(): any {\r\n return (\r\n localStorage.getItem(LOCALIZATION_LOCAL_STORAGE_KEY) ||\r\n this.translate.getDefaultLang()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as _ from 'lodash'; \r\nimport { DataService } from './data.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppConfig } from './config/app.config';\r\nimport { of } from 'rxjs';\r\nimport { CacheService } from './cache.service';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nconst allowedStates = ['private.dashboard', 'private.logout', 'private.profilelink', 'private.profilelink.edit'];\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class PrivilegesService extends DataService {\r\n\r\n constructor(appConfig: AppConfig, http: HttpClient,public ngxService:NgxUiLoaderService) {\r\n super(appConfig, http);\r\n }\r\n \r\n CheckStatePrevilege = function (stateName) {\r\n \r\n stateName = stateName.toLowerCase();\r\n return parseAndCheckPrevilege();\r\n\r\n function parseAndCheckPrevilege() {\r\n if (stateName.endsWith('.view')) { // remove the view part from state name because it comes from menu link and not from state names\r\n stateName = splitString(stateName, stateName.lastIndexOf('.view'))[0];\r\n }\r\n if (stateName.startsWith('public')) {\r\n return true;\r\n }\r\n if (allowedStates.indexOf(stateName) > -1) {\r\n return true;\r\n }\r\n const stateParts = PartitionStates();\r\n const filteredLoggedInPrevileges = FilterPrevilegeByEntityName(stateParts[0]);\r\n\r\n if (!filteredLoggedInPrevileges) { // If previlege for entity is not found\r\n return false;\r\n }\r\n\r\n if (stateParts.length === 1) { // .Add and .Edit is not in state name\r\n //View is already removed from state name so if \r\n //.view comes in the state or not it is treated the same\r\n return CheckPrevilegeInEntity(filteredLoggedInPrevileges, 'View');\r\n }\r\n else if (stateParts[stateParts.length - 1].toLowerCase().endsWith('add')) {\r\n return CheckPrevilegeInEntity(filteredLoggedInPrevileges, 'Create');\r\n }\r\n else if (stateParts[stateParts.length - 1].toLowerCase().endsWith('edit')) {\r\n return CheckPrevilegeInEntity(filteredLoggedInPrevileges, 'Edit');\r\n }\r\n \r\n return false;\r\n }\r\n function PartitionStates() {\r\n if (stateName.lastIndexOf('.') < 0) {\r\n return [stateName];\r\n }\r\n let splitStates = [stateName];\r\n if (stateName.endsWith('.add')) {\r\n splitStates = splitString(stateName, stateName.lastIndexOf('.add'));\r\n } else if (stateName.endsWith('.edit')) {\r\n splitStates = splitString(stateName, stateName.lastIndexOf('.edit'));\r\n }\r\n return splitStates;\r\n }\r\n\r\n \r\n\r\n function FilterPrevilegeByEntityName(entityName) {\r\n const userPrevileges = JSON.parse(localStorage.getItem('LoggedInUserPrivileges'));\r\n if (userPrevileges) {\r\n const actualName = Object.keys(userPrevileges.entities).find(function (x) { return x.toLowerCase() === entityName; })\r\n return userPrevileges.entities[actualName];\r\n }\r\n return null;\r\n };\r\n function CheckPrevilegeInEntity(entityPrevilegeItem, previlegeName) {\r\n if (entityPrevilegeItem) {\r\n return entityPrevilegeItem.privileges.hasOwnProperty(previlegeName); \r\n // Check if key with the previlegeName is there in privileges object\r\n }\r\n return false;\r\n };\r\n function splitString(stringObj, index) {\r\n return [stringObj.substring(0, index), stringObj.substring(index)];\r\n };\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { UserModel } from '../../_models/user.model';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { AuthModel } from '../../_models/auth.model';\r\n\r\nconst API_USERS_URL = `${environment.apiUrl}/users`;\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthHTTPService {\r\n constructor(private http: HttpClient) { }\r\n\r\n // public methods\r\n login(email: string, password: string): Observable {\r\n return this.http.post(API_USERS_URL, { email, password });\r\n }\r\n\r\n // CREATE => POST: add a new user to the server\r\n createUser(user: UserModel): Observable {\r\n return this.http.post(API_USERS_URL, user);\r\n }\r\n\r\n // Your server should check email => If email exists send link to the user and return true | If email doesn't exist return false\r\n forgotPassword(email: string): Observable {\r\n return this.http.post(`${API_USERS_URL}/forgot-password`, {\r\n email,\r\n });\r\n }\r\n\r\n getUserByToken(token): Observable {\r\n const httpHeaders = new HttpHeaders({\r\n Authorization: `Bearer ${token}`,\r\n });\r\n return this.http.get(`${API_USERS_URL}`, {\r\n headers: httpHeaders,\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport {\r\n DomSanitizer,\r\n SafeHtml,\r\n SafeStyle,\r\n SafeScript,\r\n SafeUrl,\r\n SafeResourceUrl,\r\n} from '@angular/platform-browser';\r\n\r\n/**\r\n * Sanitize HTML\r\n */\r\n@Pipe({\r\n name: 'safe',\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param _sanitizer: DomSanitezer\r\n */\r\n // tslint:disable-next-line\r\n constructor(protected _sanitizer: DomSanitizer) {}\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n * @param type: string\r\n */\r\n transform(\r\n value: string,\r\n type: string\r\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style':\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script':\r\n return this._sanitizer.bypassSecurityTrustScript(value);\r\n case 'url':\r\n return this._sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl':\r\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default:\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n }\r\n}\r\n","// DEVELOPED BY TAHA HUSSAIN\r\nimport { AppError } from './app-error';\r\n\r\nexport class BadInput extends AppError{ \r\n}","/*\r\n * Public API Surface of common\r\n */\r\n\r\n//Modules\r\nexport * from './lib/core.module';\r\n\r\n//Services\r\nexport * from './lib/services/interceptors/basic-auth.interceptor';\r\nexport * from './lib/services/interceptors/error.interceptor';\r\nexport * from './lib/services/config/app.config'\r\nexport * from './lib/services/config/json-app-config.service'\r\nexport * from './lib/services/data.service';\r\nexport * from './lib/services/authentication.service';\r\nexport * from './lib/services/lookup.service';\r\nexport * from './lib/services/privileges.service';\r\nexport * from './lib/services/tenantfieldsetup.service';\r\nexport * from './lib/services/tmxutility.service';\r\nexport * from './lib/services/cache.service'\r\nexport * from './lib/services/encryption.service'\r\n\r\n//Pipes\r\nexport * from './lib/pipes/first-letter.pipe';\r\nexport * from './lib/pipes/safe.pipe';\r\nexport * from './lib/pipes/divideBy.pipe';\r\n\r\n//Errors\r\nexport * from './lib/services/app-error-handler/app-error'\r\nexport * from './lib/services/app-error-handler/bad-input'\r\nexport * from './lib/services/app-error-handler/not-found-error'\r\n\r\n//Directives\r\nexport * from './lib/directives/mat-button-loading/mat-button-loading.directive'","// DEVELOPED BY TAHA HUSSAIN\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n constructor(private http: HttpClient) { }\r\n\r\n login(username: string, password: string) {\r\n return this.http.post('https://vitas-leb-uat.tlxmobility.com/auth/token', { username, password })\r\n .pipe(map(user => {\r\n // login successful if there's a user in the response\r\n if (user) {\r\n // store user details and basic auth credentials in local storage \r\n // to keep user logged in between page refreshes\r\n user.authdata = window.btoa(username + ':' + password);\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n }\r\n\r\n return user;\r\n }));\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport jwt_decode from \"jwt-decode\";\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = localStorage.getItem('UserData');\r\n const isOTPVerified = localStorage.getItem('isOTPVerified');\r\n\r\n \r\n\r\n if (currentUser && isOTPVerified && isOTPVerified == 'true') {\r\n // logged in so return true\r\n const decodedCurrentUser = JSON.parse(currentUser)\r\n if(decodedCurrentUser['CustomerTypeLkp'] == null){ // not customer user\r\n this.authService.logout();\r\n return false\r\n }\r\n let token = decodedCurrentUser['Token']\r\n const decodedToken = jwt_decode(token)\r\n const expiryTime = decodedToken['exp']\r\n const currTime = new Date().getTime() / 1000\r\n if(currTime < expiryTime)\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.authService.logout();\r\n return false;\r\n }\r\n}\r\n","// Germany\r\nexport const locale = {\r\n lang: 'de',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Wähle deine Sprache',\r\n },\r\n MENU: {\r\n NEW: 'Neu',\r\n ACTIONS: 'Aktionen',\r\n CREATE_POST: 'Erstellen Sie einen neuen Beitrag',\r\n PAGES: 'Pages',\r\n FEATURES: 'Eigenschaften',\r\n APPS: 'Apps',\r\n DASHBOARD: 'Instrumententafel'\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Oder',\r\n SUBMIT_BUTTON: 'einreichen',\r\n NO_ACCOUNT: 'Hast du kein Konto?',\r\n SIGNUP_BUTTON: 'Anmelden',\r\n FORGOT_BUTTON: 'Passwort vergessen',\r\n BACK_BUTTON: 'Zurück',\r\n PRIVACY: 'Privatsphäre',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Kontakt',\r\n },\r\n LOGIN: {\r\n TITLE: 'Create Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Nutzername'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// DEVELOPED BY TAHA HUSSAIN\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BasicAuthInterceptor implements HttpInterceptor {\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (!request.url.includes('token')) {\r\n // add authorization header with basic auth credentials if available\r\n let UserData = JSON.parse(localStorage.getItem('UserData'));\r\n if (UserData && UserData.Token) {\r\n request = request.clone({\r\n setHeaders: {\r\n 'Authorization': `Bearer ` + JSON.parse(localStorage.getItem('UserData')).Token,\r\n // 'Authorization': `Bearer ZlJYm8Bf9Egrq-tnHI61_3KyQtUCHoO0mfM7Ya8mA1cfhAzM7iU9OP9UFohSrirasVTT2SnSQc77YU4xcl5elGUSZDYLFO1Xu9lVqctNjJdVaMcOWYxLjCckoWJHs53IyiDo1fOJbgkUO4wO0zexpD6ZLjlTl5ZncaEs9UKR_4-_7i93aSmNTKzt5jhvmsJC5KDc-7VLPQeO7XXYqu0S4kqakBmRAex4rvWayAcmUBFqR-kqsyZtkS2tzaH3oE4p3kcRu1ssKP9WKLxG71Dj7yg5gkK3sqSsC2Ww3r-BjbeTVZ9zi70F1snoov_yVq249DKsHIluaMxCIFS2bHW2NDhqP6u3qhEs7nE1S3oDpOcuwjau5WrOwBdRdpEdDhmDsjcNe0mLwOYe67w2vLtL9P0CF8frtTi8qzQyF1iZ4lgdtxyC`, \r\n 'Access-Control-Allow-Origin': '*'\r\n }\r\n });\r\n }\r\n else {\r\n\r\n }\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n\r\n// import { Injectable } from '@angular/core';\r\n// import { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpResponse }\r\n// from '@angular/common/http';\r\n\r\n// import { Observable } from 'rxjs/Observable';\r\n// import 'rxjs/add/operator/do';\r\n\r\n// @Injectable()\r\n// export class BasicAuthInterceptor implements HttpInterceptor {\r\n// intercept(\r\n// req: HttpRequest,\r\n// next: HttpHandler\r\n// ): Observable> {\r\n\r\n// return next.handle(req).do(evt => {\r\n// if (evt instanceof HttpResponse) {\r\n// console.log('---> status:', evt.status);\r\n// console.log('---> filter:', req.params.get('filter'));\r\n// }\r\n// });\r\n\r\n// }\r\n// }","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './modules/auth/_services/auth.guard';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: 'auth',\r\n loadChildren: () =>\r\n import('./modules/auth/auth.module').then((m) => m.AuthModule),\r\n },\r\n {\r\n path: 'error',\r\n loadChildren: () =>\r\n import('./modules/errors/errors.module').then((m) => m.ErrorsModule),\r\n },\r\n {\r\n path: '',\r\n canActivate: [AuthGuard],\r\n loadChildren: () =>\r\n import('./pages/layout.module').then((m) => m.LayoutModule),\r\n },\r\n { path: '**', redirectTo: 'errors/404', pathMatch: 'full' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Returns only first letter of string\r\n */\r\n@Pipe({\r\n name: 'firstLetter',\r\n})\r\nexport class FirstLetterPipe implements PipeTransform {\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n return value\r\n .split(' ')\r\n .map((n) => n[0])\r\n .join('');\r\n }\r\n}\r\n","// Spain\r\nexport const locale = {\r\n lang: 'es',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Elige tu idioma',\r\n },\r\n MENU: {\r\n NEW: 'nuevo',\r\n ACTIONS: 'Comportamiento',\r\n CREATE_POST: 'Crear nueva publicación',\r\n PAGES: 'Pages',\r\n FEATURES: 'Caracteristicas',\r\n APPS: 'Aplicaciones',\r\n DASHBOARD: 'Tablero'\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'O',\r\n SUBMIT_BUTTON: 'Enviar',\r\n NO_ACCOUNT: 'No tienes una cuenta?',\r\n SIGNUP_BUTTON: 'Regístrate',\r\n FORGOT_BUTTON: 'Se te olvidó tu contraseña',\r\n BACK_BUTTON: 'Espalda',\r\n PRIVACY: 'Intimidad',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contacto',\r\n },\r\n LOGIN: {\r\n TITLE: 'Crear una cuenta',\r\n BUTTON: 'Registrarse',\r\n },\r\n FORGOT: {\r\n TITLE: 'Contraseña olvidada?',\r\n DESC: 'Ingrese su correo electrónico para restablecer su contraseña',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Usuario'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Injectable } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { DataService } from './data.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppConfig } from './config/app.config';\r\nimport { of } from 'rxjs';\r\nimport { CacheService } from './cache.service';\r\nvar TmxLookupJson = [];\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class LookupService extends DataService {\r\n lookupByType:any;\r\n lookups: any = {};\r\n flag: Boolean = false;\r\n constructor(appConfig:AppConfig,http: HttpClient) {\r\n super(appConfig,http);\r\n}\r\ngetAllLookups() {\r\n const lookups = CacheService.get('Lookups');\r\n if (lookups) {\r\n this.flag = true;\r\n return of(lookups); // creates an observable of the object\r\n }\r\n return this.getByAction('Lookup/');\r\n}\r\n saveLookups(lookups)\r\n {\r\n TmxLookupJson = lookups;\r\n this.groupLookupByType();\r\n this.LookupById(TmxLookupJson);\r\n }\r\n\r\n groupLookupByType()\r\n {\r\n this.lookupByType = _.groupBy(TmxLookupJson, 'LookupType');\r\n }\r\n\r\n getLookupByTypeAndParentId(LookupType,ParentId)\r\n {\r\n if(ParentId)\r\n {\r\n if(this.lookupByType[LookupType])\r\n {\r\n return this.lookupByType[LookupType].filter(item => {\r\n return item.ParentLookupId == ParentId;\r\n });\r\n }\r\n else\r\n {\r\n console.log(LookupType + ' LookUp does not exists');\r\n return [];\r\n }\r\n\r\n \r\n }\r\n else\r\n {\r\n if(this.lookupByType[LookupType])\r\n {\r\n return this.lookupByType[LookupType];\r\n }\r\n else\r\n {\r\n return [];\r\n }\r\n \r\n }\r\n }\r\n\r\n LookupById(array: Array) {\r\n for (let i = 0; i < array.length; i++) {\r\n const key = array[i]['LookupId']\r\n this.lookups[key] = array[i]\r\n }\r\n return this.lookups as { [key: string]: T }\r\n}\r\n\r\n getLookupById(LookupId)\r\n {\r\n return this.lookups[LookupId];\r\n }\r\n\r\n getLookupByType(LookupType)\r\n {\r\n return this.lookupByType[LookupType];\r\n }\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"]}