{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/admin/admin-routing.module.ts","webpack:///./src/app/admin/admin.component.html","webpack:///./src/app/admin/admin.component.scss","webpack:///./src/app/admin/admin.component.ts","webpack:///./src/app/admin/admin.module.ts","webpack:///./src/app/admin/edit-role-dialog.component.html","webpack:///./src/app/admin/edit-role-dialog.component.scss","webpack:///./src/app/admin/edit-role-dialog.component.ts","webpack:///./src/app/admin/edit-user-dialog.component.html","webpack:///./src/app/admin/edit-user-dialog.component.scss","webpack:///./src/app/admin/edit-user-dialog.component.ts","webpack:///./src/app/admin/role-editor.component.html","webpack:///./src/app/admin/role-editor.component.scss","webpack:///./src/app/admin/role-editor.component.ts","webpack:///./src/app/admin/role-list.component.html","webpack:///./src/app/admin/role-list.component.scss","webpack:///./src/app/admin/role-list.component.ts","webpack:///./src/app/admin/user-editor.component.html","webpack:///./src/app/admin/user-editor.component.scss","webpack:///./src/app/admin/user-editor.component.ts","webpack:///./src/app/admin/user-list.component.html","webpack:///./src/app/admin/user-list.component.scss","webpack:///./src/app/admin/user-list.component.ts","webpack:///./src/app/admin/user-password.component.html","webpack:///./src/app/admin/user-password.component.scss","webpack:///./src/app/admin/user-password.component.ts","webpack:///./src/app/admin/user-register.component.html","webpack:///./src/app/admin/user-register.component.scss","webpack:///./src/app/admin/user-register.component.ts","webpack:///./src/app/app-error.handler.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/assets/images/citroen.png","webpack:///./src/app/assets/images/dacia.png","webpack:///./src/app/assets/images/demo/banner1.png","webpack:///./src/app/assets/images/demo/banner2.png","webpack:///./src/app/assets/images/demo/banner3.png","webpack:///./src/app/assets/images/demo/banner4.png","webpack:///./src/app/assets/images/fiat.png","webpack:///./src/app/assets/images/ford.png","webpack:///./src/app/assets/images/fuso.png","webpack:///./src/app/assets/images/hyundai.png","webpack:///./src/app/assets/images/iveco.png","webpack:///./src/app/assets/images/logo-white.png","webpack:///./src/app/assets/images/man.png","webpack:///./src/app/assets/images/maxus.png","webpack:///./src/app/assets/images/maxusAstara.png","webpack:///./src/app/assets/images/mercedes.png","webpack:///./src/app/assets/images/nissan.png","webpack:///./src/app/assets/images/opel.png","webpack:///./src/app/assets/images/peugeot.png","webpack:///./src/app/assets/images/renault.png","webpack:///./src/app/assets/images/toyota.png","webpack:///./src/app/assets/images/volkswagen.png","webpack:///./src/app/components/about/about.component.html","webpack:///./src/app/components/about/about.component.scss","webpack:///./src/app/components/about/about.component.ts","webpack:///./src/app/components/auditLogin/auditLogin.component.html","webpack:///./src/app/components/auditLogin/auditLogin.component.scss","webpack:///./src/app/components/auditLogin/auditLogin.component.ts","webpack:///./src/app/components/car/car.component.html","webpack:///./src/app/components/car/car.component.scss","webpack:///./src/app/components/car/car.component.ts","webpack:///./src/app/components/catalogLink/catalogLink.component.html","webpack:///./src/app/components/catalogLink/catalogLink.component.scss","webpack:///./src/app/components/catalogLink/catalogLink.component.ts","webpack:///./src/app/components/companie/companie.component.html","webpack:///./src/app/components/companie/companie.component.scss","webpack:///./src/app/components/companie/companie.component.ts","webpack:///./src/app/components/companieReprezentari/companieReprezentari.component.ts","webpack:///./src/app/components/companieReprezentari/companiereprezentari.component.html","webpack:///./src/app/components/companieReprezentari/companiereprezentari.component.scss","webpack:///./src/app/components/configurator/configurator.component.html","webpack:///./src/app/components/configurator/configurator.component.scss","webpack:///./src/app/components/configurator/configurator.component.ts","webpack:///./src/app/components/controls/add-task-dialog.component.html","webpack:///./src/app/components/controls/add-task-dialog.component.scss","webpack:///./src/app/components/controls/add-task-dialog.component.ts","webpack:///./src/app/components/controls/banner-demo.component.html","webpack:///./src/app/components/controls/banner-demo.component.scss","webpack:///./src/app/components/controls/banner-demo.component.ts","webpack:///./src/app/components/controls/notifications-viewer.component.html","webpack:///./src/app/components/controls/notifications-viewer.component.scss","webpack:///./src/app/components/controls/notifications-viewer.component.ts","webpack:///./src/app/components/controls/selecteazaCompanie.component.html","webpack:///./src/app/components/controls/selecteazaCompanie.component.scss","webpack:///./src/app/components/controls/selecteazaCompanie.component.ts","webpack:///./src/app/components/controls/statistics-demo.component.html","webpack:///./src/app/components/controls/statistics-demo.component.scss","webpack:///./src/app/components/controls/statistics-demo.component.ts","webpack:///./src/app/components/controls/todo-demo.component.html","webpack:///./src/app/components/controls/todo-demo.component.scss","webpack:///./src/app/components/controls/todo-demo.component.ts","webpack:///./src/app/components/contulmeu/contulmeu.component.html","webpack:///./src/app/components/contulmeu/contulmeu.component.scss","webpack:///./src/app/components/contulmeu/contulmeu.component.ts","webpack:///./src/app/components/home/home.component.html","webpack:///./src/app/components/home/home.component.scss","webpack:///./src/app/components/home/home.component.ts","webpack:///./src/app/components/login/login-control.component.html","webpack:///./src/app/components/login/login-control.component.scss","webpack:///./src/app/components/login/login-control.component.ts","webpack:///./src/app/components/login/login-dialog.component.html","webpack:///./src/app/components/login/login-dialog.component.scss","webpack:///./src/app/components/login/login-dialog.component.ts","webpack:///./src/app/components/login/login.component.html","webpack:///./src/app/components/login/login.component.scss","webpack:///./src/app/components/login/login.component.ts","webpack:///./src/app/components/not-found/not-found.component.html","webpack:///./src/app/components/not-found/not-found.component.scss","webpack:///./src/app/components/not-found/not-found.component.ts","webpack:///./src/app/components/offer/offer.component.html","webpack:///./src/app/components/offer/offer.component.scss","webpack:///./src/app/components/offer/offer.component.ts","webpack:///./src/app/components/poze/poze.component.html","webpack:///./src/app/components/poze/poze.component.scss","webpack:///./src/app/components/poze/poze.component.ts","webpack:///./src/app/components/product/product.component.html","webpack:///./src/app/components/product/product.component.scss","webpack:///./src/app/components/product/product.component.ts","webpack:///./src/app/components/reprezentanti/reprezentanti.component.html","webpack:///./src/app/components/reprezentanti/reprezentanti.component.scss","webpack:///./src/app/components/reprezentanti/reprezentanti.component.ts","webpack:///./src/app/components/reprezentari/reprezentari.component.html","webpack:///./src/app/components/reprezentari/reprezentari.component.scss","webpack:///./src/app/components/reprezentari/reprezentari.component.ts","webpack:///./src/app/models/Companie.model.ts","webpack:///./src/app/models/DetaliuCircuit.model.ts","webpack:///./src/app/models/Product.model.ts","webpack:///./src/app/models/car.model.ts","webpack:///./src/app/models/catalogLink.model.ts","webpack:///./src/app/models/contulMeu.model.ts","webpack:///./src/app/models/notification.model.ts","webpack:///./src/app/models/offer.model.ts","webpack:///./src/app/models/permission.model.ts","webpack:///./src/app/models/poze.model.ts","webpack:///./src/app/models/product.model.ts","webpack:///./src/app/models/role.model.ts","webpack:///./src/app/models/user-edit.model.ts","webpack:///./src/app/models/user-login.model.ts","webpack:///./src/app/models/user.model.ts","webpack:///./src/app/modules/material.module.ts","webpack:///./src/app/pipes/group-by.pipe.ts","webpack:///./src/app/services/account-endpoint.service.ts","webpack:///./src/app/services/account.service.ts","webpack:///./src/app/services/alert.service.ts","webpack:///./src/app/services/animations.ts","webpack:///./src/app/services/app-title.service.ts","webpack:///./src/app/services/app-translation.service.ts","webpack:///./src/app/services/auth-guard.service.ts","webpack:///./src/app/services/auth.service.ts","webpack:///./src/app/services/configuration.service.ts","webpack:///./src/app/services/db-Keys.ts","webpack:///./src/app/services/endpoint-factory.service.ts","webpack:///./src/app/services/jwt-helper.ts","webpack:///./src/app/services/local-store-manager.service.ts","webpack:///./src/app/services/notification-endpoint.service.ts","webpack:///./src/app/services/notification.service.ts","webpack:///./src/app/services/utilities.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/settings.component.scss","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/settings.module.ts","webpack:///./src/app/settings/user-preferences.component.html","webpack:///./src/app/settings/user-preferences.component.scss","webpack:///./src/app/settings/user-preferences.component.ts","webpack:///./src/app/shared/app-dialog.component.html","webpack:///./src/app/shared/app-dialog.component.scss","webpack:///./src/app/shared/app-dialog.component.ts","webpack:///./src/app/shared/footer.component.html","webpack:///./src/app/shared/footer.component.scss","webpack:///./src/app/shared/footer.component.ts","webpack:///./src/app/shared/page-header.component.html","webpack:///./src/app/shared/page-header.component.scss","webpack:///./src/app/shared/page-header.component.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/theme-manager.ts","webpack:///./src/app/shared/theme-picker.component.html","webpack:///./src/app/shared/theme-picker.component.scss","webpack:///./src/app/shared/theme-picker.component.ts","webpack:///./src/app/shared/validators/equal.validator.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAES;AACc;AAEJ;AACO;AACA;AACH;AACI;AAE3D,IAAM,WAAW,GAAW;IACxB;QACI,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,+DAAc;QACzB,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sEAAiB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;YAC3G,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sEAAiB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;SAC9G;KACJ;CACJ,CAAC;AAaF;IAAA;IAAkC,CAAC;IAAtB,kBAAkB;QAX9B,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,4DAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;aACrC;YACD,OAAO,EAAE;gBACL,4DAAY;aACf;YACD,SAAS,EAAE;gBACP,kEAAW,EAAE,sEAAS;aACzB;SACJ,CAAC;OACW,kBAAkB,CAAI;IAAD,yBAAC;CAAA;AAAJ;;;;;;;;;;;;ACpC/B,sD;;;;;;;;;;;ACAA,+DAA+D,2I;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEU;AAO1C;IAAA;IAGA,CAAC;IAHY,cAAc;QAL1B,+DAAS,CAAC;YACP,QAAQ,EAAE,oBAAoB;;;SAGjC,CAAC;OACW,cAAc,CAG1B;IAAD,qBAAC;CAAA;AAH0B;;;;;;;;;;;;;ACZ3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAES;AAEc;AAEK;AAET;AACO;AACa;AACT;AACJ;AACa;AAoBvE;IAAA;IAGA,CAAC;IAHY,WAAW;QAlBvB,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,kEAAY;gBACZ,wEAAkB;aACrB;YACD,YAAY,EAAE;gBACV,+DAAc;gBACd,sEAAiB;gBACjB,mFAAuB;gBACvB,0EAAmB;gBACnB,sEAAiB;gBACjB,mFAAuB;aAC1B;YACD,eAAe,EAAE;gBACb,mFAAuB;gBACvB,mFAAuB;aAC1B;SACJ,CAAC;OACW,WAAW,CAGvB;IAAD,kBAAC;CAAA;AAHuB;;;;;;;;;;;;ACpCxB,kEAAkE,0GAA0G,0DAA0D,qDAAqD,2QAA2Q,8P;;;;;;;;;;;ACAtiB,+DAA+D,2J;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;AAE6B;AACgB;AAEhB;AAEL;AAEM;AAO9D;IAQI,iCACW,SAA4C,EACnB,IAAkD,EAC1E,cAA8B;QAF/B,cAAS,GAAT,SAAS,CAAmC;QACnB,SAAI,GAAJ,IAAI,CAA8C;QAC1E,mBAAc,GAAd,cAAc,CAAgB;IAE1C,CAAC;IATD,sBAAI,6CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,CAAC;;;OAAA;IASD,iDAAe,GAAf;QAAA,iBAEC;QADG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,cAAI,IAAI,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAA1B,CAA0B,CAAC,CAAC;IAC7E,CAAC;IAED,wCAAM,GAAN;QACI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,sBAAI,mDAAc;aAAlB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC;QAClF,CAAC;;;OAAA;IAvBD;QADC,+DAAS,CAAC,0EAAmB,CAAC;kCACnB,0EAAmB;+DAAC;IAFvB,uBAAuB;QALnC,+DAAS,CAAC;YACP,QAAQ,EAAE,sBAAsB;;;SAGnC,CAAC;QAWO,uEAAM,CAAC,iEAAe,CAAC;yCADN,8DAAY,UAEN,wEAAc;OAXjC,uBAAuB,CA0BnC;IAAD,8BAAC;CAAA;AA1BmC;;;;;;;;;;;;ACnBpC,yCAAyC,0GAA0G,sOAAsO,sI;;;;;;;;;;;ACAzX,+DAA+D,2J;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;AAE6B;AACgB;AAKf;AAO9D;IAUI,iCACW,SAAgD,EACvB,IAAmC;QAD5D,cAAS,GAAT,SAAS,CAAuC;QACvB,SAAI,GAAJ,IAAI,CAA+B;IAEvE,CAAC;IATD,sBAAI,6CAAQ;aAAZ;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC;;;OAAA;IAQD,iDAAe,GAAf;QAAA,iBAGC;QADG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,cAAI,IAAI,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAA1B,CAA0B,CAAC;IAC1E,CAAC;IAED,wCAAM,GAAN;QAEI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IArBD;QADC,+DAAS,CAAC,0EAAmB,CAAC;kCACrB,0EAAmB;6DAAC;IAHrB,uBAAuB;QALnC,+DAAS,CAAC;YACP,QAAQ,EAAE,sBAAsB;;;SAGnC,CAAC;QAaO,uEAAM,CAAC,iEAAe,CAAC;yCADN,8DAAY;OAXzB,uBAAuB,CAyBnC;IAAD,8BAAC;CAAA;AAzBmC;;;;;;;;;;;;AClBpC,gTAAgT,iCAAiC,2LAA2L,6CAA6C,6HAA6H,wCAAwC,6YAA6Y,qBAAqB,uOAAuO,wBAAwB,8QAA8Q,iBAAiB,2F;;;;;;;;;;;ACA9pD,+DAA+D,mJ;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE4B;AACF;AACkB;AAC7C;AAE2C;AACb;AACjB;AACY;AAOxD;IAmBE,6BACU,YAA0B,EAC1B,cAA8B,EAC9B,WAAwB;QAFxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QAjB1B,cAAS,GAAG,KAAK,CAAC;QAElB,gBAAW,GAAG,IAAI,4CAAO,EAAQ,CAAC;QAEjC,SAAI,GAAS,IAAI,uDAAI,EAAE,CAAC;QACxB,mBAAc,GAAiB,EAAE,CAAC;QAG3C,eAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAW3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,uEAAc,CAAa,IAAI,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAXD,sBAAI,qCAAI;aAAR;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;;;OAAA;IAWD,yCAAW,GAAX;QACE,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,kCAAI,GAAX;QAAA,iBA2BC;QA1BC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAE3D,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAC/C,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAA5B,CAA4B,EACpC,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAE1C;aACI;YACH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,CAClD,kBAAQ,IAAI,YAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAlC,CAAkC,EAC9C,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,2CAAa,GAArB;QACE,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEtC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ;YAC9C,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IAEO,+CAAiB,GAAzB,UAA0B,IAAW;QAArC,iBAmBC;QAlBC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,YAAU,IAAI,CAAC,IAAI,gCAA6B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;SACrH;aACI;YACH,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAqB,IAAI,CAAC,IAAI,8BAA2B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;SAC9H;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,KAAI,CAAC,IAAI,CAAC,IAAI,EAAnB,CAAmB,CAAC;gBACtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;SACxC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,iDAAmB,GAA3B;QAAA,iBAOC;QANC,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;aACtC,SAAS,CAAC,cAAI,IAAM,CAAC,EACpB,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,+EAA+E,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvK,CAAC,CAAC,CAAC;IACT,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,sDAAsD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxI,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,oCAAM,GAAd;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAEO,uCAAS,GAAjB;;QACE,UAAI,CAAC,mBAAmB,EAAC,MAAM,WAAI,IAAI,CAAC,cAAc,EAAE;IAC1D,CAAC;IAEO,yCAAW,GAAnB,UAAoB,SAAiB;;QACnC,IAAI,gBAAyB,CAAC;QAE9B,IAAI,CAAC,mBAAmB,CAAC,QAAQ;QAEjC,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc;aACpC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,SAAS,EAAxB,CAAwB,CAAC;QAExC,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvD,UAAI,CAAC,mBAAmB,EAAC,QAAQ,WAAI,WAAW,EAAE;aACnD;iBACI;gBACH,UAAI,CAAC,mBAAmB,EAAC,MAAM,WAAI,WAAW,EAAE;aACjD;SACF;IACH,CAAC;IAEO,uCAAS,GAAjB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;IACL,CAAC;IAEO,uCAAS,GAAjB,UAAkB,OAAe;QAAjC,iBAWC;QAXiB,yCAAe;QAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;SACzC,CAAC,CAAC;QAEH,IAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW;YAC9C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAnB,CAAmB,CAAC,EAApD,CAAoD,CAAC;YACvF,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,CAAC,mBAAmB,GAAG,IAAI,uEAAc,CAAa,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACtF,CAAC;IAED,sBAAI,+CAAc;aAAlB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC;QAChF,CAAC;;;OAAA;IAtKD;QADC,+DAAS,CAAC,MAAM,CAAC;kCACJ,qDAAM;qDAAC;IAOZ;QAAR,2DAAK,EAAE;kCAAO,uDAAI;qDAAc;IACxB;QAAR,2DAAK,EAAE;;+DAAmC;IAVhC,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;;;SAGxB,CAAC;yCAqBwB,oEAAY;YACV,wEAAc;YACjB,0DAAW;OAtBvB,mBAAmB,CAyK/B;IAAD,0BAAC;CAAA;AAzK+B;;;;;;;;;;;;ACpBhC,6RAA6R,uCAAuC,yXAAyX,qCAAqC,oFAAoF,WAAW,gKAAgK,4CAA4C,qEAAqE,kBAAkB,0KAA0K,sCAAsC,qFAAqF,iBAAiB,qPAAqP,wCAAwC,8FAA8F,wCAAwC,0NAA0N,wCAAwC,iLAAiL,qCAAqC,4KAA4K,uCAAuC,iSAAiS,2BAA2B,wL;;;;;;;;;;;ACApyF,+BAA+B,2BAA2B,2BAA2B,kBAAkB,EAAE,iCAAiC,mBAAmB,EAAE,+CAA+C,unB;;;;;;;;;;;;ACA9M;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEgE;AACM;AAEnD;AACmC;AACV;AACf;AACX;AAEM;AACe;AAQvE;IAWI,2BACY,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,QAAqB,EACrB,MAAiB;QAJjB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAa;QACrB,WAAM,GAAN,MAAM,CAAW;QAZ7B,qBAAgB,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEnE,mBAAc,GAAiB,EAAE,CAAC;QAY9B,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAE,CAAC;IAC/C,CAAC;IAED,sBAAI,6CAAc;aAAlB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC;QAClF,CAAC;;;OAAA;IAED,oCAAQ,GAAR;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,2CAAe,GAAf;QACI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAEM,uCAAW,GAAlB,UAAmB,WAAmB;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;IACzC,CAAC;IAEO,mCAAO,GAAf;QACI,2EAA2E;QAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEO,uCAAW,GAAnB,UAAoB,IAAU;QAC1B,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;aACI;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAEO,oCAAQ,GAAhB;QAAA,iBAmBC;QAlBG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE;aACvC,SAAS,CAAC,iBAAO;YACd,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAE9B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,EACD,eAAK;YACD,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAE9B,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,4DAAyD,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EACjJ,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACX,CAAC;IAEO,oCAAQ,GAAhB,UAAiB,IAAW;QAA5B,iBAaC;QAZG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mFAAuB,EACpD;YACI,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;SAC5D,CAAC,CAAC;QACP,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,cAAI;YAClC,IAAI,IAAI,IAAI,KAAI,CAAC,cAAc,EAAE;gBAC7B,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,yCAAa,GAArB,UAAsB,IAAU;QAAhC,iBAoBC;QAnBG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAU,IAAI,CAAC,IAAI,WAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxE,QAAQ,EAAE,CAAC,SAAS,CAAC;YAClB,KAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACrD,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE7B,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC/B,SAAS,CAAC,iBAAO;gBACd,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,KAAK,IAAI,EAAb,CAAa,CAAC;YAC7E,CAAC,EACD,eAAK;gBACD,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAE9B,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,4DAAyD,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EACnJ,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACX,CAAC;IA9GwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;wDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;mDAAC;IAFzB,iBAAiB;QAN7B,+DAAS,CAAC;YACP,QAAQ,EAAE,eAAe;;;YAGzB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAa4B,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACpB,6DAAW;YACb,2DAAS;OAhBpB,iBAAiB,CAgH7B;IAAD,wBAAC;CAAA;AAhH6B;;;;;;;;;;;;ACvB9B,mXAAmX,qCAAqC,oOAAoO,qCAAqC,iUAAiU,kCAAkC,yLAAyL,0CAA0C,8IAA8I,yCAAyC,kKAAkK,wCAAwC,wWAAwW,qCAAqC,oNAAoN,6CAA6C,oSAAoS,4CAA4C,oMAAoM,oDAAoD,uPAAuP,2CAA2C,yQAAyQ,wCAAwC,6NAA6N,gDAAgD,wKAAwK,6CAA6C,0KAA0K,4CAA4C,gNAAgN,yDAAyD,6MAA6M,6CAA6C,6RAA6R,kCAAkC,mQAAmQ,kBAAkB,KAAK,WAAW,mKAAmK,yCAAyC,sSAAsS,oCAAoC,gPAAgP,oCAAoC,oEAAoE,sB;;;;;;;;;;;ACA9hM,+DAA+D,mJ;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEwE;AACE;AAC7D;AAEgB;AACa;AACE;AAEhC;AAEA;AACY;AACc;AAOtE;IAiEE,6BACU,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,WAAwB;QAHxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QAjElC,cAAS,GAAG,KAAK,CAAC;QAClB,qBAAgB,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,gBAAW,GAAG,IAAI,4CAAO,EAAQ,CAAC;QAEjC,SAAI,GAAS,IAAI,uDAAI,EAAE,CAAC;QACxB,UAAK,GAAW,EAAE,CAAC;QACnB,eAAU,GAAY,KAAK,CAAC;QAGrC,eAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAwD3C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAvDD,sBAAI,yCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,sCAAK;aAAT;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,yCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,gDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,4CAAW;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,gDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,8CAAa;aAAjB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,6CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/E,CAAC;;;OAAA;IAED,sBAAI,+CAAc;aAAlB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IAED,sBAAI,8CAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,CAAC;;;OAAA;IAED,sBAAI,gDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAED,sBAAI,4CAAW;aAAf;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7C,CAAC;;;OAAA;IAWD,yCAAW,GAAX;QACE,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,yCAAW,GAAX;QACE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAEM,qCAAO,GAAd,UAAe,IAAW,EAAE,KAAc;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAO,KAAK,QAAC,CAAC;SACzB;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,uCAAS,GAAjB;QAAA,iBAiBC;QAhBC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,eAAe;YACf,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC/B,eAAe,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBAC1C,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBAC7G,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yFAAc,CAAC,aAAa,CAAC,CAAC,CAAC;aAC5E,CAAC;YACF,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,eAAe;YACf,kBAAkB;YAClB,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,EAA7C,CAA6C,CAAC,CAAC;IACtH,CAAC;IAEM,uCAAS,GAAhB,UAAiB,WAA4B;QAA5B,iDAA4B;QAC3C,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;aACI;YACH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;SACxC;QAED,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACzB,qCAAqC;YACrC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5B,QAAQ,EAAE;gBACR,eAAe,EAAE,EAAE;gBACnB,WAAW,EAAE,EAAE;gBACf,eAAe,EAAE,EAAE;aACpB;YACD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5B,qCAAqC;YACrC,2CAA2C;YAC3C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,sCAAQ,GAAhB;QACE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oCACV,IAAI;gBACX,IAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,IAAI,EAAd,CAAc,CAAC,EAAE;oBACzC,OAAK,KAAK,CAAC,OAAO,CAAC,IAAI,uDAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpC;YACH,CAAC;;YAJD,KAAiB,UAAe,EAAf,SAAI,CAAC,IAAI,CAAC,KAAK,EAAf,cAAe,EAAf,IAAe;gBAA3B,IAAI,IAAI;wBAAJ,IAAI;aAIZ;SACF;IACH,CAAC;IAEM,uCAAS,GAAhB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAEM,kCAAI,GAAX;QAAA,iBA2BC;QA1BC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAE3D,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAC/C,cAAI,IAAI,YAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAxB,CAAwB,EAChC,eAAK,IAAI,YAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;SACpC;aACI;YACH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,CAClD,kBAAQ,IAAI,YAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAA9B,CAA8B,EAC1C,eAAK,IAAI,YAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;SACpC;IACH,CAAC;IAEM,oCAAM,GAAb;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAEO,2CAAa,GAArB;QACE,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAE7C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,eAAe;YACnD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;YAC1E,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;YAClF,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,eAAe,EAAE,GAAG;SACrB,CAAC;IACJ,CAAC;IAEO,2CAAa,GAArB,UAAsB,IAAW;QAC/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,wCAAU,GAAlB,UAAmB,KAAU;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,uDAAyB,GAAjC,UAAkC,WAAiB,EAAE,UAAgB;QAArE,iBASC;QARC,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,kBAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC5H,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,iBAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;QAEhH,IAAI,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,MAAM,EAAE;YACxB,UAAU,CAAC,cAAM,YAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAA1D,CAA0D,CAAC,CAAC;SAC9E;IACH,CAAC;IAEO,4CAAc,GAAtB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,0DAA4B,GAApC;QACE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEO,sDAAwB,GAAhC;QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yFAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEO,wCAAU,GAAlB;QAAA,iBAoBC;QAnBC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC1C,SAAS,CAAC,kBAAQ;YACjB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC9B,WAAW,EAAE,KAAI,CAAC,IAAI,CAAC,WAAW;aACnC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,qCAAqC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAC3G,CAAC,EACC,eAAK;YACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,qDAAqD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1I,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACT,CAAC;IAxSD;QADC,+DAAS,CAAC,MAAM,CAAC;kCACJ,qDAAM;qDAAC;IAQZ;QAAR,2DAAK,EAAE;kCAAO,uDAAI;qDAAc;IACxB;QAAR,2DAAK,EAAE;;sDAAoB;IACnB;QAAR,2DAAK,EAAE;;2DAA6B;IAZ1B,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;;;SAGxB,CAAC;yCAmEwB,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACjB,0DAAW;OArEvB,mBAAmB,CA2S/B;IAAD,0BAAC;CAAA;AA3S+B;;;;;;;;;;;;ACxBhC,qRAAqR,uCAAuC,uWAAuW,sCAAsC,mFAAmF,cAAc,4KAA4K,yCAAyC,mFAAmF,cAAc,4KAA4K,yCAAyC,mFAAmF,cAAc,yKAAyK,sCAAsC,mFAAmF,WAAW,8QAA8Q,wCAAwC,qGAAqG,wCAAwC,gMAAgM,qCAAqC,mJAAmJ,uCAAuC,iSAAiS,2BAA2B,kJ;;;;;;;;;;;ACAj2F,+BAA+B,2BAA2B,2BAA2B,kBAAkB,EAAE,iCAAiC,mBAAmB,EAAE,+CAA+C,+mB;;;;;;;;;;;;ACA9M;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEgE;AACM;AAEnD;AACmC;AACV;AACf;AACX;AAEN;AACY;AACe;AAQvE;IAUI,2BACY,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,QAAqB,EACrB,MAAiB;QAJjB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAa;QACrB,WAAM,GAAN,MAAM,CAAW;QAX7B,qBAAgB,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;QAIzE,aAAQ,GAAW,EAAE,CAAC;QAUlB,IAAI,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,6DAA6D;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAE,CAAC;IAC/C,CAAC;IAED,oCAAQ,GAAR;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,2CAAe,GAAf;QACI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAEM,uCAAW,GAAlB,UAAmB,WAAmB;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;IACzC,CAAC;IAEO,mCAAO,GAAf;QACI,2EAA2E;QAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEO,uCAAW,GAAnB,UAAoB,IAAU;QAC1B,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAqB,IAAI,CAAC,QAAQ,8BAA2B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;YACjI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;aACI;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,YAAU,IAAI,CAAC,QAAQ,gCAA6B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;SAC3H;IACL,CAAC;IAEO,oCAAQ,GAAhB;QAAA,iBAgBC;QAfG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAC5C,iBAAO,IAAI,YAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAjD,CAAiD,EAC5D,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CACxC,CAAC;SACL;aACI;YACD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,CACpC,eAAK,IAAI,YAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,WAAC,IAAI,WAAI,uDAAI,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,EAA7F,CAA6F,EACtG,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CACxC,CAAC;SACL;IACL,CAAC;IAEO,gDAAoB,GAA5B,UAA6B,KAAa,EAAE,KAAa;QACrD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,4CAAgB,GAAxB,UAAyB,KAAU;QAC/B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,4DAAyD,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EACjJ,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAEO,oCAAQ,GAAhB,UAAiB,IAAW;QAA5B,iBAaC;QAZG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mFAAuB,EACpD;YACI,UAAU,EAAE,eAAe;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAM,IAAI,CAAC,QAAQ,QAAC,EAAE;SAClD,CAAC,CAAC;QACP,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,cAAI;YAClC,IAAI,IAAI,EAAE;gBACN,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,yCAAa,GAArB,UAAsB,IAAU;QAAhC,iBAoBC;QAnBG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAU,IAAI,CAAC,QAAQ,MAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACvE,QAAQ,EAAE,CAAC,SAAS,CAAC;YAClB,KAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACrD,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE7B,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC/B,SAAS,CAAC,iBAAO;gBACd,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,KAAK,IAAI,EAAb,CAAa,CAAC;YAC7E,CAAC,EACD,eAAK;gBACD,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAE9B,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,4DAAyD,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EACnJ,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACX,CAAC;IAED,sBAAI,6CAAc;aAAlB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC,CAAC;QACnF,CAAC;;;OAAA;IAED,sBAAI,2CAAY;aAAhB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,mBAAmB,CAAC;QAChF,CAAC;;;OAAA;IAED,sBAAI,6CAAc;aAAlB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC;QAClF,CAAC;;;OAAA;IAvIwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;wDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;mDAAC;IAFzB,iBAAiB;QAN7B,+DAAS,CAAC;YACP,QAAQ,EAAE,eAAe;;;YAGzB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAY4B,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACpB,6DAAW;YACb,2DAAS;OAfpB,iBAAiB,CAyI7B;IAAD,wBAAC;CAAA;AAzI6B;;;;;;;;;;;;ACxB9B,+VAA+V,kCAAkC,qKAAqK,0CAA0C,0HAA0H,yCAAyC,4NAA4N,qCAAqC,gMAAgM,6CAA6C,iOAAiO,2CAA2C,uPAAuP,wCAAwC,mMAAmM,gDAAgD,8IAA8I,6CAA6C,8IAA8I,4CAA4C,sLAAsL,yDAAyD,yKAAyK,6CAA6C,0GAA0G,sB;;;;;;;;;;;ACAn6F,+DAA+D,uJ;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEwE;AACE;AAC7D;AAEgB;AACa;AACE;AAEhC;AACS;AACT;AAE0B;AAOtE;IAqDE,+BACU,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,WAAwB;QAHxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QArDlC,cAAS,GAAG,IAAI,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,gBAAW,GAAG,IAAI,4CAAO,EAAQ,CAAC;QAEjC,SAAI,GAAS,IAAI,uDAAI,EAAE,CAAC;QACxB,UAAK,GAAW,EAAE,CAAC;QACnB,eAAU,GAAY,IAAI,CAAC;QAGpC,eAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QA4C3C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IA3CD,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,wCAAK;aAAT;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,kDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,8CAAW;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,kDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,gDAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,CAAC;;;OAAA;IAED,sBAAI,kDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAED,sBAAI,8CAAW;aAAf;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7C,CAAC;;;OAAA;IAWD,2CAAW,GAAX;QACE,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,2CAAW,GAAX;QACE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAEM,uCAAO,GAAd,UAAe,IAAW,EAAE,KAAc;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAO,KAAK,QAAC,CAAC;SACzB;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,yCAAS,GAAjB;QAAA,iBAWC;QAVC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC/B,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBAC7G,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yFAAc,CAAC,aAAa,CAAC,CAAC,CAAC;aAC5E,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,EAA7C,CAA6C,CAAC,CAAC;IACtH,CAAC;IAEM,yCAAS,GAAhB,UAAiB,WAA4B;QAA5B,iDAA4B;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5B,QAAQ,EAAE;gBACR,WAAW,EAAE,EAAE;gBACf,eAAe,EAAE,EAAE;aACpB;YACD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,wCAAQ,GAAhB;QACE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oCACV,IAAI;gBACX,IAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,IAAI,EAAd,CAAc,CAAC,EAAE;oBACzC,OAAK,KAAK,CAAC,OAAO,CAAC,IAAI,uDAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpC;YACH,CAAC;;YAJD,KAAiB,UAAe,EAAf,SAAI,CAAC,IAAI,CAAC,KAAK,EAAf,cAAe,EAAf,IAAe;gBAA3B,IAAI,IAAI;wBAAJ,IAAI;aAIZ;SACF;IACH,CAAC;IAEM,yCAAS,GAAhB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAEM,oCAAI,GAAX;QAAA,iBA2BC;QA1BC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAE3D,IAAM,UAAU,GAAG,IAAI,gEAAQ,EAAE,CAAC;QAClC,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAC7C,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACzC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACnC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC5D,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;QAC7B,UAAU,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,SAAS,CACnE,cAAI,IAAI,YAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAxB,CAAwB,EAChC,eAAK,IAAI,YAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;IACrC,CAAC;IAEM,sCAAM,GAAb;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAEO,6CAAa,GAArB,UAAsB,IAAW;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,yDAAyD,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAE7H,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,0CAAU,GAAlB,UAAmB,KAAU;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,yDAAyB,GAAjC,UAAkC,WAAiB,EAAE,UAAgB;QAArE,iBASC;QARC,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,kBAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC5H,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,iBAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;QAEhH,IAAI,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,MAAM,EAAE;YACxB,UAAU,CAAC,cAAM,YAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAA1D,CAA0D,CAAC,CAAC;SAC9E;IACH,CAAC;IAEO,8CAAc,GAAtB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,4DAA4B,GAApC;QACE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEO,wDAAwB,GAAhC;QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yFAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEO,0CAAU,GAAlB;QAAA,iBAoBC;QAnBC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC1C,SAAS,CAAC,kBAAQ;YACjB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC9B,WAAW,EAAE,KAAI,CAAC,IAAI,CAAC,WAAW;aACnC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,qCAAqC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAC3G,CAAC,EACC,eAAK;YACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,qDAAqD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1I,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACT,CAAC;IA9OD;QADC,+DAAS,CAAC,MAAM,CAAC;kCACJ,qDAAM;uDAAC;IAQZ;QAAR,2DAAK,EAAE;kCAAO,uDAAI;uDAAc;IACxB;QAAR,2DAAK,EAAE;;wDAAoB;IACnB;QAAR,2DAAK,EAAE;;6DAA4B;IAZzB,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;;;SAG1B,CAAC;yCAuDwB,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACjB,0DAAW;OAzDvB,qBAAqB,CAiPjC;IAAD,4BAAC;CAAA;AAjPiC;;;;;;;;;;;;ACxBlC,+VAA+V,kCAAkC,qKAAqK,0CAA0C,0HAA0H,yCAAyC,4NAA4N,qCAAqC,gMAAgM,6CAA6C,iOAAiO,2CAA2C,uPAAuP,wCAAwC,mMAAmM,gDAAgD,8IAA8I,6CAA6C,8IAA8I,4CAA4C,sLAAsL,yDAAyD,yKAAyK,6CAA6C,0GAA0G,sB;;;;;;;;;;;ACAn6F,+DAA+D,uJ;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEwE;AACE;AAC7D;AAEgB;AACa;AACE;AAEhC;AACS;AACT;AAE0B;AAOtE;IAqDE,+BACU,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,WAAwB;QAHxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QArDlC,cAAS,GAAG,IAAI,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAG,KAAK,CAAC;QAEjB,gBAAW,GAAG,IAAI,4CAAO,EAAQ,CAAC;QAEjC,SAAI,GAAS,IAAI,uDAAI,EAAE,CAAC;QACxB,UAAK,GAAW,EAAE,CAAC;QACnB,eAAU,GAAY,IAAI,CAAC;QAGpC,eAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QA4C3C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IA3CD,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,wCAAK;aAAT;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,kDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,8CAAW;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,kDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,gDAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,CAAC;;;OAAA;IAED,sBAAI,kDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAED,sBAAI,8CAAW;aAAf;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7C,CAAC;;;OAAA;IAWD,2CAAW,GAAX;QACE,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,2CAAW,GAAX;QACE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAEM,uCAAO,GAAd,UAAe,IAAW,EAAE,KAAc;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAO,KAAK,QAAC,CAAC;SACzB;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,yCAAS,GAAjB;QAAA,iBAWC;QAVC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC/B,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBAC7G,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yFAAc,CAAC,aAAa,CAAC,CAAC,CAAC;aAC5E,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,EAA7C,CAA6C,CAAC,CAAC;IACtH,CAAC;IAEM,yCAAS,GAAhB,UAAiB,WAA4B;QAA5B,iDAA4B;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,uDAAI,EAAE,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5B,QAAQ,EAAE;gBACR,WAAW,EAAE,EAAE;gBACf,eAAe,EAAE,EAAE;aACpB;YACD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,wCAAQ,GAAhB;QACE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oCACV,IAAI;gBACX,IAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,IAAI,EAAd,CAAc,CAAC,EAAE;oBACzC,OAAK,KAAK,CAAC,OAAO,CAAC,IAAI,uDAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpC;YACH,CAAC;;YAJD,KAAiB,UAAe,EAAf,SAAI,CAAC,IAAI,CAAC,KAAK,EAAf,cAAe,EAAf,IAAe;gBAA3B,IAAI,IAAI;wBAAJ,IAAI;aAIZ;SACF;IACH,CAAC;IAEM,yCAAS,GAAhB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAEM,oCAAI,GAAX;QAAA,iBA2BC;QA1BC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAE3D,IAAM,UAAU,GAAG,IAAI,gEAAQ,EAAE,CAAC;QAClC,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAC7C,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACzC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACnC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC5D,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;QAC7B,UAAU,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,SAAS,CAC1D,cAAI,IAAI,YAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAxB,CAAwB,EAChC,eAAK,IAAI,YAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;IACrC,CAAC;IAEM,sCAAM,GAAb;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAEO,6CAAa,GAArB,UAAsB,IAAW;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,oDAAoD,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAExH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,0CAAU,GAAlB,UAAmB,KAAU;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,yDAAyB,GAAjC,UAAkC,WAAiB,EAAE,UAAgB;QAArE,iBASC;QARC,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,kBAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC5H,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,iBAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;QAEhH,IAAI,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,MAAM,EAAE;YACxB,UAAU,CAAC,cAAM,YAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAA1D,CAA0D,CAAC,CAAC;SAC9E;IACH,CAAC;IAEO,8CAAc,GAAtB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,4DAA4B,GAApC;QACE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEO,wDAAwB,GAAhC;QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yFAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEO,0CAAU,GAAlB;QAAA,iBAoBC;QAnBC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC1C,SAAS,CAAC,kBAAQ;YACjB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC9B,WAAW,EAAE,KAAI,CAAC,IAAI,CAAC,WAAW;aACnC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,qCAAqC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAC3G,CAAC,EACC,eAAK;YACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,qDAAqD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1I,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACT,CAAC;IA9OD;QADC,+DAAS,CAAC,MAAM,CAAC;kCACJ,qDAAM;uDAAC;IAQZ;QAAR,2DAAK,EAAE;kCAAO,uDAAI;uDAAc;IACxB;QAAR,2DAAK,EAAE;;wDAAoB;IACnB;QAAR,2DAAK,EAAE;;6DAA4B;IAZzB,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;;;SAG1B,CAAC;yCAuDwB,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACjB,0DAAW;OAzDvB,qBAAqB,CAiPjC;IAAD,4BAAC;CAAA;AAjPiC;;;;;;;;;;;;;ACxBlC;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;AAEyB;AAKzD;IAAqC,mCAAY;IAE7C,qCAAqC;IAErC;eACI,iBAAO;IACX,CAAC;IAGD,qCAAW,GAAX,UAAY,KAAU;QAClB,kCAAkC;QAClC,0DAA0D;QAC1D,GAAG;QAEH,6JAA6J;QAC7J,+GAA+G;QAE/G,IAAI,OAAO,CAAC,2GAA2G,GAAG,KAAK,CAAC,OAAO,CAAC;YACpI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjC,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IArBQ,eAAe;QAD3B,gEAAU,EAAE;;OACA,eAAe,CAsB3B;IAAD,sBAAC;CAAA,CAtBoC,0DAAY,GAsBhD;AAtB2B;;;;;;;;;;;;;ACV5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAES;AACc;AAEa;AAEF;AACE;AACW;AACzB;AACI;AAC+B;AACG;AACZ;AACf;AACY;AACoC;AACnD;AACY;AACN;AACqB;AACH;AACH;AAEnF,IAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,sGAAqB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACzG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gFAAc,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACtE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,8EAAiB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IACzG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gFAAc,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IACzE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE;IACpD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,qGAAqB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE;IAC9H,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,6FAAkB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;IAC7G,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,8EAAa,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;IACnG,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wGAAsB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;IAC9H,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,0FAAiB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;IAChH,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,8HAA6B,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE;IAC7I,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,2EAAY,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE;IAC5G,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,uFAAgB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;IAC9G,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iFAAc,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;IACxG,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,mGAAoB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACnH,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,sGAAqB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACrH,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,gGAAmB,EAAE,WAAW,EAAE,CAAC,sEAAS,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;IAChH,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,2FAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;CAChF,CAAC;AAQF;IAAA;IAAgC,CAAC;IAApB,gBAAgB;QAL5B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,4DAAY,CAAC;YACvB,SAAS,EAAE,CAAC,kEAAW,EAAE,sEAAS,CAAC;SACpC,CAAC;OACW,gBAAgB,CAAI;IAAD,uBAAC;CAAA;AAAJ;;;;;;;;;;;;ACvD7B,0WAA0W,UAAU,yGAAyG,8BAA8B,uLAAuL,8BAA8B,mEAAmE,iBAAiB,mBAAmB,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,kEAAkE,2BAA2B,2BAA2B,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,gQAAgQ,4CAA4C,0DAA0D,sOAAsO,oCAAoC,qGAAqG,gCAAgC,gMAAgM,gCAAgC,qKAAqK,iCAAiC,4HAA4H,+BAA+B,0mBAA0mB,qCAAqC,+IAA+I,2CAA2C,iJAAiJ,sCAAsC,uMAAuM,iCAAiC,oKAAoK,yCAAyC,yKAAyK,6CAA6C,iLAAiL,6CAA6C,oKAAoK,6BAA6B,8JAA8J,+BAA+B,o2EAAo2E,2CAA2C,iJAAiJ,kCAAkC,oJAAoJ,iCAAiC,wxBAAwxB,8BAA8B,ub;;;;;;;;;;;ACArmQ,kCAAkC,kBAAkB,2BAA2B,uBAAuB,WAAW,cAAc,YAAY,aAAa,EAAE,oBAAoB,uHAAuH,uBAAuB,+BAA+B,oBAAoB,eAAe,EAAE,yBAAyB,mBAAmB,EAAE,iBAAiB,qBAAqB,EAAE,qBAAqB,mBAAmB,oBAAoB,6BAA6B,EAAE,sBAAsB,qBAAqB,EAAE,oCAAoC,qBAAqB,EAAE,gCAAgC,uBAAuB,yBAAyB,EAAE,kDAAkD,yBAAyB,EAAE,wDAAwD,wBAAwB,EAAE,gDAAgD,iBAAiB,EAAE,sFAAsF,2BAA2B,EAAE,4BAA4B,gNAAgN,EAAE,uCAAuC,6LAA6L,EAAE,iDAAiD,+kG;;;;;;;;;;;;ACArkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEwG;AACrF;AACO;AACsC;AACd;AAE8B;AAC1C;AACK;AACf;AACe;AACZ;AACT;AACkB;AACjB;AAC0B;AACd;AACV;AAazD;IAuCI,sBAAY,cAAiC,EACjC,aAA4B,EAC5B,YAA0B,EAC1B,cAA8B,EAC9B,YAA0B,EAC1B,mBAAwC,EACxC,eAAgC,EAChC,WAAwB,EACxB,kBAAyC,EAC1C,cAAoC,EACpC,MAAc,EACd,MAAiB,EACxB,iBAAoC,EACpC,KAAmB;QAZX,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,uBAAkB,GAAlB,kBAAkB,CAAuB;QAC1C,mBAAc,GAAd,cAAc,CAAsB;QACpC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAW;QA/C5B,cAAS,GAAyB;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;YAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;YAClD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;YACnD,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;SACrD;QAKD,oBAAe,GAAY,KAAK,CAAC;QAEjC,yBAAoB,GAAG,CAAC,CAAC;QACzB,aAAQ,GAAG,cAAc,CAAC;QAC1B,YAAO,GAAG,mBAAO,CAAC,8EAAgC,CAAC,CAAC;QAGpD,mBAAc,GAAa,EAAE,CAAC;QAE9B,mCAA8B,GAAG,CAAC,CAAC;QAGnC,yBAAoB,GAAa,IAAI,uEAAQ,EAAE,CAAC;QAiJlD,+BAA+B;QAC/B,WAAM,GAAG,KAAK,CAAC;QAtHT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,cAAM,wBAAiB,CAAC,aAAa,EAAE,EAAjC,CAAiC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAExD,cAAc,CAAC,6BAA6B,EAAE,CAAC;QAEjD,kBAAkB,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;QAEnC,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IACjD,CAAC;IAzCD,sBAAI,4CAAkB;aAAtB;YAAA,iBAUC;YARG,IAAI,EAAE,GAAG,UAAC,GAAW,IAAK,YAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,EAA3C,CAA2C,CAAC;YAEtE,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,OAAU,EAAE,CAAC,mBAAmB,CAAC,UAAK,IAAI,CAAC,oBAAoB,SAAI,EAAE,CAAC,SAAS,CAAC,MAAG,CAAC;aACvF;iBACI;gBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC;aAClC;QACL,CAAC;;;OAAA;IAiCD,qCAAc,GAAd,UAAe,KAAK;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAEH,+BAAQ,GAAR;QAAA,iBA6EC;QA5EK,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAElD,4HAA4H;QAC5H,UAAU,CAAC,cAAM,YAAI,CAAC,WAAW,GAAG,IAAI,EAAvB,CAAuB,EAAE,IAAI,CAAC,CAAC;QAChD,UAAU,CAAC,cAAM,YAAI,CAAC,mBAAmB,GAAG,IAAI,EAA/B,CAA+B,EAAE,IAAI,CAAC,CAAC;QAExD,UAAU,CAAC;YACP,IAAI,KAAI,CAAC,cAAc,EAAE;gBACrB,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,kBAAgB,KAAI,CAAC,QAAQ,MAAG,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;aACvG;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,UAAU,CAAC;YACT,KAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,eAAK,IAAI,YAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gFAAkB,EACrF;YACI,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,eAAe;SAC9B,CAAC,EAJgD,CAIhD,CAAC,CAAC;QACR,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,iBAAO,IAAI,YAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAA9B,CAA8B,CAAC,CAAC;QACzF,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,iBAAO,IAAI,YAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAE9F,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,cAAM,YAAI,CAAC,gBAAgB,EAAE,EAAvB,CAAuB,CAAC;QAEjE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,oBAAU;YACvD,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YAGjC,IAAI,KAAI,CAAC,cAAc,EAAE;gBACvB,KAAI,CAAC,wBAAwB,EAAE,CAAC;gBAEhC,KAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;iBACI;gBACD,KAAI,CAAC,wBAAwB,EAAE,CAAC;aACnC;YAED,UAAU,CAAC;gBACP,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE;oBACtB,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;iBAChF;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAK;YAC9B,IAAI,KAAK,YAAY,+DAAe,EAAE;gBAClC,IAAI,GAAG,GAAqB,KAAM,CAAC,GAAG,CAAC;gBAEvC,IAAI,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE;oBAC3B,KAAI,CAAC,MAAM,CAAC,aAAa,CAAmB,KAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;iBACzE;gBAED,IAAI,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAChD,KAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;iBAC7B;aACJ;QACL,CAAC,CAAC,CAAC;QAIC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;aACrC,SAAS,CAAC,iBAAO;YAChB,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,sDAAsD,EACtG,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IAGjB,CAAC;IAED,8CAAuB,GAAvB;QACE,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,OAAO,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;SAC7G;IACH,CAAC;IAID,oCAAa,GAAb;QACE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;YACvB,OAAO,EAAE,CAAC;SACX;aACI;YACH,OAAO,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;SACrC;IACH,CAAC;IAKD,mCAAY,GAAZ;QAAA,iBAKC;QAJC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YACzC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,KAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAA4B,GAA5B;QAAA,iBAYG;QAVD,IAAI,CAAC,oBAAoB,GAAG,IAAI,uEAAQ,EAAE,CAAC;QAEzC,IAAI,CAAC,cAAc;aAChB,oBAAoB,EAAE;aACtB,SAAS,CAAC,gBAAM;YACf,KAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;QACrC,CAAC,EACD,eAAK;YACH,KAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,cAAc,CAAC;QACpD,CAAC,CAAC,CAAC;IACT,CAAC;IAED,kCAAW,GAAX;QACI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3D,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAEO,+CAAwB,GAAhC;QACI,IAAI,IAAI,CAAC,gCAAgC,EAAE;YACvC,IAAI,CAAC,gCAAgC,CAAC,WAAW,EAAE,CAAC;SACvD;IACL,CAAC;IAED,+CAAwB,GAAxB;QAAA,iBAcC;QAbG,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,mBAAmB,CAAC,+BAA+B,EAAE;aAC7F,SAAS,CAAC,uBAAa;YACpB,KAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;YACxC,KAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,MAAM,EAAT,CAAS,CAAC,CAAC,MAAM,CAAC;QAC5E,CAAC,EACD,eAAK;YACD,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAElC,IAAI,KAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;gBAC1C,UAAU,CAAC,cAAM,YAAI,CAAC,wBAAwB,EAAE,EAA/B,CAA+B,EAAE,IAAI,CAAC,CAAC;;gBAExD,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,mDAAmD,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QACtI,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8CAAuB,GAAvB;QAAA,iBAkBC;QAjBG,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;QAEvE,IAAI,mBAAmB,CAAC,MAAM,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,EAAE,IAAI,CAAC;iBACpF,SAAS,CAAC,kBAAQ;gBACf,KAAc,UAAmB,EAAnB,2CAAmB,EAAnB,iCAAmB,EAAnB,IAAmB,EAAE;oBAA9B,IAAI,CAAC;oBACN,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;iBACnB;gBAED,KAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,MAAM,EAAT,CAAS,CAAC,CAAC,MAAM,CAAC;YAClF,CAAC,EACD,eAAK;gBACD,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,mCAAmC,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YAEpH,CAAC,CAAC,CAAC;SACV;IACL,CAAC;IAED,sCAAe,GAAf;QAAA,iBAcD;QAbK,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;QAE9H,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8FAAoB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1E,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACpC,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YAEvC,IAAI,CAAC,MAAM,IAAI,KAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBAC9C,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACpC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,qEAAqE,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;aACvJ;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,yBAAyB;IACzB,uCAAgB,GAAhB;QACE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;QAE9H,4EAA4E;QAE5E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,qEAAqE,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;QAEpJ;;;;;;;;;;UAUE;IACJ,CAAC;IAEC,gCAAS,GAAT,UAAU,OAAqB,EAAE,QAAiB;QAAlD,iBAsCC;QArCG,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,KAAe,UAA4B,EAA5B,SAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;gBAAxC,IAAI,EAAE;gBACP,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAChC;YAED,OAAO;SACV;QAED,IAAI,YAAY,GAAiB;YAC7B,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC/B,CAAC;QAEF,IAAI,QAAQ,EAAE;YACV,YAAY,CAAC,KAAK,GAAG,UAAC,KAAgB,IAAK,YAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAlC,CAAkC,CAAC;YAE9E,YAAY,CAAC,QAAQ,GAAG,UAAC,KAAgB;gBACrC,IAAI,KAAK,GAAG,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAErD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACZ,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACxC;gBAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC;SACL;QAED,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACtB,KAAK,uEAAe,CAAC,OAAO;gBAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAK;YAC7E,KAAK,uEAAe,CAAC,IAAI;gBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAM;YACxE,KAAK,uEAAe,CAAC,OAAO;gBAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAM;YAC9E,KAAK,uEAAe,CAAC,KAAK;gBAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAK;YACzE,KAAK,uEAAe,CAAC,IAAI;gBAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAM;YAC3E,KAAK,uEAAe,CAAC,IAAI;gBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAM;SAC3E;IACL,CAAC;IAED,6BAAM,GAAN;QACI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAED,sBAAI,kCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,CAAC;;;OAAA;IAED,sBAAI,kCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,CAAC;;;OAAA;IAED,sBAAI,0CAAgB;aAApB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,mBAAmB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,mBAAmB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC;QAChB,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,mBAAmB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,mBAAmB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IAED,sBAAI,gDAAsB;aAA1B;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,sBAAsB,CAAC,CAAC;QAClF,CAAC;;;OAAA;IAED,sBAAI,8DAAoC;aAAxC;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,oCAAoC,CAAC,CAAC;QAChG,CAAC;;;OAAA;IAED,sBAAI,6CAAmB;aAAvB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/E,CAAC;;;OAAA;IAED,sBAAI,iDAAuB;aAA3B;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,uBAAuB,CAAC,CAAC;QACnF,CAAC;;;OAAA;IAED,sBAAI,qDAA2B;aAA/B;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,2BAA2B,CAAC,CAAC;QACvF,CAAC;;;OAAA;IAED,sBAAI,+CAAqB;aAAzB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oEAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IArXmB;QAAnB,+DAAS,CAAC,OAAO,CAAC;kCAAgB,mEAAiB;uDAAC;IAD5C,YAAY;QANxB,+DAAS,CAAC;YACP,QAAQ,EAAE,UAAU;;;SAGvB,CAAC;yCAyC8B,uFAAiB;YAClB,wDAAa;YACd,uDAAY;YACV,wEAAc;YAChB,oEAAY;YACL,kFAAmB;YACvB,4EAAe;YACnB,mEAAW;YACJ,uFAAqB;YAC1B,qFAAoB;YAC5B,sDAAM;YACN,2DAAS;YACL,+DAAiB;YAC7B,gEAAY;OApDd,YAAY,CAuXxB;IAAD,mBAAC;CAAA;AAvXwB;;;;;;;;;;;;;ACnCzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEuB;AAEC;AAEe;AAC7B;AACA;AACQ;AAEM;AACF;AAED;AACF;AACS;AACH;AACW;AAEL;AACqC;AAC5B;AAChB;AACmB;AACL;AACA;AACU;AACpB;AACU;AAEvB;AACqB;AACe;AACF;AAChB;AACG;AACW;AACG;AACJ;AACY;AACU;AACX;AACA;AACG;AACZ;AACf;AACY;AACoC;AACnC;AACD;AACA;AACoB;AAC/B;AACJ;AAC2B;AACf;AACN;AACzB;AAC2C;AAC7B;AAC0B;AAyEnF;IAAA;IACA,CAAC;IADY,SAAS;QAvErB,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,kEAAY;gBACZ,sEAAY;gBACZ,iFAAiB;gBACjB,qEAAgB;gBAChB,+DAAW;gBACX,yEAAc;gBACd,oEAAgB;gBAChB,gFAAyB;gBACzB,mEAAe,CAAC,OAAO,CAAC;oBACtB,MAAM,EAAE;wBACN,OAAO,EAAE,mEAAe;wBACxB,QAAQ,EAAE,0FAAuB;qBAClC;iBACF,CAAC;gBACF,uDAAY,CAAC,OAAO,EAAE;gBACtB,uDAAY;gBACZ,+DAAiB;gBACjB,mEAAiB;gBACjB,yEAAuB;aACxB;YACD,YAAY,EAAE;gBACZ,4DAAY;gBACZ,iFAAc,EAAE,gGAAqB,EAAE,8FAAoB;gBAC3D,8EAAa;gBACb,iFAAc;gBACd,4FAAiB;gBACjB,iHAA4B;gBAC5B,sGAAsB;gBACtB,uGAAuB;gBACvB,2FAAiB;gBACjB,+FAAmB;gBACnB,sGAAqB;gBACrB,6FAAkB;gBAClB,8EAAa;gBACb,yGAAsB;gBACtB,0FAAiB;gBACjB,8HAA6B;gBAC7B,yFAAqB;gBACrB,yFAAqB;gBACrB,8GAA2B;gBAC3B,2EAAY;gBACZ,sGAAqB;gBACrB,uFAAgB;gBAChB,iFAAc;gBACd,mGAAoB;gBACpB,gGAAmB;aACpB;YACD,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,uEAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC/C,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;gBAC/C,EAAE,OAAO,EAAE,0DAAY,EAAE,QAAQ,EAAE,kEAAe,EAAE;gBACpD,qEAAY;gBACZ,qFAAoB;gBACpB,4EAAe;gBACf,wFAAqB;gBACrB,mFAAmB;gBACnB,6FAAoB;gBACpB,yEAAc;gBACd,mFAAe;gBACf,wFAAiB;gBACjB,mFAAe;gBACf,yDAAQ;aACT;YACD,eAAe,EAAE;gBACf,8FAAoB;gBACpB,sGAAsB;aACvB;YACD,SAAS,EAAE,CAAC,4DAAY,CAAC;SAC1B,CAAC;OACW,SAAS,CACrB;IAAD,gBAAC;CAAA;AADqB;AAKf,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;;;;;;;;;;;;AChJD,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,e;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,c;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,c;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,c;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,e;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,oB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,a;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,e;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,qB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,kB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,gB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,c;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,iB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,gB;;;;;;;;;;;ACAxC,iBAAiB,qBAAuB,oB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAxC,4O;;;;;;;;;;;ACAA,+BAA+B,wBAAwB,EAAE,cAAc,8BAA8B,EAAE,WAAW,qBAAqB,EAAE,qBAAqB,mBAAmB,EAAE,0CAA0C,eAAe,yBAAyB,qBAAqB,EAAE,EAAE,+CAA+C,+9B;;;;;;;;;;;;ACA7U;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEU;AACY;AAQtD;IAAA;IAA8B,CAAC;IAAlB,cAAc;QAN1B,+DAAS,CAAC;YACP,QAAQ,EAAE,OAAO;;;YAGjB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;OACW,cAAc,CAAI;IAAD,qBAAC;CAAA;AAAJ;;;;;;;;;;;;ACd3B,mbAAmb,MAAM,MAAM,gaAAga,MAAM,MAAM,4ZAA4Z,MAAM,MAAM,kKAAkK,6HAA6H,qjBAAqjB,qBAAqB,+QAA+Q,mBAAmB,0QAA0Q,8CAA8C,uKAAuK,2BAA2B,uL;;;;;;;;;;;ACAx5F,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,uBAAuB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,aAAa,qBAAqB,EAAE,cAAc,oBAAoB,EAAE,iDAAiD,+yD;;;;;;;;;;;;ACAptB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACT;AACzB;AAEc;AAS9E;IA8DE,6BACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B,EAC/B,MAA4B;QAH3B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAsB;QA5DrC,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,qBAAgB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAChC,0BAAqB,GAAY,KAAK,CAAC;QAwDrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,oEAAkB,EAAc,CAAC;IACnE,CAAC;IAjDD,0CAAY,GAAZ;QAAA,iBA0BC;QAzBC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1F,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3G,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEvG,IAAI,CAAC,cAAc;aAChB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;aACjD,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,KAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;YACvC,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,KAAI,CAAC,cAAc,CAAC;YAErD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YACrD,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QAC7C,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IAET,CAAC;IAED,6CAAe,GAAf;QACE,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,mCAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAYD,sCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IA3DwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;0DAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;qDAAC;IAnBvB,mBAAmB;QAP/B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;;;YAGpB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAiEwB,oEAAY;YACb,0DAAW;YACR,wEAAc;YACvB,2FAAoB;OAlE1B,mBAAmB,CA+E/B;IAAD,0BAAC;CAAA;AA/E+B;;;;;;;;;;;;ACrBhC,4bAA4b,MAAM,MAAM,gXAAgX,6HAA6H,qHAAqH,mBAAmB,yBAAyB,kjBAAkjB,cAAc,iRAAiR,UAAU,qQAAqQ,WAAW,iQAAiQ,UAAU,uQAAuQ,aAAa,2QAA2Q,eAAe,qQAAqQ,YAAY,iRAAiR,kBAAkB,2QAA2Q,eAAe,+QAA+Q,gBAAgB,iRAAiR,iBAAiB,kRAAkR,iBAAiB,kbAAkb,2OAA2O,2BAA2B,qtUAAqtU,MAAM,MAAM,0P;;;;;;;;;;;ACArkf,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,uBAAuB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,aAAa,qBAAqB,EAAE,cAAc,oBAAoB,EAAE,iDAAiD,mwD;;;;;;;;;;;;ACAptB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACT;AACzB;AACjB;AAU/C;IAsFE,sBACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAnFxC,gBAAW,GAAY,KAAK,CAAC;QAE7B,SAAI,GAAW,EAAE,CAAC;QAClB,UAAK,GAAW,EAAE,CAAC;QACnB,qBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC/K,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QA+E9B,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAO,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAzED,mCAAY,GAAZ;QAAA,iBA4BC;QA3BC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1E,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE9E,IAAI,CAAC,cAAc;aAChB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;aACxB,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC3C,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QACnC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IAET,CAAC;IAED,sCAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,4BAAK,GAAL;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,iCAAU,GAAV,UAAW,GAAQ;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,yCAAkB,GAAlB,UAAmB,GAAQ;QAA3B,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,8BAA8B,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAnB,CAAmB,CAAC,CAAC;IACxH,CAAC;IAED,gCAAS,GAAT,UAAU,GAAQ;QAAlB,iBAQC;QAPC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CACxC,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACrD,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC3C,CAAC;IAED,+BAAQ,GAAR;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,4DAAG,EAAE,CAAC;IACvB,CAAC;IAYD,+BAAQ,GAAR;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,4DAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,2BAAI,GAAJ;QAAA,iBAMC;QALC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAC7C,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,GAAG,EAAE,6BAA6B,CAAC,EAA/D,CAA+D,EACvE,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,wCAAiB,GAAzB,UAA0B,GAAS,EAAE,KAAc;QACjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,uCAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,gCAAS,GAAjB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACpC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAG;YACzC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACpC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACrC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACpC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACvC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACzC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACtC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC1C,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC5C,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACzC,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,oCAAU;aAAd;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,gCAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,iCAAO;aAAX;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;;;OAAA;IAED,sBAAI,gCAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,mCAAS;aAAb;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;;;OAAA;IAED,sBAAI,qCAAW;aAAf;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,kCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,wCAAc;aAAlB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,wCAAc;aAAlB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,qCAAW;aAAf;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAEO,6BAAM,GAAd;QACE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IA/LwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;mDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;8CAAC;IAnBvB,YAAY;QAPxB,+DAAS,CAAC;YACP,QAAQ,EAAE,KAAK;;;YAGf,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAyFwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OAzF7B,YAAY,CAkNxB;IAAD,mBAAC;CAAA;AAlNwB;;;;;;;;;;;;ACrBzB,6dAA6d,MAAM,MAAM,kKAAkK,6HAA6H,qHAAqH,mBAAmB,yBAAyB,gkBAAgkB,8BAA8B,yVAAyV,2BAA2B,6VAA6V,2BAA2B,6VAA6V,2BAA2B,6VAA6V,2BAA2B,8bAA8b,mPAAmP,2BAA2B,6qHAA6qH,MAAM,MAAM,0P;;;;;;;;;;;ACAx2O,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,uBAAuB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,aAAa,qBAAqB,EAAE,cAAc,oBAAoB,EAAE,iDAAiD,uzD;;;;;;;;;;;;ACAptB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACT;AACzB;AAKD;AAS/D;IAqFE,8BACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAlFxC,wBAAmB,GAAY,KAAK,CAAC;QACrC,uBAAkB,GAAY,IAAI,CAAC;QAEnC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,qBAAgB,GAAG,CAAC,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAC,eAAe,EAAC,SAAS,CAAC,CAAC;QACrH,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QA8E9B,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAe,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAxED,2CAAY,GAAZ;QAAA,iBA2BC;QA1BC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAE1H,IAAI,CAAC,cAAc;aAChB,mBAAmB,CAAC,gBAAgB,CAAC;aACrC,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC3C,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QACnC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IAET,CAAC;IAED,8CAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,oCAAK,GAAL;QACE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,yCAAU,GAAV,UAAW,WAAwB;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,iDAAkB,GAAlB,UAAmB,WAAwB;QAA3C,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,8BAA8B,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAnC,CAAmC,CAAC,CAAC;IACxI,CAAC;IAED,gDAAiB,GAAjB,UAAkB,WAAwB;QAA1C,iBAQC;QAPC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,SAAS,CACxD,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YAC7D,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC3C,CAAC;IAED,uCAAQ,GAAR;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,4EAAW,EAAE,CAAC;IACvC,CAAC;IAYD,uCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,4EAAW,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,mCAAI,GAAJ;QAAA,iBAUC;QATC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAC7D,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,WAAW,EAAE,6BAA6B,CAAC,EAAvE,CAAuE,EAC/E,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;aAAM;YACL,KAAK,CAAC,eAAe,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAEO,gDAAiB,GAAzB,UAA0B,WAAyB,EAAE,KAAc;QACjE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,+CAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,wCAAS,GAAjB;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,oDAAkB;aAAtB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxD,CAAC;;;OAAA;IAED,sBAAI,iDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,CAAC;;;OAAA;IAED,sBAAI,iDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,CAAC;;;OAAA;IAED,sBAAI,iDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,CAAC;;;OAAA;IAED,sBAAI,iDAAe;aAAnB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,CAAC;;;OAAA;IAEO,qCAAM,GAAd;QACE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,4CAAa,GAArB,UAAsB,WAAwB;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEO,4CAAa,GAArB,UAAsB,WAAwB;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEO,4CAAa,GAArB,UAAsB,WAAwB;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEO,4CAAa,GAArB,UAAsB,WAAwB;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAjKwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;2DAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;sDAAC;IAnBvB,oBAAoB;QAPhC,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;;;YAGrB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAwFwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OAxF7B,oBAAoB,CAoLhC;IAAD,2BAAC;CAAA;AApLgC;;;;;;;;;;;;ACxBjC,yyBAAyyB,6HAA6H,qHAAqH,mBAAmB,yBAAyB,2jBAA2jB,mBAAmB,6XAA6X,cAAc,KAAK,iBAAiB,8RAA8R,kBAAkB,4RAA4R,qBAAqB,qRAAqR,oBAAoB,6QAA6Q,iBAAiB,urCAAurC,2BAA2B,wwOAAwwO,oLAAoL,sYAAsY,MAAM,MAAM,q5BAAq5B,gBAAgB,yBAAyB,0QAA0Q,gBAAgB,yBAAyB,6lBAA6lB,gBAAgB,yBAAyB,oRAAoR,gBAAgB,yBAAyB,iN;;;;;;;;;;;ACAl7c,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,iDAAiD,2jD;;;;;;;;;;;;ACArnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACrB;AACb;AACP;AACjB;AASxC;IA2GE,2BACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAxGxC,qBAAgB,GAAY,KAAK,CAAC;QAElC,aAAQ,GAAW,EAAE,CAAC;QACtB,QAAG,GAAW,EAAE,CAAC;QACjB,qBAAgB,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5G,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAsFhC,EAAE;QAEF,cAAS,GAAG;YACV,SAAS,EAAE;gBACT,GAAG,EAAE,iCAAiC;aACvC;SACF,CAAC;QAQA,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAY,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IA9FD,wBAAwB;IACxB,iCAAK,GAAL;QACE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,EAAE;IAEF,wCAAY,GAAZ;QAAA,iBA2BC;QA1BC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1F,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAEtE,IAAI,CAAC,cAAc;aAChB,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC;aAC1C,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE7D,CAAC,EACD,eAAK;YACH,KAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACxC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,uDAA2B,GAAnC,UAAoC,KAAU;QAC5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC;IAED,2CAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,iCAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAGD,8CAAkB,GAAlB,UAAmB,QAAkB;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,CAAC;IAED,4CAAgB,GAAhB,UAAiB,QAAkB;QAAnC,iBASC;QARC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,SAAS,CACtD,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YACtD,KAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;QACzC,sBAAsB;IACxB,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,sEAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAoBD,oCAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,sEAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,gCAAI,GAAJ;QAAA,iBAMC;QALC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CACtD,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,EAAE,yCAAyC,CAAC,EAAhF,CAAgF,EACxF,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,6CAAiB,GAAzB,UAA0B,QAAmB,EAAE,KAAc;QAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,4CAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,qCAAS,GAAjB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACjE,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,oCAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,qCAAM;aAAV;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,yCAAU;aAAd;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,oCAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,uCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,yCAAU;aAAd;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,2CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,wCAAS;aAAb;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,uCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,2CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,sCAAO;aAAX;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,2CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,wCAAS;aAAb;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,sCAAO;aAAX;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAEO,kCAAM,GAAd;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,6CAAiB,GAAjB,UAAkB,KAAe,EAAE,GAAW;QAC5C,IAAI,GAAG,IAAI,GAAG,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3C;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACxD;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrD;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,qCAAqC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrE;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,oCAAoC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IAED,yCAAa,GAAb,UAAc,GAAW;QAAzB,iBAsEC;QArEC,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YACpH,OAAO;SACR;aACI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,IAAI,IAAI,EAAE;YACrE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YACpH,OAAO;SACR;aACI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,IAAI,IAAI,EAAE;YAClE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YACpH,OAAO;SACR;aACI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,qCAAqC,IAAI,IAAI,EAAE;YAClF,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YACpH,OAAO;SACR;aACI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,oCAAoC,IAAI,IAAI,EAAE;YACjF,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YACpH,OAAO;SACR;QAED,IAAI,GAAG,IAAI,GAAG,EAAE;YACd,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACpF;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;SAC9G;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACxG;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,qCAAqC,EAAE,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC,IAAI,CAAC,CAAC;SACxI;aACI,IAAI,GAAG,IAAI,GAAG,EAAE;YACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,oCAAoC,EAAE,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC;SACtI;QAED,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM;YAC/H,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,EAAE,4BAA4B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;YAEzG,IAAI,GAAG,IAAI,GAAG,EAAE;gBACd,KAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;aAClC;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,KAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,MAAM,CAAC;aAC/C;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,KAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC;aAC5C;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,KAAI,CAAC,QAAQ,CAAC,mCAAmC,GAAG,MAAM,CAAC;aAC5D;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,KAAI,CAAC,QAAQ,CAAC,kCAAkC,GAAG,MAAM,CAAC;aAC3D;QAEH,CAAC,EACC,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,0DAA0D,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzJ,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0CAAc,GAAd,UAAe,GAAW;QACxB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAM;YAChH,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,EAAE,iBAAiB,CAAC,6BAA6B;aACtD,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC;YAC1C,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAnTwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;wDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;mDAAC;IAnBvB,iBAAiB;QAP7B,+DAAS,CAAC;YACP,QAAQ,EAAE,UAAU;;;YAGpB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCA8GwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OA9G7B,iBAAiB,CAsU7B;IAAD,wBAAC;CAAA;AAtU6B;;;;;;;;;;;;;ACrB9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE2E;AACL;AAChD;AAC4C;AACT;AACzB;AACP;AACjB;AACqB;AAS7D;IA+FE,uCACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QA5FxC,qBAAgB,GAAY,KAAK,CAAC;QAElC,aAAQ,GAAW,EAAE,CAAC;QACtB,QAAG,GAAW,EAAE,CAAC;QACjB,qBAAgB,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5H,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QA0EhC,EAAE;QAEF,cAAS,GAAG;YACV,SAAS,EAAE;gBACT,GAAG,EAAE,iCAAiC;aACvC;SACF,CAAC;QAQA,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAY,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAlFD,EAAE;IAEF,oDAAY,GAAZ;QAAA,iBA0BC;QAzBC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1F,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAEtE,IAAI,CAAC,cAAc;aAChB,2BAA2B,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;aAC/C,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE7D,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IAET,CAAC;IAED,uDAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,6CAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAGD,0DAAkB,GAAlB,UAAmB,QAAkB;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,CAAC;IAED,gDAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,sEAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,gEAAwB,GAAxB,UAAyB,QAAkB;QAA3C,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,EAAE,0CAA0C,GAAG,QAAQ,CAAC,YAAY,GAAG,uBAAuB,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC,CAAC;IAC/N,CAAC;IAED,sDAAc,GAAd,UAAe,QAAkB;QAAjC,iBAKC;QAJC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,SAAS,CAClE,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,gCAAgC,CAAC,EAAlE,CAAkE,EAC1E,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC3C,CAAC;IAoBD,gDAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,sEAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,4CAAI,GAAJ;QAAA,iBAaC;QAZC,sBAAsB;QACtB,gCAAgC;QAC9B,sBAAsB;QACtB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CACtD,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,EAAE,6CAA6C,CAAC,EAApF,CAAoF,EAC5F,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;QAC3C,GAAG;QACJ,SAAS;QACT,4BAA4B;QAC5B,2CAA2C;QAC3C,IAAI;IAEL,CAAC;IAEO,yDAAiB,GAAzB,UAA0B,QAAmB,EAAE,KAAc;QAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,wDAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,iDAAS,GAAjB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACjE,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,gDAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,iDAAM;aAAV;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,qDAAU;aAAd;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,gDAAK;aAAT;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,mDAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,qDAAU;aAAd;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,uDAAY;aAAhB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,oDAAS;aAAb;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,mDAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,uDAAY;aAAhB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,kDAAO;aAAX;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,uDAAY;aAAhB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,oDAAS;aAAb;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,kDAAO;aAAX;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;;;OAAA;IAEO,8CAAM,GAAd;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kEAA0B,GAA1B,UAA2B,QAAkB;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,CAAC;IAED,sDAAc,GAAd,UAAe,GAAW;QACxB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAM;YAChH,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,EAAE,iBAAiB,CAAC,6BAA6B;aACtD,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC;YAC1C,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0DAAkB,GAAlB,UAAmB,QAAkB;QAArC,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,8BAA8B,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC,CAAC;IAClI,CAAC;IAED,sDAAc,GAAd,UAAe,QAAkB;QAAjC,iBAUC;QATC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;QAEtB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CACnD,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC1D,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAE3C,CAAC;IAED,sBAAI,+EAAoC;aAAxC;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,0EAAU,CAAC,oCAAoC,CAAC,CAAC;QAChG,CAAC;;;OAAA;IA/OwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;oEAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;+DAAC;IAnBvB,6BAA6B;QAPzC,+DAAS,CAAC;YACP,QAAQ,EAAE,sBAAsB;;;YAGhC,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAkGwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OAlG7B,6BAA6B,CAmQzC;IAAD,oCAAC;CAAA;AAnQyC;;;;;;;;;;;;ACtB1C,scAAsc,MAAM,MAAM,2XAA2X,6HAA6H,yHAAyH,mBAAmB,yBAAyB,2jBAA2jB,uBAAuB,qSAAqS,mBAAmB,qRAAqR,cAAc,KAAK,iBAAiB,8RAA8R,kBAAkB,4RAA4R,qBAAqB,qRAAqR,oBAAoB,6QAA6Q,iBAAiB,ugCAAugC,kZAAkZ,2BAA2B,wsOAAwsO,oLAAoL,4ZAA4Z,MAAM,MAAM,6qBAA6qB,gBAAgB,yBAAyB,0XAA0X,gBAAgB,yBAAyB,4M;;;;;;;;;;;ACA3yb,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,iDAAiD,2oD;;;;;;;;;;;ACArnB,wQAAwQ,iBAAiB,0IAA0I,eAAe,wIAAwI,cAAc,uIAAuI,cAAc,uIAAuI,cAAc,0KAA0K,iBAAiB,0IAA0I,eAAe,wIAAwI,aAAa,sIAAsI,eAAe,wIAAwI,qBAAqB,kLAAkL,kBAAkB,2IAA2I,gBAAgB,yIAAyI,cAAc,uIAAuI,iBAAiB,0IAA0I,iBAAiB,6KAA6K,gBAAgB,yIAAyI,oBAAoB,8rBAA8rB,OAAO,KAAK,OAAO,qGAAqG,MAAM,MAAM,MAAM,MAAM,wdAAwd,MAAM,KAAK,MAAM,qGAAqG,MAAM,MAAM,MAAM,MAAM,gfAAgf,SAAS,KAAK,SAAS,qGAAqG,MAAM,MAAM,MAAM,MAAM,ggBAAggB,WAAW,KAAK,WAAW,qGAAqG,MAAM,MAAM,MAAM,MAAM,weAAwe,QAAQ,KAAK,QAAQ,qGAAqG,MAAM,MAAM,MAAM,MAAM,whBAAwhB,cAAc,KAAK,cAAc,qGAAqG,MAAM,MAAM,MAAM,MAAM,q0BAAq0B,aAAa,yDAAyD,wCAAwC,qEAAqE,+CAA+C,8DAA8D,yCAAyC,wDAAwD,oCAAoC,oDAAoD,gCAAgC,2DAA2D,sCAAsC,sDAAsD,kCAAkC,+DAA+D,0CAA0C,sEAAsE,gDAAgD,uDAAuD,mCAAmC,gEAAgE,2CAA2C,yDAAyD,qCAAqC,0DAA0D,sCAAsC,sDAAsD,kCAAkC,0DAA0D,qCAAqC,sDAAsD,kCAAkC,gEAAgE,0CAA0C,yDAAyD,qCAAqC,wEAAwE,kDAAkD,yDAAyD,oCAAoC,4DAA4D,wCAAwC,0EAA0E,oDAAoD,kEAAkE,6CAA6C,qDAAqD,iCAAiC,wDAAwD,oCAAoC,uDAAuD,mCAAmC,uDAAuD,mCAAmC,6DAA6D,yCAAyC,yEAAyE,oDAAoD,2EAA2E,qDAAqD,0DAA0D,sCAAsC,qDAAqD,iCAAiC,0DAA0D,qCAAqC,qDAAqD,iCAAiC,6EAA6E,sDAAsD,wDAAwD,oCAAoC,uDAAuD,mCAAmC,8DAA8D,wCAAwC,iEAAiE,4CAA4C,oDAAoD,gCAAgC,sEAAsE,iDAAiD,yDAAyD,qCAAqC,+DAA+D,0CAA0C,8DAA8D,yCAAyC,qDAAqD,iCAAiC,gEAAgE,2CAA2C,0DAA0D,qCAAqC,6DAA6D,yCAAyC,yDAAyD,oCAAoC,yDAAyD,qCAAqC,qDAAqD,iCAAiC,0DAA0D,sCAAsC,oDAAoD,gCAAgC,2DAA2D,uCAAuC,uDAAuD,mCAAmC,yDAAyD,qCAAqC,yDAAyD,yCAAyC,mEAAmE,6CAA6C,yDAAyD,qCAAqC,4EAA4E,qDAAqD,uEAAuE,iDAAiD,uDAAuD,mCAAmC,6DAA6D,wCAAwC,qSAAqS,aAAa,yDAAyD,wCAAwC,qEAAqE,+CAA+C,8DAA8D,yCAAyC,+DAA+D,0CAA0C,wDAAwD,oCAAoC,yDAAyD,qCAAqC,+DAA+D,0CAA0C,gEAAgE,0CAA0C,yDAAyD,qCAAqC,2DAA2D,sCAAsC,sDAAsD,kCAAkC,oDAAoD,gCAAgC,sEAAsE,gDAAgD,uDAAuD,mCAAmC,gEAAgE,2CAA2C,0DAA0D,qCAAqC,6DAA6D,yCAAyC,yEAAyE,oDAAoD,sDAAsD,kCAAkC,yDAAyD,qCAAqC,yDAAyD,qCAAqC,0DAA0D,sCAAsC,wEAAwE,kDAAkD,4DAA4D,wCAAwC,0DAA0D,sCAAsC,6DAA6D,wCAAwC,0EAA0E,oDAAoD,kEAAkE,6CAA6C,uDAAuD,mCAAmC,sEAAsE,iDAAiD,sDAAsD,kCAAkC,qDAAqD,iCAAiC,2DAA2D,uCAAuC,yDAAyD,qCAAqC,oDAAoD,gCAAgC,uDAAuD,mCAAmC,2EAA2E,qDAAqD,uDAAuD,mCAAmC,qDAAqD,iCAAiC,4EAA4E,qDAAqD,6EAA6E,sDAAsD,wDAAwD,oCAAoC,yDAAyD,oCAAoC,0DAA0D,sCAAsC,0DAA0D,qCAAqC,uDAAuD,mCAAmC,8DAA8D,wCAAwC,8DAA8D,yCAAyC,oDAAoD,gCAAgC,iEAAiE,4CAA4C,uDAAuD,mCAAmC,qDAAqD,iCAAiC,6DAA6D,yCAAyC,gEAAgE,2CAA2C,qDAAqD,iCAAiC,yDAAyD,qCAAqC,yDAAyD,yCAAyC,mEAAmE,6CAA6C,yDAAyD,oCAAoC,wDAAwD,oCAAoC,uEAAuE,iDAAiD,qDAAqD,iCAAiC,0DAA0D,qCAAqC,qSAAqS,aAAa,yDAAyD,wCAAwC,qEAAqE,+CAA+C,kEAAkE,6CAA6C,yDAAyD,yCAAyC,yDAAyD,qCAAqC,0DAA0D,sCAAsC,wDAAwD,oCAAoC,2DAA2D,sCAAsC,8DAA8D,yCAAyC,sDAAsD,kCAAkC,oDAAoD,gCAAgC,sEAAsE,gDAAgD,uEAAuE,iDAAiD,0DAA0D,qCAAqC,gEAAgE,2CAA2C,uDAAuD,mCAAmC,yDAAyD,qCAAqC,qDAAqD,iCAAiC,6DAA6D,yCAAyC,yEAAyE,oDAAoD,0DAA0D,qCAAqC,wDAAwD,oCAAoC,yDAAyD,qCAAqC,sDAAsD,kCAAkC,gEAAgE,0CAA0C,yDAAyD,qCAAqC,iEAAiE,4CAA4C,sDAAsD,kCAAkC,wEAAwE,kDAAkD,0DAA0D,sCAAsC,4DAA4D,wCAAwC,uDAAuD,mCAAmC,uDAAuD,mCAAmC,2EAA2E,qDAAqD,qDAAqD,iCAAiC,qDAAqD,iCAAiC,6EAA6E,sDAAsD,0DAA0D,sCAAsC,6DAA6D,wCAAwC,wDAAwD,oCAAoC,uDAAuD,mCAAmC,yDAAyD,qCAAqC,+DAA+D,0CAA0C,8DAA8D,yCAAyC,8DAA8D,wCAAwC,oDAAoD,gCAAgC,qDAAqD,iCAAiC,0EAA0E,oDAAoD,qDAAqD,iCAAiC,6DAA6D,yCAAyC,gEAAgE,2CAA2C,oDAAoD,gCAAgC,0DAA0D,qCAAqC,yDAAyD,oCAAoC,mEAAmE,6CAA6C,yDAAyD,oCAAoC,yDAAyD,qCAAqC,+DAA+D,0CAA0C,sEAAsE,iDAAiD,4EAA4E,qDAAqD,uDAAuD,mCAAmC,2DAA2D,uCAAuC,uDAAuD,mCAAmC,qSAAqS,aAAa,yDAAyD,wCAAwC,yDAAyD,oCAAoC,0DAA0D,qCAAqC,qEAAqE,+CAA+C,2EAA2E,qDAAqD,wDAAwD,oCAAoC,uDAAuD,mCAAmC,wDAAwD,oCAAoC,0DAA0D,qCAAqC,mEAAmE,6CAA6C,yDAAyD,yCAAyC,oDAAoD,gCAAgC,sDAAsD,kCAAkC,uDAAuD,mCAAmC,0DAA0D,sCAAsC,yDAAyD,qCAAqC,8DAA8D,yCAAyC,2DAA2D,sCAAsC,6DAA6D,yCAAyC,yEAAyE,oDAAoD,wEAAwE,kDAAkD,sDAAsD,kCAAkC,gEAAgE,0CAA0C,uDAAuD,mCAAmC,yDAAyD,qCAAqC,iEAAiE,4CAA4C,wDAAwD,oCAAoC,yDAAyD,qCAAqC,sDAAsD,kCAAkC,yDAAyD,oCAAoC,uDAAuD,mCAAmC,kEAAkE,6CAA6C,0DAA0D,sCAAsC,qDAAqD,iCAAiC,4DAA4D,wCAAwC,6EAA6E,sDAAsD,gEAAgE,2CAA2C,qDAAqD,iCAAiC,6DAA6D,wCAAwC,uDAAuD,mCAAmC,yDAAyD,qCAAqC,+DAA+D,0CAA0C,0DAA0D,qCAAqC,uDAAuD,mCAAmC,8DAA8D,wCAAwC,0EAA0E,oDAAoD,oDAAoD,gCAAgC,qDAAqD,iCAAiC,sEAAsE,gDAAgD,qDAAqD,iCAAiC,6DAA6D,yCAAyC,gEAAgE,2CAA2C,0DAA0D,sCAAsC,yDAAyD,qCAAqC,oDAAoD,gCAAgC,yDAAyD,qCAAqC,+DAA+D,0CAA0C,sEAAsE,iDAAiD,4EAA4E,qDAAqD,8DAA8D,yCAAyC,2DAA2D,uCAAuC,uEAAuE,iDAAiD,qDAAqD,iCAAiC,yGAAyG,MAAM,MAAM,MAAM,MAAM,mLAAmL,kBAAkB,oBAAoB,iPAAiP,MAAM,MAAM,MAAM,MAAM,MAAM,weAAwe,MAAM,MAAM,MAAM,MAAM,MAAM,8QAA8Q,0BAA0B,+aAA+a,qBAAqB,wUAAwU,uBAAuB,sXAAsX,qBAAqB,uBAAuB,qBAAqB,sbAAsb,uBAAuB,uBAAuB,sbAAsb,uBAAuB,uBAAuB,sbAAsb,uBAAuB,uBAAuB,2SAA2S,oBAAoB,4IAA4I,oBAAoB,uBAAuB,+CAA+C,+OAA+O,oBAAoB,oJAAoJ,oBAAoB,uBAAuB,sDAAsD,uMAAuM,mCAAmC,2GAA2G,MAAM,MAAM,MAAM,MAAM,MAAM,8TAA8T,kBAAkB,oBAAoB,0PAA0P,MAAM,MAAM,MAAM,MAAM,MAAM,uSAAuS,MAAM,MAAM,MAAM,MAAM,MAAM,8QAA8Q,0BAA0B,+aAA+a,qBAAqB,wUAAwU,uBAAuB,sXAAsX,qBAAqB,uBAAuB,qBAAqB,sbAAsb,uBAAuB,uBAAuB,sbAAsb,uBAAuB,uBAAuB,sbAAsb,uBAAuB,uBAAuB,2SAA2S,oBAAoB,4IAA4I,oBAAoB,uBAAuB,+CAA+C,+OAA+O,oBAAoB,oJAAoJ,oBAAoB,uBAAuB,sDAAsD,uMAAuM,mCAAmC,2GAA2G,MAAM,MAAM,MAAM,MAAM,MAAM,6mCAA6mC,kBAAkB,oBAAoB,ozBAAozB,0BAA0B,kcAAkc,qBAAqB,oZAAoZ,uBAAuB,kcAAkc,qBAAqB,uBAAuB,qBAAqB,sbAAsb,uBAAuB,uBAAuB,sbAAsb,uBAAuB,uBAAuB,sbAAsb,uBAAuB,uBAAuB,uSAAuS,oBAAoB,4IAA4I,oBAAoB,uBAAuB,+CAA+C,+OAA+O,oBAAoB,oJAAoJ,oBAAoB,uBAAuB,sDAAsD,uMAAuM,mCAAmC,iMAAiM,kBAAkB,oBAAoB,wIAAwI,mBAAmB,gIAAgI,mBAAmB,8FAA8F,cAAc,0ZAA0Z,MAAM,MAAM,uLAAuL,MAAM,MAAM,uJAAuJ,MAAM,MAAM,kKAAkK,MAAM,MAAM,6VAA6V,4DAA4D,0BAA0B,6C;;;;;;;;;;;ACAvtnD,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,uBAAuB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,oBAAoB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,aAAa,qBAAqB,EAAE,cAAc,oBAAoB,EAAE,oBAAoB,sBAAsB,EAAE,oBAAoB,gCAAgC,2BAA2B,0BAA0B,EAAE,uBAAuB,8BAA8B,sBAAsB,4BAA4B,EAAE,WAAW,4BAA4B,kBAAkB,sBAAsB,gBAAgB,2BAA2B,2BAA2B,EAAE,gBAAgB,uBAAuB,0BAA0B,uBAAuB,oBAAoB,mBAAmB,EAAE,YAAY,kBAAkB,4BAA4B,sCAAsC,8BAA8B,qDAAqD,iBAAiB,kBAAkB,mBAAmB,EAAE,kBAAkB,gDAAgD,8CAA8C,EAAE,cAAc,oBAAoB,WAAW,cAAc,YAAY,aAAa,mCAAmC,8BAA8B,wBAAwB,eAAe,EAAE,YAAY,iBAAiB,kBAAkB,qBAAqB,uBAAuB,eAAe,uBAAuB,mCAAmC,EAAE,eAAe,kBAAkB,gBAAgB,2CAA2C,EAAE,mBAAmB,uBAAuB,aAAa,eAAe,0BAA0B,oBAAoB,sBAAsB,0BAA0B,gBAAgB,EAAE,yBAAyB,mBAAmB,oBAAoB,EAAE,qBAAqB,oBAAoB,mBAAmB,EAAE,0CAA0C,YAAY,iBAAiB,EAAE,EAAE,WAAW,0BAA0B,uBAAuB,EAAE,kBAAkB,uBAAuB,iBAAiB,gBAAgB,qBAAqB,iBAAiB,EAAE,iDAAiD,+0L;;;;;;;;;;;;ACAhlF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACT;AACzB;AAG0B;AAGhC;AAC0D;AACzE;AAC6B;AAES;AASjF;IA0FE,+BACU,SAA2B,EAC3B,YAA0B,EAC1B,WAAwB,EACxB,kBAAyC,EACzC,cAA8B,EAC9B,QAAkB;QAN5B,iBAiBC;QAhBS,cAAS,GAAT,SAAS,CAAkB;QAC3B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAU;QA9F5B,oBAAe,GAAW,mBAAO,CAAC,4EAAiC,CAAC,CAAC;QACrE,kBAAa,GAAW,mBAAO,CAAC,wEAA+B,CAAC,CAAC;QACjE,iBAAY,GAAW,mBAAO,CAAC,sEAA8B,CAAC,CAAC;QAC/D,iBAAY,GAAW,mBAAO,CAAC,sEAA8B,CAAC,CAAC;QAC/D,iBAAY,GAAW,mBAAO,CAAC,sEAA8B,CAAC,CAAC;QAC/D,oBAAe,GAAW,mBAAO,CAAC,4EAAiC,CAAC,CAAC;QACrE,kBAAa,GAAW,mBAAO,CAAC,wEAA+B,CAAC,CAAC;QACjE,gBAAW,GAAW,mBAAO,CAAC,oEAA6B,CAAC,CAAC;QAC7D,kBAAa,GAAW,mBAAO,CAAC,wEAA+B,CAAC,CAAC;QACjE,wBAAmB,GAAW,mBAAO,CAAC,oFAAqC,CAAC,CAAC;QAC7E,qBAAgB,GAAW,mBAAO,CAAC,8EAAkC,CAAC,CAAC;QACvE,mBAAc,GAAW,mBAAO,CAAC,0EAAgC,CAAC,CAAC;QACnE,iBAAY,GAAW,mBAAO,CAAC,sEAA8B,CAAC,CAAC;QAC/D,oBAAe,GAAW,mBAAO,CAAC,4EAAiC,CAAC,CAAC;QACrE,oBAAe,GAAW,mBAAO,CAAC,4EAAiC,CAAC,CAAC;QACrE,mBAAc,GAAW,mBAAO,CAAC,0EAAgC,CAAC,CAAC;QACnE,uBAAkB,GAAW,mBAAO,CAAC,kFAAoC,CAAC,CAAC;QAE3E,uBAAkB,GAAY,IAAI,CAAC;QACnC,wBAAmB,GAAY,IAAI,CAAC;QACpC,oBAAe,GAAY,KAAK,CAAC;QACjC,uBAAkB,GAAY,KAAK,CAAC;QACpC,wBAAmB,GAAY,KAAK,CAAC;QACrC,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAY,KAAK,CAAC;QAa7B,6BAAwB,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;QACjM,cAAS,GAAG,IAAI,uEAAc,CAAU,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,qBAAgB,GAAY,IAAI,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,yBAAoB,GAAY,KAAK,CAAC;QAMtC,yBAAoB,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QA2BrE,UAAK,GAAU,IAAI,gEAAK,EAAE,CAAC;QAC3B,gBAAW,GAAW,EAAE,CAAC;QAGzB,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAY,IAAI,CAAC;QACvB,WAAM,GAAY,IAAI,CAAC;QACvB,WAAM,GAAY,IAAI,CAAC;QACvB,UAAK,GAAY,KAAK,CAAC;QAcrB,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAO,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,IAAI,oEAAkB,EAAW,CAAC;QAC5D,IAAI,CAAC,2BAA2B,GAAG,IAAI,oEAAkB,EAAW,CAAC;QACrE,IAAI,CAAC,0BAA0B,GAAG,IAAI,oEAAkB,EAAW,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,oEAAkB,EAAQ,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,cAAI;YACnC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IAED,kDAAkB,GAAlB;QAAA,iBASC;QARC,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;aACtC,SAAS,CAAC,iBAAO;YAChB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACtC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,iDAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;IACH,CAAC;IAED,wCAAQ,GAAR;QAAA,iBA2BC;QA1BC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;QAEjE,IAAI,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC/C,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,IAAI,SAAS,EAAE;YAC7D,gBAAgB,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAsB;YAC3D,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE;gBACnD,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;aAC5C;iBACI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE;gBACxD,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;aACrC;YACD,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACpC,KAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,6CAAa,GAAb,UAAc,KAAa;QAA3B,iBAmCG;QAlCD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,gEAAK,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,KAAK,CAAC;aAC/B,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,mBAAmB,GAAG,IAAI,KAAK,EAAE,CAAC;YAEvC,KAAgB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAA7B,IAAI,GAAG;gBACV,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACjD,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC1C;aACF;YAED,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,EAEC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IAEP,CAAC;IAEH,+CAAe,GAAf,UAAgB,aAAqB;QAArC,iBAqCC;QApCC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,YAAY,CAAC;QAExD,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;aAC/D,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,EAAE,CAAC;YAEtC,KAAgB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAA7B,IAAI,GAAG;gBACV,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC/C,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACxC;aACF;YAGD,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACpC,CAAC,EAEG,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8CAAc,GAAd,UAAe,YAAoB;QAAnC,iBAkCC;QAjCC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,YAAY,CAAC;QAExD,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;aACpF,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,qBAAqB,GAAG,IAAI,KAAK,EAAE,CAAC;YAEzC,KAAgB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAA7B,IAAI,GAAG;gBACV,IAAI,CAAC,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACrD,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC9C;aACF;YAED,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,iDAAiB,GAAjB,UAAkB,eAAuB;QAAzC,iBAiCO;QAhCL,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,YAAY,CAAC;QAExD,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;aAC1G,SAAS,CAAC,iBAAO;YAEV,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/D,KAAI,CAAC,uBAAuB,GAAG,IAAI,KAAK,EAAE,CAAC;YAErC,KAAgB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAA7B,IAAI,GAAG;gBACV,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACzD,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAClD;aACF;YAED,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACT,CAAC;IAEP,mDAAmB,GAAnB,UAAoB,iBAAyB;QAA7C,iBAgCC;QA/BC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,YAAY,CAAC;QAExD,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;aAClI,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,oBAAoB,GAAG,IAAI,KAAK,EAAE,CAAC;YAExC,KAAgB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAA7B,IAAI,GAAG;gBACV,IAAI,CAAC,KAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBACnD,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC5C;aACF;YAED,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,gDAAgB,GAAhB,UAAiB,cAAsB;QAAvC,iBA+BC;QA9BC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,YAAY,CAAC;QAExD,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC;aACvJ,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,0BAA0B,GAAG,IAAI,KAAK,EAAE,CAAC;YAE9C,KAAgB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;gBAA7B,IAAI,GAAG;gBACV,IAAI,CAAC,KAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;oBAC/D,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;iBACxD;aACF;YAED,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,sDAAsB,GAAtB,UAAuB,oBAA4B;QAAnD,iBAsDC;QArDC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAEjD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,YAAY,CAAC;QAExD,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC;aAClL,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,IAAI,GAAG,GAAG,gBAAyB,CAAC;YAIpC,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACvC,KAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YAElC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEhC,KAAI,CAAC,cAAc;iBAChB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,KAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAI,CAAC,cAAc,CAAC;iBAChO,SAAS,CAAC,iBAAO;gBAChB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEzD,KAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;gBAErC,KAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC;gBACjD,KAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,YAAY,CAAC;gBAExD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAEhC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBAEzB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEL,KAAI,CAAC,yBAAyB,GAAG,IAAI,KAAK,EAAE,CAAC;QAC/C,CAAC,EACC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;IACT,CAAC;IAED,qDAAqB,GAArB,UAAsB,mBAA2B;QAAjD,iBAmCC;QAlCC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,IAAI,CAAC,cAAc;aAChB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;aAChO,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;YAErC,KAAoB,UAAiB,EAAjB,UAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;gBAAlC,IAAI,OAAO;gBACd,KAA4B,UAAyB,EAAzB,UAAI,CAAC,oBAAoB,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;oBAAlD,IAAI,eAAe;oBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;wBACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACzB;iBACF;gBACD,KAA4B,UAAkC,EAAlC,UAAI,CAAC,6BAA6B,EAAlC,cAAkC,EAAlC,IAAkC,EAAE;oBAA3D,IAAI,eAAe;oBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;wBACpC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;qBACzC;iBACF;aACF;YAED,KAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC;YAEjD,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CAAC;IACT,CAAC;IAEC,sCAAM,GAAN;QACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,mDAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,QAAC,GAAG,KAAK,EAAT,CAAS,EAAE,CAAC,CAAC,CAAC;SACrF;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yCAAS,GAAT;QAAA,iBA0CC;QAzCC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,GAAG,IAAI,kEAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC;QAClB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;QAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAE5C,IAAI,eAAe,GAAG,uBAAuB,CAAC;QAC9C,IAAI,yBAAyB,GAAG,2BAA2B,CAAC;QAE5D,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;YAC7B,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACvC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;YACjD,OAAO;SACR;QAED,KAAoB,UAA0D,EAA1D,SAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,IAAI,EAAnB,CAAmB,CAAC,EAA1D,cAA0D,EAA1D,IAA0D,EAAE;YAA3E,IAAI,OAAO;YACd,IAAI,WAAW,GAAG,IAAI,wEAAa,CAAC;YACpC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzC;QAED,KAAkB,UAAoD,EAApD,SAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,KAAK,IAAI,EAAtB,CAAsB,CAAC,EAApD,cAAoD,EAApD,IAAoD,EAAE;YAAnE,IAAI,KAAK;YACZ,IAAI,WAAW,GAAG,IAAI,wEAAa,CAAC;YACpC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC/C,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,KAAK,EAAE,2BAA2B,CAAC,EAA/D,CAA+D,EACvE,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;QAEzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,iDAAiB,GAAzB,UAA0B,KAAa,EAAE,KAAc;QACrD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAEO,gDAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,2CAAW,GAAnB,UAAoB,OAAgB;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAA9C,CAA8C,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC9C;IACH,CAAC;IAEO,4CAAY,GAApB,UAAqB,OAAgB;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,yCAAS,GAAT;QAAA,iBAuCC;QAtCC,IAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEjE,IAAI,iCAAiC,GAAG,IAAI,8FAAiC,EAAE,CAAC;QAChF,iCAAiC,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACnE,iCAAiC,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAE1E,IAAI,CAAC,cAAc;aAChB,iCAAiC,CAAC,iCAAiC,CAAC;aACpE,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC;YAEpB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YAGjC,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;YAED,KAAI,CAAC,cAAc,CAAC,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC;YAEzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC3C,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QACnC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;QAIP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,uCAAO,GAAP;QACE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,2CAAW,GAAX,UAAY,IAAU;QACpB,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC1F,CAAC;IAED,2CAAW,GAAX,UAAY,IAAU;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,wDAAwB,GAAxB;QAAA,iBAmDC;QAlDC,KAAoB,UAAiB,EAAjB,SAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;YAAlC,IAAI,OAAO;YACd,KAA4B,UAAkC,EAAlC,SAAI,CAAC,6BAA6B,EAAlC,cAAkC,EAAlC,IAAkC,EAAE;gBAA3D,IAAI,eAAe;gBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;oBACzC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;iBAC1B;aACF;SACF;QAED,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,UAAC,OAAO;YACjD,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,EAAlB,CAAkB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;QAExC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAC,OAAO;YACxC,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;gBACpC,IAAI,YAAU,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,KAAI,CAAC,8BAA8B,KAAK,SAAS,EAAE;wBACrD,IAAI,aAAa,GAAG,KAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,YAAU,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;wBACzF,IAAI,aAAa,IAAI,IAAI,EAAE;4BACzB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAC9C,KAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BACvD,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;yBAC/B;qBACF;iBACF;gBAED,KAAoB,UAAiB,EAAjB,UAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;oBAAlC,IAAI,SAAO;oBACd,KAA4B,UAAyB,EAAzB,UAAI,CAAC,oBAAoB,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;wBAAlD,IAAI,eAAe;wBACtB,IAAI,SAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;4BACpC,SAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;yBACzB;qBACF;oBAED,KAA4B,UAAkC,EAAlC,UAAI,CAAC,6BAA6B,EAAlC,cAAkC,EAAlC,IAAkC,EAAE;wBAA3D,IAAI,eAAe;wBACtB,IAAI,SAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;4BACpC,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;4BACjC,SAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;yBACzC;qBACF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAK,SAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACxH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAK,SAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACtG,IAAI,CAAC,2BAA2B,CAAC,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC;IAC7E,CAAC;IAED,sDAAsB,GAAtB,UAAuB,OAAgB;QACrC,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAnB,CAAmB,CAAC,CAAC;QAEpF,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,oBAAoB,IAAI,IAAI,EAAE;gBAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACzC;SACF;aACI;YACH,IAAI,oBAAoB,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,KAAK,oBAAoB,EAA5B,CAA4B,CAAC,CAAC;aACnG;SACF;QACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,yCAAS,GAAjB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,4CAAS;aAAb;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,2CAAW,GAAX,UAAY,IAAU;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAznBwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;4DAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;uDAAC;IAxFvB,qBAAqB;QAPjC,+DAAS,CAAC;YACP,QAAQ,EAAE,cAAc;;;YAGxB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCA6FqB,qEAAgB;YACb,oEAAY;YACb,0DAAW;YACJ,+FAAqB;YACzB,wEAAc;YACpB,wDAAQ;OAhGjB,qBAAqB,CAitBjC;IAAD,4BAAC;CAAA;AAjtBiC;;;;;;;;;;;;AC9BlC,yCAAyC,uCAAuC,+PAA+P,oCAAoC,oKAAoK,gDAAgD,6HAA6H,2CAA2C,2KAA2K,yCAAyC,+GAA+G,oQ;;;;;;;;;;;ACAljC,+DAA+D,2K;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE6B;AACqC;AACrB;AAEA;AACE;AAQ/E;IASI,gCACW,SAA+C,EAC9C,YAA0B,EAC1B,kBAAyC,EACzC,WAAwB;QAHzB,cAAS,GAAT,SAAS,CAAsC;QAC9C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,gBAAW,GAAX,WAAW,CAAa;QAGhC,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAbD,sBAAI,4CAAQ;aAAZ;YAEI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAYD,qCAAI,GAAJ;QAEI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EACvB;YACI,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAEtC,IAAM,OAAO,GAAa;gBACtB,IAAI,EAAE,SAAS,CAAC,QAAQ;gBACxB,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,UAAU,EAAE,KAAK;aACpB,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjC;aAED;YACI,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;SACxL;IACL,CAAC;IAED,uCAAM,GAAN;QAEI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEO,0CAAS,GAAjB;QAEI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;SAClB,CAAC,CAAC;IACP,CAAC;IApDQ,sBAAsB;QALlC,+DAAS,CAAC;YACP,QAAQ,EAAE,qBAAqB;;;SAGlC,CAAC;yCAWwB,8DAAY;YACR,oEAAY;YACN,uFAAqB;YAC5B,0DAAW;OAb3B,sBAAsB,CAqDlC;IAAD,6BAAC;CAAA;AArDkC;;;;;;;;;;;;AClBnC,8OAA8O,qNAAqN,cAAc,slBAAslB,mjH;;;;;;;;;;;ACAviC,kCAAkC,uBAAuB,EAAE,uBAAuB,0BAA0B,uBAAuB,kBAAkB,cAAc,wBAAwB,mBAAmB,uBAAuB,gBAAgB,iBAAiB,YAAY,2BAA2B,oBAAoB,EAAE,0BAA0B,4BAA4B,2BAA2B,4CAA4C,mBAAmB,oBAAoB,+BAA+B,EAAE,iCAAiC,0BAA0B,oBAAoB,EAAE,aAAa,uBAAuB,iBAAiB,WAAW,cAAc,iBAAiB,iBAAiB,qBAAqB,iBAAiB,eAAe,iBAAiB,oBAAoB,sBAAsB,oBAAoB,EAAE,mBAAmB,iBAAiB,6BAA6B,EAAE,mBAAmB,mBAAmB,oBAAoB,EAAE,yBAAyB,4EAA4E,cAAc,EAAE,0BAA0B,6EAA6E,eAAe,EAAE,uBAAuB,uBAAuB,eAAe,iBAAiB,cAAc,gBAAgB,sBAAsB,yBAAyB,gBAAgB,uBAAuB,gDAAgD,EAAE,0CAA0C,yBAAyB,mBAAmB,kBAAkB,6BAA6B,EAAE,EAAE,qBAAqB,mBAAmB,oBAAoB,iBAAiB,EAAE,+CAA+C,2vH;;;;;;;;;;;;ACAtrD;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEkB;AAQlD;IALA;QAME,mBAAc,GAAG,KAAK,CAAC;QAEvB,kBAAa,GAAG;YACd;gBACE,GAAG,EAAE,mBAAO,CAAC,sFAAsC,CAAC;gBACpD,GAAG,EAAE,SAAS;gBACd,OAAO,EAAE,uDAAuD;gBAChE,IAAI,EAAE,2DAA2D;aAClE;YACD;gBACE,GAAG,EAAE,mBAAO,CAAC,sFAAsC,CAAC;gBACpD,GAAG,EAAE,eAAe;gBACpB,OAAO,EAAE,qFAAqF;gBAC9F,IAAI,EAAE,mBAAmB;aAC1B;YACD;gBACE,GAAG,EAAE,mBAAO,CAAC,sFAAsC,CAAC;gBACpD,GAAG,EAAE,oBAAoB;gBACzB,OAAO,EAAE,oEAAoE;gBAC7E,IAAI,EAAE,2DAA2D;aAClE;YACD;gBACE,GAAG,EAAE,mBAAO,CAAC,sFAAsC,CAAC;gBACpD,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE,8EAA8E;gBACvF,IAAI,EAAE,kCAAkC;aACzC;SACF,CAAC;IAgBJ,CAAC;IAdC,sCAAQ,GAAR;QACE,IAAI,CAAC,cAAc,GAAG;YACpB,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YAC5C,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACxB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,4BAA4B;SACrC,CAAC;IACJ,CAAC;IA3CU,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;;;SAGxB,CAAC;OACW,mBAAmB,CA4C/B;IAAD,0BAAC;CAAA;AA5C+B;;;;;;;;;;;;ACbhC,oWAAoW,kCAAkC,mIAAmI,mCAAmC,0JAA0J,0CAA0C,qHAAqH,qBAAqB,qTAAqT,iCAAiC,oFAAoF,wDAAwD,uFAAuF,oCAAoC,ySAAyS,2BAA2B,+jCAA+jC,uBAAuB,qBAAqB,uBAAuB,6LAA6L,UAAU,qBAAqB,OAAO,2LAA2L,YAAY,qBAAqB,OAAO,uE;;;;;;;;;;;ACAn2G,2BAA2B,sBAAsB,EAAE,+CAA+C,2e;;;;;;;;;;;;ACAlG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE4D;AACU;AAEb;AACV;AACL;AACV;AACL;AACN;AAQrD;IAYE,sCACU,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,mBAAwC,EACxC,QAAqB;QAJrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAa;QAhB/B,qBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAQjD,mCAA8B,GAAG,CAAC,CAAC;QAUjC,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAgB,CAAC;IAC3D,CAAC;IAED,+CAAQ,GAAR;QACE,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,sDAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,kDAAW,GAAX;QACE,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC5C;IACH,CAAC;IAED,sDAAe,GAAf;QAAA,iBAyBC;QAxBC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,+BAA+B,EAAE;QAE7E,IAAI,CAAC,uBAAuB,GAAG,YAAY;aACxC,SAAS,CAAC,uBAAa;YACtB,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;YAExC,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,aAAa,CAAC;QACvC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAE9B,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,mDAAmD,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;YACvH,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAElC,IAAI,KAAI,CAAC,8BAA8B,EAAE,GAAG,CAAC,EAAE;gBAC7C,UAAU,CAAC,cAAM,YAAI,CAAC,eAAe,EAAE,EAAtB,CAAsB,EAAE,IAAI,CAAC,CAAC;aAChD;iBACI;gBACH,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,mDAAmD,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;aAC/H;QACH,CAAC,CAAC,CAAC;IACT,CAAC;IAED,qDAAc,GAAd,UAAe,KAAW;QACxB,IAAI,KAAK,EAAE;YACT,OAAO,6DAAS,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,6DAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACjF;IACH,CAAC;IAED,oDAAa,GAAb,UAAc,YAA0B;QAAxC,iBAqBC;QApBC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAU,YAAY,CAAC,MAAM,MAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC/E,QAAQ,EAAE,CAAC,SAAS,CAAC;YACpB,KAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACrD,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE7B,KAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,CAAC;iBACtD,SAAS,CAAC,iBAAO;gBAChB,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAE9B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,EAA1B,CAA0B,CAAC;YACxF,CAAC,EACC,eAAK;gBACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAE9B,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,oEAAiE,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EAC7J,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gDAAS,GAAT,UAAU,GAAiB;QAA3B,iBAqBC;QApBC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAE3C,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC;aACpD,SAAS,CAAC,iBAAO;YAChB,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAE9B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;QACrB,CAAC,EACC,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAE9B,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,QAAQ,EAAE,6BAA2B,MAAM,uCAAiC,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EACjK,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,sBAAI,gEAAsB;aAA1B;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IAlHwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;mEAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;8DAAC;IALvB,4BAA4B;QALxC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;;;SAGjC,CAAC;yCAcwB,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACT,kFAAmB;YAC9B,6DAAW;OAjBpB,4BAA4B,CAuHxC;IAAD,mCAAC;CAAA;AAvHwC;;;;;;;;;;;;ACrBzC,kGAAkG,wBAAwB,+TAA+T,qBAAqB,KAAK,gBAAgB,+E;;;;;;;;;;;ACAne,iCAAiC,qBAAqB,qBAAqB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,+CAA+C,2pB;;;;;;;;;;;;ACAvL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEiG;AAKxC;AACE;AAIO;AAClC;AAEtC;AAE2C;AAQrE;IASE,qCACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QARxC,4BAAuB,GAAG,IAAI,0DAAW,EAAE,CAAC;QAGlC,0BAAqB,GAAG,IAAI,0DAAY,EAAE,CAAC;IAQrD,CAAC;IAED,iDAAW,GAAX,UAAY,KAAU;QACpB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAkBC;QAjBC,IAAI,CAAC,uBAAuB;aACzB,YAAY;aACZ,IAAI,CAAC,mEAAY,CAAC,GAAG,CAAC,EACrB,2EAAoB,EAAE,EACxB,gEAAS,CAAC,cAAI,IAAI,YAAI,CAAC,cAAc,CAAC,0CAA0C,CAAC,IAAI,CAAC,EAApE,CAAoE,CAAC,EACrF,iEAAU,CAAC,eAAK;YACd,OAAO,+CAAE,CAAQ,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CACH;aACA,SAAS,CAAC,UAAC,MAAM;YAChB,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,KAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;iBACzC;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0CAAI,GAAJ;IAEA,CAAC;IAED,wDAAkB,GAAlB,UAAmB,QAAkB;QACnC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzD,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;QAE7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IApDQ;QAAR,2DAAK,EAAE;kCAAiB,kFAAc;uEAAC;IAC9B;QAAT,4DAAM,EAAE;;8EAA4C;IAP1C,2BAA2B;QANvC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;;;SAG/B,CAAC;yCAYwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OAZ7B,2BAA2B,CA2DvC;IAAD,kCAAC;CAAA;AA3DuC;;;;;;;;;;;;AC5BxC,uyBAAuyB,OAAO,2HAA2H,+BAA+B,yDAAyD,iBAAiB,gBAAgB,2HAA2H,+BAA+B,m0C;;;;;;;;;;;ACA5rC,oCAAoC,mBAAmB,EAAE,iBAAiB,8BAA8B,sBAAsB,gBAAgB,EAAE,mMAAmM,iBAAiB,wBAAwB,wBAAwB,+BAA+B,qBAAqB,EAAE,mHAAmH,kBAAkB,EAAE,+CAA+C,+8C;;;;;;;;;;;;ACAhoB;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE6B;AACO;AACmC;AAGvG,mBAAO,CAAC,sDAAU,CAAC,CAAC;AAOpB;IAiDE,iCAAoB,YAA0B,EAAU,UAA2B;QAA/D,iBAAY,GAAZ,YAAY,CAAc;QAAU,eAAU,GAAV,UAAU,CAAiB;QA/CnF,cAAS,GAAG;YACV,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;YACrD,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;YACrD,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;SACtD,CAAC;QACF,gBAAW,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzD,iBAAY,GAAG;YACb,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,iBAAiB;aACxB;SACF,CAAC;QACF,gBAAW,GAAG;YACZ;gBACE,eAAe,EAAE,uBAAuB;gBACxC,WAAW,EAAE,qBAAqB;gBAClC,oBAAoB,EAAE,qBAAqB;gBAC3C,gBAAgB,EAAE,MAAM;gBACxB,yBAAyB,EAAE,MAAM;gBACjC,qBAAqB,EAAE,uBAAuB;aAC/C;YACD;gBACE,eAAe,EAAE,oBAAoB;gBACrC,WAAW,EAAE,kBAAkB;gBAC/B,oBAAoB,EAAE,kBAAkB;gBACxC,gBAAgB,EAAE,MAAM;gBACxB,yBAAyB,EAAE,MAAM;gBACjC,qBAAqB,EAAE,kBAAkB;aAC1C;YACD;gBACE,eAAe,EAAE,uBAAuB;gBACxC,WAAW,EAAE,qBAAqB;gBAClC,oBAAoB,EAAE,qBAAqB;gBAC3C,gBAAgB,EAAE,MAAM;gBACxB,yBAAyB,EAAE,MAAM;gBACjC,qBAAqB,EAAE,uBAAuB;aAC/C;SACF,CAAC;QACF,gBAAW,GAAG,IAAI,CAAC;QACnB,cAAS,GAAG,MAAM,CAAC;IAOnB,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,cAAM,YAAI,CAAC,SAAS,EAAE,EAAhB,CAAgB,EAAE,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,gBAAM,IAAI,YAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAxD,CAAwD,CAAC,CAAC;IACpI,CAAC;IAED,6CAAW,GAAX;QACE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,2CAAS,GAAT;QACE,IAAI,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAEnG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/D;SACF;QAED,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,iDAAe,GAAf,UAAgB,IAAY;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,6CAAW,GAAX,UAAY,GAAW;QACrB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,4CAAU,GAAV,UAAW,GAAW;QAAtB,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,kEAAU,CAAC,MAAM,EAAE,UAAC,GAAG,IAAK,YAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EAAzB,CAAyB,EAAE,cAAM,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAArB,CAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtK,CAAC;IAED,2CAAS,GAAT,UAAU,QAAiB,EAAE,KAAc;QAA3C,iBAeC;QAbC,IAAI,QAAQ,EAAE;YAEZ,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;YAE/E,UAAU,CAAC;gBAET,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,oDAAkD,KAAK,OAAI,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;YAC9H,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;aACI;YACH,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,6BAA6B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;SAC/F;IACH,CAAC;IAED,8CAAY,GAAZ,UAAa,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,8CAAY,GAAZ,UAAa,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IA/GU,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;;;SAG5B,CAAC;yCAkDkC,oEAAY,EAAsB,oEAAe;OAjDxE,uBAAuB,CAgHnC;IAAD,8BAAC;CAAA;AAhHmC;;;;;;;;;;;;ACjBpC,qRAAqR,0CAA0C,+JAA+J,iDAAiD,8oCAA8oC,wCAAwC,yHAAyH,WAAW,gKAAgK,+CAA+C,2GAA2G,kBAAkB,uSAAuS,uCAAuC,gMAAgM,6CAA6C,iGAAiG,oDAAoD,uFAAuF,0CAA0C,iSAAiS,2BAA2B,4J;;;;;;;;;;;ACAlyG,sCAAsC,sBAAsB,EAAE,gBAAgB,kCAAkC,EAAE,+CAA+C,ukB;;;;;;;;;;;;ACAjK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE2E;AACL;AAC5C;AAEA;AAC+B;AACV;AACA;AAC1B;AAEgB;AAerE;IA0CI,2BACY,YAA0B,EAC1B,kBAAyC,EACzC,YAA+B,EAC/B,WAAwB,EACxB,QAAqB,EACtB,MAAiB;QALhB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAa;QACtB,WAAM,GAAN,MAAM,CAAW;QA5C5B,qBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAQhE,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAEhC,wBAAmB,GAAY,KAAK,CAAC;QAmCjC,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAY,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,IAAI,uEAAc,CAAW,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;0BArDQ,iBAAiB;IAkB1B,sBAAI,4CAAa;aAAjB;YAEI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAChC;gBACI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;aACzD;YAED,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAI,kDAAmB;aAAvB;YAEI,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9E,CAAC;;;OAAA;IAED,sBAAI,iDAAkB;aAAtB;YAEI,OAAO,IAAI,CAAC,mBAAmB,CAAC;QACpC,CAAC;aACD,UAAuB,KAAc;YAEjC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACrC,CAAC;;;OAJA;IAmBD,oCAAQ,GAAR;QAAA,iBAYC;QAVG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,KAAK,CAAC,UAAC,IAAI;YAEZ,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,KAAI,CAAC,cAAc,GAAG,IAAI,uEAAc,CAAW,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC,CAAC;YACzF,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2CAAe,GAAf;QAAA,iBAKC;QAHG,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,MAAM,IAAK,YAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAA7B,CAA6B,CAAC;IACtF,CAAC;IAED,uCAAW,GAAX;QAEI,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,gDAAoB,GAApB;QAEI,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,mCAAO,GAAP;QAEI,2EAA2E;QAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,kDAAsB,GAAtB;QAAA,iBAkBC;QAhBG,IAAI,IAAI,CAAC,mBAAmB,EAC5B;YACI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAI;gBAE7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;SACN;aAED;YACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAI;gBAE7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;YACpC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,8CAAkB,GAAlB,UAAmB,IAAc;QAE7B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,uCAAW,GAAX,UAAY,WAAmB;QAE3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAC1B;YACI,WAAW,GAAG,GAAG;SACpB;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;IACzC,CAAC;IAED,iCAAK,GAAL,UAAM,EAAE;QAAR,iBA0CC;QAxCG,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;QAE7B,IAAI,IAAI,IAAI,IAAI,EAChB;YACI,UAAU,CAAC;gBAEP,IAAI,GAAG,KAAI,CAAC,WAAW,EAAE,CAAC;gBAE1B,IAAI,IAAI,IAAI,IAAI,EAChB;oBACI,IAAI,GAAG;wBACH;4BACI,UAAU,EAAE,IAAI;4BAChB,WAAW,EAAE,IAAI;4BACjB,IAAI,EAAE,gCAAgC;4BACtC,WAAW,EAAE,6GAA6G;yBAC7H;wBACD;4BACI,UAAU,EAAE,KAAK;4BACjB,WAAW,EAAE,IAAI;4BACjB,IAAI,EAAE,2BAA2B;4BACjC,WAAW,EAAE,EAAE;yBAClB;wBACD;4BACI,UAAU,EAAE,KAAK;4BACjB,WAAW,EAAE,KAAK;4BAClB,IAAI,EAAE,6DAA6D;4BACnE,WAAW,EAAE,iFAAiF;gCAC9F,iMAAiM;yBACpM;qBACJ,CAAC;iBACL;gBAED,EAAE,CAAC,IAAI,CAAC,CAAC;YACb,CAAC,EAAE,IAAI,CAAC,CAAC;SACZ;aAED;YACI,EAAE,CAAC,IAAI,CAAC,CAAC;SACZ;IACL,CAAC;IAED,0CAAc,GAAd,UAAe,OAAe,EAAE,OAAe;QAE3C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED,mCAAO,GAAP;QAAA,iBAeC;QAbG,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAsB,EACnD;YACI,UAAU,EAAE,eAAe;SAC9B,CAAC,CAAC;QACP,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAO;YAErC,IAAI,OAAO,EACX;gBACI,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnC,KAAI,CAAC,OAAO,EAAE;gBACd,KAAI,CAAC,UAAU,EAAE,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yCAAa,GAAb,UAAc,IAAI;QAAlB,iBAQC;QANG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC/D,QAAQ,EAAE,CAAC,SAAS,CAAC;YAElB,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,KAAK,IAAI,EAAb,CAAa,CAAC;YACzE,KAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACX,CAAC;IAED,uCAAW,GAAX;QAEI,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAgB,mBAAiB,CAAC,aAAa,SAAI,IAAI,CAAC,aAAe,CAAC,CAAC;IACnH,CAAC;IAED,sCAAU,GAAV;QAEI,IAAI,IAAI,CAAC,YAAY,EACrB;YACI,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAK,mBAAiB,CAAC,aAAa,SAAI,IAAI,CAAC,aAAe,CAAC,CAAC;SAC7H;IACL,CAAC;IAEO,sCAAU,GAAlB,UAAmB,IAAc,EAAE,MAAc;QAE7C,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,6DAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9H,CAAC;;IA3NsB,+BAAa,GAAG,qBAAqB,CAAC;IAMpC;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;wDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;mDAAC;IATzB,iBAAiB;QAL7B,+DAAS,CAAC;YACP,QAAQ,EAAE,WAAW;;;SAGxB,CAAC;yCA4C4B,oEAAY;YACN,uFAAqB;YAC3B,uFAAiB;YAClB,kEAAW;YACd,6DAAW;YACd,2DAAS;OAhDnB,iBAAiB,CA8N7B;IAAD,wBAAC;CAAA;AA9N6B;;;;;;;;;;;;AC9B9B,ynGAAynG,gKAAgK,o+BAAo+B,gBAAgB,yBAAyB,4QAA4Q,gBAAgB,yBAAyB,gM;;;;;;;;;;;ACA3lJ,iCAAiC,qBAAqB,qBAAqB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,iDAAiD,+jD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACApnB,uCAAS,kCAAgC;AACzC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEU;AACY;AAC4C;AACrB;AACb;AACL;AACnB;AAQxC;IAaE,4BACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QATxC,cAAS,GAAG;YACV,SAAS,EAAE;gBACT,GAAG,EAAE,iCAAiC;aACvC;SACF,CAAC;QAQA,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,qCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,wEAAS,EAAE,CAAC;QACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,qDAAwB,GAAxB;QAAA,iBAYC;QAXC,IAAI,CAAC,cAAc;aAChB,gBAAgB,EAAE;aAClB,SAAS,CAAC,gBAAM;YAEf,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAExB,8BAA8B;QAEhC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,iCAAI,GAAJ;QAAA,iBASC;QARC,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CACxD,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,SAAS,CAAC,EAAtC,CAAsC,EAC9C,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;aACI;SAEJ;IACH,CAAC;IAEO,8CAAiB,GAAzB,UAA0B,SAAqB;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,0CAA0C,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;IAChH,CAAC;IAEO,6CAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,sCAAS,GAAjB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,mCAAmC;YACnC,wCAAwC;YACxC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,qCAAqC;YACrC,0CAA0C;YAC1C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,sCAAM;aAAV;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,yCAAS;aAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,qCAAK;aAAT;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,4CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAUD,sBAAI,yCAAS;QARb,iBAAiB;QACjB,gDAAgD;QAChD,GAAG;QAEH,sBAAsB;QACtB,qDAAqD;QACrD,GAAG;aAEH;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,uCAAO;aAAX;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAEO,mCAAM,GAAd;IAEA,CAAC;IAED,8CAAiB,GAAjB,UAAkB,KAAe;QAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,4CAAe,GAAf;QAAA,iBAoBC;QAnBC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YAC5G,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnF,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM;YACvF,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,6BAA6B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;YACrG,KAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC,EACC,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjG,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6CAAgB,GAAhB;QAAA,iBASC;QARC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAM;YAC9E,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,EAAE,iBAAiB,CAAC,6BAA6B;aACtD,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC;YAClD,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAhKU,kBAAkB;QAN9B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;;;YAGnB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAewB,oEAAY;YACb,0DAAW;YACR,wEAAc;OAhB7B,kBAAkB,CAiK9B;IAAD,yBAAC;CAAA;AAjK8B;;;;;;;;;;;;ACnB/B,uJ;;;;;;;;;;;ACAA,0BAA0B,yBAAyB,uBAAuB,eAAe,EAAE,mBAAmB,uBAAuB,EAAE,+CAA+C,+mB;;;;;;;;;;;;ACAtL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEU;AACY;AACsB;AACnC;AACyB;AACL;AAQ7D;IAEI,uBACS,cAAoC,EACnC,MAAc,EACd,cAA8B;QAF/B,mBAAc,GAAd,cAAc,CAAsB;QACnC,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;IAGxC,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;SACjD;aACI;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SACtC;IACH,CAAC;IAED,sBAAI,uCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,0EAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/E,CAAC;;;OAAA;IArBQ,aAAa;QANzB,+DAAS,CAAC;YACP,QAAQ,EAAE,MAAM;;;YAGhB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAI2B,oFAAoB;YAC3B,sDAAM;YACE,+EAAc;OAL/B,aAAa,CAsBzB;IAAD,oBAAC;CAAA;AAtByB;;;;;;;;;;;;AClB1B,qgCAAqgC,0B;;;;;;;;;;;ACArgC,mDAAmD,gBAAgB,yBAAyB,EAAE,+CAA+C,+gB;;;;;;;;;;;;ACA7I;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEqE;AACzB;AAEa;AAC/B;AACkB;AACvB;AACK;AAO1D;IAiBE,+BACU,YAA0B,EAC1B,WAAwB,EACxB,cAAoC,EACpC,WAAwB;QAHxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAsB;QACpC,gBAAW,GAAX,WAAW,CAAa;QApBlC,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAG,IAAI,CAAC;QAUvB,YAAO,GAAG,KAAK,CAAC;QAGhB,kBAAa,GAAG,IAAI,0DAAY,EAAE,CAAC;QAOjC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAkBC;QAjBC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtB,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU;SACxC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;SACtC;aACI;YACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE;iBAClE,SAAS,CAAC,oBAAU;gBACnB,IAAI,KAAI,CAAC,iBAAiB,EAAE,EAAE;oBAC5B,KAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,2CAAW,GAAX;QACE,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC5C;IACH,CAAC;IAED,yCAAS,GAAT;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,2CAAQ;aAAZ,cAAiB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;;OAAA;IAEzD,sBAAI,2CAAQ;aAAZ,cAAiB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;;OAAA;IAEzD,iDAAiB,GAAjB;QACE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC5F,CAAC;IAED,0CAAU,GAAV;QACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,4CAAY,GAAZ;QACE,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACvC,OAAO,IAAI,kEAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IAED,qCAAK,GAAL;QAAA,iBAwDC;QAvDC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO;SACR;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;aACxC,SAAS,CACR,cAAI;YACF,UAAU,CAAC;gBACT,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,IAAI,CAAC,KAAI,CAAC,OAAO,EAAE;oBACjB,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,aAAW,IAAI,CAAC,QAAQ,MAAG,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;iBAC9F;qBACI;oBACH,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAe,IAAI,CAAC,QAAQ,eAAY,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;oBAC1G,UAAU,CAAC;wBACT,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,sCAAsC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;oBAC3H,CAAC,EAAE,GAAG,CAAC,CAAC;oBAER,KAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,EACD,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YAEvC,IAAI,6DAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBACnC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,6DAAS,CAAC,uBAAuB,EAAE,6DAAS,CAAC,sBAAsB,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvI,KAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;iBACI;gBACH,IAAI,YAAY,GAAG,6DAAS,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,6DAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEtI,IAAI,YAAY,EAAE;oBAChB,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC/H;qBACI;oBACH,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,oDAAoD,GAAG,6DAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC/K;aACF;YACD,UAAU,CAAC;gBACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACT,CAAC;IAGD,kDAAkB,GAAlB;QAEE,IAAI,6DAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,6DAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAE1G,IAAI,MAAM,GAAG,MAAM,CAAC,8EAA8E;gBAChG,wFAAwF,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAEjI,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,0CAA0C,GAAG,MAAM,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;aAChI;SACF;IACH,CAAC;IAGD,oDAAoB,GAApB,UAAqB,KAAa;QAEhC,IAAI,KAAK,IAAI,8BAA8B;YACzC,OAAO,8BAA8B,CAAC;QAExC,IAAI,KAAK,IAAI,eAAe;YAC1B,OAAO,gCAAgC,CAAC;QAE1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAK,GAAL;QAAA,iBAMC;QALC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,UAAU,CAAC;YACT,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAY,GAAZ;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IArKD;QADC,+DAAS,CAAC,MAAM,CAAC;kCACJ,qDAAM;uDAAC;IAGrB;QADC,2DAAK,EAAE;;0DACQ;IAGhB;QADC,4DAAM,EAAE;;gEAC0B;IAfxB,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;;;SAG9B,CAAC;yCAmBwB,oEAAY;YACb,kEAAW;YACR,oFAAoB;YACvB,0DAAW;OArBvB,qBAAqB,CA+KjC;IAAD,4BAAC;CAAA;AA/KiC;;;;;;;;;;;;ACnBlC,+EAA+E,8BAA8B,ujBAAujB,sb;;;;;;;;;;;ACApqB,+DAA+D,mK;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;AAE4C;AACC;AAEX;AAQlE;IAOE,8BACW,SAA6C,EACpB,IAAS;QADlC,cAAS,GAAT,SAAS,CAAoC;QACpB,SAAI,GAAJ,IAAI,CAAK;QAP7C,+BAA0B,GAAY,KAAK,CAAC;IAOK,CAAC;IAElD,8CAAe,GAAf;QAAA,iBAGC;QADG,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,cAAM,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAA1B,CAA0B,CAAC;IAC7E,CAAC;IAED,uCAAQ,GAAR;QAEI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,iDAAkB,GAAlB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IAC1C,CAAC;IAtBD;QADC,+DAAS,CAAC,8EAAqB,CAAC;kCACnB,8EAAqB;8DAAC;IALzB,oBAAoB;QALhC,+DAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;;;SAG/B,CAAC;QAUK,uEAAM,CAAC,iEAAe,CAAC;yCADN,8DAAY;OARvB,oBAAoB,CA4BhC;IAAD,2BAAC;CAAA;AA5BgC;;;;;;;;;;;;AChBjC,wPAAwP,8BAA8B,icAAic,0CAA0C,0hD;;;;;;;;;;;ACAjwB,6CAA6C,sBAAsB,mBAAmB,EAAE,EAAE,gCAAgC,sBAAsB,mBAAmB,EAAE,EAAE,iBAAiB,0BAA0B,uBAAuB,EAAE,+CAA+C,20B;;;;;;;;;;;;ACA1R;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEqB;AACa;AACU;AAC3B;AACe;AACa;AACE;AAED;AAO9E;IAgBE,wBACU,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,KAAqB;QAJ/B,iBAQC;QAPS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAgB;QAlB/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,wBAAmB,GAAY,IAAI,CAAC;QACpC,sBAAiB,GAAY,IAAI,CAAC;QAiBhC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YACrC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAMC;QALC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CACrD,cAAI,IAAI,YAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAxB,CAAwB,EAChC,eAAK,IAAI,YAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;SACpC;QAAA,CAAC;IACJ,CAAC;IAEO,sCAAa,GAArB,UAAsB,IAAW;QAC/B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC,QAAQ,GAAG,0BAA0B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;IACzI,CAAC;IAEO,mCAAU,GAAlB,UAAmB,KAAU;QAC3B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,2CAAkB,GAAlB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,yCAAgB,GAAhB;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,+CAAsB,GAAtB;QACE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,wCAAe,GAAf;QAAA,iBAMC;QALC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,SAAS,CAAC,cAAI;YAClD,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAgB,GAAhB;QACE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,mDAA0B,GAA1B;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IA5ED;QADC,+DAAS,CAAC,8EAAqB,CAAC;kCACnB,8EAAqB;wDAAC;IAGpC;QADC,+DAAS,CAAC,oFAAqB,CAAC;kCACV,oFAAqB;iEAAC;IAG7C;QADC,+DAAS,CAAC,2FAAqB,CAAC;kCACd,2FAAqB;6DAAC;IAb9B,cAAc;QAL1B,+DAAS,CAAC;YACP,QAAQ,EAAE,WAAW;;;SAGxB,CAAC;yCAkBwB,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACvB,8DAAc;OApBpB,cAAc,CAoF1B;IAAD,qBAAC;CAAA;AApF0B;;;;;;;;;;;;ACpB3B,2UAA2U,KAAK,4BAA4B,gCAAgC,qCAAqC,kIAAkI,mCAAmC,uC;;;;;;;;;;;ACAtlB,+DAA+D,mK;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEU;AACY;AAQtD;IAAA;IAEA,CAAC;IAFY,iBAAiB;QAN7B,+DAAS,CAAC;YACP,QAAQ,EAAE,WAAW;;;YAGrB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;OACW,iBAAiB,CAE7B;IAAD,wBAAC;CAAA;AAF6B;;;;;;;;;;;;ACd9B,+bAA+b,MAAM,MAAM,MAAM,MAAM,wIAAwI,6BAA6B,+FAA+F,MAAM,MAAM,MAAM,MAAM,8ZAA8Z,MAAM,MAAM,MAAM,MAAM,6ZAA6Z,MAAM,MAAM,MAAM,MAAM,kKAAkK,6HAA6H,6hBAA6hB,UAAU,oQAAoQ,mBAAmB,oQAAoQ,qMAAqM,qQAAqQ,YAAY,6QAA6Q,yBAAyB,2QAA2Q,eAAe,kRAAkR,kBAAkB,iRAAiR,uBAAuB,wZAAwZ,6OAA6O,2BAA2B,whGAAwhG,aAAa,2DAA2D,wCAAwC,uEAAuE,+CAA+C,gEAAgE,yCAAyC,0DAA0D,oCAAoC,sDAAsD,gCAAgC,6DAA6D,sCAAsC,wDAAwD,kCAAkC,iEAAiE,0CAA0C,wEAAwE,gDAAgD,yDAAyD,mCAAmC,kEAAkE,2CAA2C,2DAA2D,qCAAqC,4DAA4D,sCAAsC,wDAAwD,kCAAkC,4DAA4D,qCAAqC,wDAAwD,kCAAkC,kEAAkE,0CAA0C,2DAA2D,qCAAqC,0EAA0E,kDAAkD,2DAA2D,oCAAoC,8DAA8D,wCAAwC,4EAA4E,oDAAoD,oEAAoE,6CAA6C,uDAAuD,iCAAiC,0DAA0D,oCAAoC,yDAAyD,mCAAmC,yDAAyD,mCAAmC,+DAA+D,yCAAyC,2EAA2E,oDAAoD,6EAA6E,qDAAqD,4DAA4D,sCAAsC,uDAAuD,iCAAiC,4DAA4D,qCAAqC,uDAAuD,iCAAiC,+EAA+E,sDAAsD,0DAA0D,oCAAoC,yDAAyD,mCAAmC,gEAAgE,wCAAwC,mEAAmE,4CAA4C,sDAAsD,gCAAgC,wEAAwE,iDAAiD,2DAA2D,qCAAqC,iEAAiE,0CAA0C,gEAAgE,yCAAyC,uDAAuD,iCAAiC,kEAAkE,2CAA2C,4DAA4D,qCAAqC,+DAA+D,yCAAyC,2DAA2D,oCAAoC,2DAA2D,qCAAqC,uDAAuD,iCAAiC,4DAA4D,sCAAsC,sDAAsD,gCAAgC,6DAA6D,uCAAuC,yDAAyD,mCAAmC,2DAA2D,qCAAqC,2DAA2D,yCAAyC,qEAAqE,6CAA6C,2DAA2D,qCAAqC,8EAA8E,qDAAqD,yEAAyE,iDAAiD,yDAAyD,mCAAmC,+DAA+D,wCAAwC,2TAA2T,aAAa,2DAA2D,wCAAwC,uEAAuE,+CAA+C,gEAAgE,yCAAyC,iEAAiE,0CAA0C,0DAA0D,oCAAoC,2DAA2D,qCAAqC,iEAAiE,0CAA0C,kEAAkE,0CAA0C,2DAA2D,qCAAqC,6DAA6D,sCAAsC,wDAAwD,kCAAkC,sDAAsD,gCAAgC,wEAAwE,gDAAgD,yDAAyD,mCAAmC,kEAAkE,2CAA2C,4DAA4D,qCAAqC,+DAA+D,yCAAyC,2EAA2E,oDAAoD,wDAAwD,kCAAkC,2DAA2D,qCAAqC,2DAA2D,qCAAqC,4DAA4D,sCAAsC,0EAA0E,kDAAkD,8DAA8D,wCAAwC,4DAA4D,sCAAsC,+DAA+D,wCAAwC,4EAA4E,oDAAoD,oEAAoE,6CAA6C,yDAAyD,mCAAmC,wEAAwE,iDAAiD,wDAAwD,kCAAkC,uDAAuD,iCAAiC,6DAA6D,uCAAuC,2DAA2D,qCAAqC,sDAAsD,gCAAgC,yDAAyD,mCAAmC,6EAA6E,qDAAqD,yDAAyD,mCAAmC,uDAAuD,iCAAiC,8EAA8E,qDAAqD,+EAA+E,sDAAsD,0DAA0D,oCAAoC,2DAA2D,oCAAoC,4DAA4D,sCAAsC,4DAA4D,qCAAqC,yDAAyD,mCAAmC,gEAAgE,wCAAwC,gEAAgE,yCAAyC,sDAAsD,gCAAgC,mEAAmE,4CAA4C,yDAAyD,mCAAmC,uDAAuD,iCAAiC,+DAA+D,yCAAyC,kEAAkE,2CAA2C,uDAAuD,iCAAiC,2DAA2D,qCAAqC,2DAA2D,yCAAyC,qEAAqE,6CAA6C,2DAA2D,oCAAoC,0DAA0D,oCAAoC,yEAAyE,iDAAiD,uDAAuD,iCAAiC,4DAA4D,qCAAqC,2TAA2T,aAAa,2DAA2D,wCAAwC,uEAAuE,+CAA+C,oEAAoE,6CAA6C,2DAA2D,yCAAyC,2DAA2D,qCAAqC,4DAA4D,sCAAsC,0DAA0D,oCAAoC,6DAA6D,sCAAsC,gEAAgE,yCAAyC,wDAAwD,kCAAkC,sDAAsD,gCAAgC,wEAAwE,gDAAgD,yEAAyE,iDAAiD,4DAA4D,qCAAqC,kEAAkE,2CAA2C,yDAAyD,mCAAmC,2DAA2D,qCAAqC,uDAAuD,iCAAiC,+DAA+D,yCAAyC,2EAA2E,oDAAoD,4DAA4D,qCAAqC,0DAA0D,oCAAoC,2DAA2D,qCAAqC,wDAAwD,kCAAkC,kEAAkE,0CAA0C,2DAA2D,qCAAqC,mEAAmE,4CAA4C,wDAAwD,kCAAkC,0EAA0E,kDAAkD,4DAA4D,sCAAsC,8DAA8D,wCAAwC,yDAAyD,mCAAmC,yDAAyD,mCAAmC,6EAA6E,qDAAqD,uDAAuD,iCAAiC,uDAAuD,iCAAiC,+EAA+E,sDAAsD,4DAA4D,sCAAsC,+DAA+D,wCAAwC,0DAA0D,oCAAoC,yDAAyD,mCAAmC,2DAA2D,qCAAqC,iEAAiE,0CAA0C,gEAAgE,yCAAyC,gEAAgE,wCAAwC,sDAAsD,gCAAgC,uDAAuD,iCAAiC,4EAA4E,oDAAoD,uDAAuD,iCAAiC,+DAA+D,yCAAyC,kEAAkE,2CAA2C,sDAAsD,gCAAgC,4DAA4D,qCAAqC,2DAA2D,oCAAoC,qEAAqE,6CAA6C,2DAA2D,oCAAoC,2DAA2D,qCAAqC,iEAAiE,0CAA0C,wEAAwE,iDAAiD,8EAA8E,qDAAqD,yDAAyD,mCAAmC,6DAA6D,uCAAuC,yDAAyD,mCAAmC,2TAA2T,aAAa,2DAA2D,wCAAwC,2DAA2D,oCAAoC,4DAA4D,qCAAqC,uEAAuE,+CAA+C,6EAA6E,qDAAqD,0DAA0D,oCAAoC,yDAAyD,mCAAmC,0DAA0D,oCAAoC,4DAA4D,qCAAqC,qEAAqE,6CAA6C,2DAA2D,yCAAyC,sDAAsD,gCAAgC,wDAAwD,kCAAkC,yDAAyD,mCAAmC,4DAA4D,sCAAsC,2DAA2D,qCAAqC,gEAAgE,yCAAyC,6DAA6D,sCAAsC,+DAA+D,yCAAyC,2EAA2E,oDAAoD,0EAA0E,kDAAkD,wDAAwD,kCAAkC,kEAAkE,0CAA0C,yDAAyD,mCAAmC,2DAA2D,qCAAqC,mEAAmE,4CAA4C,0DAA0D,oCAAoC,2DAA2D,qCAAqC,wDAAwD,kCAAkC,2DAA2D,oCAAoC,yDAAyD,mCAAmC,oEAAoE,6CAA6C,4DAA4D,sCAAsC,uDAAuD,iCAAiC,8DAA8D,wCAAwC,+EAA+E,sDAAsD,kEAAkE,2CAA2C,uDAAuD,iCAAiC,+DAA+D,wCAAwC,yDAAyD,mCAAmC,2DAA2D,qCAAqC,iEAAiE,0CAA0C,4DAA4D,qCAAqC,yDAAyD,mCAAmC,gEAAgE,wCAAwC,4EAA4E,oDAAoD,sDAAsD,gCAAgC,uDAAuD,iCAAiC,wEAAwE,gDAAgD,uDAAuD,iCAAiC,+DAA+D,yCAAyC,kEAAkE,2CAA2C,4DAA4D,sCAAsC,2DAA2D,qCAAqC,sDAAsD,gCAAgC,2DAA2D,qCAAqC,iEAAiE,0CAA0C,wEAAwE,iDAAiD,8EAA8E,qDAAqD,gEAAgE,yCAAyC,6DAA6D,uCAAuC,yEAAyE,iDAAiD,uDAAuD,iCAAiC,iHAAiH,MAAM,MAAM,MAAM,MAAM,4GAA4G,kBAAkB,oBAAoB,wgBAAwgB,uCAAuC,sTAAsT,kCAAkC,uTAAuT,oCAAoC,oWAAoW,uBAAuB,kCAAkC,sXAAsX,uBAAuB,oCAAoC,sXAAsX,uBAAuB,oCAAoC,sXAAsX,uBAAuB,oCAAoC,sOAAsO,oBAAoB,iJAAiJ,oBAAoB,uBAAuB,0CAA0C,+OAA+O,oBAAoB,yJAAyJ,oBAAoB,uBAAuB,iDAAiD,sMAAsM,kCAAkC,8GAA8G,kBAAkB,oBAAoB,89BAA89B,0BAA0B,iTAAiT,qBAAqB,kTAAkT,uBAAuB,+VAA+V,uBAAuB,qBAAqB,iXAAiX,uBAAuB,uBAAuB,iXAAiX,uBAAuB,uBAAuB,iXAAiX,uBAAuB,uBAAuB,sOAAsO,oBAAoB,4IAA4I,oBAAoB,uBAAuB,+CAA+C,+OAA+O,oBAAoB,oJAAoJ,oBAAoB,uBAAuB,sDAAsD,uMAAuM,mCAAmC,2XAA2X,kBAAkB,oBAAoB,kQAAkQ,MAAM,MAAM,MAAM,MAAM,MAAM,qTAAqT,MAAM,MAAM,MAAM,MAAM,MAAM,sRAAsR,0BAA0B,iXAAiX,qBAAqB,gVAAgV,uBAAuB,gYAAgY,qBAAqB,yBAAyB,qBAAqB,kcAAkc,yBAAyB,uBAAuB,kcAAkc,yBAAyB,uBAAuB,kcAAkc,yBAAyB,uBAAuB,qTAAqT,oBAAoB,8IAA8I,oBAAoB,yBAAyB,+CAA+C,uPAAuP,oBAAoB,sJAAsJ,oBAAoB,yBAAyB,sDAAsD,+MAA+M,mCAAmC,iHAAiH,MAAM,MAAM,MAAM,MAAM,MAAM,qJAAqJ,kBAAkB,oBAAoB,2GAA2G,yBAAyB,4rBAA4rB,MAAM,MAAM,MAAM,MAAM,MAAM,kFAAkF,mBAAmB,wBAAwB,mCAAmC,obAAob,MAAM,MAAM,MAAM,MAAM,MAAM,kMAAkM,MAAM,MAAM,MAAM,MAAM,MAAM,oO;;;;;;;;;;;ACAr4kD,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,uBAAuB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,aAAa,qBAAqB,EAAE,cAAc,oBAAoB,6BAA6B,EAAE,WAAW,4BAA4B,kBAAkB,sBAAsB,gBAAgB,2BAA2B,2BAA2B,EAAE,iDAAiD,+mE;;;;;;;;;;;;ACAx4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACT;AACzB;AACqC;AAC7D;AAIgC;AACS;AACvB;AAS1D;IAuJE,wBACU,SAA2B,EAC3B,YAA0B,EAC1B,WAAwB,EACxB,kBAAyC,EACzC,cAA8B;QAJ9B,cAAS,GAAT,SAAS,CAAkB;QAC3B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAvJxC,kBAAa,GAAY,KAAK,CAAC;QAI/B,OAAE,GAAW,EAAE,CAAC;QAChB,YAAO,GAAW,EAAE,CAAC;QACrB,qBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC/G,4BAAuB,GAAG,CAAC,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;QACtL,6BAAwB,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;QACjM,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAUhC,cAAS,GAAG,IAAI,wEAAc,CAAU,IAAI,EAAE,EAAE,CAAC,CAAC;QAIlD,yBAAoB,GAAY,KAAK,CAAC;QAGtC,eAAU,GAAW,KAAK,CAAC;QAC3B,gBAAW,GAAW,IAAI,CAAC;QAC3B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAY,IAAI,CAAC;QACvB,WAAM,GAAY,IAAI,CAAC;QACvB,WAAM,GAAY,IAAI,CAAC;QAEvB,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAS7B,cAAS,GAAG,UAAC,IAAU,EAAE,MAAc;YACrC,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAuGA,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAW,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,IAAI,oEAAkB,EAAe,CAAC;QACpE,IAAI,CAAC,qBAAqB,GAAG,IAAI,oEAAkB,EAAe,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,oEAAkB,EAAW,CAAC;QAC5D,IAAI,CAAC,0BAA0B,GAAG,IAAI,oEAAkB,EAAW,CAAC;QACpE,IAAI,CAAC,2BAA2B,GAAG,IAAI,oEAAkB,EAAW,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,oEAAkB,EAAQ,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IA7GD,qCAAY,GAAZ;QAAA,iBA6BC;QA5BC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACtF,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACtG,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEhG,IAAI,CAAC,cAAc;aAChB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;aACjD,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC3C,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QACnC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2CAAkB,GAAlB;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,mCAAU,GAAV,UAAW,KAAY;QAAvB,iBAyBC;QAxBC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,cAAc;aAChB,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;aAClC,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,IAAI,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,KAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,KAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC/C,KAAI,CAAC,sBAAsB,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC1D,KAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC;aACzD;YAED,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2CAAkB,GAAlB,UAAmB,KAAY;QAA/B,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,8BAA8B,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC;IAC5H,CAAC;IAED,oCAAW,GAAX,UAAY,KAAY;QAAxB,iBAWC;QAVC,IAAI,QAAQ,GAAG,IAAI,kEAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;QAEtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC/C,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YACrD,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC3C,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,gEAAK,EAAE,CAAC;IAC3B,CAAC;IAmBD,0CAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;IACH,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAuBE;QAtBA,IAAI,CAAC,KAAK,GAAG,IAAI,gEAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC/C,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,IAAI,SAAS,EAAE;YAC7D,gBAAgB,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAsB;YAC3D,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE;gBACnD,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;aAC5C;iBACI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE;gBACxD,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;aACrC;YACD,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACpC,KAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAEF,6BAAI,GAAJ,UAAK,KAAc;QAAnB,iBAcC;QAbC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7B,KAAoB,UAA0D,EAA1D,SAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,IAAI,EAAnB,CAAmB,CAAC,EAA1D,cAA0D,EAA1D,IAA0D,EAAE;YAA3E,IAAI,OAAO;YACd,IAAI,WAAW,GAAG,IAAI,wEAAa,CAAC;YACpC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAC5C,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,KAAK,EAAE,6BAA6B,CAAC,EAAjE,CAAiE,EACzE,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,0CAAiB,GAAzB,UAA0B,KAAa,EAAE,KAAc;QACrD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACO,uDAA8B,GAAtC,UAAuC,KAAc;QACnD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAEO,yCAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEM,sCAAa,GAApB,UAAqB,KAAY;QAAjC,iBAoBC;QAnBC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,gBAAM;YACxG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,EAAE,iBAAiB,CAAC,6BAA6B;aACtD,CAAC,CAAC;YACH,IAAI,KAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC7B,IAAI,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC;gBAC5C,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAClC;iBACI,IAAI,KAAI,CAAC,UAAU,KAAK,MAAM,EAAE;gBACnC,IAAI,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;gBAC7C,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAClC;iBACI,IAAI,KAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAClC,IAAI,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;gBAC7C,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAClC;YACD,KAAI,CAAC,8BAA8B,CAAC,+BAA+B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kCAAS,GAAjB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACnC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACpC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACxC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YACvC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,yCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;;;OAAA;IAED,sBAAI,kCAAM;aAAV;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,sCAAU;aAAd;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,qCAAS;aAAb;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,wCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAEO,+BAAM,GAAd;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,oCAAW,GAAX,UAAY,IAAU;QACpB,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC1F,CAAC;IAED,kCAAS,GAAT,UAAU,KAAc;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,8CAAqB,GAArB,UAAsB,mBAA2B,EAAE,KAAa;QAAhE,iBA8CC;QA7CC,IAAI,CAAC,cAAc;aAChB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;aAC7M,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;YAErC,IAAI,mBAAmB,KAAK,WAAW,EAAE;gBACvC,KAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,YAAY,CAAC;gBACxD,KAAoB,UAAiB,EAAjB,UAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;oBAAlC,IAAI,OAAO;oBACd,KAA4B,UAAuB,EAAvB,UAAI,CAAC,KAAK,CAAC,YAAY,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;wBAAhD,IAAI,eAAe;wBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE;4BAC5C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;4BACxB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACzC;qBACF;iBACF;aACF;YAED,KAAoB,UAAiB,EAAjB,UAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;gBAAlC,IAAI,OAAO;gBACd,KAA4B,UAAyB,EAAzB,UAAI,CAAC,oBAAoB,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;oBAAlD,IAAI,eAAe;oBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;wBACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACzB;iBACF;gBACD,KAA4B,UAAkC,EAAlC,UAAI,CAAC,6BAA6B,EAAlC,cAAkC,EAAlC,IAAkC,EAAE;oBAA3D,IAAI,eAAe;oBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;wBACpC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;qBACzC;iBACF;aACF;YAED,KAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC;YACjD,KAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC;YAEzD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,EACC,eAAK;YACH,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;IACT,CAAC;IAED,iDAAwB,GAAxB;QAAA,iBAiDC;QAhDC,KAAoB,UAAiB,EAAjB,SAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;YAAlC,IAAI,OAAO;YACd,KAA4B,UAAkC,EAAlC,SAAI,CAAC,6BAA6B,EAAlC,cAAkC,EAAlC,IAAkC,EAAE;gBAA3D,IAAI,eAAe;gBACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;oBACzC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;iBAC1B;aACF;SACF;QAED,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,UAAC,OAAO;YACjD,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,EAAlB,CAAkB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;QAExC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAC,OAAO;YACxC,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;gBACpC,IAAI,YAAU,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,aAAa,GAAG,KAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,YAAU,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;oBACzF,IAAI,aAAa,IAAI,IAAI,EAAE;wBACzB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAC9C,KAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBACvD,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;qBAC/B;iBACF;gBAED,KAAoB,UAAiB,EAAjB,UAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;oBAAlC,IAAI,SAAO;oBACd,KAA4B,UAAyB,EAAzB,UAAI,CAAC,oBAAoB,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;wBAAlD,IAAI,eAAe;wBACtB,IAAI,SAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;4BACpC,SAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;yBACzB;qBACF;oBAED,KAA4B,UAAkC,EAAlC,UAAI,CAAC,6BAA6B,EAAlC,cAAkC,EAAlC,IAAkC,EAAE;wBAA3D,IAAI,eAAe;wBACtB,IAAI,SAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;4BACpC,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;4BACjC,SAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;yBACzC;qBACF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAK,SAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACxH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAK,SAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACtG,IAAI,CAAC,2BAA2B,CAAC,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC;IAC7E,CAAC;IAED,+CAAsB,GAAtB,UAAuB,OAAgB;QACrC,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAnB,CAAmB,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,oBAAoB,IAAI,IAAI,EAAE;gBAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACzC;SACF;aACI;YACH,IAAI,oBAAoB,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,KAAK,oBAAoB,EAA5B,CAA4B,CAAC,CAAC;aACnG;SACF;QACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,uCAAc,GAAd,UAAe,KAAW,EAAE,SAAiB;QAC3C,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,2BAA2B;QACzD,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAExB,OAAO;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE;SACnB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpB,CAAC;IAxZwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;qDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;gDAAC;IAjDvB,cAAc;QAP1B,+DAAS,CAAC;YACT,QAAQ,EAAE,OAAO;;;YAGjB,UAAU,EAAE,CAAC,8DAAS,CAAC;SACxB,CAAC;yCA0JqB,oEAAgB;YACb,oEAAY;YACb,0DAAW;YACJ,8FAAqB;YACzB,wEAAc;OA5J7B,cAAc,CA0c1B;IAAD,qBAAC;CAAA;AA1c0B;;;;;;;;;;;;AC3B3B,ocAAoc,MAAM,MAAM,+PAA+P,MAAM,MAAM,2YAA2Y,6HAA6H,qHAAqH,mBAAmB,yBAAyB,+iBAA+iB,mBAAmB,sRAAsR,uBAAuB,wRAAwR,qBAAqB,kRAAkR,mBAAmB,2eAA2e,4OAA4O,2BAA2B,6pJAA6pJ,MAAM,MAAM,MAAM,MAAM,2pCAA2pC,MAAM,MAAM,MAAM,MAAM,gZAAgZ,gBAAgB,yBAAyB,wJAAwJ,MAAM,MAAM,gBAAgB,MAAM,MAAM,gBAAgB,MAAM,MAAM,gBAAgB,MAAM,MAAM,gBAAgB,MAAM,MAAM,sLAAsL,MAAM,MAAM,sP;;;;;;;;;;;ACA9yU,iCAAiC,qBAAqB,qBAAqB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,iDAAiD,+hD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACApnB,uCAAS,kCAAgC;AACzC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAE8G;AACxF;AACgD;AACJ;AACT;AACzB;AACf;AACT;AAQxC;IAyBE,uBACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAvBxC,iBAAY,GAAY,KAAK,CAAC;QAE9B,qBAAgB,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAC,SAAS,CAAC,CAAC;QAC7F,qBAAgB,GAAY,IAAI,CAAC;QACjC,iBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAc,GAAW,EAAE,CAAC;QAG5B,iBAAY,GAAY,KAAK,CAAC;QAK9B,cAAS,GAAG;YACV,SAAS,EAAE;gBACT,GAAG,EAAE,iCAAiC;aACvC;SACF,CAAC;QAQA,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAQ,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,oCAAY,GAAZ;QAAA,iBA6BC;QA5BC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1G,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC1H,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAElH,IAAI,CAAC,cAAc;aAChB,YAAY,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,CAAC;aAC5D,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC3C,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QACnC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IAET,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,8DAAI,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kCAAU,GAAV,UAAW,IAAU;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,0CAAkB,GAAlB,UAAmB,IAAU;QAA7B,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,8BAA8B,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAArB,CAAqB,CAAC,CAAC;IAC1H,CAAC;IAED,kCAAU,GAAV,UAAW,IAAU;QAArB,iBAQC;QAPC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAC1C,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACpD,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC3C,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,8DAAI,EAAE,CAAC;IACzB,CAAC;IAEO,yCAAiB,GAAzB,UAA0B,IAAW,EAAE,KAAc;QACnD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,uCAAuC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAE3G,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,wCAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,4BAA4B,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,iCAAS,GAAjB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrC,cAAc,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzC,kBAAkB,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7C,gBAAgB,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,yCAAc;aAAlB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,6CAAkB;aAAtB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,2CAAgB;aAApB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAEO,8BAAM,GAAd;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,yCAAiB,GAAjB,UAAkB,KAAe;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,mCAAW,GAAX;QAAA,iBAoBC;QAnBC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,qBAAqB,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YAC9G,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM;YACvI,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,8BAA8B,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;YACvG,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACC,eAAK;YACH,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjG,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6BAAK,GAAL;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAW,GAAX,UAAY,IAAU;QACpB,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;IAC1F,CAAC;IAzJwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;oDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;+CAAC;IAjBvB,aAAa;QANzB,+DAAS,CAAC;YACT,QAAQ,EAAE,MAAM;;;YAGhB,UAAU,EAAE,CAAC,8DAAS,CAAC;SACxB,CAAC;yCA2BwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OA5B7B,aAAa,CA2KzB;IAAD,oBAAC;CAAA;AA3KyB;;;;;;;;;;;;ACpB1B,ydAAyd,MAAM,MAAM,qYAAqY,6HAA6H,qHAAqH,mBAAmB,yBAAyB,uMAAuM,mBAAmB,yBAAyB,mJAAmJ,mBAAmB,yBAAyB,ylBAAylB,0BAA0B,2RAA2R,uBAAuB,wRAAwR,qBAAqB,0RAA0R,uBAAuB,0RAA0R,uBAAuB,0RAA0R,uBAAuB,qRAAqR,qBAAqB,0RAA0R,qBAAqB,0TAA0T,oBAAoB,KAAK,qBAAqB,oUAAoU,oBAAoB,KAAK,4BAA4B,kbAAkb,+OAA+O,2BAA2B,8sOAA8sO,0BAA0B,KAAK,0BAA0B,sxIAAsxI,MAAM,MAAM,sIAAsI,kBAAkB,oBAAoB,8MAA8M,MAAM,MAAM,MAAM,MAAM,MAAM,yTAAyT,iBAAiB,4NAA4N,MAAM,MAAM,MAAM,MAAM,MAAM,8SAA8S,0BAA0B,iXAAiX,qBAAqB,oXAAoX,uBAAuB,qOAAqO,mCAAmC,iGAAiG,MAAM,MAAM,MAAM,MAAM,MAAM,0PAA0P,MAAM,MAAM,2VAA2V,wqBAAwqB,MAAM,MAAM,4GAA4G,MAAM,MAAM,i3CAAi3C,qBAAqB,uDAAuD,oBAAoB,uDAAuD,eAAe,mFAAmF,eAAe,oFAAoF,2BAA2B,oFAAoF,4BAA4B,mFAAmF,uBAAuB,mFAAmF,oBAAoB,sHAAsH,wBAAwB,yHAAyH,wBAAwB,wHAAwH,wBAAwB,2MAA2M,yqBAAyqB,MAAM,MAAM,8L;;;;;;;;;;;ACA/1wB,iCAAiC,qBAAqB,sBAAsB,gBAAgB,EAAE,yBAAyB,gBAAgB,uBAAuB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,aAAa,qBAAqB,EAAE,cAAc,oBAAoB,EAAE,iDAAiD,2xD;;;;;;;;;;;;ACAptB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE8G;AACxC;AAChD;AAC4C;AACT;AACzB;AACT;AAavD;IA2HE,0BACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAxHxC,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,IAAI,CAAC;QAC/B,0BAAqB,GAAY,KAAK,CAAC;QACvC,8BAAyB,GAAY,KAAK,CAAC;QAE3C,qBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAgB,GAAG,CAAC,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,mBAAkB,EAAE,SAAS,CAAC,CAAC;QAC5M,6BAAwB,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAC1F,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAChC,0BAAqB,GAAY,KAAK,CAAC;QA0PvC,iBAAY,GAAS,IAAI,CAAC;QA3IxB,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAW,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,oEAAkB,EAAW,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAvGD,uCAAY,GAAZ;QAAA,iBA4BC;QA3BC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC1H,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAE9G,IAAI,CAAC,cAAc;aAChB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,CAAC;aACxJ,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE3D,KAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;YAC3C,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;QACnC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IAET,CAAC;IAED,6CAAkB,GAAlB;QAAA,iBASC;QARC,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;aACtC,SAAS,CAAC,iBAAO;YAChB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACtC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,0CAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,gCAAK,GAAL;QACE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,qCAAU,GAAV,UAAW,OAAgB;QACzB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,EAAE;YACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACpC;IAEH,CAAC;IAED,6CAAkB,GAAlB,UAAmB,OAAgB;QAAnC,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,8BAA8B,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAC;IAChI,CAAC;IAED,wCAAa,GAAb,UAAc,OAAgB;QAA9B,iBAQC;QAPC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAChD,cAAI;YACF,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACzD,KAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,oEAAO,EAAE,CAAC;IAC/B,CAAC;IAaD,mCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,oEAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,+BAAI,GAAJ;QAAA,iBAoBC;QAnBC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAE1B,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;YAElC,KAAoB,UAA0D,EAA1D,SAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,IAAI,EAAnB,CAAmB,CAAC,EAA1D,cAA0D,EAA1D,IAA0D,EAAE;gBAA3E,IAAI,OAAO;gBACd,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;aAClD;YAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CACrD,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,OAAO,EAAE,qCAAqC,CAAC,EAA3E,CAA2E,EACnF,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;aAAM;YACL,KAAK,CAAC,eAAe,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IAEO,4CAAiB,GAAzB,UAA0B,OAAiB,EAAE,KAAc;QACzD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,2CAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,oCAAS,GAAjB;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAClD,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAChD,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE;YAChD,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,uBAAuB,EAAE,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,2CAAa;aAAjB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,2CAAa;aAAjB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,kDAAoB;aAAxB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtD,CAAC;;;OAAA;IAED,sBAAI,6CAAe;aAAnB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,2CAAa;aAAjB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,6CAAe;aAAnB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,6CAAe;aAAnB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,6CAAe;aAAnB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,gDAAkB;aAAtB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpD,CAAC;;;OAAA;IAED,sBAAI,gDAAkB;aAAtB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpD,CAAC;;;OAAA;IAED,sBAAI,4CAAc;aAAlB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,qDAAuB;aAA3B;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzD,CAAC;;;OAAA;IAEO,iCAAM,GAAd;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,uDAA4B,GAA5B;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,uDAA4B,GAA5B;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAKD,0CAAe,GAAf,UAAgB,KAAe;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,+CAAoB,GAApB;QAAA,iBA8BC;QA7BC,qCAAqC;QACrC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;QAEvE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YAC7G,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM;YACjE,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,KAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;iBAC3C;aACF;YAED,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,qCAAqC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;YACnH,oCAAoC;QACtC,CAAC,EACC,eAAK;YACH,oCAAoC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wCAAa,GAAb;QACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,oDAAyB,GAAzB;QAAA,iBA4BC;QA3BC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;QAEvE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;YAC7G,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM;YACtE,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,KAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;iBAC3C;aACF;YAED,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,iCAAiC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QACjH,CAAC,EACC,eAAK;QAEL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0DAA+B,GAA/B;QACE,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,kDAAuB,GAAvB,UAAwB,KAAK;QAA7B,iBA+CC;QA7CC,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,EAAE,EAAE;gBACvF,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,iCAAiC,EAAE,kEAAU,CAAC,KAAK,EAAE,cAAQ,CAAC,CAAC,CAAC;gBACzG,OAAO;aACR;YAED,IAAI,CAAC,cAAc;iBAChB,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;iBACxE,SAAS,CAAC,iBAAO;gBAChB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEzD,KAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,gBAAgB,CAAC;gBAEhD,IAAI,KAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,EAAE;oBACxC,IAAI,YAAU,GAAG,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,aAAa,GAAG,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,YAAU,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;wBAClF,IAAI,aAAa,IAAI,IAAI,EAAE;4BACzB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAC9C,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;yBAC/B;qBACF;oBAED,KAAoB,UAA4B,EAA5B,UAAI,CAAC,kBAAkB,CAAC,IAAI,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;wBAA7C,IAAI,OAAO;wBACd,KAA4B,UAAyB,EAAzB,UAAI,CAAC,oBAAoB,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;4BAAlD,IAAI,eAAe;4BACtB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,EAAE;gCACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;6BACzB;yBACF;qBACF;iBACF;gBAED,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;SACN;aACI;YACH,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;SAChC;IACH,CAAC;IAED,iDAAsB,GAAtB,UAAuB,OAAgB;QACrC,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAnB,CAAmB,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,oBAAoB,IAAI,IAAI,EAAE;gBAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACzC;SACF;aACI;YACH,IAAI,oBAAoB,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,KAAK,oBAAoB,EAA5B,CAA4B,CAAC,CAAC;aACnG;SACF;IACH,CAAC;IAlYwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;uDAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;kDAAC;IA3BvB,gBAAgB;QAP5B,+DAAS,CAAC;YACT,QAAQ,EAAE,SAAS;;;YAGjB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCA8HwB,oEAAY;YACb,0DAAW;YACR,wEAAc;OA9H7B,gBAAgB,CA8Z5B;IAAD,uBAAC;CAAA;AA9Z4B;;;;;;;;;;;;ACxB7B,scAAsc,MAAM,MAAM,2VAA2V,soBAAsoB,gBAAgB,GAAG,mBAAmB,+YAA+Y,+BAA+B,UAAU,iVAAiV,sBAAsB,8QAA8Q,kBAAkB,svCAAsvC,2BAA2B,4yGAA4yG,sKAAsK,kjBAAkjB,mBAAmB,+gBAA+gB,gBAAgB,yBAAyB,2M;;;;;;;;;;;ACAx3Q,iCAAiC,qBAAqB,qBAAqB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,gBAAgB,kEAAkE,gCAAgC,gBAAgB,EAAE,kCAAkC,2BAA2B,iBAAiB,EAAE,mCAAmC,8BAA8B,EAAE,+BAA+B,6BAA6B,KAAK,2BAA2B,8BAA8B,iBAAiB,uBAAuB,EAAE,iDAAiD,2lD;;;;;;;;;;;;ACApnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE2E;AACL;AAG5C;AAC+B;AACV;AAGzB;AAEK;AACO;AACe;AACzC;AASxC;IA4BE,gCACU,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,WAAwB,EACxB,QAAqB,EACtB,MAAiB,EAChB,WAAwB;QANxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAa;QACtB,WAAM,GAAN,MAAM,CAAW;QAChB,gBAAW,GAAX,WAAW,CAAa;QAlClC,qBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAMpF,cAAS,GAAc,IAAI,wEAAS,EAAE,CAAC;QACvC,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAOhC,gBAAW,GAAW,UAAU,CAAC;QAoB/B,IAAI,CAAC,UAAU,GAAG,IAAI,oEAAkB,EAAa,CAAC;IACxD,CAAC;IAlBD,sBAAI,iDAAa;aAAjB;YACE,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;aACvD;YAED,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;;;OAAA;IAcD,yCAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,KAAK,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAe,GAAf;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,+CAAc,GAAd,UAAe,OAAe,EAAE,OAAe;QAC7C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,sCAAK,GAAL;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,sCAAK,GAAL,UAAM,EAAE;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,6CAAY,GAAZ;QAAA,iBA2BC;QAzBC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACtF,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE1F,IAAI,CAAC,cAAc;aAChB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;aACzC,SAAS,CAAC,iBAAO;YAEhB,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,KAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAE7B,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE7D,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,yDAAwB,GAAxB,UAAyB,SAAoB;QAA7C,iBAEC;QADC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,mCAAmC,GAAG,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,EAAE,kEAAU,CAAC,OAAO,EAAE,cAAM,YAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAApC,CAAoC,CAAC,CAAC;IACjM,CAAC;IAED,uDAAsB,GAAtB,UAAuB,SAAoB;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,uCAAM,GAAN;QAAA,iBAYC;QAXC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,qDAAoB,GAApB,UAAqB,SAAoB;QAAzC,iBAKC;QAJC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS,CACtD,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,SAAS,CAAC,EAAtC,CAAsC,EAC9C,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;IAC7C,CAAC;IAEO,kDAAiB,GAAzB,UAA0B,SAAqB;QAC7C,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,gCAAgC,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,iDAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,GAAG;IACK,0CAAS,GAAjB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,mCAAmC;YACnC,wCAAwC;YACxC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,0CAAM;aAAV;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,yCAAK;aAAT;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,8CAAU;aAAd;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,2CAAO;aAAX;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,iDAAgB,GAAhB;QAAA,iBASC;QARC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAM;YAC9E,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1B,IAAI,EAAE,iBAAiB,CAAC,6BAA6B;aACtD,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC;YAClD,iDAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAlMwB;QAAxB,+DAAS,CAAC,8DAAY,CAAC;kCAAY,8DAAY;6DAAC;IAC7B;QAAnB,+DAAS,CAAC,yDAAO,CAAC;kCAAO,yDAAO;wDAAC;IALvB,sBAAsB;QAPlC,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;;;YAGzB,UAAU,EAAE,CAAC,8DAAS,CAAC;SACxB,CAAC;yCA+BwB,oEAAY;YACN,uFAAqB;YACzB,+EAAc;YACjB,kEAAW;YACd,6DAAW;YACd,2DAAS;YACH,0DAAW;OAnCvB,sBAAsB,CAuMlC;IAAD,6BAAC;CAAA;AAvMkC;;;;;;;;;;;;AC5BnC,kmKAAkmK,kIAAkI,MAAM,MAAM,0G;;;;;;;;;;;ACAhvK,iCAAiC,qBAAqB,qBAAqB,gBAAgB,EAAE,yBAAyB,gBAAgB,EAAE,+CAA+C,2pB;;;;;;;;;;;;ACAvL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEU;AACY;AAC4C;AACrB;AACb;AACL;AAQ3D;IAaE,+BACU,YAA0B,EAC1B,WAAwB,EACxB,cAA8B;QAF9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QATxC,cAAS,GAAG;YACV,SAAS,EAAE;gBACT,GAAG,EAAE,iCAAiC;aACvC;SACF,CAAC;QAQA,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,wEAAS,EAAE,CAAC;QACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,wDAAwB,GAAxB;QAAA,iBAYC;QAXC,IAAI,CAAC,cAAc;aAChB,gBAAgB,EAAE;aAClB,SAAS,CAAC,gBAAM;YAEf,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAExB,8BAA8B;QAEhC,CAAC,EACC,eAAK;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,oCAAI,GAAJ;QAAA,iBASC;QARC,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CACxD,cAAI,IAAI,YAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,SAAS,CAAC,EAAtC,CAAsC,EAC9C,eAAK,IAAI,YAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAAC;SAC1C;aACI;SAEJ;IACH,CAAC;IAEO,iDAAiB,GAAzB,UAA0B,SAAqB;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,4CAA4C,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;IAClH,CAAC;IAEO,gDAAgB,GAAxB,UAAyB,KAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,wDAAwD,EAAE,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1I,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,uEAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAEO,yCAAS,GAAjB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,YAAY,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,sBAAI,yCAAM;aAAV;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,4CAAS;aAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,wCAAK;aAAT;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,6CAAU;aAAd;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,+CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;;;OAAA;IAED,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,0CAAO;aAAX;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,+CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;;;OAAA;IAED,sBAAI,4CAAS;aAAb;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,sBAAI,0CAAO;aAAX;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;;;OAAA;IAEO,sCAAM,GAAd;IAEA,CAAC;IA3HU,qBAAqB;QANjC,+DAAS,CAAC;YACP,QAAQ,EAAE,cAAc;;;YAGxB,UAAU,EAAE,CAAC,8DAAS,CAAC;SAC1B,CAAC;yCAewB,oEAAY;YACb,0DAAW;YACR,wEAAc;OAhB7B,qBAAqB,CA4HjC;IAAD,4BAAC;CAAA;AA5HiC;;;;;;;;;;;;;AClBlC;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IAkCA,CAAC;IAAD,eAAC;AAAD,CAAC;;;;;;;;;;;;;;ACvCD;AAAA;AAAA;IAAA;IAMA,CAAC;IAAD,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IAqBA,CAAC;IAAD,cAAC;AAAD,CAAC;;AAED;IAAA;IAGA,CAAC;IAAD,wCAAC;AAAD,CAAC;;;;;;;;;;;;;;AC/BD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IAoBA,CAAC;IAAD,UAAC;AAAD,CAAC;;;;;;;;;;;;;;ACzBD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IASA,CAAC;IAAD,kBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACdD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IAiBA,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACtBD;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEkB;AAGlD;IAAA;IAmBA,CAAC;IAjBiB,mBAAM,GAApB,UAAqB,IAAQ;QAEzB,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEvB,IAAI,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,GAAG,6DAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEzC,OAAO,CAAC,CAAC;IACb,CAAC;IAQL,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IAUA,CAAC;IAAD,YAAC;AAAD,CAAC;;AAED;IAAA;IAKA,CAAC;IAAD,kBAAC;AAAD,CAAC;;AAED;IAAA;IAMA,CAAC;IAAD,kBAAC;AAAD,CAAC;;AAED;IAAA;IAaA,CAAC;IAAD,cAAC;AAAD,CAAC;;AAED;IAAA;IAKA,CAAC;IAAD,oBAAC;AAAD,CAAC;;AAED;IAAA;IAKA,CAAC;IAAD,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC/DD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAYhC;IAeI,oBAAY,IAAsB,EAAE,KAAwB,EAAE,SAAkB,EAAE,WAAoB;QAClG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAlBsB,8BAAmB,GAAqB,YAAY,CAAC;IACrD,gCAAqB,GAAqB,cAAc,CAAC;IACzD,iCAAsB,GAAqB,qBAAqB,CAAC;IACjE,+CAAoC,GAAqB,mCAAmC,CAAC;IAC7F,8BAAmB,GAAqB,kBAAkB,CAAC;IAC3D,kCAAuB,GAAqB,sBAAsB,CAAC;IACnE,sCAA2B,GAAqB,0BAA0B,CAAC;IAC3E,gCAAqB,GAAqB,oBAAoB,CAAC;IAE/D,8BAAmB,GAAqB,YAAY,CAAC;IACrD,gCAAqB,GAAqB,cAAc,CAAC;IACzD,gCAAqB,GAAqB,cAAc,CAAC;IAapF,iBAAC;CAAA;AA1BsB;;;;;;;;;;;;;ACfvB;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;QAQS,aAAQ,GAAY,KAAK,CAAC;IACnC,CAAC;IAAD,WAAC;AAAD,CAAC;;;;;;;;;;;;;;ACdD;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAAA;IAqBA,CAAC;IAAD,cAAC;AAAD,CAAC;;AAED;IAAA;IAGA,CAAC;IAAD,wCAAC;AAAD,CAAC;;;;;;;;;;;;;;AC/BD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAKhC;IAEI,cAAY,IAAa,EAAE,WAAoB,EAAE,WAA0B;QAEvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAOL,WAAC;AAAD,CAAC;;;;;;;;;;;;;;ACtBD;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;;AAEI;AAEpC;IAA8B,4BAAI;IAE9B,kBAAY,eAAwB,EAAE,WAAoB,EAAE,eAAwB;QAApF,YAEI,iBAAO,SAKV;QAHG,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,KAAI,CAAC,eAAe,GAAG,eAAe;;IAC1C,CAAC;IAML,eAAC;AAAD,CAAC,CAf6B,gDAAI,GAejC;;;;;;;;;;;;;;ACtBD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAEI,mBAAY,QAAiB,EAAE,QAAiB,EAAE,UAAoB;QAElE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAKL,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACjBD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC;IAEI,0HAA0H;IAC1H,cAAY,EAAW,EAAE,QAAiB,EAAE,QAAiB,EAAE,KAAc,EAAE,QAAiB,EAAE,WAAoB,EAAE,KAAgB;QAGpI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,sBAAI,8BAAY;aAAhB;YAEI,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;YAE1C,IAAI,IAAI,CAAC,QAAQ;gBACb,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC;YAEtC,OAAO,IAAI,CAAC;QAChB,CAAC;;;OAAA;IAYL,WAAC;AAAD,CAAC;;;;;;;;;;;;;;ACxCD;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAES;AAiCd;AAsE3B;IAAA;IAAyC,CAAC;IAA7B,yBAAyB;QApErC,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,uEAAqB;gBACrB,iEAAe;gBACf,uEAAqB;gBACrB,+DAAa;gBACb,mEAAiB;gBACjB,gEAAc;gBACd,qEAAmB;gBACnB,iEAAe;gBACf,oEAAkB;gBAClB,mEAAiB;gBACjB,+DAAa;gBACb,gEAAc;gBACd,+DAAa;gBACb,+DAAa;gBACb,qEAAmB;gBACnB,oEAAkB;gBAClB,sEAAoB;gBACpB,0EAAwB;gBACxB,gEAAc;gBACd,iEAAe;gBACf,iEAAe;gBACf,kEAAgB;gBAChB,iEAAe;gBACf,sEAAoB;gBACpB,mEAAiB;gBACjB,+DAAa;gBACb,gEAAc;gBACd,+DAAa;gBACb,kEAAgB;gBAChB,kEAAgB;gBAChB,kEAAgB;aACnB;YACD,OAAO,EAAE;gBACL,uEAAqB;gBACrB,iEAAe;gBACf,uEAAqB;gBACrB,+DAAa;gBACb,mEAAiB;gBACjB,gEAAc;gBACd,qEAAmB;gBACnB,iEAAe;gBACf,oEAAkB;gBAClB,mEAAiB;gBACjB,+DAAa;gBACb,gEAAc;gBACd,+DAAa;gBACb,+DAAa;gBACb,qEAAmB;gBACnB,oEAAkB;gBAClB,sEAAoB;gBACpB,0EAAwB;gBACxB,gEAAc;gBACd,iEAAe;gBACf,iEAAe;gBACf,kEAAgB;gBAChB,iEAAe;gBACf,sEAAoB;gBACpB,mEAAiB;gBACjB,+DAAa;gBACb,gEAAc;gBACd,+DAAa;gBACb,kEAAgB;gBAChB,kEAAgB;gBAChB,kEAAgB;aACnB;SACJ,CAAC;OACW,yBAAyB,CAAI;IAAD,gCAAC;CAAA;AAAJ;;;;;;;;;;;;;AC5GtC;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEoB;AAKpD;IAAA;IAoBA,CAAC;IAlBG,+BAAS,GAAT,UAAU,KAAiB,EAAE,KAAa;QAEtC,IAAI,CAAC,KAAK;YACN,OAAO,KAAK,CAAC;QAEjB,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,GAAG;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC5B;iBACI;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC9B;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,QAAC,EAAE,GAAG,OAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAjC,CAAiC,CAAC,CAAC;IACjF,CAAC;IAnBQ,WAAW;QADvB,0DAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;OACb,WAAW,CAoBvB;IAAD,kBAAC;CAAA;AApBuB;;;;;;;;;;;;;ACVxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;AAEqB;AACH;AAEN;AAEiB;AACE;AAK/D;IAAqC,mCAAe;IAgGlD,yBAAY,IAAgB,EAAE,cAAoC,EAAE,QAAkB;QAAtF,YAEE,kBAAM,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,SACtC;QAjGgB,eAAS,GAAW,oBAAoB,CAAC;QACzC,wBAAkB,GAAW,6BAA6B,CAAC;QAC3D,qBAAe,GAAW,uBAAuB,CAAC;QAClD,gCAA0B,GAAW,mCAAmC,CAAC;QACzE,qBAAe,GAAW,4BAA4B,CAAC;QACvD,eAAS,GAAW,oBAAoB,CAAC;QACzC,wBAAkB,GAAW,yBAAyB,CAAC;QACvD,qBAAe,GAAW,0BAA0B,CAAC;QACrD,mBAAa,GAAW,wBAAwB,CAAC;QACjD,uBAAiB,GAAW,4BAA4B,CAAC;QACzD,2BAAqB,GAAW,gCAAgC,CAAC;QACjE,kBAAY,GAAW,uBAAuB,CAAC;QAC/C,8BAAwB,GAAW,mCAAmC,CAAC;QACvE,0CAAoC,GAAW,+CAA+C,CAAC;QAC/F,mCAA6B,GAAW,2CAA2C,CAAC;QACpF,uBAAiB,GAAW,+BAA+B,CAAC;QAC5D,2BAAqB,GAAW,mCAAmC,CAAC;QACpE,0BAAoB,GAAW,0CAA0C,CAAC;QAC1E,qCAA+B,GAAW,qDAAqD,CAAC;QAChG,qBAAe,GAAW,qCAAqC,CAAC;QAChE,qBAAe,GAAW,qCAAqC,CAAC;QAChE,qBAAe,GAAW,wBAAwB,CAAC;QACnD,0BAAoB,GAAW,6BAA6B,CAAC;QAC7D,yBAAmB,GAAW,uBAAuB,CAAC;QACtD,8BAAwB,GAAW,4BAA4B,CAAC;QAChE,0BAAoB,GAAW,gCAAgC,CAAC;QAChE,2BAAqB,GAAW,yBAAyB,CAAC;QAC1D,gCAA0B,GAAW,mCAAmC,CAAC;QACzE,qCAA+B,GAAW,uCAAuC,CAAC;QAClF,uBAAiB,GAAW,4BAA4B,CAAC;QAEzD,cAAQ,GAAW,mBAAmB,CAAC;QACvC,0BAAoB,GAAW,+BAA+B,CAAC;QAC/D,iBAAW,GAAW,uBAAuB,CAAC;QAC9C,6BAAuB,GAAW,kCAAkC,CAAC;QACrE,qBAAe,GAAW,2BAA2B,CAAC;QACtD,iCAA2B,GAAW,sCAAsC,CAAC;QAC7E,eAAS,GAAW,oBAAoB,CAAC;QACzC,2BAAqB,GAAW,gCAAgC,CAAC;QACjE,cAAQ,GAAW,qBAAqB,CAAC;QACzC,wCAAkC,GAAW,gDAAgD,CAAC;QAC9F,qBAAe,GAAW,0BAA0B,CAAC;QACrD,0BAAoB,GAAW,+BAA+B,CAAC;QAC/D,+BAAyB,GAAW,oCAAoC,CAAC;QACzE,wBAAkB,GAAW,6BAA6B,CAAC;;IAqD5E,CAAC;IAnDD,sBAAI,qCAAQ;aAAZ,cAAiB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;;OAAA;IACvE,sBAAI,8CAAiB;aAArB,cAA0B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;;;OAAA;IACzF,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,sDAAyB;aAA7B,cAAkC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;;;OAAA;IACzG,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,qCAAQ;aAAZ,cAAiB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;;OAAA;IACvE,sBAAI,8CAAiB;aAArB,cAA0B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;;;OAAA;IACzF,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,yCAAY;aAAhB,cAAqB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;;;OAAA;IAC/E,sBAAI,6CAAgB;aAApB,cAAyB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;;OAAA;IACvF,sBAAI,8CAAiB;aAArB,cAA0B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;OAAA;IAC5F,sBAAI,wCAAW;aAAf,cAAoB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;;;OAAA;IAC7E,sBAAI,oDAAuB;aAA3B,cAAgC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;;;OAAA;IACrG,sBAAI,gEAAmC;aAAvC,cAA4C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;;;OAAA;IAC7H,sBAAI,yDAA4B;aAAhC,cAAqC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;;;OAAA;IAC/G,sBAAI,6CAAgB;aAApB,cAAyB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;;OAAA;IACvF,sBAAI,iDAAoB;aAAxB,cAA6B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;OAAA;IAC/F,sBAAI,gDAAmB;aAAvB,cAA4B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;;;OAAA;IAC7F,sBAAI,2DAA8B;aAAlC,cAAuC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;;;OAAA;IACnH,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,gDAAmB;aAAvB,cAA4B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;;;OAAA;IAC7F,sBAAI,+CAAkB;aAAtB,cAA2B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;;;OAAA;IAC3F,sBAAI,oDAAuB;aAA3B,cAAgC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;;;OAAA;IACrG,sBAAI,gDAAmB;aAAvB,cAA4B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;;;OAAA;IAC7F,sBAAI,iDAAoB;aAAxB,cAA6B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;OAAA;IAC/F,sBAAI,sDAAyB;aAA7B,cAAkC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;;;OAAA;IACzG,sBAAI,2DAA8B;aAAlC,cAAuC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;;;OAAA;IACnH,sBAAI,6CAAgB;aAApB,cAAyB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;;OAAA;IAGvF,sBAAI,oCAAO;QADX,EAAE;aACF,cAAgB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IACrE,sBAAI,gDAAmB;aAAvB,cAA4B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;;;OAAA;IAC7F,sBAAI,uCAAU;aAAd,cAAmB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;;OAAA;IAC3E,sBAAI,mDAAsB;aAA1B,cAA+B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;;;OAAA;IACnG,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,uDAA0B;aAA9B,cAAmC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;;;OAAA;IAC3G,sBAAI,qCAAQ;aAAZ,cAAiB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;;OAAA;IAEvE,sBAAI,iDAAoB;QADxB,oFAAoF;aACpF,cAA6B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;OAAA;IAC/F,sBAAI,oCAAO;aAAX,cAAgB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IACrE,sBAAI,8DAAiC;aAArC,cAA0C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;;;OAAA;IACzH,sBAAI,2CAAc;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IACnF,sBAAI,gDAAmB;aAAvB,cAA4B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;;;OAAA;IAC7F,sBAAI,qDAAwB;aAA5B,cAAiC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;;;OAAA;IACvG,sBAAI,8CAAiB;aAArB,cAA0B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;;;OAAA;IAOzF,yCAAe,GAAf,UAAmB,MAAe;QAAlC,iBAOC;QANC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAE9E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAA5B,CAA4B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mDAAyB,GAAzB,UAA6B,QAAgB;QAA7C,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,iBAAiB,SAAI,QAAU,CAAC;QAE1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAxC,CAAwC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0CAAgB,GAAhB,UAAoB,IAAa,EAAE,QAAiB;QAApD,iBAOC;QANC,IAAI,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,SAAI,QAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE5F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4CAAkB,GAAlB,UAAsB,UAAe;QAArC,iBAMC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAChG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAnC,CAAmC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,UAAe;QAAtC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACtG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAApC,CAAoC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,uDAA6B,GAA7B,UAAiC,UAAe;QAAhD,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAC3G,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,EAA9C,CAA8C,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6DAAmC,GAAnC,UAAuC,UAAe;QAAtD,iBAMC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACtH,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mCAAmC,CAAC,UAAU,CAAC,EAApD,CAAoD,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,+CAAqB,GAArB,UAAyB,UAAe,EAAE,MAAe;QAAzD,iBAOC;QANC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAE9E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAC7F,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,EAA9C,CAA8C,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAID,oDAA0B,GAA1B,UAA8B,YAAiB,EAAE,UAAmB,EAAE,IAAa,EAAE,IAAU,EAAE,MAAe;QAAhH,iBAmBC;QAlBC,IAAI,WAAmB,CAAC;QACxB,IAAI,aAAiB,CAAC;QAEtB,IAAI,IAAI,EAAE;YACR,WAAW,GAAG,MAAM,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YAC1E,aAAa,GAAG,IAAI,CAAC,CAAC;gBACpB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;SAC/D;aACI;YACH,WAAW,GAAG,UAAU,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,SAAI,UAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YAClF,aAAa,GAAG,YAAY,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAI,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAClG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAA7E,CAA6E,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oDAA0B,GAA1B;QAAA,iBAMC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACpF,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,0BAA0B,EAAE,EAAjC,CAAiC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0DAAgC,GAAhC,UAAoC,aAAqB;QAAzD,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACnH,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gCAAgC,CAAC,aAAa,CAAC,EAApD,CAAoD,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gDAAsB,GAAtB,UAA0B,MAAc;QAAxC,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,cAAc,SAAI,MAAQ,CAAC;QAErD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACvE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAnC,CAAmC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,+CAAqB,GAArB,UAAyB,MAAc;QAAvC,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACpE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAlC,CAAkC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yCAAe,GAAf,UAAmB,MAAc;QAAjC,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAA5B,CAA4B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mDAAyB,GAAzB,UAA6B,QAAgB;QAA7C,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,iBAAiB,SAAI,QAAU,CAAC;QAE1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAxC,CAAwC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0CAAgB,GAAhB,UAAoB,IAAa,EAAE,QAAiB;QAApD,iBAOC;QANC,IAAI,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,SAAI,IAAI,SAAI,QAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE5F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4CAAkB,GAAlB,UAAsB,UAAe;QAArC,iBAMC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAChG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAnC,CAAmC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,+CAAqB,GAArB,UAAyB,UAAe,EAAE,MAAc;QAAxD,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAC7F,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,EAA9C,CAA8C,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,+CAAqB,GAArB,UAAyB,MAAc;QAAvC,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,QAAQ,SAAI,MAAQ,CAAC;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACpE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAlC,CAAkC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gDAAsB,GAAtB;QAAA,iBAMC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACzE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,sBAAsB,EAAE,EAA7B,CAA6B,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iDAAuB,GAAvB,UAA2B,UAAe;QAA1C,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACpG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAxC,CAAwC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4CAAkB,GAAlB,UAAsB,UAAe;QAArC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAC/F,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAnC,CAAmC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAwB,GAAxB,UAA4B,MAAe;QAA3C,iBAOC;QANC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAI,IAAI,CAAC,YAAY,SAAI,MAAQ,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,YAAc,CAAC;QAErF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,MAAe;QAAtC,iBAOC;QANC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAI,IAAI,CAAC,OAAO,SAAI,MAAQ,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,OAAS,CAAC;QAE3E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAhC,CAAgC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAwB,GAAxB,UAA4B,IAAa,EAAE,OAAgB,EAAE,QAAiB;QAA9E,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,gBAAgB,SAAI,IAAI,SAAI,OAAO,SAAI,QAAU,CAAC;QAE5E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAtD,CAAsD,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,sDAA4B,GAA5B,UAAgC,UAAe;QAA/C,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACzG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAA7C,CAA6C,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gDAAsB,GAAtB,UAA0B,UAAe;QAAzC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACnG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAvC,CAAuC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yEAA+C,GAA/C,UAAmD,QAAiB,EAAE,GAAY,EAAE,GAAY;QAAhG,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,mCAAmC,SAAI,QAAQ,SAAI,GAAG,SAAI,GAAK,CAAC;QAE1F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,+CAA+C,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAxE,CAAwE,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6DAAmC,GAAnC,UAAuC,QAAiB,EAAE,GAAY,EAAE,GAAY;QAApF,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,uBAAuB,SAAI,QAAQ,SAAI,GAAG,SAAI,GAAK,CAAC;QAE9E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAA5D,CAA4D,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,8DAAoC,GAApC,UAAwC,UAAe;QAAvD,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACpH,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,oCAAoC,CAAC,UAAU,CAAC,EAArD,CAAqD,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAwB,GAAxB,UAA4B,UAAe;QAA3C,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACxG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAzC,CAAyC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,sDAA4B,GAA5B;QAAA,iBAOC;QANC,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAE5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,4BAA4B,EAAE,EAAnC,CAAmC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gEAAsC,GAAtC,UAA0C,QAAiB,EAAE,GAAY,EAAE,GAAY;QAAvF,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,cAAc,SAAI,QAAQ,SAAI,GAAG,SAAI,GAAK,CAAC;QAErE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,sCAAsC,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,QAAiB;QAAxC,iBAUC;QATC,IAAI,WAAW,GAAM,IAAI,CAAC,kBAAkB,SAAI,QAAU,CAAC;QAE3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,IAAI,CAAC,6BAA6B,EAAE,CACnC,CAAC,IAAI,CACN,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,EAAE,EAA1B,CAA0B,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,+CAAqB,GAArB,UAAyB,UAAkB,EAAE,QAAiB,EAAE,WAAoB;QAApF,iBAUC;QATC,IAAI,WAAW,GAAM,IAAI,CAAC,uBAAuB,SAAI,UAAU,SAAI,QAAQ,SAAI,WAAa,CAAC;QAE7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC,IAAI,CACJ,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAtC,CAAsC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,wCAAc,GAAd,UAAkB,YAAoB,EAAE,IAAS;QAAjD,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,cAAc,SAAI,YAAc,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,IAAI,CAC/G,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,EAAvC,CAAuC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,YAAoB,EAAE,IAAS;QAAtD,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,mBAAmB,SAAI,YAAc,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,IAAI,CACpH,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,EAA5C,CAA4C,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,wDAA8B,GAA9B,UAAkC,SAAiB,EAAE,IAAS;QAA9D,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,mBAAmB,SAAI,SAAW,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,IAAI,CACjH,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,EAApD,CAAoD,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,+CAAqB,GAArB,UAAyB,QAAiB;QAA1C,iBAUC;QATC,IAAI,WAAW,GAAM,IAAI,CAAC,oBAAoB,SAAI,QAAU,CAAC;QAE7D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC,IAAI,CACJ,iEAAU,CAAC,eAAK;YAChB,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,qBAAqB,EAAE,EAA5B,CAA4B,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0DAAgC,GAAhC,UAAoC,cAAsB,EAAE,UAAkB,EAAE,GAAW;QAA3F,iBAUC;QATC,IAAI,WAAW,GAAM,IAAI,CAAC,+BAA+B,SAAI,cAAc,SAAI,UAAU,SAAI,GAAK,CAAC;QAEnG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC,IAAI,CACJ,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gCAAgC,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,EAAtE,CAAsE,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,8DAAoC,GAApC,UAAwC,cAAsB,EAAE,UAAkB,EAAE,IAAS,EAAE,GAAW;QAA1G,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,yBAAyB,SAAI,cAAc,SAAI,UAAU,SAAI,GAAK,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,IAAI,CACjJ,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,oCAAoC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,EAAhF,CAAgF,CAAC,CAAC;QACzH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,IAAa,EAAE,KAAc;QAApD,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,OAAO,SAAI,IAAI,SAAI,KAAO,CAAC;QAErD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yDAA+B,GAA/B,UAAmC,IAAa,EAAE,KAAc,EAAE,IAAa,EAAE,OAAgB,EAAE,SAAkB,EAAE,MAAe,EAAE,YAAqB,EAAE,SAAkB;QAAjL,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,mBAAmB,SAAI,IAAI,SAAI,KAAK,SAAI,IAAI,SAAI,OAAO,SAAI,SAAS,SAAI,SAAS,SAAI,MAAM,SAAI,YAAc,CAAC;QAExI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAA5G,CAA4G,CAAC,CAAC;QACrJ,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gDAAsB,GAAtB,UAA0B,SAAkB,EAAE,WAAoB,EAAE,YAAqB,EAAE,WAAoB,EAAE,kBAA2B,EAAE,aAAsB,EAAE,WAAoB,EAAE,gBAAyB,EAAE,aAAsB,EAAE,aAAsB,EAAE,gBAAyB,EAAE,WAAoB,EAAE,aAAsB,EAAE,SAAkB;QAAlW,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,UAAU,SAAI,SAAS,SAAI,WAAW,SAAI,YAAY,SAAI,WAAW,SAAI,kBAAkB,SAAI,aAAa,SAAI,WAAW,SAAI,gBAAgB,SAAI,aAAa,SAAI,aAAa,SAAI,gBAAgB,SAAI,WAAW,SAAI,aAAa,SAAI,SAAW,CAAC;QAE/Q,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,EAAvO,CAAuO,CAAC,CAAC;QAChR,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,4DAAkC,GAAlC,UAAsC,SAAkB,EAAE,WAAoB,EAAE,WAAoB,EAAE,kBAA2B,EAAE,WAAoB;QAAvJ,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,sBAAsB,SAAI,SAAS,SAAI,WAAW,SAAI,WAAW,SAAI,kBAAkB,SAAI,WAAa,CAAC;QAEnI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAA7G,CAA6G,CAAC,CAAC;QACtJ,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oDAA0B,GAA1B,UAA8B,gBAAyB;QAAvD,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,cAAc,SAAI,gBAAkB,CAAC;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EAAjD,CAAiD,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gEAAsC,GAAtC;QAAA,iBAOC;QANC,IAAI,WAAW,GAAG,KAAG,IAAI,CAAC,0BAA4B,CAAC;QAEvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,sCAAsC,EAAE,EAA7C,CAA6C,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,YAAqB,EAAE,gBAAyB,EAAE,cAAuB,EAAE,YAAqB,EAAE,WAAoB;QAA7I,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,OAAO,SAAI,YAAY,SAAI,gBAAgB,SAAI,cAAc,SAAI,YAAY,SAAI,WAAa,CAAC;QAEzH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,CAAC,EAAnG,CAAmG,CAAC,CAAC;QAC5I,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mEAAyC,GAAzC,UAA6C,iCAAqE;QAAlH,iBAOC;QANC,IAAI,WAAW,GAAG,KAAG,IAAI,CAAC,iCAAmC,CAAC;QAE9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACrH,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,yCAAyC,CAAC,iCAAiC,CAAC,EAAjF,CAAiF,CAAC,CAAC;QAC1H,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yDAA+B,GAA/B,UAAmC,YAAqB,EAAE,gBAAyB,EAAE,cAAuB;QAA5G,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,mBAAmB,SAAI,YAAY,SAAI,gBAAgB,SAAI,cAAgB,CAAC;QAEtG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAApF,CAAoF,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,8CAAoB,GAApB,UAAwB,EAAU,EAAE,OAAe,EAAE,WAAmB,EAAE,SAAiB;QAA3F,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,QAAQ,SAAI,EAAE,SAAI,OAAO,SAAI,WAAW,SAAI,SAAW,CAAC;QAElF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAA9D,CAA8D,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0DAAgC,GAAhC,UAAoC,KAAc,EAAE,YAAqB,EAAE,KAAc,EAAE,IAAa,EAAE,OAAgB,EAAE,SAAkB;QAA9I,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,oBAAoB,SAAI,YAAY,SAAI,KAAK,SAAI,KAAK,SAAI,IAAI,SAAI,OAAO,SAAI,SAAW,CAAC;QAEnH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAA3F,CAA2F,CAAC,CAAC;QACpI,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yCAAe,GAAf,UAAmB,UAAe;QAAlC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAC/F,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAhC,CAAgC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,UAAe;QAAtC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAClG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAApC,CAAoC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iDAAuB,GAAvB,UAA2B,UAAe;QAA1C,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACtG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAxC,CAAwC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,2CAAiB,GAAjB,UAAqB,UAAe;QAApC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAChG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAlC,CAAkC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0CAAgB,GAAhB,UAAoB,UAAe;QAAnC,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACtG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAjC,CAAiC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6CAAmB,GAAnB,UAAuB,YAAoB,EAAE,gBAAwB,EAAE,cAAsB,EAAE,IAAS;QAAxG,iBAMC;QALC,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,2BAA2B,GAAG,YAAY,GAAG,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAG,cAAc,CAAC;QACnI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,IAAI,CAC1E,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,CAAC,EAA9E,CAA8E,CAAC,CAAC;QACvH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0DAAgC,GAAhC,UAAoC,EAAU;QAA9C,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,wBAAwB,SAAI,EAAI,CAAC;QAE3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,EAAzC,CAAyC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAwB,GAAxB,UAA4B,UAAe;QAA3C,iBAKC;QAJC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACxG,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAzC,CAAyC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,mDAAyB,GAAzB,UAA6B,QAAgB,EAAE,WAAmB,EAAE,SAAiB;QAArF,iBAOC;QANC,IAAI,WAAW,GAAM,IAAI,CAAC,iBAAiB,SAAI,QAAQ,SAAI,WAAW,SAAI,SAAW,CAAC;QAEtF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACjE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EAAhE,CAAgE,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAtnBU,eAAe;QAD3B,gEAAU,EAAE;yCAiGO,+DAAU,EAAkB,2EAAoB,EAAY,sDAAQ;OAhG3E,eAAe,CAwnB3B;IAAD,sBAAC;CAAA,CAxnBoC,yEAAe,GAwnBnD;AAxnB2B;;;;;;;;;;;;;AChB5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEiC;AACN;AACI;AACV;AACN;AAEc;AAChB;AA0B7C;IAOE,wBACU,MAAc,EACd,IAAgB,EAChB,WAAwB,EACxB,eAAgC;QAHhC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QANlC,kBAAa,GAAG,IAAI,4CAAO,EAAwB,CAAC;QAQ5D,WAAM,GAAG,KAAK,CAAC;QACL,WAAM,GAA0B,IAAI,0DAAY,EAAE,CAAC;IAHf,CAAC;uBAXpC,cAAc;IAgBzB,+BAAM,GAAN;QACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,gCAAO,GAAP,UAAQ,MAAe;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAO,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,wCAAe,GAAf,UAAgB,MAAe;QAE7B,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,eAAe,CAAO,MAAM,CAAC,EAClD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAU,CAAC,CAAC;IACrD,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAa,EAAE,QAAiB;QAEvC,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAS,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,yCAAgB,GAAhB,UAAiB,IAAa,EAAE,QAAiB;QAE/C,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAS,IAAI,EAAE,QAAQ,CAAC,EAC7D,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAU,CAAC,CAAC;IACrD,CAAC;IAED,mCAAU,GAAV,UAAW,IAAc;QAAzB,iBAWC;QAVC,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SAClE;aACI;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7E,+DAAQ,CAAC,mBAAS;gBAChB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAClE,CAAC,CAAC,CAAC,CAAC;SACP;IACH,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAc;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAO,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,2CAAkB,GAAlB,UAAmB,IAAc;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAO,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,oDAA2B,GAA3B,UAA4B,IAAc;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAAO,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,2CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,EAAU,CAAC;IACnE,CAAC;IAED,8CAAqB,GAArB,UAAsB,aAAqB;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED,mCAAU,GAAV,UAAW,YAA2B;QAAtC,iBAcC;QAbC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,YAAY,MAAM,EAAE;YACtE,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAe,YAAY,CAAC,CAAC,IAAI,CAChF,0DAAG,CAAC,cAAI,IAAI,YAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAxC,CAAwC,CAAC,CAAC,CAAC;SAC1D;aACI;YACH,IAAI,YAAY,CAAC,EAAE,EAAE;gBACnB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACzC;iBACI;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrF,+DAAQ,CAAC,cAAI,IAAI,YAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAED,oCAAW,GAAX,UAAY,MAAc;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,0CAAiB,GAAjB,UAAkB,eAAiC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,eAAe,EAApB,CAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,4CAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAa,EAAE,QAAiB;QAEvC,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAS,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,+CAAsB,GAAtB,UAAuB,IAAa,EAAE,QAAiB;QAErD,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAS,IAAI,EAAE,QAAQ,CAAC,EAC7D,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAgB,CAAC,CAAC;IACjE,CAAC;IAED,mCAAU,GAAV,UAAW,IAAU;QAArB,iBAaC;QAZC,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CACnE,0DAAG,CAAC,cAAI,IAAI,YAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAc,CAAC,qBAAqB,CAAC,EAAjE,CAAiE,CAAC,CAAC,CAAC;SACnF;aACI;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACzE,+DAAQ,CAAC,mBAAS;gBAChB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAClE,CAAC,CAAC,EACF,0DAAG,CAAC,cAAI,IAAI,YAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAc,CAAC,qBAAqB,CAAC,EAAjE,CAAiE,CAAC,CAAC,CAAC;SACnF;IACH,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAU;QAAlB,iBAGC;QAFC,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAO,IAAI,CAAC,CAAC,IAAI,CAC7D,0DAAG,CAAC,cAAI,IAAI,YAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAc,CAAC,kBAAkB,CAAC,EAA9D,CAA8D,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,mCAAU,GAAV,UAAW,YAA2B;QAAtC,iBAgBC;QAdC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,YAAY,MAAM,EAAE;YACtE,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAe,YAAY,CAAC,CAAC,IAAI,CAChF,0DAAG,CAAC,cAAI,IAAI,YAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAc,CAAC,oBAAoB,CAAC,EAAhE,CAAgE,CAAC,CAAC,CAAC;SAClF;aACI;YAEH,IAAI,YAAY,CAAC,EAAE,EAAE;gBACnB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACzC;iBACI;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CACjF,+DAAQ,CAAC,cAAI,IAAI,YAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAED,uCAAc,GAAd;QAEE,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAgB,CAAC;IACrE,CAAC;IAEO,uCAAc,GAAtB,UAAuB,KAAwB,EAAE,EAAyB;QACxE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,gDAAuB,GAAvB,UAAwB,KAAwB;QAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAc,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,6CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,sBAAI,uCAAW;aAAf;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,uCAAW;aAAf;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACtC,CAAC;;;OAAA;IAED,qCAAY,GAAZ,UAAa,SAAoB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAY,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAU;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAO,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,yCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAa,CAAC;IACpE,CAAC;IAED,oCAAW,GAAX;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAQ,CAAC;IAC1D,CAAC;IAED,yCAAgB,GAAhB,UAAiB,IAAa,EAAE,OAAgB,EAAE,QAAiB;QACjE,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAc,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CACpF,CAAC;IACJ,CAAC;IAED,0CAAiB,GAAjB,UAAkB,SAAoB;QACpC,OAAO,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAY,SAAS,CAAC,CAAC;IACjF,CAAC;IAED,oCAAW,GAAX,UAAY,QAAkB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAW,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,mEAA0C,GAA1C,UAA2C,QAAiB;QAC1D,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,+CAA+C,CAAa,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAC1G,CAAC;IACJ,CAAC;IAED,oDAA2B,GAA3B,UAA4B,QAAiB,EAAE,GAAY,EAAE,GAAY;QACvE,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAAa,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,qDAA4B,GAA5B,UAA6B,QAAkB;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,oCAAoC,CAAW,QAAQ,CAAC,CAAC;IACvF,CAAC;IAED,yCAAgB,GAAhB,UAAiB,QAAkB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAW,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,6CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAY,CAAC;IACvE,CAAC;IAED,oCAAW,GAAX,UAAY,MAAc;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAO,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,uDAA8B,GAA9B,UAA+B,QAAiB;QAC9C,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,sCAAsC,CAAa,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,CACpG,CAAC;IACJ,CAAC;IAED,oCAAW,GAAX,UAAY,QAAgB;QAC1B,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAa,QAAQ,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,sCAAa,GAAb,UAAc,UAAkB,EAAE,QAAgB,EAAE,WAAmB;QACrE,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAQ,UAAU,EAAC,QAAQ,EAAE,WAAW,CAAC,CACpF,CAAC;IACJ,CAAC;IAED,mCAAU,GAAV,UAAW,YAAoB,EAAE,IAAS;QACxC,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAc,YAAY,EAAE,IAAI,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,wCAAe,GAAf,UAAgB,YAAoB,EAAE,IAAS;QAC7C,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAc,YAAY,EAAE,IAAI,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,+CAAsB,GAAtB,UAAuB,SAAiB,EAAE,IAAS;QACjD,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAM,SAAS,EAAE,IAAI,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,sCAAa,GAAb,UAAc,QAAgB;QAC5B,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAa,QAAQ,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,qDAA4B,GAA5B,UAA6B,cAAsB,EAAE,UAAkB,EAAE,IAAS,EAAE,GAAU;QAC5F,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,oCAAoC,CAAM,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CACtG,CAAC;IACJ,CAAC;IAED,iDAAwB,GAAxB,UAAyB,cAAsB,EAAE,UAAkB,EAAE,GAAW;QAC9E,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAa,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,CACnG,CAAC;IACJ,CAAC;IAED,oCAAW,GAAX,UAAY,IAAa,EAAE,KAAc;QACvC,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAa,IAAI,EAAE,KAAK,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,iDAAwB,GAAxB,UAAyB,IAA0B,EAAE,KAA2B,EAAE,IAA0B,EAAE,OAA6B,EAAE,SAA+B,EAAE,MAA4B,EAAE,YAAkC,EAAE,SAA+B;QAAtP,yCAA0B;QAAE,2CAA2B;QAAE,yCAA0B;QAAE,+CAA6B;QAAE,mDAA+B;QAAE,6CAA4B;QAAE,yDAAkC;QAAE,mDAA+B;QAC7Q,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAa,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CACzI,CAAC;IACJ,CAAC;IAED,gCAAO,GAAP,UAAQ,GAAQ;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAM,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,wCAAe,GAAf,UAAgB,SAAkB,EAAE,WAAoB,EAAE,YAAqB,EAAE,WAAoB,EAAE,kBAA2B,EAAE,aAAsB,EAAE,WAAoB,EAAE,gBAAyB,EAAE,aAAsB,EAAE,aAAsB,EAAE,gBAAyB,EAAE,WAAoB,EAAE,aAAsB,EAAE,SAAkB;QACtV,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAY,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CACnQ,CAAC;IACJ,CAAC;IAED,oDAA2B,GAA3B,UAA4B,SAA+B,EAAE,WAAiC,EAAE,WAAiC,EAAE,kBAAwC,EAAE,WAAiC;QAAlL,mDAA+B;QAAE,uDAAiC;QAAE,uDAAiC;QAAE,qEAAwC;QAAE,uDAAiC;QAC5M,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,kCAAkC,CAAa,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAC1I,CAAC;IACJ,CAAC;IAED,oCAAW,GAAX,UAAY,OAAgB;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAU,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,4CAAmB,GAAnB,UAAoB,gBAAyB;QAC3C,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAgB,gBAAgB,CAAC,CACjF,CAAC;IACJ,CAAC;IAED,wDAA+B,GAA/B;QACE,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,sCAAsC,EAAiB,CAC7E,CAAC;IACJ,CAAC;IAED,wCAAe,GAAf,UAAgB,WAAwB;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAc,WAAW,CAAC,CAAC;IAChF,CAAC;IAED,qCAAY,GAAZ,UAAa,YAAqB,EAAE,gBAAyB,EAAE,cAAuB,EAAE,YAAqB,EAAE,WAAoB;QACjI,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAS,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,CAAC,CAC5H,CAAC;IACJ,CAAC;IAED,0DAAiC,GAAjC,UAAkC,iCAAoE;QACpG,OAAO,IAAI,CAAC,eAAe,CAAC,yCAAyC,CAAS,iCAAiC,CAAC,CAAC;IACnH,CAAC;IAED,iDAAwB,GAAxB,UAAyB,YAAkC,EAAE,gBAAsC,EAAE,cAAoC;QAAhH,yDAAkC;QAAE,iEAAsC;QAAE,6DAAoC;QACvI,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAS,YAAY,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAC7G,CAAC;IACJ,CAAC;IAED,oCAAW,GAAX,UAAY,YAAoB,EAAE,gBAAwB,EAAE,cAAsB,EAAE,IAAS;QAC3F,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAO,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9G,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAU;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAO,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,qCAAY,GAAZ,UAAa,EAAU,EAAE,OAAe,EAAE,WAAmB,EAAE,SAAiB;QAC9E,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAU,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CACxF,CAAC;IACJ,CAAC;IAED,kDAAyB,GAAzB,UAA0B,YAAkC,EAAE,YAAkC;QAAtE,yDAAkC;QAAE,yDAAkC;QAC9F,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAY,YAAY,EAAE,YAAY,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED,kCAAS,GAAT,UAAU,KAAc;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAU,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,iDAAwB,GAAxB,UAAyB,EAAU;QACjC,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAU,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,sCAAa,GAAb,UAAc,QAAkB;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAW,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,0CAAiB,GAAjB,UAAkB,QAAgB,EAAE,WAAmB,EAAE,SAAiB;QACxE,OAAO,qDAAQ,CACb,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAe,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAC/F,CAAC;IACJ,CAAC;;IAzYsB,iCAAkB,GAA0B,KAAK,CAAC;IAClD,mCAAoB,GAA0B,QAAQ,CAAC;IACvD,oCAAqB,GAA0B,QAAQ,CAAC;IAWrE;QAAT,4DAAM,EAAE;kCAAS,0DAAY;kDAA+B;IAdlD,cAAc;QAD1B,gEAAU,EAAE;yCASO,sDAAM;YACR,+DAAU;YACH,yDAAW;YACP,yEAAe;OAX/B,cAAc,CA4Y1B;IAAD,qBAAC;CAAA;AA5Y0B;;;;;;;;;;;;;ACtC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AACa;AACb;AAEiC;AAC1B;AAGlD;IAQE,sBAAoB,kBAAyC;QAAzC,uBAAkB,GAAlB,kBAAkB,CAAuB;QAPrD,aAAQ,GAAG,IAAI,4CAAO,EAAgB,CAAC;QACvC,mBAAc,GAAG,IAAI,4CAAO,EAAgB,CAAC;QAC7C,YAAO,GAAG,IAAI,4CAAO,EAAe,CAAC;QAErC,eAAU,GAAG,KAAK,CAAC;IAGsC,CAAC;IAKlE,iCAAU,GAAV,UAAW,KAAa,EAAE,OAAe,EAAE,IAAiB,EAAE,UAA+B,EAAE,cAA0B,EAAE,OAAgB,EAAE,WAAoB,EAAE,YAAqB;QAEtL,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;SACzB;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,SAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7L,CAAC;IAMD,kCAAW,GAAX,UAAY,IAAS,EAAE,iBAA0B,EAAE,QAA0B;QAC3E,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;SACpC;QAED,IAAI,IAAI,YAAY,qEAAgB,EAAE;YACpC,IAAI,GAAG,6DAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9C,iBAAiB,GAAG,6DAAS,CAAC,0BAA0B,CAAC;SAC1D;QAED,IAAI,IAAI,YAAY,KAAK,EAAE;YACzB,KAAoB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;gBAArB,IAAI,OAAO;gBACd,IAAI,SAAS,GAAG,6DAAS,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAEjE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;aACpF;SACF;aACI;YACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;SAClE;IACH,CAAC;IAMD,wCAAiB,GAAjB,UAAkB,IAA0C,EAAE,iBAA0B,EAAE,QAA0B,EAAE,KAAW;QAE/H,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;SACpC;QAED,IAAI,IAAI,YAAY,qEAAgB,EAAE;YACpC,IAAI,GAAG,6DAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9C,iBAAiB,GAAG,6DAAS,CAAC,0BAA0B,CAAC;SAC1D;QAED,IAAI,IAAI,YAAY,KAAK,EAAE;YACzB,KAAoB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;gBAArB,IAAI,OAAO;gBACd,IAAI,SAAS,GAAG,6DAAS,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAEjE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aACnF;SACF;aACI;YACH,IAAI,KAAK,EAAE;gBACT,IAAI,GAAG,GAAG,iBAAc,eAAe,CAAC,QAAQ,CAAC,uBAAgB,IAAI,sBAAe,iBAAiB,qBAAc,6DAAS,CAAC,aAAa,CAAC,KAAK,CAAC,OAAG,CAAC;gBAErJ,QAAQ,QAAQ,EAAE;oBAChB,KAAK,eAAe,CAAC,OAAO;wBAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAClB,MAAM;oBACR,KAAK,eAAe,CAAC,IAAI;wBACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAClB,MAAM;oBACR,KAAK,eAAe,CAAC,OAAO;wBAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACrB,MAAM;oBACR,KAAK,eAAe,CAAC,KAAK;wBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM;oBACR,KAAK,eAAe,CAAC,IAAI;wBACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBACrB,MAAM;oBACR,KAAK,eAAe,CAAC,IAAI;wBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACnB,MAAM;iBACT;aACF;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SACjE;IACH,CAAC;IAED,0CAAmB,GAAnB;QACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1K,CAAC;IAEO,wCAAiB,GAAzB,UAA0B,OAAe,EAAE,MAAc,EAAE,QAAyB,EAAE,QAAiB;QAErG,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SACpF;aACI;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SAC9E;IACH,CAAC;IAED,0CAAmB,GAAnB,UAAoB,OAAsB,EAAE,OAAY;QAAxD,iBAOC;QAPmB,gDAAsB;QAAE,sCAAY;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;YACjC,KAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,yCAAkB,GAAlB;QACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,+BAAQ,GAAR,UAAS,GAAG;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,+BAAQ,GAAR,UAAS,GAAG;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,8BAAO,GAAP,UAAQ,GAAG;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,iCAAU,GAAV,UAAW,GAAG;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,+BAAQ,GAAR,UAAS,GAAG;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,iCAAU,GAAV,UAAW,GAAG;QACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,yCAAkB,GAAlB;QACE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,qCAAc,GAAd;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,sCAAe,GAAf;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,4CAAqB,GAArB;QACE,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED,sBAAI,6CAAmB;aAAvB;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IA5KU,YAAY;QADxB,gEAAU,EAAE;yCAS6B,uFAAqB;OARlD,YAAY,CA6KxB;IAAD,mBAAC;CAAA;AA7KwB;AA+KzB,oDAAoD;AACpD;IACE,qBACS,KAAa,EACb,OAAe,EACf,IAAgB,EAChB,UAA8B,EAC9B,cAAyB,EACzB,YAAoB,EACpB,OAAe,EACf,WAAmB;QAPnB,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAY;QAChB,eAAU,GAAV,UAAU,CAAoB;QAC9B,mBAAc,GAAd,cAAc,CAAW;QACzB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,gBAAW,GAAX,WAAW,CAAQ;IAE5B,CAAC;IACH,kBAAC;AAAD,CAAC;;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6CAAK;IACL,iDAAO;IACP,+CAAM;AACR,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AACD,iDAAiD;AAEjD,oDAAoD;AACpD;IACE,sBAAmB,QAAyB,EAAS,OAAe,EAAS,MAAc;QAAxE,aAAQ,GAAR,QAAQ,CAAiB;QAAS,YAAO,GAAP,OAAO,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAClG,mBAAC;AAAD,CAAC;;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,2DAAO;IACP,qDAAI;IACJ,2DAAO;IACP,uDAAK;IACL,qDAAI;IACJ,qDAAI;AACN,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AACD,iDAAiD;;;;;;;;;;;;;AC/NjD;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEiD;AAK1E,IAAM,SAAS,GAAG,mEAAO,CAAC,WAAW,EAAE;IAC5C,sEAAU,CAAC,QAAQ,EAAE,CAAC,iEAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,mEAAO,CAAC,cAAc,EAAE,iEAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,sEAAU,CAAC,QAAQ,EAAE,CAAC,mEAAO,CAAC,oBAAoB,EAAE,iEAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAIK,SAAS,QAAQ,CAAC,QAAsB;IAAtB,yCAAsB;IAC7C,OAAO,mEAAO,CAAC,UAAU,EAAE;QACzB,iEAAK,CAAC,IAAI,EAAE,iEAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC9D,sEAAU,CAAC,WAAW,EAAE,CAAC,iEAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,mEAAO,CAAI,QAAQ,cAAW,CAAC,CAAC,CAAC;QACjH,sEAAU,CAAC,WAAW,EAAE,CAAC,mEAAO,CAAI,QAAQ,oBAAiB,EAAE,iEAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;KACvH,CAAC;AACJ,CAAC;;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AAC6B;AAElB;AACJ;AAIV;AAGxC;IAIE,yBAAoB,YAAmB,EAAU,MAAc;QAA/D,iBA6BC;QA7BmB,iBAAY,GAAZ,YAAY,CAAO;QAAU,WAAM,GAAN,MAAM,CAAQ;QAC7D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAChC,6DAAM,CAAC,eAAK,IAAI,YAAK,YAAY,6DAAa,EAA9B,CAA8B,CAAC,EAC/C,0DAAG,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAA5B,CAA4B,CAAC,EACtC,0DAAG,CAAC,eAAK;YACP,OAAO,KAAK,CAAC,UAAU;gBACrB,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;YAE3B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EACF,8DAAO,CAAC,eAAK,IAAI,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC,CAAC;aAC5B,SAAS,CAAC,cAAI;YACb,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1B,IAAI,KAAK,EAAE;gBACT,IAAI,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE5C,IAAI,QAAQ;oBACV,KAAK,IAAI,KAAK,GAAG,oDAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aACpD;YAED,IAAI,KAAK,IAAI,KAAI,CAAC,OAAO;gBACvB,KAAK,IAAI,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC;iBAC3B,IAAI,KAAI,CAAC,OAAO;gBACnB,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC;YAEvB,IAAI,KAAK;gBACP,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAjCU,eAAe;QAD3B,gEAAU,EAAE;yCAKuB,+DAAK,EAAkB,sDAAM;OAJpD,eAAe,CAmC3B;IAAD,sBAAC;CAAA;AAnC2B;;;;;;;;;;;;;AChB5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AAC6B;AACzB;AAK/C;IAME,+BAAoB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QAJtC,oBAAe,GAAG,IAAI,CAAC;QACxB,sBAAiB,GAAG,IAAI,4CAAO,EAAU,CAAC;QAClD,qBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAIvD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAED,4CAAY,GAAZ,UAAa,IAAc;QACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,kDAAkB,GAAlB,UAAmB,IAAY;QAC7B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,kDAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,kDAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAED,kDAAkB,GAAlB;QACE,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE5C,IAAI,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;YAC1C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,8CAAc,GAAd,UAAe,QAAuB;QAAtC,iBAaC;QAbc,0CAAuB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACvC;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1C,UAAU,CAAC;gBACT,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8CAAc,GAAd,UAAe,GAA2B,EAAE,iBAA0B;QACpE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACxD,CAAC;IAED,mDAAmB,GAAnB,UAAoB,GAA2B,EAAE,iBAA0B;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAzDU,qBAAqB;QADjC,gEAAU,EAAE;yCAOoB,oEAAgB;OANpC,qBAAqB,CA2DjC;IAAD,4BAAC;CAAA;AA3DiC;AA6DlC;IAAA;IAoBA,CAAC;IAlBQ,gDAAc,GAArB,UAAsB,IAAY;QAChC,iFAAiF;QACjF,QAAQ,IAAI,EAAE;YACZ,KAAK,IAAI;gBACP,OAAO,+CAAE,CAAC,mBAAO,CAAC,iEAA0B,CAAC,CAAC,CAAC;YACjD,KAAK,IAAI;gBACP,OAAO,+CAAE,CAAC,mBAAO,CAAC,iEAA0B,CAAC,CAAC,CAAC;YACjD,KAAK,IAAI;gBACP,OAAO,+CAAE,CAAC,mBAAO,CAAC,iEAA0B,CAAC,CAAC,CAAC;YACjD,KAAK,IAAI;gBACP,OAAO,+CAAE,CAAC,mBAAO,CAAC,iEAA0B,CAAC,CAAC,CAAC;YACjD,KAAK,IAAI;gBACP,OAAO,+CAAE,CAAC,mBAAO,CAAC,iEAA0B,CAAC,CAAC,CAAC;YACjD,KAAK,IAAI;gBACP,OAAO,+CAAE,CAAC,mBAAO,CAAC,iEAA0B,CAAC,CAAC,CAAC;YACjD,QAAQ;SACT;IACH,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;AC7FD;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AAC4G;AAC1G;AAI7C;IACE,mBAAoB,WAAwB,EAAU,MAAc;QAAhD,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEzE,+BAAW,GAAX,UAAY,KAA6B,EAAE,KAA0B;QAEnE,IAAI,GAAG,GAAW,KAAK,CAAC,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,oCAAgB,GAAhB,UAAiB,KAA6B,EAAE,KAA0B;QACxE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,2BAAO,GAAP,UAAQ,KAAY;QAElB,IAAI,GAAG,GAAG,MAAI,KAAK,CAAC,IAAM,CAAC;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,8BAAU,GAAV,UAAW,GAAW;QAEpB,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACf,CAAC;IA7BU,SAAS;QADrB,gEAAU,EAAE;yCAEsB,yDAAW,EAAkB,sDAAM;OADzD,SAAS,CA8BrB;IAAD,gBAAC;CAAA;AA9BqB;;;;;;;;;;;;;ACXtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AACgB;AAChB;AACN;AAG6B;AACL;AACE;AAC5B;AACM;AACD;AAEI;AAK5C;IAYE,qBAAoB,MAAc,EAAU,cAAoC,EAAU,eAAgC,EAAU,YAA+B;QAA/I,WAAM,GAAN,MAAM,CAAQ;QAAU,mBAAc,GAAd,cAAc,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,iBAAY,GAAZ,YAAY,CAAmB;QAH3J,4BAAuB,GAAG,KAAK,CAAC;QAChC,iBAAY,GAAG,IAAI,4CAAO,EAAW,CAAC;QAG5C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAbD,sBAAW,iCAAQ;aAAnB,cAAwB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IAC9D,sBAAW,gCAAO;aAAlB,cAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;;;OAAA;IAcpD,2CAAqB,GAA7B;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC;YACzC,KAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAAQ,GAAR,UAAS,IAAY,EAAE,cAAqB;QAArB,sDAAqB;QAE1C,IAAI,gBAAgB,GAAqB;YACvC,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,cAAc;SACrF,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,uCAAiB,GAAjB;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,IAAI,2EAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5K,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,oBAAoB,GAAG,oDAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,YAAY,GAAG,oDAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE7E,IAAI,gBAAgB,GAAqB;YACvC,QAAQ,EAAE,oBAAoB,CAAC,UAAU;YACzC,WAAW,EAAE,oDAAS,CAAC,wBAAwB,CAAC,YAAY,CAAC,UAAU,CAAC;YACxE,mBAAmB,EAAE,OAAO;SAC7B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACnE,CAAC;IAED,wCAAkB,GAAlB;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,sCAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,6BAAO,GAAP;QACE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aACI;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAED,kCAAY,GAAZ;QAAA,iBAGC;QAFC,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAiB,CAAC,IAAI,CACvE,0DAAG,CAAC,kBAAQ,IAAI,YAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAI,CAAC,UAAU,CAAC,EAApD,CAAoD,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,2BAAK,GAAL,UAAM,IAAe;QAArB,iBAOC;QALC,IAAI,IAAI,CAAC,UAAU;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;QAEhB,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAgB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC5F,0DAAG,CAAC,kBAAQ,IAAI,YAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EAApD,CAAoD,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,0CAAoB,GAA5B,UAA6B,QAAuB,EAAE,UAAmB;QAEvE,IAAI,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;QAExC,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAEnD;QAED,IAAI,YAAY,GAAG,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;QAC/D,IAAI,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEpC,IAAI,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;QAErE,IAAI,iBAAiB,GAAG,eAAe,CAAC;QAExC,IAAI,SAAS,GAAG,IAAI,qDAAS,EAAE,CAAC;QAChC,IAAI,kBAAkB,GAAgB,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnF,IAAI,WAAW,GAAuB,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAErJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,GAAG,IAAI,wDAAI,CACjB,kBAAkB,CAAC,GAAG,EACtB,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CAAC,QAAQ,EAC3B,kBAAkB,CAAC,KAAK,EACxB,kBAAkB,CAAC,QAAQ,EAC3B,kBAAkB,CAAC,YAAY,EAC/B,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAElG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qCAAe,GAAvB,UAAwB,IAAU,EAAE,WAA+B,EAAE,WAAmB,EAAE,YAAoB,EAAE,SAAe,EAAE,UAAmB;QAClJ,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,+CAAM,CAAC,YAAY,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,+CAAM,CAAC,aAAa,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAE,+CAAM,CAAC,gBAAgB,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,+CAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,+CAAM,CAAC,YAAY,CAAC,CAAC;SAChE;aACI;YACH,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,WAAW,EAAE,+CAAM,CAAC,YAAY,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,YAAY,EAAE,+CAAM,CAAC,aAAa,CAAC,CAAC;YAC5E,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,EAAE,+CAAM,CAAC,gBAAgB,CAAC,CAAC;YAC5E,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,WAAW,EAAE,+CAAM,CAAC,gBAAgB,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,+CAAM,CAAC,YAAY,CAAC,CAAC;SACpE;QAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,+CAAM,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,4BAAM,GAAN;QACE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,2CAAqB,GAA7B,UAA8B,WAAkB;QAAhD,iBAWC;QAVC,IAAI,IAAI,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAO,+CAAM,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,uBAAuB,IAAI,UAAU,EAAE;YAC9C,UAAU,CAAC;gBACT,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,uBAAuB,GAAG,UAAU,CAAC;IAC5C,CAAC;IAED,yCAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,sBAAI,oCAAW;aAAf;YAEE,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAO,+CAAM,CAAC,YAAY,CAAC,CAAC;YACtE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC;QACd,CAAC;;;OAAA;IAED,sBAAI,wCAAe;aAAnB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAqB,+CAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC5F,CAAC;;;OAAA;IAED,sBAAI,oCAAW;aAAf;YAEE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,+CAAM,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;;;OAAA;IAED,sBAAI,8CAAqB;aAAzB;YAEE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAO,+CAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;;;OAAA;IAED,sBAAI,yCAAgB;aAApB;YACE,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE;gBACtC,OAAO,IAAI,CAAC;aACb;YAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACtE,CAAC;;;OAAA;IAED,sBAAI,qCAAY;aAAhB;YAEE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,+CAAM,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;;;OAAA;IAED,sBAAI,mCAAU;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAI,mCAAU;aAAd;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAU,+CAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QAC9E,CAAC;;;OAAA;IA5NU,WAAW;QADvB,gEAAU,EAAE;yCAaiB,sDAAM,EAA0B,2EAAoB,EAA2B,yEAAe,EAAwB,8EAAiB;OAZxJ,WAAW,CA6NvB;IAAD,kBAAC;CAAA;AA7NuB;;;;;;;;;;;;;ACvBxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AAEZ;AAEmC;AACA;AAC/B;AACK;AACqB;AAa7D;IA6BE,8BACU,YAA+B,EAC/B,kBAAyC;QADzC,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,uBAAkB,GAAlB,kBAAkB,CAAuB;QA5B5C,YAAO,GAAG,qEAAW,CAAC,OAAO,IAAI,oDAAS,CAAC,OAAO,EAAE,CAAC;QACrD,aAAQ,GAAG,qEAAW,CAAC,QAAQ,IAAI,qEAAW,CAAC,OAAO,IAAI,oDAAS,CAAC,OAAO,EAAE,CAAC;QAC9E,aAAQ,GAAG,qEAAW,CAAC,QAAQ,CAAC;QAChC,oBAAe,GAAG,oCAAoC,CAAC;QAU9D,yBAAyB;QAEjB,cAAS,GAAW,IAAI,CAAC;QACzB,aAAQ,GAAW,IAAI,CAAC;QACxB,aAAQ,GAAW,IAAI,CAAC;QACxB,6BAAwB,GAAY,IAAI,CAAC;QACzC,gCAA2B,GAAY,IAAI,CAAC;QAC5C,uBAAkB,GAAY,IAAI,CAAC;QACnC,yBAAoB,GAAY,IAAI,CAAC;QACrC,4BAAuB,GAAqB,IAAI,4CAAO,EAAW,CAAC;QAE3E,2BAAsB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;QAMnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;6BAlCU,oBAAoB;IAoCvB,+CAAgB,GAAxB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAS,+CAAM,CAAC,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxD;aACI;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAS,+CAAM,CAAC,QAAQ,CAAC,CAAC;SAC1E;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,QAAQ,CAAC,EAAE;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAS,+CAAM,CAAC,QAAQ,CAAC,CAAC;SAC1E;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,yBAAyB,CAAC,EAAE;YAC9D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAU,+CAAM,CAAC,yBAAyB,CAAC,CAAC;SAC5G;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,4BAA4B,CAAC,EAAE;YACjE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAU,+CAAM,CAAC,4BAA4B,CAAC,CAAC;SAClH;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,mBAAmB,CAAC,EAAE;YACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAU,+CAAM,CAAC,mBAAmB,CAAC,CAAC;SAChG;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,+CAAM,CAAC,qBAAqB,CAAC,EAAE;YAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAU,+CAAM,CAAC,qBAAqB,CAAC,CAAC;SACpG;IACH,CAAC;IAEO,+CAAgB,GAAxB,UAAyB,IAAS,EAAE,GAAW;QAA/C,iBAEC;QADC,UAAU,CAAC,cAAM,YAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,EAA9C,CAA8C,CAAC,CAAC;IACnE,CAAC;IAEM,qCAAM,GAAb,UAAc,SAAiB;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,SAAS,EAAE;YAGb,IAAI,WAAW,GAAsB,oDAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAEvE,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;aACtC;YAED,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI,EAAE;gBAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;aACpC;YAED,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI,EAAE;gBAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;aACpC;YAED,IAAI,WAAW,CAAC,uBAAuB,IAAI,IAAI,EAAE;gBAC/C,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,uBAAuB,CAAC;aACpE;YAED,IAAI,WAAW,CAAC,0BAA0B,IAAI,IAAI,EAAE;gBAClD,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAC,0BAA0B,CAAC;aAC1E;YAED,IAAI,WAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;aACxD;YAED,IAAI,WAAW,CAAC,mBAAmB,IAAI,IAAI,EAAE;gBAC3C,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC;aAC5D;SACF;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAEM,qCAAM,GAAb,UAAc,WAAkB;QAAlB,gDAAkB;QAC9B,IAAI,WAAW,GACb;YACE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;YACtD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;YACnD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;YACnD,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB;YACnG,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B;YAC5G,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB;YACjF,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB;SACxF,CAAC;QAEJ,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAEM,gDAAiB,GAAxB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,yBAAyB,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,4BAA4B,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,+CAAM,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,4CAAa,GAArB;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QAE5D,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC3B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;SAC1D;IACH,CAAC;IAED,sBAAI,0CAAQ;aAKZ;YACE,OAAO,IAAI,CAAC,SAAS,IAAI,sBAAoB,CAAC,eAAe,CAAC;QAChE,CAAC;aAPD,UAAa,KAAa;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAKD,sBAAI,yCAAO;aAIX;YACE,OAAO,IAAI,CAAC,QAAQ,IAAI,sBAAoB,CAAC,cAAc,CAAC;QAC9D,CAAC;aAND,UAAY,KAAa;YACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAKD,sBAAI,yCAAO;aAIX;YACE,OAAO,IAAI,CAAC,QAAQ,IAAI,sBAAoB,CAAC,cAAc,CAAC;QAC9D,CAAC;aAND,UAAY,KAAa;YACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAKD,sBAAI,yDAAuB;aAI3B;YACE,OAAO,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAoB,CAAC,8BAA8B,CAAC;QACrI,CAAC;aAND,UAA4B,KAAc;YACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,yBAAyB,CAAC,CAAC;QACjE,CAAC;;;OAAA;IAKD,sBAAI,4DAA0B;aAI9B;YACE,OAAO,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,sBAAoB,CAAC,iCAAiC,CAAC;QAC9I,CAAC;aAND,UAA+B,KAAc;YAC3C,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,4BAA4B,CAAC,CAAC;QACpE,CAAC;;;OAAA;IAKD,sBAAI,mDAAiB;aAIrB;YACE,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAoB,CAAC,wBAAwB,CAAC;QACnH,CAAC;aAND,UAAsB,KAAc;YAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3D,CAAC;;;OAAA;IAKD,sBAAI,qDAAmB;aAIvB;YACE,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAoB,CAAC,0BAA0B,CAAC;QACzH,CAAC;aAND,UAAwB,KAAc;YACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,+CAAM,CAAC,qBAAqB,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAKM,6CAAc,GAArB,UAAsB,KAAW,EAAE,SAAiB;QAClD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,2BAA2B;QACzD,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAExB,OAAO;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE;SACnB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpB,CAAC;;IAlOsB,+BAAU,GAAW,OAAO,CAAC;IAOpD,2CAA2C;IACpB,oCAAe,GAAW,IAAI,CAAC;IAC/B,mCAAc,GAAW,GAAG,CAAC;IAC7B,mCAAc,GAAW,CAAC,CAAC;IAC3B,mDAA8B,GAAY,IAAI,CAAC;IAC/C,sDAAiC,GAAY,IAAI,CAAC;IAClD,6CAAwB,GAAY,KAAK,CAAC;IAC1C,+CAA0B,GAAY,IAAI,CAAC;IAfvD,oBAAoB;QADhC,gEAAU,EAAE;yCA+Ba,8EAAiB;YACX,8EAAqB;OA/BxC,oBAAoB,CAqOhC;IAAD,2BAAC;CAAA;AArOgC;;;;;;;;;;;;;AC1BjC;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEW;AAG3C;IAAA;IAkBA,CAAC;IAhB0B,mBAAY,GAAG,cAAc,CAAC;IAC9B,uBAAgB,GAAG,kBAAkB,CAAC;IACtC,mBAAY,GAAG,cAAc,CAAC;IAC9B,oBAAa,GAAG,eAAe,CAAC;IAChC,uBAAgB,GAAG,YAAY,CAAC;IAEhC,kBAAW,GAAG,aAAa,CAAC;IAG5B,eAAQ,GAAG,UAAU,CAAC;IACtB,eAAQ,GAAG,UAAU,CAAC;IACtB,eAAQ,GAAG,SAAS,CAAC;IACrB,gCAAyB,GAAG,2BAA2B,CAAC;IACxD,mCAA4B,GAAG,8BAA8B,CAAC;IAC9D,0BAAmB,GAAG,qBAAqB,CAAC;IAC5C,4BAAqB,GAAG,uBAAuB,CAAC;IAjB9D,MAAM;QADlB,gEAAU,EAAE;OACA,MAAM,CAkBlB;IAAD,aAAC;CAAA;AAlBkB;;;;;;;;;;;;;ACRnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEqB;AACsB;AACpB;AACU;AAEpB;AACkB;AAG/D;IAoBE,yBAAsB,IAAgB,EAAY,cAAoC,EAAU,QAAkB;QAA5F,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAsB;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAjBjG,cAAS,GAAW,gBAAgB,CAAC;IAiBgE,CAAC;wBApB5G,eAAe;IAK1B,sBAAY,qCAAQ;aAApB,cAAyB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;;;OAAA;IAOhF,sBAAY,wCAAW;aAAvB;YACE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yDAAW,CAAC,CAAC;aACpD;YAED,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAID,0CAAgB,GAAhB,UAAoB,QAAgB,EAAE,QAAgB;QAEpD,IAAI,MAAM,GAAG,IAAI,gEAAW,CAAC,EAAE,cAAc,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAEtF,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE;aAC1B,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC5B,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC5B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;aACnC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC;aAChC,MAAM,CAAC,OAAO,EAAE,8DAA8D,CAAC,CAAC;QAEnF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,iDAAuB,GAAvB;QAAA,iBAYC;QAXC,IAAI,MAAM,GAAG,IAAI,gEAAW,CAAC,EAAE,cAAc,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAEtF,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE;aAC1B,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;aACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;aACnC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CACvE,iEAAU,CAAC,eAAK;YACd,OAAO,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAM,YAAI,CAAC,uBAAuB,EAAE,EAA9B,CAA8B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,2CAAiB,GAA3B;QACE,IAAI,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC5B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW;YACzD,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,2BAAyB,iBAAe,CAAC,UAAU,6CAA0C;YACvG,aAAa,EAAE,2EAAoB,CAAC,UAAU;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAES,qDAA2B,GAArC;QACE,IAAI,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC5B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW;YACzD,QAAQ,EAAE,2BAAyB,iBAAe,CAAC,UAAU,6CAA0C;YACvG,aAAa,EAAE,2EAAoB,CAAC,UAAU;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAES,uDAA6B,GAAvC;QACE,IAAI,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC5B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW;YACzD,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,2BAAyB,iBAAe,CAAC,UAAU,6CAA0C;YACvG,aAAa,EAAE,2EAAoB,CAAC,UAAU;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAuB,EAAE,CAAC;IACrE,CAAC;IAES,qCAAW,GAArB,UAAsB,KAAK,EAAE,YAAmC;QAAhE,iBAqCC;QApCC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aACrC;YAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAE9B,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CACzC,+DAAQ,CAAC,cAAI;gBACX,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEvB,OAAO,YAAY,EAAE,CAAC;YACxB,CAAC,CAAC,EACF,iEAAU,CAAC,2BAAiB;gBAC1B,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAExB,IAAI,iBAAiB,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;oBAC3I,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,uDAAU,CAAC,iBAAiB,CAAC,CAAC;iBACtC;qBACI;oBACH,OAAO,uDAAU,CAAC,iBAAiB,IAAI,cAAc,CAAC,CAAC;iBACxD;YACH,CAAC,CAAC,CAAC,CAAC;SACP;QAED,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC9E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAE3B,OAAO,uDAAU,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,sBAAoB,KAAK,CAAC,KAAK,CAAC,iBAAiB,MAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;SAC9I;aACI;YACH,OAAO,uDAAU,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAEO,mCAAS,GAAjB,UAAkB,YAAmC;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,4CAAO,EAAE,CAAC;SACjC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gEAAS,CAAC,oBAAU;YAC9C,OAAO,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,uDAAU,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,qCAAW,GAAnB,UAAoB,UAAmB;QAAvC,iBAQC;QAPC,UAAU,CAAC;YACT,IAAI,KAAI,CAAC,UAAU,EAAE;gBACnB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;IA1Ie,0BAAU,GAAW,GAAG,CAAC;IAD9B,eAAe;QAD3B,gEAAU,EAAE;yCAqBiB,+DAAU,EAA4B,2EAAoB,EAAoB,sDAAQ;OApBvG,eAAe,CA4I3B;IAAD,sBAAC;CAAA;AA5I2B;;;;;;;;;;;;;ACd5B;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEhC;;GAEG;AACwC;AAI3C;IAAA;IA8DA,CAAC;IA5DQ,mCAAe,GAAtB,UAAuB,GAAW;QAChC,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvD,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM;aAAE;YAClB,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,IAAI,CAAC;gBAAC,MAAM;aAAE;YAClC,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,GAAG,CAAC;gBAAC,MAAM;aAAE;YACjC,OAAO,CAAC,CAAC;gBACP,MAAM,2BAA2B,CAAC;aACnC;SACF;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,8GAA8G;IACtG,oCAAgB,GAAxB,UAAyB,GAAQ;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAC,CAAM;YACnE,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,CAAC;IAEM,+BAAW,GAAlB,UAAmB,KAAa;QAC9B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,0CAAsB,GAA7B,UAA8B,KAAa;QACzC,IAAI,OAAY,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,0DAA0D;QAClF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kCAAc,GAArB,UAAsB,KAAa,EAAE,aAAsB;QACzD,IAAI,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC;QAEnC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,iBAAiB;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IA7DU,SAAS;QADrB,gEAAU,EAAE;OACA,SAAS,CA8DrB;IAAD,gBAAC;CAAA;AA9DqB;;;;;;;;;;;;;ACZtB;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEW;AACA;AAEH;AAMxC;IAJA;QAAA,iBAkWC;QA5VS,aAAQ,GAAa,EAAE,CAAC;QACxB,cAAS,GAAG,IAAI,4CAAO,EAAE,CAAC;QAE1B,iBAAY,GAClB;YACE,WAAW;YACX,eAAe;YACf,oBAAoB;YACpB,mBAAmB;YACnB,mBAAmB;YACnB,qBAAqB;YACrB,0BAA0B;YAC1B,yBAAyB;SAC1B,CAAC;QAmJI,kCAA6B,GAAG,UAAC,KAAmB;YAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,EAAE;gBACpC,IAAI,cAAc,CAAC,MAAM,EAAE;oBACzB,KAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;oBAC9D,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;iBAC9C;aACF;iBACI,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,EAAE;gBAEzC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACzB,KAAI,CAAC,YAAY,EAAE,CAAC;iBACrB;gBACD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtC,8FAA8F;gBAE9F,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBAEpB,IAAI,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAC5B,KAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC1D;gBAED,KAAI,CAAC,MAAM,EAAE,CAAC;aACf;iBACI,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,EAAE;gBAE3C,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAEtC,gGAAgG;gBAEhG,KAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAC3D;iBACI,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,EAAE;gBAEhD,KAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;iBACI,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,IAAI,cAAc,CAAC,MAAM,EAAE;gBACxE,KAAI,CAAC,2BAA2B,EAAE,CAAC;aACpC;iBACI,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,EAAE;gBACrC,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC1C;iBACI,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,EAAE;gBAC1C,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC/C;QACH,CAAC;IA4IH,CAAC;0BA9VY,iBAAiB;IAoBrB,yDAA6B,GAApC;QACE,IAAI,mBAAiB,CAAC,uBAAuB,IAAI,IAAI,EAAE;YACrD,OAAO;SACR;QAED,mBAAiB,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,2DAA+B,GAAtC;QACE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACjF,mBAAiB,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACpD,CAAC;IAEM,2CAAe,GAAtB;QACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEM,mDAAuB,GAA9B;QACE,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,YAAY,CAAC,UAAU,CAAC,mBAAiB,CAAC,eAAe,CAAC,CAAC;QAE3D,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAC1D,YAAY,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAEM,uDAA2B,GAAlC;QACE,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,6CAAiB,GAAxB;QACE,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEM,2CAAe,GAAtB,UAAuB,IAAS,EAAE,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACvE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,iDAAqB,GAA5B,UAA6B,IAAS,EAAE,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QAC7E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,6CAAiB,GAAxB,UAAyB,IAAS,EAAE,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACzE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,oDAAwB,GAA/B,UAAgC,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACrE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO;SACR;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEM,0DAA8B,GAArC,UAAsC,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QAC3E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO;SACR;QAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAEM,sDAA0B,GAAjC,UAAkC,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACvE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO;SACR;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAEM,kCAAM,GAAb,UAAc,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACnD,IAAI,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAEM,mCAAO,GAAd,UAAe,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACpD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,yCAAa,GAApB,UAAwB,GAAuC,EAAE,UAAkB;QAA3D,4BAAM,mBAAiB,CAAC,eAAe;QAAE,+CAAkB;QACjF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,UAAU,EAAE;gBACd,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;YACD,OAAU,IAAI,CAAC;SAChB;aACI;YACH,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEM,sCAAU,GAAjB,UAAkB,GAAuC;QAAvC,4BAAM,mBAAiB,CAAC,eAAe;QACvD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEM,wCAAY,GAAnB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;IAoDO,8CAAkB,GAA1B;QACE,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACpD,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IAEO,+CAAmB,GAA3B,UAA4B,IAAS,EAAE,GAAW;QAChD,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACjD,CAAC;IAEO,qDAAyB,GAAjC,UAAkC,IAAS,EAAE,GAAW;QACtD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,oDAAwB,GAAhC,UAAiC,WAAmB;QAClD,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAE3C,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;QAC9D,YAAY,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACtD,CAAC;IAEO,0DAA8B,GAAtC,UAAuC,WAAmB;QAExD,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAEO,8CAAkB,GAA1B,UAA2B,GAAW;QACpC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;SACvC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,GAAG,EAAR,CAAQ,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,uBAAoB,GAAG,kEAA8D,CAAC,CAAC;SACxG;IACH,CAAC;IAEO,4CAAgB,GAAxB,UAAyB,GAAW;QAElC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,GAAG,EAAR,CAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,wCAAY,GAApB;QACE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChD,CAAC;IAEO,kDAAsB,GAA9B,UAA+B,YAA2B;QAA3B,gDAA2B;QACxD,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAiB,CAAC,eAAe,CAAC,CAAC;QAEvE,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,YAAY,CAAC;SACrB;aACI;YACH,OAAiB,IAAI,CAAC;SACvB;IACH,CAAC;IAEO,yCAAa,GAArB,UAAsB,GAAW;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAEO,+CAAmB,GAA3B,UAA4B,GAAW;QACrC,IAAI,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,GAAG,EAAR,CAAQ,CAAC,EAAE;YACvC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,mBAAiB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;SAC7E;IACH,CAAC;IAEO,oDAAwB,GAAhC,UAAiC,GAAW;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEnD,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,mBAAmB,CAAC,mBAAiB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;SAC7E;IACH,CAAC;IAEO,+CAAmB,GAA3B,UAA4B,GAAW;QACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;IACH,CAAC;IAEO,8CAAkB,GAA1B,UAA2B,GAAW;QACpC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAEnC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAEO,oDAAwB,GAAhC,UAAiC,GAAW;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAChC;IACH,CAAC;IAEO,+CAAmB,GAA3B,UAA4B,GAAW,EAAE,IAAS;QAChD,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,iDAAqB,GAA7B,UAA8B,GAAW,EAAE,IAAS;QAClD,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,+CAAmB,GAA3B,UAA4B,GAAW;QACrC,OAAO,oDAAS,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,iDAAqB,GAA7B,UAA8B,GAAW;QACvC,OAAO,oDAAS,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,kCAAM,GAAd;QAAA,iBAKC;QAJC,UAAU,CAAC;YACT,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;;IA5Vc,yCAAuB,GAAG,KAAK,CAAC;IAgBxB,iCAAe,GAAG,WAAW,CAAC;IAC7B,iCAAe,GAAG,WAAW,CAAC;IAlB3C,iBAAiB;QAJ7B,gEAAU,EAAE;QACb;;UAEE;OACW,iBAAiB,CA8V7B;IAAD,wBAAC;CAAA;AA9V6B;;;;;;;;;;;;;ACd9B;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEW;AACS;AACd;AAKtC;IADA;QAEU,sBAAiB,GAAG;YAC1B;gBACE,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,mEAAmE;gBAC7E,MAAM,EAAE,yFAAyF;gBACjG,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,6BAA6B;aACtC;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,uBAAuB;gBACjC,MAAM,EAAE,6DAA6D;gBACrE,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,6BAA6B;aACtC;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,sBAAsB;gBAChC,MAAM,EAAE,yFAAyF;gBACjG,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,6BAA6B;aACtC;SACF,CAAC;IAgGJ,CAAC;IA9FC,sDAAuB,GAAvB,UAA2B,cAAsB;QAE/C,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,EAAE,IAAI,cAAc,EAAxB,CAAwB,CAAC,CAAC;QAChF,IAAI,QAAyB,CAAC;QAE9B,IAAI,YAAY,EAAE;YAChB,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,YAAY,EAAE,GAAG,CAAC,CAAC;SACtD;aACI;YACH,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;SAC9C;QAED,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,uDAAwB,GAAxB,UAA4B,IAAY,EAAE,QAAgB;QAExD,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAEnE,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,6DAA8B,GAA9B,UAAkC,MAAe;QAE/C,IAAI,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAG,IAAI,QAAC,GAAG,CAAC,MAAM,EAAX,CAAW,CAAC,CAAC;QAC5E,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAEhE,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,0DAA2B,GAA3B,UAA+B,oBAA2B;QAExD,IAAI,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAEhE,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,8DAA+B,GAA/B,UAAmC,cAAsB,EAAE,QAAkB;QAE3E,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,EAAE,IAAI,cAAc,EAAxB,CAAwB,CAAC,CAAC;QAChF,IAAI,QAAyB,CAAC;QAE9B,IAAI,YAAY,EAAE;YAChB,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YAE7C,IAAI,QAAQ,IAAI,IAAI;gBAClB,QAAQ,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;YAEpC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;SAC5B;aACI;YACH,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;SAC9C;QAGD,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,gEAAiC,GAAjC,UAAqC,eAAyB,EAAE,MAAe;gCACpE,cAAc;YAErB,IAAI,YAAY,GAAG,OAAK,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,EAAE,IAAI,cAAc,EAAxB,CAAwB,CAAC,CAAC;YAEhF,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;aAC9B;QACH,CAAC;;QAPD,KAA2B,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe;YAArC,IAAI,cAAc;oBAAd,cAAc;SAOtB;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,4DAA6B,GAA7B,UAAiC,cAAsB;QAErD,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,EAAE,IAAI,cAAc,EAAxB,CAAwB,CAAC,CAAC;QAChF,IAAI,QAAyB,CAAC;QAE9B,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,EAAE,IAAI,cAAc,EAAxB,CAAwB,CAAC;YACvF,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,YAAY,EAAE,GAAG,CAAC,CAAC;SACtD;aACI;YACH,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;SAC9C;QAED,OAAO,+CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEO,6CAAc,GAAtB,UAA0B,IAAI,EAAE,MAAc;QAC5C,OAAO,IAAI,iEAAY,CAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAzHU,oBAAoB;QADhC,gEAAU,EAAE;OACA,oBAAoB,CA0HhC;IAAD,2BAAC;CAAA;AA1HgC;;;;;;;;;;;;;ACZjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEW;AACC;AACa;AAEZ;AAC0B;AACX;AAG5D;IAgBE,6BAAoB,oBAA0C,EAAU,WAAwB;QAA5E,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;IAEhG,CAAC;IAdD,sBAAI,4CAAW;aAAf;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,oDAAmB;aAAvB;YACE,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC;aAED,UAAwB,aAA6B;YACnD,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;QAC5C,CAAC;;;OAJA;IAUD,6CAAe,GAAf,UAAgB,cAAuB;QAErC,OAAO,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,IAAI,CAC3E,0DAAG,CAAC,kBAAQ,IAAI,8EAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAA7B,CAA6B,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,8CAAgB,GAAhB,UAAiB,IAAY,EAAE,QAAgB;QAA/C,iBAMC;QAJC,OAAO,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC5E,0DAAG,CAAC,kBAAQ;YACV,OAAO,KAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oDAAsB,GAAtB,UAAuB,MAAe;QAAtC,iBAIC;QAFC,OAAO,IAAI,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,IAAI,CAC1E,0DAAG,CAAC,kBAAQ,IAAI,YAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAA3C,CAA2C,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,iDAAmB,GAAnB;QAAA,iBAGC;QAFC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAC1F,0DAAG,CAAC,kBAAQ,IAAI,YAAI,CAAC,mCAAmC,CAAC,QAAQ,CAAC,EAAlD,CAAkD,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,6DAA+B,GAA/B;QAAA,iBAOC;QANC,OAAO,qDAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CACzB,gEAAS,CAAC,CAAC,CAAC,EACZ,8DAAO,CAAC;YACN,OAAO,KAAI,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAC1F,0DAAG,CAAC,kBAAQ,IAAI,YAAI,CAAC,mCAAmC,CAAC,QAAQ,CAAC,EAAlD,CAAkD,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAoB,GAApB,UAAqB,4BAAmD,EAAE,QAAkB;QAE1F,IAAI,OAAO,4BAA4B,KAAK,QAAQ,IAAI,4BAA4B,YAAY,MAAM,EAAE;YACtG,OAAO,IAAI,CAAC,oBAAoB,CAAC,+BAA+B,CAAS,4BAA4B,EAAE,QAAQ,CAAC,CAAC;SAClH;aACI;YACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;SACnE;IACH,CAAC;IAED,oDAAsB,GAAtB,UAAuB,eAAyB,EAAE,MAAe;QAE/D,OAAO,IAAI,CAAC,oBAAoB,CAAC,iCAAiC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9F,CAAC;IAED,gDAAkB,GAAlB,UAAmB,4BAAmD;QAAtE,iBAYC;QAVC,IAAI,OAAO,4BAA4B,KAAK,QAAQ,IAAI,4BAA4B,YAAY,MAAM,EAAE,EAAE,qCAAqC;YAC7I,OAAO,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,CAAS,4BAA4B,CAAC,CAAC,IAAI,CACvG,0DAAG,CAAC,kBAAQ;gBACV,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,4BAA4B,EAApC,CAAoC,CAAC,CAAC;gBACtG,OAAO,uEAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC,CAAC;SACP;aACI;YACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;SACjE;IACH,CAAC;IAEO,iEAAmC,GAA3C,UAA4C,QAAQ;QAClD,IAAI,aAAa,GAAG,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAEhE,KAAc,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE;YAAxB,IAAI,CAAC;YACR,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB;gBACpC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;SACtC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,0DAA4B,GAApC,UAAqC,QAAQ;QAC3C,IAAI,aAAa,GAAmB,EAAE,CAAC;QAEvC,KAAK,IAAI,CAAC,IAAI,QAAQ,EAAE;YACtB,aAAa,CAAC,CAAC,CAAC,GAAG,uEAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACrD;QAED,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAnC,CAAmC,CAAC,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAArD,CAAqD,CAAC,CAAC;QAEpF,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;QAEzC,OAAO,aAAa,CAAC;IACvB,CAAC;IA3GU,mBAAmB;QAD/B,gEAAU,EAAE;yCAiB+B,mFAAoB,EAAuB,yDAAW;OAhBrF,mBAAmB,CA4G/B;IAAD,0BAAC;CAAA;AA5G+B;;;;;;;;;;;;;ACdhC;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEW;AAC8C;AAGzF;IAAA;IAyjBA,CAAC;kBAzjBY,SAAS;IAON,gCAAsB,GAApC,UAAqC,IAA4B;QAC/D,IAAI,SAAS,GAAa,EAAE,CAAC;QAE7B,IAAI,IAAI,YAAY,qEAAgB,EAAE;YACpC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,KAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,SAAI,IAAI,CAAC,sBAAwB,CAAC,CAAC;aACpH;iBACI;gBACH,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAEhD,IAAI,cAAc,IAAI,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,YAAY,MAAM,CAAC,EAAE;oBAE9F,KAAK,IAAI,GAAG,IAAI,cAAc,EAAE;wBAC9B,IAAI,GAAG;4BACL,SAAS,CAAC,IAAI,CAAC,KAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B,SAAI,cAAc,CAAC,GAAG,CAAG,CAAC,CAAC;6BAC/E,IAAI,cAAc,CAAC,GAAG,CAAC;4BAC1B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAClD;iBACF;aACF;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;gBACnD,SAAS,CAAC,IAAI,CAAI,IAAI,CAAC,UAAU,UAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAI,CAAC,CAAC;aAChF;SACF;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAChC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,SAAI,IAAI,CAAC,yBAA2B,CAAC,CAAC;SAClI;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEa,iCAAuB,GAArC,UAAsC,aAAqB,EAAE,IAA6B,EAAE,kBAAyB,EAAE,sBAA8B;QAAzD,8DAAyB;QAAE,uEAA8B;QACnJ,IAAI,YAAY,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAErD,KAAoB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAA7B,IAAI,OAAO;YACd,IAAI,WAAW,GAAG,WAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAEjF,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;gBAC5F,OAAO,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC;aAC3F;SACF;QAED,IAAI,CAAC,kBAAkB,EAAE;YACvB,KAAoB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;gBAA7B,IAAI,OAAO;gBAEd,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;oBACrD,IAAI,sBAAsB,EAAE;wBAC1B,OAAO,OAAO,CAAC;qBAChB;yBACI;wBACH,IAAI,WAAW,GAAG,WAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;wBACjF,OAAO,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC;qBACxD;iBACF;aACF;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEa,yBAAe,GAA7B,UAA8B,QAA0B;QACtD,IAAI,QAAQ,YAAY,iEAAY;YAClC,OAAO,QAAQ,CAAC,IAAI,CAAC;QAEvB,IAAI,QAAQ,YAAY,sEAAiB;YACvC,OAAO,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC;IACrE,CAAC;IAEa,wBAAc,GAA5B,UAA6B,QAA0B;QACrD,IAAI,QAAQ,YAAY,qEAAgB,EAAE;YACxC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEa,2BAAiB,GAA/B,UAAgC,QAA0B;QACxD,IAAI,QAAQ,YAAY,qEAAgB,EAAE;YACxC,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;SAC/B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEa,uBAAa,GAA3B,UAA4B,QAA0B;QACpD,IAAI,QAAQ,YAAY,qEAAgB,EAAE;YACxC,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;SAC/B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEa,0BAAgB,GAA9B,UAA+B,GAAW,EAAE,IAAa;QACvD,IAAI,GAAG,EAAE;YACP,IAAI,UAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,UAAQ,CAAC,QAAQ,KAAK,WAAW,IAAI,UAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC;SAC/E;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEa,kCAAwB,GAAtC,UAAuC,WAAmB;QAExD,IAAI,CAAC,WAAW;YACd,OAAO,IAAI,CAAC;QAEd,IAAI,MAAM,GAA8B,EAAE,CAAC;QAE3C,KAAkB,UAAsB,EAAtB,gBAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAArC,IAAI,KAAK;YACZ,IAAI,QAAQ,GAAG,WAAS,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;SAClD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEa,oBAAU,GAAxB,UAAyB,IAAY,EAAE,SAAiB;QACtD,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,cAAc,IAAI,CAAC,CAAC;YACtB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAE/C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAEa,uBAAa,GAA3B,UAA4B,MAAM;QAEhC,IAAI,MAAc,CAAC;QAEnB,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;SACf;QACD,OAAO,KAAK,EAAE;SAEb;QAED,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,IAAI,IAAI,IAAI,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAChC,SAAS;aACV;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,EAAE;gBACrC,SAAS;aACV;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,EAAE;gBACvC,SAAS;aACV;YACD,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,MAAM,GAAG,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAErE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEa,sBAAY,GAA1B,UAA2B,KAAa;QACtC,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,OAAO,CAAC,EAAE;YACR,IAAI,KAAK,KAAK,WAAW,EAAE;gBACzB,OAAO,KAAK,CAAC,CAAC;aACf;YACD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEa,2BAAiB,GAA/B,UAAgC,GAAQ;QACtC,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;YACpB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC5B,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEa,yBAAe,GAA7B,UAA8B,KAAU;QACtC,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC;QACpC,6BAA6B;IAC/B,CAAC;IAEa,sBAAY,GAA1B,UAA2B,KAAU;QACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;IAC9D,CAAC;IAEa,+BAAqB,GAAnC,UAAoC,IAAY;QAC9C,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;YAEpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEa,qBAAW,GAAzB,UAA0B,IAAY;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAC,SAAS;YACtC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC;IAIa,qBAAW,GAAzB,UAA0B,KAAU;QAElC,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,IAAI,YAAY,GAAa,EAAE,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC1C;YAED,OAAO,YAAY,CAAC;SACrB;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;YAC7D,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;SAC5B;IACH,CAAC;IAEa,kBAAQ,GAAtB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxD,CAAC;IAEa,sBAAY,GAA1B,UAA2B,GAAW,EAAE,GAAW;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3D,CAAC;IAEa,iBAAO,GAArB;QACE,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;YACxB,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;;YAE9B,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE/H,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAEa,uBAAa,GAA3B,UAA4B,IAAU;QAEpC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvG,IAAI,UAAU,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAErJ,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9B,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,EAAE;YAC3D,GAAG,GAAG,IAAI,CAAC;SACZ;aACI,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,EAAE;YAC5C,GAAG,GAAG,IAAI,CAAC;SACZ;aACI,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,EAAE;YAC5C,GAAG,GAAG,IAAI,CAAC;SACZ;aACI;YACH,GAAG,GAAG,IAAI,CAAC;SACZ;QAED,IAAI,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QAEtG,OAAO,UAAU,CAAC;IACpB,CAAC;IAEa,uBAAa,GAA3B,UAA4B,IAAU;QAEpC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3B,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjC,IAAI,IAAI,IAAI,CAAC,EAAE;YACb,IAAI,GAAG,EAAE,CAAC;SACX;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;SAClB;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACtB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;SACvB;QAED,IAAI,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;QAGpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEa,mBAAS,GAAvB,UAAwB,IAAU,EAAE,SAAgB;QAAhB,4CAAgB;QAClD,OAAU,WAAS,CAAC,aAAa,CAAC,IAAI,CAAC,SAAI,SAAS,SAAI,WAAS,CAAC,aAAa,CAAC,IAAI,CAAG,CAAC;IAC1F,CAAC;IAEa,2BAAiB,GAA/B,UAAgC,IAAU,EAAE,SAAe;QAAf,2CAAe;QACzD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzE,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE;YAC7C,OAAO,WAAS,SAAS,SAAI,WAAS,CAAC,aAAa,CAAC,IAAI,CAAG,CAAC;QAC/D,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,SAAS,CAAC,YAAY,EAAE;YACjD,OAAO,eAAa,SAAS,SAAI,WAAS,CAAC,aAAa,CAAC,IAAI,CAAG,CAAC;;YAEjE,OAAO,WAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAEa,wBAAc,GAA5B,UAA6B,IAAU,EAAE,SAAe,EAAE,iBAAuB;QAAxC,2CAAe;QAAE,2DAAuB;QAE/E,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;YACjB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAElB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YACnB,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;QAEtB,OAAO,KAAG,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,SAAI,iBAAiB,SAAI,WAAS,CAAC,aAAa,CAAC,IAAI,CAAG,CAAC;IAC/G,CAAC;IAEa,mBAAS,GAAvB,UAAwB,IAAI;QAE1B,IAAI,IAAI,EAAE;YAER,IAAI,IAAI,YAAY,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC;aACb;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,MAAM,EAAE;gBACtD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;gBAEpB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,MAAM,EAAE;gBACtD,OAAO,IAAI,IAAI,CAAM,IAAI,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAEa,uBAAa,GAA3B,UAA4B,KAAW,EAAE,GAAS;QAEhD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpB,sCAAsC;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QAE7D,sCAAsC;QACtC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QACrC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC;QAEtB,uCAAuC;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC;QAEtB,yCAAyC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QAC1C,KAAK,IAAI,OAAO,GAAG,EAAE,CAAC;QAEtB,yBAAyB;QACzB,IAAI,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC,CAAE,wCAAwC;QAGnE,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,IAAI;YACN,WAAW,GAAM,IAAI,UAAO,CAAC;QAE/B,IAAI,KAAK;YACP,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,OAAK,KAAK,WAAQ,CAAC,CAAC,CAAI,KAAK,WAAQ,CAAC;QAErE,IAAI,OAAO;YACT,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,OAAK,OAAO,aAAU,CAAC,CAAC,CAAI,OAAO,aAAU,CAAC;QAE7E,IAAI,OAAO;YACT,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,UAAQ,OAAO,aAAU,CAAC,CAAC,CAAI,OAAO,aAAU,CAAC;QAGhF,IAAI,CAAC,WAAW;YACd,WAAW,GAAG,GAAG,CAAC;QAEpB,OAAO,WAAW,CAAC;IACrB,CAAC;IAEa,gBAAM,GAApB,UAAqB,SAAS,EAAE,SAAS;QACvC,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAEhE,IAAI,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;YAC7C,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE;YAC3F,KAAK,EAAE,CAAC;SACT;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEa,qBAAW,GAAzB,UAA0B,UAAkB,EAAE,aAAsB;QAAE,gBAAgB;aAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;YAAhB,+BAAgB;;QACpF,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;SAC3B;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAEa,uBAAa,GAA3B,UAA4B,KAAY,EAAE,QAAQ,EAAE,QAAQ;QAE1D,OAAO,QAAQ,GAAG,CAAC,EAAE;YACnB,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;SACzB;QAED,OAAO,QAAQ,GAAG,CAAC,EAAE;YACnB,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;SACzB;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACvB;SACF;QAED,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEa,yBAAe,GAA7B,UAA8B,IAAY;QAExC,IAAI,CAAC,IAAI;YACP,OAAO,IAAI,CAAC;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;aACzC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;aAChC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAEa,2BAAiB,GAA/B,UAAgC,GAAW;QAEzC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAEa,8BAAoB,GAAlC,UAAmC,GAAW;QAE5C,OAAO,WAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IAC7D,CAAC;IAEa,qBAAW,GAAzB,UAA0B,GAAG;QAC3B,IAAI,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC;QAEnC,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;YACjB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;aAC5C;iBACI,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAClC,WAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;YAED,IAAI,OAAO,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC9B,WAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC5B;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEa,kBAAQ,GAAtB,UAAuB,IAAsB,EAAE,IAAY,EAAE,SAAmB;QAC9E,IAAI,OAAO,CAAC;QAEZ,OAAO;YACL,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,KAAK,GAAG,SAAS,CAAC;YAEtB,IAAI,KAAK,GAAG;gBACV,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,SAAS;oBACZ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,IAAI,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;YAEpC,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAElC,IAAI,OAAO;gBACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;;IAzgBsB,oCAA0B,GAAG,GAAG,CAAC;IACjC,iCAAuB,GAAG,YAAY,CAAC;IACvC,gCAAsB,GAAG,8BAA8B,CAAC;IACxD,oCAA0B,GAAG,gBAAgB,CAAC;IAC9C,mCAAyB,GAAG,EAAE,CAAC;IAugBxC,iBAAO,GACnB;QACE,OAAO,EAAE,UAAC,IAAI;YACZ,OAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,6BAA6B,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7L,CAAC;QACD,OAAO,EAAE,UAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;YACnD,IAAI,CAAC,IAAI,IAAI,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpE,OAAO,KAAK,CAAC;aACd;YAED,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,IAAI,IAAI,EAAE;gBACR,QAAQ,IAAI,CAAC,WAAW,EAAE;oBACxB,KAAK,MAAM;wBACT,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;wBAC/F,MAAM;oBACR,KAAK,MAAM;wBACT,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC;wBAC/B,MAAM;oBACR,KAAK,IAAI;wBACP,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC7C,MAAM;iBACT;aACF;YAED,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnM,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,EAAE,UAAC,IAAI,EAAE,KAAK,EAAE,OAAO;YAC/B,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,KAAK,CAAC;aACd;YACD,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,0CAA0C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpK,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,UAAC,IAAI;YACZ,OAAO,CAAC,IAAI,MAAM,CAAC,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,EAAE;YACJ,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,yDAAyD,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAChI,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAAE;YAClG,OAAO,KAAK,CAAC;QACf,CAAC;KACF;IAxjBQ,SAAS;QADrB,gEAAU,EAAE;OACA,SAAS,CAyjBrB;IAAD,gBAAC;CAAA;AAzjBqB;;;;;;;;;;;;ACTtB,0ZAA0Z,oCAAoC,2GAA2G,gDAAgD,iiBAAiiB,qcAAqc,wCAAwC,2GAA2G,oDAAoD,6VAA6V,gDAAgD,uEAAuE,KAAK,8BAA8B,oIAAoI,+CAA+C,0EAA0E,KAAK,6BAA6B,sIAAsI,iDAAiD,iDAAiD,+BAA+B,+H;;;;;;;;;;;ACAnyF,8BAA8B,qBAAqB,EAAE,mBAAmB,kBAAkB,wBAAwB,EAAE,cAAc,kBAAkB,EAAE,+HAA+H,kBAAkB,EAAE,oEAAoE,mCAAmC,wBAAwB,EAAE,+CAA+C,2sD;;;;;;;;;;;;ACAzd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEuD;AAC9B;AACH;AAIe;AACG;AACI;AACpB;AACZ;AAEuC;AACG;AACnC;AACD;AAQlD;IAUI,2BACY,YAA0B,EAC1B,MAAc,EACd,KAAqB,EACrB,kBAAyC,EACzC,cAA8B;QAJ9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;IACtC,CAAC;IAEL,oCAAQ,GAAR;QAAA,iBAUC;QATG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAM;YAC5D,QAAQ,MAAM,EAAE;gBACZ,KAAK,aAAa;oBACd,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBAC7B,MAAM;gBACV;oBACI,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2CAAe,GAAf;QAAA,iBAMC;QALG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,cAAI;YACtC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,qDAAqD,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uCAAW,GAAX;QACI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAEM,8CAAkB,GAAzB,UAA0B,QAAgB;QACtC,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAa,QAAU,CAAC,CAAC;SACtD;IACL,CAAC;IAEO,+CAAmB,GAA3B;QAAA,iBAeC;QAdG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAExC,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,SAAS,CAC3C,iBAAO,IAAI,YAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAA5D,CAA4D,EACvE,eAAK,IAAI,YAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAvC,CAAuC,CACnD,CAAC;SACL;aACI;YACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,SAAS,CACnC,cAAI,IAAI,YAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAC,IAAI,WAAI,uDAAI,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,EAA5E,CAA4E,EACpF,eAAK,IAAI,YAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAvC,CAAuC,CACnD,CAAC;SACL;IACL,CAAC;IAEO,2DAA+B,GAAvC,UAAwC,IAAU,EAAE,KAAa;QAC7D,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,uDAA2B,GAAnC,UAAoC,KAAU;QAC1C,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,gEAA6D,8DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EACrJ,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,sBAAI,2CAAY;aAAhB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mEAAU,CAAC,mBAAmB,CAAC,CAAC;QACjF,CAAC;;;OAAA;IA3EqB;QAArB,+DAAS,CAAC,SAAS,CAAC;kCAAe,mEAAiB;2DAAA;IAC3B;QAAzB,+DAAS,CAAC,aAAa,CAAC;kCAAmB,mEAAiB;+DAAA;IAE7B;QAA/B,+DAAS,CAAC,gFAAmB,CAAC;kCAAc,gFAAmB;0DAAC;IAE5B;QAApC,+DAAS,CAAC,oFAAwB,CAAC;kCAAkB,oFAAwB;8DAAC;IARtE,iBAAiB;QAN7B,+DAAS,CAAC;YACP,QAAQ,EAAE,UAAU;;;YAGpB,UAAU,EAAE,CAAC,+DAAS,CAAC;SAC1B,CAAC;yCAY4B,oEAAY;YAClB,sDAAM;YACP,8DAAc;YACD,uFAAqB;YACzB,wEAAc;OAfjC,iBAAiB,CA+E7B;IAAD,wBAAC;CAAA;AA/E6B;;;;;;;;;;;;;AC5B9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAES;AAEa;AAEG;AACe;AAcxE;IAAA;IAA8B,CAAC;IAAlB,cAAc;QAZ1B,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,kEAAY;aACf;YACD,OAAO,EAAE;gBACL,qEAAiB;aACpB;YACD,YAAY,EAAE;gBACV,qEAAiB;gBACjB,oFAAwB;aAC3B;SACJ,CAAC;OACW,cAAc,CAAI;IAAD,qBAAC;CAAA;AAAJ;;;;;;;;;;;;ACxB3B,6LAA6L,oCAAoC,sJAAsJ,4CAA4C,0DAA0D,0GAA0G,wCAAwC,uJAAuJ,oCAAoC,iHAAiH,sBAAsB,6CAA6C,uBAAuB,6LAA6L,WAAW,6CAA6C,yCAAyC,sDAAsD,0GAA0G,wCAAwC,4PAA4P,mDAAmD,uEAAuE,+CAA+C,2JAA2J,sDAAsD,uEAAuE,kDAAkD,kJAAkJ,mDAAmD,uEAAuE,yCAAyC,oJAAoJ,+CAA+C,uEAAuE,2CAA2C,gE;;;;;;;;;;;ACApzF,iCAAiC,oBAAoB,6BAA6B,EAAE,sBAAsB,oBAAoB,2BAA2B,EAAE,wBAAwB,oBAAoB,EAAE,iBAAiB,kBAAkB,qBAAqB,EAAE,0BAA0B,kBAAkB,EAAE,gCAAgC,mBAAmB,EAAE,wBAAwB,qBAAqB,EAAE,sBAAsB,sBAAsB,EAAE,+BAA+B,qCAAqC,uBAAuB,EAAE,EAAE,+CAA+C,mhD;;;;;;;;;;;;ACAjlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEU;AACM;AAE0B;AACD;AACG;AACf;AACX;AAsBlD;IAiBI,kCACY,YAA0B,EAC1B,kBAAyC,EACzC,cAA8B,EAC9B,QAAqB,EACtB,cAAoC;QAJnC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAa;QACtB,mBAAc,GAAd,cAAc,CAAsB;QApB/C,cAAS,GAAyB;YAC9B,EAAE,IAAI,EAAE,SAAS,EAAK,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;YACrD,EAAE,IAAI,EAAE,QAAQ,EAAM,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;YACtD,EAAE,IAAI,EAAE,SAAS,EAAK,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;YACtD,yDAAyD;YACzD,EAAE,IAAI,EAAE,UAAU,EAAM,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;SAE3D;QAED,cAAS,GAAe;YACpB,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAU,SAAS,EAAE,IAAI,EAAE;YAC7E,EAAE,KAAK,EAAE,OAAO,EAAM,IAAI,EAAE,MAAM,EAAO,IAAI,EAAE,QAAQ,EAAK,SAAS,EAAE,KAAK,EAAE;YAC9E,EAAE,KAAK,EAAE,UAAU,EAAG,IAAI,EAAE,UAAU,EAAG,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;SACjF;IAQG,CAAC;IAEL,sBAAI,qDAAe;aAAnB;YAAA,iBAGC;YADG,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,KAAI,CAAC,cAAc,CAAC,OAAO,EAArC,CAAqC,CAAC,IAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC;;;OAAA;IAED,yCAAM,GAAN;QAAA,iBAwBC;QAtBG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAClE,QAAQ,EAAE,CAAC,SAAS,CAAC;YAElB,KAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YAExC,KAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;iBACnC,SAAS,CAAC,iBAAO;gBAEd,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBAEvC,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEpC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,EAAE,uEAAe,CAAC,IAAI,CAAC,CAAC;YAEhF,CAAC,EACD,eAAK;gBAED,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,uEAAoE,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EAC5J,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACX,CAAC;IAED,uCAAI,GAAJ;QAAA,iBAqBC;QAnBG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC9D,QAAQ,EAAE,CAAC,SAAS,CAAC;YAElB,KAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;YAEjE,KAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;iBAClE,SAAS,CAAC,kBAAQ;gBAEf,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,uCAAuC,EAAE,uEAAe,CAAC,OAAO,CAAC;YAEnH,CAAC,EACD,eAAK;gBAED,KAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACvC,KAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,yEAAsE,6DAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAG,EAC9J,uEAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACX,CAAC;IAED,wCAAK,GAAL;QAAA,iBAQC;QANG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC7D,QAAQ,EAAE,CAAC,SAAS,CAAC;YAElB,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,+CAA+C,EAAE,uEAAe,CAAC,OAAO,CAAC,CAAC;QAC9H,CAAC,CAAC,CAAC;IACX,CAAC;IAvFQ,wBAAwB;QALpC,+DAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;;;SAG/B,CAAC;yCAmB4B,oEAAY;YACN,uFAAqB;YACzB,wEAAc;YACpB,6DAAW;YACN,oFAAoB;OAtBtC,wBAAwB,CAwFpC;IAAD,+BAAC;CAAA;AAxFoC;;;;;;;;;;;;AClCrC,6DAA6D,OAAO,sEAAsE,SAAS,uEAAuE,4BAA4B,SAAS,2MAA2M,SAAS,sGAAsG,aAAa,wB;;;;;;;;;;;ACAtkB,+DAA+D,mJ;;;;;;;;;;;;ACA/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;;;;AAE6B;AACgB;AAEQ;AACT;AAO5E;IAuCI,4BACW,SAA2C,EAC1C,kBAAyC,EAChB,IAAiB;QAF3C,cAAS,GAAT,SAAS,CAAkC;QAC1C,uBAAkB,GAAlB,kBAAkB,CAAuB;QAChB,SAAI,GAAJ,IAAI,CAAa;IAClD,CAAC;IAzCL,sBAAI,yCAAS;aAAb;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACrD,CAAC;;;OAAA;IAED,sBAAI,qCAAK;aAAT;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,CAAC;;;OAAA;IAED,sBAAI,uCAAO;aAAX;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC;;;OAAA;IAED,sBAAI,uCAAO;aAAX;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACrC,CAAC;;;OAAA;IAED,sBAAI,2CAAW;aAAf;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,kEAAU,CAAC,KAAK,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ;YAEI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,kEAAU,CAAC,MAAM,CAAC;QAC/C,CAAC;;;OAAA;IAUD,+BAAE,GAAF;QAEI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,kEAAU,CAAC,MAAM,EACvC;YACI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/D;aAED;YACI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,mCAAM,GAAN;QAEI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAC5B;YACI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAjEQ,kBAAkB;QAL9B,+DAAS,CAAC;YACP,QAAQ,EAAE,YAAY;;;SAGzB,CAAC;QA2CO,uEAAM,CAAC,iEAAe,CAAC;yCAFN,8DAAY;YACF,uFAAqB;YACV,mEAAW;OA1C7C,kBAAkB,CAkE9B;IAAD,yBAAC;CAAA;AAlE8B;;;;;;;;;;;;AChB/B,qJAAqJ,GAAG,WAAW,gJ;;;;;;;;;;;ACAnK,+BAA+B,oBAAoB,gBAAgB,uBAAuB,EAAE,sBAAsB,qBAAqB,EAAE,wBAAwB,cAAc,EAAE,+CAA+C,+qB;;;;;;;;;;;;ACAhO;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEoB;AAOpD;IAAA;IAMA,CAAC;IAJG,wBAAO,GAAP;QAEI,OAAO,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;IALQ,MAAM;QALlB,+DAAS,CAAC;YACP,QAAQ,EAAE,YAAY;;;SAGzB,CAAC;OACW,MAAM,CAMlB;IAAD,aAAC;CAAA;AANkB;AAYnB;IAAA;IAA4B,CAAC;IAAhB,YAAY;QAJxB,8DAAQ,CAAC;YACN,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,YAAY,EAAE,CAAC,MAAM,CAAC;SACzB,CAAC;OACW,YAAY,CAAI;IAAD,mBAAC;CAAA;AAAJ;;;;;;;;;;;;ACxBzB,yIAAyI,0BAA0B,MAAM,uBAAuB,mCAAmC,uB;;;;;;;;;;;ACAnO,0BAA0B,gBAAgB,EAAE,sBAAsB,gBAAgB,iBAAiB,oBAAoB,0BAA0B,2BAA2B,EAAE,eAAe,cAAc,eAAe,0BAA0B,2BAA2B,EAAE,+CAA+C,+5B;;;;;;;;;;;;ACAhU;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAE2B;AAO3D;IAAA;IAOA,CAAC;IAJG;QADC,2DAAK,EAAE;;sDACM;IAGd;QADC,2DAAK,EAAE;;qDACK;IANJ,mBAAmB;QAL/B,+DAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;;;SAG9B,CAAC;OACW,mBAAmB,CAO/B;IAAD,0BAAC;CAAA;AAP+B;;;;;;;;;;;;;ACZhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAES;AACc;AACW;AACR;AACqB;AAEzB;AAEiB;AAEV;AACQ;AACT;AAEP;AA+BrD;IAAA;IAGA,CAAC;IAHY,YAAY;QA7BxB,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,qEAAgB;gBAChB,0DAAW,EAAE,kEAAmB;gBAChC,uEAAa,EAAE,4FAAuB;gBACtC,kFAAyB;gBACzB,mEAAe;aAClB;YACD,OAAO,EAAE;gBACL,qEAAgB;gBAChB,0DAAW,EAAE,kEAAmB;gBAChC,uEAAa,EAAE,4FAAuB;gBACtC,kFAAyB;gBACzB,mEAAe;gBACf,0EAAmB;gBACnB,iEAAW;gBACX,gFAAmB;gBACnB,wEAAkB;aACrB;YACD,YAAY,EAAE;gBACV,0EAAmB;gBACnB,iEAAW;gBACX,gFAAmB;gBACnB,wEAAkB;aACrB;YACD,eAAe,EAAE;gBACb,wEAAkB;aACrB;SACJ,CAAC;OACW,YAAY,CAGxB;IAAD,mBAAC;CAAA;AAHwB;;;;;;;;;;;;;AClDzB;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;AAEW;AAK3C;IADA;QAEE,WAAM,GAAoB;YACxB;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,KAAK;aACd;YACD;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;aACb;YACD;gBACE,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,IAAI;aACb;SACF,CAAC;IA6CJ,CAAC;IA3CQ,mCAAY,GAAnB,UAAoB,KAAe;QACjC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC3B;aACI;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAiB,KAAK,CAAC,IAAM,CAAC,CAAC;SACvD;IACH,CAAC;IAEM,mCAAY,GAAnB,UAAoB,EAAU;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,IAAI,YAAK,CAAC,EAAE,KAAK,EAAE,EAAf,CAAe,CAAC,CAAC;IACpD,CAAC;IAEO,+BAAQ,GAAhB,UAAiB,GAAW,EAAE,IAAY;QACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEO,kCAAW,GAAnB,UAAoB,GAAW;QAC7B,IAAM,mBAAmB,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,mBAAmB,EAAE;YACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;SAChD;IACH,CAAC;IAEO,2CAAoB,GAA5B,UAA6B,GAAW;QACtC,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAEO,kDAA2B,GAAnC,UAAoC,GAAW;QAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,8BAA0B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAG,CAAC,CAAC;IAC/F,CAAC;IAEO,+CAAwB,GAAhC,UAAiC,GAAW;QAC1C,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,yCAAkB,GAA1B,UAA2B,GAAW;QACpC,OAAO,mBAAiB,GAAK,CAAC;IAChC,CAAC;IA/EU,YAAY;QADxB,gEAAU,EAAE;OACA,YAAY,CAgFxB;IAAD,mBAAC;CAAA;AAhFwB;;;;;;;;;;;;ACVzB,ovBAAovB,YAAY,oD;;;;;;;;;;;ACAhwB,4DAA4D,iBAAiB,EAAE,4CAA4C,mBAAmB,eAAe,qBAAqB,EAAE,qDAAqD,gBAAgB,iBAAiB,0BAA0B,2BAA2B,oBAAoB,EAAE,yDAAyD,yBAAyB,kBAAkB,mBAAmB,+BAA+B,EAAE,oDAAoD,0BAA0B,2BAA2B,sBAAsB,EAAE,mDAAmD,iBAAiB,uBAAuB,mBAAmB,cAAc,aAAa,6CAA6C,6CAA6C,EAAE,+CAA+C,mwE;;;;;;;;;;;;ACAl4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;;;;;;;;;;AAEuE;AACxD;AAEoE;AAEpE;AAE0B;AAUzE;IAKI,qBACW,YAA0B,EACzB,aAAmC;QAF/C,iBAMC;QALU,iBAAY,GAAZ,YAAY,CAAc;QACzB,kBAAa,GAAb,aAAa,CAAsB;QAL/C,YAAO,GAAG,OAAO,CAAC;QAOd,aAAa,CAAC,sBAAsB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,YAAY,CAAC,EAAhC,CAAgC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,sBAAI,qCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;;;OAAA;IAED,8BAAQ,GAAR,UAAS,KAAe;QACpB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;SACzC;IACL,CAAC;IApBD;QADC,2DAAK,EAAE;;gDACU;IAFT,WAAW;QARvB,+DAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;;;YAG5B,eAAe,EAAE,qEAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,+DAAiB,CAAC,IAAI;YACrC,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAClC,CAAC;yCAO2B,2DAAY;YACV,oFAAoB;OAPtC,WAAW,CAuBvB;IAAD,kBAAC;CAAA;AAvBuB;AAsCxB;IAAA;IAAiC,CAAC;IAArB,iBAAiB;QAb7B,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,4DAAY;gBACZ,iEAAe;gBACf,+DAAa;gBACb,+DAAa;gBACb,+DAAa;gBACb,kEAAgB;aACnB;YACD,OAAO,EAAE,CAAC,WAAW,CAAC;YACtB,YAAY,EAAE,CAAC,WAAW,CAAC;YAC3B,SAAS,EAAE,CAAC,2DAAY,EAAE,oFAAoB,CAAC;SAClD,CAAC;OACW,iBAAiB,CAAI;IAAD,wBAAC;CAAA;AAAJ;;;;;;;;;;;;;AC5D9B;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAIzB,SAAS,cAAc,CAAC,WAAmB;IAE9C,OAAO,UAAC,OAAwB;QAE5B,IAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,IAAM,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC;QAC1E,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;;;;;;;;;;;;;ACfD;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEhC,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACvBnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,+BAA+B;AAC/B,gCAAgC;AAEe;AAC4B;AAE9B;AACY;AACvC;AAEX,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,IAAM,SAAS,GAAG;IAChB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;CAC1D,CAAC;AAGF,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,gGAAsB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,yDAAS,CAAC;KACzD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","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 = \"./src/$$_lazy_route_resource lazy recursive\";","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AdminComponent } from \"./admin.component\";\r\nimport { RoleListComponent } from './role-list.component';\r\nimport { UserListComponent } from './user-list.component';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { AuthGuard } from '../services/auth-guard.service';\r\n\r\nconst adminRoutes: Routes = [\r\n {\r\n path: 'admin',\r\n component: AdminComponent,\r\n children: [\r\n { path: 'users', component: UserListComponent, canActivate: [AuthGuard], data: { title: \"Admin | Users\" } },\r\n { path: 'roles', component: RoleListComponent, canActivate: [AuthGuard], data: { title: \"Admin | Roles\" } }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(adminRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ],\r\n providers: [\r\n AuthService, AuthGuard\r\n ]\r\n})\r\nexport class AdminRoutingModule { }\r\n","module.exports = \"\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2FkbWluLmNvbXBvbmVudC5zY3NzIn0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"quickapp-pro-admin\",\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.scss']\r\n})\r\nexport class AdminComponent\r\n{\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule } from \"@angular/core\";\r\n\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { AdminRoutingModule } from \"./admin-routing.module\";\r\n\r\nimport { AdminComponent } from \"./admin.component\";\r\nimport { RoleListComponent } from \"./role-list.component\";\r\nimport { EditRoleDialogComponent } from \"./edit-role-dialog.component\";\r\nimport { RoleEditorComponent } from './role-editor.component';\r\nimport { UserListComponent } from \"./user-list.component\";\r\nimport { EditUserDialogComponent } from \"./edit-user-dialog.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n AdminRoutingModule\r\n ],\r\n declarations: [\r\n AdminComponent,\r\n RoleListComponent,\r\n EditRoleDialogComponent,\r\n RoleEditorComponent,\r\n UserListComponent,\r\n EditUserDialogComponent\r\n ],\r\n entryComponents: [\r\n EditUserDialogComponent,\r\n EditRoleDialogComponent\r\n ]\r\n})\r\nexport class AdminModule\r\n{\r\n\r\n}\r\n","module.exports = \"

{{roleName ? ('roles.management.EditRole' | translate:roleName) : ('roles.management.NewRole' | translate)}}

\\r\\n

{{'roles.management.RoleDetails' | translate:roleName}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2VkaXQtcm9sZS1kaWFsb2cuY29tcG9uZW50LnNjc3MifQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\nimport { AccountService } from '../services/account.service';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\n\r\nimport { RoleEditorComponent } from './role-editor.component';\r\n\r\n@Component({\r\n selector: 'app-edit-user-dialog',\r\n templateUrl: 'edit-role-dialog.component.html',\r\n styleUrls: ['edit-role-dialog.component.scss']\r\n})\r\nexport class EditRoleDialogComponent {\r\n @ViewChild(RoleEditorComponent)\r\n roleEditor: RoleEditorComponent;\r\n\r\n get roleName(): any {\r\n return this.data.role ? { name: this.data.role.name } : null;\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { role: Role, allPermissions: Permission[] },\r\n private accountService: AccountService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.roleEditor.roleSaved$.subscribe(role => this.dialogRef.close(role));\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n get canManageRoles() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission)\r\n }\r\n}\r\n","module.exports = \"

{{userName ? ('users.management.EditUser' | translate:userName) : ('users.management.NewUser' | translate)}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2VkaXQtdXNlci1kaWFsb2cuY29tcG9uZW50LnNjc3MifQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\nimport { User } from '../models/user.model';\r\nimport { Role } from '../models/role.model';\r\n\r\nimport { UserEditorComponent } from './user-editor.component';\r\n\r\n@Component({\r\n selector: 'app-edit-user-dialog',\r\n templateUrl: 'edit-user-dialog.component.html',\r\n styleUrls: ['edit-user-dialog.component.scss']\r\n})\r\nexport class EditUserDialogComponent\r\n{\r\n @ViewChild(UserEditorComponent)\r\n editUser: UserEditorComponent;\r\n\r\n get userName() : any\r\n {\r\n return this.data.user ? { name: this.data.user.userName } : null;\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { user: User, roles: Role[] })\r\n {\r\n }\r\n\r\n ngAfterViewInit()\r\n {\r\n this.editUser.userSaved$.subscribe(user => this.dialogRef.close(user))\r\n }\r\n\r\n cancel(): void\r\n {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n {{'roles.editor.Name' | translate}}\\r\\n \\r\\n \\r\\n {{'roles.editor.RoleNameRequired' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'roles.editor.Description' | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{permissionGroup.key}}\\r\\n \\r\\n \\r\\n \\r\\n {{permission.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3JvbGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzIn0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, Input, ViewChild } from '@angular/core';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { NgForm, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AlertService, MessageSeverity } from '../services/alert.service';\r\nimport { AccountService } from \"../services/account.service\";\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\n\r\n@Component({\r\n selector: 'role-editor',\r\n templateUrl: './role-editor.component.html',\r\n styleUrls: ['./role-editor.component.scss']\r\n})\r\nexport class RoleEditorComponent {\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n private selectedPermissions: SelectionModel\r\n private isNewRole = false;\r\n private isSaving: boolean;\r\n private onRoleSaved = new Subject();\r\n\r\n @Input() role: Role = new Role();\r\n @Input() allPermissions: Permission[] = [];\r\n\r\n roleForm: FormGroup;\r\n roleSaved$ = this.onRoleSaved.asObservable();\r\n\r\n get name() {\r\n return this.roleForm.get('name');\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private accountService: AccountService,\r\n private formBuilder: FormBuilder\r\n ) {\r\n this.buildForm();\r\n this.selectedPermissions = new SelectionModel(true, []);\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.role) {\r\n this.isNewRole = false;\r\n }\r\n else {\r\n this.isNewRole = true;\r\n this.role = new Role();\r\n }\r\n\r\n this.resetForm();\r\n }\r\n\r\n public save() {\r\n if (!this.form.submitted) {\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.roleForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Saving changes...\");\r\n\r\n const editedRole = this.getEditedRole();\r\n\r\n if (this.isNewRole) {\r\n this.accountService.newRole(editedRole).subscribe(\r\n role => this.saveSuccessHelper(role),\r\n error => this.saveFailedHelper(error));\r\n\r\n }\r\n else {\r\n this.accountService.updateRole(editedRole).subscribe(\r\n response => this.saveSuccessHelper(editedRole),\r\n error => this.saveFailedHelper(error));\r\n }\r\n }\r\n\r\n private getEditedRole(): Role {\r\n const formModel = this.roleForm.value;\r\n\r\n return {\r\n id: this.role.id,\r\n name: formModel.name,\r\n description: formModel.description,\r\n permissions: this.selectedPermissions.selected,\r\n usersCount: 0\r\n };\r\n }\r\n\r\n private saveSuccessHelper(role?: Role) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n if (this.isNewRole) {\r\n this.alertService.showMessage(\"Success\", `Role \\\"${role.name}\\\" was created successfully`, MessageSeverity.success);\r\n }\r\n else {\r\n this.alertService.showMessage(\"Success\", `Changes to role \\\"${role.name}\\\" was saved successfully`, MessageSeverity.success);\r\n }\r\n\r\n if (!this.isNewRole) {\r\n if (this.accountService.currentUser.roles.some(r => r == this.role.name))\r\n this.refreshLoggedInUser();\r\n\r\n role.usersCount = this.role.usersCount;\r\n }\r\n\r\n this.onRoleSaved.next(role);\r\n }\r\n\r\n private refreshLoggedInUser() {\r\n this.accountService.refreshLoggedInUser()\r\n .subscribe(user => { },\r\n error => {\r\n this.alertService.resetStickyMessage();\r\n this.alertService.showStickyMessage(\"Refresh failed\", \"An error occured whilst refreshing logged in user information from the server\", MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"The below errors occured whilst saving your changes:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private cancel() {\r\n this.resetForm();\r\n\r\n this.alertService.resetStickyMessage();\r\n }\r\n\r\n private selectAll() {\r\n this.selectedPermissions.select(...this.allPermissions);\r\n }\r\n\r\n private toggleGroup(groupName: string) {\r\n let firstMemberValue: boolean;\r\n\r\n this.selectedPermissions.selected\r\n\r\n const permissions = this.allPermissions\r\n .filter(p => p.groupName == groupName)\r\n\r\n if (permissions.length) {\r\n if (this.selectedPermissions.isSelected(permissions[0])) {\r\n this.selectedPermissions.deselect(...permissions);\r\n }\r\n else {\r\n this.selectedPermissions.select(...permissions);\r\n }\r\n }\r\n }\r\n\r\n private buildForm() {\r\n this.roleForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n description: ''\r\n });\r\n }\r\n\r\n private resetForm(replace = false) {\r\n this.roleForm.reset({\r\n name: this.role.name || '',\r\n description: this.role.description || ''\r\n });\r\n\r\n const selectePermissions = this.role.permissions\r\n ? this.allPermissions.filter(x => this.role.permissions.find(y => y.value === x.value))\r\n : [];\r\n\r\n this.selectedPermissions = new SelectionModel(true, selectePermissions);\r\n }\r\n\r\n get canManageRoles() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission)\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'roles.management.Name' | translate}} \\r\\n {{role.name}} \\r\\n \\r\\n\\r\\n \\r\\n {{'roles.management.Description' | translate}} \\r\\n {{role.description}} \\r\\n \\r\\n\\r\\n \\r\\n {{'roles.management.Users' | translate}} \\r\\n {{role.usersCount}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".search-box {\\n flex-direction: column;\\n box-sizing: border-box;\\n display: flex; }\\n\\n.search-box .mat-form-field {\\n padding: 0 2em; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxhZG1pblxccm9sZS1saXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksdUJBQXNCO0VBQ3RCLHVCQUFzQjtFQUN0QixjQUFhLEVBQ2hCOztBQUVEO0VBQ0ksZUFBYyxFQUNqQiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3JvbGUtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zZWFyY2gtYm94IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnNlYXJjaC1ib3ggLm1hdC1mb3JtLWZpZWxkIHtcclxuICAgIHBhZGRpbmc6IDAgMmVtO1xyXG59XHJcbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, AfterViewInit, TemplateRef, ViewChild, Input } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\n\r\nimport { fadeInOut } from '../services/animations';\r\nimport { AlertService, DialogType, MessageSeverity } from '../services/alert.service';\r\nimport { AppTranslationService } from \"../services/app-translation.service\";\r\nimport { AccountService } from '../services/account.service';\r\nimport { Utilities } from '../services/utilities';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\nimport { EditRoleDialogComponent } from \"./edit-role-dialog.component\";\r\n\r\n@Component({\r\n selector: \"app-role-list\",\r\n templateUrl: './role-list.component.html',\r\n styleUrls: ['./role-list.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class RoleListComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n displayedColumns = ['roleName', 'description', 'users', 'actions'];\r\n dataSource: MatTableDataSource;\r\n allPermissions: Permission[] = [];\r\n sourceRole: Role;\r\n editingRoleName: { name: string };\r\n loadingIndicator: boolean;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n get canManageRoles() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission)\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n private updateRoles(role: Role) {\r\n if (this.sourceRole) {\r\n Object.assign(this.sourceRole, role);\r\n this.sourceRole = null;\r\n }\r\n else {\r\n this.dataSource.data.push(role);\r\n }\r\n\r\n this.refresh();\r\n }\r\n\r\n private loadData() {\r\n this.alertService.startLoadingMessage();\r\n this.loadingIndicator = true;\r\n\r\n this.accountService.getRolesAndPermissions()\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = results[0];\r\n this.allPermissions = results[1];\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve roles from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n private editRole(role?: Role) {\r\n this.sourceRole = role;\r\n\r\n let dialogRef = this.dialog.open(EditRoleDialogComponent,\r\n {\r\n panelClass: 'mat-dialog-md',\r\n data: { role: role, allPermissions: this.allPermissions }\r\n });\r\n dialogRef.afterClosed().subscribe(role => {\r\n if (role && this.canManageRoles) {\r\n this.updateRoles(role);\r\n }\r\n });\r\n }\r\n\r\n private confirmDelete(role: Role) {\r\n this.snackBar.open(`Delete ${role.name} role?`, \"DELETE\", { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage(\"Deleting...\");\r\n this.loadingIndicator = true;\r\n\r\n this.accountService.deleteRole(role)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n this.dataSource.data = this.dataSource.data.filter(item => item !== role)\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(\"Delete Error\", `An error occured whilst deleting the role.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{'users.editor.Email' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.EmailRequired' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.InvalidEmail' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'users.editor.UserName' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.UserNameRequired' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'users.editor.CurrentPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.CurrentPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{'users.editor.NewPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.NewPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.NewPasswordRules' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'users.editor.ConfirmPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.ConfirmationPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n Test\\r\\n {{'users.editor.PasswordMismatch' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{'users.editor.Roles' | translate}}\\r\\n \\r\\n \\r\\n {{role.name}}\\r\\n \\r\\n \\r\\n \\r\\n {{'users.editor.RoleRequired' | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{'users.editor.Enabled' | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3VzZXItZWRpdG9yLmNvbXBvbmVudC5zY3NzIn0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnDestroy, ViewChild, Input, Output, OnChanges, EventEmitter } from '@angular/core';\r\nimport { NgForm, FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\nimport { AccountService } from \"../services/account.service\";\r\nimport { AlertService, MessageSeverity } from '../services/alert.service';\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Utilities } from '../services/utilities';\r\nimport { User } from '../models/user.model';\r\nimport { UserEdit } from '../models/user-edit.model';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\nimport { EqualValidator } from '../shared/validators/equal.validator';\r\n\r\n@Component({\r\n selector: 'user-editor',\r\n templateUrl: './user-editor.component.html',\r\n styleUrls: ['./user-editor.component.scss']\r\n})\r\nexport class UserEditorComponent implements OnChanges, OnDestroy {\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n isNewUser = false;\r\n isChangePassword = false;\r\n private isSaving = false;\r\n private passwordWatcher: Subscription;\r\n private onUserSaved = new Subject();\r\n\r\n @Input() user: User = new User();\r\n @Input() roles: Role[] = [];\r\n @Input() isEditMode: boolean = false;\r\n\r\n userProfileForm: FormGroup;\r\n userSaved$ = this.onUserSaved.asObservable();\r\n\r\n get userName() {\r\n return this.userProfileForm.get('userName');\r\n }\r\n\r\n get email() {\r\n return this.userProfileForm.get('email');\r\n }\r\n\r\n get password() {\r\n return this.userProfileForm.get('password');\r\n }\r\n\r\n get currentPassword() {\r\n return this.password.get('currentPassword');\r\n }\r\n\r\n get newPassword() {\r\n return this.password.get('newPassword');\r\n }\r\n\r\n get confirmPassword() {\r\n return this.password.get('confirmPassword');\r\n }\r\n\r\n get assignedRoles() {\r\n return this.userProfileForm.get('roles');\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\r\n }\r\n\r\n get canAssignRoles() {\r\n return this.accountService.userHasPermission(Permission.assignRolesPermission);\r\n }\r\n\r\n get isEditingSelf() {\r\n return this.accountService.currentUser ? this.user.id == this.accountService.currentUser.id : false;\r\n }\r\n\r\n get assignableRoles(): Role[] {\r\n return this.roles;\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private formBuilder: FormBuilder\r\n ) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.user) {\r\n this.isNewUser = false;\r\n }\r\n else {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n this.user.isEnabled = true;\r\n }\r\n\r\n this.setRoles();\r\n\r\n this.resetForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.passwordWatcher.unsubscribe();\r\n }\r\n\r\n public setUser(user?: User, roles?: Role[]) {\r\n this.user = user;\r\n if (roles) {\r\n this.roles = [...roles];\r\n }\r\n\r\n this.ngOnChanges();\r\n }\r\n\r\n private buildForm() {\r\n this.userProfileForm = this.formBuilder.group({\r\n //jobTitle: '',\r\n userName: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email]],\r\n password: this.formBuilder.group({\r\n currentPassword: ['', Validators.required],\r\n newPassword: ['', [Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]],\r\n confirmPassword: ['', [Validators.required, EqualValidator('newPassword')]],\r\n }),\r\n roles: ['', Validators.required],\r\n //fullName: '',\r\n //phoneNumber: '',\r\n isEnabled: ''\r\n });\r\n\r\n this.passwordWatcher = this.newPassword.valueChanges.subscribe(() => this.confirmPassword.updateValueAndValidity());\r\n }\r\n\r\n public resetForm(stopEditing: boolean = false) {\r\n if (stopEditing) {\r\n this.isEditMode = false;\r\n }\r\n\r\n if (!this.user) {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n }\r\n\r\n if (this.isNewUser) {\r\n this.isChangePassword = true;\r\n this.addNewPasswordValidators();\r\n }\r\n else {\r\n this.isChangePassword = false;\r\n this.newPassword.clearValidators();\r\n this.confirmPassword.clearValidators();\r\n }\r\n\r\n this.currentPassword.clearValidators();\r\n\r\n this.userProfileForm.reset({\r\n //jobTitle: this.user.jobTitle || '',\r\n userName: this.user.userName || '',\r\n email: this.user.email || '',\r\n password: {\r\n currentPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n },\r\n roles: this.user.roles || [],\r\n //fullName: this.user.fullName || '',\r\n //phoneNumber: this.user.phoneNumber || '',\r\n isEnabled: this.user.isEnabled\r\n });\r\n }\r\n\r\n private setRoles() {\r\n if (this.user.roles) {\r\n for (let role of this.user.roles) {\r\n if (!this.roles.some(r => r.name == role)) {\r\n this.roles.unshift(new Role(role));\r\n }\r\n }\r\n }\r\n }\r\n\r\n public beginEdit() {\r\n this.isEditMode = true;\r\n this.isChangePassword = false;\r\n }\r\n\r\n public save() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.userProfileForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Saving changes...\");\r\n\r\n const editedUser = this.getEditedUser();\r\n\r\n if (this.isNewUser) {\r\n this.accountService.newUser(editedUser).subscribe(\r\n user => this.saveCompleted(user),\r\n error => this.saveFailed(error));\r\n }\r\n else {\r\n this.accountService.updateUser(editedUser).subscribe(\r\n response => this.saveCompleted(editedUser),\r\n error => this.saveFailed(error));\r\n }\r\n }\r\n\r\n public cancel() {\r\n this.resetForm();\r\n this.isEditMode = false;\r\n\r\n this.alertService.resetStickyMessage();\r\n }\r\n\r\n private getEditedUser(): UserEdit {\r\n const formModel = this.userProfileForm.value;\r\n\r\n return {\r\n id: this.user.id,\r\n jobTitle: formModel.jobTitle,\r\n userName: formModel.userName,\r\n fullName: formModel.fullName,\r\n friendlyName: formModel.friendlyName,\r\n email: formModel.email,\r\n phoneNumber: formModel.phoneNumber,\r\n roles: formModel.roles,\r\n currentPassword: formModel.password.currentPassword,\r\n newPassword: this.isChangePassword ? formModel.password.newPassword : null,\r\n confirmPassword: this.isChangePassword ? formModel.password.confirmPassword : null,\r\n isEnabled: formModel.isEnabled,\r\n isLockedOut: this.user.isLockedOut,\r\n transmitereMail: 'N'\r\n };\r\n }\r\n\r\n private saveCompleted(user?: User) {\r\n if (user) {\r\n this.raiseEventIfRolesModified(this.user, user);\r\n this.user = user;\r\n }\r\n\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.resetForm(true);\r\n\r\n this.onUserSaved.next(this.user);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"One or more errors occured whilst saving your changes:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private raiseEventIfRolesModified(currentUser: User, editedUser: User) {\r\n let rolesAdded = this.isNewUser ? editedUser.roles : editedUser.roles.filter(role => currentUser.roles.indexOf(role) == -1);\r\n let rolesRemoved = this.isNewUser ? [] : currentUser.roles.filter(role => editedUser.roles.indexOf(role) == -1);\r\n\r\n let modifiedRoles = rolesAdded.concat(rolesRemoved);\r\n\r\n if (modifiedRoles.length) {\r\n setTimeout(() => this.accountService.onRolesUserCountChanged(modifiedRoles));\r\n }\r\n }\r\n\r\n private changePassword() {\r\n this.isChangePassword = true;\r\n this.addCurrentPasswordValidators();\r\n this.addNewPasswordValidators();\r\n }\r\n\r\n private addCurrentPasswordValidators() {\r\n this.currentPassword.setValidators(Validators.required);\r\n }\r\n\r\n private addNewPasswordValidators() {\r\n this.newPassword.setValidators([Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]);\r\n this.confirmPassword.setValidators([Validators.required, EqualValidator('newPassword')]);\r\n }\r\n\r\n private unlockUser() {\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Unblocking user...\");\r\n\r\n this.accountService.unblockUser(this.user.id)\r\n .subscribe(response => {\r\n this.isSaving = false;\r\n this.user.isLockedOut = false;\r\n this.userProfileForm.patchValue({\r\n isLockedOut: this.user.isLockedOut\r\n });\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Success\", \"User has been successfully unlocked\", MessageSeverity.success);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Unblock Error\", \"The below errors occured whilst unlocking the user:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'users.management.Title' | translate}} \\r\\n {{row.jobTitle}} \\r\\n \\r\\n\\r\\n \\r\\n {{'users.management.UserName' | translate}} \\r\\n {{row.userName}} \\r\\n \\r\\n\\r\\n \\r\\n {{'users.management.FullName' | translate}} \\r\\n {{row.fullName}} \\r\\n \\r\\n\\r\\n \\r\\n {{'users.management.Email' | translate}} \\r\\n {{row.email}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \".search-box {\\n flex-direction: column;\\n box-sizing: border-box;\\n display: flex; }\\n\\n.search-box .mat-form-field {\\n padding: 0 2em; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxhZG1pblxcdXNlci1saXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksdUJBQXNCO0VBQ3RCLHVCQUFzQjtFQUN0QixjQUFhLEVBQ2hCOztBQUVEO0VBQ0ksZUFBYyxFQUNqQiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3VzZXItbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zZWFyY2gtYm94IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLnNlYXJjaC1ib3ggLm1hdC1mb3JtLWZpZWxkIHtcclxuICAgIHBhZGRpbmc6IDAgMmVtO1xyXG59Il19 */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, AfterViewInit, TemplateRef, ViewChild, Input } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\n\r\nimport { fadeInOut } from '../services/animations';\r\nimport { AlertService, DialogType, MessageSeverity } from '../services/alert.service';\r\nimport { AppTranslationService } from \"../services/app-translation.service\";\r\nimport { AccountService } from \"../services/account.service\";\r\nimport { Utilities } from \"../services/utilities\";\r\nimport { User } from '../models/user.model';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\nimport { EditUserDialogComponent } from './edit-user-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class UserListComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n displayedColumns = [/*'jobTitle',*/ 'userName', /*'fullName',*/ 'email'];\r\n dataSource: MatTableDataSource;\r\n sourceUser: User;\r\n loadingIndicator: boolean;\r\n allRoles: Role[] = [];\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog) {\r\n\r\n\r\n if (this.canManageUsers)\r\n this.displayedColumns.push('actions');\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n private updateUsers(user: User) {\r\n if (this.sourceUser) {\r\n Object.assign(this.sourceUser, user);\r\n this.alertService.showMessage(\"Success\", `Changes to user \\\"${user.userName}\\\" was saved successfully`, MessageSeverity.success);\r\n this.sourceUser = null;\r\n }\r\n else {\r\n this.dataSource.data.push(user);\r\n this.refresh();\r\n this.alertService.showMessage(\"Success\", `User \\\"${user.userName}\\\" was created successfully`, MessageSeverity.success);\r\n }\r\n }\r\n\r\n private loadData() {\r\n this.alertService.startLoadingMessage();\r\n this.loadingIndicator = true;\r\n\r\n if (this.canViewRoles) {\r\n this.accountService.getUsersAndRoles().subscribe(\r\n results => this.onDataLoadSuccessful(results[0], results[1]),\r\n error => this.onDataLoadFailed(error)\r\n );\r\n }\r\n else {\r\n this.accountService.getUsers().subscribe(\r\n users => this.onDataLoadSuccessful(users, this.accountService.currentUser.roles.map(r => new Role(r))),\r\n error => this.onDataLoadFailed(error)\r\n );\r\n }\r\n }\r\n\r\n private onDataLoadSuccessful(users: User[], roles: Role[]) {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n this.dataSource.data = users;\r\n this.allRoles = roles;\r\n }\r\n\r\n private onDataLoadFailed(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve users from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n }\r\n\r\n private editUser(user?: User) {\r\n this.sourceUser = user;\r\n\r\n let dialogRef = this.dialog.open(EditUserDialogComponent,\r\n {\r\n panelClass: 'mat-dialog-lg',\r\n data: { user: user, roles: [...this.allRoles] }\r\n });\r\n dialogRef.afterClosed().subscribe(user => {\r\n if (user) {\r\n this.updateUsers(user);\r\n }\r\n });\r\n }\r\n\r\n private confirmDelete(user: User) {\r\n this.snackBar.open(`Delete ${user.userName}?`, 'DELETE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage(\"Deleting...\");\r\n this.loadingIndicator = true;\r\n\r\n this.accountService.deleteUser(user)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n this.dataSource.data = this.dataSource.data.filter(item => item !== user)\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(\"Delete Error\", `An error occured whilst deleting the user.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n })\r\n });\r\n }\r\n\r\n get canManageUsers() {\r\n return this.accountService.userHasPermission(Permission.manageUsersPermission);\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission)\r\n }\r\n\r\n get canAssignRoles() {\r\n return this.accountService.userHasPermission(Permission.assignRolesPermission)\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n {{'users.editor.Email' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.EmailRequired' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.InvalidEmail' | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'users.editor.UserName' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.UserNameRequired' | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{'users.editor.NewPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.NewPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.NewPasswordRules' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'users.editor.ConfirmPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.ConfirmationPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n Test\\r\\n {{'users.editor.PasswordMismatch' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3VzZXItcGFzc3dvcmQuY29tcG9uZW50LnNjc3MifQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnDestroy, ViewChild, Input, Output, OnChanges, EventEmitter } from '@angular/core';\r\nimport { NgForm, FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\nimport { AccountService } from \"../services/account.service\";\r\nimport { AlertService, MessageSeverity } from '../services/alert.service';\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Utilities } from '../services/utilities';\r\nimport { User } from '../models/user.model';\r\nimport { UserEdit } from '../models/user-edit.model';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\nimport { EqualValidator } from '../shared/validators/equal.validator';\r\n\r\n@Component({\r\n selector: 'user-password',\r\n templateUrl: './user-password.component.html',\r\n styleUrls: ['./user-password.component.scss']\r\n})\r\nexport class UserPasswordComponent implements OnChanges, OnDestroy {\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n isNewUser = true;\r\n isChangePassword = false;\r\n private isSaving = false;\r\n private passwordWatcher: Subscription;\r\n private onUserSaved = new Subject();\r\n\r\n @Input() user: User = new User();\r\n @Input() roles: Role[] = [];\r\n @Input() isEditMode: boolean = true;\r\n\r\n userProfileForm: FormGroup;\r\n userSaved$ = this.onUserSaved.asObservable();\r\n\r\n get userName() {\r\n return this.userProfileForm.get('userName');\r\n }\r\n\r\n get email() {\r\n return this.userProfileForm.get('email');\r\n }\r\n\r\n get password() {\r\n return this.userProfileForm.get('password');\r\n }\r\n\r\n get currentPassword() {\r\n return this.password.get('currentPassword');\r\n }\r\n\r\n get newPassword() {\r\n return this.password.get('newPassword');\r\n }\r\n\r\n get confirmPassword() {\r\n return this.password.get('confirmPassword');\r\n }\r\n \r\n get isEditingSelf() {\r\n return this.accountService.currentUser ? this.user.id == this.accountService.currentUser.id : false;\r\n }\r\n\r\n get assignableRoles(): Role[] {\r\n return this.roles;\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private formBuilder: FormBuilder\r\n ) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.user) {\r\n this.isNewUser = false;\r\n }\r\n else {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n this.user.isEnabled = true;\r\n }\r\n\r\n this.setRoles();\r\n\r\n this.resetForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.passwordWatcher.unsubscribe();\r\n }\r\n\r\n public setUser(user?: User, roles?: Role[]) {\r\n this.user = user;\r\n if (roles) {\r\n this.roles = [...roles];\r\n }\r\n\r\n this.ngOnChanges();\r\n }\r\n\r\n private buildForm() {\r\n this.userProfileForm = this.formBuilder.group({\r\n userName: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email]],\r\n password: this.formBuilder.group({\r\n newPassword: ['', [Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]],\r\n confirmPassword: ['', [Validators.required, EqualValidator('newPassword')]],\r\n }),\r\n });\r\n\r\n this.passwordWatcher = this.newPassword.valueChanges.subscribe(() => this.confirmPassword.updateValueAndValidity());\r\n }\r\n\r\n public resetForm(stopEditing: boolean = false) {\r\n if (!this.user) {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n }\r\n\r\n if (this.isNewUser) {\r\n this.isChangePassword = true;\r\n this.addNewPasswordValidators();\r\n }\r\n \r\n this.userProfileForm.reset({\r\n userName: this.user.userName || '',\r\n email: this.user.email || '',\r\n password: {\r\n newPassword: '',\r\n confirmPassword: ''\r\n },\r\n roles: this.user.roles || [] \r\n });\r\n }\r\n\r\n private setRoles() {\r\n if (this.user.roles) {\r\n for (let role of this.user.roles) {\r\n if (!this.roles.some(r => r.name == role)) {\r\n this.roles.unshift(new Role(role));\r\n }\r\n }\r\n }\r\n }\r\n\r\n public beginEdit() {\r\n this.isEditMode = true;\r\n this.isChangePassword = false;\r\n }\r\n\r\n public save() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.userProfileForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Saving changes...\");\r\n\r\n const editedUser = new UserEdit();\r\n const formModel = this.userProfileForm.value;\r\n editedUser.userName = formModel.userName;\r\n editedUser.email = formModel.email;\r\n editedUser.newPassword = formModel.password.newPassword;\r\n editedUser.newPassword = formModel.password.confirmPassword;\r\n editedUser.isEnabled = false;\r\n editedUser.roles = [\"user\"];\r\n \r\n this.accountService.sendMailForPasswordRecovery(editedUser).subscribe(\r\n user => this.saveCompleted(user),\r\n error => this.saveFailed(error));\r\n }\r\n\r\n public cancel() {\r\n this.resetForm();\r\n this.isEditMode = false;\r\n\r\n this.alertService.resetStickyMessage();\r\n }\r\n\r\n private saveCompleted(user?: User) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", `You received an email in order to confirm your account!`, MessageSeverity.success);\r\n\r\n this.resetForm(true);\r\n\r\n this.onUserSaved.next(this.user);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"One or more errors occured whilst saving your changes:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private raiseEventIfRolesModified(currentUser: User, editedUser: User) {\r\n let rolesAdded = this.isNewUser ? editedUser.roles : editedUser.roles.filter(role => currentUser.roles.indexOf(role) == -1);\r\n let rolesRemoved = this.isNewUser ? [] : currentUser.roles.filter(role => editedUser.roles.indexOf(role) == -1);\r\n\r\n let modifiedRoles = rolesAdded.concat(rolesRemoved);\r\n\r\n if (modifiedRoles.length) {\r\n setTimeout(() => this.accountService.onRolesUserCountChanged(modifiedRoles));\r\n }\r\n }\r\n\r\n private changePassword() {\r\n this.isChangePassword = true;\r\n this.addCurrentPasswordValidators();\r\n this.addNewPasswordValidators();\r\n }\r\n\r\n private addCurrentPasswordValidators() {\r\n this.currentPassword.setValidators(Validators.required);\r\n }\r\n\r\n private addNewPasswordValidators() {\r\n this.newPassword.setValidators([Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]);\r\n this.confirmPassword.setValidators([Validators.required, EqualValidator('newPassword')]);\r\n }\r\n\r\n private unlockUser() {\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Unblocking user...\");\r\n\r\n this.accountService.unblockUser(this.user.id)\r\n .subscribe(response => {\r\n this.isSaving = false;\r\n this.user.isLockedOut = false;\r\n this.userProfileForm.patchValue({\r\n isLockedOut: this.user.isLockedOut\r\n });\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Success\", \"User has been successfully unlocked\", MessageSeverity.success);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Unblock Error\", \"The below errors occured whilst unlocking the user:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n {{'users.editor.Email' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.EmailRequired' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.InvalidEmail' | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'users.editor.UserName' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.UserNameRequired' | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{'users.editor.NewPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.NewPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.NewPasswordRules' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'users.editor.ConfirmPassword' | translate}}\\r\\n \\r\\n \\r\\n {{'users.editor.ConfirmationPasswordRequired' | translate}}\\r\\n \\r\\n \\r\\n Test\\r\\n {{'users.editor.PasswordMismatch' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
 
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3VzZXItcmVnaXN0ZXIuY29tcG9uZW50LnNjc3MifQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnDestroy, ViewChild, Input, Output, OnChanges, EventEmitter } from '@angular/core';\r\nimport { NgForm, FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\nimport { AccountService } from \"../services/account.service\";\r\nimport { AlertService, MessageSeverity } from '../services/alert.service';\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Utilities } from '../services/utilities';\r\nimport { User } from '../models/user.model';\r\nimport { UserEdit } from '../models/user-edit.model';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission } from '../models/permission.model';\r\nimport { EqualValidator } from '../shared/validators/equal.validator';\r\n\r\n@Component({\r\n selector: 'user-register',\r\n templateUrl: './user-register.component.html',\r\n styleUrls: ['./user-register.component.scss']\r\n})\r\nexport class UserRegisterComponent implements OnChanges, OnDestroy {\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n isNewUser = true;\r\n isChangePassword = false;\r\n private isSaving = false;\r\n private passwordWatcher: Subscription;\r\n private onUserSaved = new Subject();\r\n\r\n @Input() user: User = new User();\r\n @Input() roles: Role[] = [];\r\n @Input() isEditMode: boolean = true;\r\n\r\n userProfileForm: FormGroup;\r\n userSaved$ = this.onUserSaved.asObservable();\r\n\r\n get userName() {\r\n return this.userProfileForm.get('userName');\r\n }\r\n\r\n get email() {\r\n return this.userProfileForm.get('email');\r\n }\r\n\r\n get password() {\r\n return this.userProfileForm.get('password');\r\n }\r\n\r\n get currentPassword() {\r\n return this.password.get('currentPassword');\r\n }\r\n\r\n get newPassword() {\r\n return this.password.get('newPassword');\r\n }\r\n\r\n get confirmPassword() {\r\n return this.password.get('confirmPassword');\r\n }\r\n \r\n get isEditingSelf() {\r\n return this.accountService.currentUser ? this.user.id == this.accountService.currentUser.id : false;\r\n }\r\n\r\n get assignableRoles(): Role[] {\r\n return this.roles;\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private formBuilder: FormBuilder\r\n ) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.user) {\r\n this.isNewUser = false;\r\n }\r\n else {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n this.user.isEnabled = true;\r\n }\r\n\r\n this.setRoles();\r\n\r\n this.resetForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.passwordWatcher.unsubscribe();\r\n }\r\n\r\n public setUser(user?: User, roles?: Role[]) {\r\n this.user = user;\r\n if (roles) {\r\n this.roles = [...roles];\r\n }\r\n\r\n this.ngOnChanges();\r\n }\r\n\r\n private buildForm() {\r\n this.userProfileForm = this.formBuilder.group({\r\n userName: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email]],\r\n password: this.formBuilder.group({\r\n newPassword: ['', [Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]],\r\n confirmPassword: ['', [Validators.required, EqualValidator('newPassword')]],\r\n }),\r\n });\r\n\r\n this.passwordWatcher = this.newPassword.valueChanges.subscribe(() => this.confirmPassword.updateValueAndValidity());\r\n }\r\n\r\n public resetForm(stopEditing: boolean = false) {\r\n if (!this.user) {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n }\r\n\r\n if (this.isNewUser) {\r\n this.isChangePassword = true;\r\n this.addNewPasswordValidators();\r\n }\r\n \r\n this.userProfileForm.reset({\r\n userName: this.user.userName || '',\r\n email: this.user.email || '',\r\n password: {\r\n newPassword: '',\r\n confirmPassword: ''\r\n },\r\n roles: this.user.roles || [] \r\n });\r\n }\r\n\r\n private setRoles() {\r\n if (this.user.roles) {\r\n for (let role of this.user.roles) {\r\n if (!this.roles.some(r => r.name == role)) {\r\n this.roles.unshift(new Role(role));\r\n }\r\n }\r\n }\r\n }\r\n\r\n public beginEdit() {\r\n this.isEditMode = true;\r\n this.isChangePassword = false;\r\n }\r\n\r\n public save() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.userProfileForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Saving changes...\");\r\n\r\n const editedUser = new UserEdit();\r\n const formModel = this.userProfileForm.value;\r\n editedUser.userName = formModel.userName;\r\n editedUser.email = formModel.email;\r\n editedUser.newPassword = formModel.password.newPassword;\r\n editedUser.newPassword = formModel.password.confirmPassword;\r\n editedUser.isEnabled = false;\r\n editedUser.roles = [\"user\"];\r\n\r\n this.accountService.newUserFromOutside(editedUser).subscribe(\r\n user => this.saveCompleted(user),\r\n error => this.saveFailed(error));\r\n }\r\n\r\n public cancel() {\r\n this.resetForm();\r\n this.isEditMode = false;\r\n\r\n this.alertService.resetStickyMessage();\r\n }\r\n\r\n private saveCompleted(user?: User) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", `S-a transmis un email pentru confirmarea contului!`, MessageSeverity.success);\r\n\r\n this.resetForm(true);\r\n\r\n this.onUserSaved.next(this.user);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"One or more errors occured whilst saving your changes:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private raiseEventIfRolesModified(currentUser: User, editedUser: User) {\r\n let rolesAdded = this.isNewUser ? editedUser.roles : editedUser.roles.filter(role => currentUser.roles.indexOf(role) == -1);\r\n let rolesRemoved = this.isNewUser ? [] : currentUser.roles.filter(role => editedUser.roles.indexOf(role) == -1);\r\n\r\n let modifiedRoles = rolesAdded.concat(rolesRemoved);\r\n\r\n if (modifiedRoles.length) {\r\n setTimeout(() => this.accountService.onRolesUserCountChanged(modifiedRoles));\r\n }\r\n }\r\n\r\n private changePassword() {\r\n this.isChangePassword = true;\r\n this.addCurrentPasswordValidators();\r\n this.addNewPasswordValidators();\r\n }\r\n\r\n private addCurrentPasswordValidators() {\r\n this.currentPassword.setValidators(Validators.required);\r\n }\r\n\r\n private addNewPasswordValidators() {\r\n this.newPassword.setValidators([Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]);\r\n this.confirmPassword.setValidators([Validators.required, EqualValidator('newPassword')]);\r\n }\r\n\r\n private unlockUser() {\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage(\"Unblocking user...\");\r\n\r\n this.accountService.unblockUser(this.user.id)\r\n .subscribe(response => {\r\n this.isSaving = false;\r\n this.user.isLockedOut = false;\r\n this.userProfileForm.patchValue({\r\n isLockedOut: this.user.isLockedOut\r\n });\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Success\", \"User has been successfully unlocked\", MessageSeverity.success);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Unblock Error\", \"The below errors occured whilst unlocking the user:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable, ErrorHandler } from \"@angular/core\";\r\nimport { AlertService, MessageSeverity } from './services/alert.service';\r\n\r\n\r\n@Injectable()\r\nexport class AppErrorHandler extends ErrorHandler {\r\n\r\n //private alertService: AlertService;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n\r\n handleError(error: any) {\r\n //if (this.alertService == null) {\r\n // this.alertService = this.injector.get(AlertService);\r\n //}\r\n\r\n //this.alertService.showStickyMessage(\"Fatal Error!\", \"An unresolved error has occured. Please reload the page to correct this error\", MessageSeverity.warn);\r\n //this.alertService.showStickyMessage(\"Unhandled Error\", error.message || error, MessageSeverity.error, error);\r\n\r\n if (confirm(\"Fatal Error!\\nAn unresolved error has occured. Do you want to reload the page to correct this?\\n\\nError: \" + error.message))\r\n window.location.reload(true);\r\n\r\n super.handleError(error);\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginComponent } from \"./components/login/login.component\";\r\nimport { HomeComponent } from \"./components/home/home.component\";\r\nimport { SettingsComponent } from \"./settings/settings.component\";\r\nimport { AboutComponent } from \"./components/about/about.component\";\r\nimport { NotFoundComponent } from \"./components/not-found/not-found.component\";\r\nimport { AuthService } from './services/auth.service';\r\nimport { AuthGuard } from './services/auth-guard.service';\r\nimport { ReprezentariComponent } from './components/reprezentari/reprezentari.component';\r\nimport { ReprezentantiComponent } from \"./components/reprezentanti/reprezentanti.component\";\r\nimport { ContulMeuComponent } from \"./components/contulmeu/contulmeu.component\";\r\nimport { PozeComponent } from \"./components/poze/poze.component\";\r\nimport { CompanieComponent } from \"./components/companie/companie.component\";\r\nimport { CompanieReprezentariComponent } from \"./components/companieReprezentari/companieReprezentari.component\";\r\nimport { CarComponent } from \"./components/car/car.component\";\r\nimport { ProductComponent } from \"./components/product/product.component\";\r\nimport { OfferComponent } from \"./components/offer/offer.component\";\r\nimport { ConfiguratorComponent } from \"./components/configurator/configurator.component\";\r\nimport { CatalogLinkComponent } from './components/catalogLink/catalogLink.component';\r\nimport { AuditLoginComponent } from './components/auditLogin/auditLogin.component';\r\n\r\nconst routes: Routes = [\r\n { path: \"\", component: ConfiguratorComponent, canActivate: [AuthGuard], data: { title: \"Configurator\" } },\r\n { path: \"login\", component: LoginComponent, data: { title: \"Login\" } },\r\n { path: \"settings\", component: SettingsComponent, canActivate: [AuthGuard], data: { title: \"Settings\" } },\r\n { path: \"about\", component: AboutComponent, data: { title: \"About Us\" } },\r\n { path: \"home\", redirectTo: \"/\", pathMatch: \"full\" },\r\n { path: \"reprezentari\", component: ReprezentariComponent, canActivate: [AuthGuard], data: { title: \"Represented companies\" } },\r\n { path: \"contulmeu\", component: ContulMeuComponent, canActivate: [AuthGuard], data: { title: \"Contul meu\" } },\r\n { path: \"poze\", component: PozeComponent, canActivate: [AuthGuard], data: { title: \"Photo info\" } },\r\n { path: \"reprezentanti\", component: ReprezentantiComponent, canActivate: [AuthGuard], data: { title: \"Users personal info\" } },\r\n { path: \"companie\", component: CompanieComponent, canActivate: [AuthGuard], data: { title: \"Company details\" } },\r\n { path: \"companiereprezentari\", component: CompanieReprezentariComponent, canActivate: [AuthGuard], data: { title: \"Detalii reprezentari\" } },\r\n { path: \"car\", component: CarComponent, canActivate: [AuthGuard], data: { title: \"Vehicle configuration\" } },\r\n { path: \"product\", component: ProductComponent, canActivate: [AuthGuard], data: { title: \"Vehicle product\" } },\r\n { path: \"offer\", component: OfferComponent, canActivate: [AuthGuard], data: { title: \"Offer product\" } },\r\n { path: \"cataloglink\", component: CatalogLinkComponent, canActivate: [AuthGuard], data: { title: \"Catalog Link\" } },\r\n { path: \"configurator\", component: ConfiguratorComponent, canActivate: [AuthGuard], data: { title: \"Configurator\" } },\r\n { path: \"auditlogin\", component: AuditLoginComponent, canActivate: [AuthGuard], data: { title: \"Audit login\" } },\r\n { path: \"**\", component: NotFoundComponent, data: { title: \"Page Not Found\" } },\r\n];\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n providers: [AuthService, AuthGuard]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n \\r\\n

{{appTitle}}

\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
{{getUtilizator()}}
\\r\\n           \\r\\n
\\r\\n {{getCompanieReprezentata()}}\\r\\n
\\r\\n           \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{'preferences.' + language.name | translate}} (default)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n commute{{'mainMenu.Configurator' | translate}}\\r\\n local_shipping{{'mainMenu.OfferConfiguration' | translate}}\\r\\n contacts{{'mainMenu.Reprezentanti' | translate}}\\r\\n account_balance{{'mainMenu.Companie' | translate}}\\r\\n local_shipping{{'mainMenu.CarConfiguration' | translate}}\\r\\n description{{'mainMenu.ProductConfiguration' | translate}}\\r\\n description{{'mainMenu.CatalogLinkComponent' | translate}}\\r\\n add_a_photo{{'mainMenu.Poze' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n securityAdmin\\r\\n \\r\\n \\r\\n peopleUsers\\r\\n assignment_indRoles\\r\\n descriptionAudit login\\r\\n \\r\\n description{{'mainMenu.OfferConfiguration' | translate}}\\r\\n card_travel{{'mainMenu.ContulMeu' | translate}}\\r\\n account_balance{{'mainMenu.Companie' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".nav-container {\\n display: flex;\\n flex-direction: column;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0; }\\n\\n/*.app-toolbar {\\r\\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12);\\r\\n z-index: 2\\r\\n}*/\\n\\n.is-mobile .app-toolbar {\\n position: fixed;\\n z-index: 2; }\\n\\n.app-toolbar-spacer {\\n flex: 1 1 auto; }\\n\\nh1.app-name {\\n margin-left: 8px; }\\n\\nh1.app-name > a {\\n color: inherit;\\n cursor: default;\\n text-decoration: inherit; }\\n\\n.app-sidenav-nav {\\n min-width: 200px; }\\n\\n.app-sidenav-nav .mat-nav-list {\\n padding-top: 0; }\\n\\n.app-sidenav-nav .mat-icon {\\n margin-left: 8px;\\n margin-right: 16px; }\\n\\n.app-sidenav-nav .mat-expansion-panel-header {\\n padding-left: 16px; }\\n\\n.app-sidenav-nav .mat-expansion-panel-header-title {\\n line-height: 24px; }\\n\\n.app-sidenav-nav .mat-expansion-panel-body {\\n padding: 0; }\\n\\n.app-sidenav-nav .mat-expansion-panel-body .mat-list-item .mat-list-item-content {\\n padding-left: 32px; }\\n\\n.app-sidenav-container {\\n /* When the sidenav is not fixed, stretch the sidenav container to fill the available space. This\\r\\n causes `` to act as our scrolling element for desktop layouts. */\\n flex: 1; }\\n\\n.is-mobile .app-sidenav-container {\\n /* When the sidenav is fixed, don't constrain the height of the sidenav container. This allows the\\r\\n `` to be our scrolling element for mobile layouts. */\\n flex: 1 0 auto; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFhO0VBQ2IsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sVUFBUztFQUNULFFBQU87RUFDUCxTQUFRLEVBQ1g7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0ksZ0JBQWU7RUFDZixXQUFVLEVBQ2I7O0FBRUQ7RUFDSSxlQUFjLEVBQ2pCOztBQUVEO0VBQ0ksaUJBQWdCLEVBQ25COztBQUVEO0VBQ0ksZUFBYztFQUNkLGdCQUFlO0VBQ2YseUJBQXdCLEVBQzNCOztBQUVEO0VBQ0ksaUJBQWdCLEVBMEJuQjs7QUEzQkQ7SUFJUSxlQUFjLEVBQ2pCOztBQUxMO0lBUVEsaUJBQWdCO0lBQ2hCLG1CQUFrQixFQUNyQjs7QUFWTDtJQWFRLG1CQUFrQixFQUNyQjs7QUFkTDtJQWlCUSxrQkFBaUIsRUFDcEI7O0FBbEJMO0lBcUJRLFdBQVUsRUFLYjs7QUExQkw7TUF3QlksbUJBQWtCLEVBQ3JCOztBQUlUO0VBQ0k7MkZBQ3VGO0VBQ3ZGLFFBQU8sRUFDVjs7QUFFRDtFQUNJO2dFQUM0RDtFQUM1RCxlQUFjLEVBQ2pCIiwiZmlsZSI6InNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qLmFwcC10b29sYmFyIHtcclxuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xyXG4gICAgei1pbmRleDogMlxyXG59Ki9cclxuXHJcbi5pcy1tb2JpbGUgLmFwcC10b29sYmFyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5hcHAtdG9vbGJhci1zcGFjZXIge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbn1cclxuXHJcbmgxLmFwcC1uYW1lIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbn1cclxuXHJcbmgxLmFwcC1uYW1lID4gYSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxufVxyXG5cclxuLmFwcC1zaWRlbmF2LW5hdiB7XHJcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG5cclxuICAgIC5tYXQtbmF2LWxpc3Qge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYXQtaWNvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFwcC1zaWRlbmF2LWNvbnRhaW5lciB7XHJcbiAgICAvKiBXaGVuIHRoZSBzaWRlbmF2IGlzIG5vdCBmaXhlZCwgc3RyZXRjaCB0aGUgc2lkZW5hdiBjb250YWluZXIgdG8gZmlsbCB0aGUgYXZhaWxhYmxlIHNwYWNlLiBUaGlzXHJcbiAgICAgY2F1c2VzIGA8bWF0LXNpZGVuYXYtY29udGVudD5gIHRvIGFjdCBhcyBvdXIgc2Nyb2xsaW5nIGVsZW1lbnQgZm9yIGRlc2t0b3AgbGF5b3V0cy4gKi9cclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5pcy1tb2JpbGUgLmFwcC1zaWRlbmF2LWNvbnRhaW5lciB7XHJcbiAgICAvKiBXaGVuIHRoZSBzaWRlbmF2IGlzIGZpeGVkLCBkb24ndCBjb25zdHJhaW4gdGhlIGhlaWdodCBvZiB0aGUgc2lkZW5hdiBjb250YWluZXIuIFRoaXMgYWxsb3dzIHRoZVxyXG4gICAgIGA8Ym9keT5gIHRvIGJlIG91ciBzY3JvbGxpbmcgZWxlbWVudCBmb3IgbW9iaWxlIGxheW91dHMuICovXHJcbiAgICBmbGV4OiAxIDAgYXV0bztcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ChangeDetectorRef, ViewChild, ViewEncapsulation, OnInit, OnDestroy, ElementRef, HostListener } from \"@angular/core\";\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { MatExpansionPanel, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { ToastaService, ToastaConfig, ToastOptions, ToastData } from 'ngx-toasta';\r\n\r\nimport { AlertService, AlertDialog, DialogType, AlertMessage, MessageSeverity } from './services/alert.service';\r\nimport { NotificationService } from \"./services/notification.service\";\r\nimport { AppTranslationService } from \"./services/app-translation.service\";\r\nimport { AccountService } from './services/account.service';\r\nimport { LocalStoreManager } from './services/local-store-manager.service';\r\nimport { AppTitleService } from './services/app-title.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { ConfigurationService } from './services/configuration.service';\r\nimport { Permission } from './models/permission.model';\r\nimport { LoginDialogComponent } from \"./components/login/login-dialog.component\";\r\nimport { AppDialogComponent } from './shared/app-dialog.component';\r\nimport { Companie } from 'src/app/models/Companie.model';\r\nimport { LanguagePreference } from \"./settings/user-preferences.component\";\r\n\r\ndeclare global {\r\n interface Window { selectedLanguage: any; }\r\n}\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\n\r\nexport class AppComponent implements OnInit {\r\n @ViewChild('admin') adminExpander: MatExpansionPanel;\r\n\r\n languages: LanguagePreference[] = [\r\n { name: 'English', locale: 'en', isDefault: true },\r\n { name: 'French', locale: 'fr', isDefault: false },\r\n { name: 'Belgian', locale: 'de', isDefault: false },\r\n { name: 'Romanian', locale: 'ar', isDefault: false },\r\n ]\r\n\r\n private _mobileQueryListener: () => void;\r\n isAppLoaded: boolean;\r\n isUserLoggedIn: boolean;\r\n isAdminExpanded: boolean = false;\r\n removePrebootScreen: boolean;\r\n newNotificationCount = 0;\r\n appTitle = \"ACT Research\";\r\n appLogo = require(\"./assets/images/logo-white.png\");\r\n\r\n mobileQuery: MediaQueryList;\r\n stickyToasties: number[] = [];\r\n\r\n dataLoadingConsecutiveFailures = 0;\r\n notificationsLoadingSubscription: any;\r\n\r\n companieReprezentata: Companie = new Companie();\r\n\r\n get notificationsTitle() {\r\n\r\n let gT = (key: string) => this.translationService.getTranslation(key);\r\n\r\n if (this.newNotificationCount) {\r\n return `${gT(\"app.Notifications\")} (${this.newNotificationCount} ${gT(\"app.New\")})`;\r\n }\r\n else {\r\n return gT(\"app.Notifications\");\r\n }\r\n }\r\n\r\n constructor(storageManager: LocalStoreManager,\r\n private toastaService: ToastaService,\r\n private toastaConfig: ToastaConfig,\r\n private accountService: AccountService,\r\n private alertService: AlertService,\r\n private notificationService: NotificationService,\r\n private appTitleService: AppTitleService,\r\n private authService: AuthService,\r\n private translationService: AppTranslationService,\r\n public configurations: ConfigurationService,\r\n public router: Router,\r\n public dialog: MatDialog,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher) {\r\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n storageManager.initialiseStorageSyncListener();\r\n\r\n translationService.addLanguages([\"en\", \"fr\", \"de\", \"pt\", \"ar\", \"ko\"]);\r\n translationService.setDefaultLanguage('en');\r\n\r\n this.toastaConfig.theme = 'material';\r\n this.toastaConfig.position = 'top-right';\r\n this.toastaConfig.limit = 100;\r\n this.toastaConfig.showClose = true;\r\n\r\n this.appTitleService.appName = this.appTitle;\r\n }\r\n\r\n displayCounter(count) {\r\n console.log(count);\r\n }\r\n\r\n ngOnInit() {\r\n this.isUserLoggedIn = this.authService.isLoggedIn;\r\n\r\n // 1 sec to ensure all the effort to get the css animation working is appreciated :|, Preboot screen is removed .5 sec later\r\n setTimeout(() => this.isAppLoaded = true, 1000);\r\n setTimeout(() => this.removePrebootScreen = true, 1500);\r\n\r\n setTimeout(() => {\r\n if (this.isUserLoggedIn) {\r\n this.alertService.resetStickyMessage();\r\n this.alertService.showMessage(\"Login\", `Welcome back ${this.userName}!`, MessageSeverity.default);\r\n }\r\n }, 2000);\r\n\r\n setTimeout(() => {\r\n this.afiseazaCompanieReprezentata();\r\n }, 1000);\r\n\r\n this.valueChanged();\r\n\r\n this.alertService.getDialogEvent().subscribe(alert => this.dialog.open(AppDialogComponent,\r\n {\r\n data: alert,\r\n panelClass: 'mat-dialog-sm'\r\n }));\r\n this.alertService.getMessageEvent().subscribe(message => this.showToast(message, false));\r\n this.alertService.getStickyMessageEvent().subscribe(message => this.showToast(message, true));\r\n\r\n this.authService.reLoginDelegate = () => this.showLoginDialog2();\r\n\r\n this.authService.getLoginStatusEvent().subscribe(isLoggedIn => {\r\n this.isUserLoggedIn = isLoggedIn;\r\n\r\n\r\n if (this.isUserLoggedIn) {\r\n this.initNotificationsLoading();\r\n\r\n this.afiseazaCompanieReprezentata();\r\n }\r\n else {\r\n this.unsubscribeNotifications();\r\n }\r\n\r\n setTimeout(() => {\r\n if (!this.isUserLoggedIn) {\r\n this.alertService.showMessage(\"Session Ended!\", \"\", MessageSeverity.default);\r\n }\r\n }, 500);\r\n });\r\n\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n let url = (event).url;\r\n\r\n if (url !== url.toLowerCase()) {\r\n this.router.navigateByUrl((event).url.toLowerCase());\r\n }\r\n\r\n if (this.adminExpander && url.indexOf('admin') > 0) {\r\n this.adminExpander.open();\r\n }\r\n }\r\n });\r\n\r\n \r\n \r\n this.accountService.getUserPreferences()\r\n .subscribe(results => {\r\n this.configurations.import(results);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve user preferences from the server.`,\r\n MessageSeverity.error, error);\r\n });\r\n \r\n \r\n }\r\n\r\n getCompanieReprezentata(): string {\r\n if (this.companieReprezentata != null) {\r\n return \"Represented company: \" + this.companieReprezentata.denumire + \" - \" + this.companieReprezentata.cif;\r\n }\r\n }\r\n\r\n\r\n\r\n getUtilizator(): string {\r\n if (this.userName == \"\") {\r\n return \"\";\r\n }\r\n else {\r\n return \"Username: \" + this.userName;\r\n }\r\n }\r\n\r\n //@HostBinding('class.is-open')\r\n isOpen = false;\r\n\r\n valueChanged() {\r\n this.accountService.change.subscribe(isOpen => {\r\n this.isOpen = isOpen;\r\n this.afiseazaCompanieReprezentata();\r\n });\r\n }\r\n\r\n afiseazaCompanieReprezentata() {\r\n\r\n this.companieReprezentata = new Companie();\r\n\r\n this.accountService\r\n .getCompanieSelectata()\r\n .subscribe(result => {\r\n this.companieReprezentata = result;\r\n },\r\n error => {\r\n this.companieReprezentata.denumire = \"Nespecificat\";\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n this.unsubscribeNotifications();\r\n }\r\n\r\n private unsubscribeNotifications() {\r\n if (this.notificationsLoadingSubscription) {\r\n this.notificationsLoadingSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n initNotificationsLoading() {\r\n this.notificationsLoadingSubscription = this.notificationService.getNewNotificationsPeriodically()\r\n .subscribe(notifications => {\r\n this.dataLoadingConsecutiveFailures = 0;\r\n this.newNotificationCount = notifications.filter(n => !n.isRead).length;\r\n },\r\n error => {\r\n this.alertService.logError(error);\r\n\r\n if (this.dataLoadingConsecutiveFailures++ < 20)\r\n setTimeout(() => this.initNotificationsLoading(), 5000);\r\n else\r\n this.alertService.showStickyMessage(\"Load Error\", \"Loading new notifications from the server failed!\", MessageSeverity.error);\r\n });\r\n }\r\n\r\n markNotificationsAsRead() {\r\n let recentNotifications = this.notificationService.recentNotifications;\r\n\r\n if (recentNotifications.length) {\r\n this.notificationService.readUnreadNotification(recentNotifications.map(n => n.id), true)\r\n .subscribe(response => {\r\n for (let n of recentNotifications) {\r\n n.isRead = true;\r\n }\r\n\r\n this.newNotificationCount = recentNotifications.filter(n => !n.isRead).length;\r\n },\r\n error => {\r\n this.alertService.logError(error);\r\n this.alertService.showMessage(\"Notification Error\", \"Marking read notifications failed\", MessageSeverity.error);\r\n\r\n });\r\n }\r\n }\r\n\r\n showLoginDialog(): void {\r\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again\", MessageSeverity.info);\r\n\r\n let dialogRef = this.dialog.open(LoginDialogComponent, { minWidth: 600 });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.alertService.resetStickyMessage();\r\n\r\n if (!result || this.authService.isSessionExpired) {\r\n this.authService.logout();\r\n this.router.navigateByUrl('/login');\r\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again to renew your session\", MessageSeverity.warn);\r\n }\r\n });\r\n }\r\n\r\n // Am dezactivat panel-ul\r\n showLoginDialog2(): void {\r\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again\", MessageSeverity.info);\r\n\r\n //let dialogRef = this.dialog.open(LoginDialogComponent, { minWidth: 600 });\r\n\r\n this.router.navigateByUrl('/login');\r\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again to renew your session\", MessageSeverity.warn);\r\n\r\n /*\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.alertService.resetStickyMessage();\r\n\r\n if (!result || this.authService.isSessionExpired) {\r\n this.authService.logout();\r\n this.router.navigateByUrl('/login');\r\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again to renew your session\", MessageSeverity.warn);\r\n }\r\n });\r\n */\r\n }\r\n\r\n showToast(message: AlertMessage, isSticky: boolean) {\r\n if (message == null) {\r\n for (let id of this.stickyToasties.slice(0)) {\r\n this.toastaService.clear(id);\r\n }\r\n\r\n return;\r\n }\r\n\r\n let toastOptions: ToastOptions = {\r\n title: message.summary,\r\n msg: message.detail,\r\n timeout: isSticky ? 0 : 4000\r\n };\r\n\r\n if (isSticky) {\r\n toastOptions.onAdd = (toast: ToastData) => this.stickyToasties.push(toast.id);\r\n\r\n toastOptions.onRemove = (toast: ToastData) => {\r\n let index = this.stickyToasties.indexOf(toast.id, 0);\r\n\r\n if (index > -1) {\r\n this.stickyToasties.splice(index, 1);\r\n }\r\n\r\n toast.onAdd = null;\r\n toast.onRemove = null;\r\n };\r\n }\r\n\r\n switch (message.severity) {\r\n case MessageSeverity.default: this.toastaService.default(toastOptions); break\r\n case MessageSeverity.info: this.toastaService.info(toastOptions); break;\r\n case MessageSeverity.success: this.toastaService.success(toastOptions); break;\r\n case MessageSeverity.error: this.toastaService.error(toastOptions); break\r\n case MessageSeverity.warn: this.toastaService.warning(toastOptions); break;\r\n case MessageSeverity.wait: this.toastaService.wait(toastOptions); break;\r\n }\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n this.authService.redirectLogoutUser();\r\n }\r\n\r\n get userName(): string {\r\n return this.authService.currentUser ? this.authService.currentUser.userName : \"\";\r\n }\r\n\r\n get fullName(): string {\r\n return this.authService.currentUser ? this.authService.currentUser.fullName : \"\";\r\n }\r\n\r\n get canViewCustomers() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n\r\n get canViewProducts() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n\r\n get canViewOrders() {\r\n return true;\r\n }\r\n\r\n get canViewUsers() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\r\n }\r\n\r\n get manageOffersPermission() {\r\n return this.accountService.userHasPermission(Permission.manageOffersPermission);\r\n }\r\n\r\n get manageCompanieReprezentariPermission() {\r\n return this.accountService.userHasPermission(Permission.manageCompanieReprezentariPermission);\r\n }\r\n\r\n get manageCarPermission() {\r\n return this.accountService.userHasPermission(Permission.manageCarPermission);\r\n }\r\n\r\n get manageProductPermission() {\r\n return this.accountService.userHasPermission(Permission.manageProductPermission);\r\n }\r\n\r\n get manageCatalogLinkPermission() {\r\n return this.accountService.userHasPermission(Permission.manageCatalogLinkPermission);\r\n }\r\n\r\n get managePhotoPermission() {\r\n return this.accountService.userHasPermission(Permission.managePhotoPermission);\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule, ErrorHandler } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nimport { TranslateModule, TranslateLoader } from \"@ngx-translate/core\";\r\nimport { ToastaModule } from 'ngx-toasta';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { NguCarouselModule } from '@ngu/carousel';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppErrorHandler } from './app-error.handler';\r\n\r\nimport { SharedModule } from './shared/shared.module'\r\nimport { AdminModule } from './admin/admin.module';\r\nimport { SettingsModule } from './settings/settings.module';\r\nimport { FooterModule } from './shared/footer.component';\r\nimport { ThemePickerModule } from './shared/theme-picker.component';\r\n\r\nimport { AppTitleService } from './services/app-title.service';\r\nimport { AppTranslationService, TranslateLanguageLoader } from './services/app-translation.service';\r\nimport { ConfigurationService } from './services/configuration.service';\r\nimport { AlertService } from './services/alert.service';\r\nimport { LocalStoreManager } from './services/local-store-manager.service';\r\nimport { EndpointFactory } from './services/endpoint-factory.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { NotificationEndpoint } from './services/notification-endpoint.service';\r\nimport { AccountService } from './services/account.service';\r\nimport { AccountEndpoint } from './services/account-endpoint.service';\r\n\r\nimport { AppComponent } from \"./app.component\";\r\nimport { LoginComponent } from \"./components/login/login.component\";\r\nimport { LoginControlComponent } from \"./components/login/login-control.component\";\r\nimport { LoginDialogComponent } from \"./components/login/login-dialog.component\";\r\nimport { HomeComponent } from \"./components/home/home.component\";\r\nimport { AboutComponent } from \"./components/about/about.component\";\r\nimport { NotFoundComponent } from \"./components/not-found/not-found.component\";\r\nimport { BannerDemoComponent } from \"./components/controls/banner-demo.component\";\r\nimport { TodoDemoComponent } from \"./components/controls/todo-demo.component\";\r\nimport { StatisticsDemoComponent } from \"./components/controls/statistics-demo.component\";\r\nimport { NotificationsViewerComponent } from \"./components/controls/notifications-viewer.component\";\r\nimport { AddTaskDialogComponent } from './components/controls/add-task-dialog.component';\r\nimport { ReprezentariComponent } from \"./components/reprezentari/reprezentari.component\";\r\nimport { ReprezentantiComponent } from \"./components/reprezentanti/reprezentanti.component\";\r\nimport { ContulMeuComponent } from \"./components/contulmeu/contulmeu.component\";\r\nimport { PozeComponent } from \"./components/poze/poze.component\";\r\nimport { CompanieComponent } from \"./components/companie/companie.component\";\r\nimport { CompanieReprezentariComponent } from \"./components/companieReprezentari/companieReprezentari.component\";\r\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';\r\nimport { UserRegisterComponent } from '../app/admin/user-register.component';\r\nimport { UserPasswordComponent } from '../app/admin/user-password.component';\r\nimport { SelecteazaCompanieComponent } from \"./components/controls/selecteazaCompanie.component\";\r\nimport { AngularFileUploaderModule } from \"angular-file-uploader\";\r\nimport { CarComponent } from \"./components/car/car.component\";\r\nimport { ConfiguratorComponent } from \"./components/configurator/configurator.component\";\r\nimport { ProductComponent } from \"./components/product/product.component\";\r\nimport { OfferComponent } from \"./components/offer/offer.component\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { CatalogLinkComponent } from \"./components/catalogLink/catalogLink.component\";\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { AuditLoginComponent } from \"./components/auditLogin/auditLogin.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n FooterModule,\r\n ThemePickerModule,\r\n HttpClientModule,\r\n AdminModule,\r\n SettingsModule,\r\n AppRoutingModule,\r\n AngularFileUploaderModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useClass: TranslateLanguageLoader\r\n }\r\n }),\r\n ToastaModule.forRoot(),\r\n ChartsModule,\r\n NguCarouselModule,\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule\r\n ],\r\n declarations: [\r\n AppComponent,\r\n LoginComponent, LoginControlComponent, LoginDialogComponent,\r\n HomeComponent,\r\n AboutComponent,\r\n NotFoundComponent,\r\n NotificationsViewerComponent,\r\n AddTaskDialogComponent,\r\n StatisticsDemoComponent,\r\n TodoDemoComponent,\r\n BannerDemoComponent,\r\n ReprezentariComponent,\r\n ContulMeuComponent,\r\n PozeComponent,\r\n ReprezentantiComponent,\r\n CompanieComponent,\r\n CompanieReprezentariComponent,\r\n UserRegisterComponent,\r\n UserPasswordComponent,\r\n SelecteazaCompanieComponent,\r\n CarComponent,\r\n ConfiguratorComponent,\r\n ProductComponent,\r\n OfferComponent,\r\n CatalogLinkComponent,\r\n AuditLoginComponent\r\n ],\r\n providers: [\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n { provide: 'BASE_URL', useFactory: getBaseUrl },\r\n { provide: ErrorHandler, useClass: AppErrorHandler },\r\n AlertService,\r\n ConfigurationService,\r\n AppTitleService,\r\n AppTranslationService,\r\n NotificationService,\r\n NotificationEndpoint,\r\n AccountService,\r\n AccountEndpoint,\r\n LocalStoreManager,\r\n EndpointFactory,\r\n DatePipe\r\n ],\r\n entryComponents: [\r\n LoginDialogComponent,\r\n AddTaskDialogComponent\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n\r\n\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n","module.exports = __webpack_public_path__ + \"citroen.png\";","module.exports = __webpack_public_path__ + \"dacia.png\";","module.exports = __webpack_public_path__ + \"banner1.png\";","module.exports = __webpack_public_path__ + \"banner2.png\";","module.exports = __webpack_public_path__ + \"banner3.png\";","module.exports = __webpack_public_path__ + \"banner4.png\";","module.exports = __webpack_public_path__ + \"fiat.png\";","module.exports = __webpack_public_path__ + \"ford.png\";","module.exports = __webpack_public_path__ + \"fuso.png\";","module.exports = __webpack_public_path__ + \"hyundai.png\";","module.exports = __webpack_public_path__ + \"iveco.png\";","module.exports = __webpack_public_path__ + \"logo-white.png\";","module.exports = __webpack_public_path__ + \"man.png\";","module.exports = __webpack_public_path__ + \"maxus.png\";","module.exports = __webpack_public_path__ + \"maxusAstara.png\";","module.exports = __webpack_public_path__ + \"mercedes.png\";","module.exports = __webpack_public_path__ + \"nissan.png\";","module.exports = __webpack_public_path__ + \"opel.png\";","module.exports = __webpack_public_path__ + \"peugeot.png\";","module.exports = __webpack_public_path__ + \"renault.png\";","module.exports = __webpack_public_path__ + \"toyota.png\";","module.exports = __webpack_public_path__ + \"volkswagen.png\";","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n

INSTRUCTIUNI METODOLOGICE

\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".pageHeader {\\n margin-bottom: 30px; }\\n\\n.bg-grey {\\n background-color: #f6f6f6; }\\n\\n.logo {\\n font-size: 200px; }\\n\\n.more-templates {\\n display: block; }\\n\\n@media screen and (max-width: 768px) {\\n .col-sm-4 {\\n text-align: center;\\n margin: 25px 0; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hYm91dC9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGFib3V0XFxhYm91dC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLG9CQUFtQixFQUN0Qjs7QUFFRDtFQUNJLDBCQUF5QixFQUM1Qjs7QUFFRDtFQUNJLGlCQUFnQixFQUNuQjs7QUFFRDtFQUNJLGVBQWMsRUFDakI7O0FBRUQ7RUFDSTtJQUNJLG1CQUFrQjtJQUNsQixlQUFjLEVBQ2pCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2Fib3V0L2Fib3V0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi5wYWdlSGVhZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5iZy1ncmV5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbn1cclxuXHJcbi5sb2dvIHtcclxuICAgIGZvbnQtc2l6ZTogMjAwcHg7XHJcbn1cclxuXHJcbi5tb3JlLXRlbXBsYXRlcyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5jb2wtc20tNCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMjVweCAwO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'about',\r\n templateUrl: './about.component.html',\r\n styleUrls: ['./about.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class AboutComponent { }\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n Initial Date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n Final Date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n User name \\r\\n {{auditLogin.userName}}\\r\\n \\r\\n\\r\\n \\r\\n Status \\r\\n {{auditLogin.status}}\\r\\n \\r\\n\\r\\n \\r\\n Data \\r\\n {{auditLogin.data| date: 'dd.MM.yyyy HH:mm:ss'}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%;\\n padding-left: 25px; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\nmat-row {\\n min-height: 30px; }\\n\\nmat-cell {\\n font-size: 12px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hdWRpdExvZ2luL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcY29tcG9uZW50c1xcYXVkaXRMb2dpblxcYXVkaXRMb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDhEQUE4RDtFQUM5RCwwQkFBeUI7RUFDekIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsdUJBQXNCO0VBQ3RCLGFBQVksRUFDYjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7OztJQUlJOztBQUVKO0VBR0UsMEJBQXlCO0VBQ3pCLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYXVkaXRMb2dpbi9hdWRpdExvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZm9ybSB7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmV4YW1wbGUtZnVsbC13aWR0aCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHtcclxuICAvKmZvbnQtZmFtaWx5OiBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB0ZCwgLnN0aWxUYWJlbCB0aCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBwYWRkaW5nOiA4cHg7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xyXG59XHJcblxyXG4vKlxyXG4uc3RpbFRhYmVsIHRyOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xyXG59XHJcbiAgKi9cclxuXHJcbi5zdGlsVGFiZWwgdGgge1xyXG4gIC8vcGFkZGluZy10b3A6IDEycHg7XHJcbiAgLy9wYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbm1hdC1yb3cge1xyXG4gIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbm1hdC1jZWxsIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuIl19 */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { AuditLogin } from 'src/app/models/auditLogin.model';\r\nimport { ConfigurationService } from 'src/app/services/configuration.service';\r\n\r\n@Component({\r\n selector: 'auditLogin',\r\n templateUrl: './auditLogin.component.html',\r\n styleUrls: ['./auditLogin.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class AuditLoginComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n auditLogin: AuditLogin;\r\n\r\n userName: string = '';\r\n initialDate: Date = new Date();\r\n finalDate: Date = new Date();\r\n displayedColumns = ['userName', 'status', 'data'];\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n selectDepedentProduct: boolean = false;\r\n _currentUserId: string;\r\n listAuditLogin: AuditLogin[];\r\n dataSourceAuditLogin: MatTableDataSource;\r\n \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n \r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let userName = this.userName == null || this.userName == \"\" ? \"undefined\" : this.userName;\r\n let dateStart = this.initialDate == null ? 'undefined' : this.config.formatOnlyDate(this.initialDate, '.');\r\n let dateFinal = this.finalDate == null ? 'undefined' : this.config.formatOnlyDate(this.finalDate, '.');\r\n \r\n this.accountService\r\n .getAuditLoginList(userName, dateStart, dateFinal)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n this.listAuditLogin = liniiReconverted;\r\n this.dataSourceAuditLogin.data = this.listAuditLogin;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSourceAuditLogin.paginator = this.paginator;\r\n this.dataSourceAuditLogin.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n\r\n }\r\n \r\n ngAfterViewInit() {\r\n this.dataSourceAuditLogin.paginator = this.paginator;\r\n this.dataSourceAuditLogin.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.userName = '';\r\n this.initialDate = new Date();\r\n this.initialDate.setDate(new Date().getDate() - 7);\r\n this.finalDate = new Date();\r\n this.afiseazaDate();\r\n }\r\n \r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n public config: ConfigurationService,\r\n )\r\n {\r\n this.dataSourceAuditLogin = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.initialDate = new Date();\r\n this.initialDate.setDate(new Date().getDate() - 7);\r\n this.finalDate = new Date();\r\n this.afiseazaDate();\r\n }\r\n \r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Category \\r\\n \\r\\n {{car.category}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Make \\r\\n {{car.make}}\\r\\n \\r\\n\\r\\n \\r\\n Model \\r\\n {{car.model}}\\r\\n \\r\\n\\r\\n \\r\\n Body \\r\\n {{car.body}}\\r\\n \\r\\n\\r\\n \\r\\n Variant \\r\\n {{car.variant}}\\r\\n \\r\\n\\r\\n \\r\\n Wheelbase \\r\\n {{car.wheelbase}}\\r\\n \\r\\n\\r\\n \\r\\n Height \\r\\n {{car.height}}\\r\\n \\r\\n\\r\\n \\r\\n Transmission \\r\\n {{car.transmission}}\\r\\n \\r\\n\\r\\n \\r\\n Reference \\r\\n {{car.reference}}\\r\\n \\r\\n\\r\\n \\r\\n Exceptions I \\r\\n {{car.exceptions}}\\r\\n \\r\\n\\r\\n \\r\\n Exceptions II \\r\\n {{car.exceptions2}}\\r\\n \\r\\n\\r\\n \\r\\n Model Access \\r\\n {{car.modelAccess}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Vehicle type information\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Category\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Make\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Model\\r\\n \\r\\n \\r\\n Please introduce vehicle model!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Body\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Variant\\r\\n \\r\\n \\r\\n Please introduce vehicle variant!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Wheelbase\\r\\n \\r\\n \\r\\n Please introduce vehicle wheelbase!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Height\\r\\n \\r\\n \\r\\n Please introduce vehicle height!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Dimensions\\r\\n \\r\\n \\r\\n Please introduce vehicle dimensions!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Loading space\\r\\n \\r\\n \\r\\n Please introduce vehicle loading space!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Wheellayout\\r\\n \\r\\n \\r\\n Please introduce vehicle wheellayout!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Transmission\\r\\n \\r\\n \\r\\n Please introduce vehicle transmission!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Reference\\r\\n \\r\\n \\r\\n Please introduce vehicle reference!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Exceptions I\\r\\n \\r\\n \\r\\n Please introduce vehicle exceptions!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Exceptions II\\r\\n \\r\\n \\r\\n Please introduce vehicle exceptions!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Model Access\\r\\n \\r\\n \\r\\n Please introduce model access!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%;\\n padding-left: 25px; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\nmat-row {\\n min-height: 30px; }\\n\\nmat-cell {\\n font-size: 12px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jYXIvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxjb21wb25lbnRzXFxjYXJcXGNhci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDhEQUE4RDtFQUM5RCwwQkFBeUI7RUFDekIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsdUJBQXNCO0VBQ3RCLGFBQVksRUFDYjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7OztJQUlJOztBQUVKO0VBR0UsMEJBQXlCO0VBQ3pCLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY2FyL2Nhci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWZvcm0ge1xyXG4gIG1pbi13aWR0aDogNDAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWZ1bGwtd2lkdGgge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMjVweDtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB7XHJcbiAgLypmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdGQsIC5zdGlsVGFiZWwgdGgge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxufVxyXG5cclxuLypcclxuLnN0aWxUYWJlbCB0cjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4gICovXHJcblxyXG4uc3RpbFRhYmVsIHRoIHtcclxuICAvL3BhZGRpbmctdG9wOiAxMnB4O1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5tYXQtcm93IHtcclxuICBtaW4taGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG5tYXQtY2VsbCB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Car } from 'src/app/models/car.model';\r\nimport * as FileSaver from 'file-saver'; \r\n\r\n@Component({\r\n selector: 'car',\r\n templateUrl: './car.component.html',\r\n styleUrls: ['./car.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class CarComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n carForm: FormGroup;\r\n car: Car;\r\n definireCar: boolean = false;\r\n\r\n make: string = '';\r\n model: string = '';\r\n displayedColumns = ['category', 'make', 'model', 'body', 'variant', 'wheelbase', 'height', 'transmission', 'reference', 'exceptions', 'exceptions2', 'modelAccess', 'actions'];\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n data: Car[];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n \r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let make = this.make == null || this.make == \"\" ? \"undefined\" : this.make;\r\n let model = this.model == null || this.model == \"\" ? \"undefined\" : this.model;\r\n \r\n this.accountService\r\n .getCarsList(make, model)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n\r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.make = '';\r\n this.model = '';\r\n this.afiseazaDate();\r\n }\r\n\r\n modificare(car: Car) {\r\n this.definireCar = true;\r\n this.car = car;\r\n }\r\n\r\n verificareStergere(car: Car) {\r\n this.alertService.showDialog('Delete', 'Do you confirm the deletion?', DialogType.confirm, () => this.stergeCar(car));\r\n }\r\n\r\n stergeCar(car: Car) {\r\n car.status = \"D\";\r\n this.accountService.saveCar(car).subscribe(\r\n role => {\r\n this.saveSuccessHelper(this.car, `Vehicle deleted!`);\r\n this.afiseazaDate();\r\n },\r\n error => this.saveFailedHelper(error));\r\n }\r\n\r\n adaugare() {\r\n this.definireCar = true;\r\n this.car = new Car();\r\n }\r\n \r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.car = new Car();\r\n this.afiseazaDate();\r\n }\r\n \r\n save() {\r\n if (this.carForm.valid) {\r\n this.accountService.saveCar(this.car).subscribe(\r\n role => this.saveSuccessHelper(this.car, `Vehicle saved successfully!`),\r\n error => this.saveFailedHelper(error));\r\n }\r\n }\r\n\r\n private saveSuccessHelper(car?: Car, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n\r\n this.definireCar = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.carForm = this.formBuilder.group({\r\n tbCategory: ['', [Validators.required], ],\r\n tbMake: ['', [Validators.required],],\r\n tbModel: ['', [Validators.required],],\r\n tbBody: ['', [Validators.required],],\r\n tbVariant: ['', [Validators.required],],\r\n tbWheelbase: ['', [Validators.required],],\r\n tbHeight: ['', [Validators.required],],\r\n tbDimensions: ['', [Validators.required],],\r\n tbLoadingspace: ['', [Validators.required],],\r\n tbWheellayout: ['', [Validators.required],],\r\n tbTransmission: ['', [Validators.required],],\r\n tbReference: ['', [Validators.required],],\r\n tbExceptions: [''],\r\n tbExceptions2: [''],\r\n tbModelAccess: ['', [Validators.required],],\r\n });\r\n }\r\n\r\n get tbCategory() {\r\n return this.carForm.get('tbCategory');\r\n }\r\n\r\n get tbMake() {\r\n return this.carForm.get('tbMake');\r\n }\r\n\r\n get tbModel() {\r\n return this.carForm.get('tbModel');\r\n }\r\n\r\n get tbBody() {\r\n return this.carForm.get('tbBody');\r\n }\r\n\r\n get tbVariant() {\r\n return this.carForm.get('tbVariant');\r\n }\r\n\r\n get tbWheelbase() {\r\n return this.carForm.get('tbWheelbase');\r\n }\r\n\r\n get tbHeight() {\r\n return this.carForm.get('tbHeight');\r\n }\r\n\r\n get tbDimensions() {\r\n return this.carForm.get('tbDimensions');\r\n }\r\n\r\n get tbLoadingspace() {\r\n return this.carForm.get('tbLoadingspace');\r\n }\r\n\r\n get tbWheellayout() {\r\n return this.carForm.get('tbWheellayout');\r\n }\r\n\r\n get tbTransmission() {\r\n return this.carForm.get('tbTransmission');\r\n }\r\n \r\n get tbReference() {\r\n return this.carForm.get('tbReference');\r\n }\r\n \r\n get tbExceptions() {\r\n return this.carForm.get('tbExceptions');\r\n }\r\n\r\n get tbExceptions2() {\r\n return this.carForm.get('tbExceptions2');\r\n }\r\n\r\n get tbModelAccess() {\r\n return this.carForm.get('tbModelAccess');\r\n }\r\n\r\n private cancel() {\r\n this.definireCar = false;\r\n this.afiseazaDate();\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Catalog Reference \\r\\n {{catalogLink.catalogReference}}\\r\\n \\r\\n\\r\\n \\r\\n Catalog link NL \\r\\n \\r\\n {{catalogLink.linkCatalogNl}}\\r\\n \\r\\n\\r\\n \\r\\n Catalog link FR \\r\\n \\r\\n {{catalogLink.linkCatalogFr}}\\r\\n \\r\\n\\r\\n \\r\\n Catalog link RO \\r\\n \\r\\n {{catalogLink.linkCatalogRo}}\\r\\n \\r\\n\\r\\n \\r\\n Catalog link EN \\r\\n \\r\\n {{catalogLink.linkCatalogEn}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Catalog reference\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Catalog Reference\\r\\n \\r\\n \\r\\n Please introduce Catalog Reference!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Catalog Link EN\\r\\n \\r\\n \\r\\n Please introduce Catalog Link EN!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Catalog Link NL\\r\\n \\r\\n \\r\\n Please introduce Catalog Link NL!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Catalog Link RO\\r\\n \\r\\n \\r\\n Please introduce Catalog Link RO!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Catalog Link FR\\r\\n \\r\\n \\r\\n Please introduce Catalog Link FR!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%;\\n padding-left: 25px; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\nmat-row {\\n min-height: 30px; }\\n\\nmat-cell {\\n font-size: 12px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jYXRhbG9nTGluay9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNhdGFsb2dMaW5rXFxjYXRhbG9nTGluay5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDhEQUE4RDtFQUM5RCwwQkFBeUI7RUFDekIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsdUJBQXNCO0VBQ3RCLGFBQVksRUFDYjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7OztJQUlJOztBQUVKO0VBR0UsMEJBQXlCO0VBQ3pCLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY2F0YWxvZ0xpbmsvY2F0YWxvZ0xpbmsuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1mb3JtIHtcclxuICBtaW4td2lkdGg6IDQwMHB4O1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwge1xyXG4gIC8qZm9udC1mYW1pbHk6IFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRkLCAuc3RpbFRhYmVsIHRoIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gIHBhZGRpbmc6IDhweDtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XHJcbn1cclxuXHJcbi8qXHJcbi5zdGlsVGFiZWwgdHI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbn1cclxuICAqL1xyXG5cclxuLnN0aWxUYWJlbCB0aCB7XHJcbiAgLy9wYWRkaW5nLXRvcDogMTJweDtcclxuICAvL3BhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxubWF0LXJvdyB7XHJcbiAgbWluLWhlaWdodDogMzBweDtcclxufVxyXG5cclxubWF0LWNlbGwge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Product } from 'src/app/models/product.model';\r\nimport * as FileSaver from 'file-saver'; \r\nimport { DecimalPipe } from '@angular/common';\r\nimport { ExcelFisier } from 'src/app/models/ExcelFisier.model';\r\nimport { CatalogLink } from 'src/app/models/catalogLink.model';\r\n\r\n@Component({\r\n selector: 'catalogLink',\r\n templateUrl: './catalogLink.component.html',\r\n styleUrls: ['./catalogLink.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class CatalogLinkComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n catalogLinkForm: FormGroup;\r\n catalogLink: CatalogLink;\r\n definireCatalogLink: boolean = false;\r\n afisareCatalogLink: boolean = true;\r\n\r\n catalogReference: string = '';\r\n displayedColumns = ['catalogReference', 'linkCatalogNl', 'linkCatalogFr', 'linkCatalogRo','linkCatalogEn','actions'];\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n data: CatalogLink[];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n \r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let catalogReference = this.catalogReference == null || this.catalogReference == \"\" ? \"undefined\" : this.catalogReference;\r\n \r\n this.accountService\r\n .getCatalogLinkLists(catalogReference)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n \r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.catalogReference = '';\r\n }\r\n\r\n modificare(catalogLink: CatalogLink) {\r\n this.definireCatalogLink = true;\r\n this.afisareCatalogLink = false;\r\n this.catalogLink = catalogLink;\r\n }\r\n\r\n verificareStergere(catalogLink: CatalogLink) {\r\n this.alertService.showDialog('Delete', 'Do you confirm the deletion?', DialogType.confirm, () => this.stergeCatalogLink(catalogLink));\r\n }\r\n\r\n stergeCatalogLink(catalogLink: CatalogLink) {\r\n catalogLink.status = \"D\";\r\n this.accountService.saveCatalogLink(catalogLink).subscribe(\r\n role => {\r\n this.saveSuccessHelper(this.catalogLink, `Catalog deleted!`);\r\n this.afiseazaDate();\r\n },\r\n error => this.saveFailedHelper(error));\r\n }\r\n\r\n adaugare() {\r\n this.definireCatalogLink = true;\r\n this.afisareCatalogLink = false;\r\n this.catalogLink = new CatalogLink();\r\n }\r\n \r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.catalogLink = new CatalogLink();\r\n this.afiseazaDate();\r\n }\r\n \r\n save() {\r\n if (this.catalogLinkForm.valid) {\r\n this.accountService.saveCatalogLink(this.catalogLink).subscribe(\r\n role => this.saveSuccessHelper(this.catalogLink, `Catalog saved successfully!`),\r\n error => this.saveFailedHelper(error));\r\n } else {\r\n alert(\"form invalid!\");\r\n }\r\n this.afisareCatalogLink = true;\r\n this.definireCatalogLink = false;\r\n }\r\n\r\n private saveSuccessHelper(catalogLink?: CatalogLink, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n\r\n this.definireCatalogLink = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.catalogLinkForm = this.formBuilder.group({\r\n tbLinkCatalogEn: ['', [Validators.required],],\r\n tbLinkCatalogRo: ['', [Validators.required],],\r\n tbLinkCatalogNl: ['', [Validators.required],],\r\n tbLinkCatalogFr: ['', [Validators.required],],\r\n tbCatalogReference: ['', [Validators.required],]\r\n });\r\n }\r\n\r\n get tbCatalogReference() {\r\n return this.catalogLinkForm.get('tbCatalogReference');\r\n }\r\n\r\n get tbLinkCatalogEn() {\r\n return this.catalogLinkForm.get('tbLinkCatalogEn');\r\n }\r\n\r\n get tbLinkCatalogRo() {\r\n return this.catalogLinkForm.get('tbLinkCatalogRo');\r\n }\r\n\r\n get tbLinkCatalogNl() {\r\n return this.catalogLinkForm.get('tbLinkCatalogNl');\r\n }\r\n\r\n get tbLinkCatalogFr() {\r\n return this.catalogLinkForm.get('tbLinkCatalogFr');\r\n }\r\n\r\n private cancel() {\r\n this.definireCatalogLink = false;\r\n this.afisareCatalogLink = true;\r\n this.afiseazaDate();\r\n }\r\n\r\n private afiseazaPdfEN(catalogLink: CatalogLink) {\r\n window.open(catalogLink.linkCatalogEn, '_blank');\r\n }\r\n\r\n private afiseazaPdfRO(catalogLink: CatalogLink) {\r\n window.open(catalogLink.linkCatalogRo, '_blank');\r\n }\r\n\r\n private afiseazaPdfNL(catalogLink: CatalogLink) {\r\n window.open(catalogLink.linkCatalogNl, '_blank');\r\n }\r\n\r\n private afiseazaPdfFR(catalogLink: CatalogLink) {\r\n window.open(catalogLink.linkCatalogFr, '_blank');\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Company name \\r\\n \\r\\n {{companie.denumire}}\\r\\n done\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Code \\r\\n {{companie.cif}} - {{companie.regCom}}\\r\\n \\r\\n\\r\\n \\r\\n Country \\r\\n \\r\\n {{companie.country}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n City \\r\\n {{companie.localitate}}\\r\\n \\r\\n\\r\\n \\r\\n Postal Code \\r\\n {{companie.codPostal}}\\r\\n \\r\\n\\r\\n \\r\\n Address \\r\\n {{companie.adresa}}\\r\\n \\r\\n\\r\\n \\r\\n Status \\r\\n \\r\\n
\\r\\n To be approved\\r\\n
\\r\\n
\\r\\n Approved\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Information for represented company\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Company name\\r\\n \\r\\n \\r\\n Please introduce company name!\\r\\n \\r\\n \\r\\n Company name has to be at leasat 3 characters!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Company type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Company code\\r\\n \\r\\n \\r\\n Please introduce company code!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Company second code\\r\\n \\r\\n \\r\\n Please introduce company second code!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n VAT\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Country\\r\\n \\r\\n \\r\\n Please introduce company country!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n City\\r\\n \\r\\n \\r\\n Please introduce company city!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Postal code\\r\\n \\r\\n \\r\\n Please introduce postal code!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Address\\r\\n \\r\\n \\r\\n Please introduce company address!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Bank\\r\\n \\r\\n \\r\\n Please introduce the bank!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Bank account\\r\\n \\r\\n \\r\\n Please introduce bank account!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Company phone\\r\\n \\r\\n \\r\\n Please introduce company phone!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Representation status: To be approved\\r\\n
\\r\\n
\\r\\n Representation status: Approved\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Documents\\r\\n
\\r\\n Company registration document\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Empowerment\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 600px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb21wYW5pZS9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbXBhbmllXFxjb21wYW5pZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsOERBQThEO0VBQzlELDBCQUF5QjtFQUN6QixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1QkFBc0I7RUFDdEIsYUFBWSxFQUNiOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEOzs7O0lBSUk7O0FBRUo7RUFHRSwwQkFBeUI7RUFDekIsYUFBWTtFQUNaLG1CQUFrQixFQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29tcGFuaWUvY29tcGFuaWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1mb3JtIHtcclxuICBtaW4td2lkdGg6IDYwMHB4O1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB7XHJcbiAgLypmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdGQsIC5zdGlsVGFiZWwgdGgge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxufVxyXG5cclxuLypcclxuLnN0aWxUYWJlbCB0cjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4gICovXHJcblxyXG4uc3RpbFRhYmVsIHRoIHtcclxuICAvL3BhZGRpbmctdG9wOiAxMnB4O1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Companie } from 'src/app/models/Companie.model';\r\nimport * as FileSaver from 'file-saver'; \r\n\r\n@Component({\r\n selector: 'companie',\r\n templateUrl: './companie.component.html',\r\n styleUrls: ['./companie.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class CompanieComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n companieForm: FormGroup;\r\n companie: Companie;\r\n definireCompanie: boolean = false;\r\n\r\n denumire: string = '';\r\n cif: string = '';\r\n displayedColumns = ['denumire', 'cif', 'country', 'localitate', 'postalcode', 'adresa', 'stare', 'actions'];\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n data: Companie[];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n //@HostListener('click')\r\n click() {\r\n this.accountService.toggle();\r\n }\r\n\r\n //\r\n\r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let denumire = this.denumire == null || this.denumire == \"\" ? \"undefined\" : this.denumire;\r\n let cif = this.cif == null || this.cif == \"\" ? \"undefined\" : this.cif;\r\n \r\n this.accountService\r\n .getCompaniiReprezentateList(denumire, cif)\r\n .subscribe(results => {\r\n \r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n\r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n },\r\n error => {\r\n this.saveFailedHelperAfisareDate(error);\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n private saveFailedHelperAfisareDate(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare afisare\", error.error, MessageSeverity.error, error);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.denumire = '';\r\n this.cif = '';\r\n }\r\n\r\n blocareEditareCIF: boolean;\r\n modificareCompanie(companie: Companie) {\r\n this.definireCompanie = true;\r\n this.companie = companie;\r\n this.blocareEditareCIF = true;\r\n\r\n this.companie.stareafisare = this.companie.stare == \"Neaprobat\" ? \"In curs de aprobare\" : \"Aprobat\"; \r\n }\r\n\r\n selectieCompanie(companie: Companie) {\r\n this.alertService.startLoadingMessage('Selecting company...');\r\n this.accountService.selectieCompanie(companie).subscribe(\r\n role => {\r\n this.saveSuccessHelper(companie, 'Company selected!');\r\n this.accountService.toggle();\r\n },\r\n error => this.saveFailedHelper(error));\r\n //this.valueChanged();\r\n }\r\n\r\n adaugare() {\r\n this.definireCompanie = true;\r\n this.companie = new Companie();\r\n this.blocareEditareCIF = false;\r\n }\r\n \r\n //\r\n\r\n afuConfig = {\r\n uploadAPI: {\r\n url: \"https://example-file-upload-api\"\r\n }\r\n };\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.companie = new Companie();\r\n this.afiseazaDate();\r\n }\r\n \r\n save() {\r\n if (this.companieForm.valid) {\r\n this.accountService.newCompanie(this.companie).subscribe(\r\n role => this.saveSuccessHelper(this.companie, `Company information saved successfully!`),\r\n error => this.saveFailedHelper(error));\r\n } \r\n }\r\n\r\n private saveSuccessHelper(companie?: Companie, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n\r\n this.definireCompanie = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"In procesul de salvare s-au produs urmatoarele erori: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.companieForm = this.formBuilder.group({\r\n tbDenumire: ['', [Validators.required, Validators.minLength(3)],],\r\n tbType: ['', Validators.required],\r\n tbCIF: ['', Validators.required],\r\n tbRegcom: ['', Validators.required],\r\n tbVAT: ['', Validators.required],\r\n tbCountry: ['', Validators.required],\r\n tbLocalitate: ['', Validators.required],\r\n tbAdresa: ['', Validators.required],\r\n tbPostalCode: ['', Validators.required],\r\n tbBanca: ['', Validators.required],\r\n tbContBancar: ['', Validators.required],\r\n tbTelefon: ['', Validators.required],\r\n tbStare: new FormControl({ value: '' })\r\n });\r\n }\r\n\r\n get tbVAT() {\r\n return this.companieForm.get('tbVAT');\r\n }\r\n\r\n get tbType() {\r\n return this.companieForm.get('tbType');\r\n }\r\n\r\n get tbDenumire() {\r\n return this.companieForm.get('tbDenumire');\r\n }\r\n\r\n get tbCIF() {\r\n return this.companieForm.get('tbCIF');\r\n }\r\n\r\n get tbRegcom() {\r\n return this.companieForm.get('tbRegcom');\r\n }\r\n\r\n get tbDocument() {\r\n return this.companieForm.get('tbDocument');\r\n }\r\n\r\n get tbLocalitate() {\r\n return this.companieForm.get('tbLocalitate');\r\n }\r\n\r\n get tbCountry() {\r\n return this.companieForm.get('tbCountry');\r\n }\r\n\r\n get tbAdresa() {\r\n return this.companieForm.get('tbAdresa');\r\n }\r\n\r\n get tbPostalCode() {\r\n return this.companieForm.get('tbPostalCode');\r\n }\r\n\r\n get tbBanca() {\r\n return this.companieForm.get('tbBanca');\r\n }\r\n\r\n get tbContBancar() {\r\n return this.companieForm.get('tbContBancar');\r\n }\r\n\r\n get tbTelefon() {\r\n return this.companieForm.get('tbTelefon');\r\n }\r\n\r\n get tbStare() {\r\n return this.companieForm.get('tbStare');\r\n }\r\n \r\n private cancel() {\r\n this.definireCompanie = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n handleFileInputCI(files: FileList, mod: string) {\r\n if (mod == \"1\") {\r\n this.companie.documentCUI = files.item(0);\r\n }\r\n else if (mod == \"2\") {\r\n this.companie.documentCertificatFiscal = files.item(0);\r\n }\r\n else if (mod == \"3\") {\r\n this.companie.documentImputernicire = files.item(0);\r\n }\r\n else if (mod == \"4\") {\r\n this.companie.documentAprobareAdministratorJudiciar = files.item(0);\r\n }\r\n else if (mod == \"5\") {\r\n this.companie.documentAcordCompensareCuNerezidenti = files.item(0);\r\n }\r\n }\r\n\r\n incarcaFisier(mod: string) {\r\n const formData = new FormData();\r\n if (mod == \"1\" && this.companie.documentCUI == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare incarcare fisier\", \"Fisierul nu este selectat!\", MessageSeverity.error);\r\n return;\r\n }\r\n else if (mod == \"2\" && this.companie.documentCertificatFiscal == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare incarcare fisier\", \"Fisierul nu este selectat!\", MessageSeverity.error);\r\n return;\r\n }\r\n else if (mod == \"3\" && this.companie.documentImputernicire == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare incarcare fisier\", \"Fisierul nu este selectat!\", MessageSeverity.error);\r\n return;\r\n }\r\n else if (mod == \"4\" && this.companie.documentAprobareAdministratorJudiciar == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare incarcare fisier\", \"Fisierul nu este selectat!\", MessageSeverity.error);\r\n return;\r\n }\r\n else if (mod == \"5\" && this.companie.documentAcordCompensareCuNerezidenti == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare incarcare fisier\", \"Fisierul nu este selectat!\", MessageSeverity.error);\r\n return;\r\n }\r\n\r\n if (mod == \"1\") {\r\n formData.append('file', this.companie.documentCUI, this.companie.documentCUI.name);\r\n }\r\n else if (mod == \"2\") {\r\n formData.append('file', this.companie.documentCertificatFiscal, this.companie.documentCertificatFiscal.name);\r\n }\r\n else if (mod == \"3\") {\r\n formData.append('file', this.companie.documentImputernicire, this.companie.documentImputernicire.name);\r\n }\r\n else if (mod == \"4\") {\r\n formData.append('file', this.companie.documentAprobareAdministratorJudiciar, this.companie.documentAprobareAdministratorJudiciar.name);\r\n }\r\n else if (mod == \"5\") {\r\n formData.append('file', this.companie.documentAcordCompensareCuNerezidenti, this.companie.documentAcordCompensareCuNerezidenti.name);\r\n }\r\n\r\n this.accountService.uploadFisierDocumentCompanie(this.companie.reprezentantid, this.companie.id, formData, mod).subscribe((result) => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Incarcare fisier\", \"Fisier incarcat cu succes!\", MessageSeverity.success);\r\n\r\n if (mod == \"1\") {\r\n this.companie.fisierCUI = \"abcd\";\r\n }\r\n else if (mod == \"2\") {\r\n this.companie.fisierCertificatFiscal = \"abcd\";\r\n }\r\n else if (mod == \"3\") {\r\n this.companie.fisierImputernicire = \"abcd\";\r\n }\r\n else if (mod == \"4\") {\r\n this.companie.fisierAprobareAdministratorJudiciar = \"abcd\";\r\n }\r\n else if (mod == \"5\") {\r\n this.companie.fisierAcordCompensareCuNerezidenti = \"abcd\";\r\n }\r\n\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Eroare incarcare fisier\", \"In procesul de incarcare s-au produs urmatoarele erori: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n\r\n descarcaFisier(mod: string) {\r\n this.accountService.downloadDocumentCompanie(this.companie.reprezentantid, this.companie.id, mod).subscribe(result => {\r\n let blob = new Blob(result, {\r\n type: 'application/pdf' // must match the Accept type\r\n });\r\n\r\n let filename = 'Document_' + mod + '.pdf';\r\n FileSaver.saveAs(blob, filename);\r\n });\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Companie } from 'src/app/models/Companie.model';\r\nimport * as FileSaver from 'file-saver'; \r\nimport { Permission } from 'src/app/models/permission.model';\r\n\r\n@Component({\r\n selector: 'companiereprezentari',\r\n templateUrl: './companiereprezentari.component.html',\r\n styleUrls: ['./companiereprezentari.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class CompanieReprezentariComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n companieForm: FormGroup;\r\n companie: Companie;\r\n definireCompanie: boolean = false;\r\n\r\n denumire: string = '';\r\n cif: string = '';\r\n displayedColumns = ['denumire', 'reprezentant', 'cif', 'country', 'localitate', 'postalcode', 'adresa', 'stare', 'actions'];\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n data: Companie[];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n //\r\n\r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let denumire = this.denumire == null || this.denumire == \"\" ? \"undefined\" : this.denumire;\r\n let cif = this.cif == null || this.cif == \"\" ? \"undefined\" : this.cif;\r\n \r\n this.accountService\r\n .getCompaniiReprezentateList(denumire, cif, 'Y')\r\n .subscribe(results => {\r\n \r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n\r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n },\r\n error => {\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.denumire = '';\r\n this.cif = '';\r\n }\r\n\r\n blocareEditareCIF: boolean;\r\n modificareCompanie(companie: Companie) {\r\n this.definireCompanie = true;\r\n this.companie = companie;\r\n this.blocareEditareCIF = true;\r\n\r\n this.companie.stareafisare = this.companie.stare == \"Neaprobat\" ? \"In curs de aprobare\" : \"Aprobat\"; \r\n }\r\n\r\n adaugare() {\r\n this.definireCompanie = true;\r\n this.companie = new Companie();\r\n this.blocareEditareCIF = false;\r\n }\r\n\r\n cereAprobareReprezentant(companie: Companie) {\r\n this.alertService.showDialog('Confirmati', 'Confirmati aprobarea reprezentantului ' + companie.reprezentant + ' pentru compania ' + companie.denumire + ' ?', DialogType.confirm, () => this.aprobaCompanie(companie));\r\n }\r\n\r\n aprobaCompanie(companie: Companie) {\r\n this.alertService.startLoadingMessage('Confirmare reprezentare...');\r\n this.accountService.aprobareReprezentareCompanie(companie).subscribe(\r\n role => this.saveSuccessHelper(companie, 'Reprezentarea a fost aprobata!'),\r\n error => this.saveFailedHelper(error));\r\n }\r\n \r\n //\r\n\r\n afuConfig = {\r\n uploadAPI: {\r\n url: \"https://example-file-upload-api\"\r\n }\r\n };\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.companie = new Companie();\r\n this.afiseazaDate();\r\n }\r\n \r\n save() {\r\n //console.log(\"abcd\");\r\n //if (this.companieForm.valid) {\r\n //console.log(\"efgh\");\r\n this.accountService.newCompanie(this.companie).subscribe(\r\n role => this.saveSuccessHelper(this.companie, `Datele companiei au fost salvate cu succes!`),\r\n error => this.saveFailedHelper(error));\r\n //}\r\n // else {\r\n // console.log(\"svfddfv\");\r\n // console.log(this.companieForm.errors);\r\n // }\r\n \r\n }\r\n\r\n private saveSuccessHelper(companie?: Companie, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n\r\n this.definireCompanie = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"In procesul de salvare s-au produs urmatoarele erori: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.companieForm = this.formBuilder.group({\r\n tbDenumire: ['', [Validators.required, Validators.minLength(3)],],\r\n tbType: ['', Validators.required],\r\n tbCIF: ['', Validators.required],\r\n tbRegcom: ['', Validators.required],\r\n tbVAT: ['', Validators.required],\r\n tbCountry: ['', Validators.required],\r\n tbLocalitate: ['', Validators.required],\r\n tbAdresa: ['', Validators.required],\r\n tbPostalCode: ['', Validators.required],\r\n tbBanca: ['', Validators.required],\r\n tbContBancar: ['', Validators.required],\r\n tbTelefon: ['', Validators.required],\r\n tbStare: new FormControl({ value: '' })\r\n });\r\n }\r\n\r\n get tbVAT() {\r\n return this.companieForm.get('tbVAT');\r\n }\r\n\r\n get tbType() {\r\n return this.companieForm.get('tbType');\r\n }\r\n\r\n get tbDenumire() {\r\n return this.companieForm.get('tbDenumire');\r\n }\r\n\r\n get tbCIF() {\r\n return this.companieForm.get('tbCIF');\r\n }\r\n\r\n get tbRegcom() {\r\n return this.companieForm.get('tbRegcom');\r\n }\r\n\r\n get tbDocument() {\r\n return this.companieForm.get('tbDocument');\r\n }\r\n\r\n get tbLocalitate() {\r\n return this.companieForm.get('tbLocalitate');\r\n }\r\n\r\n get tbCountry() {\r\n return this.companieForm.get('tbCountry');\r\n }\r\n\r\n get tbAdresa() {\r\n return this.companieForm.get('tbAdresa');\r\n }\r\n\r\n get tbPostalCode() {\r\n return this.companieForm.get('tbPostalCode');\r\n }\r\n\r\n get tbBanca() {\r\n return this.companieForm.get('tbBanca');\r\n }\r\n\r\n get tbContBancar() {\r\n return this.companieForm.get('tbContBancar');\r\n }\r\n\r\n get tbTelefon() {\r\n return this.companieForm.get('tbTelefon');\r\n }\r\n\r\n get tbStare() {\r\n return this.companieForm.get('tbStare');\r\n }\r\n \r\n private cancel() {\r\n this.definireCompanie = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n vizualizareDetaliiCompanie(companie: Companie) {\r\n this.definireCompanie = true;\r\n this.companie = companie;\r\n this.blocareEditareCIF = true;\r\n this.companie.stareafisare = this.companie.stare == \"Neaprobat\" ? \"In curs de aprobare\" : \"Aprobat\";\r\n }\r\n\r\n descarcaFisier(mod: string) {\r\n this.accountService.downloadDocumentCompanie(this.companie.reprezentantid, this.companie.id, mod).subscribe(result => {\r\n let blob = new Blob(result, {\r\n type: 'application/pdf' // must match the Accept type\r\n });\r\n\r\n let filename = 'Document_' + mod + '.pdf';\r\n FileSaver.saveAs(blob, filename);\r\n });\r\n }\r\n\r\n verificareStergere(companie: Companie) {\r\n this.alertService.showDialog('Delete', 'Do you confirm the deletion?', DialogType.confirm, () => this.stergeCompanie(companie));\r\n }\r\n\r\n stergeCompanie(companie: Companie) {\r\n companie.status = \"D\";\r\n\r\n this.accountService.deleteCompany(companie).subscribe(\r\n role => {\r\n this.saveSuccessHelper(this.companie, `Company deleted!`);\r\n this.afiseazaDate();\r\n },\r\n error => this.saveFailedHelper(error));\r\n\r\n }\r\n\r\n get manageCompanieReprezentariPermission() {\r\n return this.accountService.userHasPermission(Permission.manageCompanieReprezentariPermission);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Represented by \\r\\n {{companie.reprezentant}} \\r\\n \\r\\n\\r\\n \\r\\n Company name \\r\\n \\r\\n {{companie.denumire}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Code \\r\\n {{companie.cif}} - {{companie.regCom}}\\r\\n \\r\\n\\r\\n \\r\\n Country \\r\\n \\r\\n {{companie.country}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n City \\r\\n {{companie.localitate}}\\r\\n \\r\\n\\r\\n \\r\\n Postal Code \\r\\n {{companie.codPostal}}\\r\\n \\r\\n\\r\\n \\r\\n Address \\r\\n {{companie.adresa}}\\r\\n \\r\\n\\r\\n \\r\\n Status \\r\\n \\r\\n
\\r\\n To be approved\\r\\n
\\r\\n
\\r\\n Approved\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Information for represented company\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Company name\\r\\n \\r\\n \\r\\n Please introduce company name!\\r\\n \\r\\n \\r\\n Company name has to be at leasat 3 characters!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Company type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n VAT/TVA/BTW/CUI Nr\\r\\n \\r\\n \\r\\n Please introduce VAT/TVA/BTW/CUI Nr!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Company second code\\r\\n \\r\\n \\r\\n Please introduce company second code!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n VAT %\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Country\\r\\n \\r\\n \\r\\n Please introduce company country!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n City\\r\\n \\r\\n \\r\\n Please introduce company city!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Postal code\\r\\n \\r\\n \\r\\n Please introduce postal code!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Address\\r\\n \\r\\n \\r\\n Please introduce company address!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Bank\\r\\n \\r\\n \\r\\n Please introduce the bank!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Bank account\\r\\n \\r\\n \\r\\n Please introduce bank account!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Company phone\\r\\n \\r\\n \\r\\n Please introduce company phone!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Representation status: To be approved\\r\\n
\\r\\n
\\r\\n Representation status: Approved\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Documente\\r\\n
\\r\\n Company registration document\\r\\n \\r\\n \\r\\n
\\r\\n Empowerment\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 600px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb21wYW5pZVJlcHJlemVudGFyaS9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbXBhbmllUmVwcmV6ZW50YXJpXFxjb21wYW5pZXJlcHJlemVudGFyaS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsOERBQThEO0VBQzlELDBCQUF5QjtFQUN6QixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1QkFBc0I7RUFDdEIsYUFBWSxFQUNiOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEOzs7O0lBSUk7O0FBRUo7RUFHRSwwQkFBeUI7RUFDekIsYUFBWTtFQUNaLG1CQUFrQixFQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29tcGFuaWVSZXByZXplbnRhcmkvY29tcGFuaWVyZXByZXplbnRhcmkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1mb3JtIHtcclxuICBtaW4td2lkdGg6IDYwMHB4O1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB7XHJcbiAgLypmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdGQsIC5zdGlsVGFiZWwgdGgge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxufVxyXG5cclxuLypcclxuLnN0aWxUYWJlbCB0cjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4gICovXHJcblxyXG4uc3RpbFRhYmVsIHRoIHtcclxuICAvL3BhZGRpbmctdG9wOiAxMnB4O1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n Vehicle Reference \\r\\n \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Product Group\\r\\n (Click for info)\\r\\n \\r\\n \\r\\n {{product.productgrup}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n \\r\\n {{product.productnumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionfr}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionen}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionro}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Dealer (EUR)\\r\\n \\r\\n {{product.pricedealerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n \\r\\n {{product.pricefinalcustomerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n       \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Products linked to the realised selections\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n Vehicle Reference \\r\\n \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Product Group\\r\\n (Click for info)\\r\\n \\r\\n \\r\\n {{product.productgrup}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n \\r\\n {{product.productnumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionfr}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionen}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionro}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Dealer (EUR)\\r\\n \\r\\n {{product.pricedealerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n \\r\\n {{product.pricefinalcustomerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n       \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Subject\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Client name\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Vehicle Reference \\r\\n \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n Total \\r\\n \\r\\n\\r\\n \\r\\n Product Group (Click for info) \\r\\n \\r\\n {{product.productgrup}}\\r\\n \\r\\n Total \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n \\r\\n {{product.productnumber}}\\r\\n \\r\\n Total \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionfr}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionen}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionro}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Price Dealer (EUR)\\r\\n \\r\\n {{product.pricedealerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n \\r\\n {{product.pricefinalcustomerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n    \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%;\\n padding-left: 15px; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%;\\n font-size: 14px; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\nmat-row {\\n min-height: 20px; }\\n\\nmat-cell {\\n font-size: 12px; }\\n\\nmat-footer-row {\\n font-weight: bold; }\\n\\nmat-footer-row {\\n display: table-footer-group;\\n vertical-align: middle;\\n border-color: inherit; }\\n\\ntr.mat-footer-row {\\n border: 1px solid #e7e7e7;\\n font-weight: bold;\\n height: 10px !important; }\\n\\n.zoom {\\n margin: 5px 5px 5px 5px;\\n height: 400px;\\n max-height: 400px;\\n width: 100%;\\n -o-object-fit: contain;\\n object-fit: contain; }\\n\\n.zoompopup {\\n text-align: center;\\n align-content: center;\\n max-height: 1000px;\\n max-width: 100%;\\n overflow: auto; }\\n\\n.zooom {\\n padding: 50px;\\n background-color: green;\\n transition: -webkit-transform .2s;\\n transition: transform .2s;\\n transition: transform .2s, -webkit-transform .2s;\\n width: 200px;\\n height: 200px;\\n margin: 0 auto; }\\n\\n.zooom:hover {\\n /* IE 9 */\\n -webkit-transform: scale(1.5);\\n /* Safari 3-8 */\\n transform: scale(1.5); }\\n\\n.overlay {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n background: rgba(0, 0, 0, 0.7);\\n transition: opacity 500ms;\\n visibility: visible;\\n opacity: 1; }\\n\\n.popup {\\n margin: auto;\\n padding: 27px;\\n background: #fff;\\n border-radius: 5px;\\n width: 70%;\\n position: relative;\\n transition: all 5s ease-in-out; }\\n\\n.popup h2 {\\n margin-top: 0;\\n color: #333;\\n font-family: Tahoma, Arial, sans-serif; }\\n\\n.popup .close {\\n position: absolute;\\n top: 1px;\\n right: 6px;\\n transition: all 200ms;\\n font-size: 30px;\\n font-weight: bold;\\n text-decoration: none;\\n color: #333; }\\n\\n.popup .close:hover {\\n color: #06D85F;\\n cursor: pointer; }\\n\\n.popup .content {\\n max-height: 40%;\\n overflow: auto; }\\n\\n@media screen and (max-width: 700px) {\\n .popup {\\n width: 70%; } }\\n\\n.poza {\\n display: inline-block;\\n position: relative; }\\n\\n.poza button {\\n position: absolute;\\n bottom: 15px;\\n right: 25px;\\n background: gray;\\n color: white; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb25maWd1cmF0b3IvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxjb21wb25lbnRzXFxjb25maWd1cmF0b3JcXGNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDhEQUE4RDtFQUM5RCwwQkFBeUI7RUFDekIsWUFBVztFQUNYLGdCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsdUJBQXNCO0VBQ3RCLGFBQVksRUFDYjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7OztJQUlJOztBQUVKO0VBR0UsMEJBQXlCO0VBQ3pCLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLDRCQUEyQjtFQUMzQix1QkFBc0I7RUFDdEIsc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0UsMEJBQXlCO0VBQ3pCLGtCQUFpQjtFQUNqQix3QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRSx3QkFBdUI7RUFDdkIsY0FBYTtFQUNiLGtCQUFpQjtFQUNqQixZQUFXO0VBQ1gsdUJBQW1CO0tBQW5CLG9CQUFtQixFQUNwQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUVEO0VBQ0UsY0FBYTtFQUNiLHdCQUF1QjtFQUN2QixrQ0FBeUI7RUFBekIsMEJBQXlCO0VBQXpCLGlEQUF5QjtFQUN6QixhQUFZO0VBQ1osY0FBYTtFQUNiLGVBQWMsRUFDZjs7QUFFRDtFQUM2QixVQUFVO0VBQ3JDLDhCQUE2QjtFQUFFLGdCQUFnQjtFQUMvQyxzQkFBcUIsRUFDdEI7O0FBRUQ7RUFDRSxnQkFBZTtFQUNmLE9BQU07RUFDTixVQUFTO0VBQ1QsUUFBTztFQUNQLFNBQVE7RUFDUiwrQkFBOEI7RUFDOUIsMEJBQXlCO0VBQ3pCLG9CQUFtQjtFQUNuQixXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxhQUFZO0VBQ1osY0FBYTtFQUNiLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQiwrQkFBOEIsRUFDL0I7O0FBRUQ7RUFDRSxjQUFhO0VBQ2IsWUFBVztFQUNYLHVDQUFzQyxFQUN2Qzs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsV0FBVTtFQUNWLHNCQUFxQjtFQUNyQixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixzQkFBcUI7RUFDckIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsZUFBYztFQUNkLGdCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUFFRTtJQUNFLFdBQVUsRUFDWCxFQUFBOztBQUdIO0VBQ0Usc0JBQXFCO0VBQ3JCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osWUFBVztFQUNYLGlCQUFnQjtFQUNoQixhQUFZLEVBQ2IiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2NvbmZpZ3VyYXRvci9jb25maWd1cmF0b3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1mb3JtIHtcclxuICBtaW4td2lkdGg6IDQwMHB4O1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwge1xyXG4gIC8qZm9udC1mYW1pbHk6IFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB0ZCwgLnN0aWxUYWJlbCB0aCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBwYWRkaW5nOiA4cHg7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xyXG59XHJcblxyXG4vKlxyXG4uc3RpbFRhYmVsIHRyOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xyXG59XHJcbiAgKi9cclxuXHJcbi5zdGlsVGFiZWwgdGgge1xyXG4gIC8vcGFkZGluZy10b3A6IDEycHg7XHJcbiAgLy9wYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbm1hdC1yb3cge1xyXG4gIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbm1hdC1jZWxsIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbm1hdC1mb290ZXItcm93IHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxubWF0LWZvb3Rlci1yb3cge1xyXG4gIGRpc3BsYXk6IHRhYmxlLWZvb3Rlci1ncm91cDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxudHIubWF0LWZvb3Rlci1yb3cge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi56b29tIHtcclxuICBtYXJnaW46IDVweCA1cHggNXB4IDVweDtcclxuICBoZWlnaHQ6IDQwMHB4O1xyXG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbn1cclxuXHJcbi56b29tcG9wdXAge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnpvb29tIHtcclxuICBwYWRkaW5nOiA1MHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XHJcbiAgd2lkdGg6IDIwMHB4O1xyXG4gIGhlaWdodDogMjAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi56b29vbTpob3ZlciB7XHJcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS41KTsgLyogSUUgOSAqL1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyAvKiBTYWZhcmkgMy04ICovXHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG59XHJcblxyXG4ub3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcblxyXG4ucG9wdXAge1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nOiAyN3B4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIHdpZHRoOiA3MCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRyYW5zaXRpb246IGFsbCA1cyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLnBvcHVwIGgyIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIGNvbG9yOiAjMzMzO1xyXG4gIGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4ucG9wdXAgLmNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxcHg7XHJcbiAgcmlnaHQ6IDZweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLnBvcHVwIC5jbG9zZTpob3ZlciB7XHJcbiAgY29sb3I6ICMwNkQ4NUY7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucG9wdXAgLmNvbnRlbnQge1xyXG4gIG1heC1oZWlnaHQ6IDQwJTtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcclxuXHJcbiAgLnBvcHVwIHtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgfVxyXG59XHJcblxyXG4ucG96YSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnBvemEgYnV0dG9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAxNXB4O1xyXG4gIHJpZ2h0OiAyNXB4O1xyXG4gIGJhY2tncm91bmQ6IGdyYXk7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Car } from 'src/app/models/car.model';\r\nimport * as FileSaver from 'file-saver'; \r\nimport { Product, GetPhotosWitPoductGroupsViewModel } from 'src/app/models/Product.model';\r\nimport { Poze } from 'src/app/models/Poze.model';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Offer, OfferDetail, PhotoDetail, OfferDetailVM, PhotoDetailVM, OfferVM } from 'src/app/models/offer.model';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TranslateService, LangChangeEvent } from '@ngx-translate/core';\r\nimport { CatalogLink } from 'src/app/models/catalogLink.model';\r\nimport { AppTranslationService } from 'src/app/services/app-translation.service';\r\n\r\n@Component({\r\n selector: 'configurator',\r\n templateUrl: './configurator.component.html',\r\n styleUrls: ['./configurator.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class ConfiguratorComponent\r\n{\r\n imageSrcCitroen: string = require(\"../../assets/images/citroen.png\");\r\n imageSrcDacia: string = require(\"../../assets/images/dacia.png\");\r\n imageSrcFiat: string = require(\"../../assets/images/fiat.png\");\r\n imageSrcFord: string = require(\"../../assets/images/ford.png\");\r\n imageSrcFuso: string = require(\"../../assets/images/fuso.png\");\r\n imageSrcHyundai: string = require(\"../../assets/images/hyundai.png\");\r\n imageSrcIveco: string = require(\"../../assets/images/iveco.png\");\r\n imageSrcMan: string = require(\"../../assets/images/man.png\");\r\n imageSrcMaxus: string = require(\"../../assets/images/maxus.png\");\r\n imageSrcMaxusAstara: string = require(\"../../assets/images/maxusAstara.png\");\r\n imageSrcMercedes: string = require(\"../../assets/images/mercedes.png\");\r\n imageSrcNissan: string = require(\"../../assets/images/nissan.png\");\r\n imageSrcOpel: string = require(\"../../assets/images/opel.png\");\r\n imageSrcPeugeot: string = require(\"../../assets/images/peugeot.png\");\r\n imageSrcRenault: string = require(\"../../assets/images/renault.png\");\r\n imageSrcToyota: string = require(\"../../assets/images/toyota.png\");\r\n imageSrcVolkswagen: string = require(\"../../assets/images/volkswagen.png\");\r\n\r\n afiseazaDivLogouri: boolean = true;\r\n afiseazaDivSelectii: boolean = true;\r\n afiseazaDivBody: boolean = false;\r\n afiseazaDivVariant: boolean = false;\r\n afiseazaDivProducts: boolean = false;\r\n definireOffer: boolean = false;\r\n alegerePoze: boolean = false;\r\n \r\n dataSource: MatTableDataSource;\r\n offerForm: FormGroup;\r\n\r\n dataProducts: Product[];\r\n dataSelectedProducts: Product[];\r\n dataSelectedProductsDelete: Product[];\r\n dataSelectedDependentProducts: Product[];\r\n dataSourceProducts: MatTableDataSource;\r\n dataSourceProductsDependent: MatTableDataSource;\r\n dataSourceProductsCarReference: Product[];\r\n dataSourceSelectedProducts: MatTableDataSource;\r\n displayedColumnsProducts = ['select', 'vehicleReference', 'productgrup', 'productnumber', 'description', 'descriptionfr', 'descriptionen', 'descriptionro', 'PriceDealer', 'PriceFinalCustomer'];\r\n selection = new SelectionModel(true, []);\r\n loadingIndicator: boolean = true;\r\n isDataLoaded: boolean = false;\r\n listDependentProduct: boolean = false;\r\n\r\n dataPoze: Poze[];\r\n dataSourcePoze: MatTableDataSource;\r\n dataSelectedPhoto: Poze[];\r\n dataSourceSelectedPhoto: MatTableDataSource;\r\n displayedColumnsPoze = ['productgrup', 'reference', 'referencepoze'];\r\n catalogLink: CatalogLink[];\r\n\r\n selectiiPentruMarca: string[];\r\n selectiiPentruBody: string[];\r\n selectiiPentruVariant: string[];\r\n selectiiPentruDescription: string[];\r\n selectiiPentrucarReference: string[];\r\n selectiiPentruWheelbase: string[];\r\n selectiiPentruHeight: string[];\r\n selectiiPentruTransmission: string[];\r\n selectiiPentruProductgrup: string[];\r\n\r\n marcaSelectata: string;\r\n modelSelectat: string;\r\n bodySelectat: string;\r\n wheelbaseSelectat: string;\r\n heightSelectat: string;\r\n transmissionSelectat: string;\r\n variantSelectat: string;\r\n referenceSelectat: string;\r\n productgrupSelectat: string;\r\n carReference: string;\r\n productGroup: string;\r\n productGrup: string;\r\n vehicleReference: string;\r\n carId: string;\r\n offer: Offer = new Offer();\r\n productgrup: string = '';\r\n\r\n browserLang: string;\r\n showEN: boolean = false;\r\n showNI: boolean = true;\r\n showRO: boolean = true;\r\n showFR: boolean = true;\r\n popup: boolean = false;\r\n pozaAfisata: Poze;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private datePipe: DatePipe,\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n this.dataSourceProducts = new MatTableDataSource();\r\n this.dataSourceProductsDependent = new MatTableDataSource();\r\n this.dataSourceSelectedProducts = new MatTableDataSource();\r\n this.dataSourcePoze = new MatTableDataSource();\r\n this.buildForm();\r\n translate.onLangChange.subscribe(lang => {\r\n this.browserLang = lang;\r\n })\r\n }\r\n\r\n getCatalogLinkList() {\r\n this.accountService.getCatalogLinkLists()\r\n .subscribe(results => {\r\n let linii = results[0];\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n this.catalogLink = liniiReconverted;\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n selectionLanguage() {\r\n if (this.browserLang == \"fr\") {\r\n this.showFR = false;\r\n this.showEN = true;\r\n this.showNI = true;\r\n this.showRO = true;\r\n }\r\n if (this.browserLang == \"en\") {\r\n this.showFR = true;\r\n this.showEN = false;\r\n this.showNI = true;\r\n this.showRO = true;\r\n }\r\n if (this.browserLang == \"ar\") {\r\n this.showFR = true;\r\n this.showEN = true;\r\n this.showNI = true;\r\n this.showRO = false;\r\n }\r\n if (this.browserLang == \"de\") {\r\n this.showFR = true;\r\n this.showEN = true;\r\n this.showNI = false;\r\n this.showRO = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n this.afiseazaDivProducts = false;\r\n this.alegerePoze = false;\r\n this.getCatalogLinkList();\r\n var ddMMyyyy = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\r\n\r\n var selectedLanguage = window.selectedLanguage;\r\n if (selectedLanguage == null || selectedLanguage == undefined) {\r\n selectedLanguage = 'en';\r\n }\r\n this.translationService.changeLanguage(selectedLanguage);\r\n\r\n this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\r\n if (event.lang != null && event.lang != \"undefined\") {\r\n selectedLanguage = event.lang;\r\n window.selectedLanguage = selectedLanguage;\r\n }\r\n else if (event.lang == null || event.lang == \"undefined\") {\r\n this.browserLang = selectedLanguage;\r\n }\r\n this.browserLang = selectedLanguage;\r\n this.selectionLanguage();\r\n });\r\n this.browserLang = selectedLanguage;\r\n this.selectionLanguage();\r\n }\r\n\r\n selectieMarca(marca: string) {\r\n this.ngOnInit();\r\n this.listDependentProduct = false;\r\n this.dataSelectedProducts = [];\r\n this.dataSelectedDependentProducts = [];\r\n this.marcaSelectata = marca;\r\n this.offer = new Offer()\r\n this.offer.subject = '';\r\n this.offer.clientName = '';\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(marca)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.selectiiPentruMarca = new Array();\r\n\r\n for (let car of liniiReconverted) {\r\n if (!this.selectiiPentruMarca.includes(car.model)) {\r\n this.selectiiPentruMarca.push(car.model);\r\n }\r\n }\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n\r\n }\r\n\r\n onModelSelected(modelSelectat: string) {\r\n this.modelSelectat = modelSelectat;\r\n this.bodySelectat = undefined;\r\n this.variantSelectat = undefined;\r\n this.wheelbaseSelectat = undefined;\r\n this.heightSelectat = undefined;\r\n this.transmissionSelectat = undefined;\r\n\r\n this.dataProducts = [];\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(this.marcaSelectata, this.modelSelectat)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.selectiiPentruBody = new Array();\r\n\r\n for (let car of liniiReconverted) {\r\n if (!this.selectiiPentruBody.includes(car.body)) {\r\n this.selectiiPentruBody.push(car.body);\r\n }\r\n }\r\n\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n }\r\n \r\n onBodySelected(bodySelectat: string) {\r\n this.bodySelectat = bodySelectat;\r\n this.variantSelectat = undefined;\r\n this.wheelbaseSelectat = undefined;\r\n this.heightSelectat = undefined;\r\n this.transmissionSelectat = undefined;\r\n\r\n this.dataProducts = [];\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(this.marcaSelectata, this.modelSelectat, this.bodySelectat)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n \r\n this.selectiiPentruVariant = new Array();\r\n\r\n for (let car of liniiReconverted) {\r\n if (!this.selectiiPentruVariant.includes(car.variant)) {\r\n this.selectiiPentruVariant.push(car.variant);\r\n }\r\n }\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n }\r\n\r\n onVariantSelected(variantSelectat: string) {\r\n this.variantSelectat = variantSelectat;\r\n this.wheelbaseSelectat = undefined;\r\n this.heightSelectat = undefined;\r\n this.transmissionSelectat = undefined;\r\n\r\n this.dataProducts = [];\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(this.marcaSelectata, this.modelSelectat, this.bodySelectat, this.variantSelectat)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.selectiiPentruWheelbase = new Array();\r\n\r\n for (let car of liniiReconverted) {\r\n if (!this.selectiiPentruWheelbase.includes(car.wheelbase)) {\r\n this.selectiiPentruWheelbase.push(car.wheelbase);\r\n }\r\n }\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n }\r\n\r\n onWheelbaseSelected(wheelbaseSelectat: string) {\r\n this.wheelbaseSelectat = wheelbaseSelectat;\r\n this.heightSelectat = undefined;\r\n this.transmissionSelectat = undefined;\r\n\r\n this.dataProducts = [];\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(this.marcaSelectata, this.modelSelectat, this.bodySelectat, this.variantSelectat, this.wheelbaseSelectat)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.selectiiPentruHeight = new Array();\r\n\r\n for (let car of liniiReconverted) {\r\n if (!this.selectiiPentruHeight.includes(car.height)) {\r\n this.selectiiPentruHeight.push(car.height);\r\n }\r\n }\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n }\r\n\r\n onHeightSelected(heightSelectat: string) {\r\n this.heightSelectat = heightSelectat;\r\n this.transmissionSelectat = undefined;\r\n\r\n this.dataProducts = [];\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(this.marcaSelectata, this.modelSelectat, this.bodySelectat, this.variantSelectat, this.wheelbaseSelectat, this.heightSelectat)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.selectiiPentruTransmission = new Array();\r\n\r\n for (let car of liniiReconverted) {\r\n if (!this.selectiiPentruTransmission.includes(car.transmission)) {\r\n this.selectiiPentruTransmission.push(car.transmission);\r\n }\r\n }\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n }\r\n\r\n onTransmissionSelected(transmissionSelectat: string) {\r\n this.transmissionSelectat = transmissionSelectat;\r\n\r\n this.dataProducts = [];\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.accountService\r\n .getCarsConfiguratorLists(this.marcaSelectata, this.modelSelectat, this.bodySelectat, this.variantSelectat, this.wheelbaseSelectat, this.heightSelectat, this.transmissionSelectat)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n \r\n let car = liniiReconverted as Car[];\r\n\r\n \r\n\r\n this.carReference = car[0].modelAccess;\r\n this.carId = car[0].id.toString();\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n\r\n this.accountService\r\n .getProductLists(\"undefined\", \"undefined\", this.carReference, \"undefined\", \"undefined\", \"undefined\", this.productgrupSelectat, \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", this.marcaSelectata)\r\n .subscribe(results => {\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.dataProducts = liniiReconverted;\r\n\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n\r\n this.afiseazaDivProducts = true;\r\n\r\n this.alegerePoze = false;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n });\r\n\r\n this.selectiiPentruProductgrup = new Array();\r\n },\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n this.afiseazaDivProducts = false;\r\n this.alegerePoze = false;\r\n });\r\n }\r\n\r\n onProductgrupSelected(productgrupSelectat: string) {\r\n this.productgrupSelectat = productgrupSelectat;\r\n\r\n this.accountService\r\n .getProductLists(\"undefined\", \"undefined\", this.carReference, \"undefined\", \"undefined\", \"undefined\", this.productgrupSelectat, \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", this.marcaSelectata)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.dataProducts = liniiReconverted;\r\n\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.dataSelectedProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selected = true;\r\n }\r\n }\r\n for (let selectedProduct of this.dataSelectedDependentProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selectedDependentProduct = true;\r\n }\r\n }\r\n }\r\n\r\n this.dataSourceProducts.data = this.dataProducts;\r\n\r\n this.afiseazaDivLogouri = false;\r\n this.afiseazaDivSelectii = true;\r\n },\r\n error => {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n });\r\n }\r\n\r\n cancel() {\r\n this.afiseazaDivLogouri = true;\r\n this.afiseazaDivSelectii = false;\r\n this.afiseazaDivProducts = false;\r\n this.selectiiPentruMarca = null;\r\n this.selectiiPentruBody = null;\r\n this.selectiiPentruVariant = null;\r\n this.selectiiPentruWheelbase = null;\r\n this.selectiiPentruHeight = null;\r\n this.selectiiPentruTransmission = null;\r\n this.selectiiPentruProductgrup = null;\r\n this.carReference = null;\r\n this.alegerePoze = null;\r\n this.modelSelectat = undefined;\r\n }\r\n\r\n getTotalpricedealer() {\r\n if (this.dataProducts) {\r\n return this.dataProducts.map(p => p.pricedealer).reduce((a, value) => a + value, 0);\r\n }\r\n return 0;\r\n } \r\n\r\n saveOffer() {\r\n this.definireOffer = true;\r\n let newOffer = new OfferVM();\r\n newOffer.id = '0';\r\n newOffer.carId = this.carId;\r\n newOffer.status = 'A';\r\n newOffer.offerDetails = [];\r\n newOffer.offerPhotos = [];\r\n newOffer.subject = this.offer.subject;\r\n newOffer.clientName = this.offer.clientName;\r\n\r\n let mesajAvertizare = 'Subject is mandatory!';\r\n let mesajAvertizareClientName = 'Client name is mandatory!';\r\n \r\n if (this.offer.subject === '') {\r\n this.saveFailedHelper(mesajAvertizare);\r\n return;\r\n }\r\n\r\n if (this.offer.clientName === '') {\r\n this.saveFailedHelper(mesajAvertizareClientName);\r\n return;\r\n }\r\n\r\n for (let product of this.dataSelectedProducts.filter(f => f.selected === true)) {\r\n let offerDetail = new OfferDetailVM;\r\n offerDetail.productId = product.id;\r\n newOffer.offerDetails.push(offerDetail);\r\n }\r\n \r\n for (let photo of this.dataPoze.filter(poza => poza.selected === true)) {\r\n let photoDetail = new PhotoDetailVM;\r\n photoDetail.photoId = photo.id;\r\n newOffer.offerPhotos.push(photoDetail);\r\n }\r\n \r\n this.accountService.saveOffer(newOffer).subscribe(\r\n role => this.saveSuccessHelper(this.offer, `Offer saved successfully!`),\r\n error => this.saveFailedHelper(error));\r\n\r\n this.afiseazaDivLogouri = true;\r\n this.alegerePoze = false;\r\n }\r\n\r\n private saveSuccessHelper(offer?: Offer, mesaj?: string) {\r\n this.alertService.stopLoadingMessage();\r\n \r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private afiseazaPdf(product: Product) {\r\n var cautare = this.catalogLink.find(f => f.catalogReference == product.catalogreference);\r\n if (this.browserLang == \"fr\") {\r\n window.open(cautare.linkCatalogFr, '_blank');\r\n }\r\n if (this.browserLang == \"en\") {\r\n window.open(cautare.linkCatalogEn, '_blank');\r\n }\r\n if (this.browserLang == \"ar\") {\r\n window.open(cautare.linkCatalogRo, '_blank');\r\n }\r\n if (this.browserLang == \"de\") {\r\n window.open(cautare.linkCatalogNl, '_blank');\r\n }\r\n }\r\n\r\n private afiseazaPoza(product: Product) {\r\n let poza = this.carReference + \"_\" + product.productnumber + \".pdf\";\r\n window.open(poza, '_blank');\r\n }\r\n\r\n urmatorul() {\r\n this.dataSourceSelectedProducts.data = this.dataSelectedProducts;\r\n\r\n let getPhotosWitPoductGroupsViewModel = new GetPhotosWitPoductGroupsViewModel();\r\n getPhotosWitPoductGroupsViewModel.carReference = this.carReference;\r\n getPhotosWitPoductGroupsViewModel.productList = this.dataSelectedProducts;\r\n\r\n this.accountService\r\n .getPhotosWitPoductGroupsViewModel(getPhotosWitPoductGroupsViewModel)\r\n .subscribe(results => {\r\n\r\n let linii = results;\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n \r\n this.dataPoze = liniiReconverted;\r\n \r\n\r\n for (let poza of this.dataPoze) {\r\n poza.selected = false;\r\n }\r\n\r\n this.dataSourcePoze.data = this.dataPoze;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n\r\n \r\n\r\n this.alegerePoze = true;\r\n this.afiseazaDivSelectii = false;\r\n this.afiseazaDivProducts = false;\r\n }\r\n\r\n cancel1() {\r\n this.alegerePoze = false;\r\n this.afiseazaDivSelectii = true;\r\n this.afiseazaDivProducts = true;\r\n }\r\n\r\n GetPhotoUrl(poza: Poze): string {\r\n return '/' + poza.vehicleReference + \"_\" + poza.photoReference + \"_\" + poza.id + \".jpg\";\r\n }\r\n\r\n SelectPhoto(poza: Poze) {\r\n poza.selected = !poza.selected;\r\n }\r\n\r\n getDependentProductsList() {\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.dataSelectedDependentProducts) {\r\n if (product.id == selectedProduct.id) {\r\n this.listDependentProduct = false;\r\n product.selectedDependentProduct = false;\r\n product.selected = false;\r\n }\r\n }\r\n }\r\n\r\n this.dataSelectedDependentProducts.forEach((product) => {\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter(f => f.id != product.id);\r\n });\r\n \r\n this.dataSelectedDependentProducts = [];\r\n \r\n this.dataSelectedProducts.forEach((product) => {\r\n if (product.depedentProduct !== null) {\r\n let idProducts = product.depedentProduct.split('#');\r\n\r\n for (var i = 0; i <= idProducts.length; i++) {\r\n if (this.dataSourceProductsCarReference !== undefined) {\r\n let productInList = this.dataSourceProductsCarReference.find(f => f.id == idProducts[i]);\r\n if (productInList != null) {\r\n this.dataSelectedProducts.push(productInList);\r\n this.dataSelectedDependentProducts.push(productInList);\r\n productInList.selected = true;\r\n }\r\n }\r\n }\r\n\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.dataSelectedProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selected = true;\r\n }\r\n }\r\n\r\n for (let selectedProduct of this.dataSelectedDependentProducts) {\r\n if (product.id == selectedProduct.id) {\r\n this.listDependentProduct = true;\r\n product.selectedDependentProduct = true;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n this.dataSelectedDependentProducts = this.dataSelectedDependentProducts.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.dataSourceProductsDependent.data = this.dataSelectedDependentProducts;\r\n }\r\n\r\n markSelectionOfProduct(product: Product) {\r\n let currentProductInList = this.dataSelectedProducts.find(f => f.id === product.id);\r\n\r\n if (product.selected) {\r\n if (currentProductInList == null) {\r\n this.dataSelectedProducts.push(product);\r\n }\r\n }\r\n else {\r\n if (currentProductInList !== null) {\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter(obj => obj !== currentProductInList);\r\n }\r\n }\r\n this.getDependentProductsList();\r\n }\r\n\r\n private buildForm() {\r\n this.offerForm = this.formBuilder.group({\r\n tbSubject: ['', [Validators.required],]\r\n });\r\n }\r\n\r\n get tbSubject() {\r\n return this.offerForm.get('tbSubject');\r\n }\r\n \r\n showPicture(poza: Poze) {\r\n this.pozaAfisata = poza;\r\n this.popup = true;\r\n }\r\n}\r\n\r\n","module.exports = \"

{{'todoDemo.editor.NewTask' | translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{'todoDemo.editor.Name' | translate}}\\r\\n \\r\\n \\r\\n {{'todoDemo.editor.TaskNameRequired' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'todoDemo.editor.Description' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n {{'todoDemo.editor.Important' | translate}}\\r\\n\\r\\n \\r\\n
 
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29udHJvbHMvYWRkLXRhc2stZGlhbG9nLmNvbXBvbmVudC5zY3NzIn0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { ToDoTask } from './todo-demo.component';\r\n\r\n@Component({\r\n selector: 'app-add-task-dialog',\r\n templateUrl: 'add-task-dialog.component.html',\r\n styleUrls: ['add-task-dialog.component.scss']\r\n})\r\nexport class AddTaskDialogComponent\r\n{\r\n taskForm: FormGroup;\r\n\r\n get taskName()\r\n {\r\n return this.taskForm.get('taskName');\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private formBuilder: FormBuilder\r\n )\r\n {\r\n this.buildForm();\r\n }\r\n\r\n save()\r\n {\r\n if (this.taskForm.valid)\r\n {\r\n const formModel = this.taskForm.value;\r\n\r\n const newtask: ToDoTask = {\r\n name: formModel.taskName,\r\n description: formModel.description,\r\n isImportant: formModel.isImportant,\r\n isComplete: false\r\n };\r\n\r\n this.dialogRef.close(newtask);\r\n }\r\n else\r\n {\r\n this.alertService.showStickyMessage(this.translationService.getTranslation('form.ErrorCaption'), this.translationService.getTranslation('form.ErrorMessage'), MessageSeverity.error);\r\n }\r\n }\r\n\r\n cancel(): void\r\n {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n private buildForm()\r\n {\r\n this.taskForm = this.formBuilder.group({\r\n taskName: ['', Validators.required],\r\n description: '',\r\n isImportant: ''\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n {{item.caption}}\\r\\n \\r\\n Learn More\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Application uses

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

Run & Deploy

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".carousel-item {\\n position: relative; }\\n\\n.ngxcarouselPoint {\\n list-style-type: none;\\n text-align: center;\\n padding: 12px;\\n margin: 0;\\n white-space: nowrap;\\n overflow: auto;\\n position: absolute;\\n width: 100%;\\n bottom: 20px;\\n left: 0;\\n box-sizing: border-box;\\n cursor: pointer; }\\n\\n.ngxcarouselPoint li {\\n display: inline-block;\\n border-radius: 999px;\\n background: rgba(255, 255, 255, 0.55);\\n padding: 5px;\\n margin: 0 3px;\\n transition: .4s ease all; }\\n\\n.ngxcarouselPoint li.active {\\n background: white;\\n width: 10px; }\\n\\n.button {\\n position: absolute;\\n margin: auto;\\n top: 0;\\n bottom: 0;\\n width: 150px;\\n height: 100%;\\n background: none;\\n border: none;\\n opacity: 0;\\n color: white;\\n font-size: 24px;\\n font-weight: bold;\\n cursor: pointer; }\\n\\n.button:hover {\\n opacity: 1;\\n transition: opacity 1s; }\\n\\n.button:focus {\\n border: none;\\n outline: none; }\\n\\n.button.button-left {\\n background: linear-gradient(to left, transparent, rgba(0, 0, 0, 0.5));\\n left: 0; }\\n\\n.button.button-right {\\n background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.5));\\n right: 0; }\\n\\n.carousel-caption {\\n position: absolute;\\n right: 15%;\\n bottom: 20px;\\n left: 15%;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #fff;\\n text-align: center;\\n text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.6); }\\n\\n@media screen and (min-width: 768px) {\\n .carousel-caption {\\n right: 20%;\\n left: 20%;\\n padding-bottom: 30px; } }\\n\\n.img-responsive {\\n display: block;\\n max-width: 100%;\\n height: auto; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb250cm9scy9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbnRyb2xzXFxiYW5uZXItZGVtby5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsY0FBYTtFQUNiLFVBQVM7RUFDVCxvQkFBbUI7RUFDbkIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsYUFBWTtFQUNaLFFBQU87RUFDUCx1QkFBc0I7RUFDdEIsZ0JBQWUsRUFlaEI7O0FBM0JEO0lBZUksc0JBQXFCO0lBQ3JCLHFCQUFvQjtJQUNwQixzQ0FBcUM7SUFDckMsYUFBWTtJQUNaLGNBQWE7SUFDYix5QkFBd0IsRUFNekI7O0FBMUJIO01BdUJNLGtCQUFpQjtNQUNqQixZQUFXLEVBQ1o7O0FBSUw7RUFDRSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLE9BQU07RUFDTixVQUFTO0VBQ1QsYUFBWTtFQUNaLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLFdBQVU7RUFDVixhQUFZO0VBQ1osZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsZ0JBQWUsRUFxQmhCOztBQWxDRDtJQWdCSSxXQUFVO0lBQ1YsdUJBQXNCLEVBQ3ZCOztBQWxCSDtJQXFCSSxhQUFZO0lBQ1osY0FBYSxFQUNkOztBQXZCSDtJQTBCSSxzRUFBb0U7SUFDcEUsUUFBTyxFQUNSOztBQTVCSDtJQStCSSx1RUFBcUU7SUFDckUsU0FBUSxFQUNUOztBQUlIO0VBQ0UsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixhQUFZO0VBQ1osVUFBUztFQUNULFlBQVc7RUFDWCxrQkFBaUI7RUFDakIscUJBQW9CO0VBQ3BCLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsNENBQXdDLEVBT3pDOztBQUxDO0lBWkY7TUFhSSxXQUFVO01BQ1YsVUFBUztNQUNULHFCQUFvQixFQUV2QixFQUFBOztBQUVEO0VBQ0UsZUFBYztFQUNkLGdCQUFlO0VBQ2YsYUFBWSxFQUNiIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9jb250cm9scy9iYW5uZXItZGVtby5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jYXJvdXNlbC1pdGVtIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5uZ3hjYXJvdXNlbFBvaW50IHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDEycHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvdHRvbTogMjBweDtcclxuICBsZWZ0OiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBtYXJnaW46IDAgM3B4O1xyXG4gICAgdHJhbnNpdGlvbjogLjRzIGVhc2UgYWxsO1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogYXV0bztcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxNTBweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgb3BhY2l0eTogMDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICYuYnV0dG9uLWxlZnQge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIC41KSk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgJi5idXR0b24tcmlnaHQge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAuNSkpO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmNhcm91c2VsLWNhcHRpb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMTUlO1xyXG4gIGJvdHRvbTogMjBweDtcclxuICBsZWZ0OiAxNSU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuNik7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAgIHJpZ2h0OiAyMCU7XHJcbiAgICBsZWZ0OiAyMCU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi5pbWctcmVzcG9uc2l2ZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NguCarouselConfig } from '@ngu/carousel';\r\n\r\n@Component({\r\n selector: 'banner-demo',\r\n templateUrl: './banner-demo.component.html',\r\n styleUrls: ['./banner-demo.component.scss']\r\n})\r\nexport class BannerDemoComponent implements OnInit {\r\n carouselLoaded = false;\r\n carouselConfig: NguCarouselConfig;\r\n carouselItems = [\r\n {\r\n img: require(\"../../assets/images/demo/banner1.png\"),\r\n alt: \"ASP.NET\",\r\n caption: \"Learn how to build ASP.NET apps that can run anywhere\",\r\n link: \"http://go.microsoft.com/fwlink/?LinkID=525028&clcid=0x409\"\r\n },\r\n {\r\n img: require(\"../../assets/images/demo/banner2.png\"),\r\n alt: \"Visual Studio\",\r\n caption: \"One platform for building modern web, native mobile and native desktop applications\",\r\n link: \"http://angular.io\"\r\n },\r\n {\r\n img: require(\"../../assets/images/demo/banner3.png\"),\r\n alt: \"Package Management\",\r\n caption: \"Bring in libraries from NuGet and npm, and bundle with angular/cli\",\r\n link: \"http://go.microsoft.com/fwlink/?LinkID=525029&clcid=0x409\"\r\n },\r\n {\r\n img: require(\"../../assets/images/demo/banner4.png\"),\r\n alt: \"Eben Monney\",\r\n caption: \"Follow me on social media for updates and tips on using this startup project\",\r\n link: \"https://www.ebenmonney.com/about\"\r\n },\r\n ];\r\n\r\n ngOnInit() {\r\n this.carouselConfig = {\r\n grid: { xs: 1, sm: 1, md: 1, lg: 1, all: 0 },\r\n slide: 4,\r\n speed: 500,\r\n interval: { timing: 5000 },\r\n point: { visible: true },\r\n load: 2,\r\n custom: 'banner',\r\n touch: true,\r\n loop: true,\r\n easing: 'cubic-bezier(0, 0, 0.2, 1)'\r\n };\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'notifications.Date' | translate}} \\r\\n {{getPrintedDate(notification.date)}}\\r\\n \\r\\n\\r\\n \\r\\n {{'notifications.Notification' | translate}} \\r\\n {{notification.header}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".unread {\\n font-weight: bold; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb250cm9scy9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbnRyb2xzXFxub3RpZmljYXRpb25zLXZpZXdlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLGtCQUFpQixFQUNwQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29udHJvbHMvbm90aWZpY2F0aW9ucy12aWV3ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLnVucmVhZCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, TemplateRef, ViewChild, Input } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\n\r\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from \"../../services/app-translation.service\";\r\nimport { NotificationService } from \"../../services/notification.service\";\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Permission } from '../../models/permission.model';\r\nimport { Utilities } from \"../../services/utilities\";\r\nimport { Notification } from '../../models/notification.model';\r\n\r\n@Component({\r\n selector: 'notifications-viewer',\r\n templateUrl: './notifications-viewer.component.html',\r\n styleUrls: ['./notifications-viewer.component.scss']\r\n})\r\nexport class NotificationsViewerComponent implements OnInit, OnDestroy {\r\n displayedColumns = ['date', 'header', 'actions'];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n loadingIndicator: boolean;\r\n\r\n dataLoadingConsecutiveFailures = 0;\r\n dataLoadingSubscription: any;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private notificationService: NotificationService,\r\n private snackBar: MatSnackBar\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.initDataLoading();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.dataLoadingSubscription) {\r\n this.dataLoadingSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n initDataLoading() {\r\n this.loadingIndicator = true;\r\n\r\n let dataLoadTask = this.notificationService.getNewNotificationsPeriodically()\r\n\r\n this.dataLoadingSubscription = dataLoadTask\r\n .subscribe(notifications => {\r\n this.loadingIndicator = false;\r\n this.dataLoadingConsecutiveFailures = 0;\r\n\r\n this.dataSource.data = notifications;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showMessage(\"Load Error\", \"Loading new notifications from the server failed!\", MessageSeverity.warn);\r\n this.alertService.logError(error);\r\n\r\n if (this.dataLoadingConsecutiveFailures++ < 5) {\r\n setTimeout(() => this.initDataLoading(), 5000);\r\n }\r\n else {\r\n this.alertService.showStickyMessage(\"Load Error\", \"Loading new notifications from the server failed!\", MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n getPrintedDate(value: Date) {\r\n if (value) {\r\n return Utilities.printTimeOnly(value) + \" on \" + Utilities.printDateOnly(value);\r\n }\r\n }\r\n\r\n confirmDelete(notification: Notification) {\r\n this.snackBar.open(`Delete ${notification.header}?`, 'DELETE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage(\"Deleting...\");\r\n this.loadingIndicator = true;\r\n\r\n this.notificationService.deleteNotification(notification)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = this.dataSource.data.filter(item => item.id != notification.id)\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(\"Delete Error\", `An error occured whilst deleting the notification.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n togglePin(row: Notification) {\r\n let pin = !row.isPinned;\r\n let opText = pin ? \"Pinning\" : \"Unpinning\";\r\n\r\n this.alertService.startLoadingMessage(opText + \"...\");\r\n this.loadingIndicator = true;\r\n\r\n this.notificationService.pinUnpinNotification(row, pin)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n row.isPinned = pin;\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(opText + \" Error\", `An error occured whilst ${opText} the notification.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n get canManageNotifications() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission);\r\n }\r\n}\r\n","module.exports = \"\\r\\n Companie {{ detaliuCircuit.nrCrt }}\\r\\n \\r\\n \\r\\n \\r\\n {{ companie.denumire }} - {{ companie.cif }}\\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 800px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb250cm9scy9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbnRyb2xzXFxzZWxlY3RlYXphQ29tcGFuaWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLFlBQVcsRUFDWjs7QUFFRDtFQUNFLFlBQVcsRUFDWiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29udHJvbHMvc2VsZWN0ZWF6YUNvbXBhbmllLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZm9ybSB7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, EventEmitter, Output } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\n\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { debounceTime, distinctUntilChanged, switchMap, catchError } from 'rxjs/operators';\r\nimport { AppTranslationService } from \"../../services/app-translation.service\";\r\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\r\nimport { Utilities } from \"../../services/utilities\";\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AccountService } from \"../../services/account.service\";\r\n\r\nimport { of } from 'rxjs';\r\nimport { Companie } from 'src/app/models/companie.model';\r\nimport { DetaliuCircuit } from 'src/app/models/DetaliuCircuit.model';\r\n\r\n@Component({\r\n selector: 'selecteazaCompanie',\r\n templateUrl: './selecteazaCompanie.component.html',\r\n styleUrls: ['./selecteazaCompanie.component.scss']\r\n})\r\n\r\nexport class SelecteazaCompanieComponent\r\n{\r\n companiiCautate: Companie[];\r\n \r\n tbCompanie1Autocomplete = new FormControl();\r\n\r\n @Input() detaliuCircuit: DetaliuCircuit;\r\n @Output() detaliuCircuitChanged = new EventEmitter();\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService\r\n ) {\r\n\r\n }\r\n\r\n getCompanie(event: any) {\r\n let searchTerm = '';\r\n searchTerm += event.target.value;\r\n\r\n if (searchTerm.length >= 2) {\r\n this.retriveListOfCompanii();\r\n }\r\n }\r\n\r\n retriveListOfCompanii() {\r\n this.tbCompanie1Autocomplete\r\n .valueChanges\r\n .pipe(debounceTime(300),\r\n distinctUntilChanged(),\r\n switchMap(term => this.accountService.getCompaniiReprezentateListForAutocomplete(term)),\r\n catchError(error => {\r\n return of([]);\r\n })\r\n )\r\n .subscribe((result) => {\r\n if (result != null) {\r\n if (result.length > 0) {\r\n let liniiReconverted = JSON.parse(JSON.stringify(result[0]));\r\n this.companiiCautate = liniiReconverted;\r\n }\r\n }\r\n });\r\n }\r\n\r\n save() {\r\n\r\n }\r\n\r\n selecteazaCompanie(companie: Companie) {\r\n this.tbCompanie1Autocomplete.setValue(companie.denumire);\r\n\r\n this.detaliuCircuit.denumire = companie.denumire;\r\n this.detaliuCircuit.cif = companie.cif;\r\n this.detaliuCircuit.companieId = companie.id;\r\n\r\n this.detaliuCircuitChanged.emit(companie);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{label}}
{{d && d.label.split(' ').pop()}}{{d && d.data[j]}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \".chart-container {\\n display: block; }\\n\\n.demo-table {\\n border-collapse: collapse;\\n border-spacing: 0;\\n width: 100%; }\\n\\n.demo-table > tbody > tr > td,\\n.demo-table > tbody > tr > th,\\n.demo-table > tfoot > tr > td,\\n.demo-table > tfoot > tr > th,\\n.demo-table > thead > tr > td,\\n.demo-table > thead > tr > th {\\n padding: 8px;\\n line-height: 1.4285;\\n vertical-align: top;\\n border-top: 1px solid #ddd;\\n text-align: left; }\\n\\n.demo-table > thead:first-child > tr:first-child > td,\\n.demo-table > thead:first-child > tr:first-child > th {\\n border-top: 0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb250cm9scy9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbnRyb2xzXFxzdGF0aXN0aWNzLWRlbW8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxlQUFjLEVBQ2pCOztBQUVEO0VBQ0ksMEJBQXlCO0VBQ3pCLGtCQUFpQjtFQUNqQixZQUFXLEVBQ2Q7O0FBRUQ7Ozs7OztFQU1JLGFBQVk7RUFDWixvQkFBbUI7RUFDbkIsb0JBQW1CO0VBQ25CLDJCQUEwQjtFQUMxQixpQkFBZ0IsRUFDbkI7O0FBRUQ7O0VBRUksY0FBYSxFQUNoQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29udHJvbHMvc3RhdGlzdGljcy1kZW1vLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi5jaGFydC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5kZW1vLXRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZGVtby10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcclxuLmRlbW8tdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXHJcbi5kZW1vLXRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLFxyXG4uZGVtby10YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcclxuLmRlbW8tdGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXHJcbi5kZW1vLXRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uZGVtby10YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcclxuLmRlbW8tdGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ObservableMedia, MediaChange } from '@angular/flex-layout';\r\nimport { AlertService, DialogType, AlertMessage, MessageSeverity } from '../../services/alert.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\nrequire('chart.js');\r\n\r\n@Component({\r\n selector: 'statistics-demo',\r\n templateUrl: './statistics-demo.component.html',\r\n styleUrls: ['./statistics-demo.component.scss']\r\n})\r\nexport class StatisticsDemoComponent implements OnInit, OnDestroy {\r\n\r\n chartData = [\r\n { data: [65, 59, 80, 81, 56, 55], label: 'Series A' },\r\n { data: [28, 48, 40, 19, 86, 27], label: 'Series B' },\r\n { data: [18, 48, 77, 9, 100, 27], label: 'Series C' }\r\n ];\r\n chartLabels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'];\r\n chartOptions = {\r\n responsive: true,\r\n title: {\r\n display: false,\r\n fontSize: 16,\r\n text: 'Important Stuff'\r\n }\r\n };\r\n chartColors = [\r\n { // grey\r\n backgroundColor: 'rgba(148,159,177,0.2)',\r\n borderColor: 'rgba(148,159,177,1)',\r\n pointBackgroundColor: 'rgba(148,159,177,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\r\n },\r\n { // dark grey\r\n backgroundColor: 'rgba(77,83,96,0.2)',\r\n borderColor: 'rgba(77,83,96,1)',\r\n pointBackgroundColor: 'rgba(77,83,96,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n },\r\n { // something else\r\n backgroundColor: 'rgba(128,128,128,0.2)',\r\n borderColor: 'rgba(128,128,128,1)',\r\n pointBackgroundColor: 'rgba(128,128,128,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(128,128,128,0.8)'\r\n }\r\n ];\r\n chartLegend = true;\r\n chartType = 'line';\r\n\r\n timerReference: any;\r\n mediaQuerySub: Subscription;\r\n\r\n\r\n constructor(private alertService: AlertService, private mediaQuery: ObservableMedia) {\r\n }\r\n\r\n ngOnInit() {\r\n this.timerReference = setInterval(() => this.randomize(), 5000);\r\n\r\n this.mediaQuerySub = this.mediaQuery.asObservable().subscribe(change => this.chartLegend = change.mqAlias == \"xs\" ? false : true);\r\n }\r\n\r\n ngOnDestroy() {\r\n clearInterval(this.timerReference);\r\n this.mediaQuerySub.unsubscribe();\r\n }\r\n\r\n randomize(): void {\r\n let _chartData = new Array(this.chartData.length);\r\n for (let i = 0; i < this.chartData.length; i++) {\r\n _chartData[i] = { data: new Array(this.chartData[i].data.length), label: this.chartData[i].label };\r\n\r\n for (let j = 0; j < this.chartData[i].data.length; j++) {\r\n _chartData[i].data[j] = Math.floor((Math.random() * 100) + 1);\r\n }\r\n }\r\n\r\n this.chartData = _chartData;\r\n }\r\n\r\n changeChartType(type: string) {\r\n this.chartType = type;\r\n }\r\n\r\n showMessage(msg: string): void {\r\n this.alertService.showMessage(\"Demo\", msg, MessageSeverity.info);\r\n }\r\n\r\n showDialog(msg: string): void {\r\n this.alertService.showDialog('Configure Chart', msg, DialogType.prompt, (val) => this.configure(true, val), () => this.configure(false), 'Ok', 'Cancel', 'Default');\r\n }\r\n\r\n configure(response: boolean, value?: string) {\r\n\r\n if (response) {\r\n\r\n this.alertService.showStickyMessage(\"Simulating...\", \"\", MessageSeverity.wait);\r\n\r\n setTimeout(() => {\r\n\r\n this.alertService.resetStickyMessage();\r\n this.alertService.showMessage(\"Demo\", `Your settings was successfully configured to \\\"${value}\\\"`, MessageSeverity.success);\r\n }, 2000);\r\n }\r\n else {\r\n this.alertService.showMessage(\"Demo\", \"Operation cancelled by user\", MessageSeverity.default);\r\n }\r\n }\r\n\r\n chartClicked(e): void {\r\n console.log(e);\r\n }\r\n\r\n chartHovered(e): void {\r\n console.log(e);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{'todoDemo.management.HideCompleted' | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'todoDemo.management.Task' | translate}} \\r\\n {{task.name}} \\r\\n \\r\\n\\r\\n \\r\\n {{'todoDemo.management.Description' | translate}} \\r\\n {{task.description}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".mat-column-select {\\n overflow: visible; }\\n\\n.completed {\\n text-decoration: line-through; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb250cm9scy9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGNvbnRyb2xzXFx0b2RvLWRlbW8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBaUIsRUFDcEI7O0FBRUQ7RUFDSSw4QkFBNkIsRUFDaEMiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2NvbnRyb2xzL3RvZG8tZGVtby5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtY29sdW1uLXNlbGVjdCB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLmNvbXBsZXRlZCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufSJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\n\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AppTranslationService } from \"../../services/app-translation.service\";\r\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\r\nimport { Utilities } from \"../../services/utilities\";\r\n\r\nimport { AddTaskDialogComponent } from './add-task-dialog.component';\r\n\r\nexport interface ToDoTask\r\n{\r\n name: string,\r\n description: string,\r\n isImportant: boolean,\r\n isComplete: boolean,\r\n}\r\n\r\n@Component({\r\n selector: 'todo-demo',\r\n templateUrl: './todo-demo.component.html',\r\n styleUrls: ['./todo-demo.component.scss']\r\n})\r\nexport class TodoDemoComponent implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n public static readonly DBKeyTodoDemo = \"todo-demo.todo_list\";\r\n\r\n displayedColumns = ['select', 'name', 'description', 'actions'];\r\n dataSource: MatTableDataSource;\r\n completedTasks: SelectionModel;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n taskEdit: ToDoTask;\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n _hideCompletedTasks: boolean = false;\r\n\r\n get currentUserId()\r\n {\r\n if (this.authService.currentUser)\r\n {\r\n this._currentUserId = this.authService.currentUser.id;\r\n }\r\n\r\n return this._currentUserId;\r\n }\r\n\r\n get areAllTasksComplete(): boolean\r\n {\r\n return this.completedTasks.selected.length == this.dataSource.data.length;\r\n }\r\n\r\n get hideCompletedTasks()\r\n {\r\n return this._hideCompletedTasks;\r\n }\r\n set hideCompletedTasks(value: boolean)\r\n {\r\n this._hideCompletedTasks = value;\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private localStorage: LocalStoreManager,\r\n private authService: AuthService,\r\n private snackBar: MatSnackBar,\r\n public dialog: MatDialog\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.completedTasks = new SelectionModel(true, []);\r\n }\r\n\r\n ngOnInit()\r\n {\r\n this.loadingIndicator = true;\r\n\r\n this.fetch((data) =>\r\n {\r\n this.dataSource.data = data;\r\n this.completedTasks = new SelectionModel(true, data.filter(x => x.isComplete));\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n });\r\n }\r\n\r\n ngAfterViewInit()\r\n {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data, filter) => this.filterData(data, filter);\r\n }\r\n\r\n ngOnDestroy()\r\n {\r\n this.saveToDisk();\r\n }\r\n\r\n toggleCompletedTasks()\r\n {\r\n this.hideCompletedTasks = !this.hideCompletedTasks;\r\n this.refresh();\r\n }\r\n\r\n refresh()\r\n {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n toggleAllTasksComplete()\r\n {\r\n if (this.areAllTasksComplete)\r\n {\r\n this.completedTasks.clear();\r\n this.dataSource.data.forEach(task =>\r\n {\r\n task.isComplete = false;\r\n });\r\n }\r\n else\r\n {\r\n this.dataSource.data.forEach(task =>\r\n {\r\n task.isComplete = true;\r\n this.completedTasks.select(task)\r\n });\r\n }\r\n }\r\n\r\n toggleTaskComplete(task: ToDoTask)\r\n {\r\n task.isComplete = !task.isComplete;\r\n this.completedTasks.select(task);\r\n }\r\n\r\n applyFilter(filterValue: string)\r\n {\r\n if (filterValue.length < 1)\r\n {\r\n filterValue = ' '\r\n }\r\n\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n fetch(cb)\r\n {\r\n let data = this.getFromDisk()\r\n\r\n if (data == null)\r\n {\r\n setTimeout(() =>\r\n {\r\n data = this.getFromDisk();\r\n\r\n if (data == null)\r\n {\r\n data = [\r\n {\r\n isComplete: true,\r\n isImportant: true,\r\n name: \"Create visual studio extension\",\r\n description: \"Create a visual studio VSIX extension package that will add this project as an aspnet-core project template\"\r\n },\r\n {\r\n isComplete: false,\r\n isImportant: true,\r\n name: \"Do a quick how-to writeup\",\r\n description: \"\"\r\n },\r\n {\r\n isComplete: false,\r\n isImportant: false,\r\n name: \"Create aspnet-core/angular7 tutorials based on this project\",\r\n description: \"Create tutorials (blog/video/youtube) on how to build applications (full stack)\" +\r\n \" using aspnet-core/angular7. The tutorial will focus on getting productive with the technology right away rather than the details on how and why they work so audience can get onboard quickly.\"\r\n },\r\n ];\r\n }\r\n\r\n cb(data);\r\n }, 1000);\r\n }\r\n else\r\n {\r\n cb(data);\r\n }\r\n }\r\n\r\n showErrorAlert(caption: string, message: string)\r\n {\r\n this.alertService.showMessage(caption, message, MessageSeverity.error);\r\n }\r\n\r\n addTask()\r\n {\r\n let dialogRef = this.dialog.open(AddTaskDialogComponent,\r\n {\r\n panelClass: 'mat-dialog-sm',\r\n });\r\n dialogRef.afterClosed().subscribe(newTask =>\r\n {\r\n if (newTask)\r\n {\r\n this.dataSource.data.push(newTask);\r\n this.refresh()\r\n this.saveToDisk();\r\n }\r\n });\r\n }\r\n\r\n confirmDelete(task)\r\n {\r\n this.snackBar.open(\"Delete the task?\", \"DELETE\", { duration: 5000 })\r\n .onAction().subscribe(() =>\r\n {\r\n this.dataSource.data = this.dataSource.data.filter(item => item !== task)\r\n this.saveToDisk();\r\n });\r\n }\r\n\r\n getFromDisk()\r\n {\r\n return this.localStorage.getDataObject(`${TodoDemoComponent.DBKeyTodoDemo}:${this.currentUserId}`);\r\n }\r\n\r\n saveToDisk()\r\n {\r\n if (this.isDataLoaded)\r\n {\r\n this.localStorage.saveSyncedSessionData(this.dataSource.data, `${TodoDemoComponent.DBKeyTodoDemo}:${this.currentUserId}`);\r\n }\r\n }\r\n\r\n private filterData(task: ToDoTask, filter: string) : boolean\r\n {\r\n return !(task.isComplete && this.hideCompletedTasks) && Utilities.searchArray(filter, false, task.name, task.description);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Definire date cont\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n First name\\r\\n \\r\\n \\r\\n Please introduce your first name!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Last name\\r\\n \\r\\n \\r\\n Please introduce your last name!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n City\\r\\n \\r\\n \\r\\n Please introduce your city!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Address\\r\\n \\r\\n \\r\\n Please introduce your address!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Phone\\r\\n \\r\\n \\r\\n Please introduce your phone!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Account status: To be approved\\r\\n
\\r\\n
\\r\\n Account status: Approved\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Documents\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 800px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jb250dWxtZXUvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxjb21wb25lbnRzXFxjb250dWxtZXVcXGNvbnR1bG1ldS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsOERBQThEO0VBQzlELDBCQUF5QjtFQUN6QixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1QkFBc0I7RUFDdEIsYUFBWSxFQUNiOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEOzs7O0lBSUk7O0FBRUo7RUFHRSwwQkFBeUI7RUFDekIsYUFBWTtFQUNaLG1CQUFrQixFQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY29udHVsbWV1L2NvbnR1bG1ldS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWZvcm0ge1xyXG4gIG1pbi13aWR0aDogNDAwcHg7XHJcbiAgbWF4LXdpZHRoOiA4MDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmV4YW1wbGUtZnVsbC13aWR0aCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwge1xyXG4gIC8qZm9udC1mYW1pbHk6IFwiVHJlYnVjaGV0IE1TXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRkLCAuc3RpbFRhYmVsIHRoIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gIHBhZGRpbmc6IDhweDtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XHJcbn1cclxuXHJcbi8qXHJcbi5zdGlsVGFiZWwgdHI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbn1cclxuICAqL1xyXG5cclxuLnN0aWxUYWJlbCB0aCB7XHJcbiAgLy9wYWRkaW5nLXRvcDogMTJweDtcclxuICAvL3BhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4iXX0= */\"","FileSaver// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { ContulMeu } from 'src/app/models/contulMeu.model';\r\nimport * as FileSaver from 'file-saver'; \r\n\r\n@Component({\r\n selector: 'contulmeu',\r\n templateUrl: './contulmeu.component.html',\r\n styleUrls: ['./contulmeu.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class ContulMeuComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n reprezentareForm: FormGroup;\r\n contulMeu: ContulMeu;\r\n \r\n afuConfig = {\r\n uploadAPI: {\r\n url: \"https://example-file-upload-api\"\r\n }\r\n };\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.contulMeu = new ContulMeu();\r\n this.afiseazaDateDinContulMeu();\r\n }\r\n\r\n afiseazaDateDinContulMeu() {\r\n this.accountService\r\n .getUserContulMeu()\r\n .subscribe(result => {\r\n \r\n this.contulMeu = result;\r\n\r\n //console.log(this.contulMeu);\r\n\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n save() {\r\n if (this.reprezentareForm.valid) {\r\n this.accountService.newContulMeu(this.contulMeu).subscribe(\r\n role => this.saveSuccessHelper(this.contulMeu),\r\n error => this.saveFailedHelper(error));\r\n }\r\n else {\r\n \r\n }\r\n }\r\n\r\n private saveSuccessHelper(contulMeu?: ContulMeu) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", `Personal information saved successfully!`, MessageSeverity.success);\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors in saving process: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.reprezentareForm = this.formBuilder.group({\r\n tbNume: ['', Validators.required],\r\n tbPrenume: ['', Validators.required],\r\n //tbCNP: ['', Validators.required],\r\n //tbDocument: ['', Validators.required],\r\n tbLocalitate: ['', Validators.required],\r\n tbAdresa: ['', Validators.required],\r\n //tbBanca: ['', Validators.required],\r\n //tbContBancar: ['', Validators.required],\r\n tbTelefon: ['', Validators.required],\r\n tbStare: new FormControl({ value: '' })\r\n });\r\n }\r\n\r\n get tbNume() {\r\n return this.reprezentareForm.get('tbNume');\r\n }\r\n\r\n get tbPrenume() {\r\n return this.reprezentareForm.get('tbPrenume');\r\n }\r\n\r\n get tbCNP() {\r\n return this.reprezentareForm.get('tbCNP');\r\n }\r\n\r\n get tbDocument() {\r\n return this.reprezentareForm.get('tbDocument');\r\n }\r\n\r\n get tbLocalitate() {\r\n return this.reprezentareForm.get('tbLocalitate');\r\n }\r\n\r\n get tbAdresa() {\r\n return this.reprezentareForm.get('tbAdresa');\r\n }\r\n\r\n //get tbBanca() {\r\n // return this.reprezentareForm.get('tbBanca');\r\n //}\r\n\r\n //get tbContBancar() {\r\n // return this.reprezentareForm.get('tbContBancar');\r\n //}\r\n\r\n get tbTelefon() {\r\n return this.reprezentareForm.get('tbTelefon');\r\n }\r\n\r\n get tbStare() {\r\n return this.reprezentareForm.get('tbStare');\r\n }\r\n \r\n private cancel() {\r\n\r\n }\r\n\r\n handleFileInputCI(files: FileList) {\r\n this.contulMeu.documentCI = files.item(0);\r\n }\r\n\r\n incarcaFisierCI() {\r\n if (this.contulMeu.documentCI == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Error on uploading file\", \"File not selected!\", MessageSeverity.error);\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', this.contulMeu.documentCI, this.contulMeu.documentCI.name);\r\n\r\n this.accountService.uploadFisierDocumentCI(this.contulMeu.id, formData).subscribe((result) => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"File Upload\", \"File successfully uploaded!\", MessageSeverity.success);\r\n this.afiseazaDateDinContulMeu();\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Error on upload\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n\r\n descarcaFisierCI() {\r\n this.accountService.downloadDocCI(this.contulMeu.id.toString()).subscribe(result => {\r\n let blob = new Blob(result, {\r\n type: 'application/pdf' // must match the Accept type\r\n });\r\n\r\n let filename = 'CI_' + this.contulMeu.id + '.pdf';\r\n FileSaver.saveAs(blob, filename);\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\"","module.exports = \".close {\\n margin-bottom: -40px;\\n position: relative;\\n z-index: 1; }\\n\\n.bottom-space {\\n margin-bottom: 2em; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9ob21lL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcY29tcG9uZW50c1xcaG9tZVxcaG9tZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHFCQUFvQjtFQUNwQixtQkFBa0I7RUFDbEIsV0FBVSxFQUNiOztBQUVEO0VBQ0ksbUJBQWtCLEVBQ3JCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9ob21lL2hvbWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2xvc2Uge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uYm90dG9tLXNwYWNlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxufSJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { Router } from '@angular/router';\r\nimport { AccountService } from 'src/app/services/account.service';\r\nimport { Permission } from 'src/app/models/permission.model';\r\n\r\n@Component({\r\n selector: 'home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class HomeComponent\r\n{\r\n constructor(\r\n public configurations: ConfigurationService,\r\n private router: Router,\r\n private accountService: AccountService)\r\n {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n if (this.canViewUsers) {\r\n this.router.navigate(['/companiereprezentari']);\r\n }\r\n else {\r\n this.router.navigate(['/contulmeu']);\r\n }\r\n }\r\n\r\n get canViewUsers() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \".app-login-form .mat-form-field {\\n width: 100%;\\n margin-bottom: 0.5em; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGxvZ2luXFxsb2dpbi1jb250cm9sLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksWUFBVztFQUNYLHFCQUFvQixFQUN2QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbG9naW4vbG9naW4tY29udHJvbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtbG9naW4tZm9ybSAubWF0LWZvcm0tZmllbGQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxufSJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, Input, Output, ViewChild, EventEmitter } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { UserLogin } from '../../models/user-login.model';\r\n\r\n@Component({\r\n selector: \"app-login-control\",\r\n templateUrl: './login-control.component.html',\r\n styleUrls: ['./login-control.component.scss']\r\n})\r\nexport class LoginControlComponent implements OnInit, OnDestroy {\r\n isLoading = false;\r\n formResetToggle = true;\r\n modalClosedCallback: () => void;\r\n loginStatusSubscription: any;\r\n\r\n loginForm: FormGroup;\r\n\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n @Input()\r\n isModal = false;\r\n\r\n @Output()\r\n enterKeyPress = new EventEmitter();\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private authService: AuthService,\r\n private configurations: ConfigurationService,\r\n private formBuilder: FormBuilder) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.loginForm.setValue({\r\n userName: '',\r\n password: '',\r\n rememberMe: this.authService.rememberMe\r\n });\r\n\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n }\r\n else {\r\n this.loginStatusSubscription = this.authService.getLoginStatusEvent()\r\n .subscribe(isLoggedIn => {\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.loginStatusSubscription) {\r\n this.loginStatusSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n buildForm() {\r\n this.loginForm = this.formBuilder.group({\r\n userName: ['', Validators.required],\r\n password: ['', Validators.required],\r\n rememberMe: ''\r\n });\r\n }\r\n\r\n get userName() { return this.loginForm.get('userName'); }\r\n\r\n get password() { return this.loginForm.get('password'); }\r\n\r\n getShouldRedirect() {\r\n return !this.isModal && this.authService.isLoggedIn && !this.authService.isSessionExpired;\r\n }\r\n\r\n closeModal() {\r\n if (this.modalClosedCallback) {\r\n this.modalClosedCallback();\r\n }\r\n }\r\n\r\n getUserLogin(): UserLogin {\r\n const formModel = this.loginForm.value;\r\n return new UserLogin(formModel.userName, formModel.password, formModel.rememberMe);\r\n }\r\n\r\n login() {\r\n if (!this.form.submitted) {\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.loginForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage(\"\", \"Attempting login...\");\r\n\r\n this.authService.login(this.getUserLogin())\r\n .subscribe(\r\n user => {\r\n setTimeout(() => {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.reset();\r\n\r\n if (!this.isModal) {\r\n this.alertService.showMessage(\"Login\", `Welcome ${user.userName}!`, MessageSeverity.success);\r\n }\r\n else {\r\n this.alertService.showMessage(\"Login\", `Session for ${user.userName} restored!`, MessageSeverity.success);\r\n setTimeout(() => {\r\n this.alertService.showStickyMessage(\"Session Restored\", \"Please try your last operation again\", MessageSeverity.default);\r\n }, 500);\r\n\r\n this.closeModal();\r\n }\r\n }, 500);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n\r\n if (Utilities.checkNoNetwork(error)) {\r\n this.alertService.showStickyMessage(Utilities.noNetworkMessageCaption, Utilities.noNetworkMessageDetail, MessageSeverity.error, error);\r\n this.offerAlternateHost();\r\n }\r\n else {\r\n let errorMessage = Utilities.findHttpResponseMessage(\"error_description\", error) || Utilities.findHttpResponseMessage(\"error\", error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage(\"Unable to login\", this.mapLoginErrorMessage(errorMessage), MessageSeverity.error, error);\r\n }\r\n else {\r\n this.alertService.showStickyMessage(\"Unable to login\", \"An error occured, please try again later.\\nError: \" + Utilities.getResponseBody(error), MessageSeverity.error, error);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 500);\r\n });\r\n }\r\n\r\n\r\n offerAlternateHost() {\r\n\r\n if (Utilities.checkIsLocalHost(location.origin) && Utilities.checkIsLocalHost(this.configurations.baseUrl)) {\r\n\r\n var apiUrl = prompt(\"Dear Developer!\\nIt appears your backend Web API service is not running...\\n\" +\r\n \"Would you want to temporarily switch to the online Demo API below?(Or specify another)\", this.configurations.fallbackBaseUrl);\r\n\r\n if (apiUrl) {\r\n this.configurations.baseUrl = apiUrl;\r\n this.configurations.tokenUrl = apiUrl;\r\n this.alertService.showStickyMessage(\"API Changed!\", \"The target Web API has been changed to: \" + apiUrl, MessageSeverity.warn);\r\n }\r\n }\r\n }\r\n\r\n\r\n mapLoginErrorMessage(error: string) {\r\n\r\n if (error == 'invalid_username_or_password')\r\n return 'Invalid username or password';\r\n\r\n if (error == 'invalid_grant')\r\n return 'This account has been disabled';\r\n\r\n return error;\r\n }\r\n\r\n reset() {\r\n this.formResetToggle = false;\r\n\r\n setTimeout(() => {\r\n this.formResetToggle = true;\r\n });\r\n }\r\n\r\n enterKeyDown() {\r\n this.enterKeyPress.emit();\r\n }\r\n}\r\n","module.exports = \"

{{'mainMenu.Login' | translate}}

\\r\\n

Inregistrare utilizator

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbG9naW4vbG9naW4tZGlhbG9nLmNvbXBvbmVudC5zY3NzIn0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, AfterViewInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\nimport { LoginControlComponent } from './login-control.component';\r\nimport { UserRegisterComponent } from '../../admin/user-register.component';\r\n\r\n@Component({\r\n selector: 'app-login-dialog',\r\n templateUrl: 'login-dialog.component.html',\r\n styleUrls: ['login-dialog.component.scss']\r\n})\r\nexport class LoginDialogComponent\r\n{\r\n showRegisterDialogVariable: boolean = false;\r\n\r\n @ViewChild(LoginControlComponent)\r\n loginControl: LoginControlComponent;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngAfterViewInit()\r\n {\r\n this.loginControl.modalClosedCallback = () => this.dialogRef.close(true);\r\n }\r\n\r\n onCancel(): void\r\n {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n showRegisterDialog() {\r\n this.showRegisterDialogVariable = true;\r\n }\r\n\r\n onCancelRegister(): void {\r\n this.showRegisterDialogVariable = false;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n {{'mainMenu.Login' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Register user\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Password recovery\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@media (min-width: 768px) {\\n .login-container {\\n width: 700px; } }\\n\\n@media (min-width: 1200px) {\\n .login-container {\\n width: 730px; } }\\n\\nmat-spinner {\\n display: inline-block;\\n margin-right: 16px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGxvZ2luXFxsb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJO0lBQ0ksYUFBWSxFQUNmLEVBQUE7O0FBR0w7RUFDSTtJQUNJLGFBQVksRUFDZixFQUFBOztBQUdMO0VBQ0ksc0JBQXFCO0VBQ3JCLG1CQUFrQixFQUNyQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgIC5sb2dpbi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA3MDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgLmxvZ2luLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDczMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5tYXQtc3Bpbm5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbn0iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild } from \"@angular/core\";\r\nimport { LoginControlComponent } from './login-control.component';\r\nimport { UserRegisterComponent } from '../../admin/user-register.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { User } from '../../models/user.model';\r\nimport { UserPasswordComponent } from \"src/app/admin/user-password.component\";\r\n\r\n@Component({\r\n selector: \"app-login\",\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent\r\n{\r\n ascundeLogin: boolean = false;\r\n ascundeInregistrare: boolean = true;\r\n ascundeRecuperare: boolean = true;\r\n\r\n @ViewChild(LoginControlComponent)\r\n loginControl: LoginControlComponent;\r\n\r\n @ViewChild(UserRegisterComponent)\r\n userRegisterComponent: UserRegisterComponent;\r\n\r\n @ViewChild(UserPasswordComponent)\r\n passwordComponent: UserPasswordComponent;\r\n\r\n confirm: string;\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private route: ActivatedRoute) {\r\n this.route.queryParams.subscribe(params => {\r\n this.confirm = params['confirm'];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.confirm != null) {\r\n this.accountService.confirmUser(this.confirm).subscribe(\r\n user => this.saveCompleted(user),\r\n error => this.saveFailed(error));\r\n };\r\n }\r\n\r\n private saveCompleted(user?: User) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Success\", `User account ` + user.userName + ` successfully confirmed!`, MessageSeverity.success);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"One or more errors occured whilst saving your changes:\", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n showRegisterDialog() {\r\n this.ascundeLogin = true;\r\n this.ascundeInregistrare = false;\r\n this.ascundeRecuperare = true;\r\n }\r\n \r\n onCancelRegister(): void {\r\n this.ascundeLogin = false;\r\n this.ascundeInregistrare = true;\r\n this.ascundeRecuperare = true;\r\n }\r\n\r\n inregistrareUtilizator() {\r\n this.userRegisterComponent.save();\r\n this.ascundeLogin = false;\r\n this.ascundeInregistrare = true;\r\n this.ascundeRecuperare = true;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.userRegisterComponent.userSaved$.subscribe(user => {\r\n this.ascundeLogin = false;\r\n this.ascundeInregistrare = true;\r\n this.ascundeRecuperare = true;\r\n });\r\n }\r\n\r\n recuperareParola() {\r\n this.passwordComponent.save();\r\n this.ascundeLogin = false;\r\n this.ascundeInregistrare = true;\r\n this.ascundeRecuperare = true;\r\n }\r\n\r\n showDialogRecuperareParola() {\r\n this.ascundeLogin = true;\r\n this.ascundeInregistrare = true;\r\n this.ascundeRecuperare = false;\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n map\\r\\n

{{'notFound.404' | translate}}

\\r\\n
\\r\\n

{{'notFound.pageNotFound' | translate}}

\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQuc2NzcyJ9 */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class NotFoundComponent\r\n{\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Initial date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Final date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Offer ID \\r\\n {{offer.id}}\\r\\n \\r\\n\\r\\n \\r\\n Date \\r\\n {{offer.createdDate}}\\r\\n \\r\\n\\r\\n \\r\\n Car \\r\\n {{offer.car.make + \\\" , \\\" + offer.car.model + \\\" , \\\" + offer.car.body + \\\" , \\\" + offer.car.variant + \\\" , \\\" + offer.car.wheelbase + \\\" , \\\" + offer.car.height + \\\" , \\\" + offer.car.transmission}}\\r\\n \\r\\n\\r\\n \\r\\n User \\r\\n {{offer.user}}\\r\\n \\r\\n\\r\\n \\r\\n Companie \\r\\n {{offer.companie.denumire}}\\r\\n \\r\\n\\r\\n \\r\\n Subject \\r\\n {{offer.subject}}\\r\\n \\r\\n\\r\\n \\r\\n Client name \\r\\n {{offer.clientName}}\\r\\n \\r\\n\\r\\n \\r\\n Reference \\r\\n {{offer.car.modelAccess}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Car\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Vehicle Reference\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n User Name\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Companie\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Subject\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Client name\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n      \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Vehicle Reference \\r\\n {{offerDetails.product.vehicleReference}}\\r\\n \\r\\n\\r\\n \\r\\n Product Group \\r\\n \\r\\n {{offerDetails.product.productgrup}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n {{offerDetails.product.productnumber}}\\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{offerDetails.product.description}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{offerDetails.product.descriptionfr}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{offerDetails.product.descriptionen}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{offerDetails.product.descriptionro}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Dealer (EUR)\\r\\n \\r\\n {{offerDetails.pricedealer | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n \\r\\n {{offerDetails.pricefinalcustomer | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Vehicle Reference \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n\\r\\n \\r\\n Product Group \\r\\n \\r\\n {{product.productgrup}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n {{product.productnumber}}\\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.description}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionfr}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionen}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionro}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Dealer (EUR)\\r\\n \\r\\n {{product.pricedealerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n \\r\\n {{product.pricefinalcustomerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n Products linked to the realised selections\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n Vehicle Reference \\r\\n \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Product Group\\r\\n \\r\\n \\r\\n {{product.productgrup}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n \\r\\n {{product.productnumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionfr}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionen}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description \\r\\n \\r\\n {{product.descriptionro}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Dealer (EUR)\\r\\n \\r\\n {{product.pricedealerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n \\r\\n {{product.pricefinalcustomerCustomized | number:'.2-2'}} €\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n       \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Report generation type\\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n       \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%;\\n padding-left: 25px; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\nmat-row {\\n min-height: 30px; }\\n\\nmat-cell {\\n font-size: 12px;\\n padding: 8px 8px 8px 5px; }\\n\\n.zoom {\\n margin: 5px 5px 5px 5px;\\n height: 400px;\\n max-height: 400px;\\n width: 100%;\\n -o-object-fit: contain;\\n object-fit: contain; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9vZmZlci9EOlxcV1dXXFxBY3RSZXNlYXJjaFxcUXVpY2tBcHAuUHJvXFxDbGllbnRBcHAvc3JjXFxhcHBcXGNvbXBvbmVudHNcXG9mZmVyXFxvZmZlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDhEQUE4RDtFQUM5RCwwQkFBeUI7RUFDekIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsdUJBQXNCO0VBQ3RCLGFBQVksRUFDYjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7OztJQUlJOztBQUVKO0VBR0UsMEJBQXlCO0VBQ3pCLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxnQkFBZTtFQUNmLHlCQUF3QixFQUN6Qjs7QUFFRDtFQUNFLHdCQUF1QjtFQUN2QixjQUFhO0VBQ2Isa0JBQWlCO0VBQ2pCLFlBQVc7RUFDWCx1QkFBbUI7S0FBbkIsb0JBQW1CLEVBQ3BCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9vZmZlci9vZmZlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWZvcm0ge1xyXG4gIG1pbi13aWR0aDogNDAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWZ1bGwtd2lkdGgge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMjVweDtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB7XHJcbiAgLypmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdGQsIC5zdGlsVGFiZWwgdGgge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxufVxyXG5cclxuLypcclxuLnN0aWxUYWJlbCB0cjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4gICovXHJcblxyXG4uc3RpbFRhYmVsIHRoIHtcclxuICAvL3BhZGRpbmctdG9wOiAxMnB4O1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5tYXQtcm93IHtcclxuICBtaW4taGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG5tYXQtY2VsbCB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIHBhZGRpbmc6IDhweCA4cHggOHB4IDVweDtcclxufVxyXG5cclxuLnpvb20ge1xyXG4gIG1hcmdpbjogNXB4IDVweCA1cHggNXB4O1xyXG4gIGhlaWdodDogNDAwcHg7XHJcbiAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Offer, PhotoDetail, OfferDetail, OfferVM, OfferDetailVM } from 'src/app/models/offer.model';\r\nimport * as FileSaver from 'file-saver';\r\nimport { OfferVm, OfferDetailVm, PhotoDetailVm} from 'src/app/models/offerVm.model';\r\nimport { GetPhotosWitPoductGroupsViewModel, Product } from 'src/app/models/Product.model';\r\nimport { Poze } from 'src/app/models/Poze.model';\r\nimport { TranslateService, LangChangeEvent } from '@ngx-translate/core';\r\nimport { AppTranslationService } from 'src/app/services/app-translation.service';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\n\r\n@Component({\r\n selector: 'offer',\r\n templateUrl: './offer.component.html',\r\n styleUrls: ['./offer.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class OfferComponent {\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n offerForm: FormGroup;\r\n offer: Offer;\r\n definireOffer: boolean = false;\r\n\r\n compensareDetaliata: Offer;\r\n\r\n id: string = '';\r\n subject: string = '';\r\n displayedColumns = ['id', 'date', 'car', 'user', 'companie', 'subject','clientName', 'modelAccess', 'actions'];\r\n displayedColumnsProduct = ['vehicleReference', 'productgrup', 'productnumber', 'description', 'descriptionfr', 'descriptionen', 'descriptionro', 'PriceDealer', 'PriceFinalCustomer'];\r\n displayedColumnsProducts = ['select', 'vehicleReference', 'productgrup', 'productnumber', 'description', 'descriptionfr', 'descriptionen', 'descriptionro', 'PriceDealer', 'PriceFinalCustomer'];\r\n editareOferta: boolean = false;\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n data: OfferVm[];\r\n dataSource: MatTableDataSource;\r\n dataPoze: Poze[];\r\n dataProducts: Product[];\r\n dataSelectedProducts: Product[];\r\n dataSourceProducts: MatTableDataSource;\r\n dataSourcePoze: MatTableDataSource;\r\n dataSourceSelectedProducts: MatTableDataSource;\r\n selection = new SelectionModel(true, []);\r\n dataSourceProductsCarReference: Product[];\r\n dataSelectedDependentProducts: Product[];\r\n dataSourceProductsDependent: MatTableDataSource;\r\n listDependentProduct: boolean = false;\r\n\r\n carReference: string;\r\n tip_export: string = 'DOC';\r\n browserLang: string = \"en\";\r\n showEN: boolean = false;\r\n showNI: boolean = true;\r\n showRO: boolean = true;\r\n showFR: boolean = true;\r\n\r\n initialDate: Date = new Date();\r\n finalDate: Date = new Date();\r\n\r\n dataOfferDetails: OfferDetail[];\r\n dataOfferDetailsSource: MatTableDataSource;\r\n dataOfferPhotosSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n addMonths = (date: Date, months: number): Date => {\r\n let result = new Date(date);\r\n result.setDate(result.getMonth() + months);\r\n return result;\r\n };\r\n\r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let id = this.id == null || this.id == \"\" ? \"undefined\" : this.id;\r\n let subject = this.subject == null || this.subject == \"\" ? \"undefined\" : this.subject;\r\n let initialDate = this.initialDate == null ? \"undefined\" : this.formatOnlyDate(this.initialDate, \".\");\r\n let finalDate = this.finalDate == null ? \"undefined\" : this.formatOnlyDate(this.finalDate, \".\");\r\n\r\n this.accountService\r\n .getOfferList(id, subject, initialDate, finalDate)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n\r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n }\r\n \r\n ngAfterContentInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.id = '';\r\n this.subject = '';\r\n this.initialDate = new Date();\r\n this.initialDate.setMonth(this.initialDate.getMonth() - 3);\r\n this.finalDate = new Date();\r\n this.afiseazaDate();\r\n }\r\n\r\n modificare(offer: Offer) {\r\n this.definireOffer = true;\r\n this.offer = offer;\r\n\r\n this.accountService\r\n .getOfferListProductPhoto(offer.id)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n let dataOffer = liniiReconverted[0];\r\n\r\n if (dataOffer != null) {\r\n this.offer = dataOffer;\r\n this.dataOfferDetails = dataOffer.offerDetails;\r\n this.dataOfferDetailsSource.data = dataOffer.offerDetails;\r\n this.dataOfferPhotosSource.data = dataOffer.offerPhotos;\r\n }\r\n\r\n this.isDataLoaded = true;\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n verificareStergere(offer: Offer) {\r\n this.alertService.showDialog('Delete', 'Do you confirm the deletion?', DialogType.confirm, () => this.stergeOffer(offer));\r\n }\r\n\r\n stergeOffer(offer: Offer) {\r\n let newOffer = new OfferVM();\r\n newOffer.id = offer.id;\r\n newOffer.status = \"D\";\r\n \r\n this.accountService.saveOffer(newOffer).subscribe(\r\n role => {\r\n this.saveSuccessHelper(this.offer, `Offer deleted!`);\r\n this.afiseazaDate();\r\n },\r\n error => this.saveFailedHelper(error));\r\n }\r\n\r\n adaugare() {\r\n this.definireOffer = true;\r\n this.offer = new Offer();\r\n }\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n this.dataOfferDetailsSource = new MatTableDataSource();\r\n this.dataOfferPhotosSource = new MatTableDataSource();\r\n this.dataSourceProducts = new MatTableDataSource();\r\n this.dataSourceSelectedProducts = new MatTableDataSource();\r\n this.dataSourceProductsDependent = new MatTableDataSource();\r\n this.dataSourcePoze = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n selectionLanguage() {\r\n if (this.browserLang == \"fr\") {\r\n this.showFR = false;\r\n this.showEN = true;\r\n this.showNI = true;\r\n this.showRO = true;\r\n }\r\n if (this.browserLang == \"en\") {\r\n this.showFR = true;\r\n this.showEN = false;\r\n this.showNI = true;\r\n this.showRO = true;\r\n }\r\n if (this.browserLang == \"ar\") {\r\n this.showFR = true;\r\n this.showEN = true;\r\n this.showNI = true;\r\n this.showRO = false;\r\n }\r\n if (this.browserLang == \"de\") {\r\n this.showFR = true;\r\n this.showEN = true;\r\n this.showNI = false;\r\n this.showRO = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.offer = new Offer();\r\n this.initialDate.setMonth(this.initialDate.getMonth() - 3);\r\n this.afiseazaDate();\r\n var selectedLanguage = window.selectedLanguage;\r\n if (selectedLanguage == null || selectedLanguage == undefined) {\r\n selectedLanguage = 'en';\r\n }\r\n this.translationService.changeLanguage(selectedLanguage);\r\n\r\n this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\r\n if (event.lang != null && event.lang != \"undefined\") {\r\n selectedLanguage = event.lang;\r\n window.selectedLanguage = selectedLanguage;\r\n }\r\n else if (event.lang == null || event.lang == \"undefined\") {\r\n this.browserLang = selectedLanguage;\r\n }\r\n this.browserLang = selectedLanguage;\r\n this.selectionLanguage();\r\n });\r\n this.browserLang = selectedLanguage;\r\n this.selectionLanguage();\r\n }\r\n \r\n save(offer: OfferVM) {\r\n this.offer.offerDetails = [];\r\n for (let product of this.dataSelectedProducts.filter(f => f.selected === true)) {\r\n let offerDetail = new OfferDetailVM;\r\n offerDetail.productId = product.id;\r\n offer.offerDetails.push(offerDetail);\r\n }\r\n\r\n if (this.offerForm.valid) {\r\n this.accountService.saveOffer(offer).subscribe(\r\n role => this.saveSuccessHelper(this.offer, `Vehicle saved successfully!`),\r\n error => this.saveFailedHelper(error));\r\n }\r\n this.cancel();\r\n }\r\n\r\n private saveSuccessHelper(offer?: Offer, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n\r\n this.definireOffer = false;\r\n this.afiseazaDate();\r\n }\r\n private saveSuccessHelperGenerateOffer(mesaj?: string) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n public generareoffer(offer: Offer) {\r\n this.alertService.startLoadingMessage('Offer generation...');\r\n this.accountService.downloadOffer(this.tip_export, offer.id.toString(), this.browserLang).subscribe(result => {\r\n let blob = new Blob(result, {\r\n type: 'application/pdf' // must match the Accept type\r\n });\r\n if (this.tip_export === 'PDF') {\r\n let filename = 'Offer_' + offer.id + '.pdf';\r\n FileSaver.saveAs(blob, filename);\r\n }\r\n else if (this.tip_export === 'XLSX') {\r\n let filename = 'Offer_' + offer.id + '.xlsx';\r\n FileSaver.saveAs(blob, filename);\r\n }\r\n else if (this.tip_export === 'DOC') {\r\n let filename = 'Offer_' + offer.id + '.docx';\r\n FileSaver.saveAs(blob, filename);\r\n }\r\n this.saveSuccessHelperGenerateOffer(`The offer has been generated!`);\r\n });\r\n }\r\n \r\n private buildForm() {\r\n this.offerForm = this.formBuilder.group({\r\n tbModelAccess: ['', [Validators.required],],\r\n tbCar: ['', [Validators.required],],\r\n tbUser: ['', [Validators.required],],\r\n tbCompanie: ['', [Validators.required],],\r\n tbSubject: ['', [Validators.required],], \r\n tbClientName: ['', [Validators.required],],\r\n });\r\n }\r\n\r\n get tbModelAccess() {\r\n return this.offerForm.get('tbModelAccess');\r\n }\r\n\r\n get tbCar() {\r\n return this.offerForm.get('tbCar');\r\n }\r\n\r\n get tbUser() {\r\n return this.offerForm.get('tbUser');\r\n }\r\n\r\n get tbCompanie() {\r\n return this.offerForm.get('tbModelAccess');\r\n }\r\n\r\n get tbSubject() {\r\n return this.offerForm.get('tbSubject');\r\n }\r\n\r\n get tbClientName() {\r\n return this.offerForm.get('tbClientName');\r\n }\r\n\r\n private cancel() {\r\n this.definireOffer = false;\r\n this.editareOferta = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n GetPhotoUrl(poza: Poze): string {\r\n return '/' + poza.vehicleReference + \"_\" + poza.photoReference + \"_\" + poza.id + \".jpg\";\r\n }\r\n\r\n editOffer(offer: OfferVm) {\r\n this.editareOferta = true;\r\n this.carReference = offer.car.modelAccess;\r\n this.dataSelectedProducts = [];\r\n this.dataSelectedDependentProducts = [];\r\n this.onProductgrupSelected(\"undefined\", offer.car.make);\r\n }\r\n\r\n onProductgrupSelected(productgrupSelectat: string, marca: string) {\r\n this.accountService\r\n .getProductLists(\"undefined\", \"undefined\", this.carReference, \"undefined\", \"undefined\", \"undefined\", productgrupSelectat, \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", marca)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.dataProducts = liniiReconverted;\r\n\r\n if (productgrupSelectat === \"undefined\") {\r\n this.dataSourceProductsCarReference = this.dataProducts;\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.offer.offerDetails) {\r\n if (product.id == selectedProduct.product.id) {\r\n product.selected = true;\r\n this.dataSelectedProducts.push(product);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.dataSelectedProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selected = true;\r\n }\r\n }\r\n for (let selectedProduct of this.dataSelectedDependentProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selectedDependentProduct = true;\r\n }\r\n }\r\n }\r\n\r\n this.dataSourceProducts.data = this.dataProducts;\r\n this.dataSourceSelectedProducts.data = this.dataProducts;\r\n\r\n this.definireOffer = false;\r\n this.definireOffer = true;\r\n },\r\n error => {\r\n this.definireOffer = true;\r\n this.definireOffer = false;\r\n });\r\n }\r\n\r\n getDependentProductsList() {\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.dataSelectedDependentProducts) {\r\n if (product.id == selectedProduct.id) {\r\n this.listDependentProduct = false;\r\n product.selectedDependentProduct = false;\r\n product.selected = false;\r\n }\r\n }\r\n }\r\n\r\n this.dataSelectedDependentProducts.forEach((product) => {\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter(f => f.id != product.id);\r\n });\r\n\r\n this.dataSelectedDependentProducts = [];\r\n\r\n this.dataSelectedProducts.forEach((product) => {\r\n if (product.depedentProduct !== null) {\r\n let idProducts = product.depedentProduct.split('#');\r\n\r\n for (var i = 0; i <= idProducts.length; i++) {\r\n let productInList = this.dataSourceProductsCarReference.find(f => f.id == idProducts[i]);\r\n if (productInList != null) {\r\n this.dataSelectedProducts.push(productInList);\r\n this.dataSelectedDependentProducts.push(productInList);\r\n productInList.selected = true;\r\n }\r\n }\r\n\r\n for (let product of this.dataProducts) {\r\n for (let selectedProduct of this.dataSelectedProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selected = true;\r\n }\r\n }\r\n\r\n for (let selectedProduct of this.dataSelectedDependentProducts) {\r\n if (product.id == selectedProduct.id) {\r\n this.listDependentProduct = true;\r\n product.selectedDependentProduct = true;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n this.dataSelectedDependentProducts = this.dataSelectedDependentProducts.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter((item, i, ar) => ar.indexOf(item) === i);\r\n this.dataSourceProductsDependent.data = this.dataSelectedDependentProducts;\r\n }\r\n\r\n MarkSelectionOfProduct(product: Product) {\r\n let currentProductInList = this.dataSelectedProducts.find(f => f.id === product.id);\r\n if (product.selected) {\r\n if (currentProductInList == null) {\r\n this.dataSelectedProducts.push(product);\r\n }\r\n }\r\n else {\r\n if (currentProductInList !== null) {\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter(obj => obj !== currentProductInList);\r\n }\r\n }\r\n this.getDependentProductsList();\r\n }\r\n\r\n formatOnlyDate(value: Date, separator: string): string {\r\n var date = new Date(value);\r\n var mm = date.getMonth() + 1; // getMonth() is zero-based\r\n var dd = date.getDate();\r\n\r\n return [\r\n (dd > 9 ? '' : '0') + dd,\r\n (mm > 9 ? '' : '0') + mm,\r\n date.getFullYear()\r\n ].join(separator);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Group \\r\\n {{poze.productGroup}}\\r\\n \\r\\n\\r\\n \\r\\n Reference \\r\\n {{poze.vehicleReference}}\\r\\n \\r\\n\\r\\n \\r\\n Reference Photo\\r\\n {{poze.photoReference}}\\r\\n \\r\\n\\r\\n \\r\\n Photo \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n Add a photo\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Product Group\\r\\n \\r\\n \\r\\n      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Vehicle reference\\r\\n \\r\\n \\r\\n Please introduce vehicle reference!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Reference Photo\\r\\n \\r\\n \\r\\n Please introduce photo reference!\\r\\n \\r\\n \\r\\n      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n    \\r\\n    \\r\\n    \\r\\n    \\r\\n    \\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 800px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wb3plL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcY29tcG9uZW50c1xccG96ZVxccG96ZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsOERBQThEO0VBQzlELDBCQUF5QjtFQUN6QixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1QkFBc0I7RUFDdEIsYUFBWSxFQUNiOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEOzs7O0lBSUk7O0FBRUo7RUFHRSwwQkFBeUI7RUFDekIsYUFBWTtFQUNaLG1CQUFrQixFQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcG96ZS9wb3plLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZm9ybSB7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB7XHJcbiAgLypmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdGQsIC5zdGlsVGFiZWwgdGgge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxufVxyXG5cclxuLypcclxuLnN0aWxUYWJlbCB0cjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4gICovXHJcblxyXG4uc3RpbFRhYmVsIHRoIHtcclxuICAvL3BhZGRpbmctdG9wOiAxMnB4O1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiJdfQ== */\"","FileSaver// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Poze } from 'src/app/models/poze.model';\r\nimport * as FileSaver from 'file-saver'; \r\n\r\n@Component({\r\n selector: 'poze',\r\n templateUrl: './poze.component.html',\r\n styleUrls: ['./poze.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class PozeComponent {\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n pozeForm: FormGroup;\r\n poze: Poze;\r\n definirePoze: boolean = false;\r\n\r\n displayedColumns = ['productGroup', 'vehicleReference', 'photoReference', 'photo','actions'];\r\n loadingIndicator: boolean = true;\r\n productGroup: string = '';\r\n vehicleReference: string = '';\r\n photoReference: string = '';\r\n data: Poze[];\r\n dataSource: MatTableDataSource;\r\n isDataLoaded: boolean = false;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n afuConfig = {\r\n uploadAPI: {\r\n url: \"https://example-file-upload-api\"\r\n }\r\n };\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let productGroup = this.productGroup == null || this.productGroup == \"\" ? \"undefined\" : this.productGroup;\r\n let vehicleReference = this.vehicleReference == null || this.vehicleReference == \"\" ? \"undefined\" : this.vehicleReference;\r\n let photoReference = this.photoReference == null || this.photoReference == \"\" ? \"undefined\" : this.photoReference;\r\n\r\n this.accountService\r\n .getPozeLists(productGroup, vehicleReference, photoReference)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n \r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.poze = new Poze();\r\n this.afiseazaDate();\r\n }\r\n\r\n modificare(poze: Poze) {\r\n this.definirePoze = true;\r\n this.poze = poze;\r\n }\r\n\r\n verificareStergere(poze: Poze) {\r\n this.alertService.showDialog('Delete', 'Do you confirm the deletion?', DialogType.confirm, () => this.stergePoze(poze));\r\n }\r\n\r\n stergePoze(poze: Poze) {\r\n poze.status = \"D\";\r\n this.accountService.savePoze(poze).subscribe(\r\n role => {\r\n this.saveSuccessHelper(this.poze, `Photo deleted!`);\r\n this.afiseazaDate();\r\n },\r\n error => this.saveFailedHelper(error));\r\n }\r\n\r\n adaugare() {\r\n this.definirePoze = true;\r\n this.poze = new Poze();\r\n }\r\n\r\n private saveSuccessHelper(Poze?: Poze, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", `Photo information saved successfully!`, MessageSeverity.success);\r\n\r\n this.definirePoze = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors in saving process: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.pozeForm = this.formBuilder.group({\r\n tbProductGroup: ['', Validators.required],\r\n tbVehicleReference: ['', Validators.required],\r\n tbPhotoReference: ['', Validators.required],\r\n });\r\n }\r\n\r\n get tbProductGroup() {\r\n return this.pozeForm.get('tbProductGroup');\r\n }\r\n\r\n get tbVehicleReference() {\r\n return this.pozeForm.get('tbVehicleReference');\r\n }\r\n\r\n get tbPhotoReference() {\r\n return this.pozeForm.get('tbPhotoReference');\r\n }\r\n\r\n private cancel() {\r\n this.definirePoze = false;\r\n }\r\n\r\n handleFileInputCI(files: FileList) {\r\n this.poze.photo = files.item(0);\r\n }\r\n\r\n incarcaPoza() {\r\n if (this.poze.photo == null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Error on uploading photo\", \"Photo not selected!\", MessageSeverity.error);\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', this.poze.photo, this.poze.photo.name);\r\n\r\n this.accountService.uploadPhoto(this.poze.productGroup, this.poze.vehicleReference, this.poze.photoReference, formData).subscribe((result) => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Photo Upload\", \"Photo successfully uploaded!\", MessageSeverity.success);\r\n this.afiseazaDate();\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Error on upload\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n\r\n reset() {\r\n this.productGroup = '';\r\n this.vehicleReference = '';\r\n }\r\n\r\n GetPhotoUrl(poza: Poze): string {\r\n return '/' + poza.vehicleReference + \"_\" + poza.photoReference + \"_\" + poza.id + \".jpg\";\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Vehicle Reference \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n {{product.productnumber}}\\r\\n \\r\\n\\r\\n \\r\\n Description NL \\r\\n {{product.description}}\\r\\n \\r\\n\\r\\n \\r\\n Description FR \\r\\n {{product.descriptionfr}}\\r\\n \\r\\n\\r\\n \\r\\n Description RO \\r\\n {{product.descriptionro}}\\r\\n \\r\\n\\r\\n \\r\\n Description EN \\r\\n {{product.descriptionen}}\\r\\n \\r\\n\\r\\n \\r\\n Product Group \\r\\n {{product.productgrup}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Price Dealer (EUR) \\r\\n {{product.pricedealer}}\\r\\n \\r\\n\\r\\n \\r\\n Price Final Customer (EUR)\\r\\n {{product.pricefinalcustomer}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n Vehicle product type information\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Product Number\\r\\n \\r\\n \\r\\n Please introduce vehicle Product Number!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Vehicle Reference\\r\\n \\r\\n \\r\\n Please introduce vehicle reference!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Product Group\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Catalog Reference\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Description RO\\r\\n \\r\\n \\r\\n Please introduce vehicle description!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Description EN\\r\\n \\r\\n \\r\\n Please introduce vehicle description EN!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Description NL\\r\\n \\r\\n \\r\\n Please introduce vehicle description!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Description FR\\r\\n \\r\\n \\r\\n Please introduce vehicle description FR!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Price Dealer\\r\\n \\r\\n \\r\\n Please introduce vehicle Price Dealer!\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Price Final Customer\\r\\n \\r\\n \\r\\n Please introduce vehicle Price Final Customer!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Serial number\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n    Dependent Product\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n       \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n       \\r\\n \\r\\n Vehicle Reference \\r\\n \\r\\n {{product.vehicleReference}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Group \\r\\n \\r\\n {{product.productgrup}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Product Number \\r\\n \\r\\n {{product.productnumber}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n       \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n Add excel product\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n Add excel update price product\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n    \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 1200px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%;\\n padding-left: 25px; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\nmat-row {\\n min-height: 30px; }\\n\\nmat-cell {\\n font-size: 12px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0L0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcY29tcG9uZW50c1xccHJvZHVjdFxccHJvZHVjdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDhEQUE4RDtFQUM5RCwwQkFBeUI7RUFDekIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsdUJBQXNCO0VBQ3RCLGFBQVksRUFDYjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7OztJQUlJOztBQUVKO0VBR0UsMEJBQXlCO0VBQ3pCLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZm9ybSB7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmV4YW1wbGUtZnVsbC13aWR0aCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHtcclxuICAvKmZvbnQtZmFtaWx5OiBcIlRyZWJ1Y2hldCBNU1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB0ZCwgLnN0aWxUYWJlbCB0aCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBwYWRkaW5nOiA4cHg7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xyXG59XHJcblxyXG4vKlxyXG4uc3RpbFRhYmVsIHRyOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xyXG59XHJcbiAgKi9cclxuXHJcbi5zdGlsVGFiZWwgdGgge1xyXG4gIC8vcGFkZGluZy10b3A6IDEycHg7XHJcbiAgLy9wYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbm1hdC1yb3cge1xyXG4gIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbm1hdC1jZWxsIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuIl19 */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild, Output, EventEmitter, HostBinding } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { Product } from 'src/app/models/product.model';\r\nimport * as FileSaver from 'file-saver'; \r\nimport { DecimalPipe } from '@angular/common';\r\nimport { ExcelFisier } from 'src/app/models/ExcelFisier.model';\r\nimport { CatalogLink } from 'src/app/models/catalogLink.model';\r\n\r\n@Component({\r\n selector: 'product',\r\n templateUrl: './product.component.html',\r\n styleUrls: ['./product.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class ProductComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n productForm: FormGroup;\r\n product: Product;\r\n definireProduct: boolean = false;\r\n afisareProduct: boolean = true;\r\n afisareIncarcareExcel: boolean = false;\r\n afisareActualizarePreturi: boolean = false;\r\n\r\n vehicleReference: string = '';\r\n productnumber: string = '';\r\n displayedColumns = ['vehicleReference', 'productnumber', 'productgrup', 'description', 'descriptionfr', 'descriptionro', 'descriptionen', 'pricedealer', 'pricefinalcustomer'/*,'linkcatalog'*/, 'actions'];\r\n displayedColumnsProducts = ['select', 'vehicleReference', 'productgrup', 'productnumber'];\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n selectDepedentProduct: boolean = false;\r\n _currentUserId: string;\r\n data: Product[];\r\n dataSource: MatTableDataSource;\r\n dataSourceProducts: MatTableDataSource;\r\n catalogLink: CatalogLink[];\r\n dataSelectedProducts: Product[];\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n \r\n afiseazaDate() {\r\n this.loadingIndicator = true;\r\n\r\n let vehicleReference = this.vehicleReference == null || this.vehicleReference == \"\" ? \"undefined\" : this.vehicleReference;\r\n let productnumber = this.productnumber == null || this.productnumber == \"\" ? \"undefined\" : this.productnumber;\r\n \r\n this.accountService\r\n .getProductLists(\"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", \"undefined\", vehicleReference, \"undefined\", productnumber)\r\n .subscribe(results => {\r\n\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n \r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n },\r\n error => {\r\n });\r\n\r\n }\r\n\r\n getCatalogLinkList() {\r\n this.accountService.getCatalogLinkLists()\r\n .subscribe(results => {\r\n let linii = results[0];\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n this.catalogLink = liniiReconverted;\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n reset() {\r\n this.vehicleReference = '';\r\n this.productnumber = '';\r\n this.afiseazaDate();\r\n }\r\n\r\n modificare(product: Product) {\r\n this.selectDepedentProduct = false;\r\n this.dataSelectedProducts = [];\r\n this.dataSourceProducts.data = [];\r\n this.definireProduct = true;\r\n this.afisareProduct = false;\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = false;\r\n this.product = product;\r\n\r\n if (this.product.depedentProduct != null) {\r\n this.selectDepedentProduct = true;\r\n this.selectedDepedentProduct(true);\r\n }\r\n\r\n }\r\n\r\n verificareStergere(product: Product) {\r\n this.alertService.showDialog('Delete', 'Do you confirm the deletion?', DialogType.confirm, () => this.stergeProduct(product));\r\n }\r\n\r\n stergeProduct(product: Product) {\r\n product.status = \"D\";\r\n this.accountService.saveProduct(product).subscribe(\r\n role => {\r\n this.saveSuccessHelper(this.product, `Vehicle deleted!`);\r\n this.afiseazaDate();\r\n },\r\n error => this.saveFailedHelper(error));\r\n }\r\n\r\n adaugare() {\r\n this.selectDepedentProduct = false;\r\n this.dataSelectedProducts = [];\r\n this.dataSourceProducts.data = [];\r\n this.definireProduct = true;\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = false;\r\n this.afisareProduct = false;\r\n this.product = new Product();\r\n }\r\n \r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.dataSource = new MatTableDataSource();\r\n this.dataSourceProducts = new MatTableDataSource();\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.product = new Product();\r\n this.afiseazaDate();\r\n this.getCatalogLinkList();\r\n }\r\n \r\n save() {\r\n if (this.productForm.valid) {\r\n \r\n this.product.depedentProduct = \"\";\r\n\r\n for (let product of this.dataSelectedProducts.filter(f => f.selected === true)) {\r\n this.product.depedentProduct += product.id + \"#\";\r\n }\r\n \r\n this.accountService.saveProduct(this.product).subscribe(\r\n role => this.saveSuccessHelper(this.product, `Vehicle product saved successfully!`),\r\n error => this.saveFailedHelper(error));\r\n } else {\r\n alert(\"form invalid!\");\r\n }\r\n\r\n this.afisareProduct = true;\r\n this.definireProduct = false;\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = false;\r\n }\r\n\r\n private saveSuccessHelper(product?: Product, mesaj?: string) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", mesaj, MessageSeverity.success);\r\n\r\n this.definireProduct = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.productForm = this.formBuilder.group({\r\n tbDescription: ['', [Validators.required],],\r\n tbPricedealer: ['', [Validators.required],],\r\n tbPricefinalcustomer: ['', [Validators.required],],\r\n tbDescriptionfr: ['', [Validators.required],],\r\n tbProductgrup: ['', [Validators.required],],\r\n tbDescriptionro: ['', [Validators.required],],\r\n tbDescriptionen: ['', [Validators.required],],\r\n tbProductnumber: ['', [Validators.required],],\r\n tbVehicleReference: ['', [Validators.required],],\r\n tbCatalogreference: ['', [Validators.required],],\r\n tbSerialNumber: [''],\r\n tbSelectDepedentProduct: [''],\r\n });\r\n }\r\n\r\n get tbDescription() {\r\n return this.productForm.get('tbDescription');\r\n }\r\n\r\n get tbPricedealer() {\r\n return this.productForm.get('tbPricedealer');\r\n }\r\n\r\n get tbPricefinalcustomer() {\r\n return this.productForm.get('tbPricefinalcustomer');\r\n }\r\n\r\n get tbDescriptionfr() {\r\n return this.productForm.get('tbDescriptionfr');\r\n }\r\n\r\n get tbProductgrup() {\r\n return this.productForm.get('tbProductgrup');\r\n }\r\n\r\n get tbDescriptionro() {\r\n return this.productForm.get('tbDescriptionro');\r\n }\r\n\r\n get tbDescriptionen() {\r\n return this.productForm.get('tbDescriptionen');\r\n }\r\n\r\n get tbProductnumber() {\r\n return this.productForm.get('tbProductnumber');\r\n }\r\n\r\n get tbCatalogreference() {\r\n return this.productForm.get('tbCatalogreference');\r\n }\r\n\r\n get tbVehicleReference() {\r\n return this.productForm.get('tbVehicleReference');\r\n }\r\n\r\n get tbSerialNumber() {\r\n return this.productForm.get('tbSerialNumber');\r\n }\r\n \r\n get tbSelectDepedentProduct() {\r\n return this.productForm.get('tbSelectDepedentProduct');\r\n }\r\n\r\n private cancel() {\r\n this.definireProduct = false;\r\n this.afisareProduct = true;\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = false;\r\n this.afiseazaDate();\r\n }\r\n\r\n openPanel_IncarcaFisierExcel() {\r\n this.afisareIncarcareExcel = true;\r\n this.afisareActualizarePreturi = false;\r\n this.definireProduct = false;\r\n this.afisareProduct = false;\r\n }\r\n\r\n openPanel_ActualizarePreturi() {\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = true;\r\n this.definireProduct = false;\r\n this.afisareProduct = false;\r\n }\r\n\r\n facturiDeIncarcat: ExcelFisier[];\r\n\r\n fileToUpload: File = null;\r\n handleFileInput(files: FileList) {\r\n this.fileToUpload = files.item(0);\r\n }\r\n\r\n uploadFileToActivity() {\r\n //this.afisareIncarcareExcel = false;\r\n this.alertService.startLoadingMessage(\"File upload is in progress...\");\r\n\r\n this.facturiDeIncarcat = [];\r\n\r\n if (this.fileToUpload === null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"File upload error\", \"The file is not selected!\", MessageSeverity.error);\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', this.fileToUpload, this.fileToUpload.name);\r\n\r\n this.accountService.uploadFile(\"admin\", formData).subscribe((result) => {\r\n if (result != null) {\r\n if (result.length > 0) {\r\n let liniiReconverted = JSON.parse(JSON.stringify(result[0]));\r\n this.facturiDeIncarcat = liniiReconverted;\r\n }\r\n }\r\n\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"File upload\", \"The file was uploaded successfully!\", MessageSeverity.success);\r\n //this.afisareIncarcareExcel = true;\r\n },\r\n error => {\r\n //this.afisareIncarcareExcel = true;\r\n });\r\n }\r\n\r\n incarcaFisier() {\r\n this.uploadFileToActivity();\r\n this.afisareProduct = true;\r\n this.definireProduct = false;\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = false;\r\n }\r\n\r\n uploadPriceFileToActivity() {\r\n this.alertService.startLoadingMessage(\"File upload is in progress...\");\r\n\r\n this.facturiDeIncarcat = [];\r\n\r\n if (this.fileToUpload === null) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"File upload error\", \"The file is not selected!\", MessageSeverity.error);\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', this.fileToUpload, this.fileToUpload.name);\r\n\r\n this.accountService.uploadPriceFile(\"admin\", formData).subscribe((result) => {\r\n if (result != null) {\r\n if (result.length > 0) {\r\n let liniiReconverted = JSON.parse(JSON.stringify(result[0]));\r\n this.facturiDeIncarcat = liniiReconverted;\r\n }\r\n }\r\n\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"File upload\", \"The update prices successfully!\", MessageSeverity.success);\r\n },\r\n error => {\r\n\r\n });\r\n }\r\n\r\n incarcaFisierActualizarePreturi() {\r\n this.uploadPriceFileToActivity();\r\n this.afisareProduct = true;\r\n this.definireProduct = false;\r\n this.afisareIncarcareExcel = false;\r\n this.afisareActualizarePreturi = false;\r\n }\r\n\r\n selectedDepedentProduct(event) {\r\n\r\n if (this.selectDepedentProduct === true) {\r\n\r\n if (this.product.vehicleReference === undefined || this.product.vehicleReference === \"\") {\r\n this.selectDepedentProduct = false;\r\n this.alertService.showDialog('Warning!', 'Please enter vehicle reference!', DialogType.alert, () => { });\r\n return;\r\n }\r\n\r\n this.accountService\r\n .getProductLists(\"undefined\", \"undefined\", this.product.vehicleReference)\r\n .subscribe(results => {\r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.dataSourceProducts.data = liniiReconverted;\r\n\r\n if (this.product.depedentProduct != null) {\r\n let idProducts = this.product.depedentProduct.split('#');\r\n\r\n for (var i = 0; i <= idProducts.length; i++) {\r\n let productInList = this.dataSourceProducts.data.find(f => f.id == idProducts[i]);\r\n if (productInList != null) {\r\n this.dataSelectedProducts.push(productInList);\r\n productInList.selected = true;\r\n }\r\n }\r\n\r\n for (let product of this.dataSourceProducts.data) {\r\n for (let selectedProduct of this.dataSelectedProducts) {\r\n if (product.id == selectedProduct.id) {\r\n product.selected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n });\r\n }\r\n else {\r\n this.dataSelectedProducts = [];\r\n }\r\n }\r\n\r\n MarkSelectionOfProduct(product: Product) {\r\n let currentProductInList = this.dataSelectedProducts.find(f => f.id === product.id);\r\n if (product.selected) {\r\n if (currentProductInList == null) {\r\n this.dataSelectedProducts.push(product);\r\n }\r\n }\r\n else {\r\n if (currentProductInList !== null) {\r\n this.dataSelectedProducts = this.dataSelectedProducts.filter(obj => obj !== currentProductInList);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Name \\r\\n {{contulMeu.nume}} {{contulMeu.prenume}}\\r\\n \\r\\n\\r\\n \\r\\n Represented companies \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{companie}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n City \\r\\n {{contulMeu.localitate}}\\r\\n \\r\\n\\r\\n \\r\\n Address \\r\\n {{contulMeu.adresa}}\\r\\n \\r\\n\\r\\n \\r\\n Status \\r\\n \\r\\n
\\r\\n To be approved\\r\\n
\\r\\n
\\r\\n Approved\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Date cont\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n First name\\r\\n \\r\\n \\r\\n Please introduce your first name!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Last name\\r\\n \\r\\n \\r\\n Please introduce your last name!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n City\\r\\n \\r\\n \\r\\n Please introduce your city!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Address\\r\\n \\r\\n \\r\\n Please introduce your address!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Phone\\r\\n \\r\\n \\r\\n Please introduce your phone!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Account status: To be approved\\r\\n
\\r\\n
\\r\\n Account status: Approved\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Documents\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 800px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n.stilTabel {\\n /*font-family: \\\"Trebuchet MS\\\", Arial, Helvetica, sans-serif;*/\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.stilTabel td, .stilTabel th {\\n border: 1px solid #ddd;\\n padding: 8px; }\\n\\n.stilTabel tr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n/*\\r\\n.stilTabel tr:hover {\\r\\n background-color: #ddd;\\r\\n}\\r\\n */\\n\\n.stilTabel th {\\n background-color: #3f51b5;\\n color: white;\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZXByZXplbnRhbnRpL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcY29tcG9uZW50c1xccmVwcmV6ZW50YW50aVxccmVwcmV6ZW50YW50aS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUVEO0VBQ0UsOERBQThEO0VBQzlELDBCQUF5QjtFQUN6QixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1QkFBc0I7RUFDdEIsYUFBWSxFQUNiOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEOzs7O0lBSUk7O0FBRUo7RUFHRSwwQkFBeUI7RUFDekIsYUFBWTtFQUNaLG1CQUFrQixFQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcmVwcmV6ZW50YW50aS9yZXByZXplbnRhbnRpLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZm9ybSB7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnN0aWxUYWJlbCB7XHJcbiAgLypmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlsVGFiZWwgdGQsIC5zdGlsVGFiZWwgdGgge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG4uc3RpbFRhYmVsIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxufVxyXG5cclxuLypcclxuLnN0aWxUYWJlbCB0cjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxufVxyXG4gICovXHJcblxyXG4uc3RpbFRhYmVsIHRoIHtcclxuICAvL3BhZGRpbmctdG9wOiAxMnB4O1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatSnackBar, MatDialog } from '@angular/material';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\n\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AppTranslationService } from \"../../services/app-translation.service\";\r\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\r\nimport { Utilities } from \"../../services/utilities\";\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AddTaskDialogComponent } from '../controls/add-task-dialog.component';\r\nimport { ContulMeu } from 'src/app/models/contulMeu.model';\r\nimport { AccountService } from 'src/app/services/account.service';\r\nimport { FormGroup, Validators, FormBuilder, FormControl } from '@angular/forms';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Component({\r\n selector: 'reprezentanti',\r\n templateUrl: './reprezentanti.component.html',\r\n styleUrls: ['./reprezentanti.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class ReprezentantiComponent implements OnInit, AfterViewInit {\r\n displayedColumns = ['nume', 'companie', 'localitate', 'adresa', 'stare', 'actions'];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n contulMeu: ContulMeu = new ContulMeu();\r\n isDataLoaded: boolean = false;\r\n loadingIndicator: boolean = true;\r\n formResetToggle: boolean = true;\r\n _currentUserId: string;\r\n nume: string;\r\n prenume: string;\r\n document: string;\r\n data: ContulMeu[];\r\n\r\n vizualizare: string = \"Generala\";\r\n reprezentareForm: FormGroup;\r\n\r\n get currentUserId() {\r\n if (this.authService.currentUser) {\r\n this._currentUserId = this.authService.currentUser.id;\r\n }\r\n\r\n return this._currentUserId;\r\n }\r\n \r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private authService: AuthService,\r\n private snackBar: MatSnackBar,\r\n public dialog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.vizualizare = 'Generala';\r\n this.loadingIndicator = true;\r\n\r\n this.fetch((data) => {\r\n this.dataSource.data = data;\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n \r\n showErrorAlert(caption: string, message: string) {\r\n this.alertService.showMessage(caption, message, MessageSeverity.error);\r\n }\r\n\r\n reset() {\r\n this.nume = \"\";\r\n this.prenume = \"\";\r\n this.document = \"\";\r\n }\r\n\r\n fetch(cb) {\r\n this.afiseazaDate();\r\n }\r\n\r\n afiseazaDate() {\r\n\r\n this.loadingIndicator = true;\r\n\r\n let nume = this.nume == null || this.nume == \"\" ? \"undefined\" : this.nume;\r\n let prenume = this.prenume == null || this.prenume == \"\" ? \"undefined\" : this.prenume;\r\n let document = this.document == null || this.document == \"\" ? \"undefined\" : this.document;\r\n\r\n this.accountService\r\n .getContulMeuList(nume, prenume, document)\r\n .subscribe(results => {\r\n \r\n let linii = results[0];\r\n\r\n let liniiReconverted = JSON.parse(JSON.stringify(linii));\r\n\r\n this.data = liniiReconverted;\r\n\r\n this.dataSource.data = this.data;\r\n\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n cereAprobareReprezentant(contulMeu: ContulMeu) {\r\n this.alertService.showDialog('Confirm', 'Confirm personal information for ' + contulMeu.nume + ' ' + contulMeu.prenume + ' ?', DialogType.confirm, () => this.aprobareReprezentant(contulMeu));\r\n }\r\n\r\n vizualizareDetaliiCont(contulMeu: ContulMeu) {\r\n this.contulMeu = contulMeu;\r\n this.vizualizare = 'Detalii';\r\n this.buildForm();\r\n }\r\n\r\n Cancel() {\r\n this.vizualizare = 'Generala';\r\n\r\n this.fetch((data) => {\r\n this.dataSource.data = data;\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n });\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n aprobareReprezentant(contulMeu: ContulMeu) {\r\n this.alertService.startLoadingMessage('Confirming...');\r\n this.accountService.aprobareContulMeu(contulMeu).subscribe(\r\n role => this.saveSuccessHelper(this.contulMeu),\r\n error => this.saveFailedHelper(error));\r\n }\r\n\r\n private saveSuccessHelper(contulMeu?: ContulMeu) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"Success\", `Personal information approved!`, MessageSeverity.success);\r\n this.afiseazaDate();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Error\", \"Errors: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n ///\r\n private buildForm() {\r\n this.reprezentareForm = this.formBuilder.group({\r\n tbNume: ['', Validators.required],\r\n tbPrenume: ['', Validators.required],\r\n //tbCNP: ['', Validators.required],\r\n //tbDocument: ['', Validators.required],\r\n tbLocalitate: ['', Validators.required],\r\n tbAdresa: ['', Validators.required],\r\n tbTelefon: ['', Validators.required],\r\n tbStare: new FormControl({ value: '' })\r\n });\r\n }\r\n\r\n get tbNume() {\r\n return this.reprezentareForm.get('tbNume');\r\n }\r\n\r\n get tbPrenume() {\r\n return this.reprezentareForm.get('tbPrenume');\r\n }\r\n\r\n get tbCNP() {\r\n return this.reprezentareForm.get('tbCNP');\r\n }\r\n\r\n get tbDocument() {\r\n return this.reprezentareForm.get('tbDocument');\r\n }\r\n\r\n get tbLocalitate() {\r\n return this.reprezentareForm.get('tbLocalitate');\r\n }\r\n\r\n get tbAdresa() {\r\n return this.reprezentareForm.get('tbAdresa');\r\n }\r\n\r\n get tbTelefon() {\r\n return this.reprezentareForm.get('tbTelefon');\r\n }\r\n\r\n get tbStare() {\r\n return this.reprezentareForm.get('tbStare');\r\n }\r\n\r\n descarcaFisierCI() {\r\n this.accountService.downloadDocCI(this.contulMeu.id.toString()).subscribe(result => {\r\n let blob = new Blob(result, {\r\n type: 'application/pdf' // must match the Accept type\r\n });\r\n\r\n let filename = 'CI_' + this.contulMeu.id + '.pdf';\r\n FileSaver.saveAs(blob, filename);\r\n });\r\n }\r\n}\r\n\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Nume\\r\\n \\r\\n \\r\\n Va rugam sa introduceti numele!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Prenume\\r\\n \\r\\n \\r\\n Va rugam sa introduceti prenumele!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n CNP\\r\\n \\r\\n \\r\\n Va rugam sa introduceti CNP-ul!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Serie si numar carte de identitate\\r\\n \\r\\n \\r\\n Va rugam sa introduceti seria si numarul cartii de identitate!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Localitate\\r\\n \\r\\n \\r\\n Va rugam sa introduceti localitatea!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Adresa\\r\\n \\r\\n \\r\\n Va rugam sa introduceti adresa!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Banca\\r\\n \\r\\n \\r\\n Va rugam sa introduceti banca!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Cont bancar\\r\\n \\r\\n \\r\\n Va rugam sa introduceti contul bancar!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Telefon\\r\\n \\r\\n \\r\\n Va rugam sa introduceti telefonul!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stare cont\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
 
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n    \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \".example-form {\\n min-width: 400px;\\n max-width: 800px;\\n width: 100%; }\\n\\n.example-full-width {\\n width: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZXByZXplbnRhcmkvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxjb21wb25lbnRzXFxyZXByZXplbnRhcmlcXHJlcHJlemVudGFyaS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaOztBQUVEO0VBQ0UsWUFBVyxFQUNaIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9yZXByZXplbnRhcmkvcmVwcmV6ZW50YXJpLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtZm9ybSB7XHJcbiAgbWluLXdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZXhhbXBsZS1mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { FormBuilder, FormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { ContulMeu } from 'src/app/models/contulMeu.model';\r\n\r\n@Component({\r\n selector: 'reprezentari',\r\n templateUrl: './reprezentari.component.html',\r\n styleUrls: ['./reprezentari.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class ReprezentariComponent\r\n{\r\n private isSaving: boolean;\r\n private isNew: boolean;\r\n reprezentareForm: FormGroup;\r\n contulMeu: ContulMeu;\r\n \r\n afuConfig = {\r\n uploadAPI: {\r\n url: \"https://example-file-upload-api\"\r\n }\r\n };\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private formBuilder: FormBuilder,\r\n private accountService: AccountService,\r\n )\r\n {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.contulMeu = new ContulMeu();\r\n this.afiseazaDateDinContulMeu();\r\n }\r\n\r\n afiseazaDateDinContulMeu() {\r\n this.accountService\r\n .getUserContulMeu()\r\n .subscribe(result => {\r\n \r\n this.contulMeu = result;\r\n\r\n //console.log(this.contulMeu);\r\n\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n save() {\r\n if (this.reprezentareForm.valid) {\r\n this.accountService.newContulMeu(this.contulMeu).subscribe(\r\n role => this.saveSuccessHelper(this.contulMeu),\r\n error => this.saveFailedHelper(error));\r\n }\r\n else {\r\n \r\n }\r\n }\r\n\r\n private saveSuccessHelper(contulMeu?: ContulMeu) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.alertService.showMessage(\"Success\", `Datele contului au fost salvate cu succes!`, MessageSeverity.success);\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", \"In procesul de salvare s-au produs urmatoarele erori: \", MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private buildForm() {\r\n this.reprezentareForm = this.formBuilder.group({\r\n tbNume: ['', Validators.required],\r\n tbPrenume: ['', Validators.required],\r\n tbCNP: ['', Validators.required],\r\n tbDocument: ['', Validators.required],\r\n tbLocalitate: ['', Validators.required],\r\n tbAdresa: ['', Validators.required],\r\n tbBanca: ['', Validators.required],\r\n tbContBancar: ['', Validators.required],\r\n tbTelefon: ['', Validators.required],\r\n tbStare: new FormControl({ value: '' })\r\n });\r\n }\r\n\r\n get tbNume() {\r\n return this.reprezentareForm.get('tbNume');\r\n }\r\n\r\n get tbPrenume() {\r\n return this.reprezentareForm.get('tbPrenume');\r\n }\r\n\r\n get tbCNP() {\r\n return this.reprezentareForm.get('tbCNP');\r\n }\r\n\r\n get tbDocument() {\r\n return this.reprezentareForm.get('tbDocument');\r\n }\r\n\r\n get tbLocalitate() {\r\n return this.reprezentareForm.get('tbLocalitate');\r\n }\r\n\r\n get tbAdresa() {\r\n return this.reprezentareForm.get('tbAdresa');\r\n }\r\n\r\n get tbBanca() {\r\n return this.reprezentareForm.get('tbBanca');\r\n }\r\n\r\n get tbContBancar() {\r\n return this.reprezentareForm.get('tbContBancar');\r\n }\r\n\r\n get tbTelefon() {\r\n return this.reprezentareForm.get('tbTelefon');\r\n }\r\n\r\n get tbStare() {\r\n return this.reprezentareForm.get('tbStare');\r\n }\r\n \r\n private cancel() {\r\n\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class Companie\r\n{\r\n public id: string;\r\n public denumire: string;\r\n public type: string;\r\n public cif: string;\r\n public regCom: string;\r\n public vat: string;\r\n public country: string;\r\n public localitate: string;\r\n public codPostal: string;\r\n public adresa: string;\r\n public banca: string;\r\n public contBancar: string;\r\n public telefon: string;\r\n public reprezentant: string;\r\n public reprezentantid: string;\r\n public companieid: string;\r\n public stare: string;\r\n public stareafisare: string;\r\n public companieSelectata: boolean;\r\n public fisierCUI: string;\r\n public fisierCertificatFiscal: string;\r\n public fisierImputernicire: string;\r\n public fisierAprobareAdministratorJudiciar: string;\r\n public fisierAcordCompensareCuNerezidenti: string;\r\n public status: string;\r\n\r\n public documentCUI: File;\r\n public documentCertificatFiscal: File;\r\n public documentImputernicire: File;\r\n public documentAprobareAdministratorJudiciar: File;\r\n public documentAcordCompensareCuNerezidenti: File;\r\n\r\n}\r\n\r\n","export class DetaliuCircuit\r\n{\r\n public nrCrt: number;\r\n public companieId: string;\r\n public denumire: string;\r\n public cif: string;\r\n}\r\n\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class Product\r\n{\r\n public id: string;\r\n public reference: string;\r\n public description: string;\r\n public descriptionro: string;\r\n public descriptionen: string;\r\n public productgrup: string;\r\n public productnumber: string;\r\n public status: string;\r\n public pricedealer: number;\r\n public pricefinalcustomer: string;\r\n public descriptionfr: string;\r\n public catalogreference: string;\r\n public vehicleReference: string;\r\n public serialNumber: number;\r\n public selected: boolean;\r\n public selectedDependentProduct: boolean;\r\n public depedentProduct: string;\r\n public pricedealerCustomized: string;\r\n public pricefinalcustomerCustomized: string;\r\n}\r\n\r\nexport class GetPhotosWitPoductGroupsViewModel {\r\n public carReference: string;\r\n public productList: Product[];\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class Car\r\n{\r\n public id: string;\r\n public category: string;\r\n public make: string;\r\n public model: string;\r\n public body: string;\r\n public variant: string;\r\n public wheelbase: string;\r\n public height: string;\r\n public dimensions: string;\r\n public loadingSpace: string;\r\n public wheelLayout: string;\r\n public transmission: string;\r\n public reference: string;\r\n public exceptions: string;\r\n public exceptions2: string;\r\n public modelAccess: string;\r\n public status: string;\r\n public display: string;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class CatalogLink\r\n{\r\n public id: string;\r\n public catalogReference: string;\r\n public linkCatalogEn: string;\r\n public linkCatalogNl: string;\r\n public linkCatalogRo: string;\r\n public linkCatalogFr: string;\r\n public status: string;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class ContulMeu\r\n{\r\n public id: string;\r\n public nume: string;\r\n public prenume: string;\r\n public cnp: string;\r\n public document: string;\r\n public localitate: string;\r\n public adresa: string;\r\n public banca: string;\r\n public contBancar: string;\r\n public telefon: string;\r\n public stare: string;\r\n public stareAfisare: string;\r\n public fisierCI: string;\r\n public companiiReprezentateString: string;\r\n public documentCI: File;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Utilities } from \"../services/utilities\";\r\n\r\n\r\nexport class Notification\r\n{\r\n public static Create(data: {})\r\n {\r\n let n = new Notification();\r\n Object.assign(n, data);\r\n\r\n if (n.date)\r\n n.date = Utilities.parseDate(n.date);\r\n\r\n return n;\r\n }\r\n\r\n public id: number;\r\n public header: string;\r\n public body: string;\r\n public isRead: boolean;\r\n public isPinned: boolean;\r\n public date: Date;\r\n}\r\n","import { Poze } from \"./poze.model\";\r\nimport { Companie } from \"./companie.model\";\r\nimport { Product } from \"./Product.model\";\r\n\r\n// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class Offer\r\n{\r\n public id: string;\r\n public carId: string;\r\n public createdBy: string;\r\n public subject: string;\r\n public clientName: string;\r\n public status: string;\r\n public offerDetails: OfferDetail[];\r\n public offerPhotos: PhotoDetail[];\r\n}\r\n\r\nexport class PhotoDetail {\r\n public id: string;\r\n public offerId: string;\r\n public photoId: string;\r\n public photo: string;\r\n}\r\n\r\nexport class OfferDetail {\r\n public id: string;\r\n public offerId: string;\r\n public productId: string;\r\n public linkCatalog: string;\r\n public product: Product;\r\n}\r\n\r\nexport class OfferVM {\r\n public id: string;\r\n public carId: string;\r\n\r\n public companieId: string;\r\n public companie: Companie;\r\n\r\n public createdBy: string;\r\n public status: string;\r\n public subject: string;\r\n public clientName: string;\r\n public offerDetails: OfferDetailVM[];\r\n public offerPhotos: PhotoDetailVM[];\r\n}\r\n\r\nexport class PhotoDetailVM {\r\n public id: string;\r\n public offerId: string;\r\n public photoId: string;\r\n public photo: string;\r\n}\r\n\r\nexport class OfferDetailVM {\r\n public id: string;\r\n public offerId: string;\r\n public productId: string;\r\n public linkCatalog: string;\r\n}\r\n\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport type PermissionNames =\r\n \"View Users\" | \"Manage Users\" |\r\n \"Manage Offers\" | \"Manage Customer Companies\" | \"Manage Vehicle Configuration\" | \"Manage Product Configuration\" | \"Manage Catalog Link\" | \"Manage Photo Info\" |\r\n \"View Roles\" | \"Manage Roles\" | \"Assign Roles\";\r\n\r\nexport type PermissionValues =\r\n \"users.view\" | \"users.manage\" |\r\n \"users.manage.offers\" | \"users.manage.companieReprezentari\" | \"users.manage.car\" | \"users.manage.product\" | \"users.manage.cataloglink\" | \"users.manage.photo\" |\r\n \"roles.view\" | \"roles.manage\" | \"roles.assign\";\r\n\r\nexport class Permission {\r\n\r\n public static readonly viewUsersPermission: PermissionValues = \"users.view\";\r\n public static readonly manageUsersPermission: PermissionValues = \"users.manage\";\r\n public static readonly manageOffersPermission: PermissionValues = \"users.manage.offers\";\r\n public static readonly manageCompanieReprezentariPermission: PermissionValues = \"users.manage.companieReprezentari\";\r\n public static readonly manageCarPermission: PermissionValues = \"users.manage.car\";\r\n public static readonly manageProductPermission: PermissionValues = \"users.manage.product\";\r\n public static readonly manageCatalogLinkPermission: PermissionValues = \"users.manage.cataloglink\";\r\n public static readonly managePhotoPermission: PermissionValues = \"users.manage.photo\";\r\n\r\n public static readonly viewRolesPermission: PermissionValues = \"roles.view\";\r\n public static readonly manageRolesPermission: PermissionValues = \"roles.manage\";\r\n public static readonly assignRolesPermission: PermissionValues = \"roles.assign\";\r\n\r\n constructor(name?: PermissionNames, value?: PermissionValues, groupName?: string, description?: string) {\r\n this.name = name;\r\n this.value = value;\r\n this.groupName = groupName;\r\n this.description = description;\r\n }\r\n\r\n public name: PermissionNames;\r\n public value: PermissionValues;\r\n public groupName: string;\r\n public description: string;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class Poze\r\n{\r\n public id: string;\r\n public productGroup: string;\r\n public vehicleReference: string;\r\n public photoReference: string;\r\n public status: string;\r\n public photo: File;\r\n public selected: boolean = false;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class Product\r\n{\r\n public id: string;\r\n public reference: string;\r\n public description: string;\r\n public descriptionro: string;\r\n public descriptionen: string;\r\n public productgrup: string;\r\n public productnumber: string;\r\n public status: string;\r\n public pricedealer: number;\r\n public pricefinalcustomer: string;\r\n public descriptionfr: string;\r\n public catalogreference: string;\r\n public vehicleReference: string;\r\n public serialNumber: number;\r\n public selected: boolean;\r\n public selectedDependentProduct: boolean;\r\n public depedentProduct: string;\r\n public pricedealerCustomized: string;\r\n public pricefinalcustomerCustomized: string;\r\n}\r\n\r\nexport class GetPhotosWitPoductGroupsViewModel {\r\n public carReference: string;\r\n public productList: Product[];\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Permission } from './permission.model';\r\n\r\n\r\nexport class Role {\r\n\r\n constructor(name?: string, description?: string, permissions?: Permission[]) {\r\n\r\n this.name = name;\r\n this.description = description;\r\n this.permissions = permissions;\r\n }\r\n\r\n public id: string;\r\n public name: string;\r\n public description: string;\r\n public usersCount: number;\r\n public permissions: Permission[];\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { User } from './user.model';\r\n\r\nexport class UserEdit extends User\r\n{\r\n constructor(currentPassword?: string, newPassword?: string, confirmPassword?: string)\r\n {\r\n super();\r\n\r\n this.currentPassword = currentPassword;\r\n this.newPassword = newPassword;\r\n this.confirmPassword = confirmPassword\r\n }\r\n\r\n public currentPassword: string;\r\n public newPassword: string;\r\n public confirmPassword: string;\r\n public transmitereMail: string;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class UserLogin\r\n{\r\n constructor(userName?: string, password?: string, rememberMe?: boolean)\r\n {\r\n this.userName = userName;\r\n this.password = password;\r\n this.rememberMe = rememberMe;\r\n }\r\n\r\n userName: string;\r\n password: string;\r\n rememberMe: boolean;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport class User\r\n{\r\n // Note: Using only optional constructor properties without backing store disables typescript's type checking for the type\r\n constructor(id?: string, userName?: string, fullName?: string, email?: string, jobTitle?: string, phoneNumber?: string, roles?: string[])\r\n {\r\n\r\n this.id = id;\r\n this.userName = userName;\r\n this.fullName = fullName;\r\n this.email = email;\r\n this.jobTitle = jobTitle;\r\n this.phoneNumber = phoneNumber;\r\n this.roles = roles;\r\n }\r\n\r\n get friendlyName(): string\r\n {\r\n let name = this.fullName || this.userName;\r\n\r\n if (this.jobTitle)\r\n name = this.jobTitle + \" \" + name;\r\n\r\n return name;\r\n }\r\n\r\n\r\n public id: string;\r\n public userName: string;\r\n public fullName: string;\r\n public email: string;\r\n public jobTitle: string;\r\n public phoneNumber: string;\r\n public isEnabled: boolean;\r\n public isLockedOut: boolean;\r\n public roles: string[];\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule } from \"@angular/core\";\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\n\r\n@NgModule({\r\n imports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n ],\r\n})\r\nexport class QuickAppProMaterialModule { }\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n\r\n@Pipe({ name: 'groupBy' })\r\nexport class GroupByPipe implements PipeTransform {\r\n\r\n transform(value: Array, field: string): Array {\r\n\r\n if (!value)\r\n return value;\r\n\r\n const groupedObj = value.reduce((prev, cur) => {\r\n if (!prev[cur[field]]) {\r\n prev[cur[field]] = [cur];\r\n }\r\n else {\r\n prev[cur[field]].push(cur);\r\n }\r\n\r\n return prev;\r\n }, {});\r\n\r\n return Object.keys(groupedObj).map(key => ({ key, value: groupedObj[key] }));\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { EndpointFactory } from './endpoint-factory.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { reference } from '@angular/core/src/render3';\r\nimport { GetPhotosWitPoductGroupsViewModel } from '../models/Product.model';\r\n\r\n@Injectable()\r\nexport class AccountEndpoint extends EndpointFactory {\r\n\r\n private readonly _usersUrl: string = \"/api/account/users\";\r\n private readonly _userByUserNameUrl: string = \"/api/account/users/username\";\r\n private readonly _currentUserUrl: string = \"/api/account/users/me\";\r\n private readonly _currentUserPreferencesUrl: string = \"/api/account/users/me/preferences\";\r\n private readonly _unblockUserUrl: string = \"/api/account/users/unblock\";\r\n private readonly _rolesUrl: string = \"/api/account/roles\";\r\n private readonly _roleByRoleNameUrl: string = \"/api/account/roles/name\";\r\n private readonly _permissionsUrl: string = \"/api/account/permissions\";\r\n private readonly _contulMeuUrl: string = \"/api/account/contulMeu\";\r\n private readonly _contulMeuListUrl: string = \"/api/account/contulMeuList\";\r\n private readonly _aprobareContulMeuUrl: string = \"/api/account/aprobareContulMeu\";\r\n private readonly _companieUrl: string = \"/api/account/companie\";\r\n private readonly _companiiReprezentateUrl: string = \"/api/account/companiiReprezentate\";\r\n private readonly _companiiReprezentateAutocompleteUrl: string = \"/api/account/companiiReprezentateAutocomplete\";\r\n private readonly _aprobarereprezentareCompanie: string = \"/api/account/aprobarereprezentareCompanie\";\r\n private readonly _selectieCompanie: string = \"/api/account/selectieCompanie\";\r\n private readonly _getCompanieSelectata: string = \"/api/account/getCompanieSelectata\";\r\n private readonly _usersFromOutsideUrl: string = \"/api/accountFromOutside/usersFromOutside\";\r\n private readonly _sendMailForPasswordRecoveryUrl: string = \"/api/accountFromOutside/sendMailForPasswordRecovery\";\r\n private readonly _confirmUserUrl: string = \"/api/accountFromOutside/confirmUser\";\r\n private readonly _getCompaniiUrl: string = \"/api/accountFromOutside/getCompanii\";\r\n private readonly _uploadFilesUrl: string = \"/api/files/uploadFiles\";\r\n private readonly _uploadPriceFilesUrl: string = \"/api/files/uploadPriceFiles\";\r\n private readonly _getDownloadFileUrl: string = \"/api/account/download\";\r\n private readonly _getDownloadOfferFileUrl: string = \"/api/account/downloadOffer\";\r\n private readonly _uploadDocumentCiUrl: string = \"/api/files/uploadDocumentCiUrl\";\r\n private readonly _getDownloadFileCIUrl: string = \"/api/account/downloadCI\";\r\n private readonly _uploadDocumentCompanieUrl: string = \"/api/files/uploadDocumentCompanie\";\r\n private readonly _getDownloadDocumentCompanieUrl: string = \"/api/account/downloadDocumentCompanie\";\r\n private readonly _deleteCompanyUrl: string = \"/api/account/deleteCompany\";\r\n\r\n private readonly _carsUrl: string = \"/api/account/cars\";\r\n private readonly _carsConfiguratorUrl: string = \"/api/account/carsConfigurator\";\r\n private readonly _productUrl: string = \"/api/account/products\";\r\n private readonly _productConfiguratorUrl: string = \"/api/account/productConfigurator\";\r\n private readonly _catalogLinkUrl: string = \"/api/account/catalogLinks\";\r\n private readonly _catalogLinkConfiguratorUrl: string = \"/api/account/catalogLinkConfigurator\";\r\n private readonly _offerUrl: string = \"/api/account/offer\";\r\n private readonly _offerConfiguratorUrl: string = \"/api/account/offerConfigurator\";\r\n private readonly _pozeUrl: string = \"/api/account/photos\";\r\n private readonly _getPhotosWitPoductGroupsViewModel: string = \"/api/account/getPhotosWitPoductGroupsViewModel\";\r\n private readonly _updatePhotoUrl: string = \"/api/account/updatePhoto\";\r\n private readonly _pozeConfiguratorUrl: string = \"/api/account/pozeConfigurator\";\r\n private readonly _offerListProductPhotoUrl: string = \"/api/account/offerListProductPhoto\";\r\n private readonly _auditLoginListUrl: string = \"/api/account/auditLoginList\";\r\n\r\n get usersUrl() { return this.configurations.baseUrl + this._usersUrl; }\r\n get userByUserNameUrl() { return this.configurations.baseUrl + this._userByUserNameUrl; }\r\n get currentUserUrl() { return this.configurations.baseUrl + this._currentUserUrl; }\r\n get currentUserPreferencesUrl() { return this.configurations.baseUrl + this._currentUserPreferencesUrl; }\r\n get unblockUserUrl() { return this.configurations.baseUrl + this._unblockUserUrl; }\r\n get rolesUrl() { return this.configurations.baseUrl + this._rolesUrl; }\r\n get roleByRoleNameUrl() { return this.configurations.baseUrl + this._roleByRoleNameUrl; }\r\n get permissionsUrl() { return this.configurations.baseUrl + this._permissionsUrl; }\r\n get contulMeuUrl() { return this.configurations.baseUrl + this._contulMeuUrl; }\r\n get contulMeuListUrl() { return this.configurations.baseUrl + this._contulMeuListUrl; }\r\n get aprobareContulMeu() { return this.configurations.baseUrl + this._aprobareContulMeuUrl; }\r\n get companieUrl() { return this.configurations.baseUrl + this._companieUrl; }\r\n get companiiReprezentateUrl() { return this.configurations.baseUrl + this._companiiReprezentateUrl; }\r\n get companiiReprezentateAutocompleteUrl() { return this.configurations.baseUrl + this._companiiReprezentateAutocompleteUrl; } \r\n get aprobarereprezentareCompanie() { return this.configurations.baseUrl + this._aprobarereprezentareCompanie; }\r\n get selectieCompanie() { return this.configurations.baseUrl + this._selectieCompanie; }\r\n get getCompanieSelectata() { return this.configurations.baseUrl + this._getCompanieSelectata; }\r\n get usersFromOutsideUrl() { return this.configurations.baseUrl + this._usersFromOutsideUrl; }\r\n get sendMailForPasswordRecoveryUrl() { return this.configurations.baseUrl + this._sendMailForPasswordRecoveryUrl; }\r\n get confirmUserUrl() { return this.configurations.baseUrl + this._confirmUserUrl; }\r\n get getCompaniiUrl() { return this.configurations.baseUrl + this._getCompaniiUrl; }\r\n get uploadFilesUrl() { return this.configurations.baseUrl + this._uploadFilesUrl; }\r\n get uploadPriceFilesUrl() { return this.configurations.baseUrl + this._uploadPriceFilesUrl; }\r\n get getDownloadFileUrl() { return this.configurations.baseUrl + this._getDownloadFileUrl; }\r\n get getDownloadOfferFileUrl() { return this.configurations.baseUrl + this._getDownloadOfferFileUrl; }\r\n get uploadDocumentCiUrl() { return this.configurations.baseUrl + this._uploadDocumentCiUrl; }\r\n get getDownloadFileCIUrl() { return this.configurations.baseUrl + this._getDownloadFileCIUrl; }\r\n get uploadDocumentCompanieUrl() { return this.configurations.baseUrl + this._uploadDocumentCompanieUrl; }\r\n get getDownloadDocumentCompanieUrl() { return this.configurations.baseUrl + this._getDownloadDocumentCompanieUrl; }\r\n get deleteCompanyUrl() { return this.configurations.baseUrl + this._deleteCompanyUrl; }\r\n\r\n //\r\n get carsUrl() { return this.configurations.baseUrl + this._carsUrl; }\r\n get carsConfiguratorUrl() { return this.configurations.baseUrl + this._carsConfiguratorUrl; }\r\n get productUrl() { return this.configurations.baseUrl + this._productUrl; }\r\n get productConfiguratorUrl() { return this.configurations.baseUrl + this._productConfiguratorUrl; }\r\n get catalogLinkUrl() { return this.configurations.baseUrl + this._catalogLinkUrl; }\r\n get catalogLinkConfiguratorUrl() { return this.configurations.baseUrl + this._catalogLinkConfiguratorUrl; }\r\n get offerUrl() { return this.configurations.baseUrl + this._offerUrl; }\r\n //get updateOfferUrl() { return this.configurations.baseUrl + this.updateOfferUrl; }\r\n get offerConfiguratorUrl() { return this.configurations.baseUrl + this._offerConfiguratorUrl; }\r\n get pozeUrl() { return this.configurations.baseUrl + this._pozeUrl; }\r\n get getPhotosWitPoductGroupsViewModel() { return this.configurations.baseUrl + this._getPhotosWitPoductGroupsViewModel; }\r\n get updatePhotoUrl() { return this.configurations.baseUrl + this._updatePhotoUrl; }\r\n get pozeConfiguratorUrl() { return this.configurations.baseUrl + this._pozeConfiguratorUrl; }\r\n get offerListProductPhotoUrl() { return this.configurations.baseUrl + this._offerListProductPhotoUrl; }\r\n get auditLoginListUrl() { return this.configurations.baseUrl + this._auditLoginListUrl; }\r\n\r\n constructor(http: HttpClient, configurations: ConfigurationService, injector: Injector) {\r\n\r\n super(http, configurations, injector);\r\n }\r\n\r\n getUserEndpoint(userId?: string): Observable {\r\n let endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n getUserByUserNameEndpoint(userName: string): Observable {\r\n let endpointUrl = `${this.userByUserNameUrl}/${userName}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserByUserNameEndpoint(userName));\r\n }));\r\n }\r\n\r\n getUsersEndpoint(page?: number, pageSize?: number): Observable {\r\n let endpointUrl = page && pageSize ? `${this.usersUrl}/${page}/${pageSize}` : this.usersUrl;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUsersEndpoint(page, pageSize));\r\n }));\r\n }\r\n\r\n getNewUserEndpoint(userObject: any): Observable {\r\n\r\n return this.http.post(this.usersUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewUserEndpoint(userObject));\r\n }));\r\n }\r\n\r\n confirmUserEndpoint(userObject: any): Observable {\r\n return this.http.post(this.confirmUserUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.confirmUserEndpoint(userObject));\r\n }));\r\n }\r\n \r\n getNewUserFromOutsideEndpoint(userObject: any): Observable {\r\n return this.http.post(this.usersFromOutsideUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewUserFromOutsideEndpoint(userObject));\r\n }));\r\n }\r\n\r\n sendMailForPasswordRecoveryEndpoint(userObject: any): Observable {\r\n\r\n return this.http.post(this.sendMailForPasswordRecoveryUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.sendMailForPasswordRecoveryEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getUpdateUserEndpoint(userObject: any, userId?: string): Observable {\r\n let endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\r\n\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUpdateUserEndpoint(userObject, userId));\r\n }));\r\n }\r\n\r\n getPatchUpdateUserEndpoint(patch: {}, userId?: string): Observable\r\n getPatchUpdateUserEndpoint(value: any, op: string, path: string, from?: any, userId?: string): Observable\r\n getPatchUpdateUserEndpoint(valueOrPatch: any, opOrUserId?: string, path?: string, from?: any, userId?: string): Observable {\r\n let endpointUrl: string;\r\n let patchDocument: {};\r\n\r\n if (path) {\r\n endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\r\n patchDocument = from ?\r\n [{ \"value\": valueOrPatch, \"path\": path, \"op\": opOrUserId, \"from\": from }] :\r\n [{ \"value\": valueOrPatch, \"path\": path, \"op\": opOrUserId }];\r\n }\r\n else {\r\n endpointUrl = opOrUserId ? `${this.usersUrl}/${opOrUserId}` : this.currentUserUrl;\r\n patchDocument = valueOrPatch;\r\n }\r\n\r\n return this.http.patch(endpointUrl, JSON.stringify(patchDocument), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPatchUpdateUserEndpoint(valueOrPatch, opOrUserId, path, from, userId));\r\n }));\r\n }\r\n\r\n getUserPreferencesEndpoint(): Observable {\r\n\r\n return this.http.get(this.currentUserPreferencesUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserPreferencesEndpoint());\r\n }));\r\n }\r\n\r\n getUpdateUserPreferencesEndpoint(configuration: string): Observable {\r\n return this.http.put(this.currentUserPreferencesUrl, JSON.stringify(configuration), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUpdateUserPreferencesEndpoint(configuration));\r\n }));\r\n }\r\n\r\n getUnblockUserEndpoint(userId: string): Observable {\r\n let endpointUrl = `${this.unblockUserUrl}/${userId}`;\r\n\r\n return this.http.put(endpointUrl, null, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUnblockUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n getDeleteUserEndpoint(userId: string): Observable {\r\n let endpointUrl = `${this.usersUrl}/${userId}`;\r\n\r\n return this.http.delete(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getDeleteUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n getRoleEndpoint(roleId: string): Observable {\r\n let endpointUrl = `${this.rolesUrl}/${roleId}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRoleEndpoint(roleId));\r\n }));\r\n }\r\n\r\n getRoleByRoleNameEndpoint(roleName: string): Observable {\r\n let endpointUrl = `${this.roleByRoleNameUrl}/${roleName}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRoleByRoleNameEndpoint(roleName));\r\n }));\r\n }\r\n\r\n getRolesEndpoint(page?: number, pageSize?: number): Observable {\r\n let endpointUrl = page && pageSize ? `${this.rolesUrl}/${page}/${pageSize}` : this.rolesUrl;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRolesEndpoint(page, pageSize));\r\n }));\r\n }\r\n\r\n getNewRoleEndpoint(roleObject: any): Observable {\r\n\r\n return this.http.post(this.rolesUrl, JSON.stringify(roleObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewRoleEndpoint(roleObject));\r\n }));\r\n }\r\n\r\n getUpdateRoleEndpoint(roleObject: any, roleId: string): Observable {\r\n let endpointUrl = `${this.rolesUrl}/${roleId}`;\r\n\r\n return this.http.put(endpointUrl, JSON.stringify(roleObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUpdateRoleEndpoint(roleObject, roleId));\r\n }));\r\n }\r\n\r\n getDeleteRoleEndpoint(roleId: string): Observable {\r\n let endpointUrl = `${this.rolesUrl}/${roleId}`;\r\n\r\n return this.http.delete(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getDeleteRoleEndpoint(roleId));\r\n }));\r\n }\r\n\r\n getPermissionsEndpoint(): Observable {\r\n\r\n return this.http.get(this.permissionsUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPermissionsEndpoint());\r\n }));\r\n }\r\n\r\n getNewContulMeuEndpoint(userObject: any): Observable {\r\n return this.http.post(this.contulMeuUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewContulMeuEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getNewPozeEndpoint(userObject: any): Observable {\r\n return this.http.post(this.pozeUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewPozeEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getUserContulMeuEndpoint(userId?: string): Observable {\r\n let endpointUrl = userId ? `${this.contulMeuUrl}/${userId}` : `${this.contulMeuUrl}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserContulMeuEndpoint(userId));\r\n }));\r\n }\r\n\r\n getUserPozeEndpoint(userId?: string): Observable {\r\n let endpointUrl = userId ? `${this.pozeUrl}/${userId}` : `${this.pozeUrl}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserPozeEndpoint(userId));\r\n }));\r\n }\r\n\r\n getContulMeuListEndpoint(nume?: string, prenume?: string, document?: string): Observable {\r\n let endpointUrl = `${this.contulMeuListUrl}/${nume}&${prenume}&${document}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getContulMeuListEndpoint(nume, prenume, document));\r\n }));\r\n }\r\n\r\n getAprobareContulMeuEndpoint(userObject: any): Observable {\r\n return this.http.post(this.aprobareContulMeu, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getAprobareContulMeuEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getNewCompanieEndpoint(userObject: any): Observable {\r\n return this.http.post(this.companieUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewCompanieEndpoint(userObject));\r\n }));\r\n }\r\n \r\n getCompaniiReprezentateAutocompleteListEndpoint(denumire?: string, cif?: string, all?: string): Observable {\r\n let endpointUrl = `${this.companiiReprezentateAutocompleteUrl}/${denumire}&${cif}&${all}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCompaniiReprezentateAutocompleteListEndpoint(denumire, cif, all));\r\n }));\r\n }\r\n \r\n getCompaniiReprezentateListEndpoint(denumire?: string, cif?: string, all?: string): Observable {\r\n let endpointUrl = `${this.companiiReprezentateUrl}/${denumire}&${cif}&${all}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCompaniiReprezentateListEndpoint(denumire, cif, all));\r\n }));\r\n }\r\n \r\n aprobareReprezentareCompanieEndpoint(userObject: any): Observable {\r\n return this.http.post(this.aprobarereprezentareCompanie, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.aprobareReprezentareCompanieEndpoint(userObject));\r\n }));\r\n }\r\n\r\n selectieCompanieEndpoint(userObject: any): Observable {\r\n return this.http.post(this.selectieCompanie, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.selectieCompanieEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getCompanieSelectataEndpoint(): Observable {\r\n let endpointUrl = this.getCompanieSelectata;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCompanieSelectataEndpoint());\r\n }));\r\n }\r\n \r\n getCompaniiListForAutocompleteEndpoint(denumire?: string, cif?: string, all?: string): Observable {\r\n let endpointUrl = `${this.getCompaniiUrl}/${denumire}&${cif}&${all}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCompaniiListForAutocompleteEndpoint(denumire, cif, all));\r\n }));\r\n }\r\n \r\n downloadDocEndpoint(filename?: string): Observable {\r\n let endpointUrl = `${this.getDownloadFileUrl}/${filename}`;\r\n \r\n return this.http.get(\r\n endpointUrl,\r\n this.getRequestDownloadFileHeaders(),\r\n ).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.downloadDocEndpoint());\r\n }));\r\n }\r\n \r\n downloadOfferEndpoint(tip_export: string, filename?: string, browserLang?: string): Observable {\r\n let endpointUrl = `${this.getDownloadOfferFileUrl}/${tip_export}&${filename}&${browserLang}`;\r\n \r\n return this.http.get(\r\n endpointUrl,\r\n this.getRequestDownloadFileHeaders(),\r\n ).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.downloadOfferEndpoint(tip_export));\r\n }));\r\n }\r\n\r\n uploadEndpoint(tipIncarcare: string, file: any): Observable {\r\n return this.http.post(`${this.uploadFilesUrl}/${tipIncarcare}`, file, this.getRequestHeadersFileUpload()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.uploadEndpoint(tipIncarcare, file));\r\n }));\r\n }\r\n\r\n uploadPriceEndpoint(tipIncarcare: string, file: any): Observable {\r\n return this.http.post(`${this.uploadPriceFilesUrl}/${tipIncarcare}`, file, this.getRequestHeadersFileUpload()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.uploadPriceEndpoint(tipIncarcare, file));\r\n }));\r\n }\r\n \r\n uploadFisierDocumentCIEndpoint(idDetaliu: string, file: any): Observable {\r\n return this.http.post(`${this.uploadDocumentCiUrl}/${idDetaliu}`, file, this.getRequestHeadersFileUpload()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.uploadFisierDocumentCIEndpoint(idDetaliu, file));\r\n }));\r\n }\r\n\r\n downloadDocCIEndpoint(filename?: string): Observable {\r\n let endpointUrl = `${this.getDownloadFileCIUrl}/${filename}`;\r\n\r\n return this.http.get(\r\n endpointUrl,\r\n this.getRequestDownloadFileHeaders(),\r\n ).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.downloadDocCIEndpoint());\r\n }));\r\n }\r\n \r\n downloadDocumentCompanieEndpoint(idReprezentant: string, idCompanie: string, mod: string): Observable {\r\n let endpointUrl = `${this._getDownloadDocumentCompanieUrl}/${idReprezentant}/${idCompanie}/${mod}`;\r\n\r\n return this.http.get(\r\n endpointUrl,\r\n this.getRequestDownloadFileHeaders(),\r\n ).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.downloadDocumentCompanieEndpoint(idReprezentant, idCompanie, mod));\r\n }));\r\n }\r\n\r\n uploadFisierDocumentCompanieEndpoint(idReprezentant: string, idCompanie: string, file: any, mod: string): Observable {\r\n return this.http.post(`${this.uploadDocumentCompanieUrl}/${idReprezentant}/${idCompanie}/${mod}`, file, this.getRequestHeadersFileUpload()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.uploadFisierDocumentCompanieEndpoint(idReprezentant, idCompanie, file, mod));\r\n }));\r\n }\r\n\r\n getCarsListEndpoint(make?: string, model?: string): Observable {\r\n let endpointUrl = `${this.carsUrl}/${make}&${model}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCarsListEndpoint(make, model));\r\n }));\r\n }\r\n\r\n getCarsConfiguratorListEndpoint(make?: string, model?: string, body?: string, variant?: string, wheelbase?: string, height?: string, transmission?: string, reference?: string): Observable {\r\n let endpointUrl = `${this.carsConfiguratorUrl}/${make}&${model}&${body}&${variant}&${reference}&${wheelbase}&${height}&${transmission}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCarsConfiguratorListEndpoint(make, model, body, variant, wheelbase, height, transmission, reference));\r\n }));\r\n }\r\n\r\n getProductListEndpoint(reference?: string, description?: string, carReference?: string, pricedealer?: string, pricefinalcustomer?: string, descriptionfr?: string, productgrup?: string, VehicleReference?: string, descriptionro?: string, productnumber?: string, catalogreference?: string, linkCatalog?: string, descriptionen?: string, carSelect?: string): Observable {\r\n let endpointUrl = `${this.productUrl}/${reference}&${description}&${carReference}&${pricedealer}&${pricefinalcustomer}&${descriptionfr}&${productgrup}&${VehicleReference}&${descriptionro}&${productnumber}&${catalogreference}&${linkCatalog}&${descriptionen}&${carSelect}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getProductListEndpoint(reference, description, carReference, pricedealer, pricefinalcustomer, descriptionfr, productgrup, VehicleReference, descriptionro, productnumber, catalogreference, linkCatalog, descriptionen, carSelect));\r\n }));\r\n }\r\n\r\n getProductConfiguratorListEndpoint(reference?: string, description?: string, pricedealer?: string, pricefinalcustomer?: string, productgrup?: string): Observable {\r\n let endpointUrl = `${this.productConfiguratorUrl}/${reference}&${description}&${pricedealer}&${pricefinalcustomer}&${productgrup}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getProductConfiguratorListEndpoint(reference, description, pricedealer, pricefinalcustomer, productgrup));\r\n }));\r\n }\r\n\r\n getCatalogLinkListEndpoint(catalogreference?: string): Observable {\r\n let endpointUrl = `${this.catalogLinkUrl}/${catalogreference}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCatalogLinkListEndpoint(catalogreference));\r\n }));\r\n }\r\n\r\n getCatalogLinkConfiguratorListEndpoint(): Observable {\r\n let endpointUrl = `${this.catalogLinkConfiguratorUrl}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getCatalogLinkConfiguratorListEndpoint());\r\n }));\r\n }\r\n\r\n getPozeListEndpoint(ProductGroup?: string, VehicleReference?: string, PhotoReference?: string, carReference?: string, productGrup?: string): Observable {\r\n let endpointUrl = `${this.pozeUrl}/${ProductGroup}&${VehicleReference}&${PhotoReference}&${carReference}&${productGrup}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPozeListEndpoint(ProductGroup, VehicleReference, PhotoReference, carReference, productGrup));\r\n }));\r\n }\r\n\r\n getPhotosWitPoductGroupsViewModelEndpoint(getPhotosWitPoductGroupsViewModel?: GetPhotosWitPoductGroupsViewModel): Observable {\r\n let endpointUrl = `${this.getPhotosWitPoductGroupsViewModel}`;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(getPhotosWitPoductGroupsViewModel), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPhotosWitPoductGroupsViewModelEndpoint(getPhotosWitPoductGroupsViewModel));\r\n }));\r\n }\r\n\r\n getPozeConfiguratorListEndpoint(ProductGroup?: string, VehicleReference?: string, PhotoReference?: string): Observable {\r\n let endpointUrl = `${this.pozeConfiguratorUrl}/${ProductGroup}&${VehicleReference}&${PhotoReference}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPozeConfiguratorListEndpoint(ProductGroup, VehicleReference, PhotoReference));\r\n }));\r\n }\r\n\r\n getOfferListEndpoint(id: string, subject: string, initialDate: string, finalDate: string): Observable {\r\n let endpointUrl = `${this.offerUrl}/${id}&${subject}&${initialDate}&${finalDate}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getOfferListEndpoint(id, subject, initialDate, finalDate));\r\n }));\r\n }\r\n\r\n getOfferConfiguratorListEndpoint(CarId?: string, usergenerare?: string, model?: string, body?: string, variant?: string, reference?: string): Observable {\r\n let endpointUrl = `${this.offerConfiguratorUrl}/${usergenerare}&${CarId}&${model}&${body}&${variant}&${reference}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getOfferConfiguratorListEndpoint(CarId, usergenerare, model, body, variant, reference));\r\n }));\r\n }\r\n\r\n saveCarEndpoint(userObject: any): Observable {\r\n return this.http.post(this.carsUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.saveCarEndpoint(userObject));\r\n }));\r\n }\r\n\r\n saveProductEndpoint(userObject: any): Observable {\r\n return this.http.post(this.productUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.saveProductEndpoint(userObject));\r\n }));\r\n }\r\n\r\n saveCatalogLinkEndpoint(userObject: any): Observable {\r\n return this.http.post(this.catalogLinkUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.saveCatalogLinkEndpoint(userObject));\r\n }));\r\n }\r\n\r\n saveOfferEndpoint(userObject: any): Observable {\r\n return this.http.post(this.offerUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.saveOfferEndpoint(userObject));\r\n }));\r\n }\r\n\r\n savePozeEndpoint(pozaObject: any): Observable {\r\n return this.http.post(this.updatePhotoUrl, JSON.stringify(pozaObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.savePozeEndpoint(pozaObject));\r\n }));\r\n }\r\n\r\n uploadPhotoEndpoint(productGroup: string, vehicleReference: string, photoReference: string, file: any): Observable {\r\n let url = this.configurations.baseUrl + '/api/account/uploadPhoto/' + productGroup + '/' + vehicleReference + '/' + photoReference;\r\n return this.http.post(url, file, this.getRequestHeadersFileUpload()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.uploadPhotoEndpoint(productGroup, vehicleReference, photoReference, file));\r\n }));\r\n }\r\n\r\n getOfferListProductPhotoEndpoint(id: string): Observable {\r\n let endpointUrl = `${this.offerListProductPhotoUrl}/${id}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getOfferListProductPhotoEndpoint(id));\r\n }));\r\n }\r\n\r\n getDeleteCompanyEndpoint(userObject: any): Observable {\r\n return this.http.post(this.deleteCompanyUrl, JSON.stringify(userObject), this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getDeleteCompanyEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getAuditLoginListEndpoint(userName: string, initialDate: string, finalDate: string): Observable {\r\n let endpointUrl = `${this.auditLoginListUrl}/${userName}&${initialDate}&${finalDate}`;\r\n\r\n return this.http.get(endpointUrl, this.getRequestHeaders()).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getAuditLoginListEndpoint(userName, initialDate, finalDate));\r\n }));\r\n }\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable, Output, EventEmitter } from '@angular/core';\r\nimport { Router, NavigationExtras } from \"@angular/router\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { AccountEndpoint } from './account-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { User } from '../models/user.model';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission, PermissionNames, PermissionValues } from '../models/permission.model';\r\nimport { UserEdit } from '../models/user-edit.model';\r\nimport { ContulMeu } from '../models/contulMeu.model';\r\nimport { Poze } from '../models/poze.model';\r\nimport { Companie } from '../models/companie.model';\r\n\r\nimport { of } from 'rxjs';\r\nimport { DetaliuCircuit } from '../models/DetaliuCircuit.model';\r\nimport { Compensare } from '../models/Compensare.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Utilities } from './utilities';\r\nimport { Car } from '../models/Car.model';\r\nimport { Product, GetPhotosWitPoductGroupsViewModel } from '../models/Product.model';\r\nimport { Offer, OfferVM } from '../models/offer.model';\r\nimport { OfferVm } from '../models/offerVm.model';\r\nimport { ExcelFisier } from '../models/ExcelFisier.model';\r\nimport { CatalogLink } from '../models/catalogLink.model';\r\nimport { AuditLogin } from '../models/auditLogin.model';\r\n\r\nexport type RolesChangedOperation = \"add\" | \"delete\" | \"modify\";\r\nexport type RolesChangedEventArg = { roles: Role[] | string[], operation: RolesChangedOperation };\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n public static readonly roleAddedOperation: RolesChangedOperation = \"add\";\r\n public static readonly roleDeletedOperation: RolesChangedOperation = \"delete\";\r\n public static readonly roleModifiedOperation: RolesChangedOperation = \"modify\";\r\n\r\n private _rolesChanged = new Subject();\r\n\r\n constructor(\r\n private router: Router,\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n private accountEndpoint: AccountEndpoint) { }\r\n\r\n isOpen = false;\r\n @Output() change: EventEmitter = new EventEmitter();\r\n\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n this.change.emit(this.isOpen);\r\n }\r\n\r\n getUser(userId?: string) {\r\n return this.accountEndpoint.getUserEndpoint(userId);\r\n }\r\n\r\n getUserAndRoles(userId?: string) {\r\n\r\n return forkJoin(\r\n this.accountEndpoint.getUserEndpoint(userId),\r\n this.accountEndpoint.getRolesEndpoint());\r\n }\r\n\r\n getUsers(page?: number, pageSize?: number) {\r\n\r\n return this.accountEndpoint.getUsersEndpoint(page, pageSize);\r\n }\r\n\r\n getUsersAndRoles(page?: number, pageSize?: number) {\r\n\r\n return forkJoin(\r\n this.accountEndpoint.getUsersEndpoint(page, pageSize),\r\n this.accountEndpoint.getRolesEndpoint());\r\n }\r\n\r\n updateUser(user: UserEdit) {\r\n if (user.id) {\r\n return this.accountEndpoint.getUpdateUserEndpoint(user, user.id);\r\n }\r\n else {\r\n return this.accountEndpoint.getUserByUserNameEndpoint(user.userName).pipe(\r\n mergeMap(foundUser => {\r\n user.id = foundUser.id;\r\n return this.accountEndpoint.getUpdateUserEndpoint(user, user.id)\r\n }));\r\n }\r\n }\r\n\r\n newUser(user: UserEdit) {\r\n return this.accountEndpoint.getNewUserEndpoint(user);\r\n }\r\n\r\n newUserFromOutside(user: UserEdit) {\r\n return this.accountEndpoint.getNewUserFromOutsideEndpoint(user);\r\n }\r\n\r\n sendMailForPasswordRecovery(user: UserEdit) {\r\n return this.accountEndpoint.sendMailForPasswordRecoveryEndpoint(user);\r\n }\r\n\r\n getUserPreferences() {\r\n return this.accountEndpoint.getUserPreferencesEndpoint();\r\n }\r\n\r\n updateUserPreferences(configuration: string) {\r\n return this.accountEndpoint.getUpdateUserPreferencesEndpoint(configuration);\r\n }\r\n\r\n deleteUser(userOrUserId: string | User): Observable {\r\n if (typeof userOrUserId === 'string' || userOrUserId instanceof String) {\r\n return this.accountEndpoint.getDeleteUserEndpoint(userOrUserId).pipe(\r\n tap(data => this.onRolesUserCountChanged(data.roles)));\r\n }\r\n else {\r\n if (userOrUserId.id) {\r\n return this.deleteUser(userOrUserId.id);\r\n }\r\n else {\r\n return this.accountEndpoint.getUserByUserNameEndpoint(userOrUserId.userName).pipe(\r\n mergeMap(user => this.deleteUser(user.id)));\r\n }\r\n }\r\n }\r\n\r\n unblockUser(userId: string) {\r\n return this.accountEndpoint.getUnblockUserEndpoint(userId);\r\n }\r\n\r\n userHasPermission(permissionValue: PermissionValues): boolean {\r\n return this.permissions.some(p => p == permissionValue);\r\n }\r\n\r\n refreshLoggedInUser() {\r\n return this.authService.refreshLogin();\r\n }\r\n\r\n getRoles(page?: number, pageSize?: number) {\r\n\r\n return this.accountEndpoint.getRolesEndpoint(page, pageSize);\r\n }\r\n\r\n getRolesAndPermissions(page?: number, pageSize?: number) {\r\n\r\n return forkJoin(\r\n this.accountEndpoint.getRolesEndpoint(page, pageSize),\r\n this.accountEndpoint.getPermissionsEndpoint());\r\n }\r\n\r\n updateRole(role: Role) {\r\n if (role.id) {\r\n return this.accountEndpoint.getUpdateRoleEndpoint(role, role.id).pipe(\r\n tap(data => this.onRolesChanged([role], AccountService.roleModifiedOperation)));\r\n }\r\n else {\r\n return this.accountEndpoint.getRoleByRoleNameEndpoint(role.name).pipe(\r\n mergeMap(foundRole => {\r\n role.id = foundRole.id;\r\n return this.accountEndpoint.getUpdateRoleEndpoint(role, role.id)\r\n }),\r\n tap(data => this.onRolesChanged([role], AccountService.roleModifiedOperation)));\r\n }\r\n }\r\n\r\n newRole(role: Role) {\r\n return this.accountEndpoint.getNewRoleEndpoint(role).pipe(\r\n tap(data => this.onRolesChanged([role], AccountService.roleAddedOperation)));\r\n }\r\n\r\n deleteRole(roleOrRoleId: string | Role): Observable {\r\n\r\n if (typeof roleOrRoleId === 'string' || roleOrRoleId instanceof String) {\r\n return this.accountEndpoint.getDeleteRoleEndpoint(roleOrRoleId).pipe(\r\n tap(data => this.onRolesChanged([data], AccountService.roleDeletedOperation)));\r\n }\r\n else {\r\n\r\n if (roleOrRoleId.id) {\r\n return this.deleteRole(roleOrRoleId.id);\r\n }\r\n else {\r\n return this.accountEndpoint.getRoleByRoleNameEndpoint(roleOrRoleId.name).pipe(\r\n mergeMap(role => this.deleteRole(role.id)));\r\n }\r\n }\r\n }\r\n\r\n getPermissions() {\r\n\r\n return this.accountEndpoint.getPermissionsEndpoint();\r\n }\r\n\r\n private onRolesChanged(roles: Role[] | string[], op: RolesChangedOperation) {\r\n this._rolesChanged.next({ roles: roles, operation: op });\r\n }\r\n\r\n onRolesUserCountChanged(roles: Role[] | string[]) {\r\n return this.onRolesChanged(roles, AccountService.roleModifiedOperation);\r\n }\r\n\r\n getRolesChangedEvent(): Observable {\r\n return this._rolesChanged.asObservable();\r\n }\r\n\r\n get permissions(): PermissionValues[] {\r\n return this.authService.userPermissions;\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n\r\n newContulMeu(contulMeu: ContulMeu) {\r\n return this.accountEndpoint.getNewContulMeuEndpoint(contulMeu);\r\n }\r\n\r\n newPoze(poze: Poze) {\r\n return this.accountEndpoint.getNewPozeEndpoint(poze);\r\n }\r\n\r\n getUserContulMeu() {\r\n return this.accountEndpoint.getUserContulMeuEndpoint();\r\n }\r\n\r\n getUserPoze() {\r\n return this.accountEndpoint.getUserPozeEndpoint();\r\n }\r\n\r\n getContulMeuList(nume?: string, prenume?: string, document?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getContulMeuListEndpoint(nume, prenume, document)\r\n );\r\n }\r\n\r\n aprobareContulMeu(contulMeu: ContulMeu) {\r\n return this.accountEndpoint.getAprobareContulMeuEndpoint(contulMeu);\r\n }\r\n\r\n newCompanie(companie: Companie) {\r\n return this.accountEndpoint.getNewCompanieEndpoint(companie);\r\n }\r\n\r\n getCompaniiReprezentateListForAutocomplete(denumire?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getCompaniiReprezentateAutocompleteListEndpoint(denumire, denumire, \"Y\")\r\n );\r\n }\r\n\r\n getCompaniiReprezentateList(denumire?: string, cif?: string, all?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getCompaniiReprezentateListEndpoint(denumire, cif, all)\r\n );\r\n }\r\n\r\n aprobareReprezentareCompanie(companie: Companie) {\r\n return this.accountEndpoint.aprobareReprezentareCompanieEndpoint(companie);\r\n }\r\n\r\n selectieCompanie(companie: Companie) {\r\n return this.accountEndpoint.selectieCompanieEndpoint(companie);\r\n }\r\n\r\n getCompanieSelectata() {\r\n return this.accountEndpoint.getCompanieSelectataEndpoint();\r\n }\r\n \r\n confirmUser(userId: string) {\r\n return this.accountEndpoint.confirmUserEndpoint(userId);\r\n }\r\n\r\n getCompaniiListForAutocomplete(denumire?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getCompaniiListForAutocompleteEndpoint(denumire, \"undefined\", \"Y\")\r\n );\r\n }\r\n \r\n downloadDoc(document: string): Observable {\r\n return forkJoin(\r\n this.accountEndpoint.downloadDocEndpoint(document)\r\n );\r\n }\r\n \r\n downloadOffer(tip_export: string, document: string, browserLang: string): Observable {\r\n return forkJoin(\r\n this.accountEndpoint.downloadOfferEndpoint(tip_export,document, browserLang)\r\n );\r\n }\r\n\r\n uploadFile(tipIncarcare: string, file: any) {\r\n return forkJoin(\r\n this.accountEndpoint.uploadEndpoint(tipIncarcare, file)\r\n );\r\n }\r\n\r\n uploadPriceFile(tipIncarcare: string, file: any) {\r\n return forkJoin(\r\n this.accountEndpoint.uploadPriceEndpoint(tipIncarcare, file)\r\n );\r\n }\r\n \r\n uploadFisierDocumentCI(idDetaliu: string, file: any) {\r\n return forkJoin(\r\n this.accountEndpoint.uploadFisierDocumentCIEndpoint(idDetaliu, file)\r\n );\r\n }\r\n\r\n downloadDocCI(document: string): Observable {\r\n return forkJoin(\r\n this.accountEndpoint.downloadDocCIEndpoint(document)\r\n );\r\n }\r\n \r\n uploadFisierDocumentCompanie(idReprezentant: string, idCompanie: string, file: any, mod:string) {\r\n return forkJoin(\r\n this.accountEndpoint.uploadFisierDocumentCompanieEndpoint(idReprezentant, idCompanie, file, mod)\r\n );\r\n }\r\n\r\n downloadDocumentCompanie(idReprezentant: string, idCompanie: string, mod: string): Observable {\r\n return forkJoin(\r\n this.accountEndpoint.downloadDocumentCompanieEndpoint(idReprezentant, idCompanie, mod)\r\n );\r\n }\r\n \r\n getCarsList(make?: string, model?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getCarsListEndpoint(make, model)\r\n );\r\n }\r\n\r\n getCarsConfiguratorLists(make: string = 'undefined', model: string = 'undefined', body: string = 'undefined', variant: string = 'undefined', wheelbase: string = 'undefined', height: string = 'undefined', transmission: string = 'undefined', reference: string = 'undefined') {\r\n return forkJoin(\r\n this.accountEndpoint.getCarsConfiguratorListEndpoint(make, model, body, variant, wheelbase, height, transmission, reference)\r\n );\r\n }\r\n\r\n saveCar(car: Car) {\r\n return this.accountEndpoint.saveCarEndpoint(car);\r\n }\r\n\r\n getProductLists(reference?: string, description?: string, carReference?: string, pricedealer?: string, pricefinalcustomer?: string, descriptionfr?: string, productgrup?: string, VehicleReference?: string, descriptionro?: string, productnumber?: string, catalogreference?: string, linkCatalog?: string, descriptionen?: string, carSelect?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getProductListEndpoint(reference, description, carReference, pricedealer, pricefinalcustomer, descriptionfr, productgrup, VehicleReference, descriptionro, productnumber, catalogreference, linkCatalog, descriptionen, carSelect)\r\n );\r\n }\r\n\r\n getProductConfiguratorLists(reference: string = 'undefined', description: string = 'undefined', pricedealer: string = 'undefined', pricefinalcustomer: string = 'undefined', productgrup: string = 'undefined') {\r\n return forkJoin(\r\n this.accountEndpoint.getProductConfiguratorListEndpoint(reference, description, pricedealer, pricefinalcustomer, productgrup)\r\n );\r\n }\r\n\r\n saveProduct(product: Product) {\r\n return this.accountEndpoint.saveProductEndpoint(product);\r\n }\r\n\r\n getCatalogLinkLists(catalogreference?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getCatalogLinkListEndpoint(catalogreference)\r\n );\r\n }\r\n\r\n getCatalogLinkConfiguratorLists() {\r\n return forkJoin(\r\n this.accountEndpoint.getCatalogLinkConfiguratorListEndpoint()\r\n );\r\n }\r\n\r\n saveCatalogLink(catalogLink: CatalogLink) {\r\n return this.accountEndpoint.saveCatalogLinkEndpoint(catalogLink);\r\n }\r\n\r\n getPozeLists(productgroup?: string, vehicleReference?: string, photoReference?: string, carReference?: string, productGrup?: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getPozeListEndpoint(productgroup, vehicleReference, photoReference, carReference, productGrup)\r\n );\r\n }\r\n\r\n getPhotosWitPoductGroupsViewModel(getPhotosWitPoductGroupsViewModel: GetPhotosWitPoductGroupsViewModel) {\r\n return this.accountEndpoint.getPhotosWitPoductGroupsViewModelEndpoint(getPhotosWitPoductGroupsViewModel);\r\n }\r\n\r\n getPozeConfiguratorLists(productGroup: string = 'undefined', vehicleReference: string = 'undefined', photoReference: string = 'undefined') {\r\n return forkJoin(\r\n this.accountEndpoint.getPozeConfiguratorListEndpoint(productGroup, vehicleReference, photoReference)\r\n );\r\n }\r\n\r\n uploadPhoto(productGroup: string, vehicleReference: string, photoReference: string, file: any) {\r\n return this.accountEndpoint.uploadPhotoEndpoint(productGroup, vehicleReference, photoReference, file);\r\n }\r\n\r\n savePoze(poze: Poze) {\r\n return this.accountEndpoint.savePozeEndpoint(poze);\r\n }\r\n\r\n getOfferList(id: string, subject: string, initialDate: string, finalDate: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getOfferListEndpoint(id, subject, initialDate, finalDate)\r\n );\r\n }\r\n\r\n getOfferConfiguratorLists(usergenerare: string = 'undefined', offerdetails: string = 'undefined') {\r\n return forkJoin(\r\n this.accountEndpoint.getOfferConfiguratorListEndpoint(usergenerare, offerdetails)\r\n );\r\n }\r\n\r\n saveOffer(offer: OfferVM) {\r\n return this.accountEndpoint.saveOfferEndpoint(offer);\r\n }\r\n\r\n getOfferListProductPhoto(id: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getOfferListProductPhotoEndpoint(id)\r\n );\r\n }\r\n\r\n deleteCompany(companie: Companie) {\r\n return this.accountEndpoint.getDeleteCompanyEndpoint(companie);\r\n }\r\n\r\n getAuditLoginList(userName: string, initialDate: string, finalDate: string) {\r\n return forkJoin(\r\n this.accountEndpoint.getAuditLoginListEndpoint(userName, initialDate, finalDate)\r\n );\r\n }\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponseBase } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Utilities } from '../services/utilities';\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n private messages = new Subject();\r\n private stickyMessages = new Subject();\r\n private dialogs = new Subject();\r\n\r\n private _isLoading = false;\r\n private loadingMessageId: any;\r\n\r\n constructor(private translationService: AppTranslationService) { }\r\n\r\n showDialog(title: string, message: string)\r\n showDialog(title: string, message: string, type: DialogType, okCallback: (val?: any) => any)\r\n showDialog(title: string, message: string, type: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string)\r\n showDialog(title: string, message: string, type?: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string) {\r\n\r\n if (!type) {\r\n type = DialogType.alert;\r\n }\r\n\r\n this.dialogs.next({ title, message: message, type: type, okCallback: okCallback, cancelCallback: cancelCallback, okLabel: okLabel, cancelLabel: cancelLabel, defaultValue: defaultValue });\r\n }\r\n\r\n showMessage(summary: string)\r\n showMessage(summary: string, detail: string, severity: MessageSeverity)\r\n showMessage(summaryAndDetails: string[], summaryAndDetailsSeparator: string, severity: MessageSeverity)\r\n showMessage(response: HttpResponseBase, ignoreValue_useNull: string, severity: MessageSeverity)\r\n showMessage(data: any, separatorOrDetail?: string, severity?: MessageSeverity) {\r\n if (!severity) {\r\n severity = MessageSeverity.default;\r\n }\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = Utilities.getHttpResponseMessage(data);\r\n separatorOrDetail = Utilities.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (let message of data) {\r\n let msgObject = Utilities.splitInTwo(message, separatorOrDetail);\r\n\r\n this.showMessageHelper(msgObject.firstPart, msgObject.secondPart, severity, false);\r\n }\r\n }\r\n else {\r\n this.showMessageHelper(data, separatorOrDetail, severity, false);\r\n }\r\n }\r\n\r\n showStickyMessage(summary: string)\r\n showStickyMessage(summary: string, detail: string, severity: MessageSeverity, error?: any)\r\n showStickyMessage(summaryAndDetails: string[], summaryAndDetailsSeparator: string, severity: MessageSeverity)\r\n showStickyMessage(response: HttpResponseBase, ignoreValue_useNull: string, severity: MessageSeverity)\r\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: MessageSeverity, error?: any) {\r\n\r\n if (!severity) {\r\n severity = MessageSeverity.default;\r\n }\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = Utilities.getHttpResponseMessage(data);\r\n separatorOrDetail = Utilities.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (let message of data) {\r\n let msgObject = Utilities.splitInTwo(message, separatorOrDetail);\r\n\r\n this.showMessageHelper(msgObject.firstPart, msgObject.secondPart, severity, true);\r\n }\r\n }\r\n else {\r\n if (error) {\r\n let msg = `Severity: \"${MessageSeverity[severity]}\", Summary: \"${data}\", Detail: \"${separatorOrDetail}\", Error: \"${Utilities.safeStringify(error)}\"`;\r\n\r\n switch (severity) {\r\n case MessageSeverity.default:\r\n this.logInfo(msg);\r\n break;\r\n case MessageSeverity.info:\r\n this.logInfo(msg);\r\n break;\r\n case MessageSeverity.success:\r\n this.logMessage(msg);\r\n break;\r\n case MessageSeverity.error:\r\n this.logError(msg);\r\n break;\r\n case MessageSeverity.warn:\r\n this.logWarning(msg);\r\n break;\r\n case MessageSeverity.wait:\r\n this.logTrace(msg);\r\n break;\r\n }\r\n }\r\n\r\n this.showMessageHelper(data, separatorOrDetail, severity, true);\r\n }\r\n }\r\n\r\n showValidationError() {\r\n this.resetStickyMessage();\r\n this.showStickyMessage(this.translationService.getTranslation('form.ErrorCaption'), this.translationService.getTranslation('form.ErrorMessage'), MessageSeverity.error);\r\n }\r\n\r\n private showMessageHelper(summary: string, detail: string, severity: MessageSeverity, isSticky: boolean) {\r\n\r\n if (isSticky) {\r\n this.stickyMessages.next({ severity: severity, summary: summary, detail: detail });\r\n }\r\n else {\r\n this.messages.next({ severity: severity, summary: summary, detail: detail });\r\n }\r\n }\r\n\r\n startLoadingMessage(message = \"Loading...\", caption = \"\") {\r\n this._isLoading = true;\r\n clearTimeout(this.loadingMessageId);\r\n\r\n this.loadingMessageId = setTimeout(() => {\r\n this.showStickyMessage(caption, message, MessageSeverity.wait);\r\n }, 1000);\r\n }\r\n\r\n stopLoadingMessage() {\r\n this._isLoading = false;\r\n clearTimeout(this.loadingMessageId);\r\n this.resetStickyMessage();\r\n }\r\n\r\n logDebug(msg) {\r\n console.debug(msg);\r\n }\r\n\r\n logError(msg) {\r\n console.error(msg);\r\n }\r\n\r\n logInfo(msg) {\r\n console.info(msg);\r\n }\r\n\r\n logMessage(msg) {\r\n console.log(msg);\r\n }\r\n\r\n logTrace(msg) {\r\n console.trace(msg);\r\n }\r\n\r\n logWarning(msg) {\r\n console.warn(msg);\r\n }\r\n\r\n resetStickyMessage() {\r\n this.stickyMessages.next();\r\n }\r\n\r\n getDialogEvent(): Observable {\r\n return this.dialogs.asObservable();\r\n }\r\n\r\n getMessageEvent(): Observable {\r\n return this.messages.asObservable();\r\n }\r\n\r\n getStickyMessageEvent(): Observable {\r\n return this.stickyMessages.asObservable();\r\n }\r\n\r\n get isLoadingInProgress(): boolean {\r\n return this._isLoading;\r\n }\r\n}\r\n\r\n//******************** Dialog ********************//\r\nexport class AlertDialog {\r\n constructor(\r\n public title: string,\r\n public message: string,\r\n public type: DialogType,\r\n public okCallback: (val?: any) => any,\r\n public cancelCallback: () => any,\r\n public defaultValue: string,\r\n public okLabel: string,\r\n public cancelLabel: string) {\r\n\r\n }\r\n}\r\n\r\nexport enum DialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n//******************** End ********************//\r\n\r\n//******************** Growls ********************//\r\nexport class AlertMessage {\r\n constructor(public severity: MessageSeverity, public summary: string, public detail: string) { }\r\n}\r\n\r\nexport enum MessageSeverity {\r\n default,\r\n info,\r\n success,\r\n error,\r\n warn,\r\n wait\r\n}\r\n//******************** End ********************//\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n\r\n\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [style({ opacity: 0 }), animate('0.4s ease-in', style({ opacity: 1 }))]),\r\n transition(':leave', [animate('0.4s 10ms ease-out', style({ opacity: 0 }))])\r\n])\r\n\r\n\r\n\r\nexport function flyInOut(duration: number = 0.2) {\r\n return trigger('flyInOut', [\r\n state('in', style({ opacity: 1, transform: 'translateX(0)' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateX(-100%)' }), animate(`${duration}s ease-in`)]),\r\n transition('* => void', [animate(`${duration}s 10ms ease-out`, style({ opacity: 0, transform: 'translateX(100%)' }))])\r\n ])\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, NavigationEnd, PRIMARY_OUTLET } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter, map, flatMap } from 'rxjs/operators';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n\r\n\r\nimport { Utilities } from './utilities';\r\n\r\n@Injectable()\r\nexport class AppTitleService {\r\n sub: Subscription;\r\n appName: string;\r\n\r\n constructor(private titleService: Title, private router: Router) {\r\n this.sub = this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(_ => this.router.routerState.root),\r\n map(route => {\r\n while (route.firstChild)\r\n route = route.firstChild;\r\n\r\n return route;\r\n }),\r\n flatMap(route => route.data))\r\n .subscribe(data => {\r\n let title = data['title'];\r\n\r\n if (title) {\r\n let fragment = this.router.url.split('#')[1]\r\n\r\n if (fragment)\r\n title += \" | \" + Utilities.toTitleCase(fragment);\r\n }\r\n\r\n if (title && this.appName)\r\n title += ' - ' + this.appName;\r\n else if (this.appName)\r\n title = this.appName;\r\n\r\n if (title)\r\n this.titleService.setTitle(title);\r\n });\r\n }\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService, TranslateLoader } from '@ngx-translate/core';\r\nimport { Observable, Subject, of } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AppTranslationService {\r\n\r\n readonly defaultLanguage = \"en\";\r\n private onLanguageChanged = new Subject();\r\n languageChanged$ = this.onLanguageChanged.asObservable();\r\n\r\n constructor(private translate: TranslateService) {\r\n\r\n this.setDefaultLanguage(this.defaultLanguage);\r\n }\r\n\r\n addLanguages(lang: string[]) {\r\n this.translate.addLangs(lang);\r\n }\r\n\r\n setDefaultLanguage(lang: string) {\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n getDefaultLanguage() {\r\n return this.translate.defaultLang;\r\n }\r\n\r\n getBrowserLanguage() {\r\n return this.translate.getBrowserLang();\r\n }\r\n\r\n useBrowserLanguage(): string | void {\r\n let browserLang = this.getBrowserLanguage();\r\n\r\n if (browserLang.match(/en|fr|de|ar|ko|pt/)) {\r\n this.changeLanguage(browserLang);\r\n return browserLang;\r\n }\r\n }\r\n\r\n changeLanguage(language: string = \"en\") {\r\n if (!language) {\r\n language = this.translate.defaultLang;\r\n }\r\n\r\n if (language != this.translate.currentLang) {\r\n setTimeout(() => {\r\n this.translate.use(language);\r\n this.onLanguageChanged.next(language);\r\n });\r\n }\r\n\r\n return language;\r\n }\r\n\r\n getTranslation(key: string | Array, interpolateParams?: Object): string | any {\r\n return this.translate.instant(key, interpolateParams);\r\n }\r\n\r\n getTranslationAsync(key: string | Array, interpolateParams?: Object): Observable {\r\n return this.translate.get(key, interpolateParams);\r\n }\r\n\r\n}\r\n\r\nexport class TranslateLanguageLoader implements TranslateLoader {\r\n\r\n public getTranslation(lang: string): any {\r\n //Note Dynamic require(variable) will not work. Require is always at compile time\r\n switch (lang) {\r\n case \"en\":\r\n return of(require(\"../assets/locale/en.json\"));\r\n case \"fr\":\r\n return of(require(\"../assets/locale/fr.json\"));\r\n case \"de\":\r\n return of(require(\"../assets/locale/de.json\"));\r\n case \"pt\":\r\n return of(require(\"../assets/locale/pt.json\"));\r\n case \"ar\":\r\n return of(require(\"../assets/locale/ar.json\"));\r\n case \"ko\":\r\n return of(require(\"../assets/locale/ko.json\"));\r\n default:\r\n }\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, NavigationExtras, CanLoad, Route } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanActivateChild, CanLoad {\r\n constructor(private authService: AuthService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\r\n let url: string = state.url;\r\n return this.checkLogin(url);\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return this.canActivate(route, state);\r\n }\r\n\r\n canLoad(route: Route): boolean {\r\n\r\n let url = `/${route.path}`;\r\n return this.checkLogin(url);\r\n }\r\n\r\n checkLogin(url: string): boolean {\r\n\r\n if (this.authService.isLoggedIn) {\r\n return true;\r\n }\r\n\r\n this.authService.loginRedirectUrl = url;\r\n this.router.navigate(['/login']);\r\n\r\n return false;\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, NavigationExtras } from \"@angular/router\";\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\nimport { LocalStoreManager } from './local-store-manager.service';\r\nimport { EndpointFactory } from './endpoint-factory.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { DBkeys } from './db-Keys';\r\nimport { JwtHelper } from './jwt-helper';\r\nimport { Utilities } from './utilities';\r\nimport { LoginResponse, AccessToken } from '../models/login-response.model';\r\nimport { User } from '../models/user.model';\r\nimport { UserLogin } from '../models/user-login.model';\r\nimport { Permission, PermissionNames, PermissionValues } from '../models/permission.model';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n public get loginUrl() { return this.configurations.loginUrl; }\r\n public get homeUrl() { return this.configurations.homeUrl; }\r\n\r\n public loginRedirectUrl: string;\r\n public logoutRedirectUrl: string;\r\n\r\n public reLoginDelegate: () => void;\r\n\r\n private previousIsLoggedInCheck = false;\r\n private _loginStatus = new Subject();\r\n\r\n constructor(private router: Router, private configurations: ConfigurationService, private endpointFactory: EndpointFactory, private localStorage: LocalStoreManager) {\r\n this.initializeLoginStatus();\r\n }\r\n\r\n private initializeLoginStatus() {\r\n this.localStorage.getInitEvent().subscribe(() => {\r\n this.reevaluateLoginStatus();\r\n });\r\n }\r\n\r\n gotoPage(page: string, preserveParams = true) {\r\n\r\n let navigationExtras: NavigationExtras = {\r\n queryParamsHandling: preserveParams ? \"merge\" : \"\", preserveFragment: preserveParams\r\n };\r\n\r\n\r\n this.router.navigate([page], navigationExtras);\r\n }\r\n\r\n redirectLoginUser() {\r\n let redirect = this.loginRedirectUrl && this.loginRedirectUrl != '/' && this.loginRedirectUrl != ConfigurationService.defaultHomeUrl ? this.loginRedirectUrl : this.homeUrl;\r\n this.loginRedirectUrl = null;\r\n\r\n let urlParamsAndFragment = Utilities.splitInTwo(redirect, '#');\r\n let urlAndParams = Utilities.splitInTwo(urlParamsAndFragment.firstPart, '?');\r\n\r\n let navigationExtras: NavigationExtras = {\r\n fragment: urlParamsAndFragment.secondPart,\r\n queryParams: Utilities.getQueryParamsFromString(urlAndParams.secondPart),\r\n queryParamsHandling: \"merge\"\r\n };\r\n\r\n this.router.navigate([urlAndParams.firstPart], navigationExtras);\r\n }\r\n\r\n redirectLogoutUser() {\r\n let redirect = this.logoutRedirectUrl ? this.logoutRedirectUrl : this.loginUrl;\r\n this.logoutRedirectUrl = null;\r\n\r\n this.router.navigate([redirect]);\r\n }\r\n\r\n redirectForLogin() {\r\n this.loginRedirectUrl = this.router.url;\r\n this.router.navigate([this.loginUrl]);\r\n }\r\n\r\n reLogin() {\r\n this.localStorage.deleteData(DBkeys.TOKEN_EXPIRES_IN);\r\n\r\n if (this.reLoginDelegate) {\r\n this.reLoginDelegate();\r\n }\r\n else {\r\n this.redirectForLogin();\r\n }\r\n }\r\n\r\n refreshLogin() {\r\n return this.endpointFactory.getRefreshLoginEndpoint().pipe(\r\n map(response => this.processLoginResponse(response, this.rememberMe)));\r\n }\r\n\r\n login(user: UserLogin) {\r\n\r\n if (this.isLoggedIn)\r\n this.logout();\r\n\r\n return this.endpointFactory.getLoginEndpoint(user.userName, user.password).pipe(\r\n map(response => this.processLoginResponse(response, user.rememberMe)));\r\n }\r\n\r\n private processLoginResponse(response: LoginResponse, rememberMe: boolean) {\r\n\r\n let accessToken = response.access_token;\r\n\r\n if (accessToken == null) {\r\n throw new Error(\"Received accessToken was empty\");\r\n\r\n }\r\n\r\n let refreshToken = response.refresh_token || this.refreshToken;\r\n let expiresIn = response.expires_in;\r\n\r\n let tokenExpiryDate = new Date();\r\n tokenExpiryDate.setSeconds(tokenExpiryDate.getSeconds() + expiresIn);\r\n\r\n let accessTokenExpiry = tokenExpiryDate;\r\n\r\n let jwtHelper = new JwtHelper();\r\n let decodedAccessToken = jwtHelper.decodeToken(response.access_token);\r\n\r\n let permissions: PermissionValues[] = Array.isArray(decodedAccessToken.permission) ? decodedAccessToken.permission : [decodedAccessToken.permission];\r\n\r\n if (!this.isLoggedIn) {\r\n this.configurations.import(decodedAccessToken.configuration);\r\n }\r\n\r\n let user = new User(\r\n decodedAccessToken.sub,\r\n decodedAccessToken.name,\r\n decodedAccessToken.fullname,\r\n decodedAccessToken.email,\r\n decodedAccessToken.jobtitle,\r\n decodedAccessToken.phone_number,\r\n Array.isArray(decodedAccessToken.role) ? decodedAccessToken.role : [decodedAccessToken.role]);\r\n user.isEnabled = true;\r\n\r\n this.saveUserDetails(user, permissions, accessToken, refreshToken, accessTokenExpiry, rememberMe);\r\n\r\n this.reevaluateLoginStatus(user);\r\n\r\n return user;\r\n }\r\n\r\n private saveUserDetails(user: User, permissions: PermissionValues[], accessToken: string, refreshToken: string, expiresIn: Date, rememberMe: boolean) {\r\n if (rememberMe) {\r\n this.localStorage.savePermanentData(accessToken, DBkeys.ACCESS_TOKEN);\r\n this.localStorage.savePermanentData(refreshToken, DBkeys.REFRESH_TOKEN);\r\n this.localStorage.savePermanentData(expiresIn, DBkeys.TOKEN_EXPIRES_IN);\r\n this.localStorage.savePermanentData(permissions, DBkeys.USER_PERMISSIONS);\r\n this.localStorage.savePermanentData(user, DBkeys.CURRENT_USER);\r\n }\r\n else {\r\n this.localStorage.saveSyncedSessionData(accessToken, DBkeys.ACCESS_TOKEN);\r\n this.localStorage.saveSyncedSessionData(refreshToken, DBkeys.REFRESH_TOKEN);\r\n this.localStorage.saveSyncedSessionData(expiresIn, DBkeys.TOKEN_EXPIRES_IN);\r\n this.localStorage.saveSyncedSessionData(permissions, DBkeys.USER_PERMISSIONS);\r\n this.localStorage.saveSyncedSessionData(user, DBkeys.CURRENT_USER);\r\n }\r\n\r\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\r\n }\r\n\r\n logout(): void {\r\n this.localStorage.deleteData(DBkeys.ACCESS_TOKEN);\r\n this.localStorage.deleteData(DBkeys.REFRESH_TOKEN);\r\n this.localStorage.deleteData(DBkeys.TOKEN_EXPIRES_IN);\r\n this.localStorage.deleteData(DBkeys.USER_PERMISSIONS);\r\n this.localStorage.deleteData(DBkeys.CURRENT_USER);\r\n\r\n this.configurations.clearLocalChanges();\r\n\r\n this.reevaluateLoginStatus();\r\n }\r\n\r\n private reevaluateLoginStatus(currentUser?: User) {\r\n let user = currentUser || this.localStorage.getDataObject(DBkeys.CURRENT_USER);\r\n let isLoggedIn = user != null;\r\n\r\n if (this.previousIsLoggedInCheck != isLoggedIn) {\r\n setTimeout(() => {\r\n this._loginStatus.next(isLoggedIn);\r\n });\r\n }\r\n\r\n this.previousIsLoggedInCheck = isLoggedIn;\r\n }\r\n\r\n getLoginStatusEvent(): Observable {\r\n return this._loginStatus.asObservable();\r\n }\r\n\r\n get currentUser(): User {\r\n\r\n let user = this.localStorage.getDataObject(DBkeys.CURRENT_USER);\r\n this.reevaluateLoginStatus(user);\r\n\r\n return user;\r\n }\r\n\r\n get userPermissions(): PermissionValues[] {\r\n return this.localStorage.getDataObject(DBkeys.USER_PERMISSIONS) || [];\r\n }\r\n\r\n get accessToken(): string {\r\n\r\n this.reevaluateLoginStatus();\r\n return this.localStorage.getData(DBkeys.ACCESS_TOKEN);\r\n }\r\n\r\n get accessTokenExpiryDate(): Date {\r\n\r\n this.reevaluateLoginStatus();\r\n return this.localStorage.getDataObject(DBkeys.TOKEN_EXPIRES_IN, true);\r\n }\r\n\r\n get isSessionExpired(): boolean {\r\n if (this.accessTokenExpiryDate == null) {\r\n return true;\r\n }\r\n\r\n return this.accessTokenExpiryDate.valueOf() <= new Date().valueOf();\r\n }\r\n\r\n get refreshToken(): string {\r\n\r\n this.reevaluateLoginStatus();\r\n return this.localStorage.getData(DBkeys.REFRESH_TOKEN);\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return this.currentUser != null;\r\n }\r\n\r\n get rememberMe(): boolean {\r\n return this.localStorage.getDataObject(DBkeys.REMEMBER_ME) == true;\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AppTranslationService } from './app-translation.service';\r\nimport { LocalStoreManager } from './local-store-manager.service';\r\nimport { DBkeys } from './db-Keys';\r\nimport { Utilities } from './utilities';\r\nimport { environment } from '../../environments/environment';\r\n\r\ntype UserConfiguration = {\r\n language: string,\r\n homeUrl: string,\r\n themeId: number,\r\n showDashboardStatistics: boolean,\r\n showDashboardNotifications: boolean,\r\n showDashboardTodo: boolean,\r\n showDashboardBanner: boolean\r\n};\r\n\r\n@Injectable()\r\nexport class ConfigurationService {\r\n public static readonly appVersion: string = \"2.7.0\";\r\n\r\n public baseUrl = environment.baseUrl || Utilities.baseUrl();\r\n public tokenUrl = environment.tokenUrl || environment.baseUrl || Utilities.baseUrl();\r\n public loginUrl = environment.loginUrl;\r\n public fallbackBaseUrl = \"http://quickapp-pro.ebenmonney.com\";\r\n\r\n //***Specify default configurations here***\r\n public static readonly defaultLanguage: string = \"en\";\r\n public static readonly defaultHomeUrl: string = \"/\";\r\n public static readonly defaultThemeId: number = 1;\r\n public static readonly defaultShowDashboardStatistics: boolean = true;\r\n public static readonly defaultShowDashboardNotifications: boolean = true;\r\n public static readonly defaultShowDashboardTodo: boolean = false;\r\n public static readonly defaultShowDashboardBanner: boolean = true;\r\n //***End of defaults*** \r\n\r\n private _language: string = null;\r\n private _homeUrl: string = null;\r\n private _themeId: number = null;\r\n private _showDashboardStatistics: boolean = null;\r\n private _showDashboardNotifications: boolean = null;\r\n private _showDashboardTodo: boolean = null;\r\n private _showDashboardBanner: boolean = null;\r\n private onConfigurationImported: Subject = new Subject();\r\n\r\n configurationImported$ = this.onConfigurationImported.asObservable();\r\n\r\n constructor(\r\n private localStorage: LocalStoreManager,\r\n private translationService: AppTranslationService,\r\n ) {\r\n this.loadLocalChanges();\r\n }\r\n\r\n private loadLocalChanges() {\r\n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\r\n this._language = this.localStorage.getDataObject(DBkeys.LANGUAGE);\r\n this.translationService.changeLanguage(this._language);\r\n }\r\n else {\r\n this.resetLanguage();\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.HOME_URL)) {\r\n this._homeUrl = this.localStorage.getDataObject(DBkeys.HOME_URL);\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.THEME_ID)) {\r\n this._themeId = this.localStorage.getDataObject(DBkeys.THEME_ID);\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_STATISTICS)) {\r\n this._showDashboardStatistics = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_STATISTICS);\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS)) {\r\n this._showDashboardNotifications = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_TODO)) {\r\n this._showDashboardTodo = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_TODO);\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_BANNER)) {\r\n this._showDashboardBanner = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_BANNER);\r\n }\r\n }\r\n\r\n private saveToLocalStore(data: any, key: string) {\r\n setTimeout(() => this.localStorage.savePermanentData(data, key));\r\n }\r\n\r\n public import(jsonValue: string) {\r\n this.clearLocalChanges();\r\n\r\n if (jsonValue) {\r\n\r\n\r\n let importValue: UserConfiguration = Utilities.JsonTryParse(jsonValue);\r\n\r\n if (importValue.language != null) {\r\n this.language = importValue.language;\r\n }\r\n\r\n if (importValue.homeUrl != null) {\r\n this.homeUrl = importValue.homeUrl;\r\n }\r\n\r\n if (importValue.themeId != null) {\r\n this.themeId = importValue.themeId;\r\n }\r\n\r\n if (importValue.showDashboardStatistics != null) {\r\n this.showDashboardStatistics = importValue.showDashboardStatistics;\r\n }\r\n\r\n if (importValue.showDashboardNotifications != null) {\r\n this.showDashboardNotifications = importValue.showDashboardNotifications;\r\n }\r\n\r\n if (importValue.showDashboardTodo != null) {\r\n this.showDashboardTodo = importValue.showDashboardTodo;\r\n }\r\n\r\n if (importValue.showDashboardBanner != null) {\r\n this.showDashboardBanner = importValue.showDashboardBanner;\r\n }\r\n }\r\n\r\n this.onConfigurationImported.next();\r\n }\r\n\r\n public export(changesOnly = true): string {\r\n let exportValue: UserConfiguration =\r\n {\r\n language: changesOnly ? this._language : this.language,\r\n homeUrl: changesOnly ? this._homeUrl : this.homeUrl,\r\n themeId: changesOnly ? this._themeId : this.themeId,\r\n showDashboardStatistics: changesOnly ? this._showDashboardStatistics : this.showDashboardStatistics,\r\n showDashboardNotifications: changesOnly ? this._showDashboardNotifications : this.showDashboardNotifications,\r\n showDashboardTodo: changesOnly ? this._showDashboardTodo : this.showDashboardTodo,\r\n showDashboardBanner: changesOnly ? this._showDashboardBanner : this.showDashboardBanner\r\n };\r\n\r\n return JSON.stringify(exportValue);\r\n }\r\n\r\n public clearLocalChanges() {\r\n this._language = null;\r\n this._homeUrl = null;\r\n this._themeId = null;\r\n this._showDashboardStatistics = null;\r\n this._showDashboardNotifications = null;\r\n this._showDashboardTodo = null;\r\n this._showDashboardBanner = null;\r\n\r\n this.localStorage.deleteData(DBkeys.LANGUAGE);\r\n this.localStorage.deleteData(DBkeys.HOME_URL);\r\n this.localStorage.deleteData(DBkeys.THEME_ID);\r\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_STATISTICS);\r\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\r\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_TODO);\r\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_BANNER);\r\n\r\n this.resetLanguage();\r\n }\r\n\r\n private resetLanguage() {\r\n let language = this.translationService.useBrowserLanguage();\r\n\r\n if (language) {\r\n this._language = language;\r\n }\r\n else {\r\n this._language = this.translationService.changeLanguage()\r\n }\r\n }\r\n\r\n set language(value: string) {\r\n this._language = value;\r\n this.saveToLocalStore(value, DBkeys.LANGUAGE);\r\n this.translationService.changeLanguage(value);\r\n }\r\n get language() {\r\n return this._language || ConfigurationService.defaultLanguage;\r\n }\r\n\r\n set homeUrl(value: string) {\r\n this._homeUrl = value;\r\n this.saveToLocalStore(value, DBkeys.HOME_URL);\r\n }\r\n get homeUrl() {\r\n return this._homeUrl || ConfigurationService.defaultHomeUrl;\r\n }\r\n\r\n set themeId(value: number) {\r\n this._themeId = value;\r\n this.saveToLocalStore(value, DBkeys.THEME_ID);\r\n }\r\n get themeId() {\r\n return this._themeId || ConfigurationService.defaultThemeId;\r\n }\r\n\r\n set showDashboardStatistics(value: boolean) {\r\n this._showDashboardStatistics = value;\r\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_STATISTICS);\r\n }\r\n get showDashboardStatistics() {\r\n return this._showDashboardStatistics != null ? this._showDashboardStatistics : ConfigurationService.defaultShowDashboardStatistics;\r\n }\r\n\r\n set showDashboardNotifications(value: boolean) {\r\n this._showDashboardNotifications = value;\r\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\r\n }\r\n get showDashboardNotifications() {\r\n return this._showDashboardNotifications != null ? this._showDashboardNotifications : ConfigurationService.defaultShowDashboardNotifications;\r\n }\r\n\r\n set showDashboardTodo(value: boolean) {\r\n this._showDashboardTodo = value;\r\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_TODO);\r\n }\r\n get showDashboardTodo() {\r\n return this._showDashboardTodo != null ? this._showDashboardTodo : ConfigurationService.defaultShowDashboardTodo;\r\n }\r\n\r\n set showDashboardBanner(value: boolean) {\r\n this._showDashboardBanner = value;\r\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_BANNER);\r\n }\r\n get showDashboardBanner() {\r\n return this._showDashboardBanner != null ? this._showDashboardBanner : ConfigurationService.defaultShowDashboardBanner;\r\n }\r\n\r\n public formatOnlyDate(value: Date, separator: string): string {\r\n var date = new Date(value);\r\n var mm = date.getMonth() + 1; // getMonth() is zero-based\r\n var dd = date.getDate();\r\n\r\n return [\r\n (dd > 9 ? '' : '0') + dd,\r\n (mm > 9 ? '' : '0') + mm,\r\n date.getFullYear()\r\n ].join(separator);\r\n }\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class DBkeys {\r\n\r\n public static readonly CURRENT_USER = \"current_user\";\r\n public static readonly USER_PERMISSIONS = \"user_permissions\";\r\n public static readonly ACCESS_TOKEN = \"access_token\";\r\n public static readonly REFRESH_TOKEN = \"refresh_token\";\r\n public static readonly TOKEN_EXPIRES_IN = \"expires_in\";\r\n\r\n public static readonly REMEMBER_ME = \"remember_me\";\r\n\r\n\r\n public static readonly LANGUAGE = \"language\";\r\n public static readonly HOME_URL = \"home_url\";\r\n public static readonly THEME_ID = \"themeId\";\r\n public static readonly SHOW_DASHBOARD_STATISTICS = \"show_dashboard_statistics\";\r\n public static readonly SHOW_DASHBOARD_NOTIFICATIONS = \"show_dashboard_notifications\";\r\n public static readonly SHOW_DASHBOARD_TODO = \"show_dashboard_todo\";\r\n public static readonly SHOW_DASHBOARD_BANNER = \"show_dashboard_banner\";\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable, Subject, throwError } from 'rxjs';\r\nimport { mergeMap, switchMap, catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { ConfigurationService } from './configuration.service';\r\n\r\n@Injectable()\r\nexport class EndpointFactory {\r\n static readonly apiVersion: string = \"1\";\r\n\r\n private readonly _loginUrl: string = \"/connect/token\";\r\n\r\n private get loginUrl() { return this.configurations.tokenUrl + this._loginUrl; }\r\n\r\n private taskPauser: Subject;\r\n private isRefreshingLogin: boolean;\r\n\r\n private _authService: AuthService;\r\n\r\n private get authService() {\r\n if (!this._authService) {\r\n this._authService = this.injector.get(AuthService);\r\n }\r\n\r\n return this._authService;\r\n }\r\n\r\n constructor(protected http: HttpClient, protected configurations: ConfigurationService, private injector: Injector) { }\r\n\r\n getLoginEndpoint(userName: string, password: string): Observable {\r\n\r\n let header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\r\n\r\n let params = new HttpParams()\r\n .append('username', userName)\r\n .append('password', password)\r\n .append('client_id', 'quickapp_spa')\r\n .append('grant_type', 'password')\r\n .append('scope', 'openid email phone profile offline_access roles quickapp_api');\r\n\r\n return this.http.post(this.loginUrl, params, { headers: header });\r\n }\r\n\r\n getRefreshLoginEndpoint(): Observable {\r\n let header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\r\n\r\n let params = new HttpParams()\r\n .append('refresh_token', this.authService.refreshToken)\r\n .append('client_id', 'quickapp_spa')\r\n .append('grant_type', 'refresh_token');\r\n\r\n return this.http.post(this.loginUrl, params, { headers: header }).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRefreshLoginEndpoint());\r\n }));\r\n }\r\n\r\n protected getRequestHeaders(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {\r\n let headers = new HttpHeaders({\r\n 'Authorization': 'Bearer ' + this.authService.accessToken,\r\n 'Content-Type': 'application/json',\r\n 'Accept': `application/vnd.iman.v${EndpointFactory.apiVersion}+json, application/json, text/plain, */*`,\r\n 'App-Version': ConfigurationService.appVersion\r\n });\r\n\r\n return { headers: headers };\r\n }\r\n\r\n protected getRequestHeadersFileUpload(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {\r\n let headers = new HttpHeaders({\r\n 'Authorization': 'Bearer ' + this.authService.accessToken,\r\n 'Accept': `application/vnd.iman.v${EndpointFactory.apiVersion}+json, application/json, text/plain, */*`,\r\n 'App-Version': ConfigurationService.appVersion\r\n });\r\n\r\n return { headers: headers };\r\n }\r\n\r\n protected getRequestDownloadFileHeaders(): { headers: HttpHeaders | { [header: string]: string | string[]; }, responseType: 'json' } {\r\n let headers = new HttpHeaders({\r\n 'Authorization': 'Bearer ' + this.authService.accessToken,\r\n 'Content-Type': 'application/json',\r\n 'Accept': `application/vnd.iman.v${EndpointFactory.apiVersion}+json, application/json, text/plain, */*`,\r\n 'App-Version': ConfigurationService.appVersion,\r\n });\r\n \r\n return { headers: headers, responseType: 'arraybuffer' as 'json' };\r\n }\r\n \r\n protected handleError(error, continuation: () => Observable) {\r\n if (error.status == 401) {\r\n if (this.isRefreshingLogin) {\r\n return this.pauseTask(continuation);\r\n }\r\n\r\n this.isRefreshingLogin = true;\r\n\r\n return this.authService.refreshLogin().pipe(\r\n mergeMap(data => {\r\n this.isRefreshingLogin = false;\r\n this.resumeTasks(true);\r\n\r\n return continuation();\r\n }),\r\n catchError(refreshLoginError => {\r\n this.isRefreshingLogin = false;\r\n this.resumeTasks(false);\r\n\r\n if (refreshLoginError.status == 401 || (refreshLoginError.url && refreshLoginError.url.toLowerCase().includes(this.loginUrl.toLowerCase()))) {\r\n this.authService.reLogin();\r\n return throwError('session expired');\r\n }\r\n else {\r\n return throwError(refreshLoginError || 'server error');\r\n }\r\n }));\r\n }\r\n\r\n if (error.url && error.url.toLowerCase().includes(this.loginUrl.toLowerCase())) {\r\n this.authService.reLogin();\r\n\r\n return throwError((error.error && error.error.error_description) ? `session expired (${error.error.error_description})` : 'session expired');\r\n }\r\n else {\r\n return throwError(error);\r\n }\r\n }\r\n\r\n private pauseTask(continuation: () => Observable) {\r\n if (!this.taskPauser) {\r\n this.taskPauser = new Subject();\r\n }\r\n\r\n return this.taskPauser.pipe(switchMap(continueOp => {\r\n return continueOp ? continuation() : throwError('session expired');\r\n }));\r\n }\r\n\r\n private resumeTasks(continueOp: boolean) {\r\n setTimeout(() => {\r\n if (this.taskPauser) {\r\n this.taskPauser.next(continueOp);\r\n this.taskPauser.complete();\r\n this.taskPauser = null;\r\n }\r\n });\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\n/**\r\n * Helper class to decode and find JWT expiration.\r\n */\r\nimport { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable()\r\nexport class JwtHelper {\r\n\r\n public urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: { break; }\r\n case 2: { output += '=='; break; }\r\n case 3: { output += '='; break; }\r\n default: {\r\n throw 'Illegal base64url string!';\r\n }\r\n }\r\n return this.b64DecodeUnicode(output);\r\n }\r\n\r\n // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem\r\n private b64DecodeUnicode(str: any) {\r\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n }\r\n\r\n public decodeToken(token: string): any {\r\n let parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n let decoded = this.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n public getTokenExpirationDate(token: string): Date {\r\n let decoded: any;\r\n decoded = this.decodeToken(token);\r\n\r\n if (!decoded.hasOwnProperty('exp')) {\r\n return null;\r\n }\r\n\r\n let date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n public isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n let date = this.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds || 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { Utilities } from './utilities';\r\n\r\n@Injectable()\r\n/**\r\n* Provides a wrapper for accessing the web storage API and synchronizing session storage across tabs/windows.\r\n*/\r\nexport class LocalStoreManager {\r\n private static syncListenerInitialised = false;\r\n private syncKeys: string[] = [];\r\n private initEvent = new Subject();\r\n\r\n private reservedKeys: string[] =\r\n [\r\n 'sync_keys',\r\n 'addToSyncKeys',\r\n 'removeFromSyncKeys',\r\n 'getSessionStorage',\r\n 'setSessionStorage',\r\n 'addToSessionStorage',\r\n 'removeFromSessionStorage',\r\n 'clearAllSessionsStorage'\r\n ];\r\n\r\n public static readonly DBKEY_USER_DATA = \"user_data\";\r\n private static readonly DBKEY_SYNC_KEYS = \"sync_keys\";\r\n\r\n public initialiseStorageSyncListener() {\r\n if (LocalStoreManager.syncListenerInitialised == true) {\r\n return;\r\n }\r\n\r\n LocalStoreManager.syncListenerInitialised = true;\r\n window.addEventListener(\"storage\", this.sessionStorageTransferHandler, false);\r\n this.syncSessionStorage();\r\n }\r\n\r\n public deinitialiseStorageSyncListener() {\r\n window.removeEventListener(\"storage\", this.sessionStorageTransferHandler, false);\r\n LocalStoreManager.syncListenerInitialised = false;\r\n }\r\n\r\n public clearAllStorage() {\r\n this.clearAllSessionsStorage();\r\n this.clearLocalStorage();\r\n }\r\n\r\n public clearAllSessionsStorage() {\r\n this.clearInstanceSessionStorage();\r\n localStorage.removeItem(LocalStoreManager.DBKEY_SYNC_KEYS);\r\n\r\n localStorage.setItem('clearAllSessionsStorage', '_dummy');\r\n localStorage.removeItem('clearAllSessionsStorage');\r\n }\r\n\r\n public clearInstanceSessionStorage() {\r\n sessionStorage.clear();\r\n this.syncKeys = [];\r\n }\r\n\r\n public clearLocalStorage() {\r\n localStorage.clear();\r\n }\r\n\r\n public saveSessionData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n this.removeFromSyncKeys(key);\r\n localStorage.removeItem(key);\r\n this.sessionStorageSetItem(key, data);\r\n }\r\n\r\n public saveSyncedSessionData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n localStorage.removeItem(key);\r\n this.addToSessionStorage(data, key);\r\n }\r\n\r\n public savePermanentData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n this.removeFromSessionStorage(key);\r\n this.localStorageSetItem(key, data);\r\n }\r\n\r\n public moveDataToSessionStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n let data = this.getData(key);\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.saveSessionData(data, key);\r\n }\r\n\r\n public moveDataToSyncedSessionStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n let data = this.getData(key);\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.saveSyncedSessionData(data, key);\r\n }\r\n\r\n public moveDataToPermanentStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n let data = this.getData(key);\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.savePermanentData(data, key);\r\n }\r\n\r\n public exists(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n let data = sessionStorage.getItem(key);\r\n\r\n if (data == null) {\r\n data = localStorage.getItem(key);\r\n }\r\n\r\n return data != null;\r\n }\r\n\r\n public getData(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n let data = this.sessionStorageGetItem(key);\r\n\r\n if (data == null) {\r\n data = this.localStorageGetItem(key);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n public getDataObject(key = LocalStoreManager.DBKEY_USER_DATA, isDateType = false): T {\r\n let data = this.getData(key);\r\n\r\n if (data != null) {\r\n if (isDateType) {\r\n data = new Date(data);\r\n }\r\n return data;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n public deleteData(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n this.removeFromSessionStorage(key);\r\n localStorage.removeItem(key);\r\n }\r\n\r\n public getInitEvent(): Observable<{}> {\r\n return this.initEvent.asObservable();\r\n }\r\n\r\n private sessionStorageTransferHandler = (event: StorageEvent) => {\r\n if (!event.newValue) {\r\n return;\r\n }\r\n\r\n if (event.key == 'getSessionStorage') {\r\n if (sessionStorage.length) {\r\n this.localStorageSetItem('setSessionStorage', sessionStorage);\r\n localStorage.removeItem('setSessionStorage');\r\n }\r\n }\r\n else if (event.key == 'setSessionStorage') {\r\n\r\n if (!this.syncKeys.length) {\r\n this.loadSyncKeys();\r\n }\r\n let data = JSON.parse(event.newValue);\r\n //console.info(\"Set => Key: Transfer setSessionStorage\" + \", data: \" + JSON.stringify(data));\r\n\r\n for (let key in data) {\r\n\r\n if (this.syncKeysContains(key))\r\n this.sessionStorageSetItem(key, JSON.parse(data[key]));\r\n }\r\n\r\n this.onInit();\r\n }\r\n else if (event.key == 'addToSessionStorage') {\r\n\r\n let data = JSON.parse(event.newValue);\r\n\r\n //console.warn(\"Set => Key: Transfer addToSessionStorage\" + \", data: \" + JSON.stringify(data));\r\n\r\n this.addToSessionStorageHelper(data[\"data\"], data[\"key\"]);\r\n }\r\n else if (event.key == 'removeFromSessionStorage') {\r\n\r\n this.removeFromSessionStorageHelper(event.newValue);\r\n }\r\n else if (event.key == 'clearAllSessionsStorage' && sessionStorage.length) {\r\n this.clearInstanceSessionStorage();\r\n }\r\n else if (event.key == 'addToSyncKeys') {\r\n this.addToSyncKeysHelper(event.newValue);\r\n }\r\n else if (event.key == 'removeFromSyncKeys') {\r\n this.removeFromSyncKeysHelper(event.newValue);\r\n }\r\n }\r\n\r\n private syncSessionStorage() {\r\n localStorage.setItem('getSessionStorage', '_dummy');\r\n localStorage.removeItem('getSessionStorage');\r\n }\r\n\r\n private addToSessionStorage(data: any, key: string) {\r\n this.addToSessionStorageHelper(data, key);\r\n this.addToSyncKeysBackup(key);\r\n\r\n this.localStorageSetItem('addToSessionStorage', { key: key, data: data });\r\n localStorage.removeItem('addToSessionStorage');\r\n }\r\n\r\n private addToSessionStorageHelper(data: any, key: string) {\r\n this.addToSyncKeysHelper(key);\r\n this.sessionStorageSetItem(key, data);\r\n }\r\n\r\n private removeFromSessionStorage(keyToRemove: string) {\r\n this.removeFromSessionStorageHelper(keyToRemove);\r\n this.removeFromSyncKeysBackup(keyToRemove);\r\n\r\n localStorage.setItem('removeFromSessionStorage', keyToRemove);\r\n localStorage.removeItem('removeFromSessionStorage');\r\n }\r\n\r\n private removeFromSessionStorageHelper(keyToRemove: string) {\r\n\r\n sessionStorage.removeItem(keyToRemove);\r\n this.removeFromSyncKeysHelper(keyToRemove);\r\n }\r\n\r\n private testForInvalidKeys(key: string) {\r\n if (!key) {\r\n throw new Error(\"key cannot be empty\")\r\n }\r\n\r\n if (this.reservedKeys.some(x => x == key)) {\r\n throw new Error(`The storage key \"${key}\" is reserved and cannot be used. Please use a different key`);\r\n }\r\n }\r\n\r\n private syncKeysContains(key: string) {\r\n\r\n return this.syncKeys.some(x => x == key);\r\n }\r\n\r\n private loadSyncKeys() {\r\n if (this.syncKeys.length) {\r\n return;\r\n }\r\n\r\n this.syncKeys = this.getSyncKeysFromStorage();\r\n }\r\n\r\n private getSyncKeysFromStorage(defaultValue: string[] = []): string[] {\r\n let data = this.localStorageGetItem(LocalStoreManager.DBKEY_SYNC_KEYS);\r\n\r\n if (data == null) {\r\n return defaultValue;\r\n }\r\n else {\r\n return data;\r\n }\r\n }\r\n\r\n private addToSyncKeys(key: string) {\r\n this.addToSyncKeysHelper(key);\r\n this.addToSyncKeysBackup(key);\r\n\r\n localStorage.setItem('addToSyncKeys', key);\r\n localStorage.removeItem('addToSyncKeys');\r\n }\r\n\r\n private addToSyncKeysBackup(key: string) {\r\n let storedSyncKeys = this.getSyncKeysFromStorage();\r\n\r\n if (!storedSyncKeys.some(x => x == key)) {\r\n storedSyncKeys.push(key);\r\n this.localStorageSetItem(LocalStoreManager.DBKEY_SYNC_KEYS, storedSyncKeys);\r\n }\r\n }\r\n\r\n private removeFromSyncKeysBackup(key: string) {\r\n let storedSyncKeys = this.getSyncKeysFromStorage();\r\n\r\n let index = storedSyncKeys.indexOf(key);\r\n\r\n if (index > -1) {\r\n storedSyncKeys.splice(index, 1);\r\n this.localStorageSetItem(LocalStoreManager.DBKEY_SYNC_KEYS, storedSyncKeys);\r\n }\r\n }\r\n\r\n private addToSyncKeysHelper(key: string) {\r\n if (!this.syncKeysContains(key)) {\r\n this.syncKeys.push(key);\r\n }\r\n }\r\n\r\n private removeFromSyncKeys(key: string) {\r\n this.removeFromSyncKeysHelper(key);\r\n this.removeFromSyncKeysBackup(key);\r\n\r\n localStorage.setItem('removeFromSyncKeys', key);\r\n localStorage.removeItem('removeFromSyncKeys');\r\n }\r\n\r\n private removeFromSyncKeysHelper(key: string) {\r\n let index = this.syncKeys.indexOf(key);\r\n\r\n if (index > -1) {\r\n this.syncKeys.splice(index, 1);\r\n }\r\n }\r\n\r\n private localStorageSetItem(key: string, data: any) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n private sessionStorageSetItem(key: string, data: any) {\r\n sessionStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n private localStorageGetItem(key: string) {\r\n return Utilities.JsonTryParse(localStorage.getItem(key));\r\n }\r\n\r\n private sessionStorageGetItem(key: string) {\r\n return Utilities.JsonTryParse(sessionStorage.getItem(key));\r\n }\r\n\r\n private onInit() {\r\n setTimeout(() => {\r\n this.initEvent.next();\r\n this.initEvent.complete();\r\n });\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class NotificationEndpoint {\r\n private demoNotifications = [\r\n {\r\n \"id\": 1,\r\n \"header\": \"20 New Products were added to your inventory by \\\"administrator\\\"\",\r\n \"body\": \"20 new \\\"BMW M6\\\" were added to your stock by \\\"administrator\\\" on 5/28/2017 4:54:13 PM\",\r\n \"isRead\": true,\r\n \"isPinned\": true,\r\n \"date\": \"2017-05-28T16:29:13.5877958\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"header\": \"1 Product running low\",\r\n \"body\": \"You are running low on \\\"Nissan Patrol\\\". 2 Items remaining\",\r\n \"isRead\": false,\r\n \"isPinned\": false,\r\n \"date\": \"2017-05-28T19:54:42.4144502\"\r\n },\r\n {\r\n \"id\": 3,\r\n \"header\": \"Tomorrow is half day\",\r\n \"body\": \"Guys, tomorrow we close by midday. Please check in your sales before noon. Thanx. Alex.\",\r\n \"isRead\": false,\r\n \"isPinned\": false,\r\n \"date\": \"2017-05-30T11:13:42.4144502\"\r\n }\r\n ];\r\n\r\n getNotificationEndpoint(notificationId: number): Observable {\r\n\r\n let notification = this.demoNotifications.find(val => val.id == notificationId);\r\n let response: HttpResponse;\r\n\r\n if (notification) {\r\n response = this.createResponse(notification, 200);\r\n }\r\n else {\r\n response = this.createResponse(null, 404);\r\n }\r\n\r\n return of(response.body);\r\n }\r\n\r\n getNotificationsEndpoint(page: number, pageSize: number): Observable {\r\n\r\n let notifications = this.demoNotifications;\r\n let response = this.createResponse(this.demoNotifications, 200);\r\n\r\n return of(response.body);\r\n }\r\n\r\n getUnreadNotificationsEndpoint(userId?: string): Observable {\r\n\r\n let unreadNotifications = this.demoNotifications.filter(val => !val.isRead);\r\n let response = this.createResponse(unreadNotifications, 200);\r\n\r\n return of(response.body);\r\n }\r\n\r\n getNewNotificationsEndpoint(lastNotificationDate?: Date): Observable {\r\n\r\n let unreadNotifications = this.demoNotifications;\r\n let response = this.createResponse(unreadNotifications, 200);\r\n\r\n return of(response.body);\r\n }\r\n\r\n getPinUnpinNotificationEndpoint(notificationId: number, isPinned?: boolean, ): Observable {\r\n\r\n let notification = this.demoNotifications.find(val => val.id == notificationId);\r\n let response: HttpResponse;\r\n\r\n if (notification) {\r\n response = this.createResponse(null, 204);\r\n\r\n if (isPinned == null)\r\n isPinned = !notification.isPinned;\r\n\r\n notification.isPinned = isPinned;\r\n notification.isRead = true;\r\n }\r\n else {\r\n response = this.createResponse(null, 404);\r\n }\r\n\r\n\r\n return of(response.body);\r\n }\r\n\r\n getReadUnreadNotificationEndpoint(notificationIds: number[], isRead: boolean, ): Observable {\r\n for (let notificationId of notificationIds) {\r\n\r\n let notification = this.demoNotifications.find(val => val.id == notificationId);\r\n\r\n if (notification) {\r\n notification.isRead = isRead;\r\n }\r\n }\r\n\r\n let response = this.createResponse(null, 204);\r\n return of(response.body);\r\n }\r\n\r\n getDeleteNotificationEndpoint(notificationId: number): Observable {\r\n\r\n let notification = this.demoNotifications.find(val => val.id == notificationId);\r\n let response: HttpResponse;\r\n\r\n if (notification) {\r\n this.demoNotifications = this.demoNotifications.filter(val => val.id != notificationId)\r\n response = this.createResponse(notification, 200);\r\n }\r\n else {\r\n response = this.createResponse(null, 404);\r\n }\r\n\r\n return of(response.body);\r\n }\r\n\r\n private createResponse(body, status: number) {\r\n return new HttpResponse({ body: body, status: status });\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, interval } from 'rxjs';\r\nimport { map, flatMap, startWith } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { NotificationEndpoint } from './notification-endpoint.service';\r\nimport { Notification } from '../models/notification.model';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n private lastNotificationDate: Date;\r\n private _recentNotifications: Notification[];\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n\r\n get recentNotifications() {\r\n return this._recentNotifications;\r\n }\r\n\r\n set recentNotifications(notifications: Notification[]) {\r\n this._recentNotifications = notifications;\r\n }\r\n\r\n constructor(private notificationEndpoint: NotificationEndpoint, private authService: AuthService) {\r\n\r\n }\r\n\r\n getNotification(notificationId?: number) {\r\n\r\n return this.notificationEndpoint.getNotificationEndpoint(notificationId).pipe(\r\n map(response => Notification.Create(response)));\r\n }\r\n\r\n getNotifications(page: number, pageSize: number) {\r\n\r\n return this.notificationEndpoint.getNotificationsEndpoint(page, pageSize).pipe(\r\n map(response => {\r\n return this.getNotificationsFromResponse(response);\r\n }));\r\n }\r\n\r\n getUnreadNotifications(userId?: string) {\r\n\r\n return this.notificationEndpoint.getUnreadNotificationsEndpoint(userId).pipe(\r\n map(response => this.getNotificationsFromResponse(response)));\r\n }\r\n\r\n getNewNotifications() {\r\n return this.notificationEndpoint.getNewNotificationsEndpoint(this.lastNotificationDate).pipe(\r\n map(response => this.processNewNotificationsFromResponse(response)));\r\n }\r\n\r\n getNewNotificationsPeriodically() {\r\n return interval(10000).pipe(\r\n startWith(0),\r\n flatMap(() => {\r\n return this.notificationEndpoint.getNewNotificationsEndpoint(this.lastNotificationDate).pipe(\r\n map(response => this.processNewNotificationsFromResponse(response)));\r\n }));\r\n }\r\n\r\n pinUnpinNotification(notificationOrNotificationId: number | Notification, isPinned?: boolean): Observable {\r\n\r\n if (typeof notificationOrNotificationId === 'number' || notificationOrNotificationId instanceof Number) {\r\n return this.notificationEndpoint.getPinUnpinNotificationEndpoint(notificationOrNotificationId, isPinned);\r\n }\r\n else {\r\n return this.pinUnpinNotification(notificationOrNotificationId.id);\r\n }\r\n }\r\n\r\n readUnreadNotification(notificationIds: number[], isRead: boolean): Observable {\r\n\r\n return this.notificationEndpoint.getReadUnreadNotificationEndpoint(notificationIds, isRead);\r\n }\r\n\r\n deleteNotification(notificationOrNotificationId: number | Notification): Observable {\r\n\r\n if (typeof notificationOrNotificationId === 'number' || notificationOrNotificationId instanceof Number) { //Todo: Test me if its check is valid\r\n return this.notificationEndpoint.getDeleteNotificationEndpoint(notificationOrNotificationId).pipe(\r\n map(response => {\r\n this.recentNotifications = this.recentNotifications.filter(n => n.id != notificationOrNotificationId);\r\n return Notification.Create(response);\r\n }));\r\n }\r\n else {\r\n return this.deleteNotification(notificationOrNotificationId.id);\r\n }\r\n }\r\n\r\n private processNewNotificationsFromResponse(response) {\r\n let notifications = this.getNotificationsFromResponse(response);\r\n\r\n for (let n of notifications) {\r\n if (n.date > this.lastNotificationDate)\r\n this.lastNotificationDate = n.date;\r\n }\r\n\r\n return notifications;\r\n }\r\n\r\n private getNotificationsFromResponse(response) {\r\n let notifications: Notification[] = [];\r\n\r\n for (let i in response) {\r\n notifications[i] = Notification.Create(response[i]);\r\n }\r\n\r\n notifications.sort((a, b) => b.date.valueOf() - a.date.valueOf());\r\n notifications.sort((a, b) => (a.isPinned === b.isPinned) ? 0 : a.isPinned ? -1 : 1);\r\n\r\n this.recentNotifications = notifications;\r\n\r\n return notifications;\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponseBase, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n public static readonly captionAndMessageSeparator = \":\";\r\n public static readonly noNetworkMessageCaption = \"No Network\";\r\n public static readonly noNetworkMessageDetail = \"The server cannot be reached\";\r\n public static readonly accessDeniedMessageCaption = \"Access Denied!\";\r\n public static readonly accessDeniedMessageDetail = \"\";\r\n\r\n public static getHttpResponseMessage(data: HttpResponseBase | any): string[] {\r\n let responses: string[] = [];\r\n\r\n if (data instanceof HttpResponseBase) {\r\n if (this.checkNoNetwork(data)) {\r\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\r\n }\r\n else {\r\n let responseObject = this.getResponseBody(data);\r\n\r\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\r\n\r\n for (let key in responseObject) {\r\n if (key)\r\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\r\n else if (responseObject[key])\r\n responses.push(responseObject[key].toString());\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length && this.getResponseBody(data)) {\r\n responses.push(`${data.statusText}: ${this.getResponseBody(data).toString()}`);\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n responses.push(data.toString());\r\n }\r\n\r\n if (this.checkAccessDenied(data)) {\r\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\r\n }\r\n\r\n return responses;\r\n }\r\n\r\n public static findHttpResponseMessage(messageToFind: string, data: HttpResponse | any, seachInCaptionOnly = true, includeCaptionInResult = false): string {\r\n let searchString = messageToFind.toLowerCase();\r\n let httpMessages = this.getHttpResponseMessage(data);\r\n\r\n for (let message of httpMessages) {\r\n let fullMessage = Utilities.splitInTwo(message, this.captionAndMessageSeparator);\r\n\r\n if (fullMessage.firstPart && fullMessage.firstPart.toLowerCase().indexOf(searchString) != -1) {\r\n return includeCaptionInResult ? message : fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n\r\n if (!seachInCaptionOnly) {\r\n for (let message of httpMessages) {\r\n\r\n if (message.toLowerCase().indexOf(searchString) != -1) {\r\n if (includeCaptionInResult) {\r\n return message;\r\n }\r\n else {\r\n let fullMessage = Utilities.splitInTwo(message, this.captionAndMessageSeparator);\r\n return fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static getResponseBody(response: HttpResponseBase) {\r\n if (response instanceof HttpResponse)\r\n return response.body;\r\n\r\n if (response instanceof HttpErrorResponse)\r\n return response.error || response.message || response.statusText;\r\n }\r\n\r\n public static checkNoNetwork(response: HttpResponseBase) {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status == 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkAccessDenied(response: HttpResponseBase) {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status == 403;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkNotFound(response: HttpResponseBase) {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status == 404;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkIsLocalHost(url: string, base?: string) {\r\n if (url) {\r\n let location = new URL(url, base);\r\n return location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\";\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getQueryParamsFromString(paramString: string) {\r\n\r\n if (!paramString)\r\n return null;\r\n\r\n let params: { [key: string]: string } = {};\r\n\r\n for (let param of paramString.split(\"&\")) {\r\n let keyValue = Utilities.splitInTwo(param, \"=\");\r\n params[keyValue.firstPart] = keyValue.secondPart;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public static splitInTwo(text: string, separator: string): { firstPart: string, secondPart: string } {\r\n let separatorIndex = text.indexOf(separator);\r\n\r\n if (separatorIndex == -1)\r\n return { firstPart: text, secondPart: null };\r\n\r\n let part1 = text.substr(0, separatorIndex).trim();\r\n let part2 = text.substr(separatorIndex + 1).trim();\r\n\r\n return { firstPart: part1, secondPart: part2 };\r\n }\r\n\r\n public static safeStringify(object) {\r\n\r\n let result: string;\r\n\r\n try {\r\n result = JSON.stringify(object);\r\n return result;\r\n }\r\n catch (error) {\r\n\r\n }\r\n\r\n let simpleObject = {};\r\n\r\n for (let prop in object) {\r\n if (!object.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'object') {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'function') {\r\n continue;\r\n }\r\n simpleObject[prop] = object[prop];\r\n }\r\n\r\n result = \"[***Sanitized Object***]: \" + JSON.stringify(simpleObject);\r\n\r\n return result;\r\n }\r\n\r\n public static JsonTryParse(value: string) {\r\n try {\r\n return JSON.parse(value);\r\n }\r\n catch (e) {\r\n if (value === \"undefined\") {\r\n return void 0;\r\n }\r\n return value;\r\n }\r\n }\r\n\r\n public static TestIsObjectEmpty(obj: any) {\r\n for (let prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public static TestIsUndefined(value: any) {\r\n return typeof value === 'undefined';\r\n //return value === undefined;\r\n }\r\n\r\n public static TestIsString(value: any) {\r\n return typeof value === 'string' || value instanceof String;\r\n }\r\n\r\n public static capitalizeFirstLetter(text: string) {\r\n if (text)\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n else\r\n return text;\r\n }\r\n\r\n public static toTitleCase(text: string) {\r\n return text.replace(/\\w\\S*/g, (subString) => {\r\n return subString.charAt(0).toUpperCase() + subString.substr(1).toLowerCase();\r\n });\r\n }\r\n\r\n public static toLowerCase(items: string)\r\n public static toLowerCase(items: string[])\r\n public static toLowerCase(items: any): string | string[] {\r\n\r\n if (items instanceof Array) {\r\n let loweredRoles: string[] = [];\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n loweredRoles[i] = items[i].toLowerCase();\r\n }\r\n\r\n return loweredRoles;\r\n }\r\n else if (typeof items === 'string' || items instanceof String) {\r\n return items.toLowerCase();\r\n }\r\n }\r\n\r\n public static uniqueId() {\r\n return this.randomNumber(1000000, 9000000).toString();\r\n }\r\n\r\n public static randomNumber(min: number, max: number) {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n public static baseUrl() {\r\n let base = '';\r\n\r\n if (window.location.origin)\r\n base = window.location.origin;\r\n else\r\n base = window.location.protocol + \"//\" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\r\n\r\n return base.replace(/\\/$/, '');\r\n }\r\n\r\n public static printDateOnly(date: Date) {\r\n\r\n date = new Date(date);\r\n\r\n let dayNames = new Array(\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\");\r\n let monthNames = new Array(\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\");\r\n\r\n let dayOfWeek = date.getDay();\r\n let dayOfMonth = date.getDate();\r\n let sup = \"\";\r\n let month = date.getMonth();\r\n let year = date.getFullYear();\r\n\r\n if (dayOfMonth == 1 || dayOfMonth == 21 || dayOfMonth == 31) {\r\n sup = \"st\";\r\n }\r\n else if (dayOfMonth == 2 || dayOfMonth == 22) {\r\n sup = \"nd\";\r\n }\r\n else if (dayOfMonth == 3 || dayOfMonth == 23) {\r\n sup = \"rd\";\r\n }\r\n else {\r\n sup = \"th\";\r\n }\r\n\r\n let dateString = dayNames[dayOfWeek] + \", \" + dayOfMonth + sup + \" \" + monthNames[month] + \" \" + year;\r\n\r\n return dateString;\r\n }\r\n\r\n public static printTimeOnly(date: Date) {\r\n\r\n date = new Date(date);\r\n\r\n let period = \"\";\r\n let minute = date.getMinutes().toString();\r\n let hour = date.getHours();\r\n\r\n period = hour < 12 ? \"AM\" : \"PM\";\r\n\r\n if (hour == 0) {\r\n hour = 12;\r\n }\r\n if (hour > 12) {\r\n hour = hour - 12;\r\n }\r\n\r\n if (minute.length == 1) {\r\n minute = \"0\" + minute;\r\n }\r\n\r\n let timeString = hour + \":\" + minute + \" \" + period;\r\n\r\n\r\n return timeString;\r\n }\r\n\r\n public static printDate(date: Date, separator = \"at\") {\r\n return `${Utilities.printDateOnly(date)} ${separator} ${Utilities.printTimeOnly(date)}`;\r\n }\r\n\r\n public static printFriendlyDate(date: Date, separator = \"-\") {\r\n let today = new Date(); today.setHours(0, 0, 0, 0);\r\n let yesterday = new Date(today); yesterday.setDate(yesterday.getDate() - 1);\r\n let test = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n\r\n if (test.toDateString() == today.toDateString())\r\n return `Today ${separator} ${Utilities.printTimeOnly(date)}`;\r\n if (test.toDateString() == yesterday.toDateString())\r\n return `Yesterday ${separator} ${Utilities.printTimeOnly(date)}`;\r\n else\r\n return Utilities.printDate(date, separator);\r\n }\r\n\r\n public static printShortDate(date: Date, separator = \"/\", dateTimeSeparator = \"-\") {\r\n\r\n var day = date.getDate().toString();\r\n var month = (date.getMonth() + 1).toString();\r\n var year = date.getFullYear();\r\n\r\n if (day.length == 1)\r\n day = \"0\" + day;\r\n\r\n if (month.length == 1)\r\n month = \"0\" + month;\r\n\r\n return `${month}${separator}${day}${separator}${year} ${dateTimeSeparator} ${Utilities.printTimeOnly(date)}`;\r\n }\r\n\r\n public static parseDate(date) {\r\n\r\n if (date) {\r\n\r\n if (date instanceof Date) {\r\n return date;\r\n }\r\n\r\n if (typeof date === 'string' || date instanceof String) {\r\n if (date.search(/[a-su-z+]/i) == -1)\r\n date = date + \"Z\";\r\n\r\n return new Date(date);\r\n }\r\n\r\n if (typeof date === 'number' || date instanceof Number) {\r\n return new Date(date);\r\n }\r\n }\r\n }\r\n\r\n public static printDuration(start: Date, end: Date) {\r\n\r\n start = new Date(start);\r\n end = new Date(end);\r\n\r\n // get total seconds between the times\r\n let delta = Math.abs(start.valueOf() - end.valueOf()) / 1000;\r\n\r\n // calculate (and subtract) whole days\r\n let days = Math.floor(delta / 86400);\r\n delta -= days * 86400;\r\n\r\n // calculate (and subtract) whole hours\r\n let hours = Math.floor(delta / 3600) % 24;\r\n delta -= hours * 3600;\r\n\r\n // calculate (and subtract) whole minutes\r\n let minutes = Math.floor(delta / 60) % 60;\r\n delta -= minutes * 60;\r\n\r\n // what's left is seconds\r\n let seconds = delta % 60; // in theory the modulus is not required\r\n\r\n\r\n let printedDays = \"\";\r\n\r\n if (days)\r\n printedDays = `${days} days`;\r\n\r\n if (hours)\r\n printedDays += printedDays ? `, ${hours} hours` : `${hours} hours`;\r\n\r\n if (minutes)\r\n printedDays += printedDays ? `, ${minutes} minutes` : `${minutes} minutes`;\r\n\r\n if (seconds)\r\n printedDays += printedDays ? ` and ${seconds} seconds` : `${seconds} seconds`;\r\n\r\n\r\n if (!printedDays)\r\n printedDays = \"0\";\r\n\r\n return printedDays;\r\n }\r\n\r\n public static getAge(birthDate, otherDate) {\r\n birthDate = new Date(birthDate);\r\n otherDate = new Date(otherDate);\r\n\r\n let years = (otherDate.getFullYear() - birthDate.getFullYear());\r\n\r\n if (otherDate.getMonth() < birthDate.getMonth() ||\r\n otherDate.getMonth() == birthDate.getMonth() && otherDate.getDate() < birthDate.getDate()) {\r\n years--;\r\n }\r\n\r\n return years;\r\n }\r\n\r\n public static searchArray(searchTerm: string, caseSensitive: boolean, ...values: any[]) {\r\n if (!searchTerm) {\r\n return true;\r\n }\r\n\r\n let filter = searchTerm.trim();\r\n let data = values.join();\r\n\r\n if (!caseSensitive) {\r\n filter = filter.toLowerCase();\r\n data = data.toLowerCase();\r\n }\r\n\r\n return data.indexOf(filter) != -1;\r\n }\r\n\r\n public static moveArrayItem(array: any[], oldIndex, newIndex) {\r\n\r\n while (oldIndex < 0) {\r\n oldIndex += this.length;\r\n }\r\n\r\n while (newIndex < 0) {\r\n newIndex += this.length;\r\n }\r\n\r\n if (newIndex >= this.length) {\r\n var k = newIndex - this.length;\r\n while ((k--) + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n\r\n array.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\r\n }\r\n\r\n public static expandCamelCase(text: string) {\r\n\r\n if (!text)\r\n return text;\r\n\r\n return text.replace(/([A-Z][a-z]+)/g, \" $1\")\r\n .replace(/([A-Z][A-Z]+)/g, \" $1\")\r\n .replace(/([^A-Za-z ]+)/g, \" $1\");\r\n }\r\n\r\n public static testIsAbsoluteUrl(url: string) {\r\n\r\n let r = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n return r.test(url);\r\n }\r\n\r\n public static convertToAbsoluteUrl(url: string) {\r\n\r\n return Utilities.testIsAbsoluteUrl(url) ? url : '//' + url;\r\n }\r\n\r\n public static removeNulls(obj) {\r\n let isArray = obj instanceof Array;\r\n\r\n for (let k in obj) {\r\n if (obj[k] === null) {\r\n isArray ? obj.splice(k, 1) : delete obj[k];\r\n }\r\n else if (typeof obj[k] == \"object\") {\r\n Utilities.removeNulls(obj[k]);\r\n }\r\n\r\n if (isArray && obj.length == k) {\r\n Utilities.removeNulls(obj);\r\n }\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n public static debounce(func: (...args) => any, wait: number, immediate?: boolean) {\r\n var timeout;\r\n\r\n return function () {\r\n var context = this;\r\n var args_ = arguments;\r\n\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate)\r\n func.apply(context, args_);\r\n };\r\n\r\n var callNow = immediate && !timeout;\r\n\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n\r\n if (callNow)\r\n func.apply(context, args_);\r\n };\r\n }\r\n\r\n public static cookies =\r\n {\r\n getItem: (sKey) => {\r\n return decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null;\r\n },\r\n setItem: (sKey, sValue, vEnd, sPath, sDomain, bSecure) => {\r\n if (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) {\r\n return false;\r\n }\r\n\r\n var sExpires = \"\";\r\n\r\n if (vEnd) {\r\n switch (vEnd.constructor) {\r\n case Number:\r\n sExpires = vEnd === Infinity ? \"; expires=Fri, 31 Dec 9999 23:59:59 GMT\" : \"; max-age=\" + vEnd;\r\n break;\r\n case String:\r\n sExpires = \"; expires=\" + vEnd;\r\n break;\r\n case Date:\r\n sExpires = \"; expires=\" + vEnd.toUTCString();\r\n break;\r\n }\r\n }\r\n\r\n document.cookie = encodeURIComponent(sKey) + \"=\" + encodeURIComponent(sValue) + sExpires + (sDomain ? \"; domain=\" + sDomain : \"\") + (sPath ? \"; path=\" + sPath : \"\") + (bSecure ? \"; secure\" : \"\");\r\n return true;\r\n },\r\n removeItem: (sKey, sPath, sDomain) => {\r\n if (!sKey) {\r\n return false;\r\n }\r\n document.cookie = encodeURIComponent(sKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT\" + (sDomain ? \"; domain=\" + sDomain : \"\") + (sPath ? \"; path=\" + sPath : \"\");\r\n return true;\r\n },\r\n hasItem: (sKey) => {\r\n return (new RegExp(\"(?:^|;\\\\s*)\" + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(document.cookie);\r\n },\r\n keys: () => {\r\n var aKeys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, \"\").split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n for (var nIdx = 0; nIdx < aKeys.length; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }\r\n return aKeys;\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'settings.tab.Profile' | translate}}\\r\\n \\r\\n \\r\\n {{'settings.description.UserProfile' | translate}}\\r\\n account_circle\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{'settings.tab.Preferences' | translate}}\\r\\n \\r\\n \\r\\n {{'settings.description.UserPreferences' | translate}}\\r\\n tune\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"","module.exports = \".side-menu {\\n min-width: 120px; }\\n\\n.separator-hr {\\n margin-top: 0;\\n margin-bottom: 10px; }\\n\\n[hidden] {\\n display: none; }\\n\\n.example-headers-align .mat-expansion-panel-header-title,\\n.example-headers-align .mat-expansion-panel-header-description {\\n flex-basis: 0; }\\n\\n.example-headers-align .mat-expansion-panel-header-description {\\n justify-content: space-between;\\n align-items: center; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2V0dGluZ3MvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxzZXR0aW5nc1xcc2V0dGluZ3MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksaUJBQWdCLEVBQ25COztBQUVEO0VBQ0ksY0FBYTtFQUNiLG9CQUFtQixFQUN0Qjs7QUNBRDtFREdJLGNBQWEsRUFDaEI7O0FBRUQ7O0VBRUksY0FBYSxFQUNoQjs7QUFFRDtFQUNJLCtCQUE4QjtFQUM5QixvQkFBbUIsRUFDdEIiLCJmaWxlIjoic3JjL2FwcC9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zaWRlLW1lbnUge1xyXG4gICAgbWluLXdpZHRoOiAxMjBweDtcclxufVxyXG5cclxuLnNlcGFyYXRvci1ociB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXHJcbi5leGFtcGxlLWhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uIHtcclxuICAgIGZsZXgtYmFzaXM6IDA7XHJcbn1cclxuXHJcbi5leGFtcGxlLWhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn0iLCIuc2lkZS1tZW51IHtcbiAgbWluLXdpZHRoOiAxMjBweDsgfVxuXG4uc2VwYXJhdG9yLWhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXG4uZXhhbXBsZS1oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gIGZsZXgtYmFzaXM6IDA7IH1cblxuLmV4YW1wbGUtaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, AfterViewInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatExpansionPanel } from '@angular/material';\r\n\r\n\r\n\r\nimport { UserEditorComponent } from '../admin/user-editor.component';\r\nimport { UserPreferencesComponent } from './user-preferences.component';\r\nimport { AppTranslationService } from \"../services/app-translation.service\";\r\nimport { Permission } from '../models/permission.model';\r\nimport { Role } from '../models/role.model';\r\nimport { User } from '../models/user.model';\r\nimport { AccountService, RolesChangedEventArg } from \"../services/account.service\";\r\nimport { AlertService, DialogType, MessageSeverity } from '../services/alert.service';\r\nimport { fadeInOut } from '../services/animations';\r\nimport { Utilities } from '../services/utilities';\r\n\r\n@Component({\r\n selector: 'settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy, AfterViewInit {\r\n fragmentSubscription: any;\r\n\r\n @ViewChild('profile') profilePanel: MatExpansionPanel\r\n @ViewChild('preferences') preferencesPanel: MatExpansionPanel\r\n\r\n @ViewChild(UserEditorComponent) userProfile: UserEditorComponent;\r\n\r\n @ViewChild(UserPreferencesComponent) userPreferences: UserPreferencesComponent;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.fragmentSubscription = this.route.fragment.subscribe(anchor => {\r\n switch (anchor) {\r\n case 'preferences':\r\n this.preferencesPanel.open();\r\n break;\r\n default:\r\n this.profilePanel.open();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.loadCurrentUserData();\r\n\r\n this.userProfile.userSaved$.subscribe(user => {\r\n this.alertService.showMessage(\"Success\", \"Changes to your User Profile was saved successfully\", MessageSeverity.success);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.fragmentSubscription.unsubscribe();\r\n }\r\n\r\n public navigateToFragment(fragment: string) {\r\n if (fragment) {\r\n this.router.navigateByUrl(`/settings#${fragment}`);\r\n }\r\n }\r\n\r\n private loadCurrentUserData() {\r\n this.alertService.startLoadingMessage();\r\n\r\n if (this.canViewRoles) {\r\n this.accountService.getUserAndRoles().subscribe(\r\n results => this.onCurrentUserDataLoadSuccessful(results[0], results[1]),\r\n error => this.onCurrentUserDataLoadFailed(error)\r\n );\r\n }\r\n else {\r\n this.accountService.getUser().subscribe(\r\n user => this.onCurrentUserDataLoadSuccessful(user, user.roles.map(r => new Role(r))),\r\n error => this.onCurrentUserDataLoadFailed(error)\r\n );\r\n }\r\n }\r\n\r\n private onCurrentUserDataLoadSuccessful(user: User, roles: Role[]) {\r\n this.alertService.stopLoadingMessage();\r\n this.userProfile.setUser(user, roles);\r\n }\r\n\r\n private onCurrentUserDataLoadFailed(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve user data from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule } from \"@angular/core\";\r\n\r\nimport { SharedModule } from '../shared/shared.module'\r\n\r\nimport { SettingsComponent } from './settings.component';\r\nimport { UserPreferencesComponent } from \"./user-preferences.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule\r\n ],\r\n exports: [\r\n SettingsComponent\r\n ],\r\n declarations: [\r\n SettingsComponent,\r\n UserPreferencesComponent\r\n ]\r\n})\r\nexport class SettingsModule { }\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{'preferences.' + language.name | translate}} (default)\\r\\n \\r\\n \\r\\n\\r\\n {{'preferences.LanguageHint' | translate}}\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{currentHomePage.icon}}{{currentHomePage.title}}\\r\\n \\r\\n\\r\\n \\r\\n {{page.icon}}{{'preferences.' + page.title | translate}} (default)\\r\\n \\r\\n \\r\\n\\r\\n {{'preferences.HomePageHint' | translate}}\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{'preferences.DashboardStatistics' | translate}}\\r\\n \\r\\n\\r\\n \\r\\n {{'preferences.DashboardNotifications' | translate}}\\r\\n \\r\\n\\r\\n \\r\\n {{'preferences.DashboardTodo' | translate}}\\r\\n \\r\\n\\r\\n \\r\\n {{'preferences.DashboardBanner' | translate}}\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \".separator-hr {\\n margin: 7px 5px;\\n border-top-style: dashed; }\\n\\n.subseparator-hr {\\n margin: 7px 5px;\\n border-top-style: none; }\\n\\n.last-separator-hr {\\n margin-top: 7px; }\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0; }\\n\\n.form-control-static {\\n min-height: 0; }\\n\\n.form-horizontal .checkbox {\\n padding-top: 0; }\\n\\n.col-reset-default {\\n padding-right: 0; }\\n\\n.col-set-default {\\n padding-left: 5px; }\\n\\n@media (min-width: 768px) {\\n .form-horizontal .control-label {\\n padding-top: 5px; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2V0dGluZ3MvRDpcXFdXV1xcQWN0UmVzZWFyY2hcXFF1aWNrQXBwLlByb1xcQ2xpZW50QXBwL3NyY1xcYXBwXFxzZXR0aW5nc1xcdXNlci1wcmVmZXJlbmNlcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLGdCQUFlO0VBQ2YseUJBQXdCLEVBQzNCOztBQUVEO0VBQ0ksZ0JBQWU7RUFDZix1QkFBc0IsRUFDekI7O0FBRUQ7RUFDSSxnQkFBZSxFQUNsQjs7QUFFRDtFQUNJLGNBQWE7RUFDYixpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxjQUFhLEVBQ2hCOztBQUVEO0VBQ0ksZUFBYyxFQUNqQjs7QUFFRDtFQUNJLGlCQUFnQixFQUNuQjs7QUFFRDtFQUNJLGtCQUFpQixFQUNwQjs7QUFHRDtFQUNJO0lBQ0ksaUJBQWdCLEVBQ25CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zZXR0aW5ncy91c2VyLXByZWZlcmVuY2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi5zZXBhcmF0b3ItaHIge1xyXG4gICAgbWFyZ2luOiA3cHggNXB4O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xyXG59XHJcblxyXG4uc3Vic2VwYXJhdG9yLWhyIHtcclxuICAgIG1hcmdpbjogN3B4IDVweDtcclxuICAgIGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi5sYXN0LXNlcGFyYXRvci1ociB7XHJcbiAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG59XHJcblxyXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG5cclxuLmNvbC1yZXNldC1kZWZhdWx0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5jb2wtc2V0LWRlZmF1bHQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgIC5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material';\r\n\r\nimport { AlertService, MessageSeverity } from '../services/alert.service';\r\nimport { ConfigurationService } from '../services/configuration.service';\r\nimport { AppTranslationService } from \"../services/app-translation.service\";\r\nimport { AccountService } from '../services/account.service';\r\nimport { Utilities } from '../services/utilities';\r\n\r\nexport interface PageInfo\r\n{\r\n title: string;\r\n icon: string;\r\n path: string;\r\n isDefault: boolean;\r\n}\r\n\r\nexport interface LanguagePreference\r\n{\r\n name: string;\r\n locale: string;\r\n isDefault: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'user-preferences',\r\n templateUrl: './user-preferences.component.html',\r\n styleUrls: ['./user-preferences.component.scss']\r\n})\r\nexport class UserPreferencesComponent\r\n{\r\n languages: LanguagePreference[] = [\r\n { name: 'English', locale: 'en', isDefault: true },\r\n { name: 'French', locale: 'fr', isDefault: false },\r\n { name: 'Belgian', locale: 'de', isDefault: false },\r\n //{ name: 'Portuguese', locale: 'pt', isDefault: false },\r\n { name: 'Romanian', locale: 'ar', isDefault: false },\r\n //{ name: 'Korean', locale: 'ko', isDefault: false }\r\n ]\r\n\r\n homePages: PageInfo[] = [\r\n { title: 'Dashboard', icon: 'dashboard', path: '/', isDefault: true },\r\n { title: 'About', icon: 'info', path: '/about', isDefault: false },\r\n { title: 'Settings', icon: 'settings', path: '/settings', isDefault: false }\r\n ]\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n public configurations: ConfigurationService\r\n ) { }\r\n\r\n get currentHomePage(): PageInfo\r\n {\r\n return this.homePages.find(x => x.path == this.configurations.homeUrl) || this.homePages[0];\r\n }\r\n\r\n reload()\r\n {\r\n this.snackBar.open('Reload preferences?', 'RELOAD', { duration: 5000 })\r\n .onAction().subscribe(() =>\r\n {\r\n this.alertService.startLoadingMessage();\r\n\r\n this.accountService.getUserPreferences()\r\n .subscribe(results =>\r\n {\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.configurations.import(results);\r\n\r\n this.alertService.showMessage(\"Defaults loaded!\", \"\", MessageSeverity.info);\r\n\r\n },\r\n error =>\r\n {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve user preferences from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n save()\r\n {\r\n this.snackBar.open('Save preferences?', 'SAVE', { duration: 5000 })\r\n .onAction().subscribe(() =>\r\n {\r\n this.alertService.startLoadingMessage(\"\", \"Saving new defaults\");\r\n\r\n this.accountService.updateUserPreferences(this.configurations.export())\r\n .subscribe(response =>\r\n {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage(\"New Defaults\", \"Account defaults updated successfully\", MessageSeverity.success)\r\n\r\n },\r\n error =>\r\n {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Save Error\", `An error occured whilst saving configuration defaults.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n reset()\r\n {\r\n this.snackBar.open('Resst defaults?', 'RESET', { duration: 5000 })\r\n .onAction().subscribe(() =>\r\n {\r\n this.configurations.import(null);\r\n this.alertService.showMessage(\"Defaults Reset\", \"Account defaults reset completed successfully\", MessageSeverity.success);\r\n });\r\n }\r\n}\r\n","module.exports = \"

{{title}}

\\r\\n
\\r\\n\\r\\n

{{message}}

\\r\\n\\r\\n \\r\\n {{message}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hcHAtZGlhbG9nLmNvbXBvbmVudC5zY3NzIn0= */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\nimport { AlertDialog, DialogType, MessageSeverity } from '../services/alert.service';\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: 'app-dialog.component.html',\r\n styleUrls: ['app-dialog.component.scss']\r\n})\r\nexport class AppDialogComponent\r\n{\r\n get showTitle()\r\n {\r\n return this.data.title && this.data.title.length;\r\n }\r\n\r\n get title()\r\n {\r\n return this.data.title;\r\n }\r\n\r\n get message()\r\n {\r\n return this.data.message;\r\n }\r\n\r\n get okLabel()\r\n {\r\n return this.data.okLabel || 'OK';\r\n }\r\n\r\n get cancelLabel()\r\n {\r\n return this.data.cancelLabel || 'CANCEL';\r\n }\r\n\r\n get showCancel()\r\n {\r\n return this.data.type != DialogType.alert;\r\n }\r\n\r\n get isPrompt()\r\n {\r\n return this.data.type == DialogType.prompt;\r\n }\r\n\r\n result: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private translationService: AppTranslationService,\r\n @Inject(MAT_DIALOG_DATA) private data: AlertDialog\r\n ) { }\r\n\r\n ok()\r\n {\r\n if (this.data.type == DialogType.prompt)\r\n {\r\n this.data.okCallback(this.result || this.data.defaultValue);\r\n }\r\n else\r\n {\r\n this.data.okCallback();\r\n }\r\n this.dialogRef.close();\r\n }\r\n\r\n cancel(): void\r\n {\r\n if (this.data.cancelCallback)\r\n {\r\n this.data.cancelCallback();\r\n }\r\n this.dialogRef.close();\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n\"","module.exports = \".app-footer {\\n margin-top: 2em;\\n height: 4em;\\n text-align: center; }\\n\\n.app-footer-link {\\n line-height: 4em; }\\n\\n.app-footer-link p {\\n margin: 0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcc2hhcmVkXFxmb290ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxnQkFBZTtFQUNmLFlBQVc7RUFDWCxtQkFBa0IsRUFDckI7O0FBRUQ7RUFDSSxpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxVQUFTLEVBQ1oiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvZm9vdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1mb290ZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMmVtO1xyXG4gICAgaGVpZ2h0OiA0ZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHAtZm9vdGVyLWxpbmsge1xyXG4gICAgbGluZS1oZWlnaHQ6IDRlbTtcclxufVxyXG5cclxuLmFwcC1mb290ZXItbGluayBwIHtcclxuICAgIG1hcmdpbjogMDtcclxufSJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, NgModule } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class Footer\r\n{\r\n getYear()\r\n {\r\n return new Date().getUTCFullYear();\r\n }\r\n}\r\n\r\n@NgModule({\r\n exports: [Footer],\r\n declarations: [Footer],\r\n})\r\nexport class FooterModule { }\r\n","module.exports = \"
\\r\\n {{icon}}\\r\\n

{{'pageHeader.' + title | translate}}

\\r\\n
\\r\\n\"","module.exports = \"header {\\n margin: 1em; }\\n\\nheader .mat-icon {\\n width: 36px;\\n height: 36px;\\n font-size: 36px;\\n display: inline-block;\\n vertical-align: middle; }\\n\\nheader h3 {\\n margin: 0;\\n padding: 0;\\n display: inline-block;\\n vertical-align: middle; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcc2hhcmVkXFxwYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQVcsRUFDZDs7QUFFRDtFQUNJLFlBQVc7RUFDWCxhQUFZO0VBQ1osZ0JBQWU7RUFDZixzQkFBcUI7RUFDckIsdUJBQXNCLEVBQ3pCOztBQUVEO0VBQ0ksVUFBUztFQUNULFdBQVU7RUFDVixzQkFBcUI7RUFDckIsdUJBQXNCLEVBQ3pCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaGVhZGVyIHtcclxuICAgIG1hcmdpbjogMWVtO1xyXG59XHJcblxyXG5oZWFkZXIgLm1hdC1pY29uIHtcclxuICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuaGVhZGVyIGgzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59Il19 */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, NgModule, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.scss']\r\n})\r\nexport class PageHeaderComponent\r\n{\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n icon: string;\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FlexLayoutModule } from '@angular/flex-layout'\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n\r\nimport { QuickAppProMaterialModule } from \"../modules/material.module\";\r\n\r\nimport { PageHeaderComponent } from './page-header.component'\r\nimport { UserEditorComponent } from '../admin/user-editor.component';\r\nimport { AppDialogComponent } from './app-dialog.component';\r\n\r\nimport { GroupByPipe } from '../pipes/group-by.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n FlexLayoutModule,\r\n FormsModule, ReactiveFormsModule,\r\n BrowserModule, BrowserAnimationsModule,\r\n QuickAppProMaterialModule,\r\n TranslateModule\r\n ],\r\n exports: [\r\n FlexLayoutModule,\r\n FormsModule, ReactiveFormsModule,\r\n BrowserModule, BrowserAnimationsModule,\r\n QuickAppProMaterialModule,\r\n TranslateModule,\r\n PageHeaderComponent,\r\n GroupByPipe,\r\n UserEditorComponent,\r\n AppDialogComponent\r\n ],\r\n declarations: [\r\n PageHeaderComponent,\r\n GroupByPipe,\r\n UserEditorComponent,\r\n AppDialogComponent\r\n ],\r\n entryComponents: [\r\n AppDialogComponent\r\n ]\r\n})\r\nexport class SharedModule\r\n{\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { AppTheme } from '../models/AppTheme';\r\n\r\n@Injectable()\r\nexport class ThemeManager {\r\n themes: Array = [\r\n {\r\n id: 1,\r\n name: 'Indigo/Pink',\r\n primary: '#3F51B5',\r\n accent: '#E91E63',\r\n href: 'indigo-pink.css',\r\n isDark: false,\r\n isDefault: true,\r\n },\r\n {\r\n id: 2,\r\n name: 'Purple/Amber',\r\n primary: '#673AB7',\r\n accent: '#FFC107',\r\n href: 'deeppurple-amber.css',\r\n isDark: false,\r\n },\r\n {\r\n id: 3,\r\n name: 'Pink/Blue',\r\n primary: '#E91E63',\r\n accent: '#607D8B',\r\n href: 'pink-bluegrey.css',\r\n isDark: true,\r\n },\r\n {\r\n id: 4,\r\n name: 'Purple/Green',\r\n primary: '#9C27B0',\r\n accent: '#4CAF50',\r\n href: 'purple-green.css',\r\n isDark: true,\r\n },\r\n ];\r\n\r\n public installTheme(theme: AppTheme) {\r\n if (theme == null || theme.isDefault) {\r\n this.removeStyle('theme');\r\n }\r\n else {\r\n this.setStyle('theme', `assets/themes/${theme.href}`);\r\n }\r\n }\r\n\r\n public getThemeByID(id: number): AppTheme {\r\n return this.themes.find(theme => theme.id === id);\r\n }\r\n\r\n private setStyle(key: string, href: string) {\r\n this.getLinkElementForKey(key).setAttribute('href', href);\r\n }\r\n\r\n private removeStyle(key: string) {\r\n const existingLinkElement = this.getExistingLinkElementByKey(key);\r\n if (existingLinkElement) {\r\n document.head.removeChild(existingLinkElement);\r\n }\r\n }\r\n\r\n private getLinkElementForKey(key: string) {\r\n return this.getExistingLinkElementByKey(key) || this.createLinkElementWithKey(key);\r\n }\r\n\r\n private getExistingLinkElementByKey(key: string) {\r\n return document.head.querySelector(`link[rel=\"stylesheet\"].${this.getClassNameForKey(key)}`);\r\n }\r\n\r\n private createLinkElementWithKey(key: string) {\r\n const linkEl = document.createElement('link');\r\n linkEl.setAttribute('rel', 'stylesheet');\r\n linkEl.classList.add(this.getClassNameForKey(key));\r\n document.head.appendChild(linkEl);\r\n return linkEl;\r\n }\r\n\r\n private getClassNameForKey(key: string) {\r\n return `style-manager-${key}`;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n check_circle\\r\\n
\\r\\n
\\r\\n
\\r\\n {{theme.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".app-theme-picker-menu .mat-menu-content {\\n padding: 8px; }\\n\\n.app-theme-picker-menu [mat-menu-item] {\\n flex: 0 0 auto;\\n padding: 0;\\n overflow: hidden; }\\n\\n.app-theme-picker-menu .app-theme-picker-swatch {\\n width: 36px;\\n height: 36px;\\n display: inline-block;\\n vertical-align: middle;\\n margin: 4px 8px; }\\n\\n.app-theme-picker-menu .app-theme-picker-swatch div {\\n border-radius: 50%;\\n width: 100%;\\n height: 100%;\\n border-right-width: 18px; }\\n\\n.app-theme-picker-menu .app-theme-picker-label {\\n display: inline-block;\\n vertical-align: middle;\\n margin-right: 8px; }\\n\\n.app-theme-picker-menu .app-theme-chosen-icon {\\n color: white;\\n position: relative;\\n display: block;\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL0Q6XFxXV1dcXEFjdFJlc2VhcmNoXFxRdWlja0FwcC5Qcm9cXENsaWVudEFwcC9zcmNcXGFwcFxcc2hhcmVkXFx0aGVtZS1waWNrZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7RUFHUSxhQVB1QixFQVExQjs7QUFKTDtFQU9RLGVBQWM7RUFDZCxXQUFVO0VBQ1YsaUJBQWdCLEVBQ25COztBQVZMO0VBYVEsWUFoQnVCO0VBaUJ2QixhQWpCdUI7RUFrQnZCLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsZ0JBQWUsRUFRbEI7O0FBekJMO0lBb0JZLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWTtJQUNaLHlCQUFtRCxFQUN0RDs7QUF4QlQ7RUE0QlEsc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUN0QixrQkFBaUIsRUFDcEI7O0FBL0JMO0VBa0NRLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsZUFBYztFQUNkLFVBQVM7RUFDVCxTQUFRO0VBQ1IseUNBQWdDO1VBQWhDLGlDQUFnQyxFQUNuQyIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC90aGVtZS1waWNrZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkdGhlbWUtcGlja2VyLW1lbnUtcGFkZGluZzogOHB4O1xyXG4kdGhlbWUtcGlja2VyLXN3YXRjaC1zaXplOiAzNnB4O1xyXG4kdGhlbWUtcGlja2VyLWFjY2VudC1zdHJpcGUtc2l6ZTogNnB4O1xyXG5cclxuLmFwcC10aGVtZS1waWNrZXItbWVudSB7XHJcblxyXG4gICAgLm1hdC1tZW51LWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6ICR0aGVtZS1waWNrZXItbWVudS1wYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIFttYXQtbWVudS1pdGVtXSB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtdGhlbWUtcGlja2VyLXN3YXRjaCB7XHJcbiAgICAgICAgd2lkdGg6ICR0aGVtZS1waWNrZXItc3dhdGNoLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkdGhlbWUtcGlja2VyLXN3YXRjaC1zaXplO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIG1hcmdpbjogNHB4IDhweDtcclxuXHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6ICgkdGhlbWUtcGlja2VyLXN3YXRjaC1zaXplIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtdGhlbWUtcGlja2VyLWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXBwLXRoZW1lLWNob3Nlbi1pY29uIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxufSJdfQ== */\"","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MatButtonModule, MatListModule, MatIconModule, MatMenuModule, MatTooltipModule } from '@angular/material';\r\n\r\nimport { ThemeManager } from './theme-manager';\r\nimport { AppTheme } from '../models/AppTheme';\r\nimport { ConfigurationService } from '../services/configuration.service';\r\n\r\n@Component({\r\n selector: 'app-theme-picker',\r\n templateUrl: 'theme-picker.component.html',\r\n styleUrls: ['theme-picker.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { 'aria-hidden': 'true' },\r\n})\r\nexport class ThemePicker {\r\n @Input()\r\n tooltip = 'Theme';\r\n\r\n\r\n constructor(\r\n public themeManager: ThemeManager,\r\n private configuration: ConfigurationService\r\n ) {\r\n configuration.configurationImported$.subscribe(() => this.setTheme(this.currentTheme));\r\n this.setTheme(this.currentTheme);\r\n }\r\n\r\n get currentTheme(): AppTheme {\r\n return this.themeManager.getThemeByID(this.configuration.themeId);\r\n }\r\n\r\n setTheme(theme: AppTheme) {\r\n if (theme) {\r\n this.themeManager.installTheme(theme);\r\n this.configuration.themeId = theme.id;\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatListModule,\r\n MatTooltipModule,\r\n ],\r\n exports: [ThemePicker],\r\n declarations: [ThemePicker],\r\n providers: [ThemeManager, ConfigurationService],\r\n})\r\nexport class ThemePickerModule { }\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { AbstractControl, ValidatorFn } from '@angular/forms'\r\n\r\nexport function EqualValidator(controlName: string): ValidatorFn\r\n{\r\n return (control: AbstractControl): { [key: string]: any } =>\r\n {\r\n const compareControl = control.parent ? control.parent.get(controlName) : null;\r\n const areEqual = compareControl && control.value === compareControl.value;\r\n return areEqual ? null : { notEqual: true };\r\n };\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\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 baseUrl: null, //Change this to the address of your backend API if different from frontend address\r\n tokenUrl: null, //For IdentityServer/Authorization Server API. You can set to null if same as baseUrl\r\n loginUrl: \"/login\"\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","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { 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\nimport 'hammerjs';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}