{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/components/CancelledServices/CancelledServices.component.ts","webpack:///src/app/components/CancelledServices/CancelledServices.component.html","webpack:///src/app/components/Faq/Faq.component.ts","webpack:///src/app/components/Faq/Faq.component.html","webpack:///src/app/components/Marketplace/Marketplace.component.ts","webpack:///src/app/components/Marketplace/Marketplace.component.html","webpack:///src/app/components/Prospects/Prospects.component.ts","webpack:///src/app/components/Prospects/Prospects.component.html","webpack:///src/app/components/accountConfiguration/accountConfiguration.component.ts","webpack:///src/app/components/accountConfiguration/accountConfiguration.component.html","webpack:///src/app/components/accountConfiguration/password-edit.html","webpack:///src/app/components/activeDirectory/activeDirectory.component.ts","webpack:///src/app/components/activeDirectory/activeDirectory.component.html","webpack:///src/app/components/billing/billing.component.ts","webpack:///src/app/components/billing/billing.component.html","webpack:///src/app/components/calculator-cloud-server/calculator-cloud-server.component.ts","webpack:///src/app/components/calculator-cloud-server/calculator-cloud-server.component.html","webpack:///src/app/components/calculator-cloud-server/dto/cloud-server-dto.ts","webpack:///src/app/components/calculator-cloud-server/dto/machine-dto.ts","webpack:///src/app/components/calculator-cloud-server/modals/edit-values/cloud-server-edit-values.component.ts","webpack:///src/app/components/calculator-cloud-server/modals/edit-values/cloud-server-edit-values.component.html","webpack:///src/app/components/calculator-cloud-server/modals/save-bundle-quote/saveBundleQuoteModal.component.ts","webpack:///src/app/components/calculator-cloud-server/modals/save-bundle-quote/saveBundleQuoteModal.component.html","webpack:///src/app/components/calculator-cloud-server/modals/server-protection/server-protection.component.ts","webpack:///src/app/components/calculator-cloud-server/modals/server-protection/server-protection.component.html","webpack:///src/app/components/calculator-cloud-server/view-quotes/view-quotes.component.ts","webpack:///src/app/components/calculator-cloud-server/view-quotes/view-quotes.component.html","webpack:///src/app/components/credentials/credentials.component.ts","webpack:///src/app/components/credentials/credentials.component.html","webpack:///src/app/components/credentials/productFamily.ts","webpack:///src/app/components/dataCenter/childrenUsers/childrenUsers.component.ts","webpack:///src/app/components/dataCenter/childrenUsers/childrenUsers.component.html","webpack:///src/app/components/dataCenter/dataCenter.component.ts","webpack:///src/app/components/dataCenter/dataCenter.component.html","webpack:///src/app/components/dataCenter/machine-settings/disk-configuration/disk-configuration.component.ts","webpack:///src/app/components/dataCenter/machine-settings/disk-configuration/disk-configuration.component.html","webpack:///src/app/components/dataCenter/machine-settings/machine-settings.component.ts","webpack:///src/app/components/dataCenter/machine-settings/machine-settings.component.html","webpack:///src/app/components/dataCenter/machineOperations/machineOperations.component.ts","webpack:///src/app/components/dataCenter/machineOperations/machineOperations.component.html","webpack:///src/app/components/dataCenter/network-settings/FirewallConfiguration/firewall-configuration.component.ts","webpack:///src/app/components/dataCenter/network-settings/FirewallConfiguration/firewall-configuration.component.html","webpack:///src/app/components/dataCenter/network-settings/NatConfiguration/nat-configuration.component.ts","webpack:///src/app/components/dataCenter/network-settings/NatConfiguration/nat-configuration.component.html","webpack:///src/app/components/dataCenter/network-settings/RoutingConfiguration/routing-configuration.component.ts","webpack:///src/app/components/dataCenter/network-settings/RoutingConfiguration/routing-configuration.component.html","webpack:///src/app/components/dataCenter/network-settings/VpnConfiguration/vpn-configuration.component.ts","webpack:///src/app/components/dataCenter/network-settings/VpnConfiguration/vpn-configuration.component.html","webpack:///src/app/components/dataCenter/network-settings/app-profile-table/app-profile-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/app-profile-table/app-profile-table.component.html","webpack:///src/app/components/dataCenter/network-settings/application-profile/application-profile.component.ts","webpack:///src/app/components/dataCenter/network-settings/application-profile/application-profile.component.html","webpack:///src/app/components/dataCenter/network-settings/dhcp-table/dhcp-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/dhcp-table/dhcp-table.component.html","webpack:///src/app/components/dataCenter/network-settings/dhcpConfiguration/dhcp-configuration.component.ts","webpack:///src/app/components/dataCenter/network-settings/dhcpConfiguration/dhcp-configuration.component.html","webpack:///src/app/components/dataCenter/network-settings/firewall-component/firewall-component.component.ts","webpack:///src/app/components/dataCenter/network-settings/firewall-component/firewall-component.component.html","webpack:///src/app/components/dataCenter/network-settings/interfaces-stats/interfaces-stats.component.ts","webpack:///src/app/components/dataCenter/network-settings/interfaces-stats/interfaces-stats.component.html","webpack:///src/app/components/dataCenter/network-settings/ipset-configuration/ipset-configuration.component.ts","webpack:///src/app/components/dataCenter/network-settings/ipset-configuration/ipset-configuration.component.html","webpack:///src/app/components/dataCenter/network-settings/ipset-table/ipset-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/ipset-table/ipset-table.component.html","webpack:///src/app/components/dataCenter/network-settings/nat-table/nat-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/nat-table/nat-table.component.html","webpack:///src/app/components/dataCenter/network-settings/networkSettings.ts","webpack:///src/app/components/dataCenter/network-settings/networkSettings.html","webpack:///src/app/components/dataCenter/network-settings/pool-table/pool-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/pool-table/pool-table.component.html","webpack:///src/app/components/dataCenter/network-settings/pool/pool.component.ts","webpack:///src/app/components/dataCenter/network-settings/pool/pool.component.html","webpack:///src/app/components/dataCenter/network-settings/routing-table/routing-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/routing-table/routing-table.component.html","webpack:///src/app/components/dataCenter/network-settings/virtual-server-table/virtual-server-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/virtual-server-table/virtual-server-table.component.html","webpack:///src/app/components/dataCenter/network-settings/virtual-server/virtual-server.component.ts","webpack:///src/app/components/dataCenter/network-settings/virtual-server/virtual-server.component.html","webpack:///src/app/components/dataCenter/network-settings/vpn-stats/vpn-stats.component.ts","webpack:///src/app/components/dataCenter/network-settings/vpn-stats/vpn-stats.component.html","webpack:///src/app/components/dataCenter/network-settings/vpn-table/vpn-table.component.ts","webpack:///src/app/components/dataCenter/network-settings/vpn-table/vpn-table.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/dhcp-server-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/dnat-rules-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/firewall-ip-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/firewall-rules-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/pfsenseRequest-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/rules-response-detail-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/DTO/snat-rules-dto.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-all/firewall-aliases-all.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-all/firewall-aliases-all.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-ports/firewall-aliases-ports.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-aliases-ports/firewall-aliases-ports.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/firewall-nat-outbound.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/firewall-nat-outbound.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/new-firewall-rule/new-firewall-rule.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/new-firewall-rule/new-firewall-rule.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/firewall-nat-port-forward.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/firewall-nat-port-forward.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-lan/firewall-rules-lan.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-lan/firewall-rules-lan.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-oneone/firewall-rules-oneone.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-oneone/firewall-rules-oneone.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/firewall-rules-wan.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/firewall-rules-wan.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pf-sense-menu.service.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pf-sense-network-settings.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pf-sense-network-settings.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/detail-pfsense-ip/detail-pfsense-ip.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/detail-pfsense-ip/detail-pfsense-ip.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/pfsense-ip.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/pfsense-ip.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/pfsense-ip/pipes/filter-type.pipe.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/new-dhcp-service/new-dhcp-service.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/new-dhcp-service/new-dhcp-service.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/services-dchserver.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/services-dchserver-lan/services-dchserver.component.html","webpack:///src/app/components/dataCenter/pf-sense-network-settings/services-rules-lan/services-rules-lan.component.ts","webpack:///src/app/components/dataCenter/pf-sense-network-settings/services-rules-lan/services-rules-lan.component.html","webpack:///src/app/components/dataCenter/service-name-modal/service-name-modal.component.ts","webpack:///src/app/components/dataCenter/service-name-modal/service-name-modal.component.html","webpack:///src/app/components/desktop/control-panel/control-panel.component.ts","webpack:///src/app/components/desktop/control-panel/control-panel.component.html","webpack:///src/app/components/desktop/desktop.component.ts","webpack:///src/app/components/desktop/desktop.component.html","webpack:///src/app/components/desktop/snackbar/snackbar.component.ts","webpack:///src/app/components/desktop/snackbar/snackbar.component.html","webpack:///src/app/components/desktop/welcome-window/welcome-window.component.ts","webpack:///src/app/components/desktop/welcome-window/welcome-window.component.html","webpack:///src/app/components/emailSetup/emailSetup.component.ts","webpack:///src/app/components/emailSetup/emailSetup.component.html","webpack:///src/app/components/eventsLog/eventsLog.component.ts","webpack:///src/app/components/eventsLog/eventsLog.component.html","webpack:///src/app/components/helpDesk/helpDesk.component.ts","webpack:///src/app/components/helpDesk/helpDesk.component.html","webpack:///src/app/components/pendingMachines/pendingMachines.component.ts","webpack:///src/app/components/pendingMachines/pendingMachines.component.html","webpack:///src/app/components/replicas-csj/csj-general-graphics/csj-general-graphics.component.ts","webpack:///src/app/components/replicas-csj/csj-general-graphics/csj-general-graphics.component.html","webpack:///src/app/components/replicas-csj/csj-main-dashboard/csj-main-dashboard.component.ts","webpack:///src/app/components/replicas-csj/csj-main-dashboard/csj-main-dashboard.component.html","webpack:///src/app/components/replicas-csj/csj-modal/csj-modal.component.ts","webpack:///src/app/components/replicas-csj/csj-modal/csj-modal.component.html","webpack:///src/app/components/replicas-csj/replicas-csj.component.ts","webpack:///src/app/components/replicas-csj/replicas-csj.component.html","webpack:///src/app/components/role/role.component.ts","webpack:///src/app/components/role/role.component.html","webpack:///src/app/components/role/role-add.component.html","webpack:///src/app/components/shared/header/header.component.ts","webpack:///src/app/components/support/admin-support-contact/admin-support-contact.component.ts","webpack:///src/app/components/support/admin-support-contact/admin-support-contact.component.html","webpack:///src/app/components/support/support.component.ts","webpack:///src/app/components/support/support.component.html","webpack:///src/app/components/useStatistics/useStatistics.component.ts","webpack:///src/app/components/useStatistics/useStatistics.component.html","webpack:///src/app/components/userAccounts/demoServices/demo-services.component.ts","webpack:///src/app/components/userAccounts/demoServices/demo-services.component.html","webpack:///src/app/components/userAccounts/service-configuration/service-configuration.component.ts","webpack:///src/app/components/userAccounts/service-configuration/service-configuration.component.html","webpack:///src/app/components/userAccounts/terms/terms.component.ts","webpack:///src/app/components/userAccounts/terms/terms.component.html","webpack:///src/app/components/userAccounts/user-edition/user-edition.component.ts","webpack:///src/app/components/userAccounts/user-edition/user-edition.component.html","webpack:///src/app/components/userAccounts/user-settings/user-settings.component.ts","webpack:///src/app/components/userAccounts/user-settings/user-settings.component.html","webpack:///src/app/components/userAccounts/userAccounts.component.ts","webpack:///src/app/components/userAccounts/password-resend.html","webpack:///src/app/components/userAccounts/userAccounts.component.html","webpack:///src/app/components/virtualServers/planEdition/plan-edition.component.ts","webpack:///src/app/components/virtualServers/planEdition/plan-edition.component.html","webpack:///src/app/components/virtualServers/virtualServers.component.ts","webpack:///src/app/components/virtualServers/virtualServers.component.html","webpack:///src/app/components/whiteLabelConfiguration/certificateUpload/certificate-upload.component.ts","webpack:///src/app/components/whiteLabelConfiguration/certificateUpload/certificate-upload.component.html","webpack:///src/app/components/whiteLabelConfiguration/imageUpload/image-upload.component.ts","webpack:///src/app/components/whiteLabelConfiguration/imageUpload/image-upload.component.html","webpack:///src/app/components/whiteLabelConfiguration/whiteLabelConfiguration.component.ts","webpack:///src/app/components/whiteLabelConfiguration/whiteLabelConfiguration.component.html","webpack:///src/app/footer/footer.component.ts","webpack:///src/app/footer/footer.component.html","webpack:///src/app/globalization/globalization.ts","webpack:///src/app/home/home.component.ts","webpack:///src/app/home/home.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/login/login-modal.component.html","webpack:///src/app/login/outh2-modal/outh2-modal.component.ts","webpack:///src/app/login/outh2-modal/outh2-modal.component.html","webpack:///src/app/models/constants.component.ts","webpack:///src/app/models/credential.ts","webpack:///src/app/models/dtos.component.ts","webpack:///src/app/services/BroadcastEmitter.ts","webpack:///src/app/services/app.service.ts","webpack:///src/app/services/auth/auth-guard.service.ts","webpack:///src/app/services/auth/auth-interceptor.ts","webpack:///src/app/services/auth/auth.service.ts","webpack:///src/app/services/auth/session-check.service.ts","webpack:///src/app/services/csj/csj.service.ts","webpack:///src/app/services/excel/excel.service.ts","webpack:///src/app/services/logs/logs-services.service.ts","webpack:///src/app/services/wlservice.service.ts","webpack:///src/app/sidebar/sidebar.component.ts","webpack:///src/app/sidebar/sidebar.component.html","webpack:///src/app/sidebar/sidebar.service.ts","webpack:///src/app/tools/CustomValidator.ts","webpack:///src/app/tools/grid/grid.component.ts","webpack:///src/app/tools/grid/grid.component.html","webpack:///src/app/tools/modals/confirmation/modal.component.ts","webpack:///src/app/tools/modals/confirmation/modal.component.html","webpack:///src/app/tools/modals/sendMail/modal.component.ts","webpack:///src/app/tools/modals/sendMail/modal.component.html","webpack:///src/app/tools/pipes/SafeHtml.pipe.ts","webpack:///src/app/tools/pipes/filter.pipe.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","AppComponent","selector","templateUrl","styleUrls","providers","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","appRoutes","path","component","canActivate","children","outlet","HttpLoaderFactory","http","AppModule","provide","useClass","multi","useValue","forRoot","config","tokenGetter","loader","useFactory","deps","declarations","imports","bootstrap","entryComponents","schemas","CancelledServicesComponent","FaqComponent","service","auth","preguntas","leftQuestions","rightQuestions","globalization","searchDocument","token","getToken","language","JSON","parse","atob","split","Language","getFaq","question","increaseServer","show","increasePuntuation","Points","IncreasePoints","ID","subscribe","response","error","getQuestions","slice","MarketplaceComponent","ProspectsComponent","AccountConfigurationComponent","dialog","snackbar","navbarBroadcast","formBuilder","user","constants","loading","OldPassword","NewPassword","RepeatPassword","initials","accountForm","group","value","disabled","required","minLength","EmailValidator","passwordForm","SendMessage","text","getCustomerInfo","GetUserInformation","Name","map","i","substring","join","disable","SaveUserInfo","enable","sidenav","close","open","duration","ChangePassword","PasswordEditDialog","data","dialogRef","console","log","ActiveDirectoryComponent","BillingComponent","Cores","CalculatorCloudServerComponent","router","activatedRoute","addCloudServerInResumen","addOrRemoveResumen","deleteDataCompleteResumen","roleActions","internalRole","cloudServerCalcOutObj","bundleQuoteDto","BundleQuote","resumenMRC","resumenOpex","resumenCapex","step","diskSlider","isChasisChecked","isSophosChecked","isDcAlternoChecked","count","bundleDtoList","dataSendMail","sizeMessage","color","texColor","colortitle","color2","texColor2","currencyOptions","align","allowNegative","allowZero","decimal","precision","prefix","suffix","thousands","bdList","ramList","rdpList","coreList","chasisList","tipoUsoList","internetList","gbRecursosList","osRecursosList","replicationList","iopsRecursosList","periodoContratoList","serverProtectionList","resumenCalculatorList","dataCenterTypeList","PriceTYPEList","idBundleQuote","cloudServerCalcInObj","GetPermission","getGenericOptionsList","snapshot","paramMap","get","parseInt","getBundleQuoteByID","loadExcelInformation","modalVDI","calculatorFormGroup","Uso","Ram","Gb","Iops","Internet","validateChasis","OS","BaseDatos","Rdp","Sophos","DcAlterno","Agente","PeriodoContrato","Datacenter","CAPEXType","OPEXType","GetMenu","filter","d","label","identifier","length","item","actions","some","s","editMRC","onChanges","undefined","o1","o2","setSlideToogleValue","checkSettings","CloudServerCalculatorOut","resumenMrc","Cost","TypeCost","MRC","MrcManual","MrcSugerido","configValidation","modalLicenceseDB","DiscountMRC","currency","objCloudServerOut","cost","OPEX","Total","_OPEX","CAPEX","_CAPEX","GetGenericListOptionsByListID","totalCost","forEach","element","addResumen","UUID","generateUUID","cloudServeDataClone","stringify","cloudServeDataClone2","emit","type","push","resources","principal","RAM","Storage","RAMDB","CoresDB","StorageDB","alternate","index","hasBackdrop","disableClose","Title","Message","Ok","splice","message","AutorizaPresidencia","Cancel","afterClosed","result","status","dato","cloudMachineList","Configuration","Email","email","name","Detail","detail","sendCalculatorCloudServerSendEmail","totalData","totaldata","storage","_machineType","bundleDto","BundleMachine","MachineLicenses","Identifier","Quantity","Value","diskType","size","MachineStorage","Duration","Network","OperativeSystem","Os","DataBase","MachineName","_machineLicenseRdp","_machineLicenseDb","_machineLicenseDcAlterno","CloudConfiguration","TotalBundleCost","CustomerName","SaveQuoteObject","ParentID","Customer","CustomerID","Description","SaveBundleQuote","navigateByUrl","dataBundleQuote","x","typeServerChange","operativeSystem","serverProtection","addCloudServerCalculatorOut","updateBundleQuote","createNewQuote","viewQuotes","sendQuote","ResumenMRC","CoresUnidad","MemoriaRam","StorageTb","BDSqlEnterprice","BDSqlStandard","BDSqlWeb","WindowsStandard","LcSuseLinuxEnterprise","LcSuseLinuxEnterpriseSap","LcRedHatSapEnterprise","LinuxRedHatSap","Doubletake","Zerto","BackupServidor","Watcher","Ip","PorcentajeCoresUnidad","PorcentajeMemoriaRam","PorcentajeStorageTb","PorcentajeIops","PorcentajeBDSqlEnterprice","PorcentajeBDSqlStandard","PorcentajeBDSqlWeb","PorcentajeWindowsStandard","PorcentajeRdp","PorcentajeLcSuseLinuxEnterprise","PorcentajeLcSuseLinuxEnterpriseSap","PorcentajeLcRedHatSapEnterprise","PorcentajeLinuxRedHatSap","PorcentajeDoubletake","PorcentajeZerto","PorcentajeBackupServidor","PorcentajeSophos","PorcentajeWatcher","PorcentajeIp","PorcentajeMrcSugerido","PorcentajeTotal","ResumenCapex","Procesamiento","Chasis","ServerProtection","PorcentajeProcesamiento","PorcentajeRam","PorcentajeStorage","PorcentajeChasis","PorcentajeServerProtection","ResumenOpex","LicenciamientoVware","LicenciamientoRdp","LicenciamientoBackup","OpexIp","LicenciamientoBD","LicenciamientoSO","Replicacion","PorcentajeLicenciamientoVware","PorcentajeLicenciamientoRdp","PorcentajeLicenciamientoBackup","PorcentajeOpexIp","PorcentajeLicenciamientoBD","PorcentajeLicenciamientoSO","PorcentajeReplicacion","ResumenIndicadores","RoiPorContrato","MargenPorContrato","RoiMrcIndicadores","MargenIndicadores","CloudServerCalculatorIn","resumenIndicadores","GenericListOption","MachineLicense","LicenseType","Ha","availabilityType","replicationServer","Hypervisor","plataform","Networking","localNetworkType","Active","MachineService","LicenseName","MachineServerDTO","Availability","RemoteAccess","MacAddress","MachineServices","Monitoring","Vcenter","ServiceID","TotalDatacenterCost","TotalResources","dataCenterType","DB","BundleDTO","BundleServices","BundleLicenses","BundleCost","CloudserverEmailDTO","Array","InternalRole","BundleQuoteDTO","Status","Date","PlanDiscountCount","Viewers","BundleCloudQuoteDto","Machine","ServiceName","State","Db","Backup","month","MachineOld","HardDisk","VirtualNetworkID","CloudID","CloudServerEditValuesComponent","resource","TotalValueForm","DecimalNumberValidator","isAuthenticated","navigate","valid","okClick","cancelClick","savePrice","SaveBundleQuoteModalComponent","changeDetector","customerName","users","SaveQuoteForm","GetCustomer","filteredCustomer","valueChanges","pipe","_filteredCustomers","detectChanges","selectedCustomer","GetUserAccounts","customer","filterValue","toLowerCase","indexOf","quoteDate","GetSelectedCustomer","ServerProtectionComponent","options","optionSelected","Item","ViewQuotesComponent","route","items","displayedColumns","dataSource","Quotes","paginator","GetQuotesByUser","sort","icon","isActive","skipLocationChange","trim","GetBundleQuotesByUser","toggleItem","outlets","main","filteredData","Owner","SendBundleQuote","DeleteBundleQuoteByID","applyFilter","caculatorRoute","CredentialsComponent","_fbuilder","products","passwordVisible","credential","isLoading","credentialForm","GenerateCredential","stepper","next","ShowSnackbar","SendCredential","productFamily","graph","CPU","HD","ChildrenUsersComponent","resourcePoolChart","colorScheme","domain","customColors","showXAxis","showYAxis","gradient","showLegend","showXAxisLabel","showYAxisLabel","autoScale","view","clouds","resourcesPool","services","machines","machinesResources","allMachinesCloud","params","customerId","getUser","getCustomerCloud","getResourcePoolChart","vm","category","$event","serviceID","customerID","GetGraphPool","GetCustomerCloud","GetCustomerMachines","machinesList","getFilteredMachines","GetMachinesPool","onCloudChanged","indexcloud","datacenterID","dataCenterComponent","OpenNetworkSettings","event","cloud","_tmp","VcenterID","DataCenterID","machine","ReplaceName","replace","capitalizeName","charAt","toUpperCase","pools","sid","includes","DataCenterComponent","logsServices","mode","bufferValue","fecha","selectedMachine","selectedPool","customerInfo","PfenseRequest","inPool","poolChardKeys","chartData","SelectedGraphPool","machinesChild","barChart","yAxisLabel","xAxisLabel","MachineOperations","modal","dataCenterID","RefreshDatacenter","buildPool","machinesResourcePool","f","getFilteredReorucesPool","action","OpenPfsenseNetworkSettings","OpenInterfaceStatics","display","GetNetworkType","changes","currentValue","buildVmsParent","currentState","GetMachineToken","postAppLog","Type","link","document","createElement","download","href","serviceUrl","Data","body","appendChild","click","remove","window","url","uri","OVMConsoleCl","consoleURI","OVMConsole","GetDataCenterMachines","datacenter","VerifyVirtualNetwork","encodeURIComponent","datacenterId","machinesKeyName","resorcePool","grouped","reduce","r","a","Object","create","getPoolChart","state","poolKey","arraysKeys","change","ShowVmSnackbar","PowerOnVm","PowerOffVm","SuspendVm","ResumeVm","RestartVm","GuestPowerOffVmAPI","GuestSuspendVmAPI","GuestResetVMAPI","vCenterVersion","DiskConfiguration","savedAdditionalService","backup","diskConfigurationFb","AdditionalService","getDiskPrice","AddAdditionalService","GetStorageCost","saveDisk","MachineSettings","dataGrid","additionalServicesGrid","columns","title","format","toolbar","AddDisk","refresh","u","getAdditionalServices","GetServiceInformation","SelectedDisk","width","GetAdditionalServices","GoBack","totalMRC","AdditionalServicesGrid","setData","ServiceParentID","row","pushRow","GetService","MachineStates","closeSidenav","SaveDisk","machineOperations","machineAction","machinePassword","toString","GetMachinePassword","getElementById","getAttribute","setAttribute","showPassword","FirewallConfiguration","wlservice","IsNew","NewBindings","const","requirePort","validForm","source","Destination","newApplication","saveRequest","firewallForm","applicationForm","pattern","Rule","Port","temp","getPorts","protocol","port","Source","IpAddress","GroupingObjectId","groupingObjectId","detIP","tmp","ipSets","ObjectId","Application","resetAll","firewallRules","DatacenterID","SaveFirewallRule","saveRule","saveApplication","NatConfiguration","natRuleForm","maxLength","natRules","natRule","SaveNat","RoutingConfiguration","saveRoutingRequest","routing","routingForm","Mtu","AdminDistance","GetNetworkInformation","Routing","RuleID","StaticRoutes","Route","StaticRouting","SaveRouting","VpnConfiguration","localSubnets","peerSubnets","saveVPNRequest","network","checked","vpnForm","LocalSubnets","Subnet","PeerSubnets","LocalId","LocalIp","PeerId","PeerIp","Psk","IpSec","Sites","Site","Enabled","SaveVpn","AppProfileTableComponent","OnDelete","OnEdit","resultsLength","AppProfiles","rule","RemoveApplicationProfile","ApplicationProfile","RemoveAppProfile","ReloadNetwork","ApplicationProfileComponent","appProfileForm","values","controls","setValidators","updateValueAndValidity","emitEvent","AppProfile","ApplicationProfileId","setValue","Persistence","SaveAppProfile","DhcpTableComponent","DHCPRules","RemoveDHCPRule","DeleteDHCPRequest","staticBinding","DhcpConfiguration","selectedMac","dhcpConfigurationFb","selected","Hostname","AvailableMacs","AddDHCPRule","selectServiceID","FirewallComponent","FirewallRules","RemoveFirewallRule","InterfacesStatsComponent","InterfacesCharts","roundDomains","schemeType","animations","timeFilter","GetDataCharts","GetInterfacesStats","date","day","toLocaleTimeString","hour12","hour","minute","filterData","onSelect","IpsetConfigurationComponent","ipsetForm","IPSet","Revision","SaveIPSet","IpsetTableComponent","RemoveIPSet","NatTableComponent","changeDetectorRefs","changeOrder","NatRules","RemoveNatRule","RuleTag","Loading","nat","RuleId","Action","OriginalPort","TranslatedPort","SaveAllNat","NetworkSettings","broadcast","loadBalancerOption","isNewFirewallRule","Vnics","PublicIps","PrivateIps","selectedRule","mostrarIp","selectedNatRule","selectedVpnRule","selectedVpnRuleID","selectedRoutingRule","selectedRoutingRuleID","selectedApplicationProfile","selectedIPSet","selectedVirtualServer","selectedFirewallRule","selectedService","DeleteIPSet","errorLoadingEdge","localStorage","getItem","GetMachines","GetEdge","ServiceButtonClick","AddNat","AddDhcp","AddVpn","AddFirewallRule","AddRouting","AddApplicationProfile","AddVirtualServer","AddPool","AddIPSet","GoToMachinesView","Vnic","v","IsConnected","SetToolbar","LoadDhcp","LoadNat","LoadVpn","LoadFirewall","LoadRouting","LoadAppProfile","LoadVirtualServer","LoadPool","LoadIpSet","SourceIp","DestinationIp","machinesCategory","GetNetworkConfiguration","Firewall","ip","VnicGroupId","grob","agr","groupingObjects","Ipset","ag","ApplicationId","app","portsgr","ApplicationGroups","Element","ApplicationProtocol","PrivateIp","Nat","NatRule","DHCP","StaticBindings","StaticBinding","LoadBalancer","Method","VirtualServer","ApplicationProfileName","m","DefaultPoolId","DefaultPoolName","Pool","PoolId","MonitorId","MonitorName","Monitor","Bindings","tab","textLabel","SavedNetworkConf","NatTab","EditFirewall","EditNat","EditDhcp","EditVpn","EditRouting","loadBalancerActions","EditApplicationProfile","EditPool","EditVirtualServer","EditIPSet","PoolTableComponent","RemovePool","PoolComponent","cdRef","Member","showMemberDetail","newMember","poolForm","serverForm","Machines","machineName","SavePool","addMember","saveMember","RoutingTableComponent","RemoveRoutingRule","VirtualServerTableComponent","RemoveVirtualServer","VirtualServerComponent","virtualServerForm","SaveVirtualServer","VpnStatsComponent","StatsArray","Stats","VpnTableComponent","RemoveVpnRule","DeleteVPNRequest","GetIpSecStats","stats","SiteStatistics","IkeStatus","TunnelStats","totalUp","TunnelStatus","totalDown","DhcpServerDto","DnatRuleDto","SourceDnatRuleDto","DestinationDnatRuleDto","UpdatedDnatRuleDto","FirewallIPDto","description","FirewallIPInDto","ipObject","address","descr","RequestAliasFirewallDto","FirewallRulesDto","SourceFirewallRulesDto","DestinationFirewallRulesDto","UpdatedFirewallRulesDto","PfenseRequestDto","RulesResponseDetailsDto","SnatRulesDto","SourceSnatRulesDto","DestinationSnatRulesDto","UpdatedSnatRulesDto","FirewallAliasesAllComponent","target","firstPage","FirewallAliasesPortsComponent","FirewallNatOutboundComponent","NewFirewallRuleComponent","newRule","Close","AddRule","FirewallNatPortForwardComponent","NewFirewallPortRuleComponent","FirewallRulesLanComponent","interface","FirewallRulesOneoneComponent","FirewallRulesWanComponent","NewFirewallRuleWanComponent","advancedOptions","PfSenseMenuService","toggled","_hasBackgroundImage","menus","active","submenus","hasBackgroundImage","providedIn","PfSenseNetworkSettingsComponent","menuService","RulesResponseDetail","activeItem","getMenuList","getNetworkRules","getSidebarState","level","currentMenu","getNeworkPfsenseRules","height","DetailPfsenseIpComponent","NewPfSenseIpComponent","requestAliasFirewall","rulesRows","newIpForm","AddHostRuleForm","array","initRulesRows","AddNetworkRuleForm","AddPortRuleForm","AddURLRuleForm","AddURLPortsRuleForm","AddURLTableRuleForm","AddURLTablePortsRuleForm","NewAliasFirewallDto","PfCreateAliasFirewall","control","updateRulesArray","removeAt","AddRules","addElements","PfsenseIpComponent","ccid","rulePosition","FilterTypePipe","args","NewDhcpServiceComponent","ServicesDchserverComponent","ServicesRulesLanComponent","ServiceNameModal","ServiceNameFormFb","ChangeServiceName","CloseDialog","ChangeName","ControlPanelComponent","Changelog","supportContact","colorHome","blue","green","purple","darkBlue","orange","darkGray","mediumGray","lightGray","darkWhite","myControl","AllUsers","contactLoading","GetFavouriteSupportContact","getAllUsers","DefaultPassword","Impersonation","getChangeLog","filteredOptions","startWith","val","getUserInformation","getSupport","option","RegExp","test","DesktopComponent","lastName","secondSideNav","preventDefault","alert","SubmitForm","SnackBarComponent","WelcomeComponent","EmailSetupComponent","EventsLogComponent","HelpDeskComponent","maxSizeFile","selectedCustomers","customersType","HelpDeskMaterial","userFilter","documentLoading","uploader","hasBaseDropZoneOver","hasAnotherDropZoneOver","validationMessage","inicializate","getHelpDeskMaterial","reset","clearForm","validationform","validationsize","sendData","queue","ExtensionFile","getExtensionFile","_file","Users","createCleanArray","uploadFile","onReset","obj","updateItem","find","findIndexToUpdate","fileName","extesion","Label","customers","file","saveHelpDeskMaterial","restoreData","PendingMachinesComponent","grid","pageSize","rowClick","getMachines","resetProvisioning","pendingMachines","GetPendingMachines","CsjGeneralGraphicsComponent","csjService","excelService","legend","showLabels","xAxis","yAxis","timeline","unit","legendPosition","getReport","getMissingFilesToCopy","getTimeUseOfDisk","search","ob","res","report","err","files","forEachArrays","disk","newDisk","disco","TotalArchivosOrigen","getValue","TotalArchivosDestino","ArchivosSiOrigenSiDestino","ArchivosSiOrigenNoDestino","ArchivosNoOrigenSiDestino","TamArchivosSiOrigenSiDestino","TamArchivosSiOrigenNoDestino","TamArchivosNoOrigenSiDestino","exportAsJsonExcelFile","series","serie","maxDate","downloadToJpeg","exportToExcel","class","Disk","total","noDestino","colors","hex","graphicFiles","graphicTimeUseDisk","tableHistoryFailedFiles","pie","CsjMainDashboardComponent","loadData","loadInfoDisk","copyView","getInfoDisks","constructObjectDisk","getDiskDetails","dataSumm","disks","getMaxDate","getInfoDisk","dataDisk","discos","resultlist","Path","server","Server","infoDisk","indexDisk","findIndex","Percent","info","sortData","b","stringParseInt","graphic","showTab","dataModal","table","CsjModalComponent","dataGraph","selectedIndex","instance","ReplicasCSJComponent","login","setItem","encapsulation","None","RoleComponent","profileList","searchProfile","selectedProfile","profilesLoading","LoadingPermissions","AvailablePermissions","profile","substr","AddProfile","GetProfiles","ProfileEditComponent","afterAllClosed","GetProfilePermissions","SaveProfilePermissions","SaveProfile","placeholder","addRoleForm","SaveForm","HeaderComponent","AdminSupportContact","savedContact","supportForm","SaveContact","sidenavin","saveContact","SupportNumbers","selectedContact","SupportContacts","addNumber","getNumbers","EditFav","hide","Favourite","RemoveFav","supportUser","supportNumbersGrid","RemoveContact","EditFavoriteContact","GetSupportContacts","sideNav","UseStatisticsComponent","DemoServices","onSave","confirmedTerms","bundleSelectFG","SaveTestService","selectedUser","changeStep","closedStart","ShowTerms","savePlan","ServiceSettings","bundle","serviceAdditionalInfo","progress","TemplateList","OsType","loadingTemplates","domainProducts","confirmForm","Service","getDomainProducts","GetProducts","currentBundle","BundleID","refreshPrice","GetOsList","GetProductPrice","SaveService","resetComponent","Id","DataCenter","dc","PaymentConditions","selectPlan","processConfig","getOsList","TermsComponent","closeDialog","UserEdition","savedUser","profiles","addClientForm","getProfileList","userType","userProfile","customerType","phone","emailInput","CustomerTypeID","SaveUser","saveUser","UserSettings","sidenavMode","usersGrid","AddUser","EditUser","getUsers","UserID","removeCustomerConfirm","ResendUserMailWindow","GetUseriformation","tokenPayload","userRole","CustomerType","userServices","SerSet","User","RemoveUser","UsersGrid","savedService","getServices","getSystemUserAccounts","GetAdditionalServicesByCustomer","resetSidenav","UserAccountsComponent","snackBar","addUser","userSettings","minWidth","editUser","ImpersonateUser","ModuleName","PasswordResendDialog","GenerateToken","DomainName","removeCustomer","getCustomerAccounts","finishSaving","EMAIL_REGEX","emailAddress","emailFormControl","ResendUserMail","planEdition","savedProduct","product","refreshProductPrice","cantidadCores","cantidadRam","tipodeProductos","SaveProduct","VirtualizationProviderID","VirtualServersComponent","navBrodcaster","canCloseSidenav","selectedProduct","mostrar","getProducts","AddProduct","_product","p","ProductType","unshift","editProduct","IsSaving","changeProductState","RemoveProduct","CertificateUploadComponent","loaded","fileSrc","saveButton","SSLCertificate","SSLLoading","getDomainData","GetDomainInformation","validate","fi","fileInput","nativeElement","fileToUpload","password","pwd","saveFile","ImageUploadComponent","dragging","customerImage","editImage","imageLoaded","imageSrc","activeColor","baseColor","overlayColor","HeaderConfiguration","Logo","handleInputChange","iconColor","dataTransfer","reader","FileReader","match","onload","handleReaderLoaded","bind","readAsDataURL","borderColor","handleImageLoad","inputs","WhiteLabelConfigurationComponent","FooterComponent","Globalization","general","loginButton","forgotPassword","menu","home","dataCenter","plans","Administration","Information","logout","virtualServers","calculator","Prospects","eventsLog","useStatistics","whiteLabelConfiguration","CancelledServices","userAccounts","billing","Marketplace","accountConfiguration","activeDirectory","role","emailSetup","helpDesk","Faq","supportContacts","desktop","whitelabelinfo","telephone","currentlyyouhave","aditionalservices","favorites","firewall","accountsumary","acounttodate","currentbalance","activemachines","activemachinesnumber","pendingcancelations","balancetodate","activecustomers","activecustnumber","changelog","serviceid","edit","adminnet","TURN_OFF","TURN_ON","LAY_OFF","RESTART","RESUME","TURN_OFF_GUEST","LAY_OFF_GUEST","RESTART_GUEST","dcSidenav","cores","ram","machinestatus","privateip","rdpaccess","macaddress","viewconfig","diskSize","networkSettings","gettingInfo","publicips","sideNavNat","ipSource","sourcePort","ipDestination","sideNavDHCP","serviceId","defaultGateway","ipAddress","dnsPrimary","dnsSecondary","netMask","sideNavRouting","nextHop","vnic","sideNavVPN","algorithm","diffieHellman","enablePFS","localIp","sideNavIPSet","sideNavAppProfile","template","method","cookieName","cookieMode","expire","sideNavVirtualServer","applicationProfileId","defaultPool","connectionLimit","connectionRateLimit","sideNavPool","monitorId","monitorPort","weight","members","minConn","maxConn","sideNavFW","sourceIp","portConfig","portSet","gridFirstPart","gridSecondPart","virtualServer","enabled","delete","sideNavVS","planName","planDescription","machineConfig","productType","suggestedCost","save","restore","logo","sizeImage","accept","cancel","sslCertificate","helpMaterial","mainInfo","addHelpMaterial","recentMaterial","selectTopic","topics","whiteLabel","agent","reseller","systemUser","serverName","hypervisor","serverProfile","quantity","propertity","gb","speed","hardDisk","selectNetwork","AmountOfIps","serverTitle","hardDiskconfig","stepperNext","stepperPrevious","connectivity","ROI","financialAnalitycs","margen","addDisk","infrastructure","prosecution","networks","availability","internet","selectCore","selectRAM","selectAvailability","software","selectOS","selectDB","selectApplications","selectUsers","database","item1","applications","itemTwo","version","MrcSoftware","licensing","select","selectLicense","selectDriveSpeed","driveSpeed","selectBackup","Month","priceSumary","currentSummary","totalVirtualServer","totalSoftware","AddToQuote","SuggestedRetail","totalSurvey","totalSolution","SuggestedPrice","currentTotalServer","buttons","components","HomeComponent","translate","appService","userName","menuLoading","headerText","languageSelect","displayMenu","addLangs","setDefaultLang","subscription","GetMessage","setTimeout","classes","getSidebarStat","isSidebarPinned","isSidebarToggeled","toggleSidebar","use","getMenu","UserName","ex","setToken","Initials","lang","clearStorage","getUsersAndDatacenters","dataUsers","Children","leaf","start","GetFirstChild","ParentCustomerID","unsubscribe","countryName","changeLang","LoginComponent","loginDTO","glob","domainLanguage","currentYear","getFullYear","loginForm","outhValue","outh2Modal","queryParams","respose","domainInformation","DefaultLanguage","domainLogo","LoginModalComponent","openDialog","rememberForm","rememberEmail","rememberPassword","Outh2ModalComponent","outhCode","isValid","validateOuthForm","saveClick","Constants","FormFontSize","CoreList","quantityValueList","CoreListDb","CoreListDb2","QuantityRDP","QuantityIp","RamList","Backups","IopsDB","IopsServer","Size","discountMRC","ServerProfile","NetworkList","OSHANA","OSSQLSERVER","ProvisioningOS","Database","IOPS","AvailabilityDB","HypervisorDB","ProductImages","dhGroups","encryptionAlgorithms","Protocols","Languages","Code","DiscountMRCList","startVal","endVal","incrementVal","extraoptions","arrayList","_i","CredentialDTO","credentialHref","FaqQuestion","Answer","Color","Icon","Module","Question","SupportContact","Telephone","Country","ProfileDTO","PermissionDTO","Template","isChecked","ServiceAdditionalInfo","RoutingSaveRequestDTO","RoutingDTO","NextHop","VPNSaveRequestDTO","VpnDTO","EncryptionAlgorithm","EnablePfs","DhGroup","AuthenticationMode","SubnetDTO","FirewallApplication","DHCPSaveRequestDTO","DHCPDTO","AllNATSaveRequestDTO","NATSaveRequestDTO","NATRequestDTO","VirtualServerSaveRequestDTO","VirtualServerDTO","PoolSaveRequestDTO","PoolDTO","AppProfileSaveRequestDTO","AppProfileDTO","FirewallSaveRequestDTO","FirewallRequestDTO","AccelerationEnabled","ConnectionLimit","ConnectionRateLimit","EnableServiceInsertion","Protocol","VirtualServerId","InsertXForwardedFor","PersistenceAppProfileDTO","ServersSslEnabled","SslPassthrough","CookieMode","CookieName","Expire","MonitorDTO","Interval","MaxRetries","Timeout","Algorithm","Transparent","PoolServerDTO","MemberId","Weight","MonitorPort","MaxConn","MinConn","Condition","IPSetDTO","IPSetSaveRequestDTO","FirewallDTO","ruleType","loggingEnabled","FirewallSourceDTO","SourceIP","exclude","vnicGroupID","NatDTO","OriginalAddress","TranslatedAddress","DnatMatchSourceAddress","DnatMatchSourcePort","BindingId","DefaultGateway","PrimaryNameServer","SecondaryNameServer","SubnetMask","UserInfoDTO","LastUpdate","UserDTO","LastName","Identification","Login","Address","RoleID","IsDemo","CreatedDate","UpdateDate","TotalCost","Calculator","LoginDTO","Password","MenuDTO","InterfaceDTO","AddressGroupDTO","ServiceDTO","ServiceType","Progress","ErrorMessage","ProductDTO","shown","Updated","Image","ConfigurationString","AdditionalServiceDTO","CreationDate","ExpirationDate","CancelState","HelpdeskDTO","File","OptionsCalculator","NAME","serverCalculatorList","PriceItemDTO","IDPL","PriceItemDetail","VirtualMachineType","virtualMachineTypeName","machineList","CAPEXReal","OPEXReal","CustomerMachinesService","BroadcastEmitter","subject","asObservable","AppService","AuthGuardService","MyHttpInterceptor","IdToken","authReq","clone","headers","set","handle","catch","caught","throw","TOKEN_NAME","tokennGetter","AuthService","jwtHelper","isTokenExpired","getTokenExpirationDate","decodeToken","clear","SessionCheckService","interval","CsjService","urlCSJ","CSJ_URL","baseUrl","TypeCustom","CSJTOKEN_NAME","post","csjC","CSJC","EXCEL_EXTENSION","ExcelService","datePipe","header","totalServer","discountType","saveExcelFile","json","excelFileName","buffer","LogsService","urlApiLogs","moduleName","actionName","success","payload","application","resp","WlService","serviceURL","Permissions","processData","CustomerId","ServiceId","getData","isWhiteLabel","ProductID","userid","MachineID","userInfo","Bundle","additionalServiceConfiguration","serviceDefinition","serviceAdditionalConfiguration","cloudid","datacenterid","additionalServiceDTO","dto","Request","ProfileID","Profile","PriceTypeID","QuestionID","bundleQuoteDTO","DatacenterId","Input","FormData","append","HandleError","cloudServerCalcObj","listName","pfsenseRequest","refreshToken","RefreshToken","SidebarComponent","sidebarservice","SidebarService","badge","CustomFormValidator","regexp","settings","GridComponent","currencyPipe","tempData","filtering","filterText","pageNumber","pageData","hideActions","sortable","column","retValue","transform","showDetail","GridDetailComponent","FilterInput","focus","hideFilter","update","assign","ShowFilter","filterGrid","clearFilter","previousPage","nextPage","ConfirmationDialog","sendMailDialog","SendMailForm","sendMail","SafeHtml","sanitized","bypassSecurityTrustHtml","FilterPipe","field","environment","production","KEY_RSA_PUB_DEVC","bootstrapModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAASA,wBAAT,CAAkCC,GAAlC,EAAuC;AACtC;AACA;AACA,aAAOC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAW;AACxC,YAAIC,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,SAAC,CAACE,IAAF,GAAS,kBAAT;AACA,cAAMF,CAAN;AACA,OAJM,CAAP;AAKA;;AACDL,4BAAwB,CAACQ,IAAzB,GAAgC,YAAW;AAAE,aAAO,EAAP;AAAY,KAAzD;;AACAR,4BAAwB,CAACG,OAAzB,GAAmCH,wBAAnC;AACAS,UAAM,CAACC,OAAP,GAAiBV,wBAAjB;AACAA,4BAAwB,CAACW,EAAzB,GAA8B,yCAA9B;;;;;;;;;;;;;;;;ACZA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaC,Y;;;;;uBAAAA,Y;AAAY,K;;;YAAZA,Y;AAAY,+B;AAAA,kFAHZ,CAAC,qEAAD,CAGY,E;AAHD,c;AAAA,a;AAAA;AAAA;ACPxB;;;;;;;;;sEDUaA,Y,EAAY;cAPxB,uDAOwB;eAPd;AACTC,kBAAQ,EAAE,UADD;AAETC,qBAAW,EAAE,sBAFJ;AAGTC,mBAAS,EAAE,CAAC,qBAAD,CAHF;AAITC,mBAAS,EAAE,CAAC,qEAAD;AAJF,S;AAOc,Q;;;;;;;;;;;;;;;;;;AEVzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAA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AChC;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAQ;;AAAK;;AACf;;AACA;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAa;;AACjB;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AACP;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAO;;AACX;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAI;;AACR;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAA4B;;AAChC;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAA2B;;AAC/B;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAqB;;AACzB;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAqB;;AACzB;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AACP;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAqB;;AACzB;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAyB;;AAC7B;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAwB;;AAC5B;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAiB;;AACrB;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAU;;AACd;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAK;;AACT;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAM;;AACV;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAM;;AACV;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAO;;AACX;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAI;;AAAE;;AACN;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AAEF;;AACF;;;;;;AAnLQ;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;AAMA;;AAAA;;AAGA;;AAAA;;;;;;AAtXlB;;AACE;;AAA2C;;AAAO;;AAClD;;AACE;;AACE;;AACE;;AACE;;AA+EF;;AACA;;AACE;;AAgGF;;AACA;;AACE;;AAmMF;;AACF;;AACF;;AACF;;AACF;;;;;;AA1XiB;;AAAA;;AAiFA;;AAAA;;AAkGA;;AAAA;;;;;;;;AAoN3B;;AAAyG;AAAA;;AAAA;;AAAA;AAAA;;AACvG;;AAAU;;AAAI;;AAChB;;;;;;AAEA;;AACE;;AAAU;;AAAI;;AAChB;;;;;;;;AAFyG;;;;;;AAuBnG;;AAAyE;;AAAqC;;;;;;AAArC;;AAAA;;;;;;AACzE;;AAAuC;;;;AAA0C;;;;;;AAA1C;;AAAA;;;;;;AAIvC;;AAAyE;;AAAsC;;;;;;AAAtC;;AAAA;;;;;;AACzE;;AAAwC;;;;AAA2C;;;;;;AAA3C;;AAAA;;;;;;AAQ9C;;AACE;;AACI;;AACJ;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACA;;AAAoF;;AAAY;;AAChG;;AAAoF;;AAAY;;AAChG;;AACA;;AACA;;AAAsE;;AAAQ;;AAC9E;;AAAsE;;AAAG;;AACzE;;AAAsE;;AAAM;;AAC5E;;AAAsE;;AAAG;;AACzE;;AAAsE;;AAAM;;AAC5E;;AAAsE;;AAAS;;AAC/E;;AAAsE;;AAAY;;AAChF;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACJ;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACA;;AAAsE;;AAAsC;;AAC5G;;AAAsE;;AAAwC;;AAC9G;;AAAsE;;AAAoC;;AAC1G;;AAAsE;;AAAwC;;AAC9G;;AAAsE;;AAAwC;;AAC5G;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACC;;AACD;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACC;;AACA;;AACA;;AACC;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACJ;;AACF;;AACF;;AACF;;AACF;;;;;;AAnJyB;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAsD;;AACtD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAsD;;AAGtD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACA;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACA;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACA;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACA;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACA;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACA;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AACE;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAIb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAEa;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAIb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAEa;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAIb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAYW;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAuD;;AAAA;;AACvD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAuD;;AAAA;;AACvD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAuD;;AAAA;;AACvD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAuD;;AAAA;;AACvD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAAuD;;AAAA;;AACrD;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAIb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAEa;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAIb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAEa;;AAAA,yKAA2B,OAA3B,EAA2B,mBAA3B;;AAIb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;AA8EJ;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AAKE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;AAIN;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;;;AAHM;;AAAA;;;;;;;;AAvNV;;AACE;;AACE;;AACE;;AAAwB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACtB;;AAAU;;AAAc;;AAC1B;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAwB;;AAAO;;AAA2B;;AAAQ;;AAAI;;AAAU;;AAC9C;;AAAQ;;AAAK;;AAAS;;AACpD;;AAAQ;;AAAG;;AAAS;;AAA2B;;AAAQ;;AAAE;;AAAU;;AACrE;;AAAQ;;AACZ;;AACA;;AACE;;AACwC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACxC;;AACF;;AACF;;AACF;;AAEF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACA;;AAUA;;AAUA;;AAUA;;AAcA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AAUA;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;;;AA9NyC;;AAAA;;AAAiD;;AAAA;;AACxB;;AAAA;;AAChC;;AAAA;;AAA+C;;AAAA;;AAItB;;AAAA,qFAAmB,SAAnB,EAAmB,+BAAnB;;AAYjD;;AAAA,iHAAAwG,KAAA;;AAGA;;AAAA;;AAOA;;AAAA;;AAGA;;AAAA;;AAOA;;AAAA;;AAGA;;AAAA;;AAUA;;AAAA;;AAIS;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAcA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAUA;;AAAA;;AAiBP;;AAAA;;;;;;AAnOd;;AACE;;AAyOF;;;;;;AAzOuB;;AAAA;;;;;;AA6OzB;;AAEE;;AACE;;AAA2B;;AAAa;;AACxC;;AAAG;;AAAQ;;AAAoC;;AAAS;;AACxD;;AAAI;;AAAgC;;AACtC;;AACF;;;;QDxpCGC,8B;;;AA4DX,8CACUC,MADV,EAEUC,cAFV,EAGU3C,WAHV,EAIUlC,OAJV,EAKSgC,QALT,EAMSD,MANT,EAM0B;AAAA;;AALhB,aAAA6C,MAAA,GAAAA,MAAA;AACA,aAAAC,cAAA,GAAAA,cAAA;AACA,aAAA3C,WAAA,GAAAA,WAAA;AACA,aAAAlC,OAAA,GAAAA,OAAA;AACD,aAAAgC,QAAA,GAAAA,QAAA;AACA,aAAAD,MAAA,GAAAA,MAAA;AAhEC,aAAA+C,uBAAA,GAA0B,IAAI,0DAAJ,EAA1B;AACA,aAAAC,kBAAA,GAAqB,IAAI,0DAAJ,EAArB;AACA,aAAAC,yBAAA,GAA4B,IAAI,0DAAJ,EAA5B;AAEH,aAAAC,WAAA,GAAqB,EAArB;AACA,aAAAC,YAAA,GAAoC,EAApC;AAEA,aAAAC,qBAAA,GAAkD,IAAI,8EAAJ,EAAlD;AACA,aAAAC,cAAA,GAAiB,IAAI,yEAAJ,EAAjB;AACA,aAAAC,WAAA,GAAc,IAAI,oEAAJ,EAAd;AACA,aAAAC,UAAA,GAAyB,IAAI,gEAAJ,EAAzB;AACA,aAAAC,WAAA,GAA2B,IAAI,iEAAJ,EAA3B;AACA,aAAAC,YAAA,GAA6B,IAAI,kEAAJ,EAA7B;AACA,aAAAC,IAAA,GAAO,CAAP;AAEA,aAAAC,UAAA,GAAa,GAAb;AACA,aAAArD,OAAA,GAAmB,KAAnB;AACA,aAAAsD,eAAA,GAA2B,KAA3B;AACA,aAAAC,eAAA,GAA2B,IAA3B;AACA,aAAAC,kBAAA,GAA8B,KAA9B;AACA,aAAAC,KAAA,GAAQ,CAAR;AACA,aAAAC,aAAA,GAAgB,IAAI,yEAAJ,EAAhB;AACA,aAAAC,YAAA,GAAuB,EAAvB;AACP,aAAAC,WAAA,GAAc,IAAd;AACA,aAAAC,KAAA,GAAQ,SAAR;AACA,aAAAC,QAAA,GAAW,MAAX;AACA,aAAAC,UAAA,GAAa,SAAb;AACA,aAAAC,MAAA,GAAS,SAAT;AACA,aAAAC,SAAA,GAAY,MAAZ;AACO,aAAAC,eAAA,GAAoC;AACzCC,eAAK,EAAE,MADkC;AAEzCC,uBAAa,EAAE,KAF0B;AAGzCC,mBAAS,EAAE,IAH8B;AAIzCC,iBAAO,EAAE,GAJgC;AAKzCC,mBAAS,EAAE,CAL8B;AAMzCC,gBAAM,EAAE,IANiC;AAOzCC,gBAAM,EAAE,MAPiC;AAQzCC,mBAAS,EAAE;AAR8B,SAApC;AAUA,aAAAC,MAAA,GAA8B,EAA9B;AACA,aAAAC,OAAA,GAA+B,EAA/B;AACA,aAAAC,OAAA,GAA+B,EAA/B;AACA,aAAAC,QAAA,GAAgC,EAAhC;AACA,aAAAC,UAAA,GAAkC,EAAlC;AACA,aAAAC,WAAA,GAAmC,EAAnC;AACA,aAAAC,YAAA,GAAoC,EAApC;AACA,aAAAC,cAAA,GAAsC,EAAtC;AACA,aAAAC,cAAA,GAAsC,EAAtC;AACA,aAAAC,eAAA,GAAuC,EAAvC;AACA,aAAAC,gBAAA,GAAwC,EAAxC;AACA,aAAAC,mBAAA,GAA2C,EAA3C;AACA,aAAAC,oBAAA,GAA4C,EAA5C;AACA,aAAAC,qBAAA,GAAmD,EAAnD;AACA,aAAAC,kBAAA,GAA0C,EAA1C;AACA,aAAAC,aAAA,GAAgB,EAAhB;AACA,aAAAC,aAAA,GAAwB,IAAxB;AAWL,aAAKC,oBAAL,GAA4B,IAAI,6EAAJ,EAA5B;AACD;;;;mCAEO;AACN,eAAKC,aAAL;AACA,eAAKC,qBAAL;AAEA,eAAKH,aAAL,GAAqB,KAAKnD,cAAL,CAAoBuD,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,eAA1C,IACjBC,QAAQ,CAAC,KAAK1D,cAAL,CAAoBuD,QAApB,CAA6BC,QAA7B,CAAsCC,GAAtC,CAA0C,eAA1C,CAAD,EAA6D,EAA7D,CADS,GAC0D,IAD/E;;AAEE,cAAI,KAAKN,aAAL,KAAuB,IAA3B,EAAiC;AAC/B,iBAAKQ,kBAAL,CAAwB,KAAKR,aAA7B;AACD;;AACH,eAAKS,oBAAL;AACA,eAAKC,QAAL;AACA,eAAKC,mBAAL,GAA2B,KAAKzG,WAAL,CAAiBS,KAAjB,CAAuB;AAChDiG,eAAG,EAAE,CAAC,EAAD,EAAK,0DAAW9F,QAAhB,CAD2C;AAEhD4B,iBAAK,EAAE,CAAC,EAAD,EAAK,0DAAW5B,QAAhB,CAFyC;AAGhD+F,eAAG,EAAE,CAAC,EAAD,EAAK,0DAAW/F,QAAhB,CAH2C;AAIhDgG,cAAE,EAAE,CAAC,EAAD,EAAK,0DAAWhG,QAAhB,CAJ4C;AAKhDiG,gBAAI,EAAE,CAAC,EAAD,EAAK,0DAAWjG,QAAhB,CAL0C;AAMhDkG,oBAAQ,EAAE,CAAC,EAAD,EAAK,0DAAWlG,QAAhB,CANsC;AAOhDmG,0BAAc,EAAE,CAAC,EAAD,EAAK,0DAAWnG,QAAhB,CAPgC;AAQhDoG,cAAE,EAAE,CAAC,EAAD,EAAK,0DAAWpG,QAAhB,CAR4C;AAShDqG,qBAAS,EAAE,CAAC,EAAD,EAAK,0DAAWrG,QAAhB,CATqC;AAUhDsG,eAAG,EAAE,CAAC,EAAD,EAAK,0DAAWtG,QAAhB,CAV2C;AAWhDuG,kBAAM,EAAE,CAAC,EAAD,EAAK,0DAAWvG,QAAhB,CAXwC;AAYhDwG,qBAAS,EAAE,CAAC,EAAD,EAAK,0DAAWxG,QAAhB,CAZqC;AAahDyG,kBAAM,EAAE,CAAC,EAAD,EAAK,0DAAWzG,QAAhB,CAbwC;AAchD0G,2BAAe,EAAE,CAAC,EAAD,EAAK,0DAAW1G,QAAhB,CAd+B;AAehD2G,sBAAU,EAAE,CAAC,EAAD,EAAK,0DAAW3G,QAAhB,CAfoC;AAgBhD4G,qBAAS,EAAG,CAAE,EAAF,EAAM,0DAAW5G,QAAjB,CAhBoC;AAiBhD6G,oBAAQ,EAAI,CAAE,EAAF,EAAM,0DAAW7G,QAAjB;AAjBoC,WAAvB,CAA3B;AAmBD;;;wCACgB;AAAA;;AACf,eAAK9C,OAAL,CAAa4J,OAAb,GAAuBrI,SAAvB,CACE,UAACC,QAAD,EAAc;AACZ,kBAAI,CAAC0D,YAAL,GAAoB1D,QAApB;AACA,kBAAI,CAACyD,WAAL,GAAmBzD,QAAQ,CAACqI,MAAT,CAAgB,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACC,KAAF,KAAY,OAAhB;AAAA,aAAjB,CAAnB;AACAzF,mBAAO,CAACC,GAAR,CAAY,aAAZ,EAA2B,MAAI,CAACU,WAAhC;AACD,WALH,EAKK,UAACxD,KAAD,EAAW;AACZ6C,mBAAO,CAAC7C,KAAR,CAAcA,KAAd;AACD,WAPH;AASD;;;mCACUuI,U,EAAkB;AAC3B,cAAI,KAAK/E,WAAL,CAAiBgF,MAAjB,GAA0B,CAA9B,EAAiC;AAC/B,mBAAO,KAAKhF,WAAL,CAAiB4E,MAAjB,CAAwB,UAAAK,IAAI;AAAA,qBAAIA,IAAI,CAACC,OAAL,CAAaC,IAAb,CAAkB,UAAAC,CAAC;AAAA,uBAAIA,CAAC,CAAC/I,EAAF,KAAS0I,UAAb;AAAA,eAAnB,CAAJ;AAAA,aAA5B,EAA6EC,MAA7E,GAAsF,CAAtF,GAA0F,IAA1F,GAAiG,KAAxG;AACD;AACF;;;oCAEiC;AAAA,cAAxBK,OAAwB,uEAAL,KAAK;AAChC,eAAK7B,oBAAL,CAA0B6B,OAA1B;AACD;;;oCAEQ;AACP,cAAG,CAAC,KAAKzE,kBAAT,EAA4B;AAC1B,iBAAKV,qBAAL,CAA2BoE,MAA3B,GAAoC,KAApC;AACD;;AACD,eAAKgB,SAAL;AACD;;;4CAGmBnG,I,EAAwB;AAC1C,iBAAOA,IAAI,GAAGA,IAAI,CAACd,IAAR,GAAekH,SAA1B;AACD;;;uCAEcC,E,EAASC,E,EAAO;AAC7B,iBAAOD,EAAE,CAACnJ,EAAH,KAAUoJ,EAAE,CAACpJ,EAApB;AACD;;;+CAE4C;AAAA;;AAAA,cAAxBgJ,OAAwB,uEAAL,KAAK;AAC3C,eAAKjI,OAAL,GAAe,IAAf;AACA,eAAKsI,mBAAL;AACA,eAAKC,aAAL;AACA,eAAKzF,qBAAL,CAA2BmF,OAA3B,GAAuCA,OAAD,GAAY,IAAZ,GAAmB,KAAzD;AACA,eAAKtK,OAAL,CAAa6K,wBAAb,CAAsC,KAAK1F,qBAA3C,EAAkE5D,SAAlE,CACE,UAACC,QAAD,EAAuC;AACrC8C,mBAAO,CAACC,GAAR,CAAY,eAAZ,EAA6B/C,QAA7B;AACA,kBAAI,CAACyG,oBAAL,GAA4BzG,QAA5B;AACA,kBAAI,CAACyG,oBAAL,CAA0BzC,YAA1B,GAAyChE,QAAQ,CAACgE,YAAlD;AACA,kBAAI,CAACyC,oBAAL,CAA0B1C,WAA1B,GAAwC/D,QAAQ,CAAC+D,WAAjD;AACA,kBAAI,CAAC0C,oBAAL,CAA0B6C,UAA1B,GAAuCtJ,QAAQ,CAACsJ,UAAhD;AACA,kBAAI,CAAC7C,oBAAL,CAA0B8C,IAA1B,GAAkC,MAAI,CAACC,QAAL,CAAcxJ,QAAd,CAAlC;;AACA,gBAAI8I,OAAJ,EAAa;AACX,oBAAI,CAACrC,oBAAL,CAA0B8C,IAA1B,CAA+BE,GAA/B,GAAsCzJ,QAAQ,CAACsJ,UAAT,CAAoBI,SAA1D;AACD,aAFD,MAEO;AACL,oBAAI,CAACjD,oBAAL,CAA0B8C,IAA1B,CAA+BE,GAA/B,GAAqCzJ,QAAQ,CAACsJ,UAAT,CAAoBK,WAAzD;AACD;;AAED,gBAAI,CAAC,MAAI,CAAClD,oBAAL,CAA0BmD,gBAA/B,EAAiD;AAC/C,oBAAI,CAACC,gBAAL;AACD;;AAED,kBAAI,CAACpD,oBAAL,CAA0B8C,IAA1B,CAA+BO,WAA/B,GAA6C9J,QAAQ,CAACsJ,UAAT,CAAoBK,WAAjE;AACA,kBAAI,CAAClD,oBAAL,CAA0BsD,QAA1B,GAAsC,KAAtC;AACA,kBAAI,CAACtD,oBAAL,CAA0BuD,iBAA1B,GAA+ChK,QAAQ,CAACgK,iBAAxD;AACA,kBAAI,CAACnJ,OAAL,GAAe,KAAf;AACD,WAtBH;AAuBD;;;iCAEQb,Q,EAAiC;AACxC,cAAMiK,IAAI,GAAG,IAAI,2DAAJ,EAAb;;AAEA,cAAIjK,QAAQ,CAACgK,iBAAT,CAA2B7B,QAA3B,KAAwC,MAA5C,EAAoD;AAClD8B,gBAAI,CAACC,IAAL,GAAYlK,QAAQ,CAAC+D,WAAT,CAAqBoG,KAAjC;AAED,WAHD,MAGO;AACLF,gBAAI,CAACG,KAAL,GAAapK,QAAQ,CAAC+D,WAAT,CAAqBoG,KAAlC;AACD;;AAED,cAAInK,QAAQ,CAACgK,iBAAT,CAA2B9B,SAA3B,KAAyC,MAA7C,EAAqD;AACnD+B,gBAAI,CAACI,KAAL,GAAarK,QAAQ,CAACgE,YAAT,CAAsBmG,KAAnC;AAED,WAHD,MAGO;AACLF,gBAAI,CAACK,MAAL,GAActK,QAAQ,CAACgE,YAAT,CAAsBmG,KAApC;AACD;;AACD,iBAAOF,IAAP;AACD;;;gDAEoB;AAAA;;AACnB,eAAKzL,OAAL,CAAa+L,6BAAb,CAA2C,wBAA3C,EAAqExK,SAArE,CACE,UAACC,QAAD,EAAmC;AACjC,kBAAI,CAAC6F,WAAL,GAAmB7F,QAAnB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,0BAA3C,EAAuExK,SAAvE,CACE,UAACC,QAAD,EAAmC;AACjC,kBAAI,CAAC2F,QAAL,GAAgB3F,QAAhB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,wBAA3C,EAAqExK,SAArE,CACE,UAACC,QAAD,EAAmC;AACjC,kBAAI,CAACyF,OAAL,GAAezF,QAAf;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,uBAA3C,EAAoExK,SAApE,CACE,UAACC,QAAD,EAAmC;AACjC,kBAAI,CAAC8F,YAAL,GAAoB9F,QAApB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,uBAA3C,EAAoExK,SAApE,CACE,UAACC,QAAD,EAAmC;AACjC,kBAAI,CAAC+F,cAAL,GAAsB/F,QAAtB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,yBAA3C,EAAsExK,SAAtE,CACE,UAACC,QAAD,EAAmC;AACjC,kBAAI,CAACkG,gBAAL,GAAwBlG,QAAxB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,2BAA3C,EAAwExK,SAAxE,CACE,UAACC,QAAD,EAAkC;AAChC,kBAAI,CAAC4F,UAAL,GAAkB5F,QAAlB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,6BAA3C,EAA0ExK,SAA1E,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACgG,cAAL,GAAsBhG,QAAtB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,6BAA3C,EAA0ExK,SAA1E,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACwF,MAAL,GAAcxF,QAAd;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,8BAA3C,EAA2ExK,SAA3E,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAAC0F,OAAL,GAAe1F,QAAf;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,2CAA3C,EAAwFxK,SAAxF,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACoG,oBAAL,GAA4BpG,QAA5B;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,mCAA3C,EAAgFxK,SAAhF,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACiG,eAAL,GAAuBjG,QAAvB;AACD,WAHH;AAKA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,iCAA3C,EAA8ExK,SAA9E,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACmG,mBAAL,GAA2BnG,QAA3B;AACD,WAHH;AAMA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,iBAA3C,EAA8DxK,SAA9D,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACsG,kBAAL,GAA0BtG,QAA1B;AACD,WAHH;AAMA,eAAKxB,OAAL,CAAa+L,6BAAb,CAA2C,WAA3C,EAAwDxK,SAAxD,CACE,UAACC,QAAD,EAAoC;AAClC,kBAAI,CAACuG,aAAL,GAAqBvG,QAArB;AACD,WAHH;AAKD;;;oCAEQ;AACP,cAAMwK,SAAS,GAAG,IAAI,2DAAJ,EAAlB;AACA,eAAKnE,qBAAL,CAA2BoE,OAA3B,CAAmC,UAAAC,OAAO,EAAI;AAC5C,gBAAIA,OAAO,CAACC,UAAZ,EAAwB;AACtBH,uBAAS,CAACf,GAAV,IAAiBiB,OAAO,CAACnB,IAAR,CAAaE,GAA9B;AACAe,uBAAS,CAACH,KAAV,IAAmBK,OAAO,CAACnB,IAAR,CAAac,KAAhC;AACAG,uBAAS,CAACN,IAAV,IAAkBQ,OAAO,CAACnB,IAAR,CAAaW,IAA/B;AACAM,uBAAS,CAACJ,KAAV,IAAmBM,OAAO,CAACnB,IAAR,CAAaa,KAAhC;AACAI,uBAAS,CAACF,MAAV,IAAoBI,OAAO,CAACnB,IAAR,CAAae,MAAjC;AACD;AACF,WARD;AASA,iBAAOE,SAAP;AACD;;;sDAG0B;AACzB,cAAI,KAAKnE,qBAAL,CAA2BoC,MAA3B,KAAsC,CAA1C,EAA6C;AAC3C,iBAAKnE,KAAL,GAAa,CAAb;AACD;;AACD,eAAKmC,oBAAL,CAA0BmE,IAA1B,GAAiC,KAAKpM,OAAL,CAAaqM,YAAb,EAAjC;AACA,eAAKpE,oBAAL,CAA0B3E,IAA1B,GAAiC,aAAc,KAAKwC,KAAL,EAA/C;AACA,eAAKmC,oBAAL,CAA0BkE,UAA1B,GAAuC,IAAvC;AACA,eAAKlE,oBAAL,CAA0BvD,KAA1B,GAAkC,KAAKS,qBAAL,CAA2BT,KAA7D;AACA,eAAKuD,oBAAL,CAA0BY,GAA1B,GAAgC,KAAK1D,qBAAL,CAA2B0D,GAA3D;AACA,eAAKZ,oBAAL,CAA0Ba,EAA1B,GAA+B,KAAK3D,qBAAL,CAA2B2D,EAA1D;AACA,eAAKb,oBAAL,CAA0BuD,iBAA1B,CAA4CrC,SAA5C,GAAwD,KAAKhE,qBAAL,CAA2BgE,SAAnF;AACA,eAAKlB,oBAAL,CAA0BuD,iBAA1B,CAA4C9B,SAA5C,GAAwD,KAAKvE,qBAAL,CAA2BuE,SAAnF;AACA,eAAKzB,oBAAL,CAA0BuD,iBAA1B,CAA4C7B,QAA5C,GAAuD,KAAKxE,qBAAL,CAA2BwE,QAAlF;AACA,cAAM2C,mBAAmB,GAAG5L,IAAI,CAACC,KAAL,CAAWD,IAAI,CAAC6L,SAAL,CAAe,KAAKtE,oBAApB,CAAX,CAA5B;AACA,cAAMuE,oBAAoB,GAAG9L,IAAI,CAACC,KAAL,CAAWD,IAAI,CAAC6L,SAAL,CAAe,KAAKtE,oBAApB,CAAX,CAA7B;AACA,eAAKnD,uBAAL,CAA6B2H,IAA7B,CAAkC;AAAEC,gBAAI,EAAE,CAAR;AAAWtI,gBAAI,EAAEkI;AAAjB,WAAlC,EAfyB,CAekD;;AAC3E,eAAKzE,qBAAL,CAA2B8E,IAA3B,CAAgC,MAAD,OAAC,CAAD,EAAC,EAAKH,oBAAL,CAAhC;AACD;;;yCAEa;AACZ,cAAMI,SAAS,GAAI,IAAI,yEAAJ,EAAnB;AACA,eAAK/E,qBAAL,CAA2BoE,OAA3B,CAAmC,UAAAC,OAAO,EAAI;AAC5C,gBAAIA,OAAO,CAACC,UAAZ,EAAwB;AACtB,kBAAID,OAAO,CAACV,iBAAR,CAA0BlC,SAA1B,KAAwC,IAA5C,EAAkD;AAC9CsD,yBAAS,CAACC,SAAV,CAAoB9B,IAApB,CAAyBE,GAAzB,IAAgCiB,OAAO,CAACnB,IAAR,CAAaE,GAA7C;AACA2B,yBAAS,CAACC,SAAV,CAAoB9B,IAApB,CAAyBc,KAAzB,IAAkCK,OAAO,CAACnB,IAAR,CAAac,KAA/C;AACAe,yBAAS,CAACC,SAAV,CAAoB9B,IAApB,CAAyBW,IAAzB,IAAiCQ,OAAO,CAACnB,IAAR,CAAaW,IAA9C;AACAkB,yBAAS,CAACC,SAAV,CAAoB9B,IAApB,CAAyBa,KAAzB,IAAkCM,OAAO,CAACnB,IAAR,CAAaa,KAA/C;AACAgB,yBAAS,CAACC,SAAV,CAAoB9B,IAApB,CAAyBe,MAAzB,IAAmCI,OAAO,CAACnB,IAAR,CAAae,MAAhD;;AACA,oBAAII,OAAO,CAACV,iBAAR,CAA0BrC,SAA1B,KAAwC,KAA5C,EAAmD;AACjDyD,2BAAS,CAACC,SAAV,CAAoBC,GAApB,IAA2BZ,OAAO,CAACV,iBAAR,CAA0B3C,GAArD;AACA+D,2BAAS,CAACC,SAAV,CAAoBnI,KAApB,IAA6BwH,OAAO,CAACV,iBAAR,CAA0B9G,KAAvD;AACAkI,2BAAS,CAACC,SAAV,CAAoBE,OAApB,IAA+Bb,OAAO,CAACV,iBAAR,CAA0B1C,EAAzD;AACD,iBAJD,MAIO;AACL8D,2BAAS,CAACC,SAAV,CAAoBG,KAApB,IAA6Bd,OAAO,CAACV,iBAAR,CAA0B3C,GAAvD;AACA+D,2BAAS,CAACC,SAAV,CAAoBI,OAApB,IAA+Bf,OAAO,CAACV,iBAAR,CAA0B9G,KAAzD;AACAkI,2BAAS,CAACC,SAAV,CAAoBK,SAApB,IAAiChB,OAAO,CAACV,iBAAR,CAA0B1C,EAA3D;AACD;AAEJ,eAhBD,MAgBO;AAEH8D,yBAAS,CAACO,SAAV,CAAoBpC,IAApB,CAAyBE,GAAzB,IAAgCiB,OAAO,CAACnB,IAAR,CAAaE,GAA7C;AACA2B,yBAAS,CAACO,SAAV,CAAoBpC,IAApB,CAAyBc,KAAzB,IAAkCK,OAAO,CAACnB,IAAR,CAAac,KAA/C;AACAe,yBAAS,CAACO,SAAV,CAAoBpC,IAApB,CAAyBW,IAAzB,IAAiCQ,OAAO,CAACnB,IAAR,CAAaW,IAA9C;AACAkB,yBAAS,CAACO,SAAV,CAAoBpC,IAApB,CAAyBa,KAAzB,IAAkCM,OAAO,CAACnB,IAAR,CAAaa,KAA/C;AACAgB,yBAAS,CAACO,SAAV,CAAoBpC,IAApB,CAAyBe,MAAzB,IAAmCI,OAAO,CAACnB,IAAR,CAAae,MAAhD;;AAEF,oBAAII,OAAO,CAACV,iBAAR,CAA0BrC,SAA1B,KAAwC,KAA5C,EAAmD;AACjDyD,2BAAS,CAACO,SAAV,CAAoBL,GAApB,IAA2BZ,OAAO,CAACV,iBAAR,CAA0B3C,GAArD;AACA+D,2BAAS,CAACO,SAAV,CAAoBzI,KAApB,IAA6BwH,OAAO,CAACV,iBAAR,CAA0B9G,KAAvD;AACAkI,2BAAS,CAACO,SAAV,CAAoBJ,OAApB,IAA+Bb,OAAO,CAACV,iBAAR,CAA0B1C,EAAzD;AACD,iBAJD,MAIO;AACL8D,2BAAS,CAACO,SAAV,CAAoBH,KAApB,IAA6Bd,OAAO,CAACV,iBAAR,CAA0B3C,GAAvD;AACA+D,2BAAS,CAACO,SAAV,CAAoBF,OAApB,IAA+Bf,OAAO,CAACV,iBAAR,CAA0B9G,KAAzD;AACAkI,2BAAS,CAACO,SAAV,CAAoBD,SAApB,IAAiChB,OAAO,CAACV,iBAAR,CAA0B1C,EAA3D;AACD;AACF;AACF;AACF,WArCD;AAuCA,iBAAO8D,SAAP;AACD;;;8CAEqBQ,K,EAAU;AAAA;;AAC9B,eAAKrL,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,mBADH;AAEJC,qBAAO,EAAE,2DAFL;AAGJC,gBAAE,EAAE,cAAM;AACR,sBAAI,CAAC5F,qBAAL,CAA2B6F,MAA3B,CAAkCN,KAAlC,EAAyC,CAAzC;;AACA,sBAAI,CAACpI,yBAAL,CAA+ByH,IAA/B,CAAoC;AAAErI,sBAAI,EAAE,MAAF,OAAE,CAAF,EAAE,EAAK,MAAI,CAACyD,qBAAL,CAA2BuF,KAA3B,CAAL,CAAR;AAAkDV,sBAAI,EAAE;AAAxD,iBAApC,EAFQ,CAE0F;;AACnG;AANG;AAH6B,WAArC;AAYD;;;gCAEOU,K,EAAa;AACnB,eAAK3H,IAAL,GAAY2H,KAAZ;AACD;;;mCAEO;AACN,eAAK3H,IAAL;AACD;;;mCAEO;AACN,eAAKA,IAAL;AACD;;;wCAEekI,O,EAAe;AAC7B,eAAK3L,QAAL,CAAcgC,IAAd,CAAmB2J,OAAnB,EAA4B,IAA5B,EAAkC;AAChC1J,oBAAQ,EAAE;AADsB,WAAlC;AAGD;;;wCAEe;AACd,cAAI,KAAKkB,qBAAL,CAA2B+D,EAA3B,KAAkC,gBAAtC,EAAwD;AACtD,iBAAK/D,qBAAL,CAA2BiE,GAA3B,GAAiC,CAAjC;AACD;;AACD,cAAI,KAAKjE,qBAAL,CAA2ByD,GAA3B,KAAmC,UAAvC,EAAmD;AACjD,iBAAKzD,qBAAL,CAA2BgE,SAA3B,GAAuC,KAAvC;AACD;AACF;;;8CAEqB;AACpB,cAAI,KAAKxD,eAAL,KAAyB,KAA7B,EAAoC;AAClC,iBAAKR,qBAAL,CAA2ByI,mBAA3B,GAAiD,IAAjD;AACD,WAFD,MAEO;AACL,iBAAKzI,qBAAL,CAA2ByI,mBAA3B,GAAiD,IAAjD;AACD;;AAED,cAAI,KAAK/H,kBAAL,KAA4B,KAAhC,EAAuC;AACrC,iBAAKV,qBAAL,CAA2BmE,SAA3B,GAAuC,IAAvC;AACD,WAFD,MAEO;AACL,iBAAKnE,qBAAL,CAA2BmE,SAA3B,GAAuC,IAAvC;AACD;AACF;;;2CAEkB;AAAA;;AACjB,cAAI,KAAK1D,eAAL,KAAyB,KAA7B,EAAoC;AAClC,gBAAMkE,CAAC,GAAG,KAAK/H,MAAL,CAAYiC,IAAZ,CAAiB,+GAAjB,EAA4C;AACpDqJ,yBAAW,EAAE,IADuC;AAEpDC,0BAAY,EAAE,KAFsC;AAGpDlJ,kBAAI,EAAE;AACJmJ,qBAAK,EAAE,mBADH;AAEJE,kBAAE,EAAE,cAAM;AACR,yBAAI,CAAC7H,eAAL,GAAuB,KAAvB;AACA,yBAAI,CAACT,qBAAL,CAA2BkE,MAA3B,GAAoC,IAApC;;AACA,yBAAI,CAACZ,oBAAL;AACD,iBANG;AAOJoF,sBAAM,EAAE,kBAAM;AACZ,yBAAI,CAACjI,eAAL,GAAuB,IAAvB;AACA,yBAAI,CAACT,qBAAL,CAA2BkE,MAA3B,GAAoC,IAApC;;AACA,yBAAI,CAACZ,oBAAL;AACD;AAXG;AAH8C,aAA5C,CAAV;AAiBAqB,aAAC,CAACgE,WAAF,GACCvM,SADD,CACW,UAAAwM,MAAM,EAAI,CAAE,CADvB;AAGD,WArBD,MAqBO;AACL,iBAAKnI,eAAL,GAAuB,IAAvB;AACA,iBAAKT,qBAAL,CAA2BkE,MAA3B,GAAoC,IAApC;AACA,iBAAKZ,oBAAL;AACD;AACF;;;iDAEwBrE,I,EAAW;AAClCA,cAAI,CAAC+H,UAAL,GAAkB,CAAC/H,IAAI,CAAC+H,UAAxB;AACA,eAAKpH,kBAAL,CAAwB0H,IAAxB,CAA6B;AAAEC,gBAAI,EAAE,CAAR;AAAWN,gBAAI,EAAEhI,IAAI,CAACgI,IAAtB;AAA4B4B,kBAAM,EAAE5J,IAAI,CAAC+H;AAAzC,WAA7B;AACD;;;6CAEoBC,I,EAAc;AACjC,eAAKvE,qBAAL,GAA6B,KAAKA,qBAAL,CAA2BtE,GAA3B,CAA+B,UAAC0K,IAAD,EAAU;AACpE,gBAAIA,IAAI,CAAC7B,IAAL,KAAcA,IAAlB,EAAwB;AAAE6B,kBAAI,CAAC9B,UAAL,GAAkB,KAAlB;AAA0B;;AACpD,mBAAO8B,IAAP;AACD,WAH4B,CAA7B;AAID;;;oCAEQ;AAAA;;AACP,cAAMnE,CAAC,GAAG,KAAK/H,MAAL,CAAYiC,IAAZ,CAAiB,qFAAjB,EAAiC;AACzCqJ,uBAAW,EAAE,IAD4B;AAEzCC,wBAAY,EAAE,KAF2B;AAGzClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE;AADH;AAHmC,WAAjC,CAAV;AAQAzD,WAAC,CAACgE,WAAF,GAAgBvM,SAAhB,CAA0B,UAAAwM,MAAM,EAAI;AAClC,gBAAIA,MAAJ,EAAY;AACV,qBAAI,CAACG,gBAAL;;AACA,qBAAI,CAAClI,YAAL,GAAoB;AAClBmI,6BAAa,EAAE,OAAI,CAAC/I,cADF;AAElBgJ,qBAAK,EAAEL,MAAM,CAACM,KAFI;AAGlB/K,oBAAI,EAAEyK,MAAM,CAACO,IAHK;AAIlBC,sBAAM,EAAER,MAAM,CAACS;AAJG,eAApB;;AAOA,qBAAI,CAACxO,OAAL,CAAayO,kCAAb,CAAgD,OAAI,CAACzI,YAArD,EAAmEzE,SAAnE,CACE,UAAAC,QAAQ,EAAI;AACV,uBAAI,CAACa,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,8BAAnB,EAAmD,IAAnD,EAAyD;AACvDC,0BAAQ,EAAE;AAD6C,iBAAzD;AAGD,eANH,EAOE,UAAAxC,KAAK,EAAI;AACP,uBAAI,CAACY,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,oDAAmDvC,KAAtE,EAA6E,IAA7E,EAAmF;AACjFwC,0BAAQ,EAAE;AADuE,iBAAnF;AAGD,eAZH;AAeD;AACF,WA1BD;AA2BD;;;2CAEkB;AAAA;;AACjB,eAAKmB,cAAL,GAAsB,IAAI,yEAAJ,EAAtB;AACA,cAAMsJ,SAAS,GAAG,KAAKC,SAAL,EAAlB;AACA,cAAMC,OAAO,GAAG,IAAI,wDAAJ,EAAhB;;AACA,cAAMC,YAAY,GAAG,IAAI,oEAAJ,EAArB;;AACE,eAAKhH,qBAAL,CAA2BoE,OAA3B,CAAmC,UAACC,OAAD,EAAa;AAC9C,gBAAM4C,SAAS,GAAG,IAAI,+DAAJ,EAAlB;AACAA,qBAAS,CAACC,aAAV,CAAwBC,eAAxB,GAA0C,EAA1C;AACAH,wBAAY,CAACI,UAAb,GAA0B/C,OAAO,CAACV,iBAAR,CAA0B5C,GAApD;AACAiG,wBAAY,CAACK,QAAb,GAAwB,CAAxB;AACAJ,qBAAS,CAACC,aAAV,CAAwBC,eAAxB,CAAwCrC,IAAxC,CAA6CkC,YAA7C;AACAC,qBAAS,CAACxN,EAAV,GAAe4K,OAAO,CAACE,IAAvB;AACA0C,qBAAS,CAACC,aAAV,CAAwBrK,KAAxB,CAA8ByK,KAA9B,GAAsCjD,OAAO,CAACV,iBAAR,CAA0B9G,KAAhE;AACAkK,mBAAO,CAACQ,QAAR,GAAmBlD,OAAO,CAACV,iBAAR,CAA0BzC,IAA7C;AACA6F,mBAAO,CAACS,IAAR,GAAenD,OAAO,CAACV,iBAAR,CAA0B1C,EAAzC;AACAgG,qBAAS,CAACC,aAAV,CAAwBO,cAAxB,GAAyC,CAACV,OAAD,CAAzC;AACAE,qBAAS,CAACC,aAAV,CAAwBQ,QAAxB,GAAmChH,QAAQ,CAAC2D,OAAO,CAACV,iBAAR,CAA0BhC,eAA3B,EAA4C,EAA5C,CAA3C;AACAsF,qBAAS,CAACC,aAAV,CAAwBrK,KAAxB,CAA8ByK,KAA9B,GAAsCjD,OAAO,CAACV,iBAAR,CAA0B9G,KAAhE;AACAoK,qBAAS,CAACC,aAAV,CAAwBlG,GAAxB,CAA4BsG,KAA5B,GAAoCjD,OAAO,CAACV,iBAAR,CAA0B3C,GAA9D;AACAiG,qBAAS,CAACC,aAAV,CAAwBS,OAAxB,CAAgCxG,QAAhC,GAA2CkD,OAAO,CAACV,iBAAR,CAA0BxC,QAArE;AACA8F,qBAAS,CAACC,aAAV,CAAwBU,eAAxB,CAAwCC,EAAxC,GAA6CxD,OAAO,CAACV,iBAAR,CAA0BtC,EAAvE;AACA4F,qBAAS,CAACC,aAAV,CAAwBY,QAAxB,GAAmCzD,OAAO,CAACV,iBAAR,CAA0BrC,SAA7D;AACA2F,qBAAS,CAACC,aAAV,CAAwBa,WAAxB,GAAsC1D,OAAO,CAAC5I,IAA9C;AACAwL,qBAAS,CAACC,aAAV,CAAwBhE,IAAxB,CAA6Bc,KAA7B,GAAqCK,OAAO,CAACnB,IAAR,CAAac,KAAlD;AACAiD,qBAAS,CAACC,aAAV,CAAwBhE,IAAxB,CAA6BW,IAA7B,GAAoCQ,OAAO,CAACnB,IAAR,CAAaW,IAAjD;AACAoD,qBAAS,CAACC,aAAV,CAAwBhE,IAAxB,CAA6Be,MAA7B,GAAsCI,OAAO,CAACnB,IAAR,CAAae,MAAnD;AACAgD,qBAAS,CAACC,aAAV,CAAwBhE,IAAxB,CAA6Ba,KAA7B,GAAqCM,OAAO,CAACnB,IAAR,CAAaa,KAAlD;AACAkD,qBAAS,CAACC,aAAV,CAAwBhE,IAAxB,CAA6BE,GAA7B,GAAmCiB,OAAO,CAACnB,IAAR,CAAaE,GAAhD;AACA6D,qBAAS,CAACC,aAAV,CAAwBhE,IAAxB,CAA6BO,WAA7B,GAA2CY,OAAO,CAACnB,IAAR,CAAaE,GAAxD;;AACA,gBAAIiB,OAAO,CAACV,iBAAR,CAA0BpC,GAA1B,GAAgC,CAApC,EAAuC;AACrC,kBAAMyG,kBAAkB,GAAG,IAAI,oEAAJ,EAA3B;;AACAA,gCAAkB,CAACZ,UAAnB,GAAgC,KAAhC;AACAY,gCAAkB,CAACX,QAAnB,GAA8BhD,OAAO,CAACV,iBAAR,CAA0BpC,GAAxD;AACA0F,uBAAS,CAACC,aAAV,CAAwBC,eAAxB,CAAwCrC,IAAxC,CAA6CkD,kBAA7C;AACD;;AACD,gBAAI3D,OAAO,CAACV,iBAAR,CAA0BrC,SAA1B,KAAwC,KAA5C,EAAmD;AACjD,kBAAM2G,iBAAiB,GAAG,IAAI,oEAAJ,EAA1B;;AACAA,+BAAiB,CAACb,UAAlB,GAA+B,KAA/B;AACAa,+BAAiB,CAACZ,QAAlB,GAA6B,CAA7B;AACAJ,uBAAS,CAACC,aAAV,CAAwBC,eAAxB,CAAwCrC,IAAxC,CAA6CmD,iBAA7C;AACD;;AACD,gBAAI5D,OAAO,CAACV,iBAAR,CAA0BjC,MAA1B,KAAqC,KAAzC,EAAgD;AAC9C,kBAAMuG,kBAAiB,GAAG,IAAI,oEAAJ,EAA1B;;AACAA,gCAAiB,CAACb,UAAlB,GAA+B,aAAa/C,OAAO,CAACV,iBAAR,CAA0BjC,MAAtE;AACAuG,gCAAiB,CAACZ,QAAlB,GAA6B,CAA7B;AACAJ,uBAAS,CAACC,aAAV,CAAwBC,eAAxB,CAAwCrC,IAAxC,CAA6CmD,kBAA7C;AACD;;AACD,gBAAI5D,OAAO,CAACV,iBAAR,CAA0BnC,MAA1B,KAAqC,IAAzC,EAA+C;AAC7C,kBAAMyG,kBAAiB,GAAG,IAAI,oEAAJ,EAA1B;;AACAA,gCAAiB,CAACb,UAAlB,GAA+B,aAAa/C,OAAO,CAACV,iBAAR,CAA0BnC,MAAtE;AACAyG,gCAAiB,CAACZ,QAAlB,GAA6B,CAA7B;AACAJ,uBAAS,CAACC,aAAV,CAAwBC,eAAxB,CAAwCrC,IAAxC,CAA6CmD,kBAA7C;AACD;;AACD,gBAAI5D,OAAO,CAACV,iBAAR,CAA0BlC,SAA1B,KAAwC,IAA5C,EAAkD;AAChD,kBAAMyG,wBAAwB,GAAG,IAAI,oEAAJ,EAAjC;;AACAA,sCAAwB,CAACd,UAAzB,GAAsC,QAAQ/C,OAAO,CAACV,iBAAR,CAA0BlC,SAAxE;AACAyG,sCAAwB,CAACb,QAAzB,GAAoC,CAApC;AACAJ,uBAAS,CAACC,aAAV,CAAwBC,eAAxB,CAAwCrC,IAAxC,CAA6CoD,wBAA7C;AACD;;AACC,mBAAI,CAAC3K,cAAL,CAAoB4K,kBAApB,CAAuCrD,IAAvC,CAA4CmC,SAA5C;AACH,WAvDD;AAwDF,eAAK1J,cAAL,CAAoB6K,eAApB,GAAsCvB,SAAtC;AACD;;;+CAEsBtK,I,EAAW;AAEhC,eAAKyD,qBAAL,GAA6BzD,IAA7B;AACD;;;yCAEgB;AAAA;;AACf,cAAM0F,CAAC,GAAG,KAAK/H,MAAL,CAAYiC,IAAZ,CAAiB,qHAAjB,EAAiD;AACzDqJ,uBAAW,EAAE,IAD4C;AAEzDC,wBAAY,EAAE,KAF2C;AAGzDlJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,eADH;AAEJ3K,mBAAK,EAAG,KAAKqF,oBAAL,CAA0B8C,IAA1B,CAA+BE,GAFnC;AAGJwC,gBAAE,EAAE,YAACjM,QAAD,EAAc;AAChB,uBAAI,CAAC2D,qBAAL,CAA2B4F,IAA3B,CAAgCE,GAAhC,GAAuCzJ,QAAQ,CAACoB,KAAhD;AACA,uBAAI,CAACuC,qBAAL,CAA2BmF,OAA3B,GAAsC,IAAtC;;AACA,uBAAI,CAACC,SAAL,CAAe,IAAf;AACD;AAPG;AAHmD,WAAjD,CAAV;AAcAT,WAAC,CAACgE,WAAF,GAAgBvM,SAAhB,CAA0B,UAAAwM,MAAM,EAAI;AAClC,gBAAIA,MAAJ,EAAY;AACV;AACD;AACF,WAJD;AAKD;;;yCAEgB;AAAA;;AACf,cAAMjE,CAAC,GAAG,KAAK/H,MAAL,CAAYiC,IAAZ,CAAiB,sHAAjB,EAAgD;AACxDqJ,uBAAW,EAAE,IAD2C;AAExDC,wBAAY,EAAE,KAF0C;AAGxDlJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,oBADH;AAEJ2C,0BAAY,EAAG,KAAK7K,WAAL,CAAiB6K;AAF5B;AAHkD,WAAhD,CAAV;AAQApG,WAAC,CAACgE,WAAF,GAAgBvM,SAAhB,CAA0B,UAAAwM,MAAM,EAAI;AAClC,gBAAIA,MAAJ,EAAY;AACV,qBAAI,CAACoC,eAAL,CAAqBpC,MAArB;AACD;AACF,WAJD;AAKD;;;4CAEmB;AAClB,cAAK,KAAK1I,WAAL,CAAiB/D,EAAjB,KAAyB,KAAK0G,aAAnC,EAAmD;AAChD,iBAAK3C,WAAL,CAAiB+K,QAAjB,GAA6B,KAAKpI,aAAlC;AACF,WAFD,MAEO;AACL,iBAAK3C,WAAL,CAAiB+K,QAAjB,GAA6B,IAA7B;AACD;AACF;;;wCAGgBxN,K,EAAY;AAAA;;AAC3B,eAAKyC,WAAL,CAAiB/B,IAAjB,GAAyBV,KAAK,CAACU,IAA/B;AACA,eAAK+B,WAAL,CAAiB6K,YAAjB,GAAiC,OAAOtN,KAAK,CAACyN,QAAb,KAA0B,QAA3B,GAAwCzN,KAAK,CAACyN,QAAN,CAAe/M,IAAvD,GAA8DV,KAAK,CAACyN,QAApG;AACA,eAAKhL,WAAL,CAAiBiL,UAAjB,GAA+B,OAAO1N,KAAK,CAACyN,QAAb,KAA0B,QAA3B,GAAuCzN,KAAK,CAACyN,QAAN,CAAe/O,EAAtD,GAA2D,IAAzF;AACA,eAAK+D,WAAL,CAAiBkL,WAAjB,GAA+B3N,KAAK,CAAC2N,WAArC;AACA,eAAKlL,WAAL,CAAiB/D,EAAjB,GAAsB,IAAtB;AACA,eAAK+D,WAAL,CAAiB2K,kBAAjB,GAAsC,KAAKnI,qBAA3C;AACA,eAAK7H,OAAL,CAAawQ,eAAb,CAA6B,KAAKnL,WAAlC,EAA+C9D,SAA/C,CACE,UAAAC,QAAQ,EAAI;AACV,mBAAI,CAACa,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,mCAAnB,EAAwD,IAAxD,EAA8D;AAC5DC,sBAAQ,EAAE;AADkD,aAA9D;AAGD,WANH,EAOE,UAAAxC,KAAK,EAAI;AACP,mBAAI,CAACY,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,iDAAnB,EAAsE,IAAtE,EAA4E;AAC1EC,sBAAQ,EAAE;AADgE,aAA5E;AAGD,WAZH;AAcD;;;qCAEY;AAAA;;AACX,cAAI,KAAK0K,SAAL,GAAiB1D,GAAjB,GAAuB,CAA3B,EAA8B;AAC5B,iBAAKlJ,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCI,kBAAI,EAAE;AACJmJ,qBAAK,EAAE,eADH;AAEJC,uBAAO,EAAE,qFAFL;AAGJC,kBAAE,EAAE;AAAA,yBAAM,OAAI,CAAC7I,MAAL,CAAY6L,aAAZ,CAA0B,yBAA1B,CAAN;AAAA;AAHA,eAD6B;AAMnCnD,0BAAY,EAAE;AANqB,aAArC;AAQD,WATD,MASO;AACL,iBAAK1I,MAAL,CAAY6L,aAAZ,CAA0B,yBAA1B;AACD;AACF;;;2CAEkBzI,a,EAAuB;AAAA;;AACxC,eAAK3F,OAAL,GAAgB,IAAhB;AACC,eAAKrC,OAAL,CAAawI,kBAAb,CAAgCR,aAAhC,EAA+CzG,SAA/C,CAAyD,UAACmP,eAAD,EAAqC;AAC5F,mBAAI,CAACrL,WAAL,GAAmBqL,eAAnB;AACA,mBAAI,CAAC7I,qBAAL,GAA8B,OAAI,CAACxC,WAAL,CAAiB2K,kBAA/C;AACC,mBAAI,CAAC3N,OAAL,GAAgB,KAAhB;AACF,WAJD,EAKE,UAAMZ,KAAN,EAAoC;AACpC,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,2DAAnB,EAAgFvC,KAAK,CAACA,KAAtF,EAA6F;AAC3FwC,sBAAQ,EAAE;AADiF,aAA7F;AAGD,WATD;AAWH;;;2CAEkB;AAAA;;AAClB,cAAI,KAAKkB,qBAAL,CAA2ByD,GAA3B,KAAmC,UAAnC,IAAiD,KAAKzD,qBAAL,CAA2ByD,GAA3B,KAAmC,KAAxF,EAA+F;AAC5F,iBAAKlB,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBmC,MAAtB,CAA6B,UAAA8G,CAAC;AAAA,qBAAIpI,QAAQ,CAACoI,CAAC,CAACrN,IAAH,CAAR,IAAqB,IAArB,IAA6BiF,QAAQ,CAACoI,CAAC,CAACrN,IAAH,CAAR,KAAqB,IAAlD,IAA0DiF,QAAQ,CAACoI,CAAC,CAACrN,IAAH,CAAR,KAAqB,KAAnF;AAAA,aAA9B,CAAxB;AACA,iBAAK6B,qBAAL,CAA2B4D,IAA3B,GAAkC,IAAlC;AACA,iBAAKwB,SAAL;AACJ,WAJC,MAIK;AACF,iBAAKvK,OAAL,CAAa+L,6BAAb,CAA2C,yBAA3C,EAAsExK,SAAtE,CACE,UAACC,QAAD,EAAc;AACZ,qBAAI,CAACkG,gBAAL,GAAwBlG,QAAxB;AACA,qBAAI,CAAC2D,qBAAL,CAA2B4D,IAA3B,GAAkC,IAAlC;;AACA,qBAAI,CAACwB,SAAL;AACD,aALH;AAOH;AACD;;;0CAEiB;AAAA;;AAChB,cAAI,KAAKpF,qBAAL,CAA2B+D,EAA3B,KAAkC,gBAAtC,EAAwD;AACtD,iBAAK/D,qBAAL,CAA2BgE,SAA3B,GAAuC,KAAvC;AACA,iBAAKnJ,OAAL,CAAa+L,6BAAb,CAA2C,6BAA3C,EACCxK,SADD,CAEE,UAACC,QAAD,EAAc;AACZ,qBAAI,CAACwF,MAAL,GAAcxF,QAAd;AACD,aAJH;AAOD,WATD,MASO;AACL,iBAAK2D,qBAAL,CAA2BgE,SAA3B,GAAuC,KAAvC;AACA,iBAAKnC,MAAL,GAAc,KAAKA,MAAL,CAAY6C,MAAZ,CAAmB,UAAA8G,CAAC;AAAA,qBAAIA,CAAC,CAACP,QAAF,KAAe,IAAnB;AAAA,aAApB,CAAd;AACD;AACF;;;wCAIe;AACf,cAAI,KAAKjL,qBAAL,CAA2B2D,EAA3B,GAAgC,IAAhC,IAAwC,KAAK7C,WAAjD,EAA8D;AAC5D,iBAAKA,WAAL,GAAmB,KAAnB;AACA,iBAAKjE,QAAL,CAAcgC,IAAd,CAAmB,gGAAnB,EAAqH,IAArH,EAA2H;AACzHC,sBAAQ,EAAE;AAD+G,aAA3H;AAGD;AACD;;;mCAGU;AACP,eAAKlC,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCI,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,eADH;AAEJC,qBAAO,EAAE,kFAFL;AAGJC,gBAAE,EAAE;AAAA,uBAAMnJ,OAAO,CAACC,GAAR,CAAY,IAAZ,CAAN;AAAA;AAHA,aAD6B;AAMnC+I,wBAAY,EAAE;AANqB,WAArC;AAQH;;;2CAGe;AAEd,eAAKvL,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCI,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,eADH;AAEJC,qBAAO,EAAE,mEAFL;AAGJC,gBAAE,EAAE;AAAA,uBAAMnJ,OAAO,CAACC,GAAR,CAAY,IAAZ,CAAN;AAAA;AAHA,aAD6B;AAMnC+I,wBAAY,EAAE;AANqB,WAArC;AASD;;;;;;;uBA7sBY3I,8B,EAA8B,uH,EAAA,+H,EAAA,2H,EAAA,uI,EAAA,yI,EAAA,oI;AAAA,K;;;YAA9BA,8B;AAA8B,kD;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,+hO;AAAA;AAAA;ACzB3C;;AACE;;AACE;;AACE;;AACE;;AACA;;AACE;;AACE;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA2C;;AAAI;;AAC/C;;AACE;;AACE;;AAAW;;AAAG;;AACd;;AACE;AAAA;AAAA,aAAuC,iBAAvC,EAAuC;AAAA,mBAAoB,IAAAiM,gBAAA,EAApB;AAAsC,WAA7E;;AACA;;AAGF;;AACF;;AACF;;AACF;;AACF;;AACA;;AAqBF;;AACA;;AACE;;AACE;;AACE;;AAA2C;;AAA2B;;AACtE;;AACE;;AACE;;AACE;;AAAW;;AAAK;;AAChB;;AACE;AAAA;AAAA,aAAyC,iBAAzC,EAAyC;AAAA,mBAAoB,IAAArG,SAAA,EAApB;AAA+B,WAAxE;;AAEA;;AAEF;;AACF;;AACA;;AACE;;AAAW;;AAAG;;AACd;;AACE;AAAA;AAAA,aAAuC,iBAAvC,EAAuC;AAAA,mBAAoB,IAAAA,SAAA,EAApB;AAA+B,WAAtE;;AACA;;AAEF;;AACF;;AACA;;AACE;;AAAW;;AAAQ;;AACnB;;AACE;AAAA;AAAA,aAA4C,iBAA5C,EAA4C;AAAA,mBAAoB,IAAAA,SAAA,EAApB;AAA+B,WAA3E;;AAEA;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA2C;;AAAc;;AACzD;;AACE;;AACE;;AACE;;AAAW;;AAAE;;AACb;;AACE;AAAA;AAAA,aAAsC,iBAAtC,EAAsC;AAAsB;AAAe,mBAAE,eAAF;AAAa,WAAxF;;AAEA;;AAEF;;AACF;;AACA;;AACE;;AAAW;;AAAI;;AACf;;AACE;AAAA;AAAA,aAAwC,iBAAxC,EAAwC;AAAA,mBAAoB,IAAAA,SAAA,EAApB;AAA+B,WAAvE;;AAEA;;AAEF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AA2BA;;AACE;;AACA;;AAAkD;;AAAQ;;AAAU;;AAAU;;AAC9E;;AACA;;AACF;;AACE;;AACE;;AAAiF;;AAAS;;AAC5F;;AACF;;AACF;;AACF;;AACA;;AACE;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA2C;;AAAwB;;AACnE;;AACE;;AACE;;AACE;;AAAW;;AAAE;;AACb;;AACE;AAAA;AAAA,aAAsC,iBAAtC,EAAsC;AAAoB,gBAAAsG,eAAA;AAAmB,uBAAAtG,SAAA;AAAW,WAAxF;;AACA;;AAEF;;AACF;;AACA;;AAUF;;AACA;;AACE;;AAUA;;AACE;;AACE;;AACE;;AACE;;AAAyB;;AAAiB;;AAC5C;;AACA;;AACE;;AACE;;AAAyB;;AAAE;;AAC7B;;AACA;;AACE;;AACE;AAAA;AAAA,aAA6B,QAA7B,EAA6B;AAAA,mBAA6B,IAAAuG,gBAAA,EAA7B;AAA+C,WAA5E;;AACF;;AACF;;AACA;;AACE;;AAAyB;;AAAE;;AAC7B;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA2C;;AAA8C;;AACzF;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAyB;;AAAW;;AACtC;;AACA;;AACE;;AACE;;AAAyB;;AAAE;;AAC7B;;AACA;;AACE;;AAAsC;AAAA;AAAA,aAAgC,QAAhC,EAAgC;AAAA,mBACV,eADU;AACC,WADjC;;AAEtC;;AACF;;AACA;;AACE;;AAAyB;;AAAE;;AAC7B;;AACF;;AACF;;AACF;;AACF;;AACA;;AASF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAkD;;AAAQ;;AAAU;;AAAU;;AAC9E;;AACA;;AACF;;AACA;;AACE;;AAA0E;;AAAQ;;AAClF;;AAAsE;;AAAS;;AACjF;;AACF;;AACF;;AAEF;;AACF;;AACA;;AACE;;AACA;;AACE;;AAAW;;AAAuB;;AAClC;;AACoC;AAAA;AAAA,aAAmD,iBAAnD,EAAmD;AAAA,mBAClE,IAAAvG,SAAA,EADkE;AACvD,WADI;;AAElC;;AAEF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAqBF;;AAEA;;AACE;;AACE;;AAuBA;;AACE;;AACE;;AACA;;AACF;;AACA;;AACE;;AAA0E;;AAAQ;;AAClF;;AAAwG;AAAA,mBAAS,IAAAwG,2BAAA,EAAT;AAAsC,WAAtC;;AAAwC;;AAAuB;;AACzK;;AACF;;AACF;;AACH;;AACD;;AACA;;AACE;;AAiYF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAGA;;AAEE;;AACE;;AAIA;;AAGA;;AACE;;AAAuB;AAAA,mBAAS,IAAAC,iBAAA,EAAT;AAA4B,WAA5B;;AACvB;;AAAM;;AAAQ;;AACd;;AACA;;AAAsB;AAAA,mBAAS,IAAAC,cAAA,EAAT;AAAyB,WAAzB;;AACpB;;AAAM;;AAAY;;AACpB;;AACF;;AACA;;AAAuE;AAAA,mBAAS,IAAAC,UAAA,EAAT;AAAqB,WAArB;;AACnE;;AAAU;;AAAa;;AAC3B;;AACC;;AAAwE;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AACrE;;AAAU;;AAAK;;AACnB;;AACF;;AACA;;AACE;;AACE;;AACE;;AAEE;;AACA;;AACF;;AACA;;AAEE;;AACA;;AACF;;AACA;;AACE;;AAAkD;;AAAU;;AAC5D;;AAAkC;;;;AAA+F;;AACnI;;AACF;;AACF;;AACA;;AAkKA;;AACE;;AACF;;AACA;;AACE;;AACE;;AA2OF;;AACF;;AACA;;AACE;;AAQF;;AACA;;AAEF;;AACF;;AACF;;AACF;;;;AArrCY;;AAAA;;AACc;;AAAA;;AACM;;AAAA;;AACZ;;AAAA;;AAUgB;;AAAA,sGAA8B,SAA9B,EAA8B,6BAA9B;;AAEE;;AAAA;;AAQA;;AAAA;;AA8BA;;AAAA,sGAA8B,SAA9B,EAA8B,+BAA9B;;AAGE;;AAAA;;AAMF;;AAAA,sGAA8B,SAA9B,EAA8B,6BAA9B;;AAEE;;AAAA;;AAMF;;AAAA,sGAA8B,SAA9B,EAA8B,kCAA9B;;AAGE;;AAAA;;AAYI;;AAAA,sGAA8B,SAA9B,EAA8B,4BAA9B;;AAGE;;AAAA;;AAMF;;AAAA,sGAA8B,SAA9B,EAA8B,8BAA9B;;AAGE;;AAAA;;AAyCzB;;AAAA;;AACA;;AAAA;;AAQD;;AAAA;;AAWkB;;AAAA,sGAA8B,SAA9B,EAA8B,4BAA9B;;AAEE;;AAAA;;AAIA;;AAAA;;AAYA;;AAAA;;AAsBJ;;AAAA,mGAA6B,SAA7B,EAA6B,KAA7B;;AAgCoC;;AAAA,sGAAgC,SAAhC,EAAgC,KAAhC;;AAWyB;;AAAA;;AAkBxE;;AAAA;;AACA;;AAAA;;AAWL;;AAAA;;AAIM;;AAAA,sGAA8B,SAA9B,EAA8B,yCAA9B;;AAGE;;AAAA;;AAQoD;;AAAA;;AAyBjB;;AAAA;;AAyBjC;;AAAA;;AACA;;AAAA;;AAII;;AAAA;;AAOyB;;AAAA;;AA6Y1C;;AAAA;;AAIA;;AAAA;;AAuB+C;;AAAA;;AAClC;;AAAA;;AAIkC;;AAAA;;AACjC;;AAAA;;AAIiB;;AAAA;;AAItB;;AAAA;;AAuKC;;AAAA;;AA+Of;;AAAA;;;;;;;;;;sEDlpCCxM,8B,EAA8B;cAN1C,uDAM0C;eANhC;AACT3G,kBAAQ,EAAE,6BADD;AAETC,qBAAW,EAAE,0CAFJ;AAGTC,mBAAS,EAAE,CAAC,0CAAD;AAHF,S;AAMgC,Q;;;;;;;;;;;;;;;;gBAExC;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AE7BH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASa2M,wB,GAmBX,oCAAc;AAAA;;AACZ,WAAKjC,GAAL,GAAW,SAAX;AACA,WAAKlE,KAAL,GAAa,CAAb;AACA,WAAKmE,GAAL,GAAW,CAAX;AACA,WAAKC,EAAL,GAAU,GAAV;AACA,WAAKC,IAAL,GAAY,IAAZ;AACA,WAAKC,QAAL,GAAgB,CAAhB;AACA,WAAK4E,mBAAL,GAA2B,IAA3B;AACA,WAAK1E,EAAL,GAAU,gBAAV;AACA,WAAKC,SAAL,GAAiB,KAAjB;AACA,WAAKC,GAAL,GAAW,CAAX;AACA,WAAKC,MAAL,GAAc,IAAd;AACA,WAAKC,SAAL,GAAiB,WAAjB;AACA,WAAKC,MAAL,GAAc,KAAd;AACA,WAAKC,eAAL,GAAuB,IAAvB;AACA,WAAKG,QAAL,GAAiB,MAAjB;AACA,WAAKD,SAAL,GAAiB,MAAjB;AACA,WAAKqB,IAAL,GAAa,IAAI,uDAAJ,EAAb;AACA,WAAKT,OAAL,GAAgB,KAAhB;AACD,K;;QAGU8G,U,GA4CX,sBAAc;AAAA;;AACZ,WAAKC,WAAL,GAAmB,CAAnB;AACA,WAAKC,UAAL,GAAkB,CAAlB;AACA,WAAKC,SAAL,GAAiB,CAAjB;AACA,WAAKxI,IAAL,GAAY,CAAZ;AACA,WAAKyI,eAAL,GAAuB,CAAvB;AACA,WAAKC,aAAL,GAAqB,CAArB;AACA,WAAKC,QAAL,GAAgB,CAAhB;AACA,WAAKC,eAAL,GAAuB,CAAvB;AACA,WAAKvI,GAAL,GAAW,CAAX;AACA,WAAKwI,qBAAL,GAA6B,CAA7B;AACA,WAAKC,wBAAL,GAAgC,CAAhC;AACA,WAAKC,qBAAL,GAA6B,CAA7B;AACA,WAAKC,cAAL,GAAsB,CAAtB;AACA,WAAKC,UAAL,GAAkB,CAAlB;AACA,WAAKC,KAAL,GAAa,CAAb;AACA,WAAKC,cAAL,GAAsB,CAAtB;AACA,WAAK7I,MAAL,GAAc,CAAd;AACA,WAAK8I,OAAL,GAAe,CAAf;AACA,WAAKC,EAAL,GAAU,CAAV;AACA,WAAKjH,WAAL,GAAmB,CAAnB;AACA,WAAKQ,KAAL,GAAa,CAAb;AACA,WAAK0G,qBAAL,GAA6B,CAA7B;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKC,mBAAL,GAA2B,CAA3B;AACA,WAAKC,cAAL,GAAsB,CAAtB;AACA,WAAKC,yBAAL,GAAiC,CAAjC;AACA,WAAKC,uBAAL,GAA+B,CAA/B;AACA,WAAKC,kBAAL,GAA0B,CAA1B;AACA,WAAKC,yBAAL,GAAiC,CAAjC;AACA,WAAKC,aAAL,GAAqB,CAArB;AACA,WAAKC,+BAAL,GAAuC,CAAvC;AACA,WAAKC,kCAAL,GAA0C,CAA1C;AACA,WAAKC,+BAAL,GAAuC,CAAvC;AACA,WAAKC,wBAAL,GAAgC,CAAhC;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKC,eAAL,GAAuB,CAAvB;AACA,WAAKC,wBAAL,GAAgC,CAAhC;AACA,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACA,WAAKC,YAAL,GAAoB,CAApB;AACA,WAAKC,qBAAL,GAA6B,CAA7B;AACA,WAAKC,eAAL,GAAuB,CAAvB;AACD,K;;QAGUC,Y,GAeX,wBAAc;AAAA;;AACZ,WAAKC,aAAL,GAAqB,CAArB;AACA,WAAK9K,GAAL,GAAW,CAAX;AACA,WAAKkE,OAAL,GAAe,CAAf;AACA,WAAK6G,MAAL,GAAc,CAAd;AACA,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAK1B,OAAL,GAAe,CAAf;AACA,WAAKxG,KAAL,GAAa,CAAb;AACA,WAAKmI,uBAAL,GAA+B,CAA/B;AACA,WAAKC,aAAL,GAAqB,CAArB;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACA,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,0BAAL,GAAkC,CAAlC;AACA,WAAKZ,iBAAL,GAAyB,CAAzB;AACA,WAAKG,eAAL,GAAuB,CAAvB;AACD,K;;QAGUU,W,GAmBX,uBAAc;AAAA;;AACZ,WAAKC,mBAAL,GAA2B,CAA3B;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKC,MAAL,GAAc,CAAd;AACA,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,WAAL,GAAmB,CAAnB;AACA,WAAKvC,OAAL,GAAe,CAAf;AACA,WAAKxG,KAAL,GAAa,CAAb;AACA,WAAKgJ,6BAAL,GAAqC,CAArC;AACA,WAAKC,2BAAL,GAAmC,CAAnC;AACA,WAAKC,8BAAL,GAAsC,CAAtC;AACA,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,0BAAL,GAAkC,CAAlC;AACA,WAAKC,0BAAL,GAAkC,CAAlC;AACA,WAAKC,qBAAL,GAA6B,CAA7B;AACA,WAAK3B,iBAAL,GAAyB,CAAzB;AACA,WAAKG,eAAL,GAAuB,CAAvB;AACD,K;;QAGUyB,kB,GAKX,8BAAc;AAAA;;AACZ,WAAKC,cAAL,GAAsB,CAAtB;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACD,K;;QAGUC,uB,GAeX,mCAAc;AAAA;;AACZ,WAAKjS,IAAL,GAAa,EAAb;AACA,WAAKwH,UAAL,GAAkB,IAAlB;AACA,WAAKtF,YAAL,GAAoB,IAApB;AACA,WAAKD,WAAL,GAAmB,IAAnB;AACA,WAAKiQ,kBAAL,GAA0B,IAA1B;AACA,WAAKzK,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACA,WAAKS,iBAAL,GAAyB,IAAIX,wBAAJ,EAAzB;AACA,WAAKU,QAAL,GAAgB,KAAhB;AACA,WAAKH,gBAAL,GAAwB,IAAxB;AACD,K;;QAGUqK,iB;;;;;;;;;AAQX;sCACc;AACZ,eAAKnU,EAAL,GAAU,CAAV;AACA,eAAKgC,IAAL,GAAY,EAAZ;AACA,eAAK2L,UAAL,GAAkB,EAAlB;AACA,eAAKE,KAAL,GAAa,EAAb,CAJY,CAKZ;AACA;;AACC,eAAKiB,QAAL,GAAgB,IAAhB,CAPW,CAQZ;AACD;;;;;;QAGUsF,c,GAKX,0BAAc;AAAA;;AACZ,WAAKzG,UAAL,GAAkB,QAAlB;AACA,WAAKC,QAAL,GAAgB,CAAhB;AACA,WAAKyG,WAAL,GAAmB,CAAnB;AACA,WAAK5K,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGU6K,E,GAIX,cAAc;AAAA;;AACZ,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,iBAAL,GAAyB,IAAzB;AACA,WAAK/K,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGUgL,U,GAGX,sBAAc;AAAA;;AACZ,WAAKC,SAAL,GAAiB,CAAjB;AACA,WAAKjL,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGUrG,K,GAGX,iBAAc;AAAA;;AACZ,WAAKyK,KAAL,GAAa,CAAb;AACA,WAAKpE,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGUlC,G,GAGX,eAAc;AAAA;;AACZ,WAAKsG,KAAL,GAAa,CAAb;AACA,WAAKpE,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGU4E,Q,GAIX,oBAAc;AAAA;;AACZ,WAAK5E,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACA,WAAKzH,IAAL,GAAY,EAAZ;AACD,K;;QAGU2S,U,GAIX,sBAAc;AAAA;;AACZ,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKlN,QAAL,GAAgB,CAAhB;AACA,WAAK+B,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGU0E,e,GAGX,2BAAc;AAAA;;AACZ,WAAK1E,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACA,WAAK2E,EAAL,GAAU,EAAV;AACD,K;;QAGUmE,gB,GAGX,4BAAc;AAAA;;AACZ,WAAKsC,MAAL,GAAc,IAAd;AACA,WAAKpL,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGUqL,c,GAKX,0BAAc;AAAA;;AACZ,WAAKC,WAAL,GAAmB,EAAnB;AACA,WAAKV,WAAL,GAAmB,GAAnB;AACA,WAAK5K,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACD,K;;QAGUuL,gB,GAsBX,4BAAc;AAAA;;AACZ,WAAKhV,EAAL,GAAU,IAAV;AACA,WAAKiO,QAAL,GAAgB,IAAhB;AACA,WAAK7K,KAAL,GAAa,IAAIA,KAAJ,EAAb;AACA,WAAKmE,GAAL,GAAW,IAAIA,GAAJ,EAAX;AACA,WAAKkN,UAAL,GAAkB,IAAIA,UAAJ,EAAlB;AACA,WAAKQ,YAAL,GAAoB,IAAIX,EAAJ,EAApB;AACA,WAAKpG,OAAL,GAAe,IAAIyG,UAAJ,EAAf;AACA,WAAK3G,cAAL,GAAsB,CAAC,IAAIvC,OAAJ,EAAD,CAAtB;AACA,WAAK0C,eAAL,GAAuB,IAAIA,eAAJ,EAAvB;AACA,WAAKE,QAAL,GAAgB,IAAIA,QAAJ,EAAhB;AACA,WAAKC,WAAL,GAAmB,EAAnB;AACA,WAAK4G,YAAL,GAAoB,EAApB;AACA,WAAKC,UAAL,GAAkB,IAAlB;AACA,WAAKzH,eAAL,GAAuB,CAAC,IAAI0G,cAAJ,EAAD,CAAvB;AACA,WAAKgB,eAAL,GAAuB,CAAC,IAAIN,cAAJ,EAAD,CAAvB;AACA,WAAKO,UAAL,GAAkB,IAAI,uDAAJ,EAAlB;AACA,WAAK9C,gBAAL,GAAwB,IAAIA,gBAAJ,EAAxB;AACA,WAAK9I,IAAL,GAAY,IAAI,uDAAJ,EAAZ;AACA,WAAK6L,OAAL,GAAe,IAAf;AACA,WAAKC,SAAL,GAAiB,IAAjB;AACD,K;;QAIWC,mB,GAGb,+BAAc;AAAA;;AACZ,WAAKjK,SAAL,GAAiB,IAAIkK,cAAJ,EAAjB;AACA,WAAK5J,SAAL,GAAiB,IAAI4J,cAAJ,EAAjB;AACD,K;;QAKWA,c,GAUX,0BAAc;AAAA;;AACZ,WAAKC,cAAL,GAAsB,IAAtB;AACA,WAAKtS,KAAL,GAAa,CAAb;AACA,WAAKoI,GAAL,GAAW,CAAX;AACA,WAAKC,OAAL,GAAe,CAAf;AACA,WAAKkK,EAAL,GAAW,CAAX;AACA,WAAKhK,OAAL,GAAe,CAAf;AACA,WAAKD,KAAL,GAAa,CAAb;AACA,WAAKE,SAAL,GAAiB,CAAjB;AACA,WAAKnC,IAAL,GAAa,IAAI,uDAAJ,EAAb;AACD,K;;QAKUmM,S,GAMX,qBAAc;AAAA;;AACV,WAAK5V,EAAL,GAAU,EAAV;AACA,WAAKyN,aAAL,GAAqB,IAAI,oDAAJ,EAArB;AACA,WAAKoI,cAAL,GAAsB,IAAtB;AACA,WAAKC,cAAL,GAAsB,IAAtB;AACA,WAAKC,UAAL,GAAkB,EAAlB;AACH,K;;QAIUC,mB;;;;;;;;;qCAEE;AACV,eAAKtH,kBAAL,GAA2B,IAAIuH,KAAJ,EAA3B;AACF;;;;;;QAgBUC,Y,GAIX,wBAAc;AAAA;;AACZ,WAAKlW,EAAL,GAAU,EAAV;AACA,WAAKgC,IAAL,GAAY,EAAZ;AACD,K;;QAIUmU,c,GAaX,0BAAc;AAAA;;AACZ,WAAKnW,EAAL,GAAU,IAAV;AACA,WAAK8O,QAAL,GAAgB,IAAhB;AACA,WAAK9M,IAAL,GAAY,EAAZ;AACA,WAAKgN,UAAL,GAAkB,IAAlB;AACA,WAAKJ,YAAL,GAAoB,EAApB;AACA,WAAKK,WAAL,GAAoB,EAApB;AACA,WAAKP,kBAAL,GAA0B,IAAIuH,KAAJ,EAA1B;AACA,WAAKG,MAAL,GAAc,IAAd;AACA,WAAKC,IAAL,GAAY,IAAIA,IAAJ,EAAZ;AACA,WAAKC,iBAAL,GAAyB,CAAzB;AACA,WAAKC,OAAL,GAAe,IAAIN,KAAJ,EAAf;AACF,K;;QAGYO,mB,GAGV,+BAAc;AAAA;;AACb,WAAK9H,kBAAL,GAA0B,IAAKuH,KAAL,EAA1B;AACA,WAAKtH,eAAL,GAAuB,IAAI,uDAAJ,EAAvB;AACH,K;;;;;;;;;;;;;;;;;AC9hBF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAa8H,O,GAwBX,mBAAc;AAAA;;AACZ,WAAK5J,aAAL,GAAqB,IAArB;AACA,WAAK7M,EAAL,GAAU,IAAV;AACA,WAAKiO,QAAL,GAAgB,CAAhB;AACA,WAAK7K,KAAL,GAAa,IAAIA,KAAJ,EAAb;AACA,WAAKmE,GAAL,GAAW,IAAIA,GAAJ,EAAX;AACA,WAAKkN,UAAL,GAAkB,IAAIA,UAAJ,EAAlB;AACA,WAAKQ,YAAL,GAAoB,IAAIX,EAAJ,EAApB;AACA,WAAKpG,OAAL,GAAe,IAAIyG,UAAJ,EAAf;AACA,WAAK3G,cAAL,GAAsB,CAAC,IAAIvC,OAAJ,EAAD,CAAtB;AACA,WAAK0C,eAAL,GAAuB,IAAIA,eAAJ,EAAvB;AACA,WAAKE,QAAL,GAAgB,IAAIA,QAAJ,EAAhB;AACA,WAAKC,WAAL,GAAmB,IAAnB;AACA,WAAK4G,YAAL,GAAoB,EAApB;AACA,WAAKC,UAAL,GAAkB,IAAlB;AACA,WAAKzH,eAAL,GAAuB,EAAvB;AACA,WAAK0H,eAAL,GAAuB,EAAvB;AACA,WAAK3L,IAAL,GAAY,IAAIsM,UAAJ,EAAZ;AACA,WAAKT,OAAL,GAAe,IAAf;AACA,WAAKC,SAAL,GAAiB,IAAjB;AACA,WAAKmB,WAAL,GAAmB,IAAnB;AACA,WAAKC,KAAL,GAAa,IAAb;AACD,K;;QAGGtI,Q,GAGJ,oBAAc;AAAA;;AACZ,WAAKuI,EAAL,GAAU,EAAV;AACA,WAAKnN,IAAL,GAAY,IAAIsM,UAAJ,EAAZ;AACD,K;;QAGUA,U,GAOX,sBAAc;AAAA;;AACZ,WAAKvL,MAAL,GAAc,CAAd;AACA,WAAKF,KAAL,GAAa,CAAb;AACA,WAAKC,KAAL,GAAa,CAAb;AACA,WAAKH,IAAL,GAAY,CAAZ;AACA,WAAKT,GAAL,GAAW,CAAX;AACA,WAAKK,WAAL,GAAmB,CAAnB;AACD,K;;QAIG2K,U,GAIJ,sBAAc;AAAA;;AACZ,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKlN,QAAL,GAAgB,CAAhB;AACA,WAAK+B,IAAL,GAAY,IAAIsM,UAAJ,EAAZ;AACD,K;;QAGGtB,U,GAGJ,sBAAc;AAAA;;AACZ,WAAKC,SAAL,GAAiB,CAAjB;AACA,WAAKjL,IAAL,GAAY,IAAIsM,UAAJ,EAAZ;AACD,K;;QAIGzB,E,GAIJ,cAAc;AAAA;;AACZ,WAAKC,gBAAL,GAAwB,CAAxB;AACA,WAAKC,iBAAL,GAAyB,IAAzB;AACA,WAAK/K,IAAL,GAAY,IAAIsM,UAAJ,EAAZ;AACD,K;;QAGG3S,K,GAEF;AAAA;;AACI,WAAKyK,KAAL,GAAW,CAAX;AACH,K;;QAGCtG,G,GAEF;AAAA;;AACI,WAAKsG,KAAL,GAAW,CAAX;AACH,K;;QAGQpC,O,GAIT;AAAA;;AACI,WAAKqC,QAAL,GAAgB,CAAhB;AACA,WAAKC,IAAL,GAAY,CAAZ;AACA,WAAK8I,MAAL,GAAc,IAAIA,MAAJ,EAAd;AACH,K;;QAGCA,M,GAEF;AAAA;;AACI,WAAKC,KAAL,GAAa,CAAb;AACH,K;;QAGC3I,e,GAEF,2BAAc;AAAA;;AACV,WAAKC,EAAL,GAAU,EAAV;AACH,K;;QAGQ2I,U,GAUT;AAAA;;AACI,WAAKxB,SAAL,GAAiB,IAAjB;AACA,WAAKnS,KAAL,GAAa,IAAb;AACA,WAAKmE,GAAL,GAAW,IAAX;AACA,WAAKyP,QAAL,GAAgB,IAAhB;AACA,WAAKvP,IAAL,GAAY,IAAZ;AACA,WAAK0G,eAAL,GAAuB,IAAvB;AACA,WAAK8I,gBAAL,GAAwB,IAAxB;AACA,WAAKC,OAAL,GAAe,IAAf;AACH,K;;;;;;;;;;;;;;;;;ACtKL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACYU;;AACC;;AAAiB;;;;QDDfC,8B;;;AAIX,8CAAoB1W,MAApB,EACkCqC,IADlC,EAEoBnE,IAFpB,EAGoB2E,MAHpB,EAIoB1C,WAJpB,EAI8C;AAAA;;AAJ1B,aAAAH,MAAA,GAAAA,MAAA;AACc,aAAAqC,IAAA,GAAAA,IAAA;AACd,aAAAnE,IAAA,GAAAA,IAAA;AACA,aAAA2E,MAAA,GAAAA,MAAA;AACA,aAAA1C,WAAA,GAAAA,WAAA;AAPpB,aAAAwW,QAAA,GAAgB,EAAhB;AAEA,aAAArW,OAAA,GAAU,KAAV;AAME,aAAKqW,QAAL,GAAgBtU,IAAhB;AACA,aAAKuU,cAAL,GAAsB,KAAKzW,WAAL,CAAiBS,KAAjB,CAAuB;AAC3CC,eAAK,EAAG,CAAC;AAACA,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAE;AAAtB,WAAD,EAA+B,CAAC,0DAAWC,QAAZ,EAAsB,2EAAoB8V,sBAA1C,CAA/B;AADmC,SAAvB,CAAtB;AAID;;;;mCAEU;AACT,cAAI,CAAC,KAAK3Y,IAAL,CAAU4Y,eAAV,EAAL,EAAkC;AAChC,iBAAKjU,MAAL,CAAYkU,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA,mBAAO,KAAP;AACD;AACF;;;oCAEW;AACV,cAAG,KAAKH,cAAL,CAAoBI,KAAvB,EAA6B;AAC3B,iBAAKC,OAAL;AACD;AACF;;;kCAEM;AACL,eAAKjX,MAAL,CAAYgC,KAAZ;AACA,eAAKK,IAAL,CAAUqJ,EAAV,CAAa,KAAKrJ,IAAlB;AACD;;;sCACU;AACP,eAAKrC,MAAL,CAAYgC,KAAZ;AACH;;;;;;;uBAnCU0U,8B,EAA8B,sI,EAAA,gEAK/B,wEAL+B,C,EAKhB,wI,EAAA,uH,EAAA,2H;AAAA,K;;;YALdA,8B;AAA8B,4C;AAAA,e;AAAA,a;AAAA,gmB;AAAA;AAAA;ACZ3C;;AACE;;AACE;;AACE;;AAAsB;;AAAc;;AACpC;;AAAqC;AAAA,mBAAS,IAAAQ,WAAA,EAAT;AAAsB,WAAtB;;AACnC;;AAAU;;AAAK;;AACjB;;AACF;;AACA;;AAA8C;AAAA,mBAAY,IAAAC,SAAA,EAAZ;AAAuB,WAAvB;;AAC5C;;AACE;;AACE;;AAA0C;AAAA;AAAA;;AAA1C;;AACA;;AAEF;;AACF;;AACA;;AACE;;AAAoE;;AAAO;;AAC3E;;AAA+D;;AAAQ;;AAEzE;;AACF;;AACF;;AACF;;;;AApB4B;;AAAA;;AAKlB;;AAAA;;AAG0C;;AAAA;;AACrC;;AAAA;;;;;;;;;sEDAFT,8B,EAA8B;cAL1C,uDAK0C;eALhC;AACTza,kBAAQ,EAAE,uBADD;AAETC,qBAAW,EAAE,2CAFJ;AAGTC,mBAAS,EAAE,CAAC,0CAAD;AAHF,S;AAKgC,Q;;;;;;kBAKtC,oD;mBAAO,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;AEjBZ;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACagC;;AACA;;AACI;;AAAM;;;;AAA6B;;AAAQ;;AAC3C;;AAAO;;AAAyB;;AACpC;;AACA;;;;;;AAL8D;;AAEpD;;AAAA;;AACC;;AAAA,kGAAAkQ,KAAA;;;;;;AAIf;;AAA+H;;AAAI;;;;;;AACnI;;AAAgI;;AAAK;;;;;;;;AAkB7I;;AAAgD;AAAA;;AAAA;;AAAA;AAAA;;AAA4D;;AAAQ;;;;QDvB3H+K,6B;;;AAOT,6CACW9U,SADX,EAGWD,IAHX,EAIYpE,OAJZ,EAKWgC,QALX,EAMW/B,IANX,EAOYiC,WAPZ,EAQYkX,cARZ,EAQ6C;AAAA;;AAPlC,aAAA/U,SAAA,GAAAA,SAAA;AAEA,aAAAD,IAAA,GAAAA,IAAA;AACC,aAAApE,OAAA,GAAAA,OAAA;AACD,aAAAgC,QAAA,GAAAA,QAAA;AACA,aAAA/B,IAAA,GAAAA,IAAA;AACC,aAAAiC,WAAA,GAAAA,WAAA;AACA,aAAAkX,cAAA,GAAAA,cAAA;AAdZ,aAAA/W,OAAA,GAAU,KAAV;AAIA,aAAAgX,YAAA,GAAe,EAAf;AACO,aAAAC,KAAA,GAAa,EAAb;AAYL,aAAKD,YAAL,GAAoBjV,IAAI,CAACiV,YAAzB;AACA,aAAKE,aAAL,GAAqB,KAAKrX,WAAL,CAAiBS,KAAjB,CAAuB;AAC1C0N,kBAAQ,EAAG,CAAC;AAAEzN,iBAAK,EAAE,EAAT;AAAaC,oBAAQ,EAAE;AAAvB,WAAD,EAAiC,CAAC,0DAAWC,QAAZ,CAAjC,CAD+B;AAE1CyN,qBAAW,EAAE,EAF6B;AAG1CjN,cAAI,EAAG,CAAC;AAAEV,iBAAK,EAAE,EAAT;AAAaC,oBAAQ,EAAE;AAAvB,WAAD,EAAiC,CAAC,0DAAWC,QAAZ,CAAjC;AAHmC,SAAvB,CAArB;AAKD;;;;oCAEW;AACV,eAAKuB,SAAL,CAAeN,KAAf;AACD;;;mCACU;AACT,eAAKyV,WAAL;AACD;;;sCAGa;AACZ,eAAKnV,SAAL,CAAeN,KAAf;AACD;;;sCAEa;AACV,cAAG,CAAC,KAAKK,IAAL,CAAUyJ,MAAd,EACI,KAAKxJ,SAAL,CAAeN,KAAf,GADJ,KAGI,KAAKK,IAAL,CAAUyJ,MAAV;AACP;;;kCAES;AACR,eAAKxJ,SAAL,CAAeN,KAAf;AACA,eAAKK,IAAL,CAAUqJ,EAAV,CAAa,KAAKrJ,IAAlB;AACD;;;0CAEiB;AAAA;;AACd,eAAKqV,gBAAL,GAAwB,KAAKF,aAAL,CAAmBG,YAAnB,CAAgCC,IAAhC,CAAqC,iEAAU,EAAV,CAArC,EAAmD,2DAAI,UAAAtP,CAAC;AAAA,mBAAIA,CAAC,GAAG,OAAI,CAACuP,kBAAL,CAAwBvP,CAAxB,CAAH,GAAgC,OAAI,CAACiP,KAAL,CAAW3X,KAAX,EAArC;AAAA,WAAL,CAAnD,CAAxB;AACA,eAAKyX,cAAL,CAAoBS,aAApB;AACH;;;sCAEa;AAAA;;AACV,eAAKP,KAAL,GAAa,EAAb;AACA,eAAKQ,gBAAL,GAAwB,IAAxB;AACA,eAAK9Z,OAAL,CAAa+Z,eAAb,GACSxY,SADT,CACmB,UAACC,QAAD,EAAkB;AACzB,mBAAI,CAAC8X,KAAL,GAAa9X,QAAQ,CAACqI,MAAT,CAAgB,UAAAQ,CAAC;AAAA,qBAAIA,CAAC,CAACiG,UAAF,IAAgB,IAApB;AAAA,aAAjB,CAAb;AACH,WAHT,EAGW,UAAA7O,KAAK,EAAI,CACf,CAJL;AAKD;;;wCAEauY,Q,EAAyB;AACrC,iBAAOA,QAAQ,GAAGA,QAAQ,CAAC1W,IAAZ,GAAmBkH,SAAlC;AACH;;;2CAEyB5H,K,EAAW;AACrC,cAAG,OAAOA,KAAK,CAACyN,QAAb,KAA0B,QAA7B,EACI;AACJ,cAAM4J,WAAW,GAAGrX,KAAK,CAACyN,QAAN,CAAe6J,WAAf,EAApB;AACA,iBAAO,KAAKZ,KAAL,CAAWzP,MAAX,CAAkB,UAAAQ,CAAC;AAAA,mBAAIA,CAAC,CAAC/G,IAAF,CAAO4W,WAAP,GAAqBC,OAArB,CAA6BF,WAA7B,KAA6C,CAAC,CAA9C,IAAmD5P,CAAC,CAAC+D,KAAF,CAAQ8L,WAAR,GAAsBC,OAAtB,CAA8BF,WAA9B,KAA8C,CAAC,CAAtG;AAAA,WAAnB,CAAP;AACC;;;0CAEiB;AAChB,cAAIG,SAAS,GAAI;AACb/J,oBAAQ,EAAI,KAAKgK,mBAAL,EADC;AAEb/W,gBAAI,EAAG,KAAKiW,aAAL,CAAmB3W,KAAnB,CAAyBU,IAFnB;AAGbiN,uBAAW,EAAG,KAAKgJ,aAAL,CAAmB3W,KAAnB,CAAyB2N;AAH1B,WAAjB;AAKA,eAAKlM,SAAL,CAAeN,KAAf,CAAqBqW,SAArB;AACD;;;8CAEqB;AAClB,cAAI,KAAKb,aAAL,CAAmBR,KAAvB,EAA6B;AACzB,mBAAO,KAAKQ,aAAL,CAAmB3W,KAAnB,CAAyByN,QAAhC;AACH,WAFD,MAGI;AACA,iBAAKrO,QAAL,CAAcgC,IAAd,CAAmB,mBAAnB,EAAwC,IAAxC,EAA8C;AAC1CC,sBAAQ,EAAE;AADgC,aAA9C;AAGH;AACJ;;;;;;;uBA9FQkV,6B,EAA6B,sI,EAAA,gEAS1B,wEAT0B,C,EASX,sI,EAAA,wI,EAAA,wI,EAAA,2H,EAAA,gI;AAAA,K;;;YATlBA,6B;AAA6B,uC;AAAA,e;AAAA,c;AAAA,k9C;AAAA;AAAA;AChB1C;;AACI;;AACM;;AACE;;AAAsB;;AAAc;;AACpC;;AAAqC;AAAA,mBAAS,IAAAF,WAAA,EAAT;AAAsB,WAAtB;;AACnC;;AAAU;;AAAK;;AACjB;;AACF;;AACE;;AAAuD;AAAA,mBAAY,IAAAzI,eAAA,EAAZ;AAA6B,WAA7B;;AACnD;;AACI;;AACI;;AAAgH;AAAA;AAAA;;AAAhH;;AACI;;AACI;;;;AAMJ;;AACA;;AACA;;AACR;;AACA;;AACI;;AACI;;AACQ;;AACR;;AACJ;;AACA;;AACI;;AACQ;;AACR;;AACJ;;AACJ;;AAEJ;;AACA;;AACI;;AAAyG;;AAAO;;AAChH;;AACJ;;AACJ;;AACP;;AACL;;;;;;AAxCkC;;AAAA;;AAKhB;;AAAA;;AAGkE;;AAAA,6FAAwB,SAAxB,EAAwB,gBAAxB;;AACd;;AAAA;;AAC1B;;AAAA;;AAOI;;AAAA;;AACA;;AAAA;;AAiB0C;;AAAA;;AACqB;;AAAA;;;;;;;;;;sEDvBlG2I,6B,EAA6B;cANzC,uDAMyC;eAN/B;AACPnb,kBAAQ,EAAE,kBADH;AAEPC,qBAAW,EAAE,uCAFN;AAGPC,mBAAS,EAAE,CAAE,sCAAF,EAA0C,uCAA1C;AAHJ,S;AAM+B,Q;;;;;;kBASjC,oD;mBAAO,wE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEzBhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACYc;;AACE;;AACF;;;;;;AAF8E;;AAC5E;;AAAA;;;;;;;;AAMR;;AAAmD;AAAA;;AAAA;;AAAA;AAAA;;AAA2H;;AAAO;;;;;;AAA1E;;;;;;;;AAC3G;;AAAgD;AAAA;;AAAA;;AAAA;AAAA;;AAA6E;;AAAQ;;;;QDZhIoc,yB;;;AAIT,yCAAmBjW,SAAnB,EAAsGD,IAAtG,EAAiH;AAAA;;AAA9F,aAAAC,SAAA,GAAAA,SAAA;AAAmF,aAAAD,IAAA,GAAAA,IAAA;AAHtG,aAAA/B,OAAA,GAAkB,KAAlB;AAEA,aAAAkY,OAAA,GAAoB,CAAC,2BAAD,EAA8B,iCAA9B,EAAiE,mCAAjE,CAApB;AACmH;;;;kCAC5G;AACL,cAAG,KAAKC,cAAL,IAAqB,IAAxB,EAA6B;AAC3B,iBAAKpW,IAAL,CAAUqJ,EAAV;AACA,iBAAKpJ,SAAL,CAAeN,KAAf;AACA;AACD;AAEF;;;sCACU;AACT,eAAKK,IAAL,CAAUyJ,MAAV;AACA,eAAKxJ,SAAL,CAAeN,KAAf;AACD;;;;;;;uBAhBQuW,yB,EAAyB,sI,EAAA,gEAI4C,wEAJ5C,C;AAI2D,K;;;YAJpFA,yB;AAAyB,4C;AAAA,e;AAAA,a;AAAA,0jC;AAAA;AAAA;ACRtC;;AACE;;AACE;;AACE;;AAAsB;;AAAc;;AACpC;;AAAqC;AAAA,mBAAS,IAAArB,WAAA,EAAT;AAAsB,WAAtB;;AACnC;;AAAU;;AAAK;;AACjB;;AACF;;AACE;;AACE;;AACE;;AAA8B;;AAAuF;;AACnH;;AAAyF;AAAA;AAAA;;AACvF;;AAGF;;AACJ;;AACF;;AACA;;AACE;;AACA;;AACF;;AACJ;;AACF;;;;AApB4B;;AAAA;;AAQyE;;AAAA;;AACxC;;AAAA;;AAOqC;;AAAA;;AACC;;AAAA;;;;;;;;;sEDZtFqB,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACTtc,kBAAQ,EAAE,uBADD;AAETC,qBAAW,EAAE,oCAFJ;AAGTC,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK2B,Q;;;;;;kBAIqC,oD;mBAAO,wE;;;;;;;;;;;;;;;;;;;;;AEZlF;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;ACWY;;AAA8F;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC1F;;AAAyB;;AAAc;;AACvC;;AACE;;AACF;;AACJ;;;;;;AALwD;;AAC3B;;AAAA;;AAEvB;;AAAA;;;;;;AAqBZ;;;;;;AAII;;AAAoC;;;;AAA+B;;;;AAA/B;;AAAA;;;;;;AACpC;;AAAqC;;AAAe;;;;;;AAAf;;AAAA;;;;;;AAIrC;;AAAoC;;AAAgB;;;;;;AACpD;;AAAqC;;AAAkC;;;;;;AAAlC;;AAAA;;;;;;AAIrC;;AAAoC;;;;AAAoC;;;;AAApC;;AAAA;;;;;;AACpC;;AAAqC;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAKrC;;AAAoC;;;;AAAiC;;;;AAAjC;;AAAA;;;;;;AACpC;;AAAqC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAKrC;;AAAoC;;;;AAAsC;;;;AAAtC;;AAAA;;;;;;AACpC;;AAAqC;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AAKnC;;AAAoC;;;;AAAiC;;;;AAAjC;;AAAA;;;;;;AACpC;;AAAqC;;AAAyB;;;;;;AAAzB;;AAAA;;;;;;AAKvC;;AAAoC;;;;AAA8B;;;;AAA9B;;AAAA;;;;;;AACpC;;AAAqC;;;;AAAmC;;;;;;AAAnC;;AAAA;;;;;;AAMrC;;AAAoC;;AAAU;;AAAI;;AAAY;;;;;;;;AAUxD;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAU;;AAAc;;AACxB;;AAAO;;;;AAA+B;;AAC1C;;;;AADW;;AAAA;;;;;;;;AAXjB;;AACI;;AACE;;AAAU;;AAAU;;AACtB;;AACA;;AACE;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAU;;AAAQ;;AAClB;;AAAO;;;;AAA+C;;AAC1D;;AACA;;AAIF;;AACJ;;;;;;;;;AAb2C;;AAAA;;AAA/B;;AAMK;;AAAA;;AAEoC;;AAAA;;;;;;AAOvD;;;;;;AACE;;;;;;AA9DJ;;AAEE;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAGA;;AACI;;AACA;;AACF;;AAGF;;AACE;;AACA;;AACF;;AAIA;;AACE;;AACA;;AAeF;;AACA;;AACE;;AACJ;;;;;;AA/D2C;;AA6DzB;;AAAA;;AACL;;AAAA;;;;;;;;QDxFbuc,I;;;AAYN;;;;;QAIaC,mB;;;AASX,mCAAoB1a,OAApB,EACoB2a,KADpB,EAEmB3Y,QAFnB,EAGoB4C,MAHpB,EAIoB7C,MAJpB,EAIuC;AAAA;;AAJnB,aAAA/B,OAAA,GAAAA,OAAA;AACA,aAAA2a,KAAA,GAAAA,KAAA;AACD,aAAA3Y,QAAA,GAAAA,QAAA;AACC,aAAA4C,MAAA,GAAAA,MAAA;AACA,aAAA7C,MAAA,GAAAA,MAAA;AAZb,aAAA6Y,KAAA,GAAqB,EAArB;AACP,aAAAC,gBAAA,GAA6B,CAAC,KAAD,EAAQ,uBAAR,EAAgC,OAAhC,EAAyC,MAAzC,EAAiD,QAAjD,EAA2D,MAA3D,EAAmE,aAAnE,EAAkF,UAAlF,CAA7B;AACA,aAAAC,UAAA,GAAa,IAAI,0EAAJ,EAAb;AAGA,aAAA9U,YAAA,GAAuB,EAAvB;AACA,aAAA3D,OAAA,GAAW,KAAX;AACO,aAAA0Y,MAAA,GAAU,IAAIxD,KAAJ,EAAV;AAKkC;;;;mCAE9B;AACT,eAAKuD,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACA,eAAKC,eAAL;AACA,eAAKH,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACA,eAAKN,KAAL,GAAa,CACX;AACCO,gBAAI,EAAG,QADR;AAEC7M,gBAAI,EAAE,kBAFP;AAGC8M,oBAAQ,EAAG;AAHZ,WADW,EAOX;AACED,gBAAI,EAAG,gBADT;AAEE7M,gBAAI,EAAE,qBAFR;AAGE8M,oBAAQ,EAAG;AAHb,WAPW,CAAb;AAaD;;;yCAEgB;AACf,eAAKxW,MAAL,CAAY6L,aAAZ,CAA0B,yBAA1B,EAAqD;AAAE4K,8BAAkB,EAAE;AAAtB,WAArD;AACD;;;oCAEWpB,W,EAAqB;AAC/B,eAAKa,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAW,CAACqB,IAAZ,GAAmBpB,WAAnB,EAAzB;AACD;;;0CAEiB;AAAA;;AAChB,eAAK7X,OAAL,GAAe,IAAf;AACA,eAAKrC,OAAL,CAAaub,qBAAb,CAAmC,CAAnC,EAAsCha,SAAtC,CACI,UAAAC,QAAQ,EAAI;AACV,mBAAI,CAACuZ,MAAL,GAAcvZ,QAAd;AACA,mBAAI,CAACsZ,UAAL,CAAgB1W,IAAhB,GAAuB5C,QAAvB;AACA,mBAAI,CAACa,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACmZ,UAAL,CAAgB,OAAI,CAACZ,KAAL,CAAW,CAAX,CAAhB;AACD,WANL,EAOI,UAAAnZ,KAAK,EAAI;AACP,mBAAI,CAACY,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,+BAA+BvC,KAAK,CAACA,KAAxD,EAA+D,IAA/D,EAAqE;AACnEwC,sBAAQ,EAAE;AADyD,aAArE;AAID,WAbL;AAeD;;;kCAES+D,a,EAAqB;AAC7B,eAAKpD,MAAL,CAAYkU,QAAZ,CAAqB,CAAC,MAAD,EAAS;AAAE2C,mBAAO,EAAE;AAAEC,kBAAI,EAAE,CAAE,YAAF,EAAgB1T,aAAhB;AAAR;AAAX,WAAT,CAArB;AACD;;;mCAEiB5D,I,EAAY;AAC5B,eAAKuX,YAAL,CAAkBvX,IAAI,CAACkK,IAAvB;AACA,cAAMsM,KAAK,GAAG,KAAKA,KAAL,CAAW/Q,MAAX,CAAkB,UAAAK,IAAI;AAAA,mBAAIA,IAAI,CAACkR,QAAL,KAAkB,IAAtB;AAAA,WAAtB,CAAd;AACAR,eAAK,CAAC3O,OAAN,CAAc,UAAAC,OAAO,EAAI;AACvBA,mBAAO,CAACkP,QAAR,GAAmB,KAAnB;AACD,WAFD;AAGAhX,cAAI,CAACgX,QAAL,GAAgB,IAAhB;AAED;;;qCAGmB9M,I,EAAc;AAChC,cAAIlK,IAAI,GAAG,EAAX;AACAA,cAAI,GAAG,KAAK2W,MAAL,CAAYlR,MAAZ,CAAmB,UAAAK,IAAI;AAAA,mBAAIA,IAAI,CAAC0R,KAAT;AAAA,WAAvB,CAAP;;AACA,cAAItN,IAAI,KAAK,kBAAb,EAAiC;AAC7BlK,gBAAI,GAAG,KAAK2W,MAAL,CAAYlR,MAAZ,CAAmB,UAAAK,IAAI;AAAA,qBAAIA,IAAI,CAAC0R,KAAT;AAAA,aAAvB,CAAP;AACD,WAFH,MAES,IAAItN,IAAI,KAAK,qBAAb,EAAoC;AACzClK,gBAAI,GAAI,KAAK2W,MAAL,CAAYlR,MAAZ,CAAmB,UAAAK,IAAI;AAAA,qBAAI,CAACA,IAAI,CAAC0R,KAAV;AAAA,aAAvB,CAAR;AACD;;AACH,eAAKd,UAAL,CAAgB1W,IAAhB,GAAwBA,IAAxB;AACD;;;wCAGexB,K,EAAYsH,I,EAAoB;AAAA;;AAE9C,cAAMlE,YAAY,GAAG;AACnBmI,yBAAa,EAAEjE,IADI;AAEnBkE,iBAAK,EAAExL,KAAK,CAACyL,KAFM;AAGnB/K,gBAAI,EAAEV,KAAK,CAAC0L,IAHO;AAInBC,kBAAM,EAAG3L,KAAK,CAAC4L;AAJI,WAArB;AAOA,eAAKxO,OAAL,CAAa6b,eAAb,CAA6B7V,YAA7B,EACCzE,SADD,CACY,UAAAC,QAAQ,EAAI;AACtB,gBAAIA,QAAJ,EAAc;AACZ,qBAAI,CAACQ,QAAL,CAAcgC,IAAd,CAAmB,kCAAnB,EAAuD,IAAvD,EAA6D;AAC3DC,wBAAQ,EAAE;AADiD,eAA7D;AAGD,aAJD,MAIO;AACL,qBAAI,CAACjC,QAAL,CAAcgC,IAAd,CAAmB,wEAAnB,EAA6F,IAA7F,EAAmG;AACjGC,wBAAQ,EAAE;AADuF,eAAnG;AAGD;AACA,WAXH,EAYE,UAAAxC,KAAK,EAAI;AACP,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,2EAA2EvC,KAA9F,EAAqG,IAArG,EAA2G;AACzGwC,sBAAQ,EAAE;AAD+F,aAA3G;AAGD,WAhBH;AAkBD;;;oCAEWmJ,K,EAAe;AAAA;;AAC1B,eAAKpN,OAAL,CAAa8b,qBAAb,CAAmC,KAAKf,MAAL,CAAY3N,KAAZ,EAAmB9L,EAAtD,EACCC,SADD,CAEG,UAAAC,QAAQ,EAAI;AACV,mBAAI,CAACuZ,MAAL,CAAYrN,MAAZ,CAAmBN,KAAnB,EAA0B,CAA1B;;AACA,mBAAI,CAACpL,QAAL,CAAcgC,IAAd,CAAmB,oCAAnB,EAA0D,IAA1D,EAAgE;AAC9DC,sBAAQ,EAAE;AADoD,aAAhE;;AAGA,mBAAI,CAACgX,eAAL;AACD,WARJ,EASG,UAAAxZ,KAAK,EAAI;AACP,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,6BAAnB,EAAmD,IAAnD,EAAyD;AACvDC,sBAAQ,EAAE;AAD6C,aAAzD;AAGH,WAbF;AAcA;;;;;;;uBApIUyW,mB,EAAmB,sI,EAAA,+H,EAAA,wI,EAAA,uH,EAAA,mI;AAAA,K;;;YAAnBA,mB;AAAmB,sC;AAAA;AAAA;oEAInB,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;AC/BpB;;AACE;;AACE;;AACE;;AACE;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAMF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAgB;AAAA,mBAAS,IAAAqB,WAAA,qBAAT;AAAyC,WAAzC;;;;AAAhB;;AACF;;AACA;;AACE;;AAAuB;AAAA,mBAAS,IAAAC,cAAA,EAAT;AAAyB,WAAzB;;AACnB;;AAAU;;AAAK;;AACf;;;;AACF;;AACJ;;AACF;;AACA;;AACA;;AAgEA;;AACF;;AACF;;AACA;;;;AAlGQ;;AAAA;;AAMkB;;AAAA;;AAeyC;;AAAA;;AAKvD;;AAAA;;AAI+B;;AAAA;;AAC5B;;AAAA;;AAgEI;;AAAA;;;;;;;;;;sED1ERtB,mB,EAAmB;cAV/B,uDAU+B;eAVrB;AACT1c,kBAAQ,EAAE,iBADD;AAETC,qBAAW,EAAE,8BAFJ;AAGTC,mBAAS,EAAE,CAAC,8BAAD;AAHF,S;AAUqB,Q;;;;;;;;;;;;;;gBAI7B,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AE/Bb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACGY;;;;;;AAGkC;;;;;;AAAA;;;;;;AAQd;;AACI;;AACJ;;;;;;AAFuC;;AACnC;;AAAA;;;;;;AAGR;;AACE;;;;AACN;;;;AADM;;AAAA;;;;;;AAKF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAQF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAWgB;;;;;;AAAA;;;;QDlCjC+d,oB;;;AAOX,oCAAoBja,QAApB,EACUhC,OADV,EAEUC,IAFV,EAGS2E,MAHT,EAISsX,SAJT,EAI+B;AAAA;;AAJX,aAAAla,QAAA,GAAAA,QAAA;AACV,aAAAhC,OAAA,GAAAA,OAAA;AACA,aAAAC,IAAA,GAAAA,IAAA;AACD,aAAA2E,MAAA,GAAAA,MAAA;AACA,aAAAsX,SAAA,GAAAA,SAAA;AARF,aAAAC,QAAA,GAAW,4DAAX;AASH;;;;mCAEO;AACT,cAAI,CAAC,KAAKlc,IAAL,CAAU4Y,eAAV,EAAL,EAAkC;AAChC,iBAAKjU,MAAL,CAAYkU,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA,mBAAO,KAAP;AACD;;AACD,eAAKsD,eAAL,GAAuB,KAAvB;AACA,eAAKC,UAAL,GAAkB,IAAI,gEAAJ,EAAlB;AACA,eAAKC,SAAL,GAAiB,KAAjB;AACA,eAAKC,cAAL,GAAsB,KAAKL,SAAL,CAAevZ,KAAf,CAAqB;AACzC,wBAAY,CAAC,EAAD,EAAK,CAAC,0DAAW0L,KAAZ,EAAmB,0DAAWvL,QAA9B,CAAL,CAD6B;AAEzC,uBAAW,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL,CAF8B;AAGzC,wBAAY,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL;AAH6B,WAArB,CAAtB;AAKD;;;yCACgB;AAAA;;AACf,eAAKwZ,SAAL,GAAiB,IAAjB;AACA,eAAKtc,OAAL,CAAawc,kBAAb,CAAgC,KAAKH,UAArC,EAAiD9a,SAAjD,CAA2D,UAAAC,QAAQ,EAAI;AACrE,mBAAI,CAAC8a,SAAL,GAAiB,KAAjB;AACA,mBAAI,CAACD,UAAL,GAAkB7a,QAAlB;;AACA,mBAAI,CAACib,OAAL,CAAaC,IAAb;;AACA,mBAAI,CAACC,YAAL,CAAkB,wCAAlB;AACD,WALD,EAKG,UAAAlb,KAAK,EAAI;AACV,mBAAI,CAAC6a,SAAL,GAAiB,KAAjB;AACD,WAPD;AASD;;;qCACY3O,O,EAAiB;AAC5B,eAAK3L,QAAL,CAAcgC,IAAd,CAAmB2J,OAAnB,EAA4B,IAA5B,EAAkC;AAChC1J,oBAAQ,EAAE;AADsB,WAAlC;AAGD;;;;;;;uBA5CUgY,oB,EAAoB,wI,EAAA,6I,EAAA,+I,EAAA,uH,EAAA,2H;AAAA,K;;;YAApBA,oB;AAAoB,sC;AAAA;AAAA;;;;;;;;;;;;;;;ACdjC;;AACI;;AACI;;AACI;;AACA;;AACI;;AACI;;AACA;;AACI;;AAAQ;;;;AAA0C;;AAClD;;;;AACJ;;AACA;;AAAmC;AAAA,mBAAY,IAAAW,cAAA,EAAZ;AAA4B,WAA5B;;AAC/B;;AACI;;AAA0H;AAAA;AAAA;;;;AACtH;;AAGJ;;AACA;;AAGJ;;AACA;;AACI;;AAAmI;AAAA;AAAA;;;;AAAnI;;AACA;;AAGA;;AAGJ;;AACA;;AACI;;AAA+J;AAAA;AAAA;;;;AAA/J;;AACA;;AACI;;AAAsC;AAAA;AAAA;;AAA6C;;AAAU;;AAAc;;AAAW;;AAC1H;;AACA;;AAGJ;;AACA;;AACI;;AACE;;;;AACF;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACA;;AACI;;;;AAIJ;;AACA;;AACI;;AAA+F;;;;AAAuC;;AAC1I;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;AA3DmD;;AAAA;;AAEzB;;AAAA;;AAGM;;AAAA;;AACF;;AAAA;;AAEJ;;AAAA;;AAEc;;AAAA;;AAA8G;;AAC1G;;AAAA;;AAIL;;AAAA;;AAKkB;;AAAA;;AAAsG;;AACxH;;AAAA;;AAGA;;AAAA;;AAKoD;;AAAA;;AAA/C,sHAA8C,SAA9C,EAA8C,uBAA9C;;AAIL;;AAAA;;AAK6C;;AAAA;;AACtD;;AAAA;;AAQA;;AAAA;;AAMiD;;AAAA;;AAAwC;;AAAA;;;;;;;;;;sED1C1GX,oB,EAAoB;cALhC,uDAKgC;eALtB;AACTje,kBAAQ,EAAE,iBADD;AAETC,qBAAW,EAAE,8BAFJ;AAGTC,mBAAS,EAAE,CAAC,8BAAD;AAHF,S;AAKsB,Q;;;;;;;;;;;;;;gBAM9B,uD;iBAAU,S;;;;;;;;;;;;;;;;;;;;AEpBb;AAAA;;;AAAA;AAAA;AAAA;;AAAO,QAAM2e,aAAa,GAAG,CACzB;AAAEvb,QAAE,EAAG,kBAAP;AAA4BgC,UAAI,EAAG;AAAnC,KADyB,EAEzB;AAAEhC,QAAE,EAAG,OAAP;AAAiBgC,UAAI,EAAG;AAAxB,KAFyB,CAAtB;;;;;;;;;;;;;;;;ACCP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACDA;;AACE;;AACF;;;;;;AAQI;;AACE;;AACA;;AAAyB;;AAAkC;;AAC7D;;;;;;AACA;;AACE;;AAA6B;;AAAuC;;AACtE;;;;;;AAKE;;;;;;AAK6B;;AAAqC;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;;;AAA9D;;AAAyB;;AACzB;;AACE;;AAAU;;AAAI;;AAChB;;AACA;;AACE;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEpB;;AAAU;;AAAY;;AACtB;;AAAM;;AAAe;;AACvB;;AACF;;;;;;;;AAVA;;AAA+B;;AAAA;;AACP;;AAAA;;;;;;;;;;;;AAH5B;;AACE;;AAcA;;AACE;;AACF;;AACF;;;;;;AAFoB;;AAAA,iLAAyC,cAAzC,EAAyC,aAAzC;;;;;;AAOpB;;;;;;AAK6B;;;;;;;;AAAzB;;AAAyB;;AACzB;;AACE;;AAAU;;AAAI;;AAChB;;AACA;;AACE;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEpB;;AAAU;;AAAY;;AACtB;;AAAM;;AAAe;;AACvB;;AACF;;;;;;;;AAVA;;AAA+B;;AAAA;;AACP;;AAAA;;;;;;;;AAH5B;;AACE;;AAaA;;AACE;;AACA;;AACI;;AAAgB;AAAA;;AAAA;;AAAA;AAAA;;AAAuL;;AACzM;;AACF;;AACF;;AACF;;;;;;;;AAJ8E;;AAAA,gGAAqB,kBAArB,EAAqB,4BAArB,EAAqB,cAArB,EAAqB,yBAArB,EAAqB,cAArB,EAAqB,aAArB;;;;;;;;AAtBlF;;AACE;;AAGA;;AAAqC;AAAA;;AAAA;;AAAA;AAAA;;AACnC;;AAsBF;;AAEF;;;;;;AAxBa;;AAAA;;;;;;;;AA/Cf;;AACE;;AACE;;AACE;;AAAkC;;AAAiD;;AACrF;;AACF;;AACA;;AACE;;AAIA;;AAIJ;;AACE;;AACE;;AAGA;;AAAqC;AAAA;;AAAA;;AAAA;AAAA;;AACnC;;AAmBF;;AACF;;AACA;;AA8BF;;AAGE;;AACF;;;;;;AAzEwC;;AAAA;;AAID;;AAAA;;AAIA;;AAAA;;AAUxB;;AAAA;;AAqBJ;;AAAA;;;;ADrCX,QAAMwZ,KAAK,GAAa;AACtBC,SAAG,EAAE,CACH;AACEzO,YAAI,EAAE,OADR;AAEE1L,aAAK,EAAE;AAFT,OADG,EAKH;AACE0L,YAAI,EAAE,OADR;AAEE1L,aAAK,EAAE;AAFT,OALG,CADiB;AAWtBkK,SAAG,EAAE,CACH;AACEwB,YAAI,EAAE,OADR;AAEE1L,aAAK,EAAE;AAFT,OADG,EAKH;AACE0L,YAAI,EAAE,OADR;AAEE1L,aAAK,EAAE;AAFT,OALG,CAXiB;AAqBtBoa,QAAE,EAAE,CACF;AACE1O,YAAI,EAAE,OADR;AAEE1L,aAAK,EAAE;AAFT,OADE,EAKF;AACE0L,YAAI,EAAE,OADR;AAEE1L,aAAK,EAAE,CAAC;AAFV,OALE;AArBkB,KAAxB;;QAsCaqa,sB;;;AAkDX,sCACUjd,OADV,EAEU2a,KAFV,EAGS3Y,QAHT,EAG8B;AAAA;;AAAA;;AAFpB,aAAAhC,OAAA,GAAAA,OAAA;AACA,aAAA2a,KAAA,GAAAA,KAAA;AACD,aAAA3Y,QAAA,GAAAA,QAAA;AAnDF,aAAAkb,iBAAA,GAAyB;AAC9BC,qBAAW,EAAE;AACXC,kBAAM,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,EAAkC,SAAlC;AADG,WADiB;AAI9BC,sBAAY,EAAE,CACZ;AACE/O,gBAAI,EAAE,SADR;AAEE1L,iBAAK,EAAE;AAFT,WADY,EAKZ;AACE0L,gBAAI,EAAE,QADR;AAEE1L,iBAAK,EAAE;AAFT,WALY,EASZ;AACE0L,gBAAI,EAAE,OADR;AAEE1L,iBAAK,EAAE;AAFT,WATY,EAaZ;AACE0L,gBAAI,EAAE,SADR;AAEE1L,iBAAK,EAAE;AAFT,WAbY,CAJgB;AAsB9BwB,cAAI,EAAE,EAtBwB;AAuB9BkZ,mBAAS,EAAE,KAvBmB;AAwB9BC,mBAAS,EAAE,KAxBmB;AAyB9BC,kBAAQ,EAAE,KAzBoB;AA0B9BC,oBAAU,EAAE,IA1BkB;AA2B9BC,wBAAc,EAAE,KA3Bc;AA4B9BC,wBAAc,EAAE,IA5Bc;AA6B9BC,mBAAS,EAAE,IA7BmB;AA8B9BC,cAAI,EAAE,CAAC,GAAD,EAAM,GAAN;AA9BwB,SAAzB;AAmCA,aAAAhD,gBAAA,GAAmB,CACxB,IADwB,EAClB,KADkB,EACX,QADW,EAExB,KAFwB,EAEjB,kBAFiB,EAEG,KAFH,EAGxB,OAHwB,EAGf,KAHe,EAGR,SAHQ,CAAnB;AAKA,aAAAiD,MAAA,GAAc,EAAd;AACA,aAAAC,aAAA,GAAqB,EAArB;AAEA,aAAAC,QAAA,GAAgB,EAAhB;AACA,aAAA1B,SAAA,GAAY,KAAZ;AACA,aAAA2B,QAAA,GAAgB,EAAhB;AACA,aAAAC,iBAAA,GAAyB,EAAzB;AACA,aAAAC,gBAAA,GAA0B,EAA1B;AAML,aAAKxD,KAAL,CAAWyD,MAAX,CAAkB7c,SAAlB,CAA4B,UAAA6c,MAAM,EAAI;AACpC,iBAAI,CAACC,UAAL,GAAkBD,MAAM,CAACtgB,EAAzB;;AACA,iBAAI,CAACwgB,OAAL,CAAa,OAAI,CAACD,UAAlB;;AACA,iBAAI,CAACE,gBAAL;AACD,SAJD;AAMD;;;;mCAEU;AACT,eAAKC,oBAAL;AACD;;;wCAEe;AACd,iBAAO,KAAKR,QAAL,CAAc5T,IAAd,CAAmB,UAACqU,EAAD;AAAA,mBAAQA,EAAE,CAACC,QAAH,KAAgB,IAAxB;AAAA,WAAnB,CAAP;AACD;;;+CAEsB;AAErB,eAAKxB,iBAAL,CAAuB9Y,IAAvB,GAA8B;AAC5B2Y,eAAG,EAAE,CAAC;AACJzO,kBAAI,EAAE,OADF;AAEJ1L,mBAAK,EAAE;AAFH,aAAD,EAIL;AACE0L,kBAAI,EAAE,OADR;AAEE1L,mBAAK,EAAE;AAFT,aAJK,CADuB;AAU5BkK,eAAG,EAAE,CAAC;AACJwB,kBAAI,EAAE,OADF;AAEJ1L,mBAAK,EAAE;AAFH,aAAD,EAIL;AACE0L,kBAAI,EAAE,OADR;AAEE1L,mBAAK,EAAE;AAFT,aAJK,CAVuB;AAkB5Boa,cAAE,EAAE,CAAC;AACH1O,kBAAI,EAAE,OADH;AAEH1L,mBAAK,EAAE;AAFJ,aAAD,EAIJ;AACE0L,kBAAI,EAAE,OADR;AAEE1L,mBAAK,EAAE;AAFT,aAJI;AAlBwB,WAA9B;AA2BD;;;gCAEOyb,U,EAAY;AAAA;;AAClB,eAAKre,OAAL,CAAaqD,kBAAb,CAAgCgb,UAAhC,EAA4C9c,SAA5C,CAAsD,UAACyY,QAAD,EAAc;AAClE,mBAAI,CAACF,gBAAL,GAAwBE,QAAxB;AACD,WAFD;AAGD;;;gDAEuB2E,M,EAAQ;AAAA;;AAC9B,cAAIA,MAAM,CAACC,SAAP,KAAqB,IAArB,IAA6BD,MAAM,CAACC,SAAP,KAAqB,IAAlD,IAA0DD,MAAM,CAACE,UAAP,KAAsB,IAApF,EAA0F;AACxF,iBAAK7e,OAAL,CAAa8e,YAAb,CAA0BH,MAAM,CAACE,UAAjC,EAA6CF,MAAM,CAACC,SAApD,EAA+Drd,SAA/D,CACE,UAAAC,QAAQ,EAAI;AACV,qBAAI,CAAC0b,iBAAL,CAAuB9Y,IAAvB,GAA8B5C,QAA9B,CADU,CAC8B;AACzC,aAHH,EAGK,YAAM;AACP,qBAAI,CAAC0b,iBAAL,CAAuB9Y,IAAvB,GAA8B0Y,KAA9B;AACD,aALH;AAMD;AACF;;;2CAEkB;AAAA;;AACjB,eAAKmB,QAAL,GAAgB,EAAhB;AACA,eAAKC,iBAAL,GAAyB,EAAzB;AACA,eAAK5B,SAAL,GAAiB,IAAjB;AACA,eAAKtc,OAAL,CAAa+e,gBAAb,CAA8B,KAAKV,UAAnC,EAA+C9c,SAA/C,CACE,UAACC,QAAD,EAAc;AACZ,mBAAI,CAACsc,MAAL,GAActc,QAAd;AACA,mBAAI,CAACuc,aAAL,GAAqBvc,QAArB;;AACA,mBAAI,CAACxB,OAAL,CAAagf,mBAAb,CAAiC,OAAI,CAACX,UAAtC,EAAkD9c,SAAlD,CACE,UAAC0c,QAAD,EAAc;AACZ,qBAAI,CAACD,QAAL,GAAgBC,QAAhB;;AACA,qBAAI,CAACD,QAAL,CAAc/R,OAAd,CAAsB,UAAAC,OAAO,EAAI;AAC/B,wBAAQA,OAAO,CAACwS,QAAhB;AACE,uBAAK,IAAL;AACE,2BAAI,CAACT,QAAL,GAAgB/R,OAAO,CAAC+S,YAAxB;AACA;;AACF,uBAAK,IAAL;AACE,2BAAI,CAACf,iBAAL,GAAyBhS,OAAO,CAAC+S,YAAjC;AACA;;AACF;AACE;AARJ;AAUD,eAXD;;AAaA,mBAAK,IAAIzb,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,OAAI,CAACsa,MAAL,CAAY7T,MAAhC,EAAwCzG,CAAC,EAAzC,EAA6C;AAC3C,uBAAI,CAACsa,MAAL,CAAYta,CAAZ,EAAeya,QAAf,GAA0B,OAAI,CAACiB,mBAAL,CAAyB,OAAI,CAACpB,MAAL,CAAYta,CAAZ,CAAzB,CAA1B;AACAc,uBAAO,CAACC,GAAR,CAAY,2BAAZ,EAAyC,OAAI,CAACuZ,MAA9C;AACA,uBAAI,CAACA,MAAL,CAAYta,CAAZ,EAAe0a,iBAAf,GAAmC,OAAI,CAACiB,eAAL,CAAqB,OAAI,CAACrB,MAAL,CAAYta,CAAZ,CAArB,CAAnC;AAED;;AACD,qBAAI,CAAC4b,cAAL,CAAoB;AAAEhS,qBAAK,EAAE,OAAI,CAACiS;AAAd,eAApB;AACD,aAvBH,EAwBE,UAAC5d,KAAD,EAAW;AACT,qBAAI,CAAC6a,SAAL,GAAiB,KAAjB;AACAhY,qBAAO,CAAC7C,KAAR,CAAcA,KAAd;AACD,aA3BH;AA6BD,WAjCH,EAkCE,UAAAA,KAAK,EAAI;AACP,mBAAI,CAAC6a,SAAL,GAAiB,KAAjB;AACAhY,mBAAO,CAAC7C,KAAR,CAAcA,KAAd;AACD,WArCH;AAuCA,eAAK6a,SAAL,GAAiB,KAAjB;AACD;;;4CAEmBgD,Y,EAAsB;AACxC,eAAKC,mBAAL,CAAyBC,mBAAzB,CAA6CF,YAA7C;AACD;;;iCAEQG,K,EAAO,CACf;;;uCAEcrb,I,EAAM;AACnB,eAAKib,UAAL,GAAkBjb,IAAI,CAACgJ,KAAvB;AACA,eAAK+Q,gBAAL,GAAwB,KAAKL,MAAL,CAAY,KAAKuB,UAAjB,KAAgC,KAAKvB,MAAL,CAAY,KAAKuB,UAAjB,EAA6BpB,QAA7D,GACtB,KAAKH,MAAL,CAAY,KAAKuB,UAAjB,EAA6BpB,QADP,GACkB,EAD1C;AAED;;;4CAEmByB,K,EAAO;AACzB,cAAIC,IAAI,GAAG,KAAK1B,QAAL,CAAcpU,MAAd,CAAqB,UAAAQ,CAAC;AAAA,mBAAIA,CAAC,CAACuV,SAAF,KAAgBF,KAAK,CAACG,YAA1B;AAAA,WAAtB,CAAX;;AACA,iBAAOF,IAAP;AACD;;;gDAEuBD,K,EAAO;AAC7B,cAAIC,IAAI,GAAG,KAAKzB,iBAAL,CAAuBrU,MAAvB,CAA8B,UAAAQ,CAAC;AAAA,mBAAIA,CAAC,CAACuV,SAAF,KAAgBF,KAAK,CAACG,YAA1B;AAAA,WAA/B,CAAX;;AAEA,iBAAOF,IAAP;AACD;;;wCAEeG,O,EAAc;AAC5B,cAAIA,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,KAAjD,MAA4D,CAAC,CAAjE,EAAoE;AAClE,mBAAO,yBAAP;AACD,WAFD,MAEO,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,8BAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,8BAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,8BAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,MAAjD,MAA6D,CAAC,CAAlE,EAAqE;AAC1E,mBAAO,4BAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,8BAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,OAAjD,MAA8D,CAAC,CAAnE,EAAsE;AAC3E,mBAAO,yBAAP;AACD,WAFM,MAEA;AACL,mBAAO,0BAAP;AACD;AACF;;;iCAEQ2F,O,EAAc;AACrB,cAAIA,OAAO,CAACjJ,SAAR,IAAqB,IAAzB,EAA+B;AAC7B,mBAAO,KAAKkJ,WAAL,CAAiBD,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAvD,CAAP;AACD,WAFD,MAEO,IAAIoQ,OAAO,CAAC9H,WAAR,IAAuB,IAA3B,EAAiC;AACtC,mBAAO,KAAK+H,WAAL,CAAiBD,OAAO,CAAC9H,WAAzB,CAAP;AACD,WAFM,MAEA;AACL,mBAAO,KAAK+H,WAAL,CAAiBD,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAvD,CAAP;AACD;AACF;;;oCAEWpB,I,EAAM;AAChB,cAAM9M,QAAQ,GAAG8M,IAAI,CAAC0R,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAjB;AACA,cAAIC,cAAc,GAAG,EAArB;AACAze,kBAAQ,CAACX,KAAT,CAAe,GAAf,EAAoBoL,OAApB,CAA4B,UAAAC,OAAO,EAAI;AACrC,gBAAI+T,cAAc,CAAChW,MAAf,KAA0B,CAA9B,EAAiC;AAC/BgW,4BAAc,IAAI,GAAlB;AACD;;AACDA,0BAAc,IAAI/T,OAAO,CAACgU,MAAR,CAAe,CAAf,EAAkBC,WAAlB,KAAkCjU,OAAO,CAACgO,WAAR,GAAsBvY,KAAtB,CAA4B,CAA5B,CAApD;AACD,WALD;AAMA,iBAAOse,cAAP;AACD;;;wCAEeP,K,EAAO;AACrB,cAAMU,KAAK,GAAG,EAAd;AACA,cAAMnC,QAAQ,GAAG,KAAKC,iBAAL,CAAuBrU,MAAvB,CAA8B,UAAAQ,CAAC;AAAA,mBAAIA,CAAC,CAACuV,SAAF,KAAgBF,KAAK,CAACG,YAA1B;AAAA,WAA/B,CAAjB;AACA5B,kBAAQ,CAAC1a,GAAT,CAAa,UAAC2I,OAAD,EAAa;AACxB,gBAAMmU,GAAG,GAAGnU,OAAO,CAAC2K,SAAR,CAAkBhW,KAAlB,CAAwB,GAAxB,EAA6B,CAA7B,CAAZ;;AACA,gBAAI,CAACuf,KAAK,CAACC,GAAD,CAAV,EAAiB;AACfD,mBAAK,CAACC,GAAD,CAAL,GAAapC,QAAQ,CAACpU,MAAT,CAAgB,UAAAQ,CAAC;AAAA,uBAAIA,CAAC,CAACwM,SAAF,CAAYyJ,QAAZ,CAAqBD,GAArB,CAAJ;AAAA,eAAjB,CAAb;AACD;AACF,WALD;AAMA,iBAAOD,KAAP;AACD;;;;;;;uBAjPUnD,sB,EAAsB,6I,EAAA,+H,EAAA,wI;AAAA,K;;;YAAtBA,sB;AAAsB,wC;AAAA;AAAA;oEACtB,yE,EAAmB,I;;;;;;;;;;;;;;AC/ChC;;AAGA;;;;AAHK;;AAGkC;;AAAA;;;;;;;;;sED2C1BA,sB,EAAsB;cALlC,uDAKkC;eALxB;AACTjf,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE,gCAFJ;AAGTC,mBAAS,EAAE,CAAC,gCAAD;AAHF,S;AAKwB,Q;;;;;;;;;;gBAChC,uD;iBAAU,yE;;;;;;;;;;;;;;;;;;;;AE9Cb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACIE;;;;;;AAOI;;AACE;;AACA;;AAAyB;;;;AAAsC;;AACjE;;;;AAD2B;;AAAA;;;;;;AAS3B;;AACE;;AACG;;AACH;;AACF;;;;;;AARF;;AAIE;;AAKF;;;;;;AALO;;AAAA;;;;;;AAcG;;;;;;;;AAAA;;;;;;AADF;;;;;;;;AAIE;;AAAM;AAAA;;AAAA;;AAAA,yCAAwB,IAAxB;AAA4B,SAA5B;;AACJ;;;;AACF;;;;;;AADE;;AAAA;;;;;;AAFJ;;;;;;AAME;;AAGE;;AACF;;;;;;AAMI;;AACE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;AAGJ;;AACE;;AACE;;;;AAQE;;AACF;;AACF;;AACF;;;;;;;;AARM;;AAAA;;AADA;;;;;;AAYN;;AACE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;AAGJ;;AACE;;AACE;;AAA2C;;AAEzC;;AACJ;;AACF;;;;;;;;AAJU;;AAAA;;AAAqC;;AAAA;;;;;;AAO/C;;AACE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AAAwC;;AAAK;;AAC/C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AACE;;AAAU;;AAAI;;AAChB;;AACF;;;;;;;;AAuBU;;AAME;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAkB;;AAC5B;;AACG;;;;AACH;;AACF;;;;AAFK;;AAAA;;;;;;;;AAGL;;AAME;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAkB;;AAC5B;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAOE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAK;;AACf;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAU;;AACpB;;AAAM;;;;AAAqC;;AAC7C;;;;AADQ;;AAAA;;;;;;;;AAER;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAM;;AAChB;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AA1Ed;;AAME;;AAKE;;AACE;;AAAU;;AAAU;;AACtB;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AAaA;;AAaA;;AAcA;;AAQA;;AAUA;;AACF;;AACA;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AAAM;;;;AAEJ;;AACJ;;AACA;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAM;;;;AAEJ;;AACJ;;AACF;;AACF;;;;;;;;;;AA3FI;;AAAA;;AASsB;;AAAA;;AAMlB;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAcA;;AAAA;;AAQA;;AAAA;;AAaF;;AAAA;;AAEM;;AAAA;;AAQA;;AAAA;;;;;;AA/FhB;;AACE;;AACE;;AAmGF;;AACF;;;;;;AAlGM;;AAAA;;;;;;AAoGR;;;;;;AAGA;;;;;;AAhMF;;AAIE;;AACE;;AAKA;;AAcF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAKA;;AAOF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAKA;;AAuGF;;AACA;;AAGA;;AAGF;;;;;;;;AAlME;;AA6LE;;AAAA,+GAAiD,uBAAjD,EAAiD,IAAjD;;AAGA;;AAAA;;;;;;AAvMN;;AACE;;AAKA;;AAoMF;;;;;;AAxMI;;AAAA;;AAMA;;AAAA;;;;;;AAoMF;;AAGE;;AACF;;;;;;AA0BQ;;AAIE;;AACE;;AACE;;AAAoB;;AAAG;;AACvB;;AACE;;AAMF;;AACA;;;;AAOE;;AAgBF;;AACA;;AACE;;AAMF;;AACA;;AACE;;AAQF;;AACF;;AACA;;AACE;;AAAoB;;AAAO;;AAC3B;;AACE;;AAMF;;AACA;;;;AAOE;;AAgBF;;AACA;;AACE;;AAMF;;AACA;;AACE;;AAQF;;AACF;;AACA;;AACE;;AAAoB;;AAAc;;AAAO;;AACzC;;AACE;;AAMF;;AACA;;;;AAOE;;AAgBF;;AACA;;AACE;;AAMF;;AACA;;AACE;;AAQF;;AACF;;AACF;;AACF;;;;;;;;AA7JQ;;AAAA;;AASA;;AAAA;;AAOE;;AAAA,sLAKC,MALD,EAKC,aALD,EAKC,OALD,EAKC,iEALD,EAKC,aALD,EAKC,oBALD;;AAgBF;;AAAA;;AAQA;;AAAA;;AAaA;;AAAA;;AASA;;AAAA;;AAOE;;AAAA,sLAKC,MALD,EAKC,aALD,EAKC,OALD,EAKC,iEALD,EAKC,aALD,EAKC,oBALD;;AAgBF;;AAAA;;AAQA;;AAAA;;AAaA;;AAAA;;AASA;;AAAA;;AAOE;;AAAA,qLAKC,MALD,EAKC,aALD,EAKC,OALD,EAKC,gEALD,EAKC,aALD,EAKC,oBALD;;AAgBF;;AAAA;;AAQA;;AAAA;;;;;;AA3JV;;AACE;;AAsKF;;;;;;;;AApKI;;AAAA;;;;;;;;AApBR;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAGE;;AACF;;AACA;;AAIE;;AACF;;AACA;;AACE;;AAwKF;;AACF;;;;;;;;AAlLI;;AAAA;;AAMA;;AAAA;;AAGgC;;AAAA;;;;;;AAxBtC;;AAOE;;;;AA2LF;;;;;;AAzLI;;AAAA;;;;;;AAgNI;;AAIE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;AAGJ;;AACE;;AACE;;;;AAQE;;AACF;;AACF;;AACF;;;;;;;;AARM;;AAAA;;AADA;;;;;;AAYN;;AAIE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AAKE;;AAAwB;;AAAsB;;AAChD;;;;;;AAD0B;;AAAA;;;;;;AAI1B;;AAIE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;AAGJ;;AACE;;AACE;;AAA0C;;AAExC;;AACJ;;AACF;;;;;;;;AAJU;;AAAA;;AAAoC;;AAAA;;;;;;AAO9C;;AAIE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AAIE;;AAAwC;;AAAK;;AAC/C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AAIE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AAIE;;AACE;;AAAU;;AAAI;;AAChB;;AACF;;;;;;;;AA2BU;;AAME;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAkB;;AAC5B;;AACG;;;;AACH;;AACF;;;;AAFK;;AAAA;;;;;;;;AAGL;;AAME;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAkB;;AAC5B;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAOE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAK;;AACf;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAU;;AACpB;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAM;;AAChB;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAhFd;;AAOE;;AAKE;;AACE;;AAAU;;AAAU;;AACtB;;AACF;;AACA;;AACE;;AAIE;;AACF;;AACA;;AACE;;AAaA;;AAaA;;AAcA;;AAUA;;AAUA;;AACF;;AACA;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AAAM;;;;AAEJ;;AACJ;;AACA;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAM;;;;AAEJ;;AACJ;;AACF;;AACF;;;;;;;;;;AAhGI;;AAAA;;AAWE;;AAAA;;AAOE;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAcA;;AAAA;;AAUA;;AAAA;;AAaF;;AAAA;;AAEM;;AAAA;;AAQA;;AAAA;;;;;;AArGhB;;AACE;;AACE;;AAyGF;;AACF;;;;;;AAxGM;;AAAA;;;;;;AA0GR;;;;;;AAGA;;;;;;;;AA9ON;;AAIE;;AAGE;AAAA;;AAAA;;AAAA,yCAAwB,IAAxB;AAA4B,SAA5B;;AAEA;;AACF;;AACA;;AAIE;;AAAU;;AAAQ;;AAAkB;;AACtC;;AACA;;AACE;;AAGE;;AACE;;AAQA;;AAcF;;AACA;;AACE;;AAMA;;AAOF;;AACA;;AACE;;AAQA;;AAOF;;AACA;;AACE;;AAMA;;AAKF;;AACA;;AACE;;AAMA;;AAKF;;AACA;;AACE;;AAMA;;AAKF;;AACA;;AACE;;AAQA;;AA6GF;;AACA;;AAGA;;AAGF;;AACF;;AACF;;;;;;AApOsB;;AAAA;;AAIhB;;AAAA;;AAyNE;;AAAA,+GAAiD,uBAAjD,EAAiD,IAAjD;;AAGA;;AAAA;;;;;;AAxbV;;AACE;;AAKA;;AAmMA;;AAoPF;;;;;;AA3bI;;AAAA;;AAKA;;AAAA;;AAoMA;;AAAA;;;;;;AA/ZN;;AACE;;AAGA;;AAKA;;AA2MA;;AA8bF;;;;;;AAjpB6B;;AAAA;;AAGA;;AAAA;;AAKtB;;AAAA;;AA2MA;;AAAA;;;;;;AArNT;;AACE;;AAmpBF;;;;;;;;AAnpB+B;;AAAA;;;;;;;;AANnC;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAqpBF;;AACF;;;;;;AAtpBkB;;AAAA;;;;;;AAypBlB;;AACE;;AAA+B;;AAAmC;;AACpE;;;;;;AAIM;;AACE;;AACG;;AACH;;AACF;;;;;;;;AAGI;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAK;;AAAG;;AAAU;;AAAI;;AAAkB;;AAC1C;;;;;;AADwB;;AAAA;;;;;;AAExB;;AAAqC;;AAAS;;;;;;AAN9C;;AAMA;;;;;;AALE;;AAKI;;AAAA;;;;;;AAGR;;AACE;;AACG;;AACH;;AACF;;;;;;AAIM;;AACE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;AAGJ;;AACE;;AACE;;;;AAQE;;AACF;;AACF;;AACF;;;;;;;;AARM;;AAAA;;AADA;;;;;;AAYN;;AACE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;AAGJ;;AACE;;AACE;;AAA2C;;AAEzC;;AACJ;;AACF;;;;;;;;AAJU;;AAAA;;AAAqC;;AAAA;;;;;;AAO/C;;AACE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AAAwC;;AAAK;;AAC/C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AAAwC;;AAAG;;AAC7C;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AAFI;;AAAA;;;;;;AAKJ;;AACE;;AACE;;AAAU;;AAAI;;AAChB;;AACF;;;;;;;;AAqBU;;AAME;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAkB;;AAC5B;;AACG;;;;AACH;;AACF;;;;AAFK;;AAAA;;;;;;;;AAGL;;AAME;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAkB;;AAC5B;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAOE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAK;;AACf;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAIR;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAU;;AACpB;;AAAM;;;;AAAqC;;AAC7C;;;;AADQ;;AAAA;;;;;;;;AAER;;AAGE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAU;;AAAM;;AAChB;;AAAM;;;;AAEJ;;AACJ;;;;AAHQ;;AAAA;;;;;;;;AAxEd;;AAME;;AAKE;;AAAU;;AAAU;;AACtB;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AAaA;;AAaA;;AAcA;;AAQA;;AAUA;;AACF;;AACA;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AAAM;;;;AAEJ;;AACJ;;AACA;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AAAM;;;;AAEJ;;AACJ;;AACF;;AACF;;;;;;;;;;AAzFI;;AAAA;;AAOsB;;AAAA;;AAMlB;;AAAA;;AAaA;;AAAA;;AAaA;;AAAA;;AAcA;;AAAA;;AAQA;;AAAA;;AAaF;;AAAA;;AAEM;;AAAA;;AAQA;;AAAA;;;;;;AA7FhB;;AACE;;AACE;;AAiGF;;AACF;;;;;;AAhGM;;AAAA;;;;;;AAmGR;;;;;;AAGA;;;;;;AA7LJ;;AACE;;AACE;;AACE;;AAKA;;AAcF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAKA;;AAOF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAGA;;AAKF;;AACA;;AACE;;AAKA;;AAqGF;;AAEA;;AAGA;;AAGF;;AACF;;;;;;;;AAhMa;;AAAA;;AA0LP;;AAAA,+GAAiD,uBAAjD,EAAiD,IAAjD;;AAGA;;AAAA;;;;;;AA9MR;;AACE;;AAUA;;AAKA;;AAkMF;;;;;;;;AAvMgB;;AAAA;;AAKA;;AAAA;;;;;;AAtBlB;;AACE;;AAKA;;AAmNF;;;;;;;;AAxNgB;;AAAA;;AAKL;;AAAA;;;;;;AARf;;AACE;;AACE;;;;AA0NF;;AACF;;;;;;AA3NS;;AAAA;;;;QDvpBAqiB,mB;;;AA8DX,mCACUvgB,OADV,EAEU4E,MAFV,EAGU+V,KAHV,EAIS3Y,QAJT,EAKSC,eALT,EAMUF,MANV,EAOS9B,IAPT,EAQUugB,YARV,EAQmC;AAAA;;AAAA;;AAPzB,aAAAxgB,OAAA,GAAAA,OAAA;AACA,aAAA4E,MAAA,GAAAA,MAAA;AACA,aAAA+V,KAAA,GAAAA,KAAA;AACD,aAAA3Y,QAAA,GAAAA,QAAA;AACA,aAAAC,eAAA,GAAAA,eAAA;AACC,aAAAF,MAAA,GAAAA,MAAA;AACD,aAAA9B,IAAA,GAAAA,IAAA;AACC,aAAAugB,YAAA,GAAAA,YAAA;AArEV,aAAAta,KAAA,GAAsB,SAAtB;AACA,aAAAG,MAAA,GAAuB,MAAvB;AACA,aAAAoa,IAAA,GAAwB,aAAxB;AACA,aAAAC,WAAA,GAAc,GAAd;AAEO,aAAAC,KAAA,GAAc,IAAd;AACA,aAAAte,OAAA,GAAU,KAAV;AACA,aAAAue,eAAA,GAA8B,IAAI,iEAAJ,EAA9B;AACA,aAAAxe,SAAA,GAAuB,IAAI,qEAAJ,EAAvB;AACA,aAAA/B,aAAA,GAAqB,0EAArB;AAEA,aAAAwgB,YAAA,GAAoB,IAApB;AACA,aAAAC,YAAA,GAAoB,IAApB;AACA,aAAAC,aAAA,GAAkC,IAAI,mGAAJ,EAAlC;AACA,aAAAlG,gBAAA,GAAmB,CACxB,QADwB,EAExB,KAFwB,EAGxB,kBAHwB,EAIxB,KAJwB,EAKxB,OALwB,EAMxB,KANwB,EAOxB,SAPwB,CAAnB;AASA,aAAAC,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAkG,MAAA,GAAkB,KAAlB;AACA,aAAAC,aAAA,GAAgB,EAAhB;AACA,aAAAC,SAAA,GAAqB,IAArB;AAEG,aAAAC,iBAAA,GAAoB,IAAI,0DAAJ,EAApB;AACiB,aAAAC,aAAA,GAA4B,EAA5B;AAClB,aAAAnD,QAAA,GAA2C,EAA3C;AAOF,aAAAoD,QAAA,GAAgB;AACrBlE,qBAAW,EAAE;AACXC,kBAAM,EAAE,CAAC,SAAD,EAAY,SAAZ;AADG,WADQ;AAIrBhZ,cAAI,EAAE,EAJe;AAKrBkZ,mBAAS,EAAE,IALU;AAMrBC,mBAAS,EAAE,IANU;AAOrBC,kBAAQ,EAAE,KAPW;AAQrBC,oBAAU,EAAE,IARS;AASrBC,wBAAc,EAAE,IATK;AAUrBC,wBAAc,EAAE,IAVK;AAWrB2D,oBAAU,EAAE,KAXS;AAYrBC,oBAAU,EAAE,QAZS;AAarB3D,mBAAS,EAAE;AAbU,SAAhB;AAgBP,aAAA4D,iBAAA,GAAuC,IAAI,gGAAJ,CACrC,KAAKxhB,OADgC,EAErC,KAAK4E,MAFgC,EAGrC,KAAK5C,QAHgC,EAIrC,KAAKyf,KAJgC,EAKrC,KAAKxhB,IALgC,EAMrC,KAAKugB,YANgC,CAAvC;AAkBE,aAAK7F,KAAL,CAAWyD,MAAX,CAAkB7c,SAAlB,CAA4B,UAAC6c,MAAD,EAAY;AACtC,cAAIA,MAAM,CAACtgB,EAAP,IAAasgB,MAAM,CAAC1f,QAAP,KAAoB,MAArC,EAA6C;AAC3C,mBAAI,CAACuf,QAAL,GAAgB,EAAhB;AACA,mBAAI,CAACyD,YAAL,GAAoBtD,MAAM,CAACtgB,EAA3B;;AACA,mBAAI,CAAC6jB,iBAAL;AACD;AACF,SAND;AAOA,aAAKhB,KAAL,GAAa,IAAIhJ,IAAJ,EAAb;AACD;;;;yCAEgB;AAAA;;AACf,cAAI,CAAC,KAAKmC,gBAAV,EAA4B;AAC1B,iBAAK9Z,OAAL,CAAaqD,kBAAb,GAAkC9B,SAAlC,CACE,UAACC,QAAD,EAAmB;AACjB,qBAAI,CAACsf,YAAL,GAAoBtf,QAApB;;AACA,qBAAI,CAACogB,SAAL;AACD,aAJH,EAKE,UAACngB,KAAD,EAAW;AACT6C,qBAAO,CAACC,GAAR,CAAY,iCAAZ,EAA+C9C,KAA/C;AACD,aAPH;AASD,WAVD,MAUO;AACL,iBAAKqf,YAAL,GAAoB,KAAKhH,gBAAzB;AACA,iBAAK8H,SAAL;AACD;AACF;;;oCAEW;AAAA;;AACV,eAAKvf,OAAL,GAAe,IAAf;AACA,eAAKwf,oBAAL,GAA4B,KAAK5D,QAAL,CAAcpU,MAAd,CAC1B,UAACiY,CAAD;AAAA,mBAAOA,CAAC,CAACpD,QAAF,KAAe,IAAtB;AAAA,WAD0B,CAA5B;;AAGA,cAAI,KAAKmD,oBAAL,CAA0B5X,MAA1B,GAAmC,CAAvC,EAA0C;AACxC,iBAAK+W,MAAL,GAAc,IAAd;AACA,iBAAKI,aAAL,GAAqB,EAArB;AACD;;AAED,eAAKW,uBAAL,CAA6B,KAAKF,oBAAL,CAA0B,CAA1B,CAA7B;AACA,eAAK5f,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,mBAAO,EAAE,CACP;AACEgR,kBAAI,EAAE,QADR;AAEE7M,kBAAI,EAAE,4BAFR;AAGE0T,oBAAM,EAAE,kBAAM;AACZ,uBAAI,CAACxC,mBAAL;AACD;AALH,aADO,EAQP;AACErE,kBAAI,EAAE,QADR;AAEE7M,kBAAI,EAAE,8BAFR;AAGE0T,oBAAM,EAAE,kBAAM;AACZ,uBAAI,CAACC,0BAAL;AACD;AALH,aARO,EAeP;AACE9G,kBAAI,EAAE,WADR;AAEE7M,kBAAI,EAAE,gCAFR;AAGE0T,oBAAM,EAAE,kBAAM;AACZ,uBAAI,CAACL,iBAAL;AACD;AALH,aAfO,EAsBP;AACExG,kBAAI,EAAE,UADR;AAEE7M,kBAAI,EAAE,uBAFR;AAGE0T,oBAAM,EAAE,kBAAM;AACZ,uBAAI,CAACE,oBAAL;AACD;AALH,aAtBO,CADsB;AA+B/BC,mBAAO,EAAE;AA/BsB,WAAjC;AAkCA,eAAKniB,OAAL,CACGoiB,cADH,CACkB,KAAKV,YADvB,EAEGngB,SAFH,CAEa,UAACC,QAAD,EAAmB;AAC5B,gBAAIA,QAAQ,IAAI,CAAhB,EAAmB;AACjB,qBAAI,CAACS,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,uBAAO,EAAE,CACP;AACEgR,sBAAI,EAAE,WADR;AAEE7M,sBAAI,EAAE,gCAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACL,iBAAL;AACD;AALH,iBADO,EAQP;AACExG,sBAAI,EAAE,QADR;AAEE7M,sBAAI,EAAE,8BAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACC,0BAAL;AACD;AALH,iBARO,CADsB;AAiB/BE,uBAAO,EAAE;AAjBsB,eAAjC;AAmBD,aApBD,MAoBO,IAAI3gB,QAAQ,KAAK,CAAjB,EAAoB;AACzB,qBAAI,CAACS,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,uBAAO,EAAE,CACP;AACEgR,sBAAI,EAAE,WADR;AAEE7M,sBAAI,EAAE,gCAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACL,iBAAL;AACD;AALH,iBADO,CADsB;AAU/BQ,uBAAO,EAAE;AAVsB,eAAjC;AAYD,aAbM,MAaA,IAAI3gB,QAAQ,KAAK,CAAjB,EAAoB;AACzB,qBAAI,CAACS,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,uBAAO,EAAE,CACP;AACEgR,sBAAI,EAAE,WADR;AAEE7M,sBAAI,EAAE,gCAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACL,iBAAL;AACD;AALH,iBADO,EAQP;AACExG,sBAAI,EAAE,QADR;AAEE7M,sBAAI,EAAE,4BAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACxC,mBAAL;AACD;AALH,iBARO,CADsB;AAiB/B2C,uBAAO,EAAE;AAjBsB,eAAjC;AAmBD,aApBM,MAoBA;AACL,qBAAI,CAAClgB,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,uBAAO,EAAE,CACP;AACEgR,sBAAI,EAAE,QADR;AAEE7M,sBAAI,EAAE,4BAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACC,0BAAL;AACD;AALH,iBADO,EAQP;AACE9G,sBAAI,EAAE,WADR;AAEE7M,sBAAI,EAAE,gCAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACL,iBAAL;AACD;AALH,iBARO,EAeP;AACExG,sBAAI,EAAE,UADR;AAEE7M,sBAAI,EAAE,uBAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACE,oBAAL;AACD;AALH,iBAfO,CADsB;AAwB/BC,uBAAO,EAAE;AAxBsB,eAAjC;AA0BD;;AAED,mBAAI,CAAC9f,OAAL,GAAe,KAAf;AACD,WAtFH;AAuFD;;;oCAEWggB,O,EAAsB;AAChC,cAAIA,OAAO,CAACpE,QAAR,IAAoBoE,OAAO,CAACpE,QAAR,CAAiBqE,YAAjB,CAA8BrY,MAA9B,GAAuC,CAA/D,EAAkE;AAChE,iBAAKsY,cAAL;AACD;AACF;;;wCAEezC,O,EAAqB;AACnC,cAAIA,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,KAAjD,MAA4D,CAAC,CAAjE,EAAoE;AAClE,mBAAO,yBAAP;AACD,WAFD,MAEO,IACL2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAD3D,EAEL;AACA,mBAAO,8BAAP;AACD,WAJM,MAIA,IACL2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAD3D,EAEL;AACA,mBAAO,8BAAP;AACD,WAJM,MAIA,IACL2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAD3D,EAEL;AACA,mBAAO,8BAAP;AACD,WAJM,MAIA,IACL2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,MAAjD,MAA6D,CAAC,CADzD,EAEL;AACA,mBAAO,4BAAP;AACD,WAJM,MAIA,IACL2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAD3D,EAEL;AACA,mBAAO,8BAAP;AACD,WAJM,MAIA,IACL2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,OAAjD,MAA8D,CAAC,CAD1D,EAEL;AACA,mBAAO,yBAAP;AACD,WAJM,MAIA;AACL,mBAAO,0BAAP;AACD;AACF;;;uCAEc;AACb,eAAKnY,QAAL,CAAcgC,IAAd,CAAmB,kBAAnB,EAAuC,IAAvC,EAA6C;AAC3CC,oBAAQ,EAAE;AADiC,WAA7C;AAGD;;;2CAEkB6b,O,EAAS;AAAA;;AAC1B,eAAK9d,QAAL,CAAcgC,IAAd,CAAmB,4CAAnB,EAAiE,IAAjE,EAAuE;AACrEC,oBAAQ,EAAE;AAD2D,WAAvE;AAGA,cAAMue,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKjY,OAAL,CAAayiB,eAAb,CAA6B3C,OAAO,CAACxe,EAArC,EAAyCC,SAAzC,CACE,UAACC,QAAD,EAAmB;AACjB,gBAAIA,QAAQ,IAAI,IAAhB,EAAsB;AACpB,qBAAI,CAACQ,QAAL,CAAcgC,IAAd,CACE,yEADF,EAEE,IAFF,EAGE;AACEC,wBAAQ,EAAE;AADZ,eAHF;;AAOA,qBAAI,CAACuc,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,YAFF,EAGE,KAHF,EAIE,4CAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD;;AAED,mBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,YAFF,EAGE,IAHF,EAIE,sCAJF,EAKE5C,OAAO,CAACjJ,SALV;;AAQA,gBAAIrV,QAAQ,IAAIA,QAAQ,CAACmhB,IAAzB,EAA+B;AAC7B,sBAAQnhB,QAAQ,CAACmhB,IAAjB;AACE,qBAAK,QAAL;AACE,sBAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAb;AACAF,sBAAI,CAACG,QAAL,GAAgB,GAAhB;AACAH,sBAAI,CAACI,IAAL,GAAY,sEAAYC,UAAZ,GAAyB,MAAzB,GAAkCzhB,QAAQ,CAAC0hB,IAAvD;AACAL,0BAAQ,CAACM,IAAT,CAAcC,WAAd,CAA0BR,IAA1B;AACAA,sBAAI,CAACS,KAAL;AACAT,sBAAI,CAACU,MAAL;AACA;;AACF,qBAAK,QAAL;AACEC,wBAAM,CAACvf,IAAP,CAAY,sEAAYM,OAAZ,GAAsB9C,QAAQ,CAAC0hB,IAA3C,EAAiD,QAAjD;AACA;;AACF,qBAAK,UAAL;AACE;AACA,sBAAIM,GAAG,GAAG,EAAV;;AACA,sBAAIhiB,QAAQ,CAAC0hB,IAAT,CAAcplB,EAAd,CAAiB2lB,GAAjB,CAAqBnD,QAArB,CAA8B,mBAA9B,CAAJ,EAAwD;AACtDkD,uBAAG,GAAG,sEAAYE,YAAZ,GAA2BliB,QAAQ,CAAC0hB,IAAT,CAAcS,UAA/C;AACD,mBAFD,MAEO;AACLH,uBAAG,GAAG,sEAAYI,UAAZ,GAAyBpiB,QAAQ,CAAC0hB,IAAT,CAAcS,UAA7C;AACD;;AACDJ,wBAAM,CAACvf,IAAP,CAAYwf,GAAG,GAAGhiB,QAAQ,CAAC0hB,IAAT,CAAcS,UAAhC,EAA4C,QAA5C;AACA;;AACF;AACE;AAvBJ;AAyBD;;AAED7D,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;AACD,WAxDH,EAyDE,UAAC/gB,KAAD,EAAW;AACTqe,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,mBAAI,CAACxgB,QAAL,CAAcgC,IAAd,CAAmB,4BAA4BvC,KAAK,CAACA,KAArD,EAA4D,IAA5D,EAAkE;AAChEwC,sBAAQ,EAAE;AADsD,aAAlE;;AAGA,mBAAI,CAACuc,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,YAFF,EAGE,KAHF,EAIE,4CAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,WArEH;AAuED;;;kCAESiJ,O,EAAc;AACtB,iBACGA,OAAO,CAACpB,QAAR,KAAqB,IAArB,IACC,EACE,KAAKT,QAAL,CAAc7T,IAAd,CAAmB,UAACqU,EAAD;AAAA,mBAAQA,EAAE,CAACC,QAAH,KAAgB,IAAxB;AAAA,WAAnB,KACAoB,OAAO,CAACpB,QAAR,KAAqB,IAFvB,CADF,IAKCoB,OAAO,CAACpB,QAAR,KAAqB,IAArB,IAA6B,KAAK0C,aAAL,CAAmBnX,MAAnB,KAA8B,CAN9D;AAQD;;;2CAEkB6V,O,EAAS;AAC1B,eAAKc,eAAL,GAAuBd,OAAvB;AACA,eAAKhc,OAAL,CAAaE,IAAb;AACD;;;4CAEmB;AAAA;;AAClB,eAAKhE,OAAL,CAAaqD,kBAAb,GAAkC9B,SAAlC,CACE,UAACC,QAAD,EAAmB;AACjB,mBAAI,CAACsf,YAAL,GAAoBtf,QAApB;AACA,mBAAI,CAACwf,MAAL,GAAc,KAAd;AACA,mBAAI,CAAC3e,OAAL,GAAe,IAAf;;AACA,mBAAI,CAACrC,OAAL,CAAa6jB,qBAAb,CAAmC,OAAI,CAACnC,YAAxC,EAAsDngB,SAAtD,CACE,UAACC,QAAD,EAAmB;AACjB,qBAAI,CAACa,OAAL,GAAe,KAAf;AACA,qBAAI,CAAC4b,QAAL,GAAgBzc,QAAhB;AAEA,qBAAI,CAACqgB,oBAAL,GAA4B,OAAI,CAAC5D,QAAL,CAAcpU,MAAd,CAC1B,UAACiY,CAAD;AAAA,uBAAOA,CAAC,CAACpD,QAAF,KAAe,IAAtB;AAAA,eAD0B,CAA5B;;AAGA,kBAAI,OAAI,CAACmD,oBAAL,CAA0B5X,MAA1B,GAAmC,CAAvC,EAA0C;AACxC,uBAAI,CAAC+W,MAAL,GAAc,IAAd;AACA,uBAAI,CAACI,aAAL,GAAqB,EAArB;AACD;;AACD9c,qBAAO,CAACC,GAAR,CAAY,oBAAZ,EAAkC,OAAI,CAACsd,oBAAvC;;AACA,qBAAI,CAACE,uBAAL,CAA6B,OAAI,CAACF,oBAAL,CAA0B,CAA1B,CAA7B;;AACA,qBAAI,CAAC5f,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,uBAAO,EAAE,CACP;AACEgR,sBAAI,EAAE,QADR;AAEE7M,sBAAI,EAAE,4BAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACxC,mBAAL;AACD;AALH,iBADO,EAQP;AACErE,sBAAI,EAAE,QADR;AAEE7M,sBAAI,EAAE,8BAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACC,0BAAL;AACD;AALH,iBARO,EAeP;AACE9G,sBAAI,EAAE,WADR;AAEE7M,sBAAI,EAAE,gCAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACL,iBAAL;AACD;AALH,iBAfO,EAsBP;AACExG,sBAAI,EAAE,UADR;AAEE7M,sBAAI,EAAE,uBAFR;AAGE0T,wBAAM,EAAE,kBAAM;AACZ,2BAAI,CAACE,oBAAL;AACD;AALH,iBAtBO,CADsB;AA+B/BC,uBAAO,EAAE;AA/BsB,eAAjC;AAiCA;;;AACA,qBAAI,CAACniB,OAAL,CAAaoiB,cAAb,CAA4B,OAAI,CAACV,YAAjC,EAA+CngB,SAA/C,CACE,UAACC,QAAD,EAAmB;AACjB8C,uBAAO,CAACC,GAAR,CAAY,UAAZ,EAAwB/C,QAAxB;;AACA,oBAAIA,QAAQ,IAAI,CAAhB,EAAmB;AACjB,yBAAI,CAACS,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,2BAAO,EAAE,CACP;AACEgR,0BAAI,EAAE,WADR;AAEE7M,0BAAI,EAAE,gCAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACL,iBAAL;AACD;AALH,qBADO,EAQP;AACExG,0BAAI,EAAE,QADR;AAEE7M,0BAAI,EAAE,8BAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACC,0BAAL;AACD;AALH,qBARO,CADsB;AAiB/BE,2BAAO,EAAE;AAjBsB,mBAAjC;AAmBD,iBApBD,MAoBO,IAAI3gB,QAAQ,KAAK,CAAjB,EAAoB;AACzB8C,yBAAO,CAACC,GAAR,CAAY,YAAZ;;AAEA,yBAAI,CAACtC,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,2BAAO,EAAE,CACP;AACEgR,0BAAI,EAAE,WADR;AAEE7M,0BAAI,EAAE,gCAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACL,iBAAL;AACD;AALH,qBADO,CADsB;AAU/BQ,2BAAO,EAAE;AAVsB,mBAAjC;AAYD,iBAfM,MAeA,IAAI3gB,QAAQ,KAAK,CAAjB,EAAoB;AACzB,yBAAI,CAACS,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,2BAAO,EAAE,CACP;AACEgR,0BAAI,EAAE,WADR;AAEE7M,0BAAI,EAAE,gCAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACL,iBAAL;AACD;AALH,qBADO,EAQP;AACExG,0BAAI,EAAE,QADR;AAEE7M,0BAAI,EAAE,4BAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACxC,mBAAL;AACD;AALH,qBARO,CADsB;AAiB/B2C,2BAAO,EAAE;AAjBsB,mBAAjC;AAmBD,iBApBM,MAoBA;AACL,yBAAI,CAAClgB,eAAL,CAAqBiB,WAArB,CAAiC;AAC/BiH,2BAAO,EAAE,CACP;AACEgR,0BAAI,EAAE,QADR;AAEE7M,0BAAI,EAAE,4BAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACC,0BAAL;AACD;AALH,qBADO,EAQP;AACE9G,0BAAI,EAAE,WADR;AAEE7M,0BAAI,EAAE,gCAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACL,iBAAL;AACD;AALH,qBARO,EAeP;AACExG,0BAAI,EAAE,UADR;AAEE7M,0BAAI,EAAE,uBAFR;AAGE0T,4BAAM,EAAE,kBAAM;AACZ,+BAAI,CAACE,oBAAL;AACD;AALH,qBAfO,CADsB;AAwB/BC,2BAAO,EAAE;AAxBsB,mBAAjC;AA0BD;AACF,eAtFH,EAuFE,UAAC1gB,KAAD,EAAW;AACT,uBAAI,CAACO,QAAL,CAAcgC,IAAd,CACE,mCAAmCvC,KAAK,CAACA,KAD3C,EAEE,IAFF,EAGE;AACEwC,0BAAQ,EAAE;AADZ,iBAHF;AAOD,eA/FH;AAiGD,aAjJH,EAkJE,UAACxC,KAAD,EAAW;AACT,kBAAIA,KAAK,CAACuM,MAAN,KAAiB,GAArB,EAA0B;AACxB,uBAAI,CAACpJ,MAAL,CAAY6L,aAAZ,CAA0B,GAA1B;AACD,eAFD,MAEO;AACL,uBAAI,CAACpO,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACL,QAAL,CAAcgC,IAAd,CACE,gCAAgCvC,KAAK,CAACA,KADxC,EAEE,IAFF,EAGE;AACEwC,0BAAQ,EAAE;AADZ,iBAHF;AAOD;AACF,aA/JH;AAiKD,WAtKH,EAuKE,UAACxC,KAAD,EAAW,CAAE,CAvKf;AAyKD;;;oCAEW6M,I,EAAM;AAChB,cAAM9M,QAAQ,GAAG8M,IAAI,CAAC0R,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAjB;AACA,cAAIC,cAAc,GAAG,EAArB;AACAze,kBAAQ,CAACX,KAAT,CAAe,GAAf,EAAoBoL,OAApB,CAA4B,UAACC,OAAD,EAAa;AACvC,gBAAI+T,cAAc,CAAChW,MAAf,KAA0B,CAA9B,EAAiC;AAC/BgW,4BAAc,IAAI,GAAlB;AACD;;AACDA,0BAAc,IACZ/T,OAAO,CAACgU,MAAR,CAAe,CAAf,EAAkBC,WAAlB,KAAkCjU,OAAO,CAACgO,WAAR,GAAsBvY,KAAtB,CAA4B,CAA5B,CADpC;AAED,WAND;AAOA,iBAAOse,cAAP;AACD;;;4CAEmBX,Y,EAAuB;AAAA;;AACzC,cAAMwE,UAAU,GAAGxE,YAAY,GAAGA,YAAH,GAAkB,KAAKoC,YAAtD;AACA,eAAK1hB,OAAL,CAAa+jB,oBAAb,CAAkCD,UAAlC,EAA8CviB,SAA9C,CACE,UAACC,QAAD,EAAc;AACZ,mBAAI,CAACoD,MAAL,CAAY6L,aAAZ,CACE,iCAAiCuT,kBAAkB,CAACF,UAAD,CAAnD,GAAkE,GADpE,EAEE;AAAEzI,gCAAkB,EAAE;AAAtB,aAFF;AAID,WANH,EAOE,UAAC5Z,KAAD,EAAW;AACT,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CACE,uCAAuCvC,KAAK,CAACA,KAD/C,EAEE,IAFF,EAGE;AACEwC,sBAAQ,EAAE;AADZ,aAHF;AAOD,WAfH;AAiBD;;;mDAE0Bqb,Y,EAAuB;AAChD,eAAKyB,aAAL,CAAmB1C,UAAnB,GAAgC,KAAKyC,YAAL,CAAkBxf,EAAlD;AACA,eAAKyf,aAAL,CAAmBkD,YAAnB,GAAkC3E,YAAY,GAC1CA,YAD0C,GAE1C,KAAKoC,YAFT;AAGA,eAAK9c,MAAL,CAAY6L,aAAZ,CACE,wCACEuT,kBAAkB,CAAC,KAAKjD,aAAL,CAAmBkD,YAApB,CADpB,GAEE,GAFF,GAGED,kBAAkB,CAAC,KAAKjD,aAAL,CAAmB1C,UAApB,CAHpB,GAIE,GALJ,EAME;AAAEhD,8BAAkB,EAAE;AAAtB,WANF;AAQD;;;+CAEsB;AACrB,eAAKzW,MAAL,CAAY6L,aAAZ,CACE,iCACEuT,kBAAkB,CAAC,KAAKtC,YAAN,CADpB,GAEE,GAHJ,EAIE;AAAErG,8BAAkB,EAAE;AAAtB,WAJF;AAMD;;;iCAEQyE,O,EAAqB;AAC5B,cAAIA,OAAO,CAACjJ,SAAR,IAAqB,IAAzB,EAA+B;AAC7B,mBAAO,KAAKkJ,WAAL,CAAiBD,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAvD,CAAP;AACD,WAFD,MAEO,IAAIoQ,OAAO,CAAC9H,WAAR,IAAuB,IAA3B,EAAiC;AACtC,mBAAO,KAAK+H,WAAL,CAAiBD,OAAO,CAAC9H,WAAzB,CAAP;AACD,WAFM,MAEA;AACL,mBAAO,KAAK+H,WAAL,CAAiBD,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAvD,CAAP;AACD;AACF;;;6CAEoBoQ,O,EAAS;AAC5B,iBAAO,YAAYA,OAAO,CAAC7H,KAApB,GAA4B,uBAAnC;AACD;;;oCAEWiM,e,EAAyB;AACnC,kBAAQA,eAAR;AACE,iBAAK,IAAL;AACE,qBAAO,cAAP;;AACF,iBAAK,IAAL;AACE,qBAAO,eAAP;;AACF;AACE,qBAAO,sBAAsBA,eAA7B;AANJ;AAQD;;;qCAEYtF,S,EAAmBC,U,EAAoB;AAClD,eAAKsC,iBAAL,CAAuB1U,IAAvB,CAA4B;AAAEmS,qBAAS,EAATA,SAAF;AAAaC,sBAAU,EAAVA;AAAb,WAA5B;AACD;;;gDAEuBsF,W,EAAa;AACnC,cAAIA,WAAW,IAAI,IAAnB,EAAyB;AACvB,gBAAMC,OAAO,GAAGD,WAAW,CAAClF,YAAZ,CAAyBoF,MAAzB,CAAgC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACxD,kBAAMlE,GAAG,GAAGkE,CAAC,CAAC1N,SAAF,CAAYhW,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAZ;AACAyjB,eAAC,CAACjE,GAAD,CAAD,GAASiE,CAAC,CAACjE,GAAD,CAAD,IAAU,EAAnB;AACAiE,eAAC,CAACjE,GAAD,CAAD,CAAO1T,IAAP,CAAY4X,CAAZ;AACA,qBAAOD,CAAP;AACD,aALe,EAKbE,MAAM,CAACC,MAAP,CAAc,IAAd,CALa,CAAhB;AAMAngB,mBAAO,CAACC,GAAR,CAAY,WAAZ,EAAyB6f,OAAzB;AACA,iBAAKvC,oBAAL,GAA4BuC,OAA5B;AACA,iBAAKM,YAAL,CAAkBF,MAAM,CAAC7mB,IAAP,CAAY,KAAKkkB,oBAAjB,CAAlB;AACD;AACF;;;sCAEa8C,K,EAAO;AACnB,kBAAQA,KAAR;AACE,iBAAK,SAAL;AACE,qBAAO,iBAAP;;AACF,iBAAK,UAAL;AACE,qBAAO,YAAP;;AACF,iBAAK,WAAL;AACE,qBAAO,aAAP;;AACF,iBAAK,MAAL;AACE,qBAAO,cAAP;;AACF,iBAAK,SAAL;AACE,qBAAO,mBAAP;;AACF,iBAAK,iBAAL;AACE,qBAAO,aAAP;;AACF,iBAAK,eAAL;AACE,qBAAO,mBAAP;;AACF;AACE,qBAAO,EAAP;AAhBJ;AAkBD;;;wCAEeA,K,EAAO;AACrB,kBAAQA,KAAR;AACE,iBAAK,SAAL;AACE,qBAAO,gCAAP;;AACF,iBAAK,UAAL;AACE,qBAAO,WAAP;;AACF,iBAAK,WAAL;AACE,qBAAO,SAAP;;AACF,iBAAK,MAAL;AACE,qBAAO,SAAP;;AACF,iBAAK,SAAL;AACE,qBAAO,YAAP;;AACF,iBAAK,iBAAL;AACE,qBAAO,SAAP;;AACF,iBAAK,eAAL;AACE,qBAAO,YAAP;;AACF;AACE,qBAAO,GAAP;AAhBJ;AAkBD;;;mCAEUC,O,EAAc;AACvB,eAAK/D,YAAL,GAAoB+D,OAApB;AACD;;;qCAEYC,U,EAAiB;AAAA;;AAC5BA,oBAAU,CAAC5Y,OAAX,CAAmB,UAACC,OAAD,EAAa;AAC9B;AACA,mBAAI,CAAClM,OAAL,CAAa8e,YAAb,CAA0B,OAAI,CAACgC,YAAL,CAAkBxf,EAA5C,EAAgD4K,OAAhD,EAAyD3K,SAAzD,CACE,UAAC6C,IAAD,EAAe;AACbE,qBAAO,CAACC,GAAR,CAAY,aAAZ,EAA2BH,IAA3B;;AACA,kBAAIA,IAAI,KAAK,IAAb,EAAmB;AACjB,uBAAI,CAAC8c,SAAL,GAAiB,KAAjB;AACA,uBAAI,CAACD,aAAL,CAAmB/U,OAAnB,IAA8B,EAA9B;AACD,eAHD,MAGO;AACL,uBAAI,CAACgV,SAAL,GAAiB,IAAjB;AACA,uBAAI,CAACD,aAAL,CAAmB/U,OAAnB,IAA8B9H,IAA9B;AACD;AACF,aAVH,EAWE,UAAC3C,KAAD,EAAW;AACT,qBAAI,CAACyf,SAAL,GAAiB,KAAjB;AACA,qBAAI,CAACD,aAAL,CAAmB/U,OAAnB,IAA8B,EAA9B;AACA5H,qBAAO,CAAC7C,KAAR,CAAc,uCAAuCA,KAAK,CAACA,KAA3D;AACD,aAfH;AAiBD,WAnBD;AAoBA6C,iBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+B,KAAK0c,aAApC;AACD;;;kCAES;AAAA;;AACR,eAAKjhB,OAAL,CAAaqD,kBAAb,GAAkC9B,SAAlC,CACE,UAACC,QAAD,EAAmB;AACjB,mBAAI,CAACsf,YAAL,GAAoBtf,QAApB;AACD,WAHH,EAIE,UAACC,KAAD,EAAW,CAAE,CAJf;AAMD;;;4CAEmBqjB,M,EAAQ;AAC1B,cAAIA,MAAM,KAAK,CAAf,EAAkB;AAChB,iBAAK9D,MAAL,GAAc,IAAd;AACD,WAFD,MAEO;AACL,iBAAKA,MAAL,GAAc,KAAd;AACA,iBAAKH,YAAL,GAAoB,IAApB;AACD;AACF;;;uCAEclT,O,EAASqU,M,EAAQ;AAC9B,eAAKhgB,QAAL,CAAcgC,IAAd,CAAmB2J,OAAnB,EAA4BqU,MAA5B,EAAoC;AAClC/d,oBAAQ,EAAE;AADwB,WAApC;AAGD;;;kCAES6b,O,EAAqB;AAAA;;AAC7B,eAAKiF,cAAL,CAAoB,sCAApB,EAA4D,IAA5D;AACA,cAAMvC,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKjY,OAAL,CAAaglB,SAAb,CAAuBlF,OAAO,CAACxe,EAA/B,EAAmCC,SAAnC,CACE,YAAM;AACJue,mBAAO,CAAC7H,KAAR,GAAgB,UAAhB;;AACA,mBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,0BADtB,EAEE,IAFF;;AAIA,mBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,aAFF,EAGE,IAHF,EAIE,4BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,WAdH,EAeE,UAACpV,KAAD,EAAW;AACT,mBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,mBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,aAFF,EAGE,KAHF,EAIE,+BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,WAzBH;AA2BD;;;mCACUiJ,O,EAAqB;AAAA;;AAC9B;AACA,cAAM0C,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,WADH;AAEJC,qBAAO,EAAE,yCAFL;AAGJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAailB,UAAb,CAAwBnF,OAAO,CAACxe,EAAhC,EAAoCC,SAApC,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,WAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,wBADtB,EAEE,IAFF;;AAIA,yBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,WAFF,EAGE,IAHF,EAIE,0BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAdH,EAeE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,yBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,WAFF,EAGE,IAHF,EAIE,6BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAzBH;AA2BD;AA/BG;AAH6B,WAArC;AAqCD;;;kCAESiJ,O,EAAqB;AAAA;;AAC7B;AACA,cAAM0C,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,cADH;AAEJC,qBAAO,EAAE,4CAFL;AAGJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAaklB,SAAb,CAAuBpF,OAAO,CAACxe,EAA/B,EAAmCC,SAAnC,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,SAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,2BADtB,EAEE,IAFF;;AAIA,yBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,cAFF,EAGE,IAHF,EAIE,6BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAdH,EAeE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,yBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,cAFF,EAGE,KAHF,EAIE,gCAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAzBH;AA2BD;AA/BG;AAH6B,WAArC;AAqCD;;;iCAEQiJ,O,EAAqB;AAAA;;AAC5B,eAAKiF,cAAL,CAAoB,sCAApB,EAA4D,IAA5D;AACA,cAAMvC,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,cADH;AAEJC,qBAAO,EAAE,4CAFL;AAGJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAamlB,QAAb,CAAsBrF,OAAO,CAACxe,EAA9B,EAAkCC,SAAlC,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,UAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,2BADtB,EAEE,IAFF;;AAIA,yBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,cAFF,EAGE,IAHF,EAIE,6BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAdH,EAeE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,yBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,cAFF,EAGE,KAHF,EAIE,gCAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAzBH;AA2BD;AA/BG;AAH6B,WAArC;AAqCD;;;kCAESiJ,O,EAAqB;AAAA;;AAC7B;AACA,cAAM0C,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,cADH;AAEJC,qBAAO,EAAE,4CAFL;AAGJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAaolB,SAAb,CAAuBtF,OAAO,CAACxe,EAA/B,EAAmCC,SAAnC,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,SAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,2BADtB,EAEE,IAFF;;AAIA,yBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,cAFF,EAGE,IAHF,EAIE,6BAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAdH,EAeE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,yBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CACE,gBADF,EAEE,cAFF,EAGE,KAHF,EAIE,gCAJF,EAKE5C,OAAO,CAACjJ,SALV;AAOD,iBAzBH;AA2BD;AA/BG;AAH6B,WAArC;AAqCD;;;2CAEkBiJ,O,EAAqB;AAAA;;AACtC;AACA,cAAM0C,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,oCADH;AAEJC,qBAAO,EACL,uEAHE;AAIJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAaqlB,kBAAb,CAAgCvF,OAAO,CAACxe,EAAxC,EAA4CC,SAA5C,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,WAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,wBADtB,EAEE,IAFF;AAID,iBAPH,EAQE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;AACD,iBAXH;AAaD;AAlBG;AAH6B,WAArC;AAwBD;;;0CAEiB1C,O,EAAqB;AAAA;;AACrC,eAAKiF,cAAL,CAAoB,uCAApB,EAA6D,IAA7D;AACA,cAAMvC,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,sCADH;AAEJC,qBAAO,EACL,0EAHE;AAIJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAaslB,iBAAb,CAA+BxF,OAAO,CAACxe,EAAvC,EAA2CC,SAA3C,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,SAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,2BADtB,EAEE,IAFF;AAID,iBAPH,EAQE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;AACD,iBAXH;AAaD;AAlBG;AAH6B,WAArC;AAwBD;;;wCAEe1C,O,EAAqB;AAAA;;AACnC,eAAKiF,cAAL,CAAoB,sCAApB,EAA4D,IAA5D;AACA,cAAMvC,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKlW,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCqJ,uBAAW,EAAE,IADsB;AAEnCC,wBAAY,EAAE,KAFqB;AAGnClJ,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,sCADH;AAEJC,qBAAO,EACL,0EAHE;AAIJC,gBAAE,EAAE,cAAM;AACR,uBAAI,CAACzN,OAAL,CAAaulB,eAAb,CAA6BzF,OAAO,CAACxe,EAArC,EAAyCC,SAAzC,CACE,YAAM;AACJue,yBAAO,CAAC7H,KAAR,GAAgB,SAAhB;;AACA,yBAAI,CAAC8M,cAAL,CACEjF,OAAO,CAACjJ,SAAR,GAAoB,2BADtB,EAEE,IAFF;AAID,iBAPH,EAQE,UAACpV,KAAD,EAAW;AACT,yBAAI,CAACsjB,cAAL,CAAoBtjB,KAAK,CAACA,KAA1B,EAAiC,IAAjC;;AACAqe,yBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;AACD,iBAXH;AAaD;AAlBG;AAH6B,WAArC;AAwBD;;;0CAEiB1C,O,EAAqB;AACrC,cAAIA,OAAO,CAAC0F,cAAR,KAA2B,KAA/B,EAAsC;AACpC,mBAAO,IAAP;AACD,WAFD,MAEO;AACL,mBAAO,KAAP;AACD;AACF;;;;;;;uBA/gCUjF,mB,EAAmB,uI,EAAA,wH,EAAA,gI,EAAA,yI,EAAA,6I,EAAA,oI,EAAA,yI,EAAA,yJ;AAAA,K;;;YAAnBA,mB;AAAmB,qC;AAAA;AAAA;;;oEAmCnB,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EpB;;AACE;;AACE;;AACF;;AAEA;;AAKA;;AACE;;AACE;;AAIF;;AAGA;;AAUA;;AA8pBA;;;;AAGA;;AA8NF;;AACF;;;;AA35BuB;;AAAA;;AAInB;;AAAA;;AAMqC;;AAAA;;AASnC;;AAAA;;AAQG;;AAAA;;AA8pBS;;AAAA;;AAGT;;AAAA;;;;;;;;;;sEDrpBIA,mB,EAAmB;cAN/B,uDAM+B;eANrB;AACT;AACAviB,kBAAQ,EAAE,gBAFD;AAGTC,qBAAW,EAAE,6BAHJ;AAITC,mBAAS,EAAE,CAAC,6BAAD;AAJF,S;AAMqB,Q;;;;;;;;;;;;;;;;;;;;gBA6B7B;;;gBACA,mD;iBAAM,kB;;;gBACN;;;gBACA,mD;iBAAM,c;;;gBACN;;;gBACA,uD;iBAAU,S;;;gBACV,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AE7Eb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAUoB;;AAAiE;;AAAc;;;;;;AAA9B;;AAAgB;;AAAA;;;;;;AAMjE;;AAAqE;;AAAiB;;;;;;AAAtC;;AAAqB;;AAAA;;;;QDA5EunB,iB;;;AAST,iCAAoBzlB,OAApB,EAA+CgC,QAA/C,EAA6EE,WAA7E,EAAwG;AAAA;;AAApF,aAAAlC,OAAA,GAAAA,OAAA;AAA2B,aAAAgC,QAAA,GAAAA,QAAA;AAA8B,aAAAE,WAAA,GAAAA,WAAA;AALnE,aAAAwjB,sBAAA,GAAyB,IAAI,0DAAJ,EAAzB;AACV,aAAAC,MAAA,GAAkB,CAAlB;AACA,aAAAvjB,SAAA,GAAwB,IAAI,qEAAJ,EAAxB;AACO,aAAAC,OAAA,GAAkB,KAAlB;AAGH,aAAKujB,mBAAL,GAA2B,KAAK1jB,WAAL,CAAiBS,KAAjB,CAAuB;AAC9C,kBAAS,CAAC;AAACC,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,CAApC,CADqC;AAE9C,kBAAS,CAAC;AAACF,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,CAApC,CAFqC;AAG9C,oBAAW,CAAC;AAACF,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,CAApC;AAHmC,SAAvB,CAA3B;AAKH;;;;oCAEWuf,O,EAAS;AACjB,cAAIA,OAAO,CAACwD,iBAAR,IAA6BxD,OAAO,CAACwD,iBAAR,CAA0BvD,YAA3D,EAAyE;AACrEhe,mBAAO,CAACC,GAAR,CAAY,SAAZ,EAAuB8d,OAAvB;AACA,iBAAKyD,YAAL;AACH;AACJ;;;mCAEU;AACP,eAAKD,iBAAL,GAAyB,IAAI,2EAAJ,EAAzB;AACH;;;mCAEO;AAAA;;AACJ,eAAKxjB,OAAL,GAAe,IAAf;AACA,eAAKrC,OAAL,CAAa+lB,oBAAb,CAAkC,KAAKF,iBAAvC,EAA0DtkB,SAA1D,CACI,UAACC,QAAD,EAAgB;AACZ,mBAAI,CAACa,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,sCAAnB,EAA2D,IAA3D,EAAiE;AAC7DC,sBAAQ,EAAE;AADmD,aAAjE;;AAGA,mBAAI,CAACH,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAAC2hB,sBAAL,CAA4BjZ,IAA5B,CAAiCjL,QAAjC;AACH,WARL,EASI,UAAAC,KAAK,EAAE;AACH,mBAAI,CAACY,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,0BAA0BvC,KAAK,CAACA,KAAnD,EAA0D,IAA1D,EAAgE;AAC5DwC,sBAAQ,EAAE;AADkD,aAAhE;AAGH,WAdL;AAgBH;;;uCAEW;AAAA;;AACR,eAAK5B,OAAL,GAAa,IAAb;AACA,eAAKrC,OAAL,CAAagmB,cAAb,CAA4B,KAAKH,iBAAL,CAAuB1X,aAAnD,EAAkE5M,SAAlE,CACI,UAACC,QAAD,EAAiB;AACb,mBAAI,CAACa,OAAL,GAAa,KAAb;AACA,mBAAI,CAACwjB,iBAAL,CAAuB1X,aAAvB,GAAuC3M,QAAvC;AACH,WAJL,EAKI,UAAAC,KAAK,EAAE;AACH,mBAAI,CAACY,OAAL,GAAa,KAAb;AACH,WAPL;AASH;;;;;;;uBA3DQojB,iB,EAAiB,sI,EAAA,wI,EAAA,2H;AAAA,K;;;YAAjBA,iB;AAAiB,yC;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,slC;AAAA;AAAA;AChB9B;;AACA;;AACI;;AACI;;AAAI;;AAA0B;;AAClC;;AACA;;AAAwC;AAAA,mBAAY,IAAAQ,QAAA,EAAZ;AAAsB,WAAtB;;AACpC;;AACI;;AACI;;AAAY;AAAA,mBAAmB,IAAAH,YAAA,EAAnB;AAAiC,WAAjC,EAAkC,eAAlC,EAAkC;AAAA;AAAA,WAAlC;;AAER;;AACJ;;AACJ;;AACA;;AACI;;AAAY;AAAA,mBAAmB,IAAAA,YAAA,EAAnB;AAAiC,WAAjC,EAAkC,eAAlC,EAAkC;AAAA;AAAA,WAAlC;;AAER;;AACJ;;AACJ;;AACA;;AACI;;AAA8B;AAAA;AAAA;;AAC1B;;AAAwB;;AAAK;;AACjC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAA+C;;;;AAAmH;;AACtK;;AACA;;AACI;;AAA8H;;AAAO;;AACzI;;AACJ;;AACJ;;AACJ;;;;AAlCkB;;AAKR;;AAAA;;AAGyG;;AAAA;;AAEnF;;AAAA;;AAIgF;;AAAA;;AAEhF;;AAAA;;AAIc;;AAAA;;AACd;;AAAA;;AAM+B;;AAAA;;AAG4B;;AAAA;;;;;;;;;;sEDd9EL,iB,EAAiB;cAN7B,uDAM6B;eANnB;AACPznB,kBAAQ,EAAE,oBADH;AAEPC,qBAAW,EAAE,qCAFN;AAGPC,mBAAS,EAAE,CAAC,iCAAD;AAHJ,S;AAMmB,Q;;;;;;;;;;gBACzB;;;gBACA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AEpBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;ACWgC;;AAAuE;AAAA;;AAAA;;AAAA,iBAAS,SAAAsjB,iBAAA,4BAAT;AAA6C,SAA7C;;AAC3D;;AAAyB;;AAAmB;;AAChD;;;;;;;;AACR;;AAAuE;AAAA;;AAAA;;AAAA,iBAAS,SAAAA,iBAAA,6BAAT;AAA8C,SAA9C;;AAC3D;;AAAyB;;AAAI;;AACjC;;;;;;;;AACR;;AAAyE;AAAA;;AAAA;;AAAA,iBAAS,SAAAA,iBAAA,4BAAT;AAA6C,SAA7C;;AAC7D;;AAAyB;;AAAoB;;AACjD;;;;;;;;AACR;;AAAuE;AAAA;;AAAA;;AAAA,iBAAS,SAAAA,iBAAA,2BAAT;AAA4C,SAA5C;;AAC3D;;AAAyB;;AAAmB;;AAChD;;;;;;AAZZ;;AACI;;AAGA;;AAGA;;AAGA;;AAGJ;;;;;;AAZ0H;;AAAA;;AAGC;;AAAA;;AAGC;;AAAA;;AAGH;;AAAA;;;;QDExI0E,e;;;AA4BT,+BAAoBlmB,OAApB,EAA+CiC,eAA/C,EAA0F0Y,KAA1F,EAAwH3Y,QAAxH,EAAuJ4C,MAAvJ,EAA+K6c,KAA/K,EAAwMxhB,IAAxM,EAAmOugB,YAAnO,EAA8P;AAAA;;AAAA;;AAA1O,aAAAxgB,OAAA,GAAAA,OAAA;AAA2B,aAAAiC,eAAA,GAAAA,eAAA;AAA2C,aAAA0Y,KAAA,GAAAA,KAAA;AAA8B,aAAA3Y,QAAA,GAAAA,QAAA;AAA+B,aAAA4C,MAAA,GAAAA,MAAA;AAAwB,aAAA6c,KAAA,GAAAA,KAAA;AAAyB,aAAAxhB,IAAA,GAAAA,IAAA;AAA2B,aAAAugB,YAAA,GAAAA,YAAA;AArBnO,aAAAgB,iBAAA,GAAuC,IAAI,gGAAJ,CAAsB,KAAKxhB,OAA3B,EAAoC,KAAK4E,MAAzC,EAAiD,KAAK5C,QAAtD,EAAgE,KAAKyf,KAArE,EAA2E,KAAKxhB,IAAhF,EAAsF,KAAKugB,YAA3F,CAAvC;AACA,aAAAngB,aAAA,GAAqB,0EAArB;AACA,aAAA+B,SAAA,GAAuB,IAAI,qEAAJ,EAAvB;AAGA,aAAA+jB,QAAA,GAAW,EAAX;AACO,aAAAC,sBAAA,GAAyB;AAC5BC,iBAAO,EAAE,CACL;AAAE/X,gBAAI,EAAE,OAAR;AAAiBgY,iBAAK,EAAE;AAAxB,WADK,EAEL;AAAEhY,gBAAI,EAAE,oBAAR;AAA8BgY,iBAAK,EAAE;AAArC,WAFK,EAGL;AAAEhY,gBAAI,EAAE,wBAAR;AAAkCgY,iBAAK,EAAE;AAAzC,WAHK,EAIL;AAAEhY,gBAAI,EAAE,wBAAR;AAAkCgY,iBAAK,EAAE,OAAzC;AAAmDC,kBAAM,EAAE;AAA3D,WAJK,CADmB;AAO5BniB,cAAI,EAAE,EAPsB;AAQ5BoiB,iBAAO,EAAE,CACL;AAAE,oBAAQ,QAAV;AAAoB,qBAAS,iBAAM;AAAE,qBAAI,CAACC,OAAL;AAAgB,aAArD;AAAuD,oBAAQ,eAA/D;AAAgF,qBAAS;AAAzF,WADK,CARmB;AAW5B5c,gBAAM,EAAE,WAXoB;AAY5B6c,iBAAO,EAAE,iBAACC,CAAD,EAAO;AAAE,mBAAI,CAACC,qBAAL;AAA8B;AAZpB,SAAzB;AAgBH,aAAKjM,KAAL,CAAWyD,MAAX,CAAkB7c,SAAlB,CAA4B,UAAA6c,MAAM,EAAI;AAClC,iBAAI,CAACyI,qBAAL,CAA2BzI,MAAM,CAAC,WAAD,CAAjC;AACH,SAFD;AAGA,aAAK7d,KAAL,GAAa,KAAKN,IAAL,CAAUO,QAAV,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACH;;;;uCAEc;AACX,eAAKgmB,YAAL,GAAoB,IAAI,2EAAJ,EAApB;AACH;;;2CAEkBhH,O,EAAqB;AAAA;;AACpC,cAAIzb,SAAS,GAAG,KAAKod,KAAL,CAAWzd,IAAX,CAAgB,iGAAhB,EAAkC;AAC9CI,gBAAI,EAAE;AACFyS,uBAAS,EAAEiJ,OAAO,CAACjJ,SADjB;AAEFmB,yBAAW,EAAE8H,OAAO,CAAC9H,WAFnB;AAGF1W,gBAAE,EAAEwe,OAAO,CAACxe;AAHV,aADwC;AAM9CylB,iBAAK,EAAE;AANuC,WAAlC,CAAhB;AAQA1iB,mBAAS,CAACyJ,WAAV,GAAwBvM,SAAxB,CACI,UAAAwM,MAAM,EAAI;AACN,gBAAGA,MAAH,EACI,OAAI,CAAC+R,OAAL,CAAa9H,WAAb,GAA2BjK,MAA3B;AACP,WAJL;AAMH;;;gDAEuB;AAAA;;AACpB,eAAK/N,OAAL,CAAagnB,qBAAb,CAAmC,KAAKlH,OAAL,CAAaxe,EAAhD,EAAoDC,SAApD,CACI,UAACC,QAAD,EAAkB;AACd,mBAAI,CAACS,eAAL,CAAqBiB,WAArB,CAAiC;AAC7BC,kBAAI,EAAE,OAAI,CAAC4c,WAAL,CAAiB,OAAI,CAACD,OAAL,CAAa9H,WAA9B,CADuB;AAE7B7N,qBAAO,EAAE,CACL;AAAEgR,oBAAI,EAAE,KAAR;AAAe7M,oBAAI,EAAE,eAArB;AAAsC0T,sBAAM,EAAE,kBAAM;AAAE,yBAAI,CAACyE,OAAL;AAAgB;AAAtE,eADK,EAEL;AAAEtL,oBAAI,EAAE,MAAR;AAAgB7M,oBAAI,EAAE,mBAAtB;AAA2C0T,sBAAM,EAAE,kBAAM;AAAE,yBAAI,CAACiF,MAAL;AAAe;AAA1E,eAFK,CAFoB;AAM7B9E,qBAAO,EAAE;AANoB,aAAjC;;AAQA,mBAAI,CAACgE,QAAL,GAAgB,EAAhB;AACA3kB,oBAAQ,CAACyK,OAAT,CAAiB,UAAAC,OAAO,EAAI;AACpBA,qBAAO,CAACiC,aAAR,CAAsB+Y,QAAtB,GAAkChb,OAAO,CAACiC,aAAR,CAAsBpD,IAAtB,CAA2BE,GAA3B,GAAiCiB,OAAO,CAACiC,aAAR,CAAsBgK,MAAtB,CAA6BpN,IAA7B,CAAkCE,GAArG;;AACA,qBAAI,CAACkb,QAAL,CAAcxZ,IAAd,CAAmBT,OAAnB;AACP,aAHD;;AAIA,mBAAI,CAACib,sBAAL,CAA4BC,OAA5B,CAAoC,OAAI,CAACjB,QAAzC;AACH,WAhBL,EAiBI,UAAA1kB,KAAK,EAAI,CAER,CAnBL;AAqBH;;;mCAEU;AACP,eAAKqe,OAAL,GAAe,IAAI,iEAAJ,EAAf;AACA,eAAK7d,eAAL,CAAqBiB,WAArB,CAAiC;AAC7BC,gBAAI,EAAE,GADuB;AAE7BgH,mBAAO,EAAE;AAFoB,WAAjC;AAKH;;;kCAES;AACN,eAAK2c,YAAL,GAAoB,IAAI,2EAAJ,EAApB;AACA,eAAKA,YAAL,CAAkBO,eAAlB,GAAoC,KAAKvH,OAAL,CAAaxe,EAAjD;AACA,eAAKwC,OAAL,CAAaE,IAAb;AACH;;;iCAEQsjB,G,EAAK;AACV,eAAKH,sBAAL,CAA4BI,OAA5B,CAAoCD,GAApC;AACH;;;iCAEQ;AACL,eAAK1iB,MAAL,CAAY6L,aAAZ,CAA0B,4BAA4BuT,kBAAkB,CAAC,KAAKlE,OAAL,CAAaF,SAAd,CAA9C,GAAyE,GAAnG,EAAwG;AAAEvE,8BAAkB,EAAE;AAAtB,WAAxG;AACH;;;8CAEqBxE,S,EAAmB;AAAA;;AACrC,eAAK7W,OAAL,CAAawnB,UAAb,CAAwB3Q,SAAxB,EAAmCtV,SAAnC,CACI,UAACC,QAAD,EAAkB;AACd,mBAAI,CAACse,OAAL,GAAete,QAAf;;AACA,mBAAI,CAAColB,qBAAL;AACH,WAJL,EAKI,UAAAnlB,KAAK,EAAI;AACL,mBAAI,CAACmD,MAAL,CAAY6L,aAAZ,CAA0B,4BAA4B,OAAI,CAACqP,OAAL,CAAaF,SAAzC,GAAqD,GAA/E,EAAoF;AAAEvE,gCAAkB,EAAE;AAAtB,aAApF;;AACA,mBAAI,CAACrZ,QAAL,CAAcgC,IAAd,CAAmB,+BAA+BvC,KAAK,CAACA,KAAxD,EAA+D,IAA/D,EAAqE;AACjEwC,sBAAQ,EAAE;AADuD,aAArE;AAGH,WAVL;AAYH;;;oCACWqK,I,EAAM;AACd,cAAI9M,QAAQ,GAAG8M,IAAI,CAAC0R,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAf;AACA,cAAIC,cAAc,GAAG,EAArB;AACAze,kBAAQ,CAACX,KAAT,CAAe,GAAf,EAAoBoL,OAApB,CAA4B,UAAAC,OAAO,EAAI;AACnC,gBAAI+T,cAAc,CAAChW,MAAf,IAAyB,CAA7B,EAAgC;AAC5BgW,4BAAc,IAAI,GAAlB;AACH;;AACDA,0BAAc,IAAI/T,OAAO,CAACgU,MAAR,CAAe,CAAf,EAAkBC,WAAlB,KAAkCjU,OAAO,CAACgO,WAAR,GAAsBvY,KAAtB,CAA4B,CAA5B,CAApD;AACH,WALD;AAMA,iBAAOse,cAAP;AACH;;;wCACeH,O,EAAqB;AACjC,cAAIA,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,KAAjD,KAA2D,CAAC,CAAhE,EACI,OAAO,wBAAP,CADJ,KAEK,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,KAA8D,CAAC,CAAnE,EACD,OAAO,uBAAP,CADC,KAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,KAA8D,CAAC,CAAnE,EACD,OAAO,uBAAP,CADC,KAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,KAA8D,CAAC,CAAnE,EACD,OAAO,uBAAP,CADC,KAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,MAAjD,KAA4D,CAAC,CAAjE,EACD,OAAO,qBAAP,CADC,KAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,KAA8D,CAAC,CAAnE,EACD,OAAO,uBAAP,CADC,KAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,OAAjD,KAA6D,CAAC,CAAlE,EACD,OAAO,qBAAP,CADC,KAGD,OAAO,sBAAP;AACP;;;wCACewK,K,EAAe;AAC3B,cAAInjB,QAAJ;;AACA,cAAImjB,KAAJ,EAAW;AACPnjB,oBAAQ,GAAG,KAAKY,SAAL,CAAeqlB,aAAf,CAA6B5d,MAA7B,CAAoC,UAAAiY,CAAC;AAAA,qBAAIA,CAAC,CAAC7J,KAAF,IAAW0M,KAAf;AAAA,aAArC,CAAX;;AACA,gBAAInjB,QAAQ,IAAIA,QAAQ,CAAC,CAAD,CAAxB,EAA6B;AACzBA,sBAAQ,GAAGA,QAAQ,CAAC,CAAD,CAAR,CAAY8B,IAAvB;AACH,aAFD,MAEO;AACH9B,sBAAQ,GAAG,IAAX;AACH;AACJ;;AACD,iBAAQA,QAAQ,GAAGA,QAAH,GAAc,GAA9B;AAEH;;;mCAEUmjB,K,EAAK;AACZ,iBAAO,YAAUA,KAAjB;AACH;;;;;;;uBAnKQuB,e,EAAe,sI,EAAA,4I,EAAA,+H,EAAA,wI,EAAA,uH,EAAA,oI,EAAA,yI,EAAA,yJ;AAAA,K;;;YAAfA,e;AAAe,uC;AAAA;AAAA;;;;;;;;;;;;;;;;;;ACtB5B;;AACI;;AAAa;AAAA,mBAAU,IAAAwB,YAAA,EAAV;AAAwB,WAAxB;;AACT;;AAA+F;AAAA,mBAA0B,IAAAC,QAAA,QAA1B;AAA0C,WAA1C;;AAA4C;;AAC/I;;AACA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAcJ;;AACA;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAAgG;;AAAmB;;AACvH;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;;;AAxI4B;;AAAA,qFAAmB,SAAnB,EAAmB,WAAnB,EAAmB,mBAAnB,EAAmB,gBAAnB;;AAQK;;AAAA;;AAwBO;;AAAA;;AAQA;;AAAA;;AAagD;;AAAA;;AAAtC;;AAGV;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAUA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAYyB;;AAAA;;;;;;;;;sED7GpDzB,e,EAAe;cAN3B,uDAM2B;eANjB;AACPloB,kBAAQ,EAAE,kBADH;AAEPC,qBAAW,EAAE,mCAFN;AAGPC,mBAAS,EAAE,CAAC,8BAAD;AAHJ,S;AAMiB,Q;;;;;;;;;;;;;;;;;;;;gBACvB,uD;iBAAU,wB;;;gBACV,uD;iBAAU,S;;;;;;;;;;;;;;;;;;;;AExBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACKQ;;AAAuE;AAAA;;AAAA;;AAAA;AAAA;;AACnE;;AAAyB;;AAAmB;;AAChD;;;;;;;;AACA;;AAAuE;AAAA;;AAAA;;AAAA;AAAA;;AACnE;;AAAyB;;AAAI;;AACjC;;;;;;;;AACA;;AAAyE;AAAA;;AAAA;;AAAA;AAAA;;AACrE;;AAAyB;;AAAoB;;AACjD;;;;;;;;AACA;;AAAuE;AAAA;;AAAA;;AAAA;AAAA;;AACnE;;AAAyB;;AAAmB;;AAChD;;;;;;;;AAfJ;;AACI;;AAA8E;AAAA;;AAAA;;AAAA;AAAA;;AAC1E;;AAAyB;;AAAI;;AACjC;;AACA;;AAGA;;AAGA;;AAGA;;AAGA;;AACA;;AAA6E;AAAA;;AAAA;;AAAA;AAAA;;AACzE;;AAAyB;;AAAQ;;AACrC;;AACJ;;;;;;AAhBwG;;AAAA;;AAGC;;AAAA;;AAGC;;AAAA;;AAGH;;AAAA;;;;QDG9F0pB,iB;;;AAST,iCAAoB5nB,OAApB,EACU4E,MADV,EAEU5C,QAFV,EAGSD,MAHT,EAIS9B,IAJT,EAKUugB,YALV,EAKmC;AAAA;;AALf,aAAAxgB,OAAA,GAAAA,OAAA;AACV,aAAA4E,MAAA,GAAAA,MAAA;AACA,aAAA5C,QAAA,GAAAA,QAAA;AACD,aAAAD,MAAA,GAAAA,MAAA;AACA,aAAA9B,IAAA,GAAAA,IAAA;AACC,aAAAugB,YAAA,GAAAA,YAAA;AAZA,aAAAqH,aAAA,GAAgB,IAAI,0DAAJ,EAAhB;AACV,aAAAzlB,SAAA,GAAuB,IAAI,qEAAJ,EAAvB;AAGA,aAAA0lB,eAAA,GAAkB,UAAlB;AAUI,aAAKvnB,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACH;;;;mCAVU,CAAE;;;mDAWc;AACvB,eAAK8D,MAAL,CAAY6L,aAAZ,CAA0B,iCAC1BuT,kBAAkB,CAAC,KAAKlE,OAAL,CAAajJ,SAAb,CAAuBkR,QAAvB,EAAD,CADQ,GAE1B,GAFA,EAEK;AAAE1M,8BAAkB,EAAE;AAAtB,WAFL;AAGH;;;wCACesJ,K,EAAe;AAC3B,cAAIA,KAAJ,EAAW;AACT,mBAAO,KAAKviB,SAAL,CAAeqlB,aAAf,CAA6B5d,MAA7B,CAAoC,UAACiY,CAAD;AAAA,qBAAOA,CAAC,CAAC7J,KAAF,KAAY0M,KAAnB;AAAA,aAApC,EAA8D,CAA9D,EAAiErhB,IAAxE;AACD;AACJ;;;oCACW+e,O,EAAS;AAAA;;AACjB,eAAKvC,OAAL,GAAeuC,OAAO,CAAC,SAAD,CAAP,CAAmBC,YAAlC;;AACA,cAAI,KAAKxC,OAAL,CAAaxe,EAAjB,EAAqB;AACjB,iBAAKtB,OAAL,CAAagoB,kBAAb,CAAgC,KAAKlI,OAAL,CAAaxe,EAA7C,EACCC,SADD,CACW,UAACC,QAAD,EAAkB;AAC3B,qBAAI,CAACsmB,eAAL,GAAuBtmB,QAAvB;AACA8C,qBAAO,CAACC,GAAR,CAAY/C,QAAZ;AACD,aAJD,EAIG,UAACC,KAAD,EAAW;AACZ,qBAAI,CAACqmB,eAAL,GAAuB,8BAAvB;;AACA,qBAAI,CAAC9lB,QAAL,CAAcgC,IAAd,CAAmB,mCAAmCvC,KAAK,CAACA,KAA5D,EAAmE,IAAnE,EAAyE;AACzEwC,wBAAQ,EAAE;AAD+D,eAAzE;AAGH,aATC;AAUH;AACJ;;;2CACkB6b,O,EAAqB;AAAA;;AACpC,cAAMzb,SAAS,GAAG,KAAKtC,MAAL,CAAYiC,IAAZ,CAAiB,iGAAjB,EAAmC;AACjDI,gBAAI,EAAE;AACFyS,uBAAS,EAAGiJ,OAAO,CAACjJ,SADlB;AAEFmB,yBAAW,EAAG8H,OAAO,CAAC9H,WAFpB;AAGF1W,gBAAE,EAAEwe,OAAO,CAACxe;AAHV,aAD2C;AAMjDylB,iBAAK,EAAG;AANyC,WAAnC,CAAlB;AAQA1iB,mBAAS,CAACyJ,WAAV,GAAwBvM,SAAxB,CACI,UAAAwM,MAAM,EAAI;AACN,gBAAIA,MAAJ,EAAY;AACV,qBAAI,CAAC+R,OAAL,CAAa9H,WAAb,GAA2BjK,MAA3B;AACD;AACJ,WALL;AAOH;;;kCACS+R,O,EAAqB;AAAA;;AAC3B,eAAKnD,YAAL,CAAkB,sCAAlB,EAA0D,IAA1D;AACA,cAAM6F,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKjY,OAAL,CAAaglB,SAAb,CAAuBlF,OAAO,CAACxe,EAA/B,EAAmCC,SAAnC,CACI,YAAM;AACFue,mBAAO,CAAC7H,KAAR,GAAgB,UAAhB;;AACA,mBAAI,CAAC0E,YAAL,CAAkBmD,OAAO,CAACjJ,SAAR,GAAoB,0BAAtC,EAAkE,IAAlE;;AACA,mBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,aAA/C,EAA8D,IAA9D,EAAoE,4BAApE,EAAkG5C,OAAO,CAACjJ,SAA1G;AACH,WALL,EAMI,UAAApV,KAAK,EAAI;AACL,mBAAI,CAACkb,YAAL,CAAkBlb,KAAK,CAACA,KAAxB,EAA+B,IAA/B;;AACAqe,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,mBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,aAA/C,EAA8D,KAA9D,EAAqE,+BAArE,EAAsG5C,OAAO,CAACjJ,SAA9G;AACH,WAVL;AAYH;;;mCACUiJ,O,EAAqB;AAAA;;AAC5B,eAAKnD,YAAL,CAAkB,mCAAlB,EAAuD,IAAvD;AACA,cAAM6F,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKjY,OAAL,CAAailB,UAAb,CAAwBnF,OAAO,CAACxe,EAAhC,EAAoCC,SAApC,CACI,YAAM;AACFue,mBAAO,CAAC7H,KAAR,GAAgB,WAAhB;;AACA,mBAAI,CAAC0E,YAAL,CAAkBmD,OAAO,CAACjJ,SAAR,GAAoB,wBAAtC,EAAgE,IAAhE;;AACA,mBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,WAA/C,EAA4D,IAA5D,EAAkE,0BAAlE,EAA8F5C,OAAO,CAACjJ,SAAtG;AACH,WALL,EAMI,UAAApV,KAAK,EAAI;AACL,mBAAI,CAACkb,YAAL,CAAkBlb,KAAK,CAACA,KAAxB,EAA+B,IAA/B;;AACAqe,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,mBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,WAA/C,EAA4D,IAA5D,EAAkE,6BAAlE,EAAiG5C,OAAO,CAACjJ,SAAzG;AACD,WAVP;AAYH;;;kCACSiJ,O,EAAqB;AAAA;;AAC3B,eAAKnD,YAAL,CAAkB,uCAAlB,EAA2D,IAA3D;AACA,cAAM6F,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKjY,OAAL,CAAaklB,SAAb,CAAuBpF,OAAO,CAACxe,EAA/B,EAAmCC,SAAnC,CACI,YAAM;AACFue,mBAAO,CAAC7H,KAAR,GAAgB,SAAhB;;AACA,mBAAI,CAAC0E,YAAL,CAAkBmD,OAAO,CAACjJ,SAAR,GAAoB,2BAAtC,EAAmE,IAAnE;;AACA,mBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,cAA/C,EAA+D,IAA/D,EAAqE,6BAArE,EAAoG5C,OAAO,CAACjJ,SAA5G;AACD,WALP,EAMI,UAAApV,KAAK,EAAI;AACL,mBAAI,CAACkb,YAAL,CAAkBlb,KAAK,CAACA,KAAxB,EAA+B,IAA/B;;AACAqe,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,mBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,cAA/C,EAA+D,KAA/D,EAAsE,gCAAtE,EAAwG5C,OAAO,CAACjJ,SAAhH;AACD,WAVP;AAYH;;;iCACQiJ,O,EAAqB;AAAA;;AAC1B,eAAKnD,YAAL,CAAkB,sCAAlB,EAA0D,IAA1D;AACA,cAAM6F,YAAY,GAAG1C,OAAO,CAAC7H,KAA7B;AACA6H,iBAAO,CAAC7H,KAAR,GAAgB,MAAhB;AACA,eAAKjY,OAAL,CAAamlB,QAAb,CAAsBrF,OAAO,CAACxe,EAA9B,EAAkCC,SAAlC,CACI,YAAM;AACFue,mBAAO,CAAC7H,KAAR,GAAgB,UAAhB;;AACA,mBAAI,CAAC0E,YAAL,CAAkBmD,OAAO,CAACjJ,SAAR,GAAoB,2BAAtC,EAAmE,IAAnE;;AACA,mBAAI,CAAC2J,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,cAA/C,EAA+D,IAA/D,EAAqE,6BAArE,EAAoG5C,OAAO,CAACjJ,SAA5G;AACD,WALP,EAMI,UAAApV,KAAK,EAAI;AACL,mBAAI,CAACkb,YAAL,CAAkBlb,KAAK,CAACA,KAAxB,EAA+B,IAA/B;;AACAqe,mBAAO,CAAC7H,KAAR,GAAgBuK,YAAhB;;AACA,mBAAI,CAAChC,YAAL,CAAkBkC,UAAlB,CAA6B,gBAA7B,EAA+C,cAA/C,EAA+D,KAA/D,EAAsE,gCAAtE,EAAwG5C,OAAO,CAACjJ,SAAhH;AACD,WAVP;AAYH;;;qCACYlJ,O,EAASqU,M,EAAQ;AAC1B,eAAKhgB,QAAL,CAAcgC,IAAd,CAAmB2J,OAAnB,EAA4BqU,MAA5B,EAAoC;AAChC/d,oBAAQ,EAAE;AADsB,WAApC;AAGH;;;oCACWqK,I,EAAM;AACd,cAAM9M,QAAQ,GAAG8M,IAAI,CAAC0R,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAjB;AACA,cAAIC,cAAc,GAAG,EAArB;AACAze,kBAAQ,CAACX,KAAT,CAAe,GAAf,EAAoBoL,OAApB,CAA4B,UAAAC,OAAO,EAAI;AACnC,gBAAI+T,cAAc,CAAChW,MAAf,KAA0B,CAA9B,EAAiC;AAC7BgW,4BAAc,IAAI,GAAlB;AACH;;AACDA,0BAAc,IAAI/T,OAAO,CAACgU,MAAR,CAAe,CAAf,EAAkBC,WAAlB,KAAkCjU,OAAO,CAACgO,WAAR,GAAsBvY,KAAtB,CAA4B,CAA5B,CAApD;AACH,WALD;AAMA,iBAAOse,cAAP;AACH;;;wCACeH,O,EAAqB;AACnC,cAAIA,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,KAAjD,MAA4D,CAAC,CAAjE,EAAoE;AAClE,mBAAO,wBAAP;AACD,WAFD,MAEO,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,uBAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,uBAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,uBAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,MAAjD,MAA6D,CAAC,CAAlE,EAAqE;AAC1E,mBAAO,qBAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,QAAjD,MAA+D,CAAC,CAApE,EAAuE;AAC5E,mBAAO,uBAAP;AACD,WAFM,MAEA,IAAI2F,OAAO,CAAC3R,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAtC,CAAyCyK,OAAzC,CAAiD,OAAjD,MAA8D,CAAC,CAAnE,EAAsE;AAC3E,mBAAO,qBAAP;AACD,WAFM,MAEA;AACL,mBAAO,sBAAP;AACD;AACF;;;2CACkBwK,K,EAAO;AACtB,iBAAO,YAAYA,KAAnB;AACH;;;uCACc;AACX,cAAMhU,CAAC,GAAGkS,QAAQ,CAACoF,cAAT,CAAwB,iBAAxB,CAAV;AACA,cAAMvb,IAAI,GAAGiE,CAAC,CAACuX,YAAF,CAAe,MAAf,CAAb;;AACA,cAAIxb,IAAI,KAAK,UAAb,EAAyB;AACrBiE,aAAC,CAACwX,YAAF,CAAe,MAAf,EAAuB,MAAvB;AACH,WAFD,MAEO;AACHxX,aAAC,CAACwX,YAAF,CAAe,MAAf,EAAuB,UAAvB;AACH;AACJ;;;;;;;uBA/KQP,iB,EAAiB,sI,EAAA,uH,EAAA,wI,EAAA,mI,EAAA,wI,EAAA,wJ;AAAA,K;;;YAAjBA,iB;AAAiB,wC;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,0pD;AAAA;AAAA;ACjB9B;;AACI;;AAqBJ;;AACA;;AACI;;AAAM;;AAAuB;;AAC7B;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACE;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACI;;AAAiI;;AAAmB;;AACxJ;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACI;;;;AACJ;;AACA;;AACI;;AACJ;;AACF;;AACA;;AACE;;AACI;;;;AACJ;;AACA;;AACI;;AACJ;;AACF;;AACA;;AACE;;AACI;;;;AACJ;;AACA;;AACI;;AACJ;;AACF;;AACA;;AACE;;AACI;;;;AACJ;;AACA;;AACI;;AACI;;AAA8D;AAAA;AAAA;;AAA9D;;AACA;;AAAgE;AAAA,mBAAS,IAAAQ,YAAA,EAAT;AAAuB,WAAvB;;AAC5D;;AAAU;;AAAU;;AACxB;;AACJ;;AACJ;;AACF;;AACJ;;AACJ;;;;AAtGS;;AAAA;;AAsBJ;;AAAA;;AACK;;AAAA;;AAEF;;AAAA;;AAOI;;AAAA;;AAKY;;AAAA,yHAA6C,YAA7C,EAA6C,sCAA7C;;AAGZ;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAKE;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAIkE;;AAAA;;;;;;;;;;sED9EnER,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACP5pB,kBAAQ,EAAE,mBADH;AAEPC,qBAAW,EAAE,oCAFN;AAGPC,mBAAS,EAAE,CAAC,8BAAD;AAHJ,S;AAKmB,Q;;;;;;;;;;;;;;;;gBACzB,mD;iBAAM,S;;;gBACN;;;;;;;;;;;;;;;;;;;;AEnBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAA4B;;;;AAA0D;;;;AAA1D;;AAAA;;;;;;AAC5B;;AAA4B;;;;AAA2D;;;;AAA3D;;AAAA;;;;;;AAUpB;;AAAqH;;AAAI;;;;;;AACzH;;AAAsH;;AAAK;;;;;;AAGnH;;AAA+F;;;;AAAwD;;;;AAAxD;;AAAA;;;;;;AAanG;;AAAuG;;;;AAAwD;;;;AAAxD;;AAAA;;;;;;AAQvG;;AAA+D;;AAAe;;;;;;AAArC;;AAAsB;;AAAA;;;;;;AAWnE;;AAAmG;;;;AAAwD;;;;AAAxD;;AAAA;;;;;;AAO/F;;AAA+D;;AAAe;;;;;;AAArC;;AAAsB;;AAAA;;;;;;;;AAS/D;;AACI;;AACI;;AAA8B;;AAAQ;;AACtC;;AACI;;AAAQ;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAsC;;AAAU;;AAAM;;AAAW;;AAC7E;;AACJ;;AACJ;;;;;;AALsC;;AAAA;;;;;;AAH1C;;AACI;;AAQJ;;;;;;AARkC;;AAAA;;;;;;;;AAkBlC;;AACI;;AACI;;AACI;;AAC6D;AAAA;;AAAA;;AAAA;AAAA;;;;AAEzD;;AAA4B;;AAAG;;AAC/B;;AAA4B;;AAAG;;AACnC;;AACJ;;AACA;;AACI;;AAA6D;AAAA;;AAAA;;AAAA;AAAA;;;;AAA7D;;AAEJ;;AACA;;AACI;;AAAiG;;;;AAAiD;;AACtJ;;AACJ;;AACJ;;;;;;AAfiC;;AAAA;;AACwC;;AAE7C;;AAAA;;AACA;;AAAA;;AAI+E;;AAAA;;AAAlC;;AAIrC;;AAAA;;AAAyE;;AAAA;;;;QDnFhHmqB,qB;;;AAuBT,qCAAoBC,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAiHjC,IAAjH,EAAoI;AAAA;;AAAhH,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAiC,aAAAjC,IAAA,GAAAA,IAAA;AAhBjG,aAAAsoB,KAAA,GAAkB,IAAlB;AACN,aAAAC,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAAC,KAAA,GAAmB,IAAI,qEAAJ,EAAnB;AACA,aAAApmB,OAAA,GAAmB,KAAnB;AACA,aAAAqmB,WAAA,GAAuB,KAAvB;AACQ,aAAAC,SAAA,GAAqB,KAArB;AACR,aAAAC,MAAA,GAA4B,IAAI,wEAAJ,EAA5B;AACA,aAAAC,WAAA,GAAiC,IAAI,wEAAJ,EAAjC;AACA,aAAAC,cAAA,GAAsC,IAAI,0EAAJ,EAAtC;AACA,aAAAC,WAAA,GAAsC,IAAI,6EAAJ,EAAtC;AACA,aAAA1oB,aAAA,GAAqB,0EAArB;AAOI,aAAKE,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAKkoB,YAAL,GAAoB,KAAK9mB,WAAL,CAAiBS,KAAjB,CAAuB;AACvC,kBAAS,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CAD8B;AAEvC,sBAAa,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAF0B;AAGvC,sBAAa,CAAC,EAAD,EAAI,EAAJ,CAH0B;AAIvC,oBAAW,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAJ4B;AAKvC,2BAAkB,CAAC,EAAD,EAAI,EAAJ;AALqB,SAAvB,CAApB;AASA,aAAKmmB,eAAL,GAAuB,KAAK/mB,WAAL,CAAiBS,KAAjB,CAAuB;AAC1C,0BAAiB,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CADyB;AAE1C,sBAAa,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL,CAF6B;AAG1C,kBAAS,CAAC,EAAD,EAAK,CAAC,0DAAWomB,OAAX,CAAmB,oCAAnB,CAAD,CAAL;AAHiC,SAAvB,CAAvB;AAKH;;;;mCAEU;AACP,eAAK7mB,OAAL,GAAe,KAAf;AACA,eAAKqmB,WAAL,GAAmB,KAAnB;AACA,eAAKE,MAAL,GAAc,IAAI,wEAAJ,EAAd;AACA,eAAKC,WAAL,GAAmB,IAAI,wEAAJ,EAAnB;AACA,eAAKC,cAAL,GAAsB,IAAI,0EAAJ,EAAtB;AACA,eAAKC,WAAL,GAAmB,IAAI,6EAAJ,EAAnB;AACH;;;mCAEU;AACP,cAAI,KAAKI,IAAL,CAAUC,IAAd,EAAmB;AAEf,mBAAO,KAAKD,IAAL,CAAUC,IAAV,CAAevoB,KAAf,CAAqB,IAArB,EAA2BgJ,MAA3B,CAAkC,UAAAiY,CAAC;AAAA,qBAAIA,CAAC,CAAC3B,WAAF,MAAmB,KAAvB;AAAA,aAAnC,CAAP;AACH,WAHD,MAII;AAEA,mBAAO,EAAP;AACH;AACJ;;;0CAEiB;AACd,cAAIkJ,IAAI,GAAG,KAAKC,QAAL,EAAX;AACAD,cAAI,CAAC1c,IAAL,CAAU,KAAKmc,cAAL,CAAoBS,QAApB,GAA+B,GAA/B,GAAqC,KAAKT,cAAL,CAAoBU,IAAnE;AACA,eAAKL,IAAL,CAAUC,IAAV,GAAiBC,IAAI,CAAC3lB,IAAL,CAAU,IAAV,CAAjB;AACA,eAAKolB,cAAL,GAAsB,IAAI,0EAAJ,EAAtB;AACH;;;mCAEU;AACP,eAAKK,IAAL,GAAY,IAAI,kEAAJ,EAAZ;AACH;;;oCAEW9G,O,EAAS;AAAA;;AACjB,cAAIA,OAAO,CAAC,MAAD,CAAX,EAAqB;AACjB,iBAAKqG,WAAL,GAAmB,KAAnB;;AACA,gBAAIrG,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,IAAgCD,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B8G,IAA7B,CAAkCjJ,WAAlC,MAAmD,EAAnF,IAAyFkC,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B8G,IAA7B,CAAkCjJ,WAAlC,MAAmD,KAA5I,IAAqJkC,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B8G,IAA7B,CAAkCvoB,KAAlC,CAAwC,IAAxC,EAA8CoJ,MAA9C,GAAuD,CAAhN,EACA;AACI,mBAAKye,WAAL,GAAmB,IAAnB;AACApkB,qBAAO,CAACC,GAAR,CAAY8d,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B8G,IAA7B,CAAkCjJ,WAAlC,EAAZ;AACH;;AACD,gBAAIkC,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BmH,MAA7B,IAAuC,IAAvC,IAA+CpH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BmH,MAA7B,CAAoCC,SAApC,CAA8Czf,MAA9C,GAAuD,CAA1G,EACI,KAAK2e,MAAL,CAAYc,SAAZ,GAAwBrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BmH,MAA7B,CAAoCC,SAA5D,CADJ,KAEK,IAAIrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BmH,MAA7B,IAAuC,IAA3C,EACD,KAAKb,MAAL,CAAYc,SAAZ,GAAwB,CAAC,KAAD,CAAxB;AAEJ,gBAAIrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,IAA4C,IAA5C,IAAoDxG,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCa,SAAzC,CAAmDzf,MAAnD,GAA4D,CAApH,EACI,KAAK4e,WAAL,CAAiBa,SAAjB,GAA6BrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCa,SAAtE,CADJ,KAEK,IAAIrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,IAA4C,IAAhD,EACL;AACI,mBAAKA,WAAL,GAAmB,IAAI,wEAAJ,EAAnB;AACA,mBAAKA,WAAL,CAAiBa,SAAjB,GAA6B,CAAC,KAAD,CAA7B;AACH;;AAED,gBAAIrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAAjC,EAA8C;AAC1C,kBAAIxG,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCc,gBAAzC,IAA6DtH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCc,gBAAzC,CAA0D1f,MAA1D,GAAmE,CAApI,EAAuI;AACnI,qBAAKkf,IAAL,CAAUN,WAAV,CAAsBe,gBAAtB,GAAyCvH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCc,gBAAlF;AACA,qBAAKd,WAAL,CAAiBe,gBAAjB,GAAoCvH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCc,gBAA7E;AACA,qBAAKR,IAAL,CAAUN,WAAV,CAAsBa,SAAtB,GAAkC,EAAlC;AACA,qBAAKb,WAAL,CAAiBa,SAAjB,GAA6B,EAA7B;AAJmI;AAAA;AAAA;;AAAA;AAAA;AAAA,wBAK3HG,KAL2H;;AAO/H,wBAAIC,GAAG,GAAG,OAAI,CAACC,MAAL,CAAYlgB,MAAZ,CAAmB,UAAArG,CAAC;AAAA,6BAAIA,CAAC,CAACwmB,QAAF,IAAcH,KAAlB;AAAA,qBAApB,EAA6C,CAA7C,CAAV;;AACA,wBAAIC,GAAJ,EAAS;AACL,6BAAI,CAACX,IAAL,CAAUN,WAAV,CAAsBa,SAAtB,CAAgC/c,IAAhC,CAAqCmd,GAAG,CAAC3a,KAAzC;;AACA,6BAAI,CAAC0Z,WAAL,CAAiBa,SAAjB,CAA2B/c,IAA3B,CAAgCmd,GAAG,CAAC3a,KAAJ,CAAU4Y,QAAV,EAAhC;AACH;AAX8H;;AAKnI,uCAAiB,KAAKoB,IAAL,CAAUN,WAAV,CAAsBe,gBAAvC,8HACA;AAAA;AAMC;AAZkI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAatI,eAbD,MAeA;AACI,qBAAKf,WAAL,CAAiBa,SAAjB,GAA6BrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCa,SAAtE;AACA,qBAAKP,IAAL,CAAUN,WAAV,CAAsBa,SAAtB,GAAkCrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,CAAyCa,SAA3E;AACH;;AAED,kBAAGrH,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B2H,WAA7B,IAA4C,IAA5C,IAAoD5H,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B2H,WAA7B,IAA4C,EAAnG,EACI,KAAKd,IAAL,CAAUc,WAAV,GAAwB,EAAxB;AACP,aAvBD,MAwBK,IAAG5H,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6BuG,WAA7B,IAA4C,IAA/C,EACL;AACI,mBAAKA,WAAL,GAAmB,IAAI,wEAAJ,EAAnB;AACA,mBAAKM,IAAL,CAAUN,WAAV,GAAwB,IAAI,wEAAJ,EAAxB;AACH;AACJ;;AACD,cAAGxG,OAAO,CAAC,OAAD,CAAV,EAAoB;AAChB,gBAAGA,OAAO,CAAC,OAAD,CAAP,CAAiBC,YAApB,EAAiC;AAC7B,mBAAK4H,QAAL;AACA,mBAAK3B,KAAL,GAAa,KAAb;AACH;AACJ;AACJ;;;mCAEUre,I,EAAM;AACb,eAAKif,IAAL,CAAUC,IAAV,GAAiB,KAAKD,IAAL,CAAUC,IAAV,CAAevoB,KAAf,CAAqB,IAArB,EAA2BgJ,MAA3B,CAAkC,UAAAiY,CAAC;AAAA,mBAAIA,CAAC,IAAI5X,IAAT;AAAA,WAAnC,EAAkDxG,IAAlD,CAAuD,IAAvD,CAAjB;AACA,cAAI6lB,QAAQ,GAAGrf,IAAI,CAACrJ,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAf;AACA,cAAI2oB,IAAI,GAAGtf,IAAI,CAACrJ,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAX;AACA,eAAKsoB,IAAL,CAAUc,WAAV,GAAwB,KAAKd,IAAL,CAAUc,WAAV,CAAsBpgB,MAAtB,CAA6B,UAAAiY,CAAC;AAAA,mBAAIA,CAAC,CAAC0H,IAAF,IAAUA,IAAV,IAAkB1H,CAAC,CAACyH,QAAF,CAAWrP,WAAX,MAA4BqP,QAAQ,CAACrP,WAAT,EAAlD;AAAA,WAA9B,CAAxB;AACH;;;mCAEU;AAAA;;AACP,eAAK7X,OAAL,GAAe,IAAf;AACA,eAAK2mB,YAAL,CAAkBrlB,OAAlB;AACA,eAAKslB,eAAL,CAAqBtlB,OAArB;AAEA,cAAI,KAAKilB,MAAL,CAAYc,SAAZ,CAAsBzf,MAAtB,IAAgC,CAApC,EACI,KAAKkf,IAAL,CAAUM,MAAV,GAAmB,IAAnB,CADJ,KAGA;AACI,iBAAKN,IAAL,CAAUM,MAAV,GAAmB,IAAI,wEAAJ,EAAnB;AACA,iBAAKN,IAAL,CAAUM,MAAV,CAAiBG,gBAAjB,GAAoC,EAApC;AACA,iBAAKT,IAAL,CAAUM,MAAV,CAAiBC,SAAjB,GAA6B,EAA7B;AAHJ;AAAA;AAAA;;AAAA;AAAA;AAAA,oBAIYG,KAJZ;;AAMQ,oBAAIC,GAAG,GAAG,OAAI,CAACC,MAAL,CAAYlgB,MAAZ,CAAmB,UAAArG,CAAC;AAAA,yBAAIA,CAAC,CAAC2L,KAAF,IAAW0a,KAAf;AAAA,iBAApB,EAA0C,CAA1C,CAAV;;AACA,oBAAIC,GAAJ,EAAS;AACL,yBAAI,CAACX,IAAL,CAAUM,MAAV,CAAiBG,gBAAjB,CAAkCjd,IAAlC,CAAuCmd,GAAG,CAACE,QAA3C;AACH,iBAFD,MAGK;AACD,sBAAGH,KAAK,IAAI,EAAT,IAAeA,KAAK,IAAI,IAA3B,EACI,OAAI,CAACV,IAAL,CAAUM,MAAV,CAAiBC,SAAjB,CAA2B/c,IAA3B,CAAgCkd,KAAhC;AACP;AAbT;;AAII,oCAAiB,KAAKjB,MAAL,CAAYc,SAA7B,mIACA;AAAA;AASC;AAdL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeC;AAED,cAAI,KAAKb,WAAL,CAAiBa,SAAjB,CAA2Bzf,MAA3B,IAAqC,CAAzC,EACI,KAAKkf,IAAL,CAAUN,WAAV,GAAwB,IAAxB,CADJ,KAGA;AACI,iBAAKM,IAAL,CAAUN,WAAV,GAAwB,IAAI,wEAAJ,EAAxB;AACA,iBAAKM,IAAL,CAAUN,WAAV,CAAsBe,gBAAtB,GAAyC,EAAzC;AACA,iBAAKT,IAAL,CAAUN,WAAV,CAAsBa,SAAtB,GAAkC,EAAlC;AAHJ;AAAA;AAAA;;AAAA;AAAA;AAAA,oBAIYG,KAJZ;;AAMQ,oBAAIC,GAAG,GAAG,OAAI,CAACC,MAAL,CAAYlgB,MAAZ,CAAmB,UAAArG,CAAC;AAAA,yBAAIA,CAAC,CAAC2L,KAAF,IAAW0a,KAAf;AAAA,iBAApB,EAA0C,CAA1C,CAAV;;AACA,oBAAIC,GAAJ,EAAS;AACL,yBAAI,CAACX,IAAL,CAAUN,WAAV,CAAsBe,gBAAtB,CAAuCjd,IAAvC,CAA4Cmd,GAAG,CAACE,QAAhD;AACH,iBAFD,MAGK;AACD,sBAAGH,KAAK,IAAI,EAAT,IAAeA,KAAK,IAAI,IAA3B,EACI,OAAI,CAACV,IAAL,CAAUN,WAAV,CAAsBa,SAAtB,CAAgC/c,IAAhC,CAAqCkd,KAArC;AACP;AAbT;;AAII,oCAAiB,KAAKhB,WAAL,CAAiBa,SAAlC,mIACA;AAAA;AASC;AAdL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeC;AAED,cAAG,KAAKP,IAAL,CAAUC,IAAV,CAAejJ,WAAf,MAAgC,KAAnC,EACI,KAAKgJ,IAAL,CAAUC,IAAV,GAAiB,EAAjB;AAEJ,eAAKL,WAAL,CAAiBoB,aAAjB,CAA+BhB,IAA/B,GAAsC,EAAtC;AACA,eAAKJ,WAAL,CAAiBoB,aAAjB,CAA+BhB,IAA/B,CAAoCxc,IAApC,CAAyC,KAAKwc,IAA9C;AACA,eAAKJ,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AAEA,eAAK9B,SAAL,CAAe+B,gBAAf,CAAgC,KAAKtB,WAArC,EAAkDxnB,SAAlD,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACwnB,YAAL,CAAkBnlB,MAAlB;;AACA,mBAAI,CAAColB,eAAL,CAAqBplB,MAArB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,6CAAnB,EAAkE,IAAlE,EAAwE;AACpEC,sBAAQ,EAAE;AAD0D,aAAxE;;AAIA,mBAAI,CAACH,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsB,OAAI,CAAC0c,IAA3B;AACH,WAXL,EAYI,UAAA1nB,KAAK,EAAI;AACL,mBAAI,CAACunB,YAAL,CAAkBnlB,MAAlB;;AACA,mBAAI,CAAColB,eAAL,CAAqBplB,MAArB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,uCAAuCvC,KAAK,CAACA,KAAhE,EAAuE,IAAvE,EAA6E;AACzEwC,sBAAQ,EAAE;AAD+D,aAA7E;AAGH,WAnBL;AAsBH;;;;;;;uBArNQokB,qB,EAAqB,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,i/F;AAAA;AAAA;AChBlC;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAAiC;AAAA,mBAAY,IAAAiC,QAAA,EAAZ;AAAsB,WAAtB;;AAC7B;;AACI;;AACI;;AAAI;;;;AAAyD;;AACjE;;AACA;;AACI;;AAAoD;AAAA;AAAA;;;;AAApD;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAAyC;;AACnE;;AAEA;;AACI;;AAC6D;AAAA;AAAA;;;;AACzD;;AAA+B;;AAAO;;AACtC;;AAA6B;;;;AAA6C;;AAC9E;;AACA;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AAC6D;AAAA;AAAA;;;;AAEzD;;AACJ;;AACJ;;AACA;;AACI;;AACkH;AAAA;AAAA;;;;AAC9G;;AAA6B;;;;AAAgD;;AAC7E;;AAA8B;;;;AAAiD;;AACnF;;AACJ;;AACA;;AACI;;AACJ;;AAEA;;AACI;;AAC4E;AAAA;AAAA;;;;AAExE;;AACJ;;AACJ;;AAEA;;AAAoC;AAAA,mBAAY,IAAAC,eAAA,EAAZ;AAA6B,WAA7B;;AAChC;;AACI;;AAAI;;;;AAA2D;;AACnE;;AACA;;AAWA;;AACI;;AACmC;AAAA;AAAA;;;;AAC/B;;AAA4B;;;;AAA2C;;AACvE;;AAA2B;;;;AAA4C;;AAC3E;;AACJ;;AAEA;;AAmBJ;;AACJ;;AAEA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAzmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAA+C;;AAC/I;;AAEA;;AACI;;AAAQ;AAAA,mBAAS,IAAAwmB,QAAA,EAAT;AAAmB,WAAnB;;AAAyH;;;;AAA6C;;AAClL;;AACJ;;AACJ;;AACJ;;;;AApHkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAGU;;AAAA;;AAG0F;;AAAA;;AAA1C;;AAEhC;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAIuC;;AAAA;;AACA;;AAC7C;;AAAA;;AACA;;AAAA;;AAAiB;;AAAA;;AAGxB;;AAAA;;AAK2C;;AAAA;;AACS;;AAE7C;;AAAA;;AAKf;;AAAA;;AAAiH;;AAClG;;AAAA;;AAAiB;;AAAA;;AACjB;;AAAA;;AAAkB;;AAAA;;AAI7B;;AAAA;;AAI+C;;AAAA;;AACwB;;AAE5D;;AAAA;;AAId;;AAAA;;AAEM;;AAAA;;AAEE;;AAAA;;AAY8C;;AAAA;;AACjB;;AACnB;;AAAA;;AAAgB;;AAAA;;AAChB;;AAAA;;AAAe;;AAAA;;AAI9B;;AAAA;;AAwBuF;;AAAA;;AAII;;AAAA;;AAAiC;;AAAA;;;;;;;;;;sEDhGpIjC,qB,EAAqB;cANjC,uDAMiC;eANvB;AACPrqB,kBAAQ,EAAE,mBADH;AAEPC,qBAAW,EAAE,yCAFN;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAMuB,Q;;;;;;;;;;;;gBAC7B,mD;iBAAM,c;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,Q;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,Y;;;gBACN,mD;iBAAM,S;;;gBACN,mD;iBAAM,O;;;gBACN;;;;;;;;;;;;;;;;;;;;AExBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAAgC;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAChC;;AAAgC;;;;AAAiD;;;;AAAjD;;AAAA;;;;;;AASxB;;AAA4E;;AAAY;;;;;;AAA/B;;AAAmB;;AAAA;;;;;;AAG5E;;AAAuG;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAMvG;;AAAiI;;AAAI;;;;;;AACrI;;AAAkI;;AAAK;;;;;;AAG/H;;AAA2G;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAUnH;;AAAkE;;AAAY;;;;;;AAA/B;;AAAmB;;AAAA;;;;;;AAGlE;;AAAqG;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAKrG;;AAAmI;;AAAI;;;;;;AACvI;;AAAoI;;AAAK;;;;;;AAGjI;;AAA6G;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAWrH;;AAAqE;;AAAa;;;;;;AAAjC;;AAAoB;;AAAA;;;;;;AAGrE;;AAA+G;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAK/G;;AAAyI;;AAAI;;;;;;AAC7I;;AAA0I;;AAAK;;;;;;AAGvI;;AAAmH;;;;AAAmD;;;;AAAnD;;AAAA;;;;QDvD9HssB,gB;;;AAeT,gCAAoBlC,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAkHjC,IAAlH,EAAmI;AAAA;;AAA/G,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAkC,aAAAjC,IAAA,GAAAA,IAAA;AATxG,aAAAuoB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAApmB,SAAA,GAAuB,IAAI,qEAAJ,EAAvB;AACA,aAAAC,OAAA,GAAmB,KAAnB;AACA,aAAAhC,aAAA,GAAqB,0EAArB;AAIA,aAAA0oB,WAAA,GAAkC,IAAI,wEAAJ,EAAlC;AAGI,aAAKxoB,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAK2pB,WAAL,GAAmB,KAAKvoB,WAAL,CAAiBS,KAAjB,CAAuB;AACtC,uBAAc,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CADwB;AAEtC,yBAAgB,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,EAArB,CAAtB,CAAJ,CAFsB;AAGtC,sBAAa,CAAC,EAAD,EAAI,CAAC,0DAAW5nB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,EAArB,CAAtB,CAAJ,CAHyB;AAItC,2BAAkB,CAAC,EAAD,EAAI,CAAC,0DAAW5nB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,EAArB,CAAtB,CAAJ,CAJoB;AAKtC,0BAAiB,CAAC,EAAD,EAAI,CAAC,0DAAW5nB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,EAArB,CAAtB,CAAJ,CALqB;AAMtC,6BAAoB,CAAC,EAAD,EAAI,CAAC,0DAAW5nB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,EAArB,CAAtB,CAAJ;AANkB,SAAvB,CAAnB;AASH;;;;mCAEU;AACP,eAAKvB,IAAL,GAAY,IAAI,6DAAJ,EAAZ;AACH;;;mCAEU;AAAA;;AACP,eAAK9mB,OAAL,GAAe,IAAf;AACA,eAAKooB,WAAL,CAAiB9mB,OAAjB;AACA,eAAKolB,WAAL,CAAiB4B,QAAjB,CAA0BC,OAA1B,GAAoC,EAApC;AACA,eAAK7B,WAAL,CAAiB4B,QAAjB,CAA0BC,OAA1B,CAAkCje,IAAlC,CAAuC,KAAKwc,IAA5C;AACA,eAAKJ,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AACA,eAAK9B,SAAL,CAAeuC,OAAf,CAAuB,KAAK9B,WAA5B,EAAyCxnB,SAAzC,CACI,YAAM;AACF,mBAAI,CAACkpB,WAAL,CAAiB5mB,MAAjB;;AACA,mBAAI,CAAC7B,QAAL,CAAcgC,IAAd,CAAmB,gDAAnB,EAAqE,IAArE,EAA2E;AACvEC,sBAAQ,EAAE;AAD6D,aAA3E;;AAGA,mBAAI,CAAC5B,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACyB,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsB,OAAI,CAAC0c,IAA3B;AACH,WATL,EAUI,UAAA1nB,KAAK,EAAI;AACL,mBAAI,CAACgpB,WAAL,CAAiB5mB,MAAjB;;AACA,mBAAI,CAAC7B,QAAL,CAAcgC,IAAd,CAAmB,+BAA+BvC,KAAK,CAACA,KAAxD,EAA+D,IAA/D,EAAqE;AACjEwC,sBAAQ,EAAE;AADuD,aAArE;AAGH,WAfL;AAkBH;;;;;;;uBAzDQumB,gB,EAAgB,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAAhBA,gB;AAAgB,mC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,e;AAAA,c;AAAA,6vE;AAAA;AAAA;AChB7B;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAAM;AAAA,mBAAY,IAAAF,QAAA,EAAZ;AAAsB,WAAtB;;AACF;;AACI;;AACI;;AAAI;;;;AAAiD;;AACzD;;AACA;;AACyE;AAAA;AAAA;;;;AACrE;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAA8G;AAAA;AAAA;;;;AAEtG;;AAAA;;AACR;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAAuD;;AACjF;;AACA;;AACI;;AAAI;;;;AAAwD;;AAChE;;AACA;;AACsE;AAAA;AAAA;;;;AAClE;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAqF;AAAA;AAAA;;;;AAArF;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAA0D;;AACpF;;AACA;;AACI;;AAAI;;;;AAA6D;;AACrE;;AACA;;AACqF;AAAA;AAAA;;;;AAEjF;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAA8F;AAAA;AAAA;;;;AAA9F;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAA6D;;AACvF;;AACJ;;AACA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAxmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAA0C;;AAC1I;;AACA;;AACI;;AAAQ;AAAA,mBAAS,IAAAwmB,QAAA,EAAT;AAAmB,WAAnB;;AAAwH;;;;AAAwC;;AAC5K;;AACJ;;AACJ;;AACJ;;;;AAtFkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEsB;;AAAA;;AAGd;;AAAA;;AAEqD;;AAAA;;AACY;;AACzD;;AAAA;;AAGP;;AAAA;;AAIQ;;AAAA;;AADiG;;AAG1F;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAGlB;;AAAA;;AAEqD;;AAAA;;AACS;;AACtD;;AAAA;;AAGP;;AAAA;;AAIQ;;AAAA;;AADwE;;AAEjE;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAGlB;;AAAA;;AAEqD;;AAAA;;AACwB;;AAErE;;AAAA;;AAGP;;AAAA;;AAIiB;;AAAA;;AADwE;;AAE1E;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAKsE;;AAAA;;AAGI;;AAAA;;AAAgC;;AAAA;;;;;;;;;;sEDlEnIE,gB,EAAgB;cAN5B,uDAM4B;eANlB;AACPxsB,kBAAQ,EAAE,cADH;AAEPC,qBAAW,EAAE,oCAFN;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAMkB,Q;;;;;;;;;;;;gBACxB,mD;iBAAM,S;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,W;;;gBACN,mD;iBAAM,Y;;;gBACN,mD;iBAAM,S;;;gBACN;;;;;;;;;;;;;;;;;;;;AEtBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAAqC;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AACrC;;AAAqC;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;AAUzB;;AAAiI;;AAAI;;;;;;AACrI;;AAAkI;;AAAK;;;;;;AACvI;;AAAiL;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;AACjL;;AAAiH;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;AAOjH;;AAAyH;;AAAI;;;;;;AAC7H;;AAA0H;;AAAK;;;;;;AAC/H;;AAAqK;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;AACrK;;AAAyG;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;AAOzG;;AAAyH;;AAAI;;;;;;AAC7H;;AAA0H;;AAAK;;;;;;AAC/H;;AAAqK;;;;AAAkD;;;;AAAlD;;AAAA;;;;;;AACrK;;AAAyG;;;;AAAsD;;;;AAAtD;;AAAA;;;;;;AAQzG;;AAA4D;;AAAa;;;;;;AAAlC;;AAAqB;;AAAA;;;;QD5BnE4sB,oB;;;AAgBT,oCAAoBxC,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAiHjC,IAAjH,EAAoI;AAAA;;AAAhH,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAiC,aAAAjC,IAAA,GAAAA,IAAA;AAVvG,aAAAuoB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAApmB,SAAA,GAAuB,IAAI,qEAAJ,EAAvB;AACA,aAAAC,OAAA,GAAmB,KAAnB;AACA,aAAAhC,aAAA,GAAqB,0EAArB;AAIA,aAAA0qB,kBAAA,GAA6C,IAAI,4EAAJ,EAA7C;AACA,aAAAC,OAAA,GAAe,IAAf;AAGI,aAAKzqB,KAAL,GAAc,KAAKN,IAAL,CAAUO,QAAV,EAAd;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAKmqB,WAAL,GAAmB,KAAK/oB,WAAL,CAAiBS,KAAjB,CAAuB;AACtC,yBAAgB,CAAC;AAACC,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,CAApC,CADsB;AAEtC,kBAAS,CAAC;AAACF,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,CAApC,CAF6B;AAGtC;AACA,qBAAY,CAAC;AAACF,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EAAsB,0DAAWomB,OAAX,CAAmB,2JAAnB,CAAtB,CAApC,CAJ0B;AAKtC;AACA,qBAAY,CAAC;AAACtmB,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EAAsB,0DAAWomB,OAAX,CAAmB,2GAAnB,CAAtB,CAApC;AAN0B,SAAvB,CAAnB;AAQA,aAAKC,IAAL,GAAY,IAAI,iEAAJ,EAAZ;AACH;;;;mCAEU;AACP,eAAKA,IAAL,GAAY,IAAI,iEAAJ,EAAZ;AACH;;;oCAEW9G,O,EAAS,CACpB;;;mCAEU;AAAA;;AACP,eAAKhgB,OAAL,GAAe,IAAf;AACA,eAAK2oB,OAAL,GAAe,IAAf;AACA,eAAK7B,IAAL,CAAU+B,GAAV,GAAgB,MAAhB;AACA,eAAK/B,IAAL,CAAUgC,aAAV,GAA0B,GAA1B;AACA,eAAK7C,SAAL,CAAe8C,qBAAf,CAAqC,KAAKhB,YAA1C,EAAwD7oB,SAAxD,CACA,UAACC,QAAD,EAAkB;AACd,mBAAI,CAACwpB,OAAL,GAAexpB,QAAQ,CAAC6pB,OAAxB;;AAEA,gBAAG,OAAI,CAACC,MAAL,IAAe,IAAlB,EACA;AACI,qBAAI,CAACN,OAAL,CAAaO,YAAb,CAA0BC,KAA1B,CAAgC9d,MAAhC,CAAuC,OAAI,CAAC4d,MAA5C,EAAmD,CAAnD;AACH;;AACD,mBAAI,CAACN,OAAL,CAAaO,YAAb,CAA0BC,KAA1B,CAAgC7e,IAAhC,CAAqC,OAAI,CAACwc,IAA1C;;AACA,mBAAI,CAAC4B,kBAAL,CAAwBX,YAAxB,GAAuC,OAAI,CAACA,YAA5C;AACA,mBAAI,CAACW,kBAAL,CAAwBU,aAAxB,GAAwC,OAAI,CAACT,OAA7C;;AACA,mBAAI,CAAC1C,SAAL,CAAeoD,WAAf,CAA2B,OAAI,CAACX,kBAAhC,EAAoDxpB,SAApD,CACI,UAAAC,QAAQ,EAAI;AACR,qBAAI,CAACQ,QAAL,CAAcgC,IAAd,CAAmB,+CAAnB,EAAoE,IAApE,EAA0E;AACtEC,wBAAQ,EAAE;AAD4D,eAA1E;;AAGA,qBAAI,CAAC5B,OAAL,GAAe,KAAf;;AACA,qBAAI,CAACyB,OAAL,CAAaC,KAAb;;AACA,qBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsBjL,QAAtB;AACH,aARL,EASI,UAAAC,KAAK,EAAI;AACL,qBAAI,CAACY,OAAL,GAAe,KAAf;;AACA,qBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,mCAAmCvC,KAAK,CAACA,KAA5D,EAAmE,IAAnE,EAAyE;AACrEwC,wBAAQ,EAAE;AAD2D,eAAzE;AAGH,aAdL;AAgBH,WA3BD,EA4BA,UAAAxC,KAAK,EAAI,CAER,CA9BD;AA+BH;;;;;;;uBAzEQqpB,oB,EAAoB,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAApBA,oB;AAAoB,uC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,+lD;AAAA;AAAA;ACjBjC;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAA2C;AAAA,mBAAY,IAAAR,QAAA,EAAZ;AAAsB,WAAtB;;AACvC;;AACI;;AACI;;AAAI;;;;AAA6D;;AACrE;;AACA;;AACI;;AAAyF;AAAA;AAAA;;;;AAAzF;;AAEI;;AACA;;AACA;;AACA;;AACA;;AAA+B;;AAAuD;;AAC9F;;AAEA;;AACI;;AAAwI;AAAA;AAAA;;;;AAAxI;;AAEI;;AACA;;AACA;;AACA;;AACA;;AAA+B;;AAA+C;;AACtF;;AAEA;;AACI;;AAAwI;AAAA;AAAA;;;;AAAxI;;AAEI;;AACA;;AACA;;AACA;;AACJ;;AAA+B;;AAA+C;;AAClF;;AAEA;;AACI;;AACiD;AAAA;AAAA;;;;AAE7C;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAxmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAA8C;;AAC9I;;AAEA;;AACI;;AAA2G;;;;AAA4C;;AAC3J;;AACJ;;AACJ;;AAEJ;;;;AA5DkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAGU;;AAAA;;AAIS;;AAAA;;AAD4E;;AAEjE;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACA;;AAAA;;AACoB;;AAAA;;AAIY;;AAAA;;AAAyF;;AAEhH;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACA;;AAAA;;AACoB;;AAAA;;AAIY;;AAAA;;AAAyF;;AAEhH;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACA;;AAAA;;AACgB;;AAAA;;AAIqB;;AAAA;;AACH;;AAEjC;;AAAA;;AAM4E;;AAAA;;AAIjB;;AAAA;;AAAgC;;AAAA;;;;;;;;;;sEDtC9GgnB,oB,EAAoB;cANhC,uDAMgC;eANtB;AACP9sB,kBAAQ,EAAE,kBADH;AAEPC,qBAAW,EAAE,wCAFN;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAMsB,Q;;;;;;;;;;;;gBAC5B,mD;iBAAM,a;;;gBACN,mD;iBAAM,e;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,mD;iBAAM,O;;;gBACN;;;;;;;;;;;;;;;;;;;;AEvBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAA8B;;;;AAAyD;;;;AAAzD;;AAAA;;;;;;AAC9B;;AAA6C;;;;AAAuD;;;;AAAvD;;AAAA;;;;;;AAerC;;AAAyF;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAKzF;;AAA2G;;AAAI;;;;;;AAC/G;;AAA4G;;AAAK;;;;;;AAIjH;;AAAqF;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AASjF;;AAAmH;;AAA4B;;;;;;AAAhE;;AAAoC;;AAAA;;;;;;AAIvH;;AAA+F;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAK3F;;AAA+E;;AAAgB;;;;;;AAAxC;;AAAwB;;AAAA;;;;;;AAInF;;AAAuF;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAWvF;;AAAqG;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAOrG;;AAAmH;;AAAI;;;;;;AACvH;;AAAoH;;AAAK;;;;;;AAIzH;;AAA8F;;;;AAAkE;;;;AAAlE;;AAAA;;;;;;AAC9F;;AAA6F;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAQzF;;AAAkE;;AAAY;;;;;;AAA/B;;AAAmB;;AAAA;;;;;;AAItE;;AAA2F;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAM3F;;AAAyH;;AAAI;;;;;;AAC7H;;AAA0H;;AAAK;;;;;;AAI/H;;AAAoG;;;;AAAmE;;;;AAAnE;;AAAA;;;;;;AACpG;;AAAmG;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AASnG;;AAA+G;;AAAI;;;;;;AACnH;;AAAgH;;AAAK;;;;;;AAIrH;;AAA0F;;;;AAAmE;;;;AAAnE;;AAAA;;;;;;AAC1F;;AAAyF;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAOzF;;AAA6H;;AAAI;;;;;;AACjI;;AAA8H;;AAAK;;;;;;AAInI;;AAAwG;;;;AAAmE;;;;AAAnE;;AAAA;;;;;;AACxG;;AAAuG;;;;AAAmD;;;;AAAnD;;AAAA;;;;QD9G1GytB,gB;;;AAmBT,gCAAoBrD,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAgHjC,IAAhH,EAAmI;AAAA;;AAA/G,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAgC,aAAAjC,IAAA,GAAAA,IAAA;AAbtG,aAAAuoB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAApmB,SAAA,GAAuB,IAAI,qEAAJ,EAAvB;AACA,aAAAwpB,YAAA,GAAuB,EAAvB;AACA,aAAAC,WAAA,GAAsB,EAAtB;AACA,aAAAxpB,OAAA,GAAmB,KAAnB;AACA,aAAAhC,aAAA,GAAqB,0EAArB;AAIA,aAAAyrB,cAAA,GAAqC,IAAI,wEAAJ,EAArC;AACA,aAAAC,OAAA,GAAe,IAAf;AACA,aAAAC,OAAA,GAAU,KAAV;AAGI,aAAKzrB,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAKmrB,OAAL,GAAe,KAAK/pB,WAAL,CAAiBS,KAAjB,CAAuB;AAClC,uBAAc,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CADoB;AAElC,mBAAU,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAFwB;AAGlC,0BAAiB,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAHiB;AAIlC,oBAAW,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAJuB;AAKlC,qBAAY,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CALsB;AAMlC,kBAAS,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CANyB;AAOlC,0BAAgB,CAAC,EAAD,EAAI,EAAJ,CAPkB;AAQlC,sBAAa,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,EAArB,CAAtB,CAAJ,CARqB;AASlC,yBAAgB,CAAC,EAAD,EAAI,CAAC,0DAAW5nB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,GAArB,CAAtB,EAAiD,0DAAWxB,OAAX,CAAmB,+NAAnB,CAAjD,CAAJ,CATkB;AAUlC,oBAAW,CAAC,EAAD,EAAI,CAAC,0DAAWpmB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,GAArB,CAAtB,CAAJ,CAVuB;AAWlC,2BAAkB,CAAC,EAAD,EAAI,CAAC,0DAAW5nB,QAAZ,EAAsB,0DAAW4nB,SAAX,CAAqB,GAArB,CAAtB,EAAiD,0DAAWxB,OAAX,CAAmB,+NAAnB,CAAjD,CAAJ;AAXgB,SAAvB,CAAf;AAcH;;;;mCAEU;AACP,eAAKC,IAAL,GAAY,IAAI,6DAAJ,EAAZ;AACH;;;oCAEW9G,O,EAAS;AACjB,cAAIA,OAAO,CAAC,MAAD,CAAX,EAAqB;AACjB,iBAAKuJ,YAAL,GAAoBvJ,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B4J,YAA7B,CAA0CC,MAA1C,GAAmD9J,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B4J,YAA7B,CAA0CC,MAA1C,CAAiDzoB,IAAjD,CAAsD,GAAtD,CAAnD,GAAgH,EAApI;AACA,iBAAKmoB,WAAL,GAAmBxJ,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B8J,WAA7B,CAAyCD,MAAzC,GAAkD9J,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B8J,WAA7B,CAAyCD,MAAzC,CAAgDzoB,IAAhD,CAAqD,GAArD,CAAlD,GAA8G,EAAjI;AACH;AACJ;;;mCAEU;AAAA;;AACP,eAAKrB,OAAL,GAAe,IAAf;AACA,eAAK4pB,OAAL,CAAatoB,OAAb;AACA,eAAKwlB,IAAL,CAAU+C,YAAV,CAAuBC,MAAvB,GAAgC,KAAKP,YAAL,CAAkB/qB,KAAlB,CAAwB,GAAxB,CAAhC;AACA,eAAKsoB,IAAL,CAAUiD,WAAV,CAAsBD,MAAtB,GAA+B,KAAKN,WAAL,CAAiBhrB,KAAjB,CAAuB,GAAvB,CAA/B;AACA,eAAKsoB,IAAL,CAAUkD,OAAV,GAAoB,KAAKlD,IAAL,CAAUmD,OAA9B;AACA,eAAKnD,IAAL,CAAUoD,MAAV,GAAmB,KAAKpD,IAAL,CAAUqD,MAA7B;AACA,eAAKT,OAAL,GAAe,IAAf;;AACA,cAAI,CAAC,KAAKC,OAAV,EAAmB;AACf,iBAAK7C,IAAL,CAAUsD,GAAV,GAAgB,IAAhB;AACH;;AACDnoB,iBAAO,CAACC,GAAR,CAAY,KAAK+mB,MAAjB;AACA,eAAKhD,SAAL,CAAe8C,qBAAf,CAAqC,KAAKhB,YAA1C,EAAwD7oB,SAAxD,CACA,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACuqB,OAAL,GAAevqB,QAAf;;AACA,gBAAG,OAAI,CAAC8pB,MAAL,IAAe,IAAf,IAAuB,CAAC,OAAI,CAACnC,IAAL,CAAUZ,KAArC,EACA;AACI,qBAAI,CAACwD,OAAL,CAAaW,KAAb,CAAmBC,KAAnB,CAAyBC,IAAzB,CAA8Blf,MAA9B,CAAqC,OAAI,CAAC4d,MAA1C,EAAiD,CAAjD;AACH;;AACD,mBAAI,CAACS,OAAL,CAAaW,KAAb,CAAmBC,KAAnB,CAAyBC,IAAzB,CAA8BjgB,IAA9B,CAAmC,OAAI,CAACwc,IAAxC;;AACA,mBAAI,CAAC4C,OAAL,CAAaW,KAAb,CAAmBG,OAAnB,GAA6B,MAA7B;AACA,mBAAI,CAACf,cAAL,CAAoB1B,YAApB,GAAmC,OAAI,CAACA,YAAxC;AACA,mBAAI,CAAC0B,cAAL,CAAoBY,KAApB,GAA4B,OAAI,CAACX,OAAL,CAAaW,KAAzC;;AACA,mBAAI,CAACpE,SAAL,CAAewE,OAAf,CAAuB,OAAI,CAAChB,cAA5B,EAA4CvqB,SAA5C,CACI,UAACC,QAAD,EAAc;AACV,qBAAI,CAACyqB,OAAL,CAAapoB,MAAb;;AACA,qBAAI,CAAC7B,QAAL,CAAcgC,IAAd,CAAmB,2CAAnB,EAAgE,IAAhE,EAAsE;AAClEC,wBAAQ,EAAE;AADwD,eAAtE;;AAGA,qBAAI,CAAC5B,OAAL,GAAe,KAAf;;AACA,qBAAI,CAACyB,OAAL,CAAaC,KAAb;;AACA,qBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsBjL,QAAtB;AACH,aATL,EAUI,UAAAC,KAAK,EAAI;AACL,qBAAI,CAACY,OAAL,GAAe,KAAf;;AACA,qBAAI,CAAC4pB,OAAL,CAAapoB,MAAb;;AACA,qBAAI,CAAC7B,QAAL,CAAcgC,IAAd,CAAmB,+BAA+BvC,KAAK,CAACA,KAAxD,EAA+D,IAA/D,EAAqE;AACjEwC,wBAAQ,EAAE;AADuD,eAArE;AAGH,aAhBL;AAkBH,WA7BD,EA8BA,UAAAxC,KAAK,EAAI;AACP6C,mBAAO,CAAC7C,KAAR,CAAcA,KAAd;AACD,WAhCD;AAiCH;;;;;;;uBA9FQkqB,gB,EAAgB,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAAhBA,gB;AAAgB,mC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,gB;AAAA,e;AAAA,+uH;AAAA;AAAA;ACjB7B;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAAuC;AAAA,mBAAY,IAAArB,QAAA,EAAZ;AAAsB,WAAtB;;AACnC;;AACI;;AACI;;AAAI;;;;AAAiD;;AACzD;;AACA;;AACI;;AACuD;AAAA;AAAA;;;;AACnD;;AAA6B;;;;AAA2C;;AACxE;;AAA8B;;;;AAA4C;;AAC9E;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAsF;AAAA;AAAA;;;;AAAtF;;AAEA;;AACA;;AACA;;AAAsB;;AAAyC;;AACnE;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAI;;;;AAAqD;;AAC7D;;AACA;;AACI;;AACgE;AAAA;AAAA;;;;AAE5D;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AACoD;AAAA;AAAA;;;;AAChD;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AACyE;AAAA;AAAA;;;;AAErE;;AAA6B;;;;AAAuC;;AACpE;;AAA8B;;;;AAAsC;;AACxE;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAc;AAAA;AAAA;;AAA0E;;;;AAAiD;;AACzI;;AAAyF;AAAA;AAAA;;;;AAAzF;;AAGA;;AACA;;AACA;;AAAsB;;AAAuC;;AACjE;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AAAI;;;;AAAwD;;AAChE;;AACA;;AACI;;AAC0D;AAAA;AAAA;;;;AACtD;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAC+E;AAAA;AAAA;;;;AAD/E;;AAGA;;AACA;;AACA;;AAAsB;;AAAgD;;AAC1E;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AAAI;;;;AAAwD;;AAChE;;AACA;;AACI;;AACgE;AAAA;AAAA;;;;AADhE;;AAGA;;AACA;;AACA;;AAAsB;;AAA8C;;AACxE;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACqF;AAAA;AAAA;;;;AADrF;;AAIA;;AACA;;AACA;;AAAsB;;AAA8C;;AACxE;;AACA;;AACI;;AACA;;AACJ;;AAEJ;;AACA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAxmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAA0C;;AAC1I;;AAEA;;AACI;;AAAuG;;;;AAAwC;;AACnJ;;AACJ;;AACJ;;AAEJ;;;;AA9IkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAGU;;AAAA;;AAGyD;;AAAA;;AACN;;AACvC;;AAAA;;AAAiB;;AAAA;;AACjB;;AAAA;;AAAkB;;AAAA;;AAI7B;;AAAA;;AAIQ;;AAAA;;AADG,gGAAwB,SAAxB,EAAwB,aAAxB;;AAEI;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AAGjB;;AAAA;;AAGD;;AAAA;;AAGyD;;AAAA;;AACG;;AAEhD;;AAAA;;AAIX;;AAAA;;AAGwD;;AAAA;;AACT;;AACpC;;AAAA;;AAIX;;AAAA;;AAGwD;;AAAA;;AACY;;AAEzD;;AAAA;;AAAiB;;AAAA;;AACjB;;AAAA;;AAAkB;;AAAA;;AAI7B;;AAAA;;AAGS;;AAAA,2FAAqB,SAArB,EAAqB,WAArB;;AAA0E;;AAAA;;AAE3E;;AAAA;;AAD4E,4FAAsB,UAAtB,EAAsB,YAAtB;;AAGrE;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AAGjB;;AAAA;;AACA;;AAAA;;AAGD;;AAAA;;AAGyD;;AAAA;;AACH;;AAC1C;;AAAA;;AAIX;;AAAA;;AAKQ;;AAAA;;AADkE;;AAE3D;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AAGjB;;AAAA;;AACA;;AAAA;;AAGD;;AAAA;;AAKA;;AAAA;;AAD4D;;AAE5C;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AAGjB;;AAAA;;AACA;;AAAA;;AAK2B;;AAAA;;AADqD;;AAGjE;;AAAA;;AACA;;AAAA;;AACE;;AAAA;;AAGjB;;AAAA;;AACA;;AAAA;;AAMuF;;AAAA;;AAIjB;;AAAA;;AAA4B;;AAAA;;;;;;;;;;sEDxH1G6nB,gB,EAAgB;cAN5B,uDAM4B;eANlB;AACP3tB,kBAAQ,EAAE,cADH;AAEPC,qBAAW,EAAE,oCAFN;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAMkB,Q;;;;;;;;;;;;gBACxB,mD;iBAAM,S;;;gBACN,mD;iBAAM,W;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,W;;;gBACN,mD;iBAAM,S;;;gBACN;;;;;;;;;;;;;;;;;;;;AEvBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAaQ;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAGjC;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AAGjC;;AAAmC;;AAAW;;;;;;AAC9C;;AAAiC;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AAGjC;;AAAmC;;AAAgB;;;;;;AACnD;;AAAiC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QDjCK6uB,wB;;;AAUT,wCAAoBzE,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,MAAD,EAAS,QAAT,EAAmB,UAAnB,EAA+B,YAA/B,EAA6C,SAA7C,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,cAAG,KAAKsS,WAAL,IAAoB,IAAvB,EACE,KAAKrS,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB,CADF,KAGE,KAAK0W,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK+oB,WAA5B;AAEF,eAAKrS,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,cAAG,KAAKkT,WAAL,IAAoB,IAAvB,EACE,KAAKrS,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB,CADF,KAGE,KAAK0W,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK+oB,WAA5B;AAEFlT,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;sDAE6ByR,I,EAAqB;AAAA;;AACjD,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACjCI,gBAAI,EAAE;AACFmJ,mBAAK,EAAE,8BADL;AAEFC,qBAAO,EAAE,cAFP;AAGFC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAAC4f,wBAAL,CAA8BD,IAA9B,CAAN;AAAA;AAHF;AAD2B,WAArC;AAOH;;;iDAEwBA,I,EAAqB;AAAA;;AAC5C,cAAIhwB,GAAG,GAAG,IAAI,+EAAJ,EAAV;AACAA,aAAG,CAACkwB,kBAAJ,GAAyBF,IAAzB;AACAhwB,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACA,eAAK9B,SAAL,CAAeiF,gBAAf,CAAgCnwB,GAAhC,EAAqCmE,SAArC,CACE,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,kDAAnB,EAAuE,IAAvE,EAA6E;AACzEC,sBAAQ,EAAE;AAD+D,aAA7E;AAGH,WANH,EAOE,UAAAxC,KAAK,EAAI;AACL,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,0CAA0CvC,KAAK,CAACA,KAAnE,EAA0E,IAA1E,EAAgF;AAC5EwC,sBAAQ,EAAE;AADkE,aAAhF;AAGH,WAXH;AAaD;;;wCAEiB;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;uCAEc2gB,I,EAAqB;AAClC,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBAzEQL,wB,EAAwB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAAxBA,wB;AAAwB,wC;AAAA;AAAA;oEAMtB,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAAS,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AAlDkB;;AAWA;;AAAA;;AAkCE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sEDpCFgR,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACT/uB,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE,oCAFJ;AAGTC,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK0B,Q;;;;;;;;;;gBAChC,mD;iBAAM,a;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAA6F;;;;AAA6D;;;;AAA7D;;AAAA;;;;;;AAC7F;;AAA6F;;;;AAA8D;;;;AAA9D;;AAAA;;;;;;AAUrF;;AAAyH;;AAAI;;;;;;AAC7H;;AAA0H;;AAAK;;;;;;AAGvH;;AAAmG;;;;AAAoD;;;;AAApD;;AAAA;;;;;;AA8B3G;;AAAsI;;AAAI;;;;;;AAC1I;;AAAuI;;AAAK;;;;;;AAGpI;;AAAgH;;;;AAAqD;;;;AAArD;;AAAA;;;;;;AAoB5H;;AAA6H;;AAAI;;;;;;AACjI;;AAA8H;;AAAK;;;;;;AAG3H;;AAAuG;;;;AAAqD;;;;AAArD;;AAAA;;;;QDxD9GuvB,2B;;;AAkBT,2CAAoBnF,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAiHjC,IAAjH,EAAoI;AAAA;;AAAA;;AAAhH,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAiC,aAAAjC,IAAA,GAAAA,IAAA;AAXjG,aAAAsoB,KAAA,GAAkB,IAAlB;AACN,aAAAC,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAAC,KAAA,GAAmB,IAAI,qEAAJ,EAAnB;AACA,aAAApmB,OAAA,GAAmB,KAAnB;AACQ,aAAAsmB,SAAA,GAAqB,KAArB;AACR,aAAAI,WAAA,GAAwC,IAAI,+EAAJ,EAAxC;AACA,aAAA1oB,aAAA,GAAqB,0EAArB;AAMI,aAAKE,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAK4sB,cAAL,GAAsB,KAAKxrB,WAAL,CAAiBS,KAAjB,CAAuB;AACzC,kBAAS,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CADgC;AAEzC,sBAAa,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAF4B;AAGzC,oBAAW,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAH8B;AAIzC,wBAAe,CAAC;AAACF,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAE;AAAtB,WAAD,EAA8B,EAA9B,CAJ0B;AAKzC,wBAAe,CAAC;AAACD,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAE;AAAtB,WAAD,EAA8B,EAA9B,CAL0B;AAMzC,oBAAW,CAAC;AAACD,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAE;AAAtB,WAAD,EAA8B,EAA9B;AAN8B,SAAvB,CAAtB;AAUA,aAAK6qB,cAAL,CAAoBhU,YAApB,CAAiCnY,SAAjC,CAA2C,UAAAosB,MAAM,EAAI;AACjD,cAAGA,MAAM,CAAC,QAAD,CAAN,KAAqB,QAAxB,EAAiC;AAC7B,mBAAI,CAACD,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CC,aAA3C,CAAyD,CAAC,0DAAW/qB,QAAZ,CAAzD;;AACA,mBAAI,CAAC4qB,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CE,sBAA3C,CAAkE;AAACC,uBAAS,EAAE;AAAZ,aAAlE;;AACA,mBAAI,CAACL,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CC,aAA3C,CAAyD,CAAC,0DAAW/qB,QAAZ,CAAzD;;AACA,mBAAI,CAAC4qB,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CE,sBAA3C,CAAkE;AAACC,uBAAS,EAAE;AAAZ,aAAlE;AACH,WALD,MAMI;AACA,gBAAG,OAAI,CAACC,UAAL,CAAgBC,oBAAhB,IAAwC,IAA3C,EACA;AACI,qBAAI,CAACP,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CM,QAA3C,CAAoD,EAApD,EAAuD;AAACH,yBAAS,EAAE;AAAZ,eAAvD;;AACA,qBAAI,CAACL,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CM,QAA3C,CAAoD,EAApD,EAAuD;AAACH,yBAAS,EAAE;AAAZ,eAAvD;AACH;;AAED,mBAAI,CAACL,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CC,aAA3C,CAAyD,EAAzD;;AACA,mBAAI,CAACH,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CE,sBAA3C,CAAkE;AAACC,uBAAS,EAAE;AAAZ,aAAlE;;AACA,mBAAI,CAACL,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CC,aAA3C,CAAyD,EAAzD;;AACA,mBAAI,CAACH,cAAL,CAAoBE,QAApB,CAA6B,YAA7B,EAA2CE,sBAA3C,CAAkE;AAACC,uBAAS,EAAE;AAAZ,aAAlE;AACH;;AAED,cAAGJ,MAAM,CAAC,QAAD,CAAN,KAAqB,MAArB,IAA+BA,MAAM,CAAC,QAAD,CAAN,KAAqB,EAAvD,EACA;AACI,gBAAG,OAAI,CAACK,UAAL,CAAgBC,oBAAhB,IAAwC,IAA3C,EACI,OAAI,CAACP,cAAL,CAAoBE,QAApB,CAA6B,QAA7B,EAAuCM,QAAvC,CAAgD,EAAhD,EAAmD;AAACH,uBAAS,EAAE;AAAZ,aAAnD;;AAEJ,mBAAI,CAACL,cAAL,CAAoBE,QAApB,CAA6B,QAA7B,EAAuCC,aAAvC,CAAqD,EAArD;;AACA,mBAAI,CAACH,cAAL,CAAoBE,QAApB,CAA6B,QAA7B,EAAuCE,sBAAvC,CAA8D;AAACC,uBAAS,EAAE;AAAZ,aAA9D;AACH,WAPD,MAQI;AACA,mBAAI,CAACL,cAAL,CAAoBE,QAApB,CAA6B,QAA7B,EAAuCC,aAAvC,CAAqD,CAAC,0DAAW/qB,QAAZ,CAArD;;AACA,mBAAI,CAAC4qB,cAAL,CAAoBE,QAApB,CAA6B,QAA7B,EAAuCE,sBAAvC,CAA8D;AAACC,uBAAS,EAAE;AAAZ,aAA9D;AACH;AACJ,SAhCD;AAiCH;;;;mCAEU;AACP,eAAK1rB,OAAL,GAAe,KAAf;AACA,eAAK0mB,WAAL,GAAmB,IAAI,+EAAJ,EAAnB;AACH;;;mCAEU;AACP,eAAKiF,UAAL,GAAkB,IAAI,oEAAJ,EAAlB;AACA,eAAKA,UAAL,CAAgBG,WAAhB,GAA8B,IAAI,+EAAJ,EAA9B;AACH;;;oCAEW9L,O,EAAS;AACjB,cAAGA,OAAO,CAAC,OAAD,CAAV,EAAoB;AAChB,gBAAGA,OAAO,CAAC,OAAD,CAAP,CAAiBC,YAApB,EAAiC;AAC7B,mBAAK4H,QAAL;AACA,mBAAK3B,KAAL,GAAa,KAAb;AACH;AACJ;AACJ;;;mCAEU;AAAA;;AACP,eAAKlmB,OAAL,GAAe,IAAf;AACA,eAAKqrB,cAAL,CAAoB/pB,OAApB;AAEA,eAAKolB,WAAL,CAAiBuE,kBAAjB,GAAsC,KAAKU,UAA3C;AACA,eAAKjF,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AACA,eAAK9B,SAAL,CAAe8F,cAAf,CAA8B,KAAKrF,WAAnC,EAAgDxnB,SAAhD,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACksB,cAAL,CAAoB7pB,MAApB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,uCAAnB,EAA4D,IAA5D,EAAkE;AAC9DC,sBAAQ,EAAE;AADoD,aAAlE;;AAIA,mBAAI,CAACH,OAAL,CAAaC,KAAb;AACH,WATL,EAUI,UAAAtC,KAAK,EAAI;AACL,mBAAI,CAACisB,cAAL,CAAoB7pB,MAApB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,iCAAiCvC,KAAK,CAACA,KAA1D,EAAiE,IAAjE,EAAuE;AACnEwC,sBAAQ,EAAE;AADyD,aAAvE;AAGH,WAhBL;AAkBH;;;;;;;uBA7GQwpB,2B,EAA2B,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAA3BA,2B;AAA2B,kD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,0hE;AAAA;AAAA;ACpBxC;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAAmC;AAAA,mBAAY,IAAAnD,QAAA,EAAZ;AAAsB,WAAtB;;AAC/B;;AACI;;AACI;;AAAI;;;;AAA8E;;AACtF;;AACA;;AACI;;AAAkE;AAAA;AAAA;;;;AAAlE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAAqD;;AAC/E;;AAEA;;AACI;;AAC6D;AAAA;AAAA;;;;AAEzD;;AAA4B;;AAAG;;AAC/B;;AAA6B;;AAAI;;AACjC;;AAA8B;;AAAK;;AACnC;;AAA4B;;AAAG;;AACnC;;AACJ;;AACA;;AACE;;AACuD;AAAA;AAAA;;;;AAEnD;;AAA6B;;AAAI;;AACjC;;AAA0G;;AAAM;;AAChH;;AAAiC;;;;AAA+C;;AAChF;;AAAsE;;AAAK;;AAC/E;;AACJ;;AAEA;;AACM;;AAAsE;AAAA;AAAA;;;;AAAtE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAAyF;;AACnH;;AAEA;;AACI;;AACmE;AAAA;AAAA;;;;AAE/D;;AAA+B;;AAAM;;AACrC;;AAA+B;;AAAM;;AACrC;;AAA4B;;AAAW;;AAC3C;;AACJ;;AACJ;;AAEA;;AACI;;AAA0D;AAAA;AAAA;;;;AAA1D;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAAiF;;AAC3G;;AAEA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAxmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAA4C;;AAC5I;;AAEA;;AACI;;AAAQ;AAAA,mBAAS,IAAAwmB,QAAA,EAAT;AAAmB,WAAnB;;AAA2H;;;;AAA0C;;AACjL;;AACJ;;AACJ;;AACJ;;;;AA5FkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAGU;;AAAA;;AAG8G;;AAAA;;AAAhD;;AAE9C;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAI8B;;AAAA;;AACS;;AAE7C;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIkC;;AAAA;;AACG;;AAEvC;;AAAA;;AACA;;AAAA,sJAA0E,OAA1E,EAA0E,QAA1E;;AACA;;AAAA;;AAAqB;;AAAA;;AACrB;;AAAA,+GAAuC,OAAvC,EAAuC,OAAvC;;AAIJ;;AAAA;;AAC8H;;AAAA;;AAAlE;;AAElD;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAGV;;AAAA;;AACwC;;AAAA;;AACe;;AAEnD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKR;;AAAA;;AAC4G;;AAAA;;AAA9D;;AAEtC;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAK0E;;AAAA;;AAII;;AAAA;;AAAmC;;AAAA;;;;;;;;;;sEDpEtImD,2B,EAA2B;cANvC,uDAMuC;eAN7B;AACTzvB,kBAAQ,EAAE,6BADD;AAETC,qBAAW,EAAE,sCAFJ;AAGTC,mBAAS,EAAE,CAAC,yBAAD;AAHF,S;AAM6B,Q;;;;;;;;;;;;gBACnC,mD;iBAAM,oB;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,Q;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,Y;;;gBACN,mD;iBAAM,S;;;gBACN,mD;iBAAM,O;;;gBACN;;;;;;;;;;;;;;;;;;;;AE5BL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAaQ;;AAAmC;;AAAU;;;;;;AAC7C;;AAAiC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAU;;;;;;AAC7C;;AAAiC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAc;;;;;;AACjD;;AAAiC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QD7BKmwB,kB;;;AAUT,kCAAoB/F,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,WAAD,EAAc,WAAd,EAA2B,aAA3B,EAA0C,SAA1C,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,eAAKC,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKkqB,SAA5B;AACA,eAAKxT,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,eAAKa,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKkqB,SAA5B;AACArU,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;4CAEmByR,I,EAAe;AAAA;;AAC/B,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACjCI,gBAAI,EAAE;AACFmJ,mBAAK,EAAE,qBADL;AAEFC,qBAAO,EAAE,cAFP;AAGFC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAAC8gB,cAAL,CAAoBnB,IAApB,CAAN;AAAA;AAHF;AAD2B,WAArC;AAOH;;;uCAEcA,I,EAAe;AAAA;;AAC1B,cAAIoB,iBAAiB,GAAG,IAAI,yEAAJ,EAAxB;AACAA,2BAAiB,CAACC,aAAlB,GAAkCrB,IAAlC;AACAoB,2BAAiB,CAACpE,YAAlB,GAAiC,KAAKA,YAAtC;AACA,eAAK9B,SAAL,CAAeiG,cAAf,CAA8BC,iBAA9B,EAAiDjtB,SAAjD,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,yCAAnB,EAA8D,IAA9D,EAAoE;AAChEC,sBAAQ,EAAE;AADsD,aAApE;AAGH,WANL,EAOI,UAAAxC,KAAK,EAAI;AACL,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,iCAAiCvC,KAAK,CAACA,KAA1D,EAAiE,IAAjE,EAAuE;AACnEwC,sBAAQ,EAAE;AADyD,aAAvE;AAGH,WAXL;AAaH;;;wCAEe;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;qCAEY2gB,I,EAAe;AAC1B,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBAjEQiB,kB,EAAkB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAAlBA,kB;AAAkB,iC;AAAA;AAAA;oEAMhB,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAAb,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AA9CkB;;AAWA;;AAAA;;AA8BE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sEDhCFsS,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACTrwB,kBAAQ,EAAE,YADD;AAETC,qBAAW,EAAE,6BAFJ;AAGTC,mBAAS,EAAE,CAAC,6BAAD;AAHF,S;AAKoB,Q;;;;;;;;;;gBAC1B,mD;iBAAM,W;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAAmC;;;;AAA6C;;;;AAA7C;;AAAA;;;;;;AACnC;;AAAmC;;;;AAA8C;;;;AAA9C;;AAAA;;;;;;AAUvB;;AAA6D;;AAAiB;;;;;;AAAhC;;AAAe;;AAAA;;;;;;AAEjE;;AAAiI;;AAAI;;;;;;AACrI;;AAAkI;;AAAK;;;;;;AACvI;;AAAiH;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAM7G;;AAA6I;;AAAI;;;;;;AACjJ;;AAA8I;;AAAK;;;;;;AACnJ;;AAA6H;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAS7H;;AAAuJ;;AAAI;;;;;;AAC3J;;AAAwJ;;AAAK;;;;;;AAC7J;;AAAuI;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAOvI;;AAA6J;;AAAI;;;;;;AACjK;;AAA8J;;AAAK;;;;;;AACnK;;AAA6I;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAM7I;;AAAiK;;AAAI;;;;;;AACrK;;AAAkK;;AAAK;;;;;;AACvK;;AAAiJ;;;;AAAmD;;;;AAAnD;;AAAA;;;;;;AAMjJ;;AAA+I;;AAAI;;;;;;AACnJ;;AAAgJ;;AAAK;;;;;;AACrJ;;AAA+H;;;;AAAmD;;;;AAAnD;;AAAA;;;;QD9CtIwwB,iB;;;AAcT,iCAAoBpG,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAkHjC,IAAlH,EAAmI;AAAA;;AAA/G,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAkC,aAAAjC,IAAA,GAAAA,IAAA;AATxG,aAAAuoB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAAnmB,OAAA,GAAmB,KAAnB;AACA,aAAAssB,WAAA,GAA0B,IAAI,iEAAJ,EAA1B;AACA,aAAAtuB,aAAA,GAAqB,0EAArB;AAIA,aAAA0oB,WAAA,GAAmC,IAAI,yEAAJ,EAAnC;AAGI,aAAKxoB,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAK8tB,mBAAL,GAA2B,KAAK1sB,WAAL,CAAiBS,KAAjB,CAAuB;AAC9C,iBAAQ,CAAC;AAACC,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,CAApC,CADsC;AAE9C,uBAAc,CAAC;AAACF,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EAChD,0DAAWomB,OAAX,CAAmB,2GAAnB,CADgD,CAApC,CAFgC;AAI9C,4BAAmB,CAAC;AAACtmB,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EACrD,0DAAWomB,OAAX,CAAmB,2GAAnB,CADqD,CAApC,CAJ2B;AAM9C,+BAAsB,CAAC;AAACtmB,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EACxD,0DAAWomB,OAAX,CAAmB,2GAAnB,CADwD,CAApC,CANwB;AAQ9C,iCAAwB,CAAC;AAACtmB,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EAC1D,0DAAWomB,OAAX,CAAmB,2GAAnB,CAD0D,CAApC,CARsB;AAU9C,wBAAe,CAAC;AAACtmB,iBAAK,EAAE,EAAR;AAAYC,oBAAQ,EAAC,KAAKR;AAA1B,WAAD,EAAoC,CAAC,0DAAWS,QAAZ,EACjD,0DAAWomB,OAAX,CAAmB,2GAAnB,CADiD,CAApC;AAV+B,SAAvB,CAA3B;AAcH;;;;wCAEe2F,Q,EAAU;AACtB,eAAK1F,IAAL,CAAU1S,UAAV,GAAuBoY,QAAQ,CAACjsB,KAAT,CAAeuL,aAAf,CAA6BsI,UAApD;AACA,eAAK0S,IAAL,CAAU2F,QAAV,GAAqB,OAAOD,QAAQ,CAACjsB,KAAT,CAAeiU,SAA3C;AACH;;;mCAEU;AACP,eAAKsS,IAAL,GAAY,IAAI,8DAAJ,EAAZ;AACA,eAAK4F,aAAL,GAAqB,EAArB;AACH;;;oCAEW1M,O,EAAS;AACjB,cAAIA,OAAO,CAAC,MAAD,CAAP,IAAmBA,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B7L,UAApD,EAAgE;AAC5D,iBAAKkY,WAAL,GAAmB,KAAKI,aAAL,CAAmBllB,MAAnB,CAA0B,UAAAiY,CAAC;AAAA,qBAAIA,CAAC,CAAC3T,aAAF,CAAgBsI,UAAhB,IAA8B4L,OAAO,CAAC,MAAD,CAAP,CAAgBC,YAAhB,CAA6B7L,UAA/D;AAAA,aAA3B,EAAsG,CAAtG,CAAnB;AACH;AACJ;;;mCAEU;AAAA;;AACP,eAAKpU,OAAL,GAAe,IAAf;AACA,eAAKusB,mBAAL,CAAyBjrB,OAAzB;AACA,eAAKolB,WAAL,CAAiB0F,aAAjB,GAAiC,KAAKtF,IAAtC;AACA,eAAKJ,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AACA,eAAK9B,SAAL,CAAe0G,WAAf,CAA2B,KAAKjG,WAAhC,EAA6CxnB,SAA7C,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACotB,mBAAL,CAAyB/qB,MAAzB;;AACA,mBAAI,CAAC7B,QAAL,CAAcgC,IAAd,CAAmB,yCAAnB,EAA8D,IAA9D,EAAoE;AAChEC,sBAAQ,EAAE;AADsD,aAApE;;AAGA,mBAAI,CAAC5B,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACyB,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsBjL,QAAtB;AACH,WATL,EAUI,UAAAC,KAAK,EAAI;AACL,mBAAI,CAACmtB,mBAAL,CAAyB/qB,MAAzB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,gCAAgCvC,KAAK,CAACA,KAAzD,EAAgE,IAAhE,EAAsE;AAClEwC,sBAAQ,EAAE;AADwD,aAAtE;AAGH,WAhBL;AAkBH;;;;;;;uBAxEQyqB,iB,EAAiB,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAAjBA,iB;AAAiB,oC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,0gE;AAAA;AAAA;AChB9B;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAAmD;AAAA,mBAAY,IAAApE,QAAA,EAAZ;AAAsB,WAAtB;;AAC/C;;AACI;;AACI;;AAAI;;;;AAA0D;;AAClE;;AACA;;AACI;;AAAY;AAAA,mBAAmB,IAAA2E,eAAA,QAAnB;AAA0C,WAA1C,EAA2C,eAA3C,EAA2C;AAAA;AAAA,WAA3C;;;;AAER;;AACJ;;AACA;;AACA;;AACA;;AACJ;;AAEA;;AACI;;AAAgB;AAAA;AAAA;;;;AAAhB;;AAEI;;AACA;;AACA;;AACJ;;AAA+B;;AAAoD;;AACvF;;AACA;;AACI;;AAAI;;;;AAA0D;;AAClE;;AACA;;AACI;;AAAyB;AAAA;AAAA;;;;AAAzB;;AAEI;;AACA;;AACA;;AACJ;;AAA+B;;AAA6D;;AAChG;;AAEA;;AACI;;AAAgB;AAAA;AAAA;;;;AAAhB;;AAEI;;AACA;;AACA;;AACJ;;AAA+B;;AAAmE;;AACtG;;AACA;;AACI;;AAAgB;AAAA;AAAA;;;;AAAhB;;AAEI;;AACA;;AACA;;AACJ;;AAA+B;;AAAuE;;AAC1G;;AACA;;AACI;;AAAgB;AAAA;AAAA;;;;AAAhB;;AAEI;;AACA;;AACA;;AACJ;;AAA+B;;AAAqD;;AACxF;;AACJ;;AACA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAnrB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAA2C;;AAC3I;;AAEA;;AACQ;;AAAqH;;;;AAAyC;;AACtK;;AACJ;;AACJ;;AAEJ;;;;AA7EkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAGU;;AAAA;;AAIA;;AAAA;;AADoD;;AAExC;;AAAA;;AAEI;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AAIqE;;AAAA;;AAAhE;;AAEQ;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACgB;;AAAA;;AAG3B;;AAAA;;AAGsF;;AAAA;;AAAjE;;AAED;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACgB;;AAAA;;AAIiE;;AAAA;;AAAhF;;AAEQ;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACgB;;AAAA;;AAGqE;;AAAA;;AAApF;;AAEQ;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACgB;;AAAA;;AAGmD;;AAAA;;AAAlE;;AAEQ;;AAAA;;AACA;;AAAA;;AACT;;AAAA;;AACgB;;AAAA;;AAK6D;;AAAA;;AAI/B;;AAAA;;AAA4D;;AAAA;;;;;;;;;;sEDxD5H4qB,iB,EAAiB;cAN7B,uDAM6B;eANnB;AACP1wB,kBAAQ,EAAE,eADH;AAEPC,qBAAW,EAAE,qCAFN;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAMmB,Q;;;;;;;;;;;;gBACzB,mD;iBAAM,U;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,e;;;gBACN,mD;iBAAM,S;;;gBACN;;;;;;;;;;;;;;;;;;;;AErBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAcQ;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAGjC;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAe;;;;;;AAAf;;AAAA;;;;;;AAGjC;;AAAmC;;AAAS;;;;;;AAC5C;;AAAiC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAU;;;;;;AAC7C;;AAAiC;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QDtCKgxB,iB;;;AAUT,iCAAoB5G,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,MAAD,EAAS,QAAT,EAAmB,UAAnB,EAA+B,eAA/B,EAAgD,MAAhD,EAAwD,SAAxD,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,eAAKC,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK+qB,aAA5B;AAEA,eAAKrU,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,eAAKa,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK+qB,aAA5B;AACAlV,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;4CAEmByR,I,EAAmB;AAAA;;AACrC,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACjCI,gBAAI,EAAE;AACFmJ,mBAAK,EAAE,4BADL;AAEFC,qBAAO,EAAE,cAFP;AAGFC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAAC2hB,kBAAL,CAAwBhC,IAAxB,CAAN;AAAA;AAHF;AAD2B,WAArC;AAOD;;;2CAEkBA,I,EAAmB;AAAA;;AAClC,cAAIhwB,GAAG,GAAG,IAAI,6EAAJ,EAAV;AACAA,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACAhtB,aAAG,CAAC+sB,aAAJ,CAAkBhB,IAAlB,CAAuBxc,IAAvB,CAA4BygB,IAA5B;AACA,eAAK9E,SAAL,CAAe8G,kBAAf,CAAkChyB,GAAlC,EAAuCmE,SAAvC,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,sCAAnB,EAA2D,IAA3D,EAAiE;AAC7DC,sBAAQ,EAAE;AADmD,aAAjE;AAGH,WANL,EAOI,UAAAxC,KAAK,EAAI;AACL,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,4BAA4BvC,KAAK,CAACA,KAArD,EAA4D,IAA5D,EAAkE;AAC9DwC,sBAAQ,EAAE;AADoD,aAAlE;AAGH,WAXL;AAaH;;;wCAEe;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;yCAEgB2gB,I,EAAmB;AAClC,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBAlEQ8B,iB,EAAiB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAAjBA,iB;AAAiB,yC;AAAA;AAAA;oEAMf,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAA1B,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AAEA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AAvDkB;;AAYA;;AAAA;;AAsCE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sEDzCFmT,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACTlxB,kBAAQ,EAAE,oBADD;AAETC,qBAAW,EAAE,qCAFJ;AAGTC,mBAAS,EAAE,CAAC,qCAAD;AAHF,S;AAKmB,Q;;;;;;;;;;gBACzB,mD;iBAAM,e;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACUY;;AAA6F;AAAA;;AAAA;;AAAA;AAAA;;AACzF;;AAAU;;AAAO;;AACrB;;;;;;AAKI;;;;QDPHmxB,wB;;;AAsBX,wCAAqB/G,SAArB,EAAmDtmB,QAAnD,EAAmF4C,MAAnF,EAA2G+V,KAA3G,EAAkI;AAAA;;AAAA;;AAA7G,aAAA2N,SAAA,GAAAA,SAAA;AAA8B,aAAAtmB,QAAA,GAAAA,QAAA;AAAgC,aAAA4C,MAAA,GAAAA,MAAA;AAAwB,aAAA+V,KAAA,GAAAA,KAAA;AAnB3G,aAAA2U,gBAAA,GAA0B;AACxBnS,qBAAW,EAAG;AACZC,kBAAM,EAAE,CAAC,SAAD,EAAW,SAAX,EAAqB,SAArB,EAA+B,SAA/B,EAAyC,SAAzC,EAAmD,SAAnD,EAA6D,SAA7D,EAAuE,SAAvE,EAAiF,SAAjF,EAA2F,SAA3F;AADI,WADU;AAIxB;AACAE,mBAAS,EAAG,IALY;AAMxBC,mBAAS,EAAG,IANY;AAOxBgS,sBAAY,EAAE,IAPU;AAQxB/R,kBAAQ,EAAG,IARa;AASxBC,oBAAU,EAAG,IATW;AAUxBC,wBAAc,EAAG,IAVO;AAWxBC,wBAAc,EAAG,IAXO;AAYxB2D,oBAAU,EAAG,MAZW;AAaxB1D,mBAAS,EAAG,IAbY;AAcxBxZ,cAAI,EAAG,EAdiB;AAexBorB,oBAAU,EAAG,SAfW;AAgBxBC,oBAAU,EAAG;AAhBW,SAA1B;AAoBE,aAAK9U,KAAL,CAAWyD,MAAX,CAAkB7c,SAAlB,CAA4B,UAAA6c,MAAM,EAAI;AACtC,iBAAI,CAACsD,YAAL,GAAoBtD,MAAM,CAAC,cAAD,CAA1B;AACC,SAFD;AAGD;;;;mCAEUsR,U,EAAmB;AAC5B,eAAKC,aAAL,CAAmBD,UAAnB;AACD;;;mCAEU;AACT,eAAKC,aAAL,CAAmB,QAAnB;AACD;;;iCACQlQ,K,EAAO;AACdnb,iBAAO,CAACC,GAAR,CAAYkb,KAAZ;AACD;;;sCACaiQ,U,EAAmB;AAAA;;AAC/B,eAAKpH,SAAL,CAAesH,kBAAf,CAAkC,KAAKlO,YAAvC,EAAoDgO,UAApD,EAAgEnuB,SAAhE,CAA0E,UAACC,QAAD,EAAkB;AAC5F,mBAAI,CAAC8tB,gBAAL,CAAsBlrB,IAAtB,GAA6B5C,QAAQ,CAAC0hB,IAAtC;AACC,WAFD,EAEE,UAAAzhB,KAAK,EAAI;AACR,mBAAI,CAAC6tB,gBAAL,CAAsBlrB,IAAtB,GAA6B,EAA7B;;AACA,mBAAI,CAACpC,QAAL,CAAcgC,IAAd,CAAmB,+CAA8CvC,KAAK,CAACA,KAAvE,EAA8E,IAA9E,EAAoF;AACnFwC,sBAAQ,EAAE;AADyE,aAApF;AAGF,WAPD;AAQD;;;kCACM;AACH,eAAKqrB,gBAAL,CAAsBlrB,IAAtB,GAA6B,EAA7B;AACA,eAAKurB,aAAL,CAAmB,QAAnB;AACH;;;mDAC0BE,I,EAAc;AACvC,cAAMC,GAAG,GAAU,IAAInY,IAAJ,CAASkY,IAAT,CAAnB;AACA,iBAAOC,GAAG,CAACC,kBAAJ,CAAuB,OAAvB,EAAgC;AAAEC,kBAAM,EAAE,IAAV;AACrCC,gBAAI,EAAE,SAD+B;AAErCC,kBAAM,EAAE;AAF6B,WAAhC,CAAP;AAGD;;;;;;;uBAzDUb,wB,EAAwB,sI,EAAA,wI,EAAA,uH,EAAA,+H;AAAA,K;;;YAAxBA,wB;AAAwB,2C;AAAA,e;AAAA,c;AAAA,otB;AAAA;AAAA;ACVrC;;AACI;;AACI;;AACI;;AACI;;AAAgD;AAAA,mBAAS,IAAAc,UAAA,CAAW,IAAX,CAAT;AAAyB,WAAzB;;AAA2B;;AAAG;;AAC9E;;AAAgD;AAAA,mBAAS,IAAAA,UAAA,CAAW,QAAX,CAAT;AAA6B,WAA7B;;AAA+B;;AAAI;;AACnF;;AAAgD;AAAA,mBAAS,IAAAA,UAAA,CAAW,SAAX,CAAT;AAA8B,WAA9B;;AAAgC;;AAAG;;AACnF;;AAAgD;AAAA,mBAAS,IAAAA,UAAA,CAAW,UAAX,CAAT;AAA+B,WAA/B;;AAAiC;;AAAG;;AACpF;;AAAgD;AAAA,mBAAS,IAAAA,UAAA,CAAW,SAAX,CAAT;AAA8B,WAA9B;;AAAgC;;AAAG;;AACvF;;AACA;;AAGJ;;AACJ;;AACA;;AACI;;AACQ;;AACA;;AAeI;AAAA,mBAAU,IAAAC,QAAA,QAAV;AAA0B,WAA1B;;AACJ;;AACR;;AACJ;;AACJ;;;;AA3B+D;;AAAA;;AAOE;;AAAA;;AAE7C;;AAAA,+GAAuC,SAAvC,EAAuC,yBAAvC,EAAuC,UAAvC,EAAuC,6BAAvC,EAAuC,OAAvC,EAAuC,8BAAvC,EAAuC,OAAvC,EAAuC,8BAAvC,EAAuC,QAAvC,EAAuC,+BAAvC,EAAuC,gBAAvC,EAAuC,mCAAvC,EAAuC,gBAAvC,EAAuC,mCAAvC,EAAuC,YAAvC,EAAuC,+BAAvC,EAAuC,YAAvC,EAAuC,+BAAvC,EAAuC,YAAvC,EAAuC,+BAAvC,EAAuC,cAAvC,EAAuC,iCAAvC,EAAuC,qBAAvC,EAAuC,8BAAvC,EAAuC,YAAvC,EAAuC,+BAAvC;;;;;;;;;sEDTPf,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACTrxB,kBAAQ,EAAE,sBADD;AAETC,qBAAW,EAAE,mCAFJ;AAGTC,mBAAS,EAAE,CAAC,kCAAD;AAHF,S;AAK0B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAA2D;;AAAa;;;;;;AACxE;;AAA2D;;AAAY;;;;;;AAU/D;;AAAiH;;AAAI;;;;;;AACrH;;AAAkH;;AAAK;;;;;;AAG/G;;AAA2F;;AAAgB;;;;QDDtHmyB,2B;;;AAcT,2CAAoB/H,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAiHjC,IAAjH,EAAoI;AAAA;;AAAhH,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAiC,aAAAjC,IAAA,GAAAA,IAAA;AATvG,aAAAuoB,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAAnmB,OAAA,GAAmB,KAAnB;AACQ,aAAAsmB,SAAA,GAAqB,KAArB;AACR,aAAAI,WAAA,GAAmC,IAAI,0EAAJ,EAAnC;AACA,aAAA1oB,aAAA,GAAqB,0EAArB;AAMI,aAAKE,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAKwvB,SAAL,GAAiB,KAAKpuB,WAAL,CAAiBS,KAAjB,CAAuB;AACpC,mBAAU,CAAC,EAAD,EAAK,CAAC,0DAAWumB,OAAX,CAAmB,2GAAnB,CAAD,CAAL;AAD0B,SAAvB,CAAjB;AAIH;;;;mCAEU;AACP,eAAK7mB,OAAL,GAAe,KAAf;AACA,eAAK0mB,WAAL,GAAmB,IAAI,0EAAJ,EAAnB;AACH;;;mCAEU,CACV;;;oCAEW1G,O,EAAS;AACjB,cAAGA,OAAO,CAAC,OAAD,CAAV,EAAoB;AAChB,gBAAGA,OAAO,CAAC,OAAD,CAAP,CAAiBC,YAApB,EAAiC;AAC7B,mBAAK4H,QAAL;AACH;AACJ;AACJ;;;mCAEU;AAAA;;AACP,eAAK7nB,OAAL,GAAe,IAAf;AACA,eAAKiuB,SAAL,CAAe3sB,OAAf;;AAEA,cAAG,KAAK4sB,KAAL,CAAWvG,QAAX,IAAuB,IAA1B,EACA;AACE,iBAAKuG,KAAL,CAAWC,QAAX,GAAsB,KAAKD,KAAL,CAAWC,QAAX,GAAsB,CAA5C;AACD,WAHD,MAGM;AACJ,iBAAKD,KAAL,CAAWjtB,IAAX,GAAkB,KAAKitB,KAAL,CAAWphB,KAA7B;AACD;;AACD,eAAK4Z,WAAL,CAAiBwH,KAAjB,GAAyB,KAAKA,KAA9B;AACA,eAAKxH,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AACA,eAAK9B,SAAL,CAAemI,SAAf,CAAyB,KAAK1H,WAA9B,EAA2CxnB,SAA3C,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAAC8uB,SAAL,CAAezsB,MAAf;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,mCAAnB,EAAwD,IAAxD,EAA8D;AAC1DC,sBAAQ,EAAE;AADgD,aAA9D;;AAIA,mBAAI,CAACH,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsB,OAAI,CAAC8jB,KAA3B;AACH,WAVL,EAWI,UAAA9uB,KAAK,EAAI;AACL,mBAAI,CAAC6uB,SAAL,CAAezsB,MAAf;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,2BAA2BvC,KAAK,CAACA,KAApD,EAA2D,IAA3D,EAAiE;AAC7DwC,sBAAQ,EAAE;AADmD,aAAjE;AAGH,WAjBL;AAmBH;;;;;;;uBAtEQosB,2B,EAA2B,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAA3BA,2B;AAA2B,qC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,oiC;AAAA;AAAA;ACjBxC;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAA8B;AAAA,mBAAY,IAAA/F,QAAA,EAAZ;AAAsB,WAAtB;;AAC1B;;AACI;;AACI;;AAAI;;AAAuB;;AAC/B;;AACA;;AACI;;AAAiE;AAAA;AAAA;;AAAjE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAA6C;;AACvE;;AACJ;;AAEA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAAxmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;AAAQ;;AACxG;;AAEA;;AACI;;AAAQ;AAAA,mBAAS,IAAAwmB,QAAA,EAAT;AAAmB,WAAnB;;AAAsH;;AAAO;;AACzI;;AACJ;;AACJ;;AACJ;;;;AAnCkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAMmH;;AAAA;;AAA5C;;AAE7C;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAU0E;;AAAA;;;;;;;;;sEDdnG+F,2B,EAA2B;cANvC,uDAMuC;eAN7B;AACTryB,kBAAQ,EAAE,gBADD;AAETC,qBAAW,EAAE,sCAFJ;AAGTC,mBAAS,EAAE,CAAC,yBAAD;AAHF,S;AAM6B,Q;;;;;;;;;;;;gBACnC,mD;iBAAM,O;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,S;;;gBACN;;;;;;;;;;;;;;;;;;;;AEtBL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAaQ;;AAAmC;;AAAQ;;;;;;AAC3C;;AAAiC;;AAAc;;;;;;AAAd;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;AAEvC;;AACI;;AAAU;;AAAS;;AACvB;;;;;;;;AAF6C;;;;;;;;AADjD;;AACI;;AAGA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QDrBKwyB,mB;;;AAUT,mCAAoBpI,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,OAAD,EAAU,SAAV,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,cAAG,KAAK0V,KAAL,IAAc,IAAjB,EACE,KAAKzV,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKmsB,KAA5B,CADF,KAGE,KAAKzV,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AAEF,eAAK0W,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,cAAG,KAAKsW,KAAL,IAAc,IAAjB,EACE,KAAKzV,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKmsB,KAA5B,CADF,KAGE,KAAKzV,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AAEF6V,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;yCAEgByR,I,EAAgB;AAAA;;AAC/B,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCI,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,gBADH;AAEJC,qBAAO,EAAE,cAFL;AAGJC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAACkjB,WAAL,CAAiBvD,IAAjB,CAAN;AAAA;AAHA;AAD6B,WAArC;AAOD;;;oCAEWA,I,EAAgB;AAAA;;AAC1B,cAAIhwB,GAAG,GAAG,IAAI,0EAAJ,EAAV;AACAA,aAAG,CAACmzB,KAAJ,GAAYnD,IAAZ;AACAhwB,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACA,eAAK9B,SAAL,CAAeqI,WAAf,CAA2BvzB,GAA3B,EAAgCmE,SAAhC,CACE,UAAAC,QAAQ,EAAI;AACV,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,qCAAnB,EAA0D,IAA1D,EAAgE;AAC5DC,sBAAQ,EAAE;AADkD,aAAhE;AAGD,WANH,EAOE,UAAAxC,KAAK,EAAI;AACP,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,6BAA6BvC,KAAK,CAACA,KAAtD,EAA6D,IAA7D,EAAmE;AAC/DwC,sBAAQ,EAAE;AADqD,aAAnE;AAGD,WAXH;AAaD;;;wCAEe;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;kCAES2gB,I,EAAgB;AACxB9oB,iBAAO,CAACC,GAAR,CAAY6oB,IAAZ;AACA,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBA1EQsD,mB,EAAmB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAAnBA,mB;AAAmB,kC;AAAA;AAAA;oEAMjB,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAAlD,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AAtCkB;;AAWA;;AAAA;;AAsBE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sEDxBF2U,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACT1yB,kBAAQ,EAAE,aADD;AAETC,qBAAW,EAAE,8BAFJ;AAGTC,mBAAS,EAAE,CAAC,8BAAD;AAHF,S;AAKqB,Q;;;;;;;;;;gBAC3B,mD;iBAAM,O;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;;;AAUI;;AACI;;AACI;;AAA8C;AAAA;;AAAA;;AAAA;AAAA;;AAA8C;;AAAe;;AAC/G;;AACA;;AACI;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAA+C;;AAAiB;;AACjH;;AACJ;;;;;;AAL+E;;AAAA;;AAGA;;AAAA;;;;;;AAM3E;;AAAmC;;AAAC;;;;;;AACpC;;AAAiC;;AAAqC;;;;;;;;AAArC;;AAAA;;;;;;AAGjC;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAS;;;;;;AAC5C;;AAAiC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAS;;;;;;AAC5C;;AAAiC;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAa;;;;;;AAChD;;AAAiC;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAU;;;;;;AAC7C;;AAAiC;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAGjC;;AAAmC;;AAAc;;;;;;AACjD;;AAAiC;;AAAuB;;;;;;AAAvB;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AAEA;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA,kCAAgB,UAAA4c,UAAA,CAAA1W,IAAA,kBAAhB;AAA4C,SAA5C;;AAC/D;;AAAU;;AAAiB;;AAC/B;;AACA;;AAAmE;AAAA;;AAAA;;AAAA;;AAAA,oCAAkB,UAAA0W,UAAA,CAAA1W,IAAA,kBAAlB;AAA8C,SAA9C;;AAC/D;;AAAU;;AAAmB;;AACjC;;AAEJ;;;;;;;;;;AAnBY;;AAAA;;AAY0G;;AAAA;;AAGE;;AAAA;;;;;;AAM5H;;;;;;AAEI;;;;;;;;QD5DKwsB,iB;;;AAaT,iCAAoBtI,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAA0G6uB,kBAA1G,EAAiJ;AAAA;;AAA7H,aAAAvI,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AAA+B,aAAA6uB,kBAAA,GAAAA,kBAAA;AATtF,aAAA7D,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAGX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAA4D,WAAA,GAAuB,KAAvB;AACA,aAAAhW,UAAA,GAAyC,IAAI,0EAAJ,EAAzC;AACA,aAAAiO,WAAA,GAAqC,IAAI,2EAAJ,EAArC;AACA,aAAAlO,gBAAA,GAAmB,CAAC,OAAD,EAAS,aAAT,EAAwB,UAAxB,EAAoC,iBAApC,EAAuD,cAAvD,EAAuE,mBAAvE,EAA4F,gBAA5F,EAA8G,SAA9G,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,eAAKC,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK2sB,QAA5B;AACA,eAAKjW,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,eAAKa,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK2sB,QAA5B;AACA9W,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACD;;;2CAEkBmT,I,EAAc;AAAA;;AAC/B,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACjCI,gBAAI,EAAE;AACFmJ,mBAAK,EAAE,oBADL;AAEFC,qBAAO,EAAE,cAFP;AAGFC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAACujB,aAAL,CAAmB5D,IAAnB,CAAN;AAAA;AAHF;AAD2B,WAArC;AAOH;;;sCAEaA,I,EAAc;AAAA;;AAC1B,cAAIhwB,GAAG,GAAG,IAAI,wEAAJ,EAAV;AAEAA,aAAG,CAACutB,QAAJ,CAAaC,OAAb,GAAuB,EAAvB;AACAxtB,aAAG,CAACutB,QAAJ,CAAaC,OAAb,CAAqBje,IAArB,CAA0BygB,IAA1B;AACAhwB,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACAhtB,aAAG,CAACutB,QAAJ,CAAaC,OAAb,CAAqB,CAArB,EAAwBqG,OAAxB,GAAkC,GAAlC;AACA,eAAK3I,SAAL,CAAe0I,aAAf,CAA6B5zB,GAA7B,EAAkCmE,SAAlC,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,2CAAnB,EAAgE,IAAhE,EAAsE;AAClEC,sBAAQ,EAAE;AADwD,aAAtE;AAGH,WANL,EAOI,UAAAxC,KAAK,EAAI;AACL,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,mCAAmCvC,KAAK,CAACA,KAA5D,EAAmE,IAAnE,EAAyE;AACrEwC,sBAAQ,EAAE;AAD2D,aAAzE;AAGH,WAXL;AAaH;;;wCAEmB;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKinB,WAAL,GAAmB,KAAnB;AACA,eAAK9D,QAAL,CAAcvgB,IAAd;AACD;;;oCAEW2gB,I,EAAc;AACxB,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;+BAEMhgB,K,EAAK;AACV,cAAIic,IAAI,GAAG,KAAKvO,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAAK,GAAG,CAA7B,CAAX;AACA,eAAK0N,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAAK,GAAG,CAA7B,IAAkC,KAAK0N,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAArB,CAAlC;AACA,eAAK0N,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAArB,IAA8Bic,IAA9B;AACA,eAAKyH,WAAL,GAAmB,IAAnB;AACA,eAAKhW,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACA,eAAK2V,kBAAL,CAAwBhX,aAAxB;AACD;;;iCAEQzM,K,EAAK;AACZ,cAAIic,IAAI,GAAG,KAAKvO,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAAK,GAAG,CAA7B,CAAX;AACA,eAAK0N,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAAK,GAAG,CAA7B,IAAkC,KAAK0N,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAArB,CAAlC;AACA,eAAK0N,UAAL,CAAgB1W,IAAhB,CAAqBgJ,KAArB,IAA8Bic,IAA9B;AACA,eAAKyH,WAAL,GAAmB,IAAnB;AACA,eAAKhW,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACA,eAAK2V,kBAAL,CAAwBhX,aAAxB;AACD;;;uCAEc;AAAA;;AACb,eAAKqX,OAAL,GAAe,IAAf;AACA,eAAKnI,WAAL,CAAiBoI,GAAjB,CAAqBxG,QAArB,CAA8BC,OAA9B,GAAwC,KAAK9P,UAAL,CAAgB1W,IAAxD;AACA,eAAK2kB,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AAHa;AAAA;AAAA;;AAAA;AAKb,kCAAgB,KAAKrB,WAAL,CAAiBoI,GAAjB,CAAqBxG,QAArB,CAA8BC,OAA9C,mIAAsD;AAAA,kBAA9CwC,IAA8C;AACpDA,kBAAI,CAACgE,MAAL,GAAc,IAAd;AACAhE,kBAAI,CAAC6D,OAAL,GAAe,IAAf;;AAEA,kBAAG7D,IAAI,CAACiE,MAAL,IAAe,MAAlB,EACA;AACEjE,oBAAI,CAACkE,YAAL,GAAoB,IAApB;AACAlE,oBAAI,CAACmE,cAAL,GAAsB,IAAtB;AACD;AACF;AAdY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAeb,eAAKjJ,SAAL,CAAekJ,UAAf,CAA0B,KAAKzI,WAA/B,EAA4CxnB,SAA5C,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACQ,QAAL,CAAcgC,IAAd,CAAmB,6CAAnB,EAAkE,IAAlE,EAAwE;AACpEC,sBAAQ,EAAE;AAD0D,aAAxE;;AAGA,mBAAI,CAACupB,aAAL;AACH,WANL,EAOI,UAAA/rB,KAAK,EAAI;AACL,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,gCAAgCvC,KAAK,CAACA,KAAzD,EAAgE,IAAhE,EAAsE;AAClEwC,sBAAQ,EAAE;AADwD,aAAtE;;AAGA,mBAAI,CAACupB,aAAL;AACH,WAZL;AAeH;;;;;;;uBAzHUoD,iB,EAAiB,sI,EAAA,mI,EAAA,wI,EAAA,gI;AAAA,K;;;YAAjBA,iB;AAAiB,gC;AAAA;AAAA;oEAMf,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;;;;;;;;;;;ACtBtB;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAApD,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACA;;AAQJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAqBJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AA9EkB;;AAUqC;;AAAA;;AASrC;;AAAA;;AAsDE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sED/DF6U,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACT5yB,kBAAQ,EAAE,WADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;gBACzB,mD;iBAAM,U;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AEtBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACEM;;AAA+B;;AAA+D;;;;;;;;;;;;;AAgCpF;;AAAyM;;AAAmB;;AAAW;;;;;;AAA/L;;;;;;AAQxC;;AAAqL;;AAAmB;;AAAW;;;;;;AAA3K;;;;;;AAQxC;;AAAyL;;AAAmB;;AAAW;;;;;;AAA/K;;;;;;AAQxC;;AAA6M;;AAAmB;;AAAW;;;;;;AAAnM;;;;;;AAQxC;;AAA8I;;AAAmB;;AAAW;;;;;;AAApI;;;;;;AAQxC;;AAA8I;;AAAmB;;AAAW;;;;;;AAApI;;;;;;AA+BxC;;AAA+N;;AAAmB;;AAAW;;;;;;AAArN;;;;;;;;QDtF3CuzB,e;;;AA0CT,+BAAoBnJ,SAApB,EACmBvmB,MADnB,EAEoB6C,MAFpB,EAGoB+V,KAHpB,EAImB3Y,QAJnB,EAKoB0vB,SALpB,EAKiD;AAAA;;AAAA;;AAL7B,aAAApJ,SAAA,GAAAA,SAAA;AACD,aAAAvmB,MAAA,GAAAA,MAAA;AACC,aAAA6C,MAAA,GAAAA,MAAA;AACA,aAAA+V,KAAA,GAAAA,KAAA;AACD,aAAA3Y,QAAA,GAAAA,QAAA;AACC,aAAA0vB,SAAA,GAAAA,SAAA;AA5CpB,aAAAC,kBAAA,GAAqB,oBAArB;AAEA,aAAAC,iBAAA,GAAoB,IAApB;AAEA,aAAAC,KAAA,GAA6B,EAA7B;AACA,aAAAC,SAAA,GAA2B,EAA3B;AACA,aAAAC,UAAA,GAA4B,EAA5B;AACA,aAAAC,YAAA,GAAwB,IAAI,8DAAJ,EAAxB;AACA,aAAAC,SAAA,GAAY,KAAZ;AACA,aAAAC,eAAA,GAA0B,IAAI,6DAAJ,EAA1B;AACA,aAAAC,eAAA,GAA0B,IAAI,6DAAJ,EAA1B;AACA,aAAAC,iBAAA,GAA4B,IAA5B;AACA,aAAA9wB,EAAA,GAAa,IAAb;AACA,aAAA+wB,mBAAA,GAAkC,IAAI,iEAAJ,EAAlC;AACA,aAAAC,qBAAA,GAAgC,IAAhC;AACA,aAAAC,0BAAA,GAA4C,IAAI,oEAAJ,EAA5C;AACA,aAAAC,aAAA,GAA0B,IAAI,+DAAJ,EAA1B;AACA,aAAAC,qBAAA,GAA0C,IAAI,uEAAJ,EAA1C;AACA,aAAA5R,YAAA,GAAwB,IAAI,8DAAJ,EAAxB;AACA,aAAA6R,oBAAA,GAAoC,IAAI,kEAAJ,EAApC;AACA,aAAAzU,QAAA,GAA8B,EAA9B;AACA,aAAA8N,OAAA,GAAe,IAAf;AACA,aAAA4G,eAAA,GAAkB,UAAlB;AACA,aAAAtyB,aAAA,GAAqB,0EAArB;AAGA,aAAAuyB,WAAA,GAAmC,IAAI,0EAAJ,EAAnC;AACA,aAAAzD,aAAA,GAAoC,EAApC;AACA,aAAA4B,QAAA,GAA0B,EAA1B;AACA,aAAAzC,SAAA,GAA4B,EAA5B;AAQA,aAAAuE,gBAAA,GAAmB,KAAnB;AAQI,aAAKlY,KAAL,CAAWyD,MAAX,CAAkB7c,SAAlB,CAA4B,UAAA6c,MAAM,EAAI;AAClC9Z,iBAAO,CAACC,GAAR,CAAY,cAAZ,EAA4B6Z,MAA5B;AACJ,iBAAI,CAACsD,YAAL,GAAoBtD,MAAM,CAACkB,YAA3B;AACA,iBAAI,CAAC/e,KAAL,GAAauyB,YAAY,CAACC,OAAb,CAAqB,WAArB,CAAb;AACA,iBAAI,CAACtyB,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,OAAI,CAACL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACC,SALD;AAMH;;;;mCAEU;AACT,eAAKkyB,WAAL;AACA,eAAKC,OAAL;AACD;;;qCAEY;AAAA;;AACT,eAAKvB,SAAL,CAAexuB,WAAf,CAA2B;AACvBiH,mBAAO,EAAE,CACL;AAAEgR,kBAAI,EAAE,OAAR;AAAiB7M,kBAAI,EAAE,sBAAvB;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,KAAxB;;AAAgC,uBAAI,CAACC,MAAL;AAAgB;AADhE,aADK,EAGL;AAAEhY,kBAAI,EAAE,oBAAR;AAA8B7M,kBAAI,EAAE,oBAApC;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,MAAxB;;AAAiC,uBAAI,CAACE,OAAL;AAAiB;AADlE,aAHK,EAKL;AAAEjY,kBAAI,EAAE,iBAAR;AAA2B7M,kBAAI,EAAE,aAAjC;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,KAAxB;;AAAgC,uBAAI,CAACG,MAAL;AAAgB;AADhE,aALK,EAOL;AAAElY,kBAAI,EAAE,UAAR;AAAoB7M,kBAAI,EAAE,2BAA1B;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,UAAxB;;AAAqC,uBAAI,CAACI,eAAL;AAAyB;AAD9E,aAPK,EASL;AAAEnY,kBAAI,EAAE,gBAAR;AAA0B7M,kBAAI,EAAE,iBAAhC;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,SAAxB;;AAAoC,uBAAI,CAACK,UAAL;AAAoB;AADxE,aATK,EAWL;AAAEpY,kBAAI,EAAE,MAAR;AAAgB7M,kBAAI,EAAE,6BAAtB;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,aAAxB;;AAAwC,uBAAI,CAACM,qBAAL;AAA+B;AADvF,aAXK,EAaL;AAAErY,kBAAI,EAAE,KAAR;AAAe7M,kBAAI,EAAE,wBAArB;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,gBAAxB;;AAA2C,uBAAI,CAACO,gBAAL;AAA0B;AADrF,aAbK,EAeL;AAAEtY,kBAAI,EAAE,WAAR;AAAqB7M,kBAAI,EAAE,cAA3B;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,MAAxB;;AAAiC,uBAAI,CAACQ,OAAL;AAAiB;AADlE,aAfK,EAiBL;AAAEvY,kBAAI,EAAE,MAAR;AAAgB7M,kBAAI,EAAE,eAAtB;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAACkR,kBAAL,CAAwB,OAAxB;;AAAkC,uBAAI,CAACS,QAAL;AAAkB;AADpE,aAjBK,EAmBL;AAAExY,kBAAI,EAAE,MAAR;AAAgB7M,kBAAI,EAAE,yBAAtB;AACA0T,oBAAM,EAAE,kBAAM;AAAE,uBAAI,CAAC4R,gBAAL;AAA0B;AAD1C,aAnBK,CADc;AAuBvBzR,mBAAO,EAAG;AAvBa,WAA3B;AAyBH;;;kCAES;AAAA;;AACN,eAAK0P,KAAL,GAAa,EAAb;AACA,eAAKvJ,SAAL,CAAe2K,OAAf,CAAuB,KAAKvR,YAA5B,EAA0CngB,SAA1C,CACI,UAACC,QAAD,EAAmB;AACf,mBAAI,CAACqwB,KAAL,GAAarwB,QAAQ,CAACqwB,KAAT,CAAegC,IAAf,CAAoBhqB,MAApB,CAA2B,UAAAiqB,CAAC;AAAA,qBAAIA,CAAC,CAACC,WAAF,KAAkB,MAAtB;AAAA,aAA5B,CAAb;AACH,WAHL,EAII,UAAAtyB,KAAK,EAAI;AACL,gBAAIA,KAAK,CAACuM,MAAN,KAAiB,GAArB,EAA0B;AACxB,qBAAI,CAACpJ,MAAL,CAAY6L,aAAZ,CAA0B,GAA1B;AACD;AACJ,WARL;AAUH;;;kDAEyB;AAAA;;AACtB,eAAKsb,OAAL,GAAe,IAAf;AACA,eAAKmF,OAAL,GAAe,IAAf;AACA,eAAK5I,SAAL,CAAe8C,qBAAf,CAAqC,KAAK1J,YAA1C,EAAwDngB,SAAxD,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACuqB,OAAL,GAAevqB,QAAf;;AACA,mBAAI,CAACwyB,UAAL;;AACA,mBAAI,CAACC,QAAL;;AACA,mBAAI,CAACC,OAAL;;AACA,mBAAI,CAACC,OAAL;;AACA,mBAAI,CAACC,YAAL;;AACA,mBAAI,CAACC,WAAL;;AACA,mBAAI,CAACC,cAAL;;AACA,mBAAI,CAACC,iBAAL;;AACA,mBAAI,CAACC,QAAL;;AACA,mBAAI,CAACC,SAAL;;AACA,mBAAI,CAACvD,OAAL,GAAe,KAAf;AACH,WAdL,EAeI,UAAAzvB,KAAK,EAAI;AACL,gBAAIA,KAAK,CAACuM,MAAN,KAAiB,GAArB,EAA0B;AACxB,qBAAI,CAACpJ,MAAL,CAAY6L,aAAZ,CAA0B,GAA1B;AACD;;AACD,mBAAI,CAACoiB,gBAAL,GAAwB,IAAxB;AACAvuB,mBAAO,CAAC7C,KAAR,CAAcA,KAAd;AACH,WArBL;AAsBH;;;0CAEiB;AACd,eAAKmwB,iBAAL,GAAyB,IAAzB;AACA,eAAKc,oBAAL,GAA4B,IAAI,kEAAJ,EAA5B;AACA,eAAK5uB,OAAL,CAAaE,IAAb;AACH;;;qCAEY2iB,C,EAAG;AACZ,cAAIA,CAAC,CAAC8C,MAAF,IAAY,IAAhB,EAAsB;AAClB9C,aAAC,CAAC8C,MAAF,GAAW,IAAI,wEAAJ,EAAX;AACH;;AACD,cAAI9C,CAAC,CAAC+N,QAAF,CAAW3M,QAAX,GAAsB5N,OAAtB,CAA8B,IAA9B,MAAwC,CAAC,CAA7C,EAAgD;AAC5CwM,aAAC,CAAC8C,MAAF,CAASC,SAAT,GAAqB,CAAC/C,CAAC,CAAC+N,QAAF,CAAW3M,QAAX,EAAD,CAArB;AACH,WAFD,MAEO;AACHpB,aAAC,CAAC8C,MAAF,CAASC,SAAT,GAAqB/C,CAAC,CAAC+N,QAAF,CAAW3M,QAAX,GAAsBlnB,KAAtB,CAA4B,IAA5B,CAArB;AACH;;AAED,cAAI8lB,CAAC,CAACkC,WAAF,IAAiB,IAArB,EAA2B;AACvBlC,aAAC,CAACkC,WAAF,GAAgB,IAAI,wEAAJ,EAAhB;AACH;;AACD,cAAIlC,CAAC,CAACgO,aAAF,CAAgB5M,QAAhB,GAA2B5N,OAA3B,CAAmC,IAAnC,MAA6C,CAAC,CAAlD,EAAqD;AACjDwM,aAAC,CAACkC,WAAF,CAAca,SAAd,GAA0B,CAAC/C,CAAC,CAACgO,aAAF,CAAgB5M,QAAhB,EAAD,CAA1B;AACH,WAFD,MAEO;AACHpB,aAAC,CAACkC,WAAF,CAAca,SAAd,GAA0B/C,CAAC,CAACgO,aAAF,CAAgB5M,QAAhB,GAA2BlnB,KAA3B,CAAiC,IAAjC,CAA1B;AACH;;AACD,eAAK+wB,iBAAL,GAAyB,KAAzB;AACA,eAAKc,oBAAL,GAA4B/L,CAA5B;AACA,eAAK7iB,OAAL,CAAaE,IAAb;AACH;;;+CAEsB2iB,C,EAAG;AACtB,eAAKgM,eAAL,GAAuB,aAAvB;AACA,eAAKJ,0BAAL,GAAkC5L,CAAlC;AACA,eAAK7iB,OAAL,CAAaE,IAAb;AACH;;;iCAEQ2iB,C,EAAG;AACR,eAAKgM,eAAL,GAAuB,MAAvB;AACA,eAAK9R,YAAL,GAAoB8F,CAApB;AACA,eAAK7iB,OAAL,CAAaE,IAAb;AACH;;;0CAEiB2iB,C,EAAG;AACjB,eAAKgM,eAAL,GAAuB,gBAAvB;AACA,eAAKF,qBAAL,GAA6B9L,CAA7B;AACA,eAAK7iB,OAAL,CAAaE,IAAb;AACH;;;kCAES2iB,C,EAAG;AACT,eAAKgM,eAAL,GAAuB,OAAvB;AACA,eAAKH,aAAL,GAAqB7L,CAArB;AACA,eAAK7iB,OAAL,CAAaE,IAAb;AACH;;;2CAEkB;AACf,eAAKY,MAAL,CAAY6L,aAAZ,CAA0B,4BAA4BuT,kBAAkB,CAAC,KAAKtC,YAAN,CAA9C,GAAoE,GAA9F,EAAmG;AAAErG,8BAAkB,EAAE;AAAtB,WAAnG;AACH;;;2CAEkBrb,O,EAAS;AACxB,eAAK2yB,eAAL,GAAuB3yB,OAAvB;AACH;;;sCAEa;AAAA;;AACZ,eAAKkxB,OAAL,GAAe,IAAf;AACA,eAAK5I,SAAL,CAAezE,qBAAf,CAAqC,KAAKnC,YAA1C,EAAwDngB,SAAxD,CACI,UAACC,QAAD,EAA8C;AAC5CA,oBAAQ,CAACyK,OAAT,CAAiB,UAAC2oB,gBAAD,EAAsB;AACrC,kBAAIA,gBAAgB,IAAIA,gBAAgB,CAAC3V,YAArC,IAAqD2V,gBAAgB,CAAC3V,YAAjB,CAA8BhV,MAA9B,GAAuC,CAAhG,EAAmG;AACjG,uBAAI,CAACgU,QAAL,gCAAoB,OAAI,CAACA,QAAzB,sBAAsC2W,gBAAgB,CAAC3V,YAAvD;AACD;AACF,aAJD;;AAKA,mBAAI,CAAC4V,uBAAL;AACD,WARL,EASI,UAAApzB,KAAK,EAAI;AACP,mBAAI,CAACozB,uBAAL;;AACA,mBAAI,CAAC3D,OAAL,GAAe,KAAf;AACA5sB,mBAAO,CAAC7C,KAAR,CAAcA,KAAd;AACD,WAbL;AAeH;;;oCAEa6M,I,EAAM;AACd,cAAM9M,QAAQ,GAAG8M,IAAI,CAAC0R,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAjB;AACA,cAAIC,cAAc,GAAG,EAArB;AACAze,kBAAQ,CAACX,KAAT,CAAe,GAAf,EAAoBoL,OAApB,CAA4B,UAAAC,OAAO,EAAI;AACnC,gBAAI+T,cAAc,CAAChW,MAAf,KAA0B,CAA9B,EAAiC;AAC7BgW,4BAAc,IAAI,GAAlB;AACH;;AACDA,0BAAc,IAAI/T,OAAO,CAACgU,MAAR,CAAe,CAAf,EAAkBC,WAAlB,KAAkCjU,OAAO,CAACgO,WAAR,GAAsBvY,KAAtB,CAA4B,CAA5B,CAApD;AACH,WALD;AAMA,iBAAOse,cAAP;AACH;;;uCAEc;AAAA;;AAEX,eAAK8L,OAAL,CAAa+I,QAAb,CAAsB3F,aAAtB,CAAoChG,IAApC,CAAyCld,OAAzC,CAAiD,UAAAC,OAAO,EAAI;AACxD,gBAAIA,OAAO,CAACud,MAAR,IAAkB,IAAtB,EAA4B;AACxBvd,qBAAO,CAACwoB,QAAR,GAAmB,KAAnB;AACH,aAFD,MAEO,IAAIxoB,OAAO,CAACud,MAAR,CAAeE,gBAAf,KAAoC,IAApC,IAA4Czd,OAAO,CAACud,MAAR,CAAeE,gBAAf,CAAgC1f,MAAhC,KAA2C,CAA3F,EAA8F;AACjG,kBAAIiC,OAAO,CAACud,MAAR,CAAeC,SAAf,IAA4B,IAA5B,IAAoCxd,OAAO,CAACud,MAAR,CAAeC,SAAf,CAAyBzf,MAAzB,GAAkC,CAA1E,EAA6E;AACzEiC,uBAAO,CAACwoB,QAAR,GAAmB,EAAnB;AACAxoB,uBAAO,CAACud,MAAR,CAAeC,SAAf,CAAyBzd,OAAzB,CAAiC,UAAA8oB,EAAE,EAAI;AACnC7oB,yBAAO,CAACwoB,QAAR,IAAoBK,EAAE,GAAG,IAAzB;AACH,iBAFD;AAGH,eALD,MAKO,IAAI7oB,OAAO,CAACud,MAAR,CAAeuL,WAAf,IAA8B,IAAlC,EAAwC;AAC3C9oB,uBAAO,CAACwoB,QAAR,GAAmB,KAAnB;AACH,eAFM,MAEA;AACHxoB,uBAAO,CAACwoB,QAAR,GAAmBxoB,OAAO,CAACud,MAAR,CAAeuL,WAAlC;AACH;AACJ,aAXM,MAWA,IAAI9oB,OAAO,CAACud,MAAR,CAAeE,gBAAf,CAAgC1f,MAAhC,GAAyC,CAA7C,EAAgD;AACnDiC,qBAAO,CAACwoB,QAAR,GAAmB,EAAnB;AACAxoB,qBAAO,CAACud,MAAR,CAAeE,gBAAf,CAAgC1d,OAAhC,CAAwC,UAAAgpB,IAAI,EAAI;AAC5C,oBAAMC,GAAG,GAAG,OAAI,CAACnJ,OAAL,CAAaoJ,eAAb,CAA6BC,KAA7B,CAAmCvrB,MAAnC,CAA0C,UAAAwrB,EAAE;AAAA,yBAAIA,EAAE,CAACrL,QAAH,KAAgBiL,IAApB;AAAA,iBAA5C,EAAsE,CAAtE,CAAZ;;AACA/oB,uBAAO,CAACwoB,QAAR,IAAoBQ,GAAG,CAAC/lB,KAAJ,GAAY,IAAhC;AACH,eAHD;AAIH;;AAED,gBAAIjD,OAAO,CAAC2c,WAAR,IAAuB,IAA3B,EAAiC;AAC7B3c,qBAAO,CAACyoB,aAAR,GAAwB,KAAxB;AACH,aAFD,MAEO,IAAIzoB,OAAO,CAAC2c,WAAR,CAAoBc,gBAApB,IAAwC,IAAxC,IAAgDzd,OAAO,CAAC2c,WAAR,CAAoBc,gBAApB,CAAqC1f,MAArC,KAAgD,CAApG,EAAuG;AAC1G,kBAAIiC,OAAO,CAAC2c,WAAR,CAAoBmM,WAApB,IAAmC,IAAvC,EAA6C;AACzC9oB,uBAAO,CAACyoB,aAAR,GAAwB,KAAxB;AACH,eAFD,MAEO;AACHzoB,uBAAO,CAACyoB,aAAR,GAAwBzoB,OAAO,CAAC2c,WAAR,CAAoBmM,WAA5C;AACH;AACJ,aANM,MAMC,IAAI9oB,OAAO,CAAC2c,WAAR,CAAoBc,gBAApB,CAAqC1f,MAArC,GAA8C,CAAlD,EAAqD;AACzDiC,qBAAO,CAACyoB,aAAR,GAAwB,EAAxB;AACAzoB,qBAAO,CAAC2c,WAAR,CAAoBc,gBAApB,CAAqC1d,OAArC,CAA6C,UAAAgpB,IAAI,EAAI;AACjD,oBAAMC,GAAG,GAAG,OAAI,CAACnJ,OAAL,CAAaoJ,eAAb,CAA6BC,KAA7B,CAAmCvrB,MAAnC,CAA0C,UAAAwrB,EAAE;AAAA,yBAAIA,EAAE,CAACrL,QAAH,KAAgBiL,IAApB;AAAA,iBAA5C,EAAsE,CAAtE,CAAZ;;AACA,oBAAIC,GAAJ,EAAS;AACLhpB,yBAAO,CAACyoB,aAAR,IAAyBO,GAAG,CAAC/lB,KAAJ,GAAY,IAArC;AACH,iBAFD,MAEO;AACH7K,yBAAO,CAACC,GAAR,CAAY,kCAAkC0wB,IAA9C;AACH;AACJ,eAPD;AAQA/oB,qBAAO,CAACyoB,aAAR,GAAwBzoB,OAAO,CAACyoB,aAAR,CAAsBhzB,KAAtB,CAA4B,CAA5B,EAA+B,CAAC,CAAhC,CAAxB;AACH;;AAED,gBAAIuK,OAAO,CAAC+d,WAAR,IAAuB,IAAvB,IAA+B/d,OAAO,CAAC+d,WAAR,CAAoBqL,aAApB,CAAkCrrB,MAAlC,KAA6C,CAAhF,EAAmF;AAC/EiC,qBAAO,CAACkd,IAAR,GAAe,KAAf;AACH,aAFD,MAEO;AAEHld,qBAAO,CAACkd,IAAR,GAAe,EAAf;AACAld,qBAAO,CAAC+d,WAAR,CAAoBqL,aAApB,CAAkCrpB,OAAlC,CAA0C,UAAAspB,GAAG,EAAI;AAC7C,oBAAMC,OAAO,GAAG,OAAI,CAACzJ,OAAL,CAAa0J,iBAAb,CAA+BxL,WAA/B,CAA2CpgB,MAA3C,CAAkD,UAAAwrB,EAAE;AAAA,yBAAIA,EAAE,CAACrL,QAAH,KAAgBuL,GAApB;AAAA,iBAApD,EAA6E,CAA7E,CAAhB;;AACA,oBAAIC,OAAO,IAAI,IAAf,EAAoB;AAChBtpB,yBAAO,CAACkd,IAAR,GAAe,OAAf;AACH,iBAFD,MAEK;AACD,sBAAIoM,OAAO,CAACE,OAAR,IAAmB,IAAnB,IAA2BF,OAAO,CAACE,OAAR,CAAgBzrB,MAAhB,KAA2B,CAA1D,EAA4D;AACxDiC,2BAAO,CAACkd,IAAR,GAAe,OAAf;AACH,mBAFD,MAEK;AACD9kB,2BAAO,CAACC,GAAR,CAAY,UAAZ,EAAuBixB,OAAO,CAACE,OAA/B;AACAxpB,2BAAO,CAACkd,IAAR,IAAgBoM,OAAO,CAACE,OAAR,CAAgBC,mBAAhB,GAAsC,GAAtC,GAA4CH,OAAO,CAACE,OAAR,CAAgBvmB,KAA5D,GAAoE,IAApF;AACH;AAEJ;AAEJ,eAdD;AAeAjD,qBAAO,CAACkd,IAAR,GAAeld,OAAO,CAACkd,IAAR,CAAaznB,KAAb,CAAmB,CAAnB,EAAsB,CAAC,CAAvB,CAAf;AACH;AACJ,WAjED;AAkEA,cAAMqc,QAAQ,GAAG,KAAKC,QAAtB;AACA,eAAK8T,UAAL,GAAkB/T,QAAQ,CAACza,GAAT,CAAa,UAAAue,CAAC;AAAA,mBAAIA,CAAC,CAAC3T,aAAF,CAAgBynB,SAApB;AAAA,WAAd,EAA6C/rB,MAA7C,CAAoD,UAAAiY,CAAC;AAAA,mBAAIA,CAAC,IAAI,IAAT;AAAA,WAArD,CAAlB;AACA,eAAKqN,aAAL,GAAqB,KAAKpD,OAAL,CAAa+I,QAAb,CAAsB3F,aAAtB,CAAoChG,IAAzD;AACH;;;kCAES;AACR,cAAMnL,QAAQ,GAAG,KAAKC,QAAtB;AACA,eAAK6T,SAAL,GAAiB,KAAK/F,OAAL,CAAaoJ,eAAb,CAA6BC,KAA7B,CAAmCvrB,MAAnC,CAA0C,UAAAiY,CAAC;AAAA,mBAAIA,CAAC,CAACxe,IAAF,CAAO6W,OAAP,CAAe,QAAf,MAA6B,CAAC,CAAlC;AAAA,WAA3C,EAAgF5W,GAAhF,CAAoF,UAAAue,CAAC;AAAA,mBAAIA,CAAC,CAAC3S,KAAN;AAAA,WAArF,CAAjB;AACA,eAAK4iB,UAAL,GAAkB/T,QAAQ,CAACza,GAAT,CAAa,UAAAue,CAAC;AAAA,mBAAIA,CAAC,CAAC3T,aAAF,CAAgBynB,SAApB;AAAA,WAAd,CAAlB;AACA,eAAK7E,QAAL,GAAgB,KAAKhF,OAAL,CAAa8J,GAAb,CAAiB9E,QAAjB,CAA0B+E,OAA1C;AACD;;;mCAEU;AAAA;;AACP,cAAM9X,QAAQ,GAAG,KAAKC,QAAtB;AACA,eAAK8N,OAAL,CAAagK,IAAb,CAAkBC,cAAlB,CAAiCC,aAAjC,CAA+ChqB,OAA/C,CAAuD,UAAAC,OAAO,EAAI;AAC9D,gBAAMlM,OAAO,GAAGge,QAAQ,CAACnU,MAAT,CAAgB,UAAAiY,CAAC;AAAA,qBAAIA,CAAC,CAAC3T,aAAF,CAAgBsI,UAAhB,KAA+BvK,OAAO,CAACuK,UAA3C;AAAA,aAAjB,EAAwE,CAAxE,CAAhB;AACAvK,mBAAO,CAAC8L,WAAR,GAAsBhY,OAAO,GAAG,OAAI,CAAC+f,WAAL,CAAiB/f,OAAO,CAACmO,aAAR,CAAsBsB,eAAtB,CAAsCC,EAAvD,CAAH,GAAgE,IAA7F;AACAxD,mBAAO,CAAC2K,SAAR,GAAoB7W,OAAO,GAAGA,OAAO,CAAC6W,SAAX,GAAuB,IAAlD;AACH,WAJD;AAKA,eAAKkY,aAAL,GAAqB/Q,QAAQ,CAACnU,MAAT,CAAgB,UAAAQ,CAAC;AAAA,mBAAI,OAAI,CAAC0hB,OAAL,CAAagK,IAAb,CAAkBC,cAAlB,CAAiCC,aAAjC,CACvC1yB,GADuC,CACnC,UAAAojB,CAAC;AAAA,qBAAIA,CAAC,CAAClQ,UAAN;AAAA,aADkC,EAChB0D,OADgB,CACR9P,CAAC,CAAC8D,aAAF,CAAgBsI,UADR,MACwB,CAAC,CADzB,IAC8BpM,CAAC,CAAC8D,aAAF,CAAgBsI,UAAhB,IAA8B,IADhE;AAAA,WAAjB,CAArB;AAEA,eAAK6X,SAAL,GAAiB,KAAKvC,OAAL,CAAagK,IAAb,CAAkBC,cAAlB,CAAiCC,aAAlD;AACH;;;kCAES;AACN,eAAKnE,SAAL,GAAiB,KAAK/F,OAAL,CAAaoJ,eAAb,CAA6BC,KAA7B,CAAmCvrB,MAAnC,CAA0C,UAAAiY,CAAC;AAAA,mBAAIA,CAAC,CAACxe,IAAF,CAAO6W,OAAP,CAAe,QAAf,MAA6B,CAAC,CAAlC;AAAA,WAA3C,EAAgF5W,GAAhF,CAAoF,UAAAue,CAAC;AAAA,mBAAIA,CAAC,CAAC3S,KAAN;AAAA,WAArF,CAAjB;AACA,eAAKud,KAAL,GAAa,KAAKX,OAAL,CAAaW,KAA1B;AACH;;;sCAEa;AACV,eAAKrB,OAAL,GAAe,KAAKU,OAAL,CAAaV,OAA5B;AACH;;;yCAEgB;AACb,eAAKU,OAAL,CAAamK,YAAb,CAA0B5I,kBAA1B,CAA6CrhB,OAA7C,CAAqD,UAAAC,OAAO,EAAI;AAC5D,gBAAIA,OAAO,CAACiiB,WAAR,IAAuB,IAA3B,EAAiC;AAC7BjiB,qBAAO,CAACiiB,WAAR,GAAsB,IAAI,+EAAJ,EAAtB;AACAjiB,qBAAO,CAACiiB,WAAR,CAAoBgI,MAApB,GAA6B,MAA7B;AACH;AACJ,WALD;AAOA,eAAKhJ,WAAL,GAAmB,KAAKpB,OAAL,CAAamK,YAAb,CAA0B5I,kBAA7C;AACH;;;4CAEmB;AAAA;;AAChB,eAAKvB,OAAL,CAAamK,YAAb,CAA0BE,aAA1B,CAAwCnqB,OAAxC,CAAgD,UAAAC,OAAO,EAAI;AACvD,gBAAIA,OAAO,CAAC+hB,oBAAR,IAAgC,IAApC,EAA0C;AACtC/hB,qBAAO,CAACmqB,sBAAR,GAAiC,EAAjC;AACH,aAFD,MAEO;AACHnqB,qBAAO,CAACmqB,sBAAR,GAAiC,OAAI,CAACtK,OAAL,CAAamK,YAAb,CAA0B5I,kBAA1B,CAChCzjB,MADgC,CACzB,UAAAysB,CAAC;AAAA,uBAAIA,CAAC,CAACrI,oBAAF,KAA2B/hB,OAAO,CAAC+hB,oBAAvC;AAAA,eADwB,EACqC,CADrC,EACwC3qB,IADzE;AAEH;;AACD,gBAAI4I,OAAO,CAACqqB,aAAR,IAAyB,IAA7B,EAAmC;AAC/BrqB,qBAAO,CAACsqB,eAAR,GAA0B,EAA1B;AACH,aAFD,MAEO;AACHtqB,qBAAO,CAACsqB,eAAR,GAA0B,OAAI,CAACzK,OAAL,CAAamK,YAAb,CAA0BO,IAA1B,CAA+B5sB,MAA/B,CAAsC,UAAAysB,CAAC;AAAA,uBAAIA,CAAC,CAACI,MAAF,KAAaxqB,OAAO,CAACqqB,aAAzB;AAAA,eAAvC,EAA+E,CAA/E,EAAkFjzB,IAA5G;AACH;AACJ,WAZD;AAaA,eAAK8yB,aAAL,GAAqB,KAAKrK,OAAL,CAAamK,YAAb,CAA0BE,aAA/C;AACH;;;mCAEU;AAAA;;AACP,eAAKrK,OAAL,CAAamK,YAAb,CAA0BO,IAA1B,CAA+BxqB,OAA/B,CAAuC,UAAAC,OAAO,EAAI;AAC9C,gBAAIA,OAAO,CAACyqB,SAAR,IAAqB,IAAzB,EAA+B;AAC3BzqB,qBAAO,CAAC0qB,WAAR,GAAsB,EAAtB;AACH,aAFD,MAEO;AACH1qB,qBAAO,CAAC0qB,WAAR,GAAsB,OAAI,CAAC7K,OAAL,CAAamK,YAAb,CAA0BW,OAA1B,CAAkChtB,MAAlC,CAAyC,UAAAysB,CAAC;AAAA,uBAAIA,CAAC,CAACK,SAAF,KAAgBzqB,OAAO,CAACyqB,SAA5B;AAAA,eAA1C,EAAiF,CAAjF,EAAoFrzB,IAA1G;AACH;AACJ,WAND;AAQA,eAAKmzB,IAAL,GAAY,KAAK1K,OAAL,CAAamK,YAAb,CAA0BO,IAAtC;AACH;;;oCAEW;AACR,eAAKlG,KAAL,GAAa,KAAKxE,OAAL,CAAaoJ,eAAb,CAA6BC,KAA1C;AACH;;;kCAES;AAAA;;AACN,eAAKrG,aAAL,GAAqB,KAAK9Q,QAAL,CAAcpU,MAAd,CAAqB,UAAAQ,CAAC;AAAA,mBAAI,OAAI,CAAC0hB,OAAL,CAAagK,IAAb,CAAkBC,cAAlB,CAAiCC,aAAjC,CAC5C1yB,GAD4C,CACxC,UAAAojB,CAAC;AAAA,qBAAIA,CAAC,CAAClQ,UAAN;AAAA,aADuC,EACrB0D,OADqB,CACb9P,CAAC,CAAC8D,aAAF,CAAgBsI,UADH,MACmB,CAAC,CADpB,IACyBpM,CAAC,CAAC8D,aAAF,CAAgBsI,UAAhB,IAA8B,IAD3D;AAAA,WAAtB,CAArB;;AAEA,cAAI,KAAKsY,aAAL,CAAmB9kB,MAAnB,GAA4B,CAAhC,EAAmC;AAC/B,iBAAK+nB,YAAL,GAAoB,IAAI,8DAAJ,EAApB;AACA,iBAAKluB,OAAL,CAAaE,IAAb;AACH,WAHD,MAGO;AACH,iBAAKF,OAAL,CAAaC,KAAb;AACA,iBAAK/B,QAAL,CAAcgC,IAAd,CAAmB,6BAAnB,EAAkD,IAAlD,EAAwD;AACpDC,sBAAQ,EAAE;AAD0C,aAAxD;AAGH;AACJ;;;iCAEQmpB,I,EAAe;AAAA;;AACpB,eAAK2B,aAAL,GAAqB,KAAK9Q,QAAL,CAAcpU,MAAd,CAAqB,UAAAQ,CAAC;AAAA,mBAAI,OAAI,CAAC0hB,OAAL,CAAagK,IAAb,CAAkBC,cAAlB,CAAiCC,aAAjC,CAC5C1yB,GAD4C,CACxC,UAAAojB,CAAC;AAAA,qBAAIA,CAAC,CAAClQ,UAAN;AAAA,aADuC,EACrB5M,MADqB,CACd,UAAAiY,CAAC;AAAA,qBAAIA,CAAC,KAAKsL,IAAI,CAAC3W,UAAf;AAAA,aADa,EAE5C0D,OAF4C,CAEpC9P,CAAC,CAAC8D,aAAF,CAAgBsI,UAFoB,MAEJ,CAAC,CAFG,IAEEpM,CAAC,CAAC8D,aAAF,CAAgBsI,UAAhB,IAA8B,IAFpC;AAAA,WAAtB,CAArB;AAGA,eAAKub,YAAL,GAAoB5E,IAApB;AACA,eAAKtpB,OAAL,CAAaE,IAAb;AACH;;;gCAEOopB,I,EAAc;AAClB,eAAK8E,eAAL,GAAuB9E,IAAvB;AACA,eAAKtpB,OAAL,CAAaE,IAAb;AACH;;;gCAEOopB,I,EAAc;AAClB,eAAK+E,eAAL,GAAuB/E,IAAvB;AACA,eAAKgF,iBAAL,GAAyB,KAAKrG,OAAL,CAAaW,KAAb,CAAmBC,KAAnB,CAAyBC,IAAzB,CAA8BzS,OAA9B,CAAsCiT,IAAtC,CAAzB;AACA,eAAKtpB,OAAL,CAAaE,IAAb;AACH;;;oCAEWopB,I,EAAkB;AAC1B,eAAKiF,mBAAL,GAA2BjF,IAA3B;AACA,eAAKkF,qBAAL,GAA6B,KAAKvG,OAAL,CAAaV,OAAb,CAAqBE,YAArB,CAAkCC,KAAlC,CAAwCrR,OAAxC,CAAgDiT,IAAhD,CAA7B;AACA,eAAKtpB,OAAL,CAAaE,IAAb;AACH;;;iCAEQ;AACL,eAAKkuB,eAAL,GAAuB,IAAI,6DAAJ,EAAvB;AACA,eAAKpuB,OAAL,CAAaE,IAAb;AACH;;;iCAEQ;AACL,eAAKmuB,eAAL,GAAuB,IAAI,6DAAJ,EAAvB;AACA,eAAKA,eAAL,CAAqB5J,KAArB,GAA6B,IAA7B;AACA,eAAK6J,iBAAL,GAAyB,IAAzB;AACA,eAAKtuB,OAAL,CAAaE,IAAb;AACH;;;qCAEY;AACT,eAAKquB,mBAAL,GAA2B,IAAI,iEAAJ,EAA3B;AACA,eAAKvuB,OAAL,CAAaE,IAAb;AACA,eAAKsuB,qBAAL,GAA6B,IAA7B;AACH;;;gDAEuB;AACpB,eAAKC,0BAAL,GAAkC,IAAI,oEAAJ,EAAlC;AACA,eAAKzuB,OAAL,CAAaE,IAAb;AACH;;;2CAEkB;AACf,eAAKyuB,qBAAL,GAA6B,IAAI,uEAAJ,EAA7B;AACA,eAAK3uB,OAAL,CAAaE,IAAb;AACH;;;kCAES;AACN,eAAK6c,YAAL,GAAoB,IAAI,8DAAJ,EAApB;AACA,eAAK/c,OAAL,CAAaE,IAAb;AACH;;;mCAEU;AACP,eAAKwuB,aAAL,GAAqB,IAAI,+DAAJ,EAArB;AACA,eAAK1uB,OAAL,CAAaE,IAAb;AACH;;;yCAEgB8yB,Q,EAAU;AACvB,eAAKjC,uBAAL;AACH;;;+BAEMpV,K,EAA0B;AAC7B,eAAKkT,eAAL,GAAuBlT,KAAK,CAACsX,GAAN,CAAUC,SAAjC;AACH;;;4CAEmBrF,kB,EAA4B;AAC5C,eAAKA,kBAAL,GAA0BA,kBAA1B;AACH;;;;;;;uBAtcQF,e,EAAe,sI,EAAA,mI,EAAA,uH,EAAA,+H,EAAA,wI,EAAA,4I;AAAA,K;;;YAAfA,e;AAAe,uC;AAAA;AAAA;;;;;;;;;;;;;;;ACnB5B;;AACI;;AACE;;AACF;;AACA;;AACI;;AAAmC;AAAA,mBAAe,IAAAwF,gBAAA,QAAf;AAAuC,WAAvC;;AAC8B;;AACjE;;AAAkC;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AAC0C;;AAC5E;;AAAkC;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AACkD;;AACpF;;AAAsC;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AACoD;;AAC1F;;AAAmE;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AAEoB;;AACvF;;AAAiD;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AAE6C;;AAC9F;;AAA4C;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AAGkG;;AAC9I;;AAAyD;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AAE4D;;AACrH;;AAAoC;AAAA,mBAAe,IAAAA,gBAAA,QAAf;AAAuC,WAAvC;;AAEoF;;AAC5H;;AAEA;;AAAiE;AAAA,mBAAqB,IAAAC,MAAA,QAArB;AAAmC,WAAnC;;AAC7D;;AACI;;AAGA;;AACI;;AAAsG;AAAA,mBAAY,IAAAD,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAE,YAAA,QAAX;AAA+B,WAApE;;AAAsE;;AAChL;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AAAmF;AAAA,mBAAY,IAAAF,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAG,OAAA,QAAX;AAA0B,WAA/D;;AAAiE;;AACxJ;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AAAsF;AAAA,mBAAY,IAAAH,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAI,QAAA,QAAX;AAA2B,WAAhE;;AAAkE;;AAC5J;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AAA6E;AAAA,mBAAY,IAAAJ,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAK,OAAA,QAAX;AAA0B,WAA/D;;AAAiE;;AAClJ;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AAAqF;AAAA,mBAAY,IAAAL,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAM,WAAA,QAAX;AAA8B,WAAnE;;AAAqE;;AAC9J;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AACI;;AACI;;AACI;;AACI;;AAAmF;AAAA,mBAAS,IAAAC,mBAAA,CAAoB,oBAApB,CAAT;AAAkD,WAAlD;;AAC/E;;;;AACJ;;AACA;;AACA;;AAA4E;AAAA,mBAAS,IAAAA,mBAAA,CAAoB,cAApB,CAAT;AAA4C,WAA5C;;AACxE;;;;AACJ;;AACA;;AACA;;AAA8E;AAAA,mBAAS,IAAAA,mBAAA,CAAoB,eAApB,CAAT;AAA6C,WAA7C;;AAC1E;;;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAAuJ;AAAA,mBAAY,IAAAP,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAQ,sBAAA,QAAX;AAAyC,WAA9E;;AAAgF;;AACvO;;AAA4H;AAAA,mBAAY,IAAAR,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAS,QAAA,QAAX;AAA2B,WAAhE;;AAAkE;;AAC9L;;AAAyJ;AAAA,mBAAY,IAAAT,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAU,iBAAA,QAAX;AAAoC,WAAzE;;AAA2E;;AACxO;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAGA;;AACI;;AAA+E;AAAA,mBAAY,IAAAV,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,QAArC,EAAqC;AAAA,mBAAW,IAAAW,SAAA,QAAX;AAA4B,WAAjE;;AAAmE;;AACtJ;;AACJ;;AACJ;;AACJ;;;;;;AA9GY;;AAAA;;AAGW;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,eAAnB,EAAmB,iBAAnB,EAAmB,QAAnB,EAAmB,6BAAnB,EAAmB,UAAnB,EAAmB,gBAAnB;;AAED;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,QAAnB,EAAmB,4BAAnB,EAAmB,WAAnB,EAAmB,aAAnB,EAAmB,YAAnB,EAAmB,cAAnB,EAAmB,SAAnB,EAAmB,mBAAnB;;AAEA;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,QAAnB,EAAmB,4BAAnB,EAAmB,SAAnB,EAAmB,mBAAnB,EAAmB,WAAnB,EAAmB,qBAAnB,EAAmB,WAAnB,EAAmB,aAAnB;;AAEI;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,QAAnB,EAAmB,gCAAnB,EAAmB,aAAnB,EAAmB,uBAAnB,EAAmB,eAAnB,EAAmB,yBAAnB,EAAmB,OAAnB,EAAmB,SAAnB;;AAEC;;AAAA,mGAA2B,SAA3B,EAA2B,KAA3B,EAA2B,cAA3B,EAA2B,gBAA3B,EAA2B,QAA3B,EAA2B,iCAA3B,EAA2B,cAA3B,EAA2B,wBAA3B,EAA2B,YAA3B,EAA2B,cAA3B,EAA2B,OAA3B,EAA2B,iKAA3B,EAA2B,QAA3B,EAA2B,uJAA3B;;AAGU;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,QAAnB,EAAmB,oCAAnB,EAAmB,oBAAnB,EAAmB,8BAAnB,EAAmB,OAAnB,EAAmB,8JAAnB;;AAGL;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,QAAnB,EAAmB,uCAAnB,EAAmB,WAAnB,EAAmB,aAAnB,EAAmB,OAAnB,EAAmB,yJAAnB,EAAmB,eAAnB,EAAmB,yBAAnB,EAAmB,OAAnB,EAAmB,kLAAnB,EAAmB,aAAnB,EAAmB,8MAAnB;;AAIT;;AAAA,6FAAqB,SAArB,EAAqB,KAArB,EAAqB,cAArB,EAAqB,gBAArB,EAAqB,QAArB,EAAqB,6BAArB,EAAqB,MAArB,EAAqB,gBAArB,EAAqB,OAArB,EAAqB,iJAArB,EAAqB,UAArB,EAAqB,wLAArB;;AAGC;;AAAA,qFAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,QAAnB,EAAmB,8BAAnB,EAAmB,OAAnB,EAAmB,iBAAnB,EAAmB,OAAnB,EAAmB,6LAAnB;;AAWY;;AAAA,uGAA+B,cAA/B,EAA+B,gBAA/B,EAA+B,SAA/B,EAA+B,WAA/B;;AAQT;;AAAA,6FAAqB,cAArB,EAAqB,gBAArB,EAAqB,SAArB,EAAqB,WAArB;;AAQC;;AAAA,+FAAuB,cAAvB,EAAuB,gBAAvB,EAAuB,SAAvB,EAAuB,WAAvB;;AAQD;;AAAA,uFAAe,cAAf,EAAe,gBAAf,EAAe,SAAf,EAAe,WAAf;;AAQI;;AAAA,2FAAmB,cAAnB,EAAmB,gBAAnB,EAAmB,SAAnB,EAAmB,WAAnB;;AAaK;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAKW;;AAAA,6HAAqD,aAArD,EAAqD,eAArD,EAAqD,cAArD,EAAqD,gBAArD,EAAqD,SAArD,EAAqD,WAArD;;AACP;;AAAA,uHAA+C,MAA/C,EAA+C,QAA/C,EAA+C,cAA/C,EAA+C,gBAA/C,EAA+C,SAA/C,EAA+C,WAA/C;;AACU;;AAAA,wHAAgD,eAAhD,EAAgD,iBAAhD,EAAgD,cAAhD,EAAgD,gBAAhD,EAAgD,SAAhD,EAAgD,WAAhD;;AAWrB;;AAAA,uFAAe,cAAf,EAAe,gBAAf,EAAe,SAAf,EAAe,WAAf;;;;;;;;;;sEDzFhBnG,e,EAAe;cAN3B,uDAM2B;eANjB;AACPzzB,kBAAQ,EAAE,kBADH;AAEPE,mBAAS,EAAE,CAAC,sBAAD,CAFJ;AAGPD,qBAAW,EAAE;AAHN,S;AAMiB,Q;;;;;;;;;;;;;;;;gBAEvB,uD;iBAAU,S;;;;;;;;;;;;;;;;;;;;AErBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAaQ;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAGjC;;AAAmC;;AAAS;;;;;;AAC5C;;AAAiC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAO;;;;;;AAC1C;;AAAiC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QD7BK45B,kB;;;AAUT,kCAAoBvP,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,MAAD,EAAS,WAAT,EAAsB,aAAtB,EAAqC,SAArC,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,cAAG,KAAK4b,IAAL,IAAa,IAAhB,EACE,KAAK3b,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKqyB,IAA5B,CADF,KAGE,KAAK3b,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AACF,eAAK0W,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,cAAG,KAAKwc,IAAL,IAAa,IAAhB,EACE,KAAK3b,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKqyB,IAA5B,CADF,KAGE,KAAK3b,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AACF6V,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;wCAEeyR,I,EAAe;AAAA;;AAC3B,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCI,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,eADH;AAEJC,qBAAO,EAAE,cAFL;AAGJC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAACqqB,UAAL,CAAgB1K,IAAhB,CAAN;AAAA;AAHA;AAD6B,WAArC;AAOD;;;mCAEQA,I,EAAe;AAAA;;AACxB,cAAIhwB,GAAG,GAAG,IAAI,yEAAJ,EAAV;AACAA,aAAG,CAACq5B,IAAJ,GAAWrJ,IAAX;AACAhwB,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACA,eAAK9B,SAAL,CAAewP,UAAf,CAA0B16B,GAA1B,EAA+BmE,SAA/B,CACE,UAAAC,QAAQ,EAAI;AACV,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,mCAAnB,EAAwD,IAAxD,EAA8D;AAC1DC,sBAAQ,EAAE;AADgD,aAA9D;AAGD,WANH,EAOE,UAAAxC,KAAK,EAAI;AACP,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,2BAA2BvC,KAAK,CAACA,KAApD,EAA2D,IAA3D,EAAiE;AAC7DwC,sBAAQ,EAAE;AADmD,aAAjE;AAGD,WAXH;AAaD;;;wCAEe;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;iCAEQ2gB,I,EAAe;AACtB,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBAvEQyK,kB,EAAkB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAAlBA,kB;AAAkB,iC;AAAA;AAAA;oEAMhB,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAArK,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AA9CkB;;AAWA;;AAAA;;AA8BE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sEDhCF8b,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACT75B,kBAAQ,EAAE,YADD;AAETC,qBAAW,EAAE,6BAFJ;AAGTC,mBAAS,EAAE,CAAC,6BAAD;AAHF,S;AAKoB,Q;;;;;;;;;;gBAC1B,mD;iBAAM,M;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAAgC;;AAAY;;;;;;AAC5C;;AAAgC;;AAAW;;;;;;AAUnC;;AAA6G;;AAAI;;;;;;AACjH;;AAA8G;;AAAK;;;;;;AAG3G;;AAAuF;;AAAgB;;;;;;AAmB3G;;AAAyE;;AAAgB;;;;;;AAA5C;;AAA4B;;AAAA;;;;;;AAGzE;;AAAiG;;AAAgB;;;;;;AAwBzG;;AAA4F;;AAAmC;;;;;;AAA7E;;AAA0C;;AAAA;;;;;;AAG5F;;AAAqG;;AAAgB;;;;;;AAOzH;;AAAqH;;AAAI;;;;;;AACzH;;AAAsH;;AAAK;;;;;;AAGnH;;AAA+F;;AAAgB;;;;;;AAQvH;;AAAiH;;AAAI;;;;;;AACrH;;AAAkH;;AAAK;;;;;;AAG/G;;AAA2F;;AAAgB;;;;;;AAQnH;;AAA+H;;AAAI;;;;;;AACnI;;AAAgI;;AAAK;;;;;;AAG7H;;AAAyG;;AAAgB;;;;;;AAQjI;;AAAuH;;AAAI;;;;;;AAC3H;;AAAwH;;AAAK;;;;;;AAGrH;;AAAiG;;AAAgB;;;;;;AAQzH;;AAAuH;;AAAI;;;;;;AAC3H;;AAAwH;;AAAK;;;;;;AAGrH;;AAAiG;;AAAgB;;;;;;;;AAO7H;;AACI;;AACI;;AAA8B;;AAAkB;;AAChD;;AACI;;AAAQ;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACJ;;AAAU;;AAAM;;AACpB;;AACJ;;AACA;;AACI;;AAAQ;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACJ;;AAAU;;AAAM;;AACpB;;AACJ;;AACJ;;AACJ;;;;;;AAZsC;;AAAA;;;;;;AAH1C;;AACI;;AAeJ;;;;;;AAfkC;;AAAA;;;;QDrHrC65B,a;;;AAyBT,6BAAoBzP,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAiHjC,IAAjH,EAA4I+3B,KAA5I,EAAsK;AAAA;;AAAlJ,aAAA1P,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAiC,aAAAjC,IAAA,GAAAA,IAAA;AAA2B,aAAA+3B,KAAA,GAAAA,KAAA;AAlB5H,aAAAzP,KAAA,GAAkB,IAAlB;AAGN,aAAAC,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAAC,KAAA,GAAmB,IAAI,qEAAJ,EAAnB;AACA,aAAApmB,OAAA,GAAmB,KAAnB;AACA,aAAAqmB,WAAA,GAAuB,KAAvB;AACQ,aAAAC,SAAA,GAAqB,KAArB;AACR,aAAAsP,MAAA,GAAwB,IAAI,oEAAJ,EAAxB;AACA,aAAAlP,WAAA,GAAkC,IAAI,yEAAJ,EAAlC;AACA,aAAA1oB,aAAA,GAAqB,0EAArB;AAKA,aAAA63B,gBAAA,GAA2B,KAA3B;AACA,aAAAC,SAAA,GAAoB,KAApB,CAEsK,CAClK;;AACA,aAAK53B,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAKs3B,QAAL,GAAgB,KAAKl2B,WAAL,CAAiBS,KAAjB,CAAuB;AACnC,kBAAS,CAAC,EAAD,EAAI,CAAC,0DAAWumB,OAAX,CAAmB,gBAAnB,CAAD,CAAJ,CAD0B;AAEnC,uBAAc,CAAC,EAAD,EAAI,CAAC,0DAAWpmB,QAAZ,CAAJ,CAFqB;AAGnC,uBAAc,CAAC,EAAD,EAAI,EAAJ;AAHqB,SAAvB,CAAhB;AAMA,aAAKu1B,UAAL,GAAkB,KAAKn2B,WAAL,CAAiBS,KAAjB,CAAuB;AACrC,uBAAc,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CADuB;AAErC,oBAAW,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL,CAF0B;AAGrC,kBAAS,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL,CAH4B;AAIrC,yBAAgB,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL,CAJqB;AAKrC,qBAAY,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL,CALyB;AAMrC,qBAAY,CAAC,EAAD,EAAK,CAAC,0DAAWA,QAAZ,CAAL;AANyB,SAAvB,CAAlB;AAQH;;;;mCAGU;AACP,eAAKT,OAAL,GAAe,KAAf;AACA,eAAKqmB,WAAL,GAAmB,KAAnB;AACA,eAAKuP,MAAL,GAAc,IAAI,oEAAJ,EAAd;AACA,eAAKlP,WAAL,GAAmB,IAAI,yEAAJ,EAAnB;AACH;;;oCAEW;AACR,eAAKkP,MAAL,GAAc,IAAI,oEAAJ,EAAd;AACA,eAAKC,gBAAL,GAAwB,IAAxB;AACA,eAAKC,SAAL,GAAiB,IAAjB;AACA,eAAKH,KAAL,CAAWne,aAAX;AACH;;;qCAEY;AACT,cAAI,KAAK4c,IAAL,CAAUwB,MAAd,EAAsB;AAClB,mBAAO,KAAKxB,IAAL,CAAUwB,MAAjB;AACH,WAFD,MAGK;AACD,mBAAO,EAAP;AACH;AACJ;;;sCAEa;AACV,cAAI,KAAKK,QAAT,EAAmB;AACf,mBAAO,KAAKA,QAAL,CAAczuB,MAAd,CAAqB,UAAAiY,CAAC;AAAA,qBAAIA,CAAC,CAAC3T,aAAF,CAAgBynB,SAAhB,IAA6B,IAAjC;AAAA,aAAtB,CAAP;AACH,WAFD,MAEO;AACH,mBAAO,EAAP;AACH;AACJ;;;qCAEY;AACT,cAAG,KAAKuC,SAAR,EACI,KAAK1B,IAAL,CAAUwB,MAAV,CAAiBtrB,IAAjB,CAAsB,KAAKsrB,MAA3B;AAEJ,eAAKC,gBAAL,GAAwB,KAAxB;AACA,eAAKF,KAAL,CAAWne,aAAX;AACH;;;mCAEU;AACP,eAAK4c,IAAL,GAAY,IAAI,8DAAJ,EAAZ;AACH;;;oCAEWpU,O,EAAS;AACjB,cAAGA,OAAO,CAAC,OAAD,CAAV,EAAoB;AAChB,gBAAGA,OAAO,CAAC,OAAD,CAAP,CAAiBC,YAApB,EAAiC;AAC7B,mBAAK4H,QAAL;AACA,mBAAK3B,KAAL,GAAa,KAAb;AACH;AACJ;AACJ;;;qCAEYre,I,EAAM;AACf,cAAI1G,CAAC,GAAG,KAAKizB,IAAL,CAAUwB,MAAV,CAAiB9d,OAAjB,CAAyBjQ,IAAzB,CAAR;AACA,eAAKusB,IAAL,CAAUwB,MAAV,CAAiBvqB,MAAjB,CAAwBlK,CAAxB,EAA0B,CAA1B;AACH;;;mCAEU0G,I,EAAM;AACf,eAAK+tB,MAAL,GAAc/tB,IAAd;AACA,eAAKguB,gBAAL,GAAwB,IAAxB;AACA,eAAKC,SAAL,GAAiB,KAAjB;AACA,eAAKH,KAAL,CAAWne,aAAX;AACD;;;mCAEU;AAAA;;AACP,eAAKxX,OAAL,GAAe,IAAf;AACA,eAAK+1B,QAAL,CAAcz0B,OAAd;AACA,eAAK00B,UAAL,CAAgB10B,OAAhB;AAHO;AAAA;AAAA;;AAAA;AAAA;AAAA,kBAKC2yB,CALD;AAOCiC,yBAAW,GAAG,OAAI,CAACD,QAAL,CAAczuB,MAAd,CAAqB,UAAAiY,CAAC;AAAA,uBAAIA,CAAC,CAAC3T,aAAF,CAAgBynB,SAAhB,IAA6BU,CAAC,CAAC5M,SAAnC;AAAA,eAAtB,EAAoEnmB,GAApE,CAAwE,UAAAue,CAAC;AAAA,uBAAIA,CAAC,CAAC9J,WAAN;AAAA,eAAzE,EAA4F,CAA5F,CAPf;AAQHse,eAAC,CAAChzB,IAAF,GAAS,OAAMi1B,WAAW,CAACvY,OAAZ,CAAoB,GAApB,EAAwB,EAAxB,CAAf;AARG;;AAKP,kCAAa,KAAKyW,IAAL,CAAUwB,MAAvB,mIACA;AAAA,kBACQM,WADR;;AAAA;AAGC;AATM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWP,eAAK9B,IAAL,CAAUG,WAAV,GAAwB,IAAxB;AACA,eAAK7N,WAAL,CAAiB0N,IAAjB,GAAwB,KAAKA,IAA7B;AACA,eAAK1N,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AAEA,eAAK9B,SAAL,CAAekQ,QAAf,CAAwB,KAAKzP,WAA7B,EAA0CxnB,SAA1C,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAAC42B,QAAL,CAAcv0B,MAAd;;AACA,mBAAI,CAACw0B,UAAL,CAAgBx0B,MAAhB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,gCAAnB,EAAqD,IAArD,EAA2D;AACvDC,sBAAQ,EAAE;AAD6C,aAA3D;;AAIA,mBAAI,CAACH,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsB,OAAI,CAACgqB,IAA3B;AACH,WAXL,EAYI,UAAAh1B,KAAK,EAAI;AACL,mBAAI,CAAC22B,QAAL,CAAcv0B,MAAd;;AACA,mBAAI,CAACw0B,UAAL,CAAgBx0B,MAAhB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,0BAA0BvC,KAAK,CAACA,KAAnD,EAA0D,IAA1D,EAAgE;AAC5DwC,sBAAQ,EAAE;AADkD,aAAhE;AAGH,WAnBL;AAqBH;;;;;;;uBAlJQ8zB,a,EAAa,sI,EAAA,wI,EAAA,2H,EAAA,wI,EAAA,gI;AAAA,K;;;YAAbA,a;AAAa,oC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,ipG;AAAA;AAAA;AChB1B;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAA6B;AAAA,mBAAY,IAAAzN,QAAA,EAAZ;AAAsB,WAAtB;;AACzB;;AACI;;AACI;;AAAI;;AAAa;;AACrB;;AACA;;AACI;;AAA4D;AAAA;AAAA;;AAA5D;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAAyC;;AACnE;;AAEA;;AACI;;AACgE;AAAA;AAAA;;AAC5D;;AAAoC;;AAAW;;AAC/C;;AAAgC;;AAAO;;AACvC;;AAAkC;;AAAS;;AAC3C;;AAA4B;;AAAG;;AACnC;;AACJ;;AAEA;;AACI;;AACyE;AAAA;AAAA;;AACrE;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAAI;;AAA+D;;AACvE;;AACA;;AACI;;AAAQ;AAAA,mBAAS,IAAAmO,SAAA,EAAT;AAAoB,WAApB;;AACJ;;AAAU;;AAAG;;AACjB;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAAQ;AAAA,mBAAS,IAAAC,UAAA,EAAT;AAAqB,WAArB;;AAAyH;;AAAO;;AAC5I;;AAEA;;AACI;;AACqF;AAAA;AAAA;;AAEjF;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AAAsE;AAAA;AAAA;;AAAtE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAgE;AAAA;AAAA;;AAAhE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAqF;AAAA;AAAA;;AAArF;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAyE;AAAA;AAAA;;AAAzE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAyE;AAAA;AAAA;;AAAzE;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAiBJ;;AACJ;;AAEA;;AACI;;AACI;;AAAgC;AAAA,mBAAS,IAAA50B,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;AAAQ;;AACxG;;AAEA;;AACI;;AAAQ;AAAA,mBAAS,IAAAwmB,QAAA,EAAT;AAAmB,WAAnB;;AAAqH;;AAAO;;AACxI;;AACJ;;AACJ;;AACJ;;;;AAlKkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAM4G;;AAAA;;AAA1C;;AAExC;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAI8B;;AAAA;;AACY;;AAChD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAK6C;;AAAA;;AACY;;AACzD;;AAAA;;AAGP;;AAAA;;AAIP;;AAAA;;AAGU;;AAAA;;AAQP;;AAAA;;AAEqG;;AAAA;;AAIrC;;AAAA;;AACwB;;AAErE;;AAAA;;AAGP;;AAAA;;AAK2G;;AAAA;;AAA9C;;AAElD;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAM+F;;AAAA;;AAA5C;;AAE5C;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAOA;;AAAA;;AADwE;;AAEjE;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAM2G;;AAAA;;AAA/C;;AAErD;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAM2G;;AAAA;;AAA/C;;AAErD;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAMX;;AAAA;;AA0BsF;;AAAA;;;;;;;;;sED9InGyN,a,EAAa;cANzB,uDAMyB;eANf;AACT/5B,kBAAQ,EAAE,eADD;AAETC,qBAAW,EAAE,uBAFJ;AAGPC,mBAAS,EAAE,CAAC,yBAAD;AAHJ,S;AAMe,Q;;;;;;;;;;;;;;gBACrB,mD;iBAAM,M;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,Q;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,Y;;;gBACN,mD;iBAAM,S;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,U;;;gBACN,mD;iBAAM,U;;;gBACN;;;;;;;;;;;;;;;;;;;;AE1BL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAaQ;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAG;;;;;;AACtC;;AAAiC;;AAAgB;;;;;;AAAhB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAkB;;;;;;AACrD;;AAAiC;;AAAgB;;;;;;AAAhB;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QD7BKy6B,qB;;;AAUT,qCAAoBrQ,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,aAAD,EAAgB,SAAhB,EAA2B,SAA3B,EAAsC,SAAtC,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,cAAG,KAAKwQ,OAAL,IAAgB,IAAnB,EACE,KAAKvQ,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKinB,OAAL,CAAaE,YAAb,CAA0BC,KAAjD,CADF,KAGE,KAAK1Q,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AAEF,eAAK0W,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,cAAG,KAAKoR,OAAL,IAAgB,IAAnB,EACE,KAAKvQ,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKinB,OAAL,CAAaE,YAAb,CAA0BC,KAAjD,CADF,KAGE,KAAK1Q,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AAEF6V,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;2CAGkByR,I,EAAkB;AAAA;;AACnC,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACjCI,gBAAI,EAAE;AACFmJ,mBAAK,EAAE,wBADL;AAEFC,qBAAO,EAAE,cAFP;AAGFC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAACmrB,iBAAL,CAAuBxL,IAAvB,CAAN;AAAA;AAHF;AAD2B,WAArC;AAOH;;;0CAEiBA,I,EAAkB;AAAA;;AAChC,cAAI5pB,CAAC,GAAG,KAAK6nB,OAAL,CAAaE,YAAb,CAA0BC,KAA1B,CAAgCrR,OAAhC,CAAwCiT,IAAxC,CAAR;AACA,eAAK/B,OAAL,CAAaE,YAAb,CAA0BC,KAA1B,CAAgC9d,MAAhC,CAAuClK,CAAvC,EAAyC,CAAzC;AAEA,cAAIpG,GAAG,GAAG,IAAI,4EAAJ,EAAV;AACAA,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACAhtB,aAAG,CAACquB,aAAJ,GAAoB,KAAKJ,OAAzB;AAEA,eAAK/C,SAAL,CAAeoD,WAAf,CAA2BtuB,GAA3B,EAAgCmE,SAAhC,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,+CAAnB,EAAoE,IAApE,EAA0E;AACtEC,sBAAQ,EAAE;AAD4D,aAA1E;AAGH,WANL,EAOI,UAAAxC,KAAK,EAAI;AACL,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,uCAAuCvC,KAAK,CAACA,KAAhE,EAAuE,IAAvE,EAA6E;AACzEwC,sBAAQ,EAAE;AAD+D,aAA7E;AAGH,WAXL;AAaH;;;wCAEe;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;wCAEe2gB,I,EAAkB;AAChC,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBA9EUuL,qB,EAAqB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAArBA,qB;AAAqB,oC;AAAA;AAAA;oEAMnB,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAAnL,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AA9CkB;;AAWA;;AAAA;;AA8BE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sEDhCF4c,qB,EAAqB;cALjC,uDAKiC;eALvB;AACT36B,kBAAQ,EAAE,eADD;AAETC,qBAAW,EAAE,gCAFJ;AAGTC,mBAAS,EAAE,CAAC,gCAAD;AAHF,S;AAKuB,Q;;;;;;;;;;gBAC7B,mD;iBAAM,S;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAaQ;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAGjC;;AAAmC;;AAAW;;;;;;AAC9C;;AAAiC;;AAA+B;;;;;;AAA/B;;AAAA;;;;;;AAGjC;;AAAmC;;AAAY;;;;;;AAC/C;;AAAiC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAS;;;;;;AAC5C;;AAAiC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAGjC;;AAAmC;;AAAI;;;;;;AACvC;;AAAiC;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AAIjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAXY;;AAAA;;;;;;AAahB;;;;;;AAEI;;;;;;;;QDzCK26B,2B;;;AAUT,2CAAoBvQ,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,MAAD,EAAS,wBAAT,EAAmC,WAAnC,EAAgD,UAAhD,EAA4D,MAA5D,EAAoE,iBAApE,EAAuF,SAAvF,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,cAAG,KAAKub,aAAR,EACE,KAAKtb,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKgyB,aAA5B,CADF,KAGE,KAAKtb,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AAEF,eAAK0W,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,cAAG,KAAKmc,aAAR,EACE,KAAKtb,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKgyB,aAA5B,CADF,KAGE,KAAKtb,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AAEF6V,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;iDAEwByR,I,EAAwB;AAAA;;AAC/C,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACnCI,gBAAI,EAAE;AACJmJ,mBAAK,EAAE,yBADH;AAEJC,qBAAO,EAAE,cAFL;AAGJC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAACqrB,mBAAL,CAAyB1L,IAAzB,CAAN;AAAA;AAHA;AAD6B,WAArC;AAOD;;;4CAEmBA,I,EAAwB;AAAA;;AAC1C,cAAIhwB,GAAG,GAAG,IAAI,kFAAJ,EAAV;AACAA,aAAG,CAACg5B,aAAJ,GAAoBhJ,IAApB;AACAhwB,aAAG,CAACgtB,YAAJ,GAAmB,KAAKA,YAAxB;AACA,eAAK9B,SAAL,CAAewQ,mBAAf,CAAmC17B,GAAnC,EAAwCmE,SAAxC,CACE,UAAAC,QAAQ,EAAI;AACV,mBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACA,mBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,6CAAnB,EAAkE,IAAlE,EAAwE;AACpEC,sBAAQ,EAAE;AAD0D,aAAxE;AAGD,WANH,EAOE,UAAAxC,KAAK,EAAI;AACP,mBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,qCAAqCvC,KAAK,CAACA,KAA9D,EAAqE,IAArE,EAA2E;AACvEwC,sBAAQ,EAAE;AAD6D,aAA3E;AAGD,WAXH;AAaD;;;wCAEe;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;0CAEiB2gB,I,EAAwB;AACxC,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;;;;;uBAzEQyL,2B,EAA2B,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAA3BA,2B;AAA2B,2C;AAAA;AAAA;oEAMzB,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACpB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAArL,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AAEA;;AACI;;AACA;;AAaJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AA1DkB;;AAWA;;AAAA;;AA0CE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sED5CF8c,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACT76B,kBAAQ,EAAE,sBADD;AAETC,qBAAW,EAAE,uCAFJ;AAGTC,mBAAS,EAAE,CAAC,uCAAD;AAHF,S;AAK6B,Q;;;;;;;;;;gBACnC,mD;iBAAM,e;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEpBf;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACAA;;;;;;AAGQ;;AAAmG;;;;AAAwD;;;;AAAxD;;AAAA;;;;;;AACnG;;AAAmG;;;;AAAyD;;;;AAAzD;;AAAA;;;;;;AAU3F;;AAA+H;;AAAI;;;;;;AACnI;;AAAgI;;AAAK;;;;;;AAG7H;;AAAyG;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAS/G;;AAA6F;;AAAmB;;;;;;AAA7D;;AAA0C;;AAAA;;;;;;AAG7F;;AAAyI;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAOzI;;AAAkE;;AAAY;;;;;;AAA/B;;AAAmB;;AAAA;;;;;;AAGlE;;AAAmH;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAkBvH;;AAA+H;;AAAI;;;;;;AACnI;;AAAgI;;AAAK;;;;;;AAG7H;;AAAyG;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAQ7G;;AAA6D;;AAAa;;;;;;AAAnC;;AAAsB;;AAAA;;;;;;AAG7D;;AAA2H;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAO/H;;AAAqJ;;AAAI;;;;;;AACzJ;;AAAsJ;;AAAK;;;;;;AAGnJ;;AAA+H;;;;AAAgD;;;;AAAhD;;AAAA;;;;;;AAQvI;;AAA6J;;AAAI;;;;;;AACjK;;AAA8J;;AAAK;;;;;;AAG3J;;AAAuI;;;;AAAgD;;;;AAAhD;;AAAA;;;;QD/EhJ66B,sB;;;AAoBT,sCAAoBzQ,SAApB,EAAiDtmB,QAAjD,EAAgFE,WAAhF,EAAiHjC,IAAjH,EAAoI;AAAA;;AAAhH,aAAAqoB,SAAA,GAAAA,SAAA;AAA6B,aAAAtmB,QAAA,GAAAA,QAAA;AAA+B,aAAAE,WAAA,GAAAA,WAAA;AAAiC,aAAAjC,IAAA,GAAAA,IAAA;AAXjG,aAAAsoB,KAAA,GAAkB,IAAlB;AACN,aAAAC,WAAA,GAAc,IAAI,0DAAJ,EAAd;AACV,aAAAC,KAAA,GAAmB,IAAI,qEAAJ,EAAnB;AACA,aAAApmB,OAAA,GAAmB,KAAnB;AACQ,aAAAsmB,SAAA,GAAqB,KAArB;AACR,aAAAI,WAAA,GAA2C,IAAI,kFAAJ,EAA3C;AACA,aAAA1oB,aAAA,GAAqB,0EAArB;AAMI,aAAKE,KAAL,GAAaN,IAAI,CAACO,QAAL,EAAb;AACA,aAAKC,QAAL,GAAgBC,IAAI,CAACC,KAAL,CAAWC,IAAI,CAAC,KAAKL,KAAL,CAAWM,KAAX,CAAiB,GAAjB,EAAsB,CAAtB,CAAD,CAAf,EAA2CC,QAA3D;AACA,aAAKk4B,iBAAL,GAAyB,KAAK92B,WAAL,CAAiBS,KAAjB,CAAuB;AAC5C,kBAAS,CAAC,EAAD,EAAI,CAAC,0DAAWG,QAAZ,CAAJ,CADmC;AAE5C,kCAAyB,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAFmB;AAG5C,uBAAc,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAH8B;AAI5C,sBAAa,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAJ+B;AAK5C,kBAAS,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CALmC;AAM5C,2BAAkB,CAAC,EAAD,EAAI,CAAC,0DAAWA,QAAZ,CAAJ,CAN0B;AAO5C,6BAAoB,CAAC,EAAD,EAAI,EAAJ,CAPwB;AAQ5C,iCAAwB,CAAC,EAAD,EAAI,EAAJ;AARoB,SAAvB,CAAzB;AAUH;;;;mCAEU;AACP,eAAKT,OAAL,GAAe,KAAf;AACA,eAAK0mB,WAAL,GAAmB,IAAI,kFAAJ,EAAnB;AACH;;;mCAEU;AACP,eAAKqN,aAAL,GAAqB,IAAI,uEAAJ,EAArB;AACH;;;oCAEW/T,O,EAAS;AACjB,cAAGA,OAAO,CAAC,OAAD,CAAV,EAAoB;AAChB,gBAAGA,OAAO,CAAC,OAAD,CAAP,CAAiBC,YAApB,EAAiC;AAC7B,mBAAK4H,QAAL;AACA,mBAAK3B,KAAL,GAAa,KAAb;AACH;AACJ;AACJ;;;mCAEU;AAAA;;AACP,eAAKlmB,OAAL,GAAe,IAAf;AACA,eAAK22B,iBAAL,CAAuBr1B,OAAvB;AAEA,eAAKyyB,aAAL,CAAmBC,sBAAnB,GAA4C,IAA5C;AACA,eAAKD,aAAL,CAAmBI,eAAnB,GAAqC,IAArC;AAEA,eAAKzN,WAAL,CAAiBqN,aAAjB,GAAiC,KAAKA,aAAtC;AACA,eAAKrN,WAAL,CAAiBqB,YAAjB,GAAgC,KAAKA,YAArC;AACA,eAAK9B,SAAL,CAAe2Q,iBAAf,CAAiC,KAAKlQ,WAAtC,EAAmDxnB,SAAnD,CACI,UAAAC,QAAQ,EAAI;AACR,mBAAI,CAACw3B,iBAAL,CAAuBn1B,MAAvB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,0CAAnB,EAA+D,IAA/D,EAAqE;AACjEC,sBAAQ,EAAE;AADuD,aAArE;;AAIA,mBAAI,CAACH,OAAL,CAAaC,KAAb;;AACA,mBAAI,CAACykB,WAAL,CAAiB/b,IAAjB,CAAsB,OAAI,CAAC2pB,aAA3B;AACH,WAVL,EAWI,UAAA30B,KAAK,EAAI;AACL,mBAAI,CAACu3B,iBAAL,CAAuBn1B,MAAvB;;AACA,mBAAI,CAACxB,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACL,QAAL,CAAcgC,IAAd,CAAmB,oCAAoCvC,KAAK,CAACA,KAA7D,EAAoE,IAApE,EAA0E;AACtEwC,sBAAQ,EAAE;AAD4D,aAA1E;AAGH,WAjBL;AAmBH;;;;;;;uBAjFQ80B,sB,EAAsB,sI,EAAA,wI,EAAA,2H,EAAA,wI;AAAA,K;;;YAAtBA,sB;AAAsB,6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA,O;AAAA,sF;AAAA,e;AAAA,c;AAAA,6mF;AAAA;AAAA;ACjBnC;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AAAsC;AAAA,mBAAY,IAAAzO,QAAA,EAAZ;AAAsB,WAAtB;;AAClC;;AACI;;AACI;;AAAI;;;;AAAyE;;AACjF;;AACA;;AACI;;AAA8E;AAAA;AAAA;;;;AAA9E;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AAAsB;;AAA2D;;AACrF;;AAEA;;AACE;;AAC0G;AAAA;AAAA;;;;AACtG;;AACJ;;AACA;;AACI;;AACJ;;AACF;;AAEA;;AACE;;AACyE;AAAA;AAAA;;;;AACrE;;AACJ;;AACA;;AACI;;AACJ;;AACF;;AAEA;;AACE;;AACuF;AAAA;AAAA;;;;AAEnF;;AAA4B;;AAAG;;AAC/B;;AAA6B;;AAAI;;AACjC;;AAA8B;;AAAK;;AACnC;;AAA4B;;AAAG;;AACnC;;AACF;;AAEA;;AACE;;AAA8E;AAAA;AAAA;;;;AAA9E;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACF;;AAEA;;AACE;;AACqF;AAAA;AAAA;;;;AACjF;;AACJ;;AACA;;AACI;;AACJ;;AACF;;AAEA;;AACE;;AAAqF;AAAA;AAAA;;;;AAArF;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACF;;AAEA;;AACE;;AAAiG;AAAA;AAAA;;;;AAAjG;;AAEA;;AACA;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACF;;AAEA;;AACE;;AACI;;AAAgC;AAAA,mBAAS,IAAAxmB,OAAA,SAAT;AAAyB,WAAzB;;AAA4D;;;;AAAuC;;AACvI;;AAEA;;AACI;;AAAQ;AAAA,mBAAS,IAAAwmB,QAAA,EAAT;AAAmB,WAAnB;;AAA8H;;;;AAAqC;;AAC/K;;AACF;;AACJ;;AACJ;;AACJ;;;;AAhHkB;;AAGN;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AAGU;;AAAA;;AAG6H;;AAAA;;AAAnD;;AAE1D;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAGS;;AAAA;;AAIqC;;AAAA;;AAC6C;;AAC1F;;AAAA;;AAGP;;AAAA;;AAKoD;;AAAA;;AACY;;AACzD;;AAAA;;AAGP;;AAAA;;AAK2C;;AAAA;;AACmC;;AAEvE;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKiH;;AAAA;;AAAnD;;AAE1D;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAMgD;;AAAA;;AACwB;;AACrE;;AAAA;;AAGP;;AAAA;;AAK0I;;AAAA;;AAA9D;;AAEjE;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAMsJ;;AAAA;;AAAlE;;AAE7E;;AAAA;;AACA;;AAAA;;AAGP;;AAAA;;AAOmF;;AAAA;;AAII;;AAAA;;AAAsC;;AAAA;;;;;;;;;;sED1F3IyO,sB,EAAsB;cALlC,uDAKkC;eALxB;AACT/6B,kBAAQ,EAAE,wBADD;AAETC,qBAAW,EAAE,iCAFJ;AAGTC,mBAAS,EAAE,CAAC,yBAAD;AAHF,S;AAKwB,Q;;;;;;;;;;;;gBAC9B,mD;iBAAM,e;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,Q;;;gBACN,mD;iBAAM,a;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,O;;;gBACN,mD;iBAAM,W;;;gBACN,mD;iBAAM,S;;;gBACN,mD;iBAAM,O;;;gBACN;;;;;;;;;;;;;;;;;;;;AE3BL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACWc;;AAAmC;;AAAa;;;;;;AAChD;;AAAiC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAY;;;;;;AAC/C;;AAAiC;;AAAmB;;;;;;AAAnB;;AAAA;;;;;;AAGjC;;AAAmC;;AAA0B;;;;;;AAC7D;;AAA+E;;AAAiC;;;;;;AAAhF;;AAA+C;;AAAA;;;;;;AAG/E;;AAAmC;;AAAa;;;;;;;;;;;;;AAChD;;AACE;;AAIE;;AACF;;AACF;;;;;;AAPgC;;AACpB;;AAAA;;;;;;AAQhB;;;;;;AAEE;;;;QD1BCg7B,iB;;;AAIT,iCAAmB70B,SAAnB,EAA8FD,IAA9F,EAAyG;AAAA;;AAAtF,aAAAC,SAAA,GAAAA,SAAA;AAA2E,aAAAD,IAAA,GAAAA,IAAA;AAH9F,aAAA+0B,UAAA,GAAsC,IAAI,0EAAJ,EAAtC;AACA,aAAAte,gBAAA,GAAmB,CAAC,aAAD,EAAgB,YAAhB,EAA8B,0BAA9B,EAA0D,cAA1D,CAAnB;AACA,aAAAxY,OAAA,GAAkB,KAAlB;AAEI,aAAK82B,UAAL,CAAgB/0B,IAAhB,GAAuBA,IAAI,CAACg1B,KAA5B;AACH;;;;kCAEM;AACH,eAAK/0B,SAAL,CAAeN,KAAf;AACA,eAAKK,IAAL,CAAUqJ,EAAV;AACH;;;sCAEU;AACP,cAAG,CAAC,KAAKrJ,IAAL,CAAUyJ,MAAd,EACI,KAAKxJ,SAAL,CAAeN,KAAf,GADJ,KAGI,KAAKK,IAAL,CAAUyJ,MAAV;AACP;;;;;;;uBAlBQqrB,iB,EAAiB,sI,EAAA,gEAI4C,wEAJ5C,C;AAI2D,K;;;YAJ5EA,iB;AAAiB,gC;AAAA,e;AAAA,a;AAAA,ksB;AAAA;AAAA;ACT9B;;AACI;;AACE;;AACE;;AAAsB;;AAAc;;AACpC;;AAAwB;AAAA,mBAAS,IAAAjgB,WAAA,EAAT;AAAsB,WAAtB;;AACtB;;AAAU;;AAAK;;AACjB;;AACF;;AACA;;AACE;;AACE;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AAQJ;;AACA;;AACA;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AAA0D;AAAA,mBAAS,IAAAA,WAAA,EAAT;AAAsB,WAAtB;;AAAwB;;AAAM;;AAC5F;;AACF;;AA1CF;;;;AAG8B;;AAAA;;AAMJ;;AAAA;;AAwBA;;AAAA;;AAEL;;AAAA;;;;;;;;;sED1BRigB,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACTl7B,kBAAQ,EAAE,WADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKmB,Q;;;;;;kBAIqC,oD;mBAAO,wE;;;;;;;;;;;;;;;;;;;;;AEb1E;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,sE,CAKA;;;;;ACLA;;;;;;AAaQ;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAa;;;;;;AAAb;;AAAA;;;;;;AAGjC;;AAAmC;;AAAM;;;;;;AACzC;;AAAiC;;AAAgB;;;;;;AAAhB;;AAAA;;;;;;AAGjC;;AAAmC;;AAAQ;;;;;;;;AAC3C;;AACI;;AACI;;AAAU;;AAAS;;AACvB;;AACA;;AACI;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAM;;AAChB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAY;;AACtB;;AACA;;AAAsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;AAAM;;AAAQ;;AAClB;;AACJ;;AACJ;;;;;;AAdY;;AAAA;;;;;;AAgBhB;;;;;;AAEI;;;;;;;;QDzBKm7B,iB;;;AAUT,iCAAoB/Q,SAApB,EAAiDvmB,MAAjD,EAA2EC,QAA3E,EAAkG;AAAA;;AAA9E,aAAAsmB,SAAA,GAAAA,SAAA;AAA6B,aAAAvmB,MAAA,GAAAA,MAAA;AAA0B,aAAAC,QAAA,GAAAA,QAAA;AANvD,aAAAgrB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACF,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;AAEX,aAAAC,aAAA,GAAgB,EAAhB;AACP,aAAApS,UAAA,GAAa,IAAI,0EAAJ,EAAb;AACA,aAAAD,gBAAA,GAAmB,CAAC,MAAD,EAAS,SAAT,EAAoB,SAApB,CAAnB;AAGC;;;;mCAEU,CACV;;;sCAEa;AACZ,cAAG,KAAK6R,KAAL,IAAc,IAAjB,EACE,KAAK5R,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKsoB,KAAL,CAAWC,KAAX,CAAiBC,IAAxC,CADF,KAGE,KAAK9R,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AACF,eAAK0W,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACD;;;oCACWf,W,EAAqB;AAC/B,cAAG,KAAKyS,KAAL,IAAc,IAAjB,EACE,KAAK5R,UAAL,CAAgB1W,IAAhB,GAAuB,KAAKsoB,KAAL,CAAWC,KAAX,CAAiBC,IAAxC,CADF,KAGE,KAAK9R,UAAL,CAAgB1W,IAAhB,GAAuB,EAAvB;AACF6V,qBAAW,GAAGA,WAAW,CAACqB,IAAZ,EAAd;AACArB,qBAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;AACA,eAAKY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAzB;AACA3V,iBAAO,CAACC,GAAR,CAAY,KAAKuW,UAAL,CAAgBa,YAA5B;AACD;;;uCAEcyR,I,EAAc;AAAA;;AAC3B,eAAKrrB,MAAL,CAAYiC,IAAZ,CAAiB,6FAAjB,EAAqC;AACjCI,gBAAI,EAAE;AACFmJ,mBAAK,EAAE,oBADL;AAEFC,qBAAO,EAAE,cAFP;AAGFC,gBAAE,EAAE;AAAA,uBAAM,OAAI,CAAC6rB,aAAL,CAAmBlM,IAAnB,CAAN;AAAA;AAHF;AAD2B,WAArC;AAOH;;;sCAEaA,I,EAAc;AAAA;;AAC1B,cAAI5pB,CAAC,GAAG,KAAKkpB,KAAL,CAAWC,KAAX,CAAiBC,IAAjB,CAAsBzS,OAAtB,CAA8BiT,IAA9B,CAAR;AACA,eAAKV,KAAL,CAAWC,KAAX,CAAiBC,IAAjB,CAAsBlf,MAAtB,CAA6BlK,CAA7B,EAA+B,CAA/B;AAEA,cAAG,KAAKkpB,KAAL,CAAWC,KAAX,CAAiBC,IAAjB,CAAsB3iB,MAAtB,IAAgC,CAAnC,EACI,KAAKyiB,KAAL,CAAWG,OAAX,GAAqB,OAArB,CADJ,KAGI,KAAKH,KAAL,CAAWG,OAAX,GAAqB,MAArB;AAEJ,cAAI0M,gBAAgB,GAAG,IAAI,wEAAJ,EAAvB;AACAA,0BAAgB,CAACnP,YAAjB,GAAgC,KAAKA,YAArC;AACAmP,0BAAgB,CAAC7M,KAAjB,GAAyB,KAAKA,KAA9B;AAEA,eAAKpE,SAAL,CAAewE,OAAf,CAAuByM,gBAAvB,EAAyCh4B,SAAzC,CACI,UAAAC,QAAQ,EAAI;AACV,oBAAI,CAACwrB,QAAL,CAAcvgB,IAAd,CAAmB2gB,IAAnB;;AACE,oBAAI,CAACprB,QAAL,CAAcgC,IAAd,CAAmB,2CAAnB,EAAgE,IAAhE,EAAsE;AAClEC,sBAAQ,EAAE;AADwD,aAAtE;AAGH,WANL,EAOI,UAAAxC,KAAK,EAAI;AACL,oBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,mCAAmCvC,KAAK,CAACA,KAA5D,EAAmE,IAAnE,EAAyE;AACrEwC,sBAAQ,EAAE;AAD2D,aAAzE;AAGH,WAXL;AAaH;;;wCAEmB;AACd,eAAK6W,UAAL,CAAgBjR,MAAhB,GAAyB,EAAzB;AACA,eAAKmjB,QAAL,CAAcvgB,IAAd;AACD;;;oCAEW2gB,I,EAAc;AACxB,eAAKH,MAAL,CAAYxgB,IAAZ,CAAiB2gB,IAAjB;AACD;;;sCAEaA,I,EAAc;AAAA;;AAC1B,eAAK9E,SAAL,CAAekR,aAAf,CAA6B,KAAKpP,YAAlC,EAAgD7oB,SAAhD,CACI,UAACC,QAAD,EAAkB;AACd,gBAAIi4B,KAAK,GAAGj4B,QAAQ,CAACk4B,cAAT,CAAwB7vB,MAAxB,CAA+B,UAAAQ,CAAC;AAAA,qBAAIA,CAAC,CAACsvB,SAAF,CAAYpN,MAAZ,IAAsBa,IAAI,CAACb,MAA/B;AAAA,aAAhC,CAAZ;AACA,gBAAIqN,WAAW,GAAG,EAAlB;AAFc;AAAA;AAAA;;AAAA;AAGd,oCAAaH,KAAb,mIACA;AAAA,oBADQpvB,CACR;AACIuvB,2BAAW,CAACjtB,IAAZ,CAAiBtC,CAAC,CAACuvB,WAAnB;AACH;AANa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAQd,gBAAIC,OAAO,GAAGD,WAAW,CAAC/vB,MAAZ,CAAmB,UAAAQ,CAAC;AAAA,qBAAIA,CAAC,CAACyvB,YAAF,CAAe3Z,WAAf,MAAgC,IAApC;AAAA,aAApB,EAA8DlW,MAA5E;AACA,gBAAI8vB,SAAS,GAAGH,WAAW,CAAC/vB,MAAZ,CAAmB,UAAAQ,CAAC;AAAA,qBAAIA,CAAC,CAACyvB,YAAF,CAAe3Z,WAAf,MAAgC,MAApC;AAAA,aAApB,EAAgElW,MAAhF;AACA,gBAAIqc,KAAK,GAAGuT,OAAO,GAAG,MAAV,GAAmBE,SAAnB,GAA+B,OAA3C;;AAEA,oBAAI,CAACh4B,MAAL,CAAYiC,IAAZ,CAAiB,gFAAjB,EAAoC;AAChCI,kBAAI,EAAE;AACFmJ,qBAAK,EAAE+Y,KADL;AAEF8S,qBAAK,EAAEQ;AAFL;AAD0B,aAApC;AAMH,WAnBL,EAoBI,UAAAn4B,KAAK,EAAI;AACL,oBAAI,CAACO,QAAL,CAAcgC,IAAd,CAAmB,2CAA2CvC,KAAK,CAACA,KAApE,EAA2E,IAA3E,EAAiF;AAC7EwC,sBAAQ,EAAE;AADmE,aAAjF;AAGH,WAxBL;AA0BH;;;;;;;uBA7GUo1B,iB,EAAiB,sI,EAAA,mI,EAAA,wI;AAAA,K;;;YAAjBA,iB;AAAiB,gC;AAAA;AAAA;oEAMf,wE,EAAY,I;;;;;;;;;;;;;;;;;;;;;;;;ACtB3B;;AACA;;AACI;;AACI;;AAAyE;AAAA,mBAAS,IAAA7L,aAAA,EAAT;AAAwB,WAAxB;;AACrE;;AAAyB;;AAAS;;AACtC;;AACJ;;AACA;;AACI;;AAAqC;AAAA,mBAAS,IAAAzR,WAAA,qBAAT;AAAyC,WAAzC;;AAArC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AACJ;;AACA;;AACI;;AACA;;AAgBJ;;AACA;;AACA;;AACI;;AACJ;;AACJ;;AACA;;;;AA5CkB;;AAWA;;AAAA;;AA4BE;;AAAA;;AAEH;;AAAA;;AAGF;;AAAA,gGAAwB,iBAAxB,EAAwB,qEAAxB,EAAwB,sBAAxB,EAAwB,IAAxB;;;;;;;;;sED5BFsd,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACTr7B,kBAAQ,EAAE,WADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;gBACzB,mD;iBAAM,O;;;gBACN,mD;iBAAM,c;;;gBACN,mD;iBAAM,S;;;gBACN,oD;iBAAO,U;;;gBACP,oD;iBAAO,Q;;;gBACP,uD;iBAAU,wE;;;;;;;;;;;;;;;;;;;;AEtBf;AAAA;;;AAAA;AAAA;AAAA;;QAAc87B,a;;;;;;;;;;;;;;;;;;;ACAd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,W;;;;QAcAC,iB;;;;QAOCC,sB;;;;QAOAC,kB;;;;;;;;;;;;;;;;;;;AC5Bd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,a,GAKT,yBAAc;AAAA;;AACV,WAAK/rB,IAAL,GAAY,IAAZ;AACA,WAAKgsB,WAAL,GAAmB,IAAnB;AACA,WAAK3M,MAAL,GAAc,IAAd;AACA,WAAKjhB,IAAL,GAAY,IAAZ;AACH,K;;QAGS6tB,e,GAKV,2BAAc;AAAA;;AACV,WAAKjsB,IAAL,GAAY,IAAZ;AACA,WAAKgsB,WAAL,GAAmB,IAAnB;AACA,WAAK13B,KAAL,GAAa,IAAI2U,KAAJ,EAAb;AACA,WAAK7K,IAAL,GAAY,IAAZ;AACH,K;;QAGQ8tB,Q,GAKV,oBAAc;AAAA;;AACb,WAAKC,OAAL,GAAe,EAAf;AACA,WAAKC,KAAL,GAAa,EAAb;AACA,WAAKhuB,IAAL,GAAY,EAAZ;AACA,K;;QAIUiuB,uB;;;;;;;;;;;;;;;;;;;ACvCd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAcC,gB;;;;QA2BDC,sB;;;;QAOAC,2B;;;;QAQAC,uB;;;;;;;;;;;;;;;;;;;ACzCb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,gB;;;;;;;;;;;;;;;;;;;ACMb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,uB;;;;;;;;;;;;;;;;;;;ACPb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,Y;;;;QAkBAC,kB;;;;QAOAC,uB;;;;QAQCC,mB;;;;;;;;;;;;;;;;;;;ACjCd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACsBQ;;AAAuC;;AAAK;;;;;;AAC5C;;AAAwC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAKxC;;AAAuC;;AAAY;;;;;;AACnD;;AAAwC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AAMxC;;AAAuC;;AAAM;;;;;;AAC7C;;AAAwC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AA2B1C;;;;;;AACA;;;;;;AAjDJ;;AAMI;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAIA;;AACE;;AACA;;AACF;;AA0BA;;AACA;;AACJ;;;;;;AAlDiB;;AAgDM;;AAAA;;AACP;;AAAA;;;;;;;;;;AAEhB;;;;AAAe;;;;QDpDJC,2B;;;AAMX,2CAAmBv5B,MAAnB,EAAsC;AAAA;;AAAnB,aAAAA,MAAA,GAAAA,MAAA;AALV,aAAAmI,IAAA,GAAuB,EAAvB;AAGT,aAAA2Q,gBAAA,GAA6B,CAAC,MAAD,EAAS,aAAT,EAAwB,SAAxB,CAA7B;AAGC;;;;mCAEO,CAEP;;;oCAEW4E,K,EAAc;AACxB,cAAMxF,WAAW,GAAIwF,KAAK,CAAC8b,MAAN,CAAkC34B,KAAvD;AACA,eAAKkY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAW,CAACqB,IAAZ,GAAmBpB,WAAnB,EAAzB;;AAEA,cAAI,KAAKY,UAAL,CAAgBE,SAApB,EAA+B;AAC7B,iBAAKF,UAAL,CAAgBE,SAAhB,CAA0BwgB,SAA1B;AACD;AACF;;;0CAEiB;AAChB,eAAK1gB,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACA,eAAKF,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACD;;;sCAEa;AACZ,cAAG,KAAKhR,IAAR,EAAc;AACZ,iBAAK4Q,UAAL,CAAgB1W,IAAhB,GAAwB,KAAK8F,IAA7B;AACD;AACF;;;kCAES;AACR,cAAM7F,SAAS,GAAG,KAAKtC,MAAL,CAAYiC,IAAZ,CAAiB,iHAAjB,EAAwC,EAAxC,CAAlB;AAGAK,mBAAS,CAACyJ,WAAV,GAAwBvM,SAAxB,CAAkC,UAAAwM,MAAM,EAAI;AAC1C,gBAAGA,MAAH,EAAU,CAET;AAEF,WALD;AAOD;;;;;;;uBA5CUutB,2B,EAA2B,mI;AAAA,K;;;YAA3BA,2B;AAA2B,+C;AAAA;AAAA;oEAE3B,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;;;;;ACZpB;;AAEC;;AACC;;AACI;;AAAmB;;AAA4B;;AAC/C;;AAA4B;AAAA,mBAAS,IAAAvf,WAAA,QAAT;AAA4B,WAA5B;;AAA5B;;AACJ;;AACF;;AAEA;;AACE;;AAmDA;;AACD;;;;AApD+D;;AAAA;;AAmDL;;AAAA;;;;;;;;;sEDpD9Cuf,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACTt9B,kBAAQ,EAAE,0BADD;AAETC,qBAAW,EAAE,uCAFJ;AAGTC,mBAAS,EAAE,CAAC,uCAAD;AAHF,S;AAK6B,Q;;;;;;gBACrC;;;gBACA,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AEjBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACuBQ;;AAAuC;;AAAK;;;;;;AAC5C;;AAAwC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AAKxC;;AAAuC;;AAAY;;;;;;AACnD;;AAAwC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AAMxC;;AAAuC;;AAAM;;;;;;AAC7C;;AAAwC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AA2B1C;;;;;;AACA;;;;;;AAjDJ;;AAMI;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAIA;;AACE;;AACA;;AACF;;AA0BA;;AACA;;AACF;;;;;;AAlDe;;AAgDM;;AAAA;;AACP;;AAAA;;;;;;;;;;AAEd;;;;AAAe;;;;QDtDNu9B,6B;;;AAQX,6CAAmB15B,MAAnB,EAAsC;AAAA;;AAAnB,aAAAA,MAAA,GAAAA,MAAA;AAPV,aAAAmI,IAAA,GAAuB,EAAvB,CAO6B,CAPF;;AAGpC,aAAA2Q,gBAAA,GAA6B,CAAC,MAAD,EAAS,aAAT,EAAwB,SAAxB,CAA7B;AAKC;;;;mCAEO,CAEP;;;oCAEW4E,K,EAAc;AACxB,cAAMxF,WAAW,GAAIwF,KAAK,CAAC8b,MAAN,CAAkC34B,KAAvD;AACA,eAAKkY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAW,CAACqB,IAAZ,GAAmBpB,WAAnB,EAAzB;;AAEA,cAAI,KAAKY,UAAL,CAAgBE,SAApB,EAA+B;AAC7B,iBAAKF,UAAL,CAAgBE,SAAhB,CAA0BwgB,SAA1B;AACD;AACF;;;0CAEiB;AAChB,eAAK1gB,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACA,eAAKF,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACD;;;sCAEa;AACZ,cAAG,KAAKhR,IAAR,EAAc;AACZ,iBAAK4Q,UAAL,CAAgB1W,IAAhB,GAAuB,KAAK8F,IAAL,CAAUL,MAAV,CAAiB,UAAAK,IAAI;AAAA,qBAAIA,IAAI,CAACwC,IAAL,KAAa,MAAjB;AAAA,aAArB,CAAvB;AACD;AACF;;;kCAES;AACR,cAAMrI,SAAS,GAAG,KAAKtC,MAAL,CAAYiC,IAAZ,CAAiB,iHAAjB,EAAwC,EAAxC,CAAlB;AAGAK,mBAAS,CAACyJ,WAAV,GAAwBvM,SAAxB,CAAkC,UAAAwM,MAAM,EAAI,CAE3C,CAFD;AAID;;;;;;;uBA3CU0tB,6B,EAA6B,mI;AAAA,K;;;YAA7BA,6B;AAA6B,iD;AAAA;AAAA;oEAE7B,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;;;;;ACVpB;;AAGE;;AACE;;AACI;;AAAmB;;AAA4B;;AAC/C;;AAA4B;AAAA,mBAAS,IAAA1f,WAAA,QAAT;AAA4B,WAA5B;;AAA5B;;AACJ;;AACF;;AACA;;AACA;;AAmDE;;AACF;;;;AApD8D;;AAAA;;AAmDH;;AAAA;;;;;;;;;sEDtDhD0f,6B,EAA6B;cALzC,uDAKyC;eAL/B;AACTz9B,kBAAQ,EAAE,4BADD;AAETC,qBAAW,EAAE,yCAFJ;AAGTC,mBAAS,EAAE,CAAC,yCAAD;AAHF,S;AAK+B,Q;;;;;;gBACvC;;;gBACA,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AEhBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACwBQ;;AAAuC;;AAAU;;;;;;AACjD;;AAAwC;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAKxC;;AAAuC;;AAAO;;;;;;AAC9C;;AAAwC;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AAMxC;;AAAuC;;AAAY;;;;;;AACnD;;AAAwC;;AAAyB;;;;;;AAAzB;;AAAA;;;;;;AAKxC;;AAAuC;;AAAY;;;;;;AACnD;;AAAwC;;AAAgC;;;;;;AAAhC;;AAAA;;;;;;AAKxC;;AAAuC;;AAAiB;;;;;;AACxD;;AAAwC;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAMxC;;AAAuC;;AAAY;;;;;;AACnD;;AAAyC;;AAA8B;;;;;;AAA9B;;AAAA;;;;;;AAKzC;;AAAuC;;AAAS;;;;;;AAChD;;AAAwC;;AAAE;;;;;;AAK1C;;AAAuC;;AAAY;;;;;;AACnD;;AAAwC;;AAA6D;;;;;;AAA7D;;AAAA;;;;;;AAKxC;;AAAuC;;AAAW;;;;;;AAClD;;AAAwC;;AAAkB;;;;;;AAAlB;;AAAA;;;;;;AA2B1C;;;;;;AACA;;;;;;AAtFF;;AAME;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAIA;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAIA;;AACE;;AACA;;AACF;;AAGC;;AACC;;AACA;;AACF;;AAGC;;AACC;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AA0BA;;AACA;;AACF;;;;;;AAvFiB;;AAqFI;;AAAA;;AACP;;AAAA;;;;;;;;;;AAEd;;;;AAAe;;;;QD5FNw9B,4B;;;AAQX,4CAAmB35B,MAAnB,EAAsC;AAAA;;AAAnB,aAAAA,MAAA,GAAAA,MAAA;AANV,aAAAmI,IAAA,GAAsB,EAAtB,CAM6B,CANH;;AAGnC,aAAA2Q,gBAAA,GAA6B,CAAC,WAAD,EAAc,QAAd,EAAwB,aAAxB,EAAuC,aAAvC,EAAsD,kBAAtD,EAAyE,aAAzE,EAAwF,UAAxF,EAAoG,aAApG,EAAkH,aAAlH,CAA7B;AAKC;;;;mCAEO,CAEP;;;oCAEW4E,K,EAAc;AACxB,cAAMxF,WAAW,GAAIwF,KAAK,CAAC8b,MAAN,CAAkC34B,KAAvD;AACA,eAAKkY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAW,CAACqB,IAAZ,GAAmBpB,WAAnB,EAAzB;;AAEA,cAAI,KAAKY,UAAL,CAAgBE,SAApB,EAA+B;AAC7B,iBAAKF,UAAL,CAAgBE,SAAhB,CAA0BwgB,SAA1B;AACD;AACF;;;0CAEiB;AAChB,eAAK1gB,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACA,eAAKF,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACD;;;sCAGa;AACZ,cAAG,KAAKhR,IAAR,EAAc;AACZ,iBAAK4Q,UAAL,CAAgB1W,IAAhB,GAAwB,KAAK8F,IAA7B;AACD;AACF;;;kCAES;AAER,cAAM7F,SAAS,GAAG,KAAKtC,MAAL,CAAYiC,IAAZ,CAAiB,uGAAjB,EAA2C,EAA3C,CAAlB;AAIAK,mBAAS,CAACyJ,WAAV,GAAwBvM,SAAxB,CAAkC,UAAAwM,MAAM,EAAI;AAC1CzJ,mBAAO,CAACC,GAAR,CAAY,QAAZ;;AACA,gBAAGwJ,MAAH,EAAU;AACR;AACAzJ,qBAAO,CAACC,GAAR,CAAY,QAAZ,EAAsBwJ,MAAtB;AACD;AAEF,WAPD;AASD;;;;;;;uBApDU2tB,4B,EAA4B,mI;AAAA,K;;;YAA5BA,4B;AAA4B,gD;AAAA;AAAA;oEAG5B,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;;;;;ACVlB;;AAED;;AACG;;AACE;;AAAmB;;AAA4B;;AAC/C;;AAA4B;AAAA,mBAAS,IAAA3f,WAAA,QAAT;AAA4B,WAA5B;;AAA5B;;AACF;;AACF;;AAEA;;AACE;;AAwFA;;AACF;;;;AAzFgE;;AAAA;;AAwFL;;AAAA;;;;;;;;;sED5FhD2f,4B,EAA4B;cALxC,uDAKwC;eAL9B;AACT19B,kBAAQ,EAAE,2BADD;AAETC,qBAAW,EAAE,wCAFJ;AAGTC,mBAAS,EAAE,CAAC,wCAAD;AAHF,S;AAK8B,Q;;;;;;gBAEtC;;;gBACA,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AEjBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUay9B,wB;;;AAKX,wCAAmBt3B,SAAnB,EAAqGD,IAArG,EAAwHlC,WAAxH,EAAiJ;AAAA;;AAA9H,aAAAmC,SAAA,GAAAA,SAAA;AAAkF,aAAAD,IAAA,GAAAA,IAAA;AAAmB,aAAAlC,WAAA,GAAAA,WAAA;AAFxH,aAAAW,QAAA,GAAoB,KAApB;AAGE,aAAK+4B,OAAL,GAAe,IAAI,gEAAJ,EAAf;AACD;;;;mCAEO,CACP;;;gCAEI;AACH,eAAKv3B,SAAL,CAAeN,KAAf,CAAqB,IAArB;AACD;;;kCAEM;AACL;;;;;;AAMD;;;4CAEgB,CAEhB;;;;;;;uBA3BU43B,wB,EAAwB,sI,EAAA,gEAK0C,wEAL1C,C,EAKyD,2H;AAAA,K;;;YALjFA,wB;AAAwB,4C;AAAA,gB;AAAA,c;AAAA,w/E;AAAA;AAAA;ACTrC;;AACI;;AACA;;AACE;;AAAwB;AAAA,mBAAS,IAAAE,KAAA,EAAT;AAAgB,WAAhB;;AACtB;;AAAU;;AAAK;;AACjB;;AACF;;AACF;;AAEE;;AACE;;AAEE;;AAAwC;AAAA,mBAAY,IAAAC,OAAA,EAAZ;AAAqB,WAArB;;AACtC;;AACE;;AACE;;AAAyE;;AAAgC;;AACzG;;AACE;;AACE;;AAAqC;AAAA;AAAA;;AAAuB;;AAC5D;;AAA8B;;AAAkB;;AAClD;;AACA;;AACE;;AAAqC;AAAA;AAAA;;AAAuB;;AAAU;;AACtE;;AAA8B;;AAA2G;;AAC3I;;AACF;;AAEA;;AACE;;AACE;;AACE;;AAAoD;AAAA;AAAA;;AAClD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACI;;AACE;;AAAoD;AAAA;AAAA;;AAClD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACJ;;AACA;;AACE;;AACE;;AACE;;AAAoD;AAAA;AAAA;;AAClD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AAEF;;AAEA;;AACE;;AACE;;AACE;;AAA+C;AAAA;AAAA;;AAA/C;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAwD;AAAA;AAAA;;AAAxD;;AACF;;AACF;;AACA;;AACI;;AACE;;AAAwD;AAAA;AAAA;;AAAxD;;AACF;;AACJ;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA+C;AAAA;AAAA;;AAA/C;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAwD;AAAA;AAAA;;AAAxD;;AACF;;AACF;;AACA;;AACI;;AACE;;AAAwD;AAAA;AAAA;;AAAxD;;AACF;;AACJ;;AACF;;AACF;;AAEA;;AACI;;AAAwE;;AAAW;;AACnF;;AACI;;AACI;;AACI;;AAAoD;AAAA;AAAA;;AAClD;;AACE;;AACF;;AACF;;AACJ;;AACF;;AAAO;;AACuE;;AAChF;;AAEA;;AACI;;AACI;;AAAwD;AAAA;AAAA;;AAAxD;;AACJ;;AACA;;AAAO;;AACP;;AACJ;;AACA;;AACE;;AAAqC;AAAA;AAAA;;AAAuB;;AAC5D;;AAA8B;;AAAW;;AAC7C;;AACF;;AACJ;;AAEA;;AACE;;AAAwE;;AAAI;;AAC1E;;AACE;;AACE;;AACE;;AAA8C;AAAA;AAAA;;AAA9C;;AACF;;AACF;;AACF;;AACJ;;AACF;;AAEA;;AACE;;AAAoC;;AAA6B;;AAAI;;AAAQ;;AAAO;;AACtF;;AACF;;AAEF;;AACF;;;;AA/ImD;;AAAA;;AAIA;;AAAA;;AAQiB;;AAAA;;AAeE;;AAAA;;AAiBF;;AAAA;;AAmBL;;AAAA;;AAKS;;AAAA;;AAKE;;AAAA;;AAOX;;AAAA;;AAKS;;AAAA;;AAKE;;AAAA;;AAWE;;AAAA;;AAYI;;AAAA;;AAMzB;;AAAA;;AAWS;;AAAA;;;;;;;;;sED3IvDH,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACT39B,kBAAQ,EAAE,uBADD;AAETC,qBAAW,EAAE,oCAFJ;AAGTC,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK0B,Q;;;;;;kBAKmC,oD;mBAAO,wE;;;;;;;;;;;;;;;;;;;;;;;AEf/E;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACuBQ;;AAAuC;;AAAU;;;;;;AACjD;;AAAwC;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAKxC;;AAAuC;;AAAS;;;;;;AAChD;;AAAwC;;AAAqB;;;;;;AAArB;;AAAA;;;;;;AAMxC;;AAAuC;;AAAe;;;;;;AACtD;;AAAwC;;AAA6D;;;;;;AAA7D;;AAAA;;;;;;AAKxC;;AAAuC;;AAAY;;;;;;AACnD;;AAA0C;;AAAsD;;;;;;AAAtD;;AAAA;;;;;;AAI1C;;AAAuC;;AAAa;;;;;;AACpD;;AAAwC;;AAA6D;;;;;;AAA7D;;AAAA;;;;;;AAKxC;;AAAuC;;AAAW;;;;;;AAClD;;AAAyC;;AAA6B;;;;;;AAA7B;;AAAA;;;;;;AAKzC;;AAAuC;;AAAM;;;;;;AAC7C;;AAAyC;;AAAmB;;;;;;AAAnB;;AAAA;;;;;;AAKzC;;AAAuC;;AAAS;;;;;;AAChD;;;;;;AAKA;;AAAuC;;AAAW;;;;;;AAClD;;AAAyC;;AAAiB;;;;;;AAAjB;;AAAA;;;;;;AA2B3C;;;;;;AACA;;;;;;AApFF;;AAME;;AACE;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAIA;;AACE;;AACA;;AACF;;AAGC;;AACC;;AACA;;AACF;;AAEC;;AACC;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAGC;;AACC;;AACA;;AACF;;AAGA;;AACE;;AACA;;AACF;;AAGC;;AACC;;AACA;;AACF;;AA0BA;;AACA;;AACF;;;;;;AArFiB;;AAmFI;;AAAA;;AACP;;AAAA;;;;;;;;;;AAEd;;;;AAAe;;;;QDzFN69B,+B;;;AAQX,+CAAmBh6B,MAAnB,EAAsC;AAAA;;AAAnB,aAAAA,MAAA,GAAAA,MAAA;AAPV,aAAAmI,IAAA,GAAqB,EAArB,CAO6B,CAPJ;;AAGlC,aAAA2Q,gBAAA,GAA6B,CAAC,WAAD,EAAc,UAAd,EAA0B,gBAA1B,EAA4C,cAA5C,EAA4D,eAA5D,EAA4E,aAA5E,EAA2F,QAA3F,EAAqG,WAArG,EAAkH,aAAlH,CAA7B;AAMC;;;;mCAEO,CAEP;;;oCAEW4E,K,EAAc;AACxB,cAAMxF,WAAW,GAAIwF,KAAK,CAAC8b,MAAN,CAAkC34B,KAAvD;AACA,eAAKkY,UAAL,CAAgBjR,MAAhB,GAAyBoQ,WAAW,CAACqB,IAAZ,GAAmBpB,WAAnB,EAAzB;;AAEA,cAAI,KAAKY,UAAL,CAAgBE,SAApB,EAA+B;AAC7B,iBAAKF,UAAL,CAAgBE,SAAhB,CAA0BwgB,SAA1B;AACD;AACF;;;0CAEiB;AAChB,eAAK1gB,UAAL,CAAgBE,SAAhB,GAA4B,KAAKA,SAAjC;AACA,eAAKF,UAAL,CAAgBI,IAAhB,GAAuB,KAAKA,IAA5B;AACD;;;sCAEa;AACZ,cAAG,KAAKhR,IAAR,EAAc;AACZ,iBAAK4Q,UAAL,CAAgB1W,IAAhB,GAAwB,KAAK8F,IAA7B;AACD;AACF;;;kCAES;AACR,cAAM7F,SAAS,GAAG,KAAKtC,MAAL,CAAYiC,IAAZ,CAAiB,+IAAjB,EAA+C,EAA/C,CAAlB;AAGAK,mBAAS,CAACyJ,WAAV,GAAwBvM,SAAxB,CAAkC,UAAAwM,MAAM,EAAI,CAE3C,CAFD;AAID;;;;;;;uBA5CUguB,+B,EAA+B,mI;AAAA,K;;;YAA/BA,+B;AAA+B,oD;AAAA;AAAA;oEAE/B,wE,EAAY,I;;oEACZ,8D,EAAO,I;;;;;;;;;;;;;;;;;;;ACTlB;;AAEA;;AACE;;AACE;;AAAmB;;AAA4B;;AAC/C;;AAA4B;AAAA,mBAAS,IAAAhgB,WAAA,QAAT;AAA4B,WAA5B;;AAA5B;;AACF;;AACF;;AACA;;AACE;;AAsFA;;AACF;;;;AAvFgE;;AAAA;;AAsFL;;AAAA;;;;;;;;;sEDzFhDggB,+B,EAA+B;cAL3C,uDAK2C;eALjC;AACT/9B,kBAAQ,EAAE,+BADD;AAETC,qBAAW,EAAE,4CAFJ;AAGTC,mBAAS,EAAE,CAAC,4CAAD;AAHF,S;AAKiC,Q;;;;;;gBACzC;;;gBACA,uD;iBAAU,wE;;;gBACV,uD;iBAAU,8D;;;;;;;;;;;;;;;;;;;;AEhBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWa89B,4B;;;AAIX,4CAAmB33B,SAAnB,EAAyGD,IAAzG,EAA4HlC,WAA5H,EAAuJ;AAAA;;AAApI,aAAAmC,SAAA,GAAAA,SAAA;AAAsF,aAAAD,IAAA,GAAAA,IAAA;AAAmB,aAAAlC,WAAA,GAAAA,WAAA;AAD5H,aAAAW,QAAA,GAAoB,KAApB;AAEE,aAAK+4B,OAAL,GAAe,IAAI,+DAAJ,EAAf;AACA;;;;mCAEM,CACP;;;gCAEI;AACH,eAAKv3B,SAAL,CAAeN,KAAf,CAAqB,IAArB;AACD;;;kCAEM;AACL;;;;;;AAMD;;;4CAEgB,CAEhB;;;;;;;uBA1BUi4B,4B,EAA4B,sI,EAAA,gEAI0C,wEAJ1C,C,EAIyD,2H;AAAA,K;;;YAJrFA,4B;AAA4B,iD;AAAA,gB;AAAA,a;AAAA,2nF;AAAA;AAAA;ACVzC;;AACI;;AACA;;AACE;;AAAwB;AAAA,mBAAS,IAAAH,KAAA,EAAT;AAAgB,WAAhB;;AACtB;;AAAU;;AAAK;;AACjB;;AACF;;AACF;;AAEE;;AACE;;AAEE;;AAAwC;AAAA,mBAAY,IAAAC,OAAA,EAAZ;AAAqB,WAArB;;AACtC;;AACC;;AACG;;AAAyE;;AAAmB;;AAC1F;;AACE;;AACE;;AACA;;AAA8B;;AAAkB;;AAClD;;AACF;;AACA;;AACE;;AACE;;AAAsC;;AAAY;;AAClD;;AAA8B;;AAA4F;;AAC5H;;AACF;;AAEJ;;AACI;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACI;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACJ;;AAED;;AACG;;AACI;;AACA;;AAA8B;;AAAa;;AAC/C;;AACA;;AACE;;AACE;;AACE;;AACE;;AACD;;AACD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACD;;AACA;;AACE;;AACF;;AACA;;AACC;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AAEF;;AACF;;AACF;;AACA;;AACI;;AACE;;AACF;;AACJ;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACI;;AAAwE;;AAAsB;;AAC9F;;AACI;;AACE;;AACE;;AACE;;AACE;;AACD;;AACD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACD;;AACA;;AACE;;AACF;;AACA;;AACC;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACI;;AACJ;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACD;;AACD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACD;;AACA;;AACE;;AACF;;AACA;;AACC;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AAEF;;AACF;;AACF;;AACD;;AACG;;AACI;;AACJ;;AACJ;;AACF;;AACJ;;AAEA;;AACE;;AAAwE;;AAAkB;;AACxF;;AACE;;AACE;;AACE;;AAEF;;AACF;;AACF;;AACJ;;AACA;;AACE;;AAAwE;;AAAW;;AACjF;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACJ;;AACA;;AACE;;AAAwE;;AAAc;;AACpF;;AACE;;AACE;;AAAuC;;AAA+C;;AACtF;;AAA8B;;AAAkJ;;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AEE;;AACE;;AAEE;;AAAwC;AAAA,mBAAY,IAAAC,OAAA,EAAZ;AAAqB,WAArB;;AACtC;;AACC;;AACG;;AAAyE;;AAAkB;;AACzF;;AACI;;AACI;;AACI;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACJ;;AACE;;AAA8B;;AAC0N;;AAC9P;;AACJ;;AACA;;AACI;;AACI;;AAAsC;;AAAQ;;AAC9C;;AAAG;;AAA4F;;AACnG;;AACJ;;AAEA;;AACI;;AACA;;AACI;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AACA;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAwE;;AAAM;;AAC9E;;AACI;;AACI;;AAAsC;;AAAY;;AACtD;;AACA;;AACI;;AACI;;AACE;;AACE;;AACD;;AACD;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACD;;AACA;;AACE;;AACF;;AACA;;AACC;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AAEF;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACE;;AAAwE;;AAAW;;AACjF;;AACI;;AACI;;AAAsC;;AAAY;;AACtD;;AACA;;AACI;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACI;;AACJ;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEJ;;AA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AgB,IAAhB;AACH,K;;;;;;;;;;;;;;;;;ACRL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;A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","file":"main-es5.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","import { Component } from '@angular/core';\r\nimport {WlService} from './services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n providers: [WlService]\r\n})\r\n\r\nexport class AppComponent {\r\n spaceScreens: Array;\r\n}\r\n","","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { BroadcastEmitter } from './services/BroadcastEmitter';\r\nimport { WlService } from './services/wlservice.service';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n\r\n//components\r\nimport { VirtualServersComponent } from './components/virtualServers/virtualServers.component';\r\nimport { UseStatisticsComponent } from './components/useStatistics/useStatistics.component';\r\nimport { EventsLogComponent } from './components/eventsLog/eventsLog.component';\r\nimport { AccountConfigurationComponent } from './components/accountConfiguration/accountConfiguration.component';\r\nimport { UserAccountsComponent } from './components/userAccounts/userAccounts.component';\r\nimport { HelpDeskComponent } from './components/helpDesk/helpDesk.component';\r\nimport { ActiveDirectoryComponent } from './components/activeDirectory/activeDirectory.component';\r\nimport { WhiteLabelConfigurationComponent } from './components/whiteLabelConfiguration/whiteLabelConfiguration.component';\r\nimport { ImageUploadComponent } from './components/whiteLabelConfiguration/imageUpload/image-upload.component';\r\nimport { CertificateUploadComponent } from './components/whiteLabelConfiguration/certificateUpload/certificate-upload.component';\r\nimport { BillingComponent } from './components/billing/billing.component';\r\nimport { RoleComponent } from './components/role/role.component';\r\nimport { sendMailDialog } from './tools/modals/sendMail/modal.component';\r\nimport { EmailSetupComponent } from './components/emailSetup/emailSetup.component';\r\nimport { CancelledServicesComponent } from './components/CancelledServices/CancelledServices.component';\r\nimport { FaqComponent } from './components/Faq/Faq.component';\r\nimport { ProspectsComponent } from './components/Prospects/Prospects.component';\r\nimport { MarketplaceComponent } from './components/Marketplace/Marketplace.component';\r\nimport { DesktopComponent } from './components/desktop/desktop.component';\r\nimport { LoginModalComponent } from './login/login.component';\r\nimport { HeaderComponent } from './components/shared/header/header.component';\r\nimport { ControlPanelComponent } from './components/desktop/control-panel/control-panel.component';\r\nimport { DataCenterComponent } from './components/dataCenter/dataCenter.component';\r\nimport { ChildrenUsersComponent } from './components/dataCenter/childrenUsers/childrenUsers.component';\r\nimport { GridComponent, GridDetailComponent } from './tools/grid/grid.component';\r\nimport { SnackBarComponent } from './components/desktop/snackbar/snackbar.component';\r\nimport { machineOperations } from './components/dataCenter/machineOperations/machineOperations.component';\r\nimport { planEdition } from './components/virtualServers/planEdition/plan-edition.component';\r\nimport { UserEdition } from './components/userAccounts/user-edition/user-edition.component';\r\nimport { PasswordEditDialog } from './components/accountConfiguration/accountConfiguration.component';\r\nimport { UserSettings } from './components/userAccounts/user-settings/user-settings.component';\r\nimport { DemoServices } from './components/userAccounts/demoServices/demo-services.component';\r\nimport { ServiceSettings } from './components/userAccounts/service-configuration/service-configuration.component';\r\nimport { MachineSettings } from './components/dataCenter/machine-settings/machine-settings.component';\r\nimport { DiskConfiguration } from './components/dataCenter/machine-settings/disk-configuration/disk-configuration.component';\r\nimport { NetworkSettings } from './components/dataCenter/network-settings/networkSettings';\r\nimport { ConfirmationDialog } from './tools/modals/confirmation/modal.component';\r\nimport { DhcpConfiguration } from './components/dataCenter/network-settings/dhcpConfiguration/dhcp-configuration.component';\r\nimport { NatConfiguration } from './components/dataCenter/network-settings/NatConfiguration/nat-configuration.component';\r\nimport { FirewallConfiguration } from './components/dataCenter/network-settings/FirewallConfiguration/firewall-configuration.component';\r\nimport { VpnConfiguration } from './components/dataCenter/network-settings/VpnConfiguration/vpn-configuration.component';\r\nimport { RoutingConfiguration } from './components/dataCenter/network-settings/RoutingConfiguration/routing-configuration.component';\r\nimport { WelcomeComponent } from './components/desktop/welcome-window/welcome-window.component';\r\nimport { PendingMachinesComponent } from './components/pendingMachines/pendingMachines.component';\r\nimport { PasswordResendDialog } from './components/userAccounts/userAccounts.component';\r\nimport { TermsComponent } from './components/userAccounts/terms/terms.component';\r\nimport { ProfileEditComponent } from './components/role/role.component';\r\nimport { SupportNumbers } from './components/support/support.component';\r\nimport { AdminSupportContact } from './components/support/admin-support-contact/admin-support-contact.component';\r\nimport { ServiceNameModal } from './components/dataCenter/service-name-modal/service-name-modal.component';\r\nimport { VpnStatsComponent } from './components/dataCenter/network-settings/vpn-stats/vpn-stats.component';\r\n// tslint:disable-next-line: max-line-length\r\nimport { SaveBundleQuoteModalComponent } from './components/calculator-cloud-server/modals/save-bundle-quote/saveBundleQuoteModal.component';\r\nimport { CredentialsComponent } from './components/credentials/credentials.component';\r\n\r\n//Pipes\r\nimport { SafeHtml } from './tools/pipes/SafeHtml.pipe';\r\nimport { FilterPipe } from './tools/pipes/filter.pipe';\r\n// Material Design\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatOptionModule } from '@angular/material/core';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\n\r\n//AuthService\r\nimport { AuthGuardService as AuthGuard } from './services/auth/auth-guard.service';\r\nimport { AuthService, TOKEN_NAME, tokennGetter } from './services/auth/auth.service';\r\nimport { MyHttpInterceptor} from './services/auth/auth-interceptor';\r\nimport { SessionCheckService } from './services/auth/session-check.service';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\nimport { ApplicationProfileComponent } from './components/dataCenter/network-settings/application-profile/application-profile.component';\r\nimport { VirtualServerComponent } from './components/dataCenter/network-settings/virtual-server/virtual-server.component';\r\nimport { PoolComponent } from './components/dataCenter/network-settings/pool/pool.component';\r\nimport { InterfacesStatsComponent } from './components/dataCenter/network-settings/interfaces-stats/interfaces-stats.component';\r\nimport { IpsetConfigurationComponent } from './components/dataCenter/network-settings/ipset-configuration/ipset-configuration.component';\r\nimport { FirewallComponent } from './components/dataCenter/network-settings/firewall-component/firewall-component.component';\r\nimport { NatTableComponent } from './components/dataCenter/network-settings/nat-table/nat-table.component';\r\nimport { DhcpTableComponent } from './components/dataCenter/network-settings/dhcp-table/dhcp-table.component';\r\nimport { VpnTableComponent } from './components/dataCenter/network-settings/vpn-table/vpn-table.component';\r\nimport { RoutingTableComponent } from './components/dataCenter/network-settings/routing-table/routing-table.component';\r\nimport { AppProfileTableComponent } from './components/dataCenter/network-settings/app-profile-table/app-profile-table.component';\r\nimport { PoolTableComponent } from './components/dataCenter/network-settings/pool-table/pool-table.component';\r\nimport { VirtualServerTableComponent } from './components/dataCenter/network-settings/virtual-server-table/virtual-server-table.component';\r\nimport { IpsetTableComponent } from './components/dataCenter/network-settings/ipset-table/ipset-table.component';\r\n\r\n// Calculator\r\n\r\nimport { CalculatorCloudServerComponent } from './components/calculator-cloud-server/calculator-cloud-server.component';\r\nimport { ServerProtectionComponent } from './components/calculator-cloud-server/modals/server-protection/server-protection.component';\r\nimport { ViewQuotesComponent } from './components/calculator-cloud-server/view-quotes/view-quotes.component';\r\nimport {CloudServerEditValuesComponent} from './components/calculator-cloud-server/modals/edit-values/cloud-server-edit-values.component';\r\n\r\n\r\n// services\r\n\r\nimport { ExcelService } from './services/excel/excel.service';\r\n// import { ServerProtectionComponent } from './tools/modals/server-protection/server-protection.component';\r\n\r\n//navbar\r\n\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\r\n\r\nimport { NavbarComponent } from './navbar/navbar.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\n\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true\r\n};\r\n\r\n\r\nexport const appRoutes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent\r\n },\r\n // { path: 'terms', component: TermsComponent },\r\n {\r\n path: 'home',\r\n component: HomeComponent ,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: 'dataCenter/:id/:children', component: DataCenterComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'childrenUsers/:id/:children', component: ChildrenUsersComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'networkSettings/:datacenterID', component: NetworkSettings, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'welcome', component: WelcomeComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'MachineSettings/:MachineID', component: MachineSettings, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'virtualServers', component: VirtualServersComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'useStatistics', component: UseStatisticsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'eventsLog', component: EventsLogComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'accountConfiguration', component: AccountConfigurationComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'userAccounts', component: UserAccountsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'userConfiguration/:UserID', component: UserSettings, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'helpDesk', component: HelpDeskComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'activeDirectory', component: ActiveDirectoryComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'whiteLabelConfiguration', component: WhiteLabelConfigurationComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'billing', component: BillingComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'role', component: RoleComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'calculator', component: CalculatorCloudServerComponent, canActivate: [AuthGuard], outlet: 'main'},\r\n { path: 'calculator/:idBundleQuote', component: CalculatorCloudServerComponent, canActivate: [AuthGuard], outlet: 'main'},\r\n { path: 'emailSetup', component: EmailSetupComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'CancelledServices', component: CancelledServicesComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'Faq', component: FaqComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'Prospects', component: ProspectsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'Marketplace', component: MarketplaceComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'desktop', component: DesktopComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'pendingMachines', component: PendingMachinesComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'supportContacts', component: SupportNumbers, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'viewQuotes', component: ViewQuotesComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'interfacesStats/:datacenterID', component: InterfacesStatsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'deliveryofcredentials', component: CredentialsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'PfsenseNetworkSettings/:datacenterID/:customerID', component: PfSenseNetworkSettingsComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n { path: 'csj', component: ReplicasCSJComponent, canActivate : [AuthGuard], outlet: 'main' },\r\n ]\r\n\r\n }\r\n];\r\n\r\n// translate\r\nimport {TranslateModule, TranslateLoader} from '@ngx-translate/core';\r\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\r\nimport { Outh2ModalComponent } from './login/outh2-modal/outh2-modal.component';\r\nimport { PfSenseNetworkSettingsComponent } from './components/dataCenter/pf-sense-network-settings/pf-sense-network-settings.component';\r\nimport { PfsenseIpComponent } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/pfsense-ip.component';\r\nimport { NewPfSenseIpComponent } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { FirewallAliasesPortsComponent } from './components/dataCenter/pf-sense-network-settings/firewall-aliases-ports/firewall-aliases-ports.component';\r\nimport { FirewallAliasesAllComponent } from './components/dataCenter/pf-sense-network-settings/firewall-aliases-all/firewall-aliases-all.component';\r\nimport { FirewallNatPortForwardComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/firewall-nat-port-forward.component';\r\nimport { FirewallNatOutboundComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/firewall-nat-outbound.component';\r\nimport { FirewallRulesWanComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-wan/firewall-rules-wan.component';\r\nimport { FirewallRulesLanComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-lan/firewall-rules-lan.component';\r\nimport { ServicesRulesLanComponent } from './components/dataCenter/pf-sense-network-settings/services-rules-lan/services-rules-lan.component';\r\nimport { ServicesDchserverComponent } from './components/dataCenter/pf-sense-network-settings/services-dchserver-lan/services-dchserver.component';\r\nimport { FirewallRulesOneoneComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-oneone/firewall-rules-oneone.component';\r\nimport { DetailPfsenseIpComponent } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/detail-pfsense-ip/detail-pfsense-ip.component';\r\nimport { NewFirewallRuleComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-outbound/new-firewall-rule/new-firewall-rule.component';\r\nimport { NewFirewallPortRuleComponent } from './components/dataCenter/pf-sense-network-settings/firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component';\r\nimport { NewFirewallRuleWanComponent } from './components/dataCenter/pf-sense-network-settings/firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component';\r\nimport { NewDhcpServiceComponent } from './components/dataCenter/pf-sense-network-settings/services-dchserver-lan/new-dhcp-service/new-dhcp-service.component';\r\nimport { FilterTypePipe } from './components/dataCenter/pf-sense-network-settings/pfsense-ip/pipes/filter-type.pipe';\r\nimport { ReplicasCSJComponent } from './components/replicas-csj/replicas-csj.component';\r\nimport { CsjMainDashboardComponent } from './components/replicas-csj/csj-main-dashboard/csj-main-dashboard.component';\r\nimport { CsjModalComponent } from './components/replicas-csj/csj-modal/csj-modal.component';\r\nimport { CsjGeneralGraphicsComponent } from './components/replicas-csj/csj-general-graphics/csj-general-graphics.component';\r\n\r\n\r\n// AoT requires an exported function for factories\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HomeComponent,\r\n VirtualServersComponent,\r\n UseStatisticsComponent,\r\n EventsLogComponent,\r\n AccountConfigurationComponent,\r\n UserAccountsComponent,\r\n HelpDeskComponent,\r\n ActiveDirectoryComponent,\r\n WhiteLabelConfigurationComponent,\r\n ImageUploadComponent,\r\n CertificateUploadComponent,\r\n BillingComponent,\r\n RoleComponent,\r\n EmailSetupComponent,\r\n CancelledServicesComponent,\r\n FaqComponent,\r\n ProspectsComponent,\r\n MarketplaceComponent,\r\n DesktopComponent,\r\n LoginModalComponent,\r\n ConfirmationDialog,\r\n sendMailDialog,\r\n PasswordResendDialog,\r\n HeaderComponent,\r\n ControlPanelComponent,\r\n DataCenterComponent,\r\n ChildrenUsersComponent,\r\n GridComponent,\r\n SnackBarComponent,\r\n machineOperations,\r\n planEdition,\r\n UserEdition,\r\n UserSettings,\r\n PasswordEditDialog,\r\n GridDetailComponent,\r\n ServiceSettings,\r\n MachineSettings,\r\n DiskConfiguration,\r\n SafeHtml,\r\n NetworkSettings,\r\n DhcpConfiguration,\r\n NatConfiguration,\r\n RoutingConfiguration,\r\n FirewallConfiguration,\r\n WelcomeComponent,\r\n PendingMachinesComponent,\r\n SaveBundleQuoteModalComponent,\r\n VpnConfiguration,\r\n DemoServices,\r\n FilterPipe,\r\n TermsComponent,\r\n ProfileEditComponent,\r\n SupportNumbers,\r\n AdminSupportContact,\r\n ServiceNameModal,\r\n ApplicationProfileComponent,\r\n VirtualServerComponent,\r\n PoolComponent,\r\n VpnStatsComponent,\r\n InterfacesStatsComponent,\r\n IpsetConfigurationComponent,\r\n VpnStatsComponent,\r\n FirewallComponent,\r\n NatTableComponent,\r\n DhcpTableComponent,\r\n VpnTableComponent,\r\n RoutingTableComponent,\r\n AppProfileTableComponent,\r\n PoolTableComponent,\r\n VirtualServerTableComponent,\r\n IpsetTableComponent,\r\n ServerProtectionComponent,\r\n Outh2ModalComponent,\r\n CalculatorCloudServerComponent,\r\n ViewQuotesComponent,\r\n CloudServerEditValuesComponent,\r\n CredentialsComponent,\r\n PfSenseNetworkSettingsComponent,\r\n PfsenseIpComponent,\r\n SidebarComponent,\r\n FooterComponent,\r\n NewPfSenseIpComponent,\r\n FirewallAliasesPortsComponent,\r\n FirewallAliasesAllComponent,\r\n FirewallNatPortForwardComponent,\r\n FirewallNatOutboundComponent,\r\n FirewallRulesWanComponent,\r\n FirewallRulesLanComponent,\r\n ServicesRulesLanComponent,\r\n ServicesDchserverComponent,\r\n FirewallRulesOneoneComponent,\r\n DetailPfsenseIpComponent,\r\n NewFirewallRuleComponent,\r\n NewFirewallPortRuleComponent,\r\n NewFirewallRuleWanComponent,\r\n NewDhcpServiceComponent,\r\n FilterTypePipe,\r\n ReplicasCSJComponent,\r\n CsjMainDashboardComponent,\r\n CsjModalComponent,\r\n CsjGeneralGraphicsComponent\r\n ],\r\n imports: [\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n FormsModule,\r\n // HttpModule,\r\n HttpClientModule,\r\n RouterModule.forRoot(appRoutes),\r\n FlexLayoutModule,\r\n FileUploadModule,\r\n NgxPaginationModule,\r\n NgxChartsModule,\r\n [BrowserModule, FormsModule],\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatButtonModule,\r\n MatSelectModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatSlideToggleModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MatAutocompleteModule,\r\n MatTabsModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatListModule,\r\n MatCheckboxModule,\r\n MatStepperModule,\r\n MatRadioModule,\r\n MatExpansionModule,\r\n MatToolbarModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatButtonToggleModule,\r\n MatIconModule,\r\n ClipboardModule,\r\n CollapseModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n PerfectScrollbarModule,\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokennGetter\r\n }\r\n }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n exports : [\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule\r\n ],\r\n providers:[WlService,\r\n BroadcastEmitter,\r\n MatDialog,\r\n AuthGuard,\r\n SessionCheckService,\r\n AuthService,\r\n DatePipe,\r\n ExcelService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass : MyHttpInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n LoginModalComponent,\r\n PasswordResendDialog,\r\n ProfileEditComponent,\r\n ConfirmationDialog,\r\n sendMailDialog,\r\n ServerProtectionComponent,\r\n PasswordEditDialog,\r\n GridDetailComponent,\r\n ServiceNameModal,\r\n TermsComponent,\r\n VpnStatsComponent,\r\n FirewallComponent,\r\n SaveBundleQuoteModalComponent,\r\n CloudServerEditValuesComponent\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ]\r\n})\r\n\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-CancelledServices',\r\n templateUrl: './CancelledServices.component.html',\r\n styleUrls: ['./CancelledServices.component.scss']\r\n})\r\nexport class CancelledServicesComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Cancelled Services

","import { Component, OnInit } from '@angular/core';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { FaqQuestion } from '../../models/dtos.component';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-Faq',\r\n templateUrl: './Faq.component.html',\r\n styleUrls: ['./Faq.component.scss']\r\n})\r\nexport class FaqComponent implements OnInit {\r\n preguntas: Array = [];\r\n leftQuestions: Array = [];\r\n rightQuestions: Array = [];\r\n globalization: any = Globalization;\r\n searchDocument: string = \"\";\r\n token: string;\r\n language: string;\r\n\r\n constructor(private service: WlService, public auth : AuthService ) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n ngOnInit() {\r\n this.getFaq();\r\n }\r\n\r\n ShowQuestion(question: FaqQuestion, increaseServer: boolean) {\r\n if (!question.show && increaseServer)\r\n this.increasePuntuation(question);\r\n question.show = !question.show;\r\n }\r\n\r\n increasePuntuation(question: FaqQuestion) {\r\n question.Points++;\r\n this.service.IncreasePoints(question.ID).subscribe(\r\n response => { },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n getFaq() {\r\n this.service.getQuestions().subscribe(\r\n (response:any) => {\r\n this.preguntas = response;\r\n this.leftQuestions = response.slice(0, 4);\r\n this.rightQuestions = response.slice(4);\r\n },\r\n error => {\r\n\r\n }\r\n );\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{leftQuestion.Question}}
\r\n
\r\n
\r\n

{{leftQuestion.Answer}}

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

{{question.Question}}

\r\n {{question.Icon}}\r\n
\r\n
\r\n

{{question.Answer}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-Marketplace',\r\n templateUrl: './Marketplace.component.html',\r\n styleUrls: ['./Marketplace.component.css']\r\n})\r\nexport class MarketplaceComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Marketplace

","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-Prospects',\r\n templateUrl: './Prospects.component.html',\r\n styleUrls: ['./Prospects.component.scss']\r\n})\r\nexport class ProspectsComponent implements OnInit {\r\n\r\n ngOnInit(){\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 Id:\r\n Email:\r\n Telephone:\r\n Registration date:\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Inject, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { UserInfoDTO } from '../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { Constants } from '../../models/constants.component';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport {CustomFormValidator} from '../../tools/CustomValidator';\r\n\r\n@Component({\r\n selector: 'app-accountConfiguration',\r\n templateUrl: './accountConfiguration.component.html',\r\n styleUrls: ['./accountConfiguration.component.scss']\r\n})\r\nexport class AccountConfigurationComponent implements OnInit {\r\n user: UserInfoDTO = new UserInfoDTO();\r\n constants : Constants = new Constants();\r\n @ViewChild(\"sidenav\") sidenav: MatSidenav;\r\n public loading: boolean = true;\r\n public OldPassword: string = \"\";\r\n public NewPassword: string = \"\";\r\n public RepeatPassword: string = \"\";\r\n initials: string = \"\";\r\n accountForm: FormGroup;\r\n passwordForm: FormGroup;\r\n constructor(public dialog: MatDialog, private service: WlService, public snackbar: MatSnackBar, public navbarBroadcast: BroadcastEmitter, private formBuilder: FormBuilder) {\r\n this.accountForm = this.formBuilder.group({\r\n 'name' : [{value:'',disabled:this.loading},[Validators.required]],\r\n 'username' : ['',[Validators.required]],\r\n 'email' : ['',[Validators.required,Validators.minLength(10),CustomFormValidator.EmailValidator]],\r\n 'language' : ['',[Validators.required]],\r\n });\r\n this.passwordForm = this.formBuilder.group({\r\n 'currentPassword' : ['',[Validators.required]],\r\n 'newPassword' : ['', [Validators.required]],\r\n 'repeatPassword' : ['',[Validators.required]],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({ text: \"Configuración de cuenta\" });\r\n this.getCustomerInfo();\r\n }\r\n\r\n getCustomerInfo() {\r\n this.service.GetUserInformation().subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.user = response;\r\n this.initials = this.user.Name.split(' ').map(function (e, i) { if (i < 2) { return e.substring(0, 1) } else { return '' } }).join('')\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n )\r\n }\r\n\r\n SaveUserInfo() {\r\n this.accountForm.disable();\r\n this.passwordForm.disable();\r\n this.loading = true;\r\n this.service.SaveUserInfo(this.user).subscribe(\r\n (response:any) => {\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.user = response;\r\n this.sidenav.close();\r\n this.snackbar.open('Usuario modificado satisfactoriamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Errro modificando usuario' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ChangePassword() {\r\n if (this.NewPassword != this.RepeatPassword)\r\n this.snackbar.open('Las contraseñas no coinciden', null, {\r\n duration: 2000,\r\n });\r\n else if (this.OldPassword == this.NewPassword)\r\n this.snackbar.open('Las contraseña nueva no puede ser la misma', null, {\r\n duration: 2000,\r\n });\r\n else {\r\n this.accountForm.disable();\r\n this.passwordForm.disable();\r\n this.loading = true;\r\n this.service.ChangePassword(this.OldPassword, this.NewPassword).subscribe(\r\n response => {\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.snackbar.open('Contraseña cambiada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n\r\n this.accountForm.enable();\r\n this.passwordForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error cambiando contraseña: ' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n )\r\n }\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'password-edit-dialog',\r\n templateUrl: 'password-edit.html',\r\n styleUrls: ['../../tools/modals/modals.scss']\r\n})\r\nexport class PasswordEditDialog {\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, public snackbar: MatSnackBar, private service: WlService) { }\r\n public OldPassword: string = \"\";\r\n public NewPassword: string = \"\";\r\n public RepeatPassword: string = \"\";\r\n public loading: boolean = false;\r\n ChangePassword() {\r\n if (this.NewPassword != this.RepeatPassword)\r\n this.snackbar.open('Las contraseñas no coinciden', null, {\r\n duration: 2000,\r\n });\r\n else if (this.OldPassword == this.NewPassword)\r\n this.snackbar.open('Las contraseña nueva no puede ser la misma', null, {\r\n duration: 2000,\r\n });\r\n else {\r\n this.loading = true;\r\n this.service.ChangePassword(this.OldPassword, this.NewPassword).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.dialogRef.close();\r\n this.snackbar.open('Contraseña cambiada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n console.log(\"error!! 1\", error);\r\n this.loading = false;\r\n this.snackbar.open('Error cambiando contraseña: ' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n )\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n
{{ 'ACCOUNT_CONFIGURATION.EDIT_ACCOUNT' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{ 'ACCOUNT_CONFIGURATION.USER_INFORMATION' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{user.Name ? user.Name.length : 0}} / 50\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n \r\n \r\n done\r\n error\r\n {{user.UserName ? user.UserName.length : 0}} / 50\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n \r\n \r\n done\r\n error\r\n {{user.Email ? user.Email.length : 0}} / 50\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n \r\n \r\n {{language.Name}}\r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{ 'ACCOUNT_CONFIGURATION.CHANGE_PASSWORD' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n {{OldPassword ? OldPassword.length : 0}} / 50\r\n \r\n \r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | translate}}\r\n {{NewPassword ? NewPassword.length : 0}} / 50\r\n \r\n \r\n \r\n done\r\n error\r\n {{ 'ACCOUNT_CONFIGURATION.VALIDATION_REQUIRED' | translate}}\r\n {{RepeatPassword ? RepeatPassword.length : 0}} / 50\r\n \r\n

{{ 'ACCOUNT_CONFIGURATION.VALIDATION_PASSWORD' | 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
{{initials}}
\r\n \r\n {{ 'ACCOUNT_CONFIGURATION.NAME' | translate}}: {{user.Name}}\r\n {{ 'ACCOUNT_CONFIGURATION.USER_NAME' | translate}}: {{user.UserName}}\r\n {{ 'ACCOUNT_CONFIGURATION.EMAIL' | translate}}: {{user.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

Cambio de contraseña

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-activeDirectory',\r\n templateUrl: './activeDirectory.component.html',\r\n styleUrls: ['./activeDirectory.component.scss']\r\n})\r\nexport class ActiveDirectoryComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Active Directory

","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-billing',\r\n templateUrl: './billing.component.html',\r\n styleUrls: ['./billing.component.scss']\r\n})\r\nexport class BillingComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Billing

","\r\nimport {Storage, BundleCost} from './dto/machine-dto';\r\nimport {\r\n TotalDatacenterCost, CloudServerCalculatorIn, ResumenMRC, ResumenCapex, ResumenOpex,\r\n GenericListOption, CloudServerCalculatorOut, MachineLicense, ServerProtection,IselectProperty, CloudserverEmailDTO, BundleDTO, IcurrencyOptions,InternalRole, BundleQuoteDTO, BundleCloudQuoteDto\r\n} from './dto/cloud-server-dto';\r\nimport { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { ConfirmationDialog } from '../../tools/modals/confirmation/modal.component';\r\nimport { sendMailDialog } from '../../tools/modals/sendMail/modal.component';\r\nimport { CloudServerEditValuesComponent } from './modals/edit-values/cloud-server-edit-values.component';\r\nimport { ServerProtectionComponent } from './modals/server-protection/server-protection.component';\r\nimport { SaveBundleQuoteModalComponent } from './modals/save-bundle-quote/saveBundleQuoteModal.component';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-calculator-cloud-server',\r\n templateUrl: './calculator-cloud-server.component.html',\r\n styleUrls: ['./calculator-cloud-server.component.scss']\r\n})\r\n\r\nexport class CalculatorCloudServerComponent implements OnInit {\r\n\r\n @Output() addCloudServerInResumen = new EventEmitter();\r\n @Output() addOrRemoveResumen = new EventEmitter();\r\n @Output() deleteDataCompleteResumen = new EventEmitter();\r\n\r\n public roleActions: any[] = [];\r\n public internalRole: Array = [];\r\n public cloudServerCalcInObj: CloudServerCalculatorIn;\r\n public cloudServerCalcOutObj: CloudServerCalculatorOut = new CloudServerCalculatorOut();\r\n public bundleQuoteDto = new BundleCloudQuoteDto();\r\n public BundleQuote = new BundleQuoteDTO();\r\n public resumenMRC: ResumenMRC = new ResumenMRC();\r\n public resumenOpex: ResumenOpex = new ResumenOpex();\r\n public resumenCapex: ResumenCapex = new ResumenCapex();\r\n public step = 5;\r\n public calculatorFormGroup: FormGroup;\r\n public diskSlider = 100;\r\n public loading: boolean = false;\r\n public isChasisChecked: boolean = false;\r\n public isSophosChecked: boolean = true;\r\n public isDcAlternoChecked: boolean = false;\r\n public count = 1;\r\n public bundleDtoList = new CloudserverEmailDTO();\r\n public dataSendMail: object = {};\r\n sizeMessage = true;\r\n color = '#2581b1';\r\n texColor = '#fff';\r\n colortitle = '#1b5979';\r\n color2 = '#e9e7e7';\r\n texColor2 = '#000';\r\n public currencyOptions: IcurrencyOptions = {\r\n align: 'left',\r\n allowNegative: false,\r\n allowZero: true,\r\n decimal: ',',\r\n precision: 0,\r\n prefix: '$ ',\r\n suffix: ' USD',\r\n thousands: '.'\r\n };\r\n public bdList: GenericListOption[] = [];\r\n public ramList: GenericListOption[] = [];\r\n public rdpList: GenericListOption[] = [];\r\n public coreList: GenericListOption[] = [];\r\n public chasisList: GenericListOption[] = [];\r\n public tipoUsoList: GenericListOption[] = [];\r\n public internetList: GenericListOption[] = [];\r\n public gbRecursosList: GenericListOption[] = [];\r\n public osRecursosList: GenericListOption[] = [];\r\n public replicationList: GenericListOption[] = [];\r\n public iopsRecursosList: GenericListOption[] = [];\r\n public periodoContratoList: GenericListOption[] = [];\r\n public serverProtectionList: GenericListOption[] = [];\r\n public resumenCalculatorList: CloudServerCalculatorIn[] = [];\r\n public dataCenterTypeList: GenericListOption[] = [];\r\n public PriceTYPEList = [];\r\n public idBundleQuote: number = null;\r\n\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private service: WlService,\r\n public snackbar: MatSnackBar,\r\n public dialog: MatDialog\r\n ) {\r\n this.cloudServerCalcInObj = new CloudServerCalculatorIn();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetPermission();\r\n this.getGenericOptionsList();\r\n\r\n this.idBundleQuote = this.activatedRoute.snapshot.paramMap.get('idBundleQuote') ?\r\n parseInt(this.activatedRoute.snapshot.paramMap.get('idBundleQuote'), 10) : null;\r\n if (this.idBundleQuote !== null) {\r\n this.getBundleQuoteByID(this.idBundleQuote);\r\n }\r\n this.loadExcelInformation();\r\n this.modalVDI();\r\n this.calculatorFormGroup = this.formBuilder.group({\r\n Uso: ['', Validators.required],\r\n Cores: ['', Validators.required],\r\n Ram: ['', Validators.required],\r\n Gb: ['', Validators.required],\r\n Iops: ['', Validators.required],\r\n Internet: ['', Validators.required],\r\n validateChasis: ['', Validators.required], // Es el parametro AutorizaPresidencia Si o no\r\n OS: ['', Validators.required],\r\n BaseDatos: ['', Validators.required],\r\n Rdp: ['', Validators.required],\r\n Sophos: ['', Validators.required],\r\n DcAlterno: ['', Validators.required],\r\n Agente: ['', Validators.required],\r\n PeriodoContrato: ['', Validators.required],\r\n Datacenter: ['', Validators.required],\r\n CAPEXType: [ '', Validators.required],\r\n OPEXType: [ '', Validators.required]\r\n });\r\n }\r\n GetPermission() {\r\n this.service.GetMenu().subscribe(\r\n (response) => {\r\n this.internalRole = response;\r\n this.roleActions = response.filter(d => d.label === 'Midas');\r\n console.log(\"roleActions\", this.roleActions);\r\n }, (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n GetActions(identifier: number): boolean {\r\n if (this.roleActions.length > 0) {\r\n return this.roleActions.filter(item => item.actions.some(s => s.ID === identifier)).length > 0 ? true : false;\r\n }\r\n }\r\n\r\n onChanges(editMRC: boolean =false): void {\r\n this.loadExcelInformation(editMRC);\r\n }\r\n\r\n DcAlterno(){\r\n if(!this.isDcAlternoChecked){\r\n this.cloudServerCalcOutObj.Agente = 'N/A';\r\n }\r\n this.onChanges();\r\n }\r\n\r\n\r\n compareObjectSelect(data?: IselectProperty) {\r\n return data ? data.Name : undefined;\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1.ID === o2.ID;\r\n }\r\n\r\n loadExcelInformation(editMRC: boolean = false ): void {\r\n this.loading = true;\r\n this.setSlideToogleValue();\r\n this.checkSettings();\r\n this.cloudServerCalcOutObj.editMRC = (editMRC) ? true : false;\r\n this.service.CloudServerCalculatorOut(this.cloudServerCalcOutObj).subscribe(\r\n (response: CloudServerCalculatorIn) => {\r\n console.log('responseCloud', response );\r\n this.cloudServerCalcInObj = response;\r\n this.cloudServerCalcInObj.resumenCapex = response.resumenCapex;\r\n this.cloudServerCalcInObj.resumenOpex = response.resumenOpex;\r\n this.cloudServerCalcInObj.resumenMrc = response.resumenMrc;\r\n this.cloudServerCalcInObj.Cost = this.TypeCost(response);\r\n if (editMRC) {\r\n this.cloudServerCalcInObj.Cost.MRC = response.resumenMrc.MrcManual;\r\n } else {\r\n this.cloudServerCalcInObj.Cost.MRC = response.resumenMrc.MrcSugerido;\r\n }\r\n\r\n if (!this.cloudServerCalcInObj.configValidation) {\r\n this.modalLicenceseDB();\r\n }\r\n\r\n this.cloudServerCalcInObj.Cost.DiscountMRC = response.resumenMrc.MrcSugerido;\r\n this.cloudServerCalcInObj.currency = 'USD';\r\n this.cloudServerCalcInObj.objCloudServerOut = response.objCloudServerOut;\r\n this.loading = false;\r\n });\r\n }\r\n\r\n TypeCost(response: CloudServerCalculatorIn): BundleCost {\r\n const cost = new BundleCost();\r\n\r\n if (response.objCloudServerOut.OPEXType === 'Real') {\r\n cost.OPEX = response.resumenOpex.Total;\r\n\r\n } else {\r\n cost._OPEX = response.resumenOpex.Total;\r\n }\r\n\r\n if (response.objCloudServerOut.CAPEXType === 'Real') {\r\n cost.CAPEX = response.resumenCapex.Total;\r\n\r\n } else {\r\n cost._CAPEX = response.resumenCapex.Total;\r\n }\r\n return cost;\r\n }\r\n\r\n getGenericOptionsList(): void {\r\n this.service.GetGenericListOptionsByListID('tipoUsoListCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.tipoUsoList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('coresRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.coreList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('ramRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.ramList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('internetRecursosCloud').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.internetList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('gbRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.gbRecursosList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('iopsRecursosCloudServer').subscribe(\r\n (response: GenericListOption[]) => {\r\n this.iopsRecursosList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('becauseChasisRecurosCloud').subscribe(\r\n (response:GenericListOption[]) => {\r\n this.chasisList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('osLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.osRecursosList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('bdLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.bdList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('rdpLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.rdpList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('serverProtectionLicenciamientoCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.serverProtectionList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('replicationContiniudadCloudServer').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.replicationList = response;\r\n }\r\n );\r\n this.service.GetGenericListOptionsByListID('periodo_contratado_cloud_server').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.periodoContratoList = response;\r\n }\r\n );\r\n\r\n this.service.GetGenericListOptionsByListID('datacenter_type').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.dataCenterTypeList = response;\r\n }\r\n );\r\n\r\n this.service.GetGenericListOptionsByListID('PriceTYPE').subscribe(\r\n (response : GenericListOption[]) => {\r\n this.PriceTYPEList = response;\r\n }\r\n );\r\n }\r\n\r\n totaldata(): BundleCost {\r\n const totalCost = new BundleCost();\r\n this.resumenCalculatorList.forEach(element => {\r\n if (element.addResumen) {\r\n totalCost.MRC += element.Cost.MRC;\r\n totalCost.CAPEX += element.Cost.CAPEX;\r\n totalCost.OPEX += element.Cost.OPEX;\r\n totalCost._OPEX += element.Cost._OPEX;\r\n totalCost._CAPEX += element.Cost._CAPEX;\r\n }\r\n });\r\n return totalCost;\r\n }\r\n\r\n\r\n addCloudServerCalculatorOut(): void {\r\n if (this.resumenCalculatorList.length === 0) {\r\n this.count = 1;\r\n }\r\n this.cloudServerCalcInObj.UUID = this.service.generateUUID();\r\n this.cloudServerCalcInObj.Name = 'Servidor' + (this.count++);\r\n this.cloudServerCalcInObj.addResumen = true;\r\n this.cloudServerCalcInObj.Cores = this.cloudServerCalcOutObj.Cores;\r\n this.cloudServerCalcInObj.Ram = this.cloudServerCalcOutObj.Ram;\r\n this.cloudServerCalcInObj.Gb = this.cloudServerCalcOutObj.Gb;\r\n this.cloudServerCalcInObj.objCloudServerOut.BaseDatos = this.cloudServerCalcOutObj.BaseDatos;\r\n this.cloudServerCalcInObj.objCloudServerOut.CAPEXType = this.cloudServerCalcOutObj.CAPEXType;\r\n this.cloudServerCalcInObj.objCloudServerOut.OPEXType = this.cloudServerCalcOutObj.OPEXType;\r\n const cloudServeDataClone = JSON.parse(JSON.stringify(this.cloudServerCalcInObj));\r\n const cloudServeDataClone2 = JSON.parse(JSON.stringify(this.cloudServerCalcInObj));\r\n this.addCloudServerInResumen.emit({ type: 5, data: cloudServeDataClone }); // Agregar clodu servers al Resumen General\r\n this.resumenCalculatorList.push({ ...cloudServeDataClone2 });\r\n }\r\n\r\n TotalResources(): TotalDatacenterCost {\r\n const resources = new TotalDatacenterCost();\r\n this.resumenCalculatorList.forEach(element => {\r\n if (element.addResumen) {\r\n if (element.objCloudServerOut.DcAlterno === 'NO') {\r\n resources.principal.Cost.MRC += element.Cost.MRC;\r\n resources.principal.Cost.CAPEX += element.Cost.CAPEX;\r\n resources.principal.Cost.OPEX += element.Cost.OPEX;\r\n resources.principal.Cost._OPEX += element.Cost._OPEX;\r\n resources.principal.Cost._CAPEX += element.Cost._CAPEX;\r\n if (element.objCloudServerOut.BaseDatos !== 'N/A') {\r\n resources.principal.RAM += element.objCloudServerOut.Ram\r\n resources.principal.Cores += element.objCloudServerOut.Cores\r\n resources.principal.Storage += element.objCloudServerOut.Gb\r\n } else {\r\n resources.principal.RAMDB += element.objCloudServerOut.Ram\r\n resources.principal.CoresDB += element.objCloudServerOut.Cores\r\n resources.principal.StorageDB += element.objCloudServerOut.Gb\r\n }\r\n\r\n } else {\r\n\r\n resources.alternate.Cost.MRC += element.Cost.MRC;\r\n resources.alternate.Cost.CAPEX += element.Cost.CAPEX;\r\n resources.alternate.Cost.OPEX += element.Cost.OPEX;\r\n resources.alternate.Cost._OPEX += element.Cost._OPEX;\r\n resources.alternate.Cost._CAPEX += element.Cost._CAPEX;\r\n\r\n if (element.objCloudServerOut.BaseDatos !== 'N/A') {\r\n resources.alternate.RAM += element.objCloudServerOut.Ram\r\n resources.alternate.Cores += element.objCloudServerOut.Cores\r\n resources.alternate.Storage += element.objCloudServerOut.Gb\r\n } else {\r\n resources.alternate.RAMDB += element.objCloudServerOut.Ram\r\n resources.alternate.CoresDB += element.objCloudServerOut.Cores\r\n resources.alternate.StorageDB += element.objCloudServerOut.Gb\r\n }\r\n }\r\n }\r\n });\r\n\r\n return resources;\r\n }\r\n\r\n deleteServerBySummary(index: any): void {\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Eliminar Servidor',\r\n Message: '¿Está seguro que eliminar este servidor de la cotización?',\r\n Ok: () => {\r\n this.resumenCalculatorList.splice(index, 1);\r\n this.deleteDataCompleteResumen.emit({ data: { ...this.resumenCalculatorList[index] }, type: 5 }); // Metodo para borrar Equipo\r\n }\r\n }\r\n });\r\n }\r\n\r\n setStep(index: number): void {\r\n this.step = index;\r\n }\r\n\r\n nextStep(): void {\r\n this.step++;\r\n }\r\n\r\n prevStep(): void {\r\n this.step--;\r\n }\r\n\r\n snackBarMessage(message: string): void {\r\n this.snackbar.open(message, null, {\r\n duration: 2000,\r\n });\r\n }\r\n\r\n checkSettings() {\r\n if (this.cloudServerCalcOutObj.OS !== 'Windows Server') {\r\n this.cloudServerCalcOutObj.Rdp = 0;\r\n }\r\n if (this.cloudServerCalcOutObj.Uso !== 'Database') {\r\n this.cloudServerCalcOutObj.BaseDatos = 'N/A';\r\n }\r\n }\r\n\r\n setSlideToogleValue() {\r\n if (this.isChasisChecked === false) {\r\n this.cloudServerCalcOutObj.AutorizaPresidencia = 'NO';\r\n } else {\r\n this.cloudServerCalcOutObj.AutorizaPresidencia = 'SI';\r\n }\r\n\r\n if (this.isDcAlternoChecked === false) {\r\n this.cloudServerCalcOutObj.DcAlterno = 'NO';\r\n } else {\r\n this.cloudServerCalcOutObj.DcAlterno = 'SI';\r\n }\r\n }\r\n\r\n serverProtection() {\r\n if (this.isSophosChecked === false) {\r\n const d = this.dialog.open(ServerProtectionComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Server Protection',\r\n Ok: () => {\r\n this.isSophosChecked = false;\r\n this.cloudServerCalcOutObj.Sophos = 'NO';\r\n this.loadExcelInformation();\r\n },\r\n Cancel: () => {\r\n this.isSophosChecked = true;\r\n this.cloudServerCalcOutObj.Sophos = 'SI'\r\n this.loadExcelInformation();\r\n }\r\n }\r\n });\r\n d.afterClosed()\r\n .subscribe(result => {});\r\n\r\n } else {\r\n this.isSophosChecked = true;\r\n this.cloudServerCalcOutObj.Sophos = 'SI';\r\n this.loadExcelInformation();\r\n }\r\n }\r\n\r\n addOrRemoveResumenMethod(data: any) {\r\n data.addResumen = !data.addResumen;\r\n this.addOrRemoveResumen.emit({ type: 5, UUID: data.UUID, status: data.addResumen });\r\n }\r\n\r\n removeCheckInResumen(UUID: string) {\r\n this.resumenCalculatorList = this.resumenCalculatorList.map((dato) => {\r\n if (dato.UUID === UUID) { dato.addResumen = false; }\r\n return dato;\r\n });\r\n }\r\n\r\n sendQuote(): void {\r\n const d = this.dialog.open(sendMailDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Enviar Cotización'\r\n }\r\n });\r\n\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.cloudMachineList();\r\n this.dataSendMail = {\r\n Configuration: this.bundleQuoteDto,\r\n Email: result.email,\r\n Name: result.name,\r\n Detail: result.detail\r\n }\r\n\r\n this.service.sendCalculatorCloudServerSendEmail(this.dataSendMail).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.snackbar.open('Correo Enviado Correctamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Ocurrió un error por favor intentelo nuevamente'+ error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n\r\n }\r\n });\r\n }\r\n\r\n cloudMachineList() {\r\n this.bundleQuoteDto = new BundleCloudQuoteDto();\r\n const totalData = this.totaldata();\r\n const storage = new Storage();\r\n const _machineType = new MachineLicense();\r\n this.resumenCalculatorList.forEach((element) => {\r\n const bundleDto = new BundleDTO();\r\n bundleDto.BundleMachine.MachineLicenses = [];\r\n _machineType.Identifier = element.objCloudServerOut.Uso;\r\n _machineType.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineType);\r\n bundleDto.ID = element.UUID\r\n bundleDto.BundleMachine.Cores.Value = element.objCloudServerOut.Cores;\r\n storage.diskType = element.objCloudServerOut.Iops;\r\n storage.size = element.objCloudServerOut.Gb;\r\n bundleDto.BundleMachine.MachineStorage = [storage];\r\n bundleDto.BundleMachine.Duration = parseInt(element.objCloudServerOut.PeriodoContrato, 10);\r\n bundleDto.BundleMachine.Cores.Value = element.objCloudServerOut.Cores;\r\n bundleDto.BundleMachine.Ram.Value = element.objCloudServerOut.Ram;\r\n bundleDto.BundleMachine.Network.Internet = element.objCloudServerOut.Internet;\r\n bundleDto.BundleMachine.OperativeSystem.Os = element.objCloudServerOut.OS;\r\n bundleDto.BundleMachine.DataBase = element.objCloudServerOut.BaseDatos;\r\n bundleDto.BundleMachine.MachineName = element.Name;\r\n bundleDto.BundleMachine.Cost.CAPEX = element.Cost.CAPEX;\r\n bundleDto.BundleMachine.Cost.OPEX = element.Cost.OPEX;\r\n bundleDto.BundleMachine.Cost._CAPEX = element.Cost._CAPEX;\r\n bundleDto.BundleMachine.Cost._OPEX = element.Cost._OPEX;\r\n bundleDto.BundleMachine.Cost.MRC = element.Cost.MRC;\r\n bundleDto.BundleMachine.Cost.DiscountMRC = element.Cost.MRC;\r\n if (element.objCloudServerOut.Rdp > 0) {\r\n const _machineLicenseRdp = new MachineLicense();\r\n _machineLicenseRdp.Identifier = 'RDP';\r\n _machineLicenseRdp.Quantity = element.objCloudServerOut.Rdp;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseRdp);\r\n }\r\n if (element.objCloudServerOut.BaseDatos !== 'N/A') {\r\n const _machineLicenseDb = new MachineLicense();\r\n _machineLicenseDb.Identifier = 'RDP';\r\n _machineLicenseDb.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDb);\r\n }\r\n if (element.objCloudServerOut.Agente !== 'N/A') {\r\n const _machineLicenseDb = new MachineLicense();\r\n _machineLicenseDb.Identifier = 'Agente -' + element.objCloudServerOut.Agente;\r\n _machineLicenseDb.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDb);\r\n }\r\n if (element.objCloudServerOut.Sophos !== 'NO') {\r\n const _machineLicenseDb = new MachineLicense();\r\n _machineLicenseDb.Identifier = 'Sophos -' + element.objCloudServerOut.Sophos;\r\n _machineLicenseDb.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDb);\r\n }\r\n if (element.objCloudServerOut.DcAlterno !== 'NO') {\r\n const _machineLicenseDcAlterno = new MachineLicense();\r\n _machineLicenseDcAlterno.Identifier = 'D -' + element.objCloudServerOut.DcAlterno;\r\n _machineLicenseDcAlterno.Quantity = 1;\r\n bundleDto.BundleMachine.MachineLicenses.push(_machineLicenseDcAlterno);\r\n }\r\n this.bundleQuoteDto.CloudConfiguration.push(bundleDto);\r\n });\r\n this.bundleQuoteDto.TotalBundleCost = totalData;\r\n }\r\n\r\n addDataWithIdQuotation(data: any) {\r\n\r\n this.resumenCalculatorList = data;\r\n }\r\n\r\n ChangeTotalMRC() {\r\n const d = this.dialog.open(CloudServerEditValuesComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Modificar MRC',\r\n value : this.cloudServerCalcInObj.Cost.MRC,\r\n Ok: (response) => {\r\n this.cloudServerCalcOutObj.Cost.MRC = response.value;\r\n this.cloudServerCalcOutObj.editMRC = true;\r\n this.onChanges(true);\r\n }\r\n }\r\n });\r\n\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n return;\r\n }\r\n });\r\n }\r\n\r\n createNewQuote() {\r\n const d = this.dialog.open(SaveBundleQuoteModalComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Guardar Cotización',\r\n CustomerName : this.BundleQuote.CustomerName\r\n }\r\n });\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.SaveQuoteObject(result);\r\n }\r\n });\r\n }\r\n\r\n updateBundleQuote() {\r\n if ( this.BundleQuote.ID !== this.idBundleQuote ) {\r\n this.BundleQuote.ParentID = this.idBundleQuote ;\r\n } else {\r\n this.BundleQuote.ParentID = null;\r\n }\r\n }\r\n\r\n\r\n SaveQuoteObject( value: any) {\r\n this.BundleQuote.Name = value.Name;\r\n this.BundleQuote.CustomerName = (typeof value.Customer === 'object') ? value.Customer.Name : value.Customer;\r\n this.BundleQuote.CustomerID = (typeof value.Customer === 'object') ? value.Customer.ID : null;\r\n this.BundleQuote.Description = value.Description;\r\n this.BundleQuote.ID = null;\r\n this.BundleQuote.CloudConfiguration = this.resumenCalculatorList;\r\n this.service.SaveBundleQuote(this.BundleQuote).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.snackbar.open('Cotización Guardada Correctamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Ocurrió un error por favor intentelo nuevamente', null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n viewQuotes() {\r\n if (this.totaldata().MRC > 0) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: '⚠ Advertencia',\r\n Message: 'Los cambios en la cotización que no hayan sido guardados se perderán, ¿Está seguro?',\r\n Ok: () => this.router.navigateByUrl('/home/(main:viewQuotes)')\r\n },\r\n disableClose: true\r\n });\r\n } else {\r\n this.router.navigateByUrl('/home/(main:viewQuotes)');\r\n }\r\n }\r\n\r\n getBundleQuoteByID(idBundleQuote: number) {\r\n this.loading = true;\r\n this.service.getBundleQuoteByID(idBundleQuote).subscribe((dataBundleQuote: BundleQuoteDTO) => {\r\n this.BundleQuote = dataBundleQuote;\r\n this.resumenCalculatorList = this.BundleQuote.CloudConfiguration;\r\n this.loading = false;\r\n },\r\n ( error: { error: string; }) => {\r\n this.snackbar.open('Error al cargar cotización, por favor intente nuevamente.', error.error, {\r\n duration: 3000\r\n });\r\n }\r\n );\r\n }\r\n\r\n typeServerChange() {\r\n if (this.cloudServerCalcOutObj.Uso === 'Database' || this.cloudServerCalcOutObj.Uso === 'SAP') {\r\n this.iopsRecursosList = this.iopsRecursosList.filter(x => parseInt(x.Name) == 5000 || parseInt(x.Name) === 8000 || parseInt(x.Name) === 10000 );\r\n this.cloudServerCalcOutObj.Iops = 5000;\r\n this.onChanges();\r\n} else {\r\n this.service.GetGenericListOptionsByListID('iopsRecursosCloudServer').subscribe(\r\n (response) => {\r\n this.iopsRecursosList = response;\r\n this.cloudServerCalcOutObj.Iops = 1000;\r\n this.onChanges();\r\n }\r\n );\r\n }\r\n}\r\n\r\noperativeSystem() {\r\n if (this.cloudServerCalcOutObj.OS === 'Windows Server') {\r\n this.cloudServerCalcOutObj.BaseDatos = 'N/A';\r\n this.service.GetGenericListOptionsByListID('bdLicenciamientoCloudServer')\r\n .subscribe(\r\n (response) => {\r\n this.bdList = response;\r\n }\r\n );\r\n\r\n } else {\r\n this.cloudServerCalcOutObj.BaseDatos = 'N/A';\r\n this.bdList = this.bdList.filter(x => x.ParentID === null );\r\n }\r\n}\r\n\r\n\r\n\r\nstorageChange() {\r\n if (this.cloudServerCalcOutObj.Gb > 4000 && this.sizeMessage) {\r\n this.sizeMessage = false;\r\n this.snackbar.open('Recuerda que una MV despues de 4Tb no tiene backup, debes agregar un servicio IFX CLOUD Backup', null, {\r\n duration: 5500,\r\n });\r\n }\r\n}\r\n\r\n\r\nmodalVDI() {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: '⚠ Advertencia',\r\n Message: 'Para ambientes de acceso remoto o VDI por favor contactar al equipo de producto.',\r\n Ok: () => console.log('ok')\r\n },\r\n disableClose: true\r\n });\r\n}\r\n\r\n\r\nmodalLicenceseDB(){\r\n\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: '⚠ Advertencia',\r\n Message: 'Configuración no valida, Limitación de capacidad del motor de DB.',\r\n Ok: () => console.log('ok')\r\n },\r\n disableClose: true\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Infraestructura\r\n
\r\n
\r\n
\r\n
\r\n
Tipo
\r\n
\r\n \r\n Uso\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Datacenter
\r\n
\r\n\r\n
\r\n
\r\n Principal\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Alterno\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Definir recursos de cómputo
\r\n
\r\n
\r\n \r\n Cores\r\n \r\n \r\n {{item.Name }}\r\n \r\n \r\n \r\n Ram\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n Internet\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
Almacenamiento
\r\n
\r\n
\r\n \r\n Gb\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n Iops\r\n \r\n \r\n {{ item.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
Total MRC
\r\n

{{currencyOptions.prefix}}{{ cloudServerCalcInObj.Cost.MRC | number : '1.2-2' }} {{currencyOptions.suffix}}

\r\n

N/A

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Licenciamientos y Continuidad\r\n
\r\n
\r\n
\r\n
\r\n
Definir Licenciamientos
\r\n
\r\n
\r\n \r\n OS\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n BaseDatos\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n \r\n Rdp\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Server Protection\r\n
\r\n
\r\n
\r\n No\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Si\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Definir Continuidad a nivel de infraestructura
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Replicación\r\n
\r\n
\r\n
\r\n No\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Si\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Agente\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total MRC
\r\n

{{currencyOptions.prefix}} {{ cloudServerCalcInObj.Cost.MRC | number : '1.2-2' }} {{currencyOptions.suffix}}

\r\n

N/A

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Resumen Servidor Actual\r\n \r\n Periodo de Contratacion\r\n \r\n \r\n {{item.Name }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Indicadores \r\n MRC Sugerido\r\n MRC Manual \r\n ROI\r\n {{ cloudServerCalcInObj.resumenIndicadores?.RoiPorContrato}}\r\n {{ cloudServerCalcInObj.resumenIndicadores?.RoiMrcIndicadores }}\r\n Margen\r\n {{ cloudServerCalcInObj.resumenIndicadores?.MargenPorContrato | percent:'1.1-1'}}\r\n Configuración invalida\r\n {{ cloudServerCalcInObj.resumenIndicadores?.MargenIndicadores | percent:'1.1-1'}} \r\n Configuración invalida\r\n\r\n Analisis Financiero\r\n Capex Real\r\n USD $ {{ cloudServerCalcInObj.resumenCapex.Total }}\r\n Opex real\r\n USD $ {{ cloudServerCalcInObj.resumenOpex.Total }}\r\n MRC Sugerido \r\n USD $ {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.MrcSugerido | number : '1.2-2' ) : 'N/A' }}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
Tipo
\r\n
\r\n \r\n CAPEX\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n \r\n OPEX\r\n \r\n \r\n {{ item.Name }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
MRC MANUAL : {{currencyOptions.prefix}} {{ cloudServerCalcInObj.Cost.MRC }} {{currencyOptions.suffix}} edit
\r\n
Error de licencia de base de datos.
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Resumen
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
CaracterísticaCapex DistribuidoPorcentaje de Distribucion
\r\n Total\r\n \r\n USD $ {{ cloudServerCalcInObj.resumenCapex.Total | number : '1.2-2'}}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeTotal | percent:'1.1-1'}}\r\n
Procesamiento \r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Procesamiento | number : '1.2-2'}}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeProcesamiento | percent:'1.1-1'}}\r\n
Ram\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Ram | number : '1.2-2' }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeRam | percent:'1.1-1'}}\r\n
Storage\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Storage | number : '1.2-2' }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeStorage | percent:'1.1-1'}}\r\n
Chasis\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Chasis }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeChasis | percent:'1.1-1'}}\r\n
Server Protection\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.ServerProtection | number : '1.2-2'}}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeServerProtection | percent:'1.1-1'}}\r\n
Watcher\r\n USD $ {{ cloudServerCalcInObj.resumenCapex?.Watcher }}\r\n \r\n {{ cloudServerCalcInObj.resumenCapex?.PorcentajeWatcher | percent:'1.1-1'}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
CaracterísticaOpex Distribuido Porcentaje de Distribucion
\r\n Total\r\n \r\n USD $ {{ cloudServerCalcInObj.resumenOpex.Total }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeTotal | percent:'1.1-1' }}\r\n
Licenciamiento VMware\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoVware }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoVware | percent:'1.1-1' }}\r\n
Licenciamiento RDP\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoRdp }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoRdp | percent:'1.1-1'}}\r\n
Licenciamiento Backup\r\n USD $ {{ cloudServerCalcInObj.resumenOpex.LicenciamientoBackup }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoBackup | percent:'1.1-1'}}\r\n
OPEX IP\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.OpexIp }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeOpexIp | percent:'1.1-1'}}\r\n
Licenciamiento Bases de Datos\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoBD }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoBD | percent:'1.1-1' }}\r\n
Licenciamiento Sistema Operativo\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.LicenciamientoSO }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeLicenciamientoSO | percent:'1.1-1' }}\r\n
Replicación\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.Replicacion }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeReplicacion | percent:'1.1-1' }}\r\n
Watcher\r\n USD $ {{ cloudServerCalcInObj.resumenOpex?.Watcher }}\r\n \r\n {{ cloudServerCalcInObj.resumenOpex?.PorcentajeWatcher | percent:'1.1-1' }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
Característica/VersiónMRC DistribuidoPorcentaje de Distribucion
\r\n Total\r\n \r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.MrcSugerido }}\r\n \r\n {{ cloudServerCalcInObj.resumenMrc?.PorcentajeMrcSugerido | percent:'1.1-1' }}\r\n
Cores Unidad \r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.CoresUnidad }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeCoresUnidad | percent:'1.1-1') : 'N/A'}}\r\n
Ram\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.MemoriaRam}}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeMemoriaRam | percent:'1.1-1') : 'N/A' }}\r\n
Storage\r\n USD $ {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.StorageTb) :''}}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeMemoriaRam | percent:'1.1-1') : 'N/A'}}\r\n
IOPS\r\n USD $ {{ cloudServerCalcInObj.resumenMrc.Iops }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc.PorcentajeIops | percent:'1.1-1') : 'N/A'}}\r\n
Base de Datos SQL Enterprise\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BDSqlEnterprice }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeBDSqlEnterprice | percent:'1.1-1') : 'N/A'}}\r\n
Base de Datos SQL Standard \r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BDSqlStandard }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeBDSqlStandard | percent:'1.1-1') : 'N/A'}}\r\n
Base de Datos SQL Web\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BDSqlWeb }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeBDSqlWeb | percent:'1.1-1'):'N/A'}}\r\n
Windows Standard X MV\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.WindowsStandard }}\r\n \r\n {{ cloudServerCalcInObj.resumenMrc?.PorcentajeWindowsStandard | percent:'1.1-1'}}\r\n
RDP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Rdp }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeRdp | percent:'1.1-1') : 'N/A'}}\r\n
Linux Suse Enterprise\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.PorcentajeLcSuseLinuxEnterprise }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLcSuseLinuxEnterprise | percent:'1.1-1') :'N/A'}}\r\n
Linux Suse Enterprise SAP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.LcSuseLinuxEnterpriseSap }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLcSuseLinuxEnterpriseSap | percent:'1.1-1') : 'N/A' }}\r\n
Linux Red Hat Enterprise\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.LcRedHatSapEnterprise }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLcRedHatSapEnterprise | percent:'1.1-1') :'N/A'}}\r\n
Linux Red Hat SAP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.PorcentajeLinuxRedHatSap }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeLinuxRedHatSap | percent:'1.1-1') :'N/A'}}\r\n
Doubletake\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Doubletake }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeDoubletake | percent:'1.1-1') :'N/A'}}\r\n
Zerto\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Zerto }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? ( cloudServerCalcInObj.resumenMrc?.PorcentajeZerto | percent:'1.1-1') :'N/A'}}\r\n
Backup\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.BackupServidor }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ?( cloudServerCalcInObj.resumenMrc?.PorcentajeBackupServidor | percent:'1.1-1'):'N/A'}}\r\n
Sophos\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Sophos }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ?( cloudServerCalcInObj.resumenMrc?.PorcentajeSophos | percent:'1.1-1') :'N/A'}}\r\n
Watcher\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Watcher }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ?(cloudServerCalcInObj.resumenMrc?.PorcentajeWatcher | percent:'1.1-1'): 'N/A'}}\r\n
IP\r\n USD $ {{ cloudServerCalcInObj.resumenMrc?.Ip }}\r\n \r\n {{ (cloudServerCalcInObj.configValidation) ? (cloudServerCalcInObj.resumenMrc?.PorcentajeIp | percent:'1.1-1') :'N/A' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total OPEX {{currencyOptions.suffix}}
\r\n

${{ totaldata().OPEX | number : '1.2-2' }}

\r\n
\r\n
\r\n
Total CAPEX {{currencyOptions.suffix}}
\r\n

${{ totaldata().CAPEX | number : '1.2-2' }}

\r\n
\r\n
\r\n
Total MRC
\r\n

{{currencyOptions.prefix}} {{ totaldata().MRC | number : '1.2-2' }} {{currencyOptions.suffix}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Analisís\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Recursos\r\n \r\n \r\n \r\n \r\n DC PRINCIPAL\r\n DC ALTERNO \r\n \r\n \r\n RECURSOS\r\n DB \r\n NO DB \r\n DB \r\n NO DB \r\n TOTAL DB \r\n TOTAL NO DB \r\n \r\n CORES\r\n \r\n \r\n {{TotalResources().principal.Cores | number}}\r\n \r\n \r\n {{TotalResources().principal.CoresDB | number}}\r\n \r\n \r\n {{TotalResources().alternate.Cores | number}}\r\n \r\n \r\n {{TotalResources().alternate.CoresDB | number}}\r\n \r\n \r\n {{TotalResources().principal.Cores + TotalResources().alternate.Cores | number }}\r\n \r\n \r\n {{TotalResources().principal.CoresDB + TotalResources().alternate.CoresDB | number }}\r\n \r\n \r\n RAM\r\n \r\n \r\n {{TotalResources().principal.RAM | number}}\r\n \r\n \r\n {{TotalResources().principal.RAMDB | number}}\r\n \r\n \r\n {{TotalResources().alternate.RAM | number}}\r\n \r\n \r\n {{TotalResources().alternate.RAMDB | number}}\r\n \r\n \r\n {{TotalResources().principal.RAM + TotalResources().alternate.RAM }}\r\n \r\n \r\n {{TotalResources().principal.RAMDB + TotalResources().alternate.RAMDB | number }}\r\n \r\n \r\n STORAGE\r\n \r\n \r\n {{TotalResources().principal.Storage | number}}\r\n \r\n \r\n {{TotalResources().principal.StorageDB | number}}\r\n \r\n \r\n {{TotalResources().alternate.Storage | number}}\r\n \r\n \r\n {{TotalResources().alternate.StorageDB | number}}\r\n \r\n \r\n {{TotalResources().principal.Storage + TotalResources().alternate.Storage | number }}\r\n \r\n \r\n {{TotalResources().principal.StorageDB + TotalResources().alternate.StorageDB | number }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Financieros\r\n \r\n \r\n \r\n \r\n CAPEX REAL {{currencyOptions.suffix}} \r\n CAPEX HUNDIDO {{currencyOptions.suffix}}\r\n OPEX REAL {{currencyOptions.suffix}}\r\n OPEX HUNDIDO {{currencyOptions.suffix}}\r\n MRC SUGERIDO {{currencyOptions.suffix}} \r\n \r\n DC PRINCIPAL\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.MRC | number : '1.2-2'}}\r\n \r\n \r\n DC ALTERNO\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost.CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost._CAPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost.OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost._OPEX | number : '1.2-2'}}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().alternate.Cost.MRC | number : '1.2-2'}}\r\n \r\n \r\n TOTALES\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.CAPEX + TotalResources().alternate.Cost.CAPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._CAPEX + TotalResources().alternate.Cost._CAPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.OPEX + TotalResources().alternate.Cost.OPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost._OPEX + TotalResources().alternate.Cost._OPEX | number : '1.2-2' }}\r\n \r\n \r\n {{currencyOptions.prefix}} {{TotalResources().principal.Cost.MRC + TotalResources().alternate.Cost.MRC | number : '1.2-2' }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Resumen de la cotización\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ resumenMRCItem.Name}} - MRC: USD\r\n ${{ resumenMRCItem.Cost.MRC}} Cores: {{resumenMRCItem.Cores}} -\r\n RAM: {{resumenMRCItem.Ram}} - GB : {{resumenMRCItem.Gb}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n

\r\n \r\n Cores Unidad: {{resumenMRCItem.Cores}}\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.CoresUnidad | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Memoria RAM: {{resumenMRCItem.Ram}}\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.MemoriaRam | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Storage: {{resumenMRCItem.Gb}}\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.StorageTb | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n IOPS:\r\n \r\n \r\n {{ resumenMRCItem.resumenMrc?.Iops }}\r\n \r\n

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

\r\n \r\n Base de Datos SQL Enterprise:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.BDSqlEnterprice | number : '1.2-2'}}\r\n \r\n

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

\r\n \r\n Base de Datos BDSqlWeb:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.BDSqlWeb | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Windows Standard:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.WindowsStandard | number : '1.2-2'}}\r\n \r\n

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

\r\n \r\n Sistema Operativo Linux Free:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcSuseLinuxEnterprise }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Suse Linux Enterprise:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcSuseLinuxEnterprise | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Suse Linux Enterprise SAP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcSuseLinuxEnterpriseSap | number : '1.2-2' }}\r\n \r\n

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

\r\n \r\n Sistema Operativo Red Hat Linux Enterprise SAP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LinuxRedHatSap }}\r\n \r\n

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

\r\n \r\n RDP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Rdp }}\r\n \r\n

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

\r\n \r\n Licenciamiento Linux:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.LcRedHatSapEnterprise }}\r\n \r\n

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

\r\n \r\n Agente:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Doubletake }}\r\n \r\n

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

\r\n \r\n Zerto:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Zerto }}\r\n \r\n

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

\r\n \r\n Backup:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.BackupServidor }}\r\n \r\n

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

\r\n \r\n Sophos:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Sophos }}\r\n \r\n

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

\r\n \r\n Watcher:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Watcher }}\r\n \r\n

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

\r\n \r\n IP:\r\n \r\n \r\n $ {{ resumenMRCItem.resumenMrc?.Ip }}\r\n \r\n

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

\r\n \r\n Total\r\n \r\n \r\n \r\n $ {{ cloudServerCalcInObj.Cost.MRC }}\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n shopping_cart\r\n

Tu lista de cloud server esta vacia

\r\n

Haz click en agregar cotizacion

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { BundleCost, Machine } from './machine-dto';\r\nexport interface IselectProperty {\r\n Name: string;\r\n ID: number;\r\n Value?: string;\r\n Identifier?: string;\r\n}\r\n\r\n\r\nexport class CloudServerCalculatorOut {\r\n public Uso: string;\r\n public Cores: number;\r\n public Ram: number;\r\n public Gb: number;\r\n public Iops: number;\r\n public Internet: number;\r\n public AutorizaPresidencia: string;\r\n public OS: string;\r\n public BaseDatos: string;\r\n public Rdp: number;\r\n public Sophos: string;\r\n public DcAlterno: string;\r\n public Agente: string;\r\n public PeriodoContrato: string;\r\n public OPEXType: string;\r\n public CAPEXType: string;\r\n public Cost: BundleCost;\r\n public editMRC: boolean;\r\n constructor() {\r\n this.Uso = 'General';\r\n this.Cores = 2;\r\n this.Ram = 2;\r\n this.Gb = 100;\r\n this.Iops = 1000;\r\n this.Internet = 5;\r\n this.AutorizaPresidencia = 'NO';\r\n this.OS = 'Windows Server';\r\n this.BaseDatos = 'N/A';\r\n this.Rdp = 0;\r\n this.Sophos = 'SI';\r\n this.DcAlterno = 'Principal';\r\n this.Agente = 'N/A';\r\n this.PeriodoContrato = '12';\r\n this.OPEXType = 'Real';\r\n this.CAPEXType = 'Real';\r\n this.Cost = new BundleCost();\r\n this.editMRC = false;\r\n }\r\n}\r\n\r\nexport class ResumenMRC {\r\n public CoresUnidad: number;\r\n public MemoriaRam: number;\r\n public StorageTb: number;\r\n public Iops: number;\r\n public BDSqlEnterprice: number;\r\n public BDSqlStandard: number;\r\n public BDSqlWeb: number;\r\n public WindowsStandard: number;\r\n public Rdp: number;\r\n public LcSuseLinuxEnterprise: number;\r\n public LcSuseLinuxEnterpriseSap: number;\r\n public LcRedHatSapEnterprise: number;\r\n public LinuxRedHatSap: number;\r\n public Doubletake: number;\r\n public Zerto: number;\r\n public BackupServidor: number;\r\n public Sophos: number;\r\n public Watcher: number;\r\n public Ip: number;\r\n public MrcSugerido: number;\r\n public MrcManual: number;\r\n public Total: number;\r\n public PorcentajeCoresUnidad: number;\r\n public PorcentajeMemoriaRam: number;\r\n public PorcentajeStorageTb: number;\r\n public PorcentajeIops: number;\r\n public PorcentajeBDSqlEnterprice: number;\r\n public PorcentajeBDSqlStandard: number;\r\n public PorcentajeBDSqlWeb: number;\r\n public PorcentajeWindowsStandard: number;\r\n public PorcentajeRdp: number;\r\n public PorcentajeLcSuseLinuxEnterprise: number;\r\n public PorcentajeLcSuseLinuxEnterpriseSap: number;\r\n public PorcentajeLcRedHatSapEnterprise: number;\r\n public PorcentajeLinuxRedHatSap: number;\r\n public PorcentajeDoubletake: number;\r\n public PorcentajeZerto: number;\r\n public PorcentajeBackupServidor: number;\r\n public PorcentajeSophos: number;\r\n public PorcentajeWatcher: number;\r\n public PorcentajeIp: number;\r\n public PorcentajeMrcSugerido: number;\r\n public PorcentajeTotal: number;\r\n constructor() {\r\n this.CoresUnidad = 0;\r\n this.MemoriaRam = 0;\r\n this.StorageTb = 0;\r\n this.Iops = 0;\r\n this.BDSqlEnterprice = 0;\r\n this.BDSqlStandard = 0;\r\n this.BDSqlWeb = 0;\r\n this.WindowsStandard = 0;\r\n this.Rdp = 0;\r\n this.LcSuseLinuxEnterprise = 0;\r\n this.LcSuseLinuxEnterpriseSap = 0;\r\n this.LcRedHatSapEnterprise = 0;\r\n this.LinuxRedHatSap = 0;\r\n this.Doubletake = 0;\r\n this.Zerto = 0;\r\n this.BackupServidor = 0;\r\n this.Sophos = 0;\r\n this.Watcher = 0;\r\n this.Ip = 0;\r\n this.MrcSugerido = 0;\r\n this.Total = 0;\r\n this.PorcentajeCoresUnidad = 0;\r\n this.PorcentajeMemoriaRam = 0;\r\n this.PorcentajeStorageTb = 0;\r\n this.PorcentajeIops = 0;\r\n this.PorcentajeBDSqlEnterprice = 0;\r\n this.PorcentajeBDSqlStandard = 0;\r\n this.PorcentajeBDSqlWeb = 0;\r\n this.PorcentajeWindowsStandard = 0;\r\n this.PorcentajeRdp = 0;\r\n this.PorcentajeLcSuseLinuxEnterprise = 0;\r\n this.PorcentajeLcSuseLinuxEnterpriseSap = 0;\r\n this.PorcentajeLcRedHatSapEnterprise = 0;\r\n this.PorcentajeLinuxRedHatSap = 0;\r\n this.PorcentajeDoubletake = 0;\r\n this.PorcentajeZerto = 0;\r\n this.PorcentajeBackupServidor = 0;\r\n this.PorcentajeSophos = 0;\r\n this.PorcentajeWatcher = 0;\r\n this.PorcentajeIp = 0;\r\n this.PorcentajeMrcSugerido = 0;\r\n this.PorcentajeTotal = 0;\r\n }\r\n}\r\n\r\nexport class ResumenCapex {\r\n public Procesamiento: number;\r\n public Ram: number;\r\n public Storage: number;\r\n public Chasis: number;\r\n public ServerProtection: number;\r\n public Watcher: number;\r\n public Total: number;\r\n public PorcentajeProcesamiento: number;\r\n public PorcentajeRam: number;\r\n public PorcentajeStorage: number;\r\n public PorcentajeChasis: number;\r\n public PorcentajeServerProtection: number;\r\n public PorcentajeWatcher: number;\r\n public PorcentajeTotal: number;\r\n constructor() {\r\n this.Procesamiento = 0;\r\n this.Ram = 0;\r\n this.Storage = 0;\r\n this.Chasis = 0;\r\n this.ServerProtection = 0;\r\n this.Watcher = 0;\r\n this.Total = 0;\r\n this.PorcentajeProcesamiento = 0;\r\n this.PorcentajeRam = 0;\r\n this.PorcentajeStorage = 0;\r\n this.PorcentajeChasis = 0;\r\n this.PorcentajeServerProtection = 0;\r\n this.PorcentajeWatcher = 0;\r\n this.PorcentajeTotal = 0;\r\n }\r\n}\r\n\r\nexport class ResumenOpex {\r\n public LicenciamientoVware: number;\r\n public LicenciamientoRdp: number;\r\n public LicenciamientoBackup: number;\r\n public OpexIp: number;\r\n public LicenciamientoBD: number;\r\n public LicenciamientoSO: number;\r\n public Replicacion: number;\r\n public Watcher: number;\r\n public Total: number;\r\n public PorcentajeLicenciamientoVware: number;\r\n public PorcentajeLicenciamientoRdp: number;\r\n public PorcentajeLicenciamientoBackup: number;\r\n public PorcentajeOpexIp: number;\r\n public PorcentajeLicenciamientoBD: number;\r\n public PorcentajeLicenciamientoSO: number;\r\n public PorcentajeReplicacion: number;\r\n public PorcentajeWatcher: number;\r\n public PorcentajeTotal: number;\r\n constructor() {\r\n this.LicenciamientoVware = 0;\r\n this.LicenciamientoRdp = 0;\r\n this.LicenciamientoBackup = 0;\r\n this.OpexIp = 0;\r\n this.LicenciamientoBD = 0;\r\n this.LicenciamientoSO = 0;\r\n this.Replicacion = 0;\r\n this.Watcher = 0;\r\n this.Total = 0;\r\n this.PorcentajeLicenciamientoVware = 0;\r\n this.PorcentajeLicenciamientoRdp = 0;\r\n this.PorcentajeLicenciamientoBackup = 0;\r\n this.PorcentajeOpexIp = 0;\r\n this.PorcentajeLicenciamientoBD = 0;\r\n this.PorcentajeLicenciamientoSO = 0;\r\n this.PorcentajeReplicacion = 0;\r\n this.PorcentajeWatcher = 0;\r\n this.PorcentajeTotal = 0;\r\n }\r\n}\r\n\r\nexport class ResumenIndicadores {\r\n public RoiPorContrato: number;\r\n public MargenPorContrato: number;\r\n public RoiMrcIndicadores: number;\r\n public MargenIndicadores: number;\r\n constructor() {\r\n this.RoiPorContrato = 0;\r\n this.MargenPorContrato = 0;\r\n this.RoiMrcIndicadores = 0;\r\n this.MargenIndicadores = 0;\r\n }\r\n}\r\n\r\nexport class CloudServerCalculatorIn {\r\n public Name: string;\r\n public Cores: number;\r\n public Ram: number;\r\n public Gb: number;\r\n public resumenMrc: ResumenMRC;\r\n public resumenCapex: ResumenCapex;\r\n public resumenOpex: ResumenOpex;\r\n public resumenIndicadores: ResumenIndicadores;\r\n public addResumen: boolean;\r\n public UUID: string;\r\n public Cost: BundleCost;\r\n public currency?: string;\r\n public objCloudServerOut: CloudServerCalculatorOut;\r\n public configValidation: boolean;\r\n constructor() {\r\n this.Name = '' ;\r\n this.resumenMrc = null;\r\n this.resumenCapex = null;\r\n this.resumenOpex = null;\r\n this.resumenIndicadores = null;\r\n this.Cost = new BundleCost();\r\n this.objCloudServerOut = new CloudServerCalculatorOut();\r\n this.currency = 'USD';\r\n this.configValidation = true;\r\n }\r\n}\r\n\r\nexport class GenericListOption {\r\n public ID: number;\r\n public Name: string;\r\n public Identifier: string;\r\n public Value: string;\r\n // public GenericListsID: number;\r\n // public NetSuiteID: string;\r\n public ParentID: number;\r\n // public Active: boolean;\r\n consturctor() {\r\n this.ID = 0;\r\n this.Name = '';\r\n this.Identifier = '';\r\n this.Value = '';\r\n // this.GenericListsID = 0;\r\n // this.NetSuiteID = '';\r\n this.ParentID = null;\r\n // this.Active = false\r\n }\r\n}\r\n\r\nexport class MachineLicense {\r\n public Identifier: string;\r\n public Quantity: number;\r\n public LicenseType: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Identifier = 'WINRDP';\r\n this.Quantity = 0;\r\n this.LicenseType = 0;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Ha {\r\n public availabilityType: number;\r\n public replicationServer: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.availabilityType = 0;\r\n this.replicationServer = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Hypervisor {\r\n public plataform: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.plataform = 1;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Cores {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class Ram {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class DataBase {\r\n public Db: number;\r\n public Name: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Name = '';\r\n }\r\n}\r\n\r\nexport class Networking {\r\n public localNetworkType: number;\r\n public Internet: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.localNetworkType = 0;\r\n this.Internet = 5;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class OperativeSystem {\r\n public Os: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Os = '';\r\n }\r\n}\r\n\r\nexport class ServerProtection {\r\n public Active: boolean;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Active = true;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class MachineService {\r\n public LicenseName: string;\r\n public LicenseType: string;\r\n public Quantity: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.LicenseName = '';\r\n this.LicenseType = '2';\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class MachineServerDTO {\r\n public ID: string;\r\n public Duration: number;\r\n public Cores: Cores;\r\n public Ram: Ram;\r\n public Hypervisor: Hypervisor;\r\n public Availability: Ha;\r\n public Network: Networking;\r\n public MachineStorage: [Storage];\r\n public OperativeSystem: OperativeSystem;\r\n public DataBase: any;\r\n public MachineName: string;\r\n public RemoteAccess: any;\r\n public PrivateIp: string;\r\n public MacAddress: string;\r\n public MachineLicenses: Array;\r\n public MachineServices: Array;\r\n public Monitoring: BundleCost;\r\n public ServerProtection: ServerProtection;\r\n public Cost: BundleCost;\r\n public Vcenter: string;\r\n public ServiceID: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Duration = null;\r\n this.Cores = new Cores();\r\n this.Ram = new Ram();\r\n this.Hypervisor = new Hypervisor();\r\n this.Availability = new Ha();\r\n this.Network = new Networking();\r\n this.MachineStorage = [new Storage()];\r\n this.OperativeSystem = new OperativeSystem();\r\n this.DataBase = new DataBase();\r\n this.MachineName = '';\r\n this.RemoteAccess = '';\r\n this.MacAddress = null;\r\n this.MachineLicenses = [new MachineLicense()];\r\n this.MachineServices = [new MachineService()];\r\n this.Monitoring = new BundleCost();\r\n this.ServerProtection = new ServerProtection();\r\n this.Cost = new BundleCost();\r\n this.Vcenter = null;\r\n this.ServiceID = null;\r\n }\r\n}\r\n\r\n\r\nexport class TotalDatacenterCost {\r\n principal: TotalResources;\r\n alternate: TotalResources;\r\n constructor() {\r\n this.principal = new TotalResources();\r\n this.alternate = new TotalResources();\r\n }\r\n\r\n}\r\n\r\n\r\nexport class TotalResources {\r\n dataCenterType: string;\r\n Cores: number;\r\n RAM: number;\r\n Storage: number;\r\n DB: number\r\n CoresDB: number;\r\n RAMDB: number;\r\n StorageDB: number;\r\n Cost: BundleCost;\r\n constructor() {\r\n this.dataCenterType = null;\r\n this.Cores = 0;\r\n this.RAM = 0;\r\n this.Storage = 0;\r\n this.DB = 0;\r\n this.CoresDB = 0;\r\n this.RAMDB = 0;\r\n this.StorageDB = 0;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\n\r\n\r\nexport class BundleDTO {\r\n ID: string;\r\n BundleMachine: Machine;\r\n BundleServices: Array;\r\n BundleLicenses: Array;\r\n BundleCost: any;\r\n constructor() {\r\n this.ID = '';\r\n this.BundleMachine = new Machine();\r\n this.BundleServices = null;\r\n this.BundleLicenses = null;\r\n this.BundleCost = {};\r\n }\r\n}\r\n\r\n\r\nexport class CloudserverEmailDTO{\r\n CloudConfiguration: Array;\r\n contructor() {\r\n this.CloudConfiguration = new Array();\r\n }\r\n}\r\n\r\n\r\nexport interface IcurrencyOptions {\r\n align: string;\r\n allowNegative: boolean;\r\n allowZero: boolean;\r\n decimal: string;\r\n precision: number;\r\n prefix: string;\r\n suffix: string;\r\n thousands: string;\r\n}\r\n\r\n\r\nexport class InternalRole {\r\n public ID: string;\r\n public Name: string;\r\n\r\n constructor() {\r\n this.ID = \"\";\r\n this.Name = \"\";\r\n }\r\n}\r\n\r\n\r\nexport class BundleQuoteDTO {\r\n ID: number;\r\n Name: string;\r\n ParentID: number;\r\n CustomerName: string;\r\n CustomerID: number;\r\n Description: string;\r\n CloudConfiguration: Array;\r\n Status: boolean;\r\n Date: Date;\r\n PlanDiscountCount: number;\r\n Viewers: Array;\r\n Owner: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.ParentID = null;\r\n this.Name = '';\r\n this.CustomerID = null;\r\n this.CustomerName = '';\r\n this.Description = '';\r\n this.CloudConfiguration = new Array();\r\n this.Status = true;\r\n this.Date = new Date();\r\n this.PlanDiscountCount = 0;\r\n this.Viewers = new Array();\r\n }\r\n}\r\n\r\nexport class BundleCloudQuoteDto {\r\n CloudConfiguration: Array;\r\n TotalBundleCost: BundleCost;\r\n constructor() {\r\n this.CloudConfiguration = new Array();\r\n this.TotalBundleCost = new BundleCost();\r\n };\r\n}\r\n\r\n\r\n\r\n\r\n","export class Machine {\r\n public ID: string;\r\n public Duration: number;\r\n public Cores: Cores;\r\n public Ram: Ram;\r\n public Hypervisor: Hypervisor;\r\n public Availability: Ha;\r\n public Network: Networking;\r\n public MachineStorage: [Storage];\r\n public OperativeSystem: OperativeSystem;\r\n public DataBase: any;\r\n public MachineName: string;\r\n public RemoteAccess: any;\r\n public PrivateIp: string;\r\n public PublicIp: string;\r\n public MacAddress: string;\r\n public MachineLicenses: any;\r\n public MachineServices: any;\r\n public Cost: BundleCost;\r\n public Vcenter: string;\r\n public ServiceID: string;\r\n public Configuration: any;\r\n public State?: string;\r\n public ServiceName?: string;\r\n constructor() {\r\n this.Configuration = null;\r\n this.ID = null;\r\n this.Duration = 0;\r\n this.Cores = new Cores();\r\n this.Ram = new Ram();\r\n this.Hypervisor = new Hypervisor();\r\n this.Availability = new Ha();\r\n this.Network = new Networking();\r\n this.MachineStorage = [new Storage()];\r\n this.OperativeSystem = new OperativeSystem();\r\n this.DataBase = new DataBase();\r\n this.MachineName = null;\r\n this.RemoteAccess = \"\";\r\n this.MacAddress = null;\r\n this.MachineLicenses = [];\r\n this.MachineServices = [];\r\n this.Cost = new BundleCost();\r\n this.Vcenter = null;\r\n this.ServiceID = null;\r\n this.ServiceName = null;\r\n this.State = null;\r\n }\r\n}\r\n\r\nclass DataBase {\r\n public Db: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Db = \"\";\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class BundleCost {\r\n public _CAPEX?: number;\r\n public _OPEX?: number;\r\n public CAPEX?: number;\r\n public OPEX?: number;\r\n public MRC?: number;\r\n public DiscountMRC?: number;\r\n constructor() {\r\n this._CAPEX = 0;\r\n this._OPEX = 0;\r\n this.CAPEX = 0;\r\n this.OPEX = 0;\r\n this.MRC = 0;\r\n this.DiscountMRC = 0;\r\n }\r\n}\r\n\r\n\r\nclass Networking {\r\n public localNetworkType: number;\r\n public Internet: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.localNetworkType = 0;\r\n this.Internet = 5;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Hypervisor {\r\n public plataform: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.plataform = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\n\r\nclass Ha {\r\n public availabilityType: number;\r\n public replicationServer: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.availabilityType = 0;\r\n this.replicationServer = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Cores{\r\n public Value:number;\r\n constructor(){\r\n this.Value=0;\r\n }\r\n}\r\n\r\nclass Ram{\r\n public Value:number;\r\n constructor(){\r\n this.Value=0;\r\n }\r\n}\r\n\r\nexport class Storage{\r\n public diskType : number;\r\n public size:number;\r\n public Backup:Backup;\r\n constructor(){\r\n this.diskType = 0;\r\n this.size = 0;\r\n this.Backup = new Backup();\r\n }\r\n}\r\n\r\nclass Backup{\r\n public month:number;\r\n constructor(){\r\n this.month = 0;\r\n }\r\n}\r\n\r\nclass OperativeSystem {\r\n public Os: string;\r\n constructor() {\r\n this.Os = '';\r\n }\r\n}\r\n\r\nexport class MachineOld {\r\n public ServiceID : number;\r\n public Cores : number;\r\n public Ram : number;\r\n public HardDisk : number;\r\n public Iops : number;\r\n public OperativeSystem : string;\r\n public VirtualNetworkID : number;\r\n public CloudID : number;\r\n\r\n constructor(){\r\n this.ServiceID = null;\r\n this.Cores = null;\r\n this.Ram = null;\r\n this.HardDisk = null;\r\n this.Iops = null;\r\n this.OperativeSystem = null;\r\n this.VirtualNetworkID = null;\r\n this.CloudID = null;\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomFormValidator } from '../../../../tools/CustomValidator';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-cloud-server-edit',\r\n templateUrl: './cloud-server-edit-values.component.html',\r\n styleUrls: ['./cloud-server-edit-values.component.css']\r\n})\r\nexport class CloudServerEditValuesComponent implements OnInit {\r\n resource: any = {};\r\n TotalValueForm: FormGroup;\r\n loading = false;\r\n constructor(private dialog : MatDialogRef ,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private auth: AuthService,\r\n private router: Router,\r\n private formBuilder: FormBuilder) {\r\n this.resource = data;\r\n this.TotalValueForm = this.formBuilder.group({\r\n value : [{value: '', disabled: false}, [Validators.required, CustomFormValidator.DecimalNumberValidator]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.auth.isAuthenticated()) {\r\n this.router.navigate(['']);\r\n return false;\r\n }\r\n }\r\n\r\n savePrice() : void{\r\n if(this.TotalValueForm.valid){\r\n this.okClick();\r\n }\r\n }\r\n\r\n okClick(){\r\n this.dialog.close();\r\n this.data.Ok(this.data);\r\n }\r\n cancelClick(){\r\n this.dialog.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo requerido *
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, Inject, Output, AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\nimport { Validators, FormGroup, FormBuilder} from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { UserQuoteDTO } from '../../../../models/dtos.component';\r\n\r\n@Component({\r\n selector: 'app-calc-confirm',\r\n templateUrl: './saveBundleQuoteModal.component.html',\r\n styleUrls: [ '../../../../tools/modals/modals.scss', './saveBundleQuoteModal.component.scss']\r\n })\r\n\r\nexport class SaveBundleQuoteModalComponent implements OnInit, AfterViewInit {\r\n loading = false;\r\n SaveQuoteForm : FormGroup;\r\n public selectedCustomer : object;\r\n filteredCustomer: Observable;\r\n customerName = '';\r\n public users: any = [];\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: any,\r\n private service: WlService,\r\n public snackbar: MatSnackBar,\r\n public auth: AuthService,\r\n private formBuilder : FormBuilder,\r\n private changeDetector: ChangeDetectorRef\r\n\r\n ){\r\n this.customerName = data.customerName;\r\n this.SaveQuoteForm = this.formBuilder.group({\r\n Customer : [{ value: '', disabled: false }, [Validators.required]],\r\n Description: [],\r\n Name : [{ value: '', disabled: false }, [Validators.required]]\r\n });\r\n }\r\n\r\n onNoClick() : void {\r\n this.dialogRef.close();\r\n }\r\n ngOnInit() {\r\n this.GetCustomer();\r\n }\r\n\r\n\r\n closeDialog() : void{\r\n this.dialogRef.close();\r\n }\r\n\r\n cancelClick() {\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n }\r\n\r\n okClick() : void{\r\n this.dialogRef.close();\r\n this.data.Ok(this.data);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.filteredCustomer = this.SaveQuoteForm.valueChanges.pipe(startWith(''),map(s => s ? this._filteredCustomers(s) : this.users.slice()))\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n GetCustomer() {\r\n this.users = [];\r\n this.selectedCustomer = null;\r\n this.service.GetUserAccounts()\r\n .subscribe((response:any) => {\r\n this.users = response.filter(s => s.CustomerID != null);\r\n }, error => {\r\n });\r\n }\r\n\r\n GetCustomerData(customer?: UserQuoteDTO) {\r\n return customer ? customer.Name : undefined;\r\n }\r\n\r\n private _filteredCustomers(value:any) :UserQuoteDTO[]{\r\n if(typeof value.Customer !== \"string\")\r\n return;\r\n const filterValue = value.Customer.toLowerCase();\r\n return this.users.filter(s => s.Name.toLowerCase().indexOf(filterValue) != -1 || s.Email.toLowerCase().indexOf(filterValue) != -1);\r\n }\r\n\r\n SaveBundleQuote() {\r\n let quoteDate = {\r\n Customer : this.GetSelectedCustomer(),\r\n Name : this.SaveQuoteForm.value.Name,\r\n Description : this.SaveQuoteForm.value.Description\r\n };\r\n this.dialogRef.close(quoteDate);\r\n }\r\n\r\n GetSelectedCustomer() : any {\r\n if (this.SaveQuoteForm.valid){\r\n return this.SaveQuoteForm.value.Customer;\r\n }\r\n else{\r\n this.snackbar.open('Cliente Invalido ', null, {\r\n duration: 2000,\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{customer.Name | titlecase}} |\r\n Email: {{customer.Email}}\r\n
\r\n
\r\n
\r\n done\r\n error\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-server-protection',\r\n templateUrl: './server-protection.component.html',\r\n styleUrls: ['./server-protection.component.scss']\r\n})\r\nexport class ServerProtectionComponent {\r\n loading:boolean = false;\r\n optionSelected : string;\r\n options: string[] = ['Cliente tiene solución AV', 'Cliente acepta riesgo infección', 'Solución solicitada no disponible'];\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {}\r\n okClick(){\r\n if(this.optionSelected!=null){\r\n this.data.Ok()\r\n this.dialogRef.close();\r\n ;\r\n }\r\n\r\n }\r\n cancelClick(){\r\n this.data.Cancel();\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{option}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import {Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { BundleQuoteDTO } from '../dto/cloud-server-dto';\r\n\r\nclass Item {\r\n isActive: boolean;\r\n name: string;\r\n icon: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-view-quotes',\r\n templateUrl: './view-quotes.component.html',\r\n styleUrls: ['./view-quotes.component.scss']\r\n})\r\n\r\n/**\r\n * @title Table with QuoteList\r\n */\r\n\r\nexport class ViewQuotesComponent implements OnInit {\r\n public items: Array = [];\r\n displayedColumns: string[] = ['Cod', 'BusinessOpportunityID','Owner', 'Name', 'Client', 'Date', 'Description', 'Acciones'];\r\n dataSource = new MatTableDataSource();\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n dataSendMail: object = {};\r\n loading = false;\r\n public Quotes = new Array();\r\n constructor(private service: WlService,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar,\r\n private router: Router,\r\n private dialog: MatDialog) {}\r\n\r\n ngOnInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.GetQuotesByUser();\r\n this.dataSource.sort = this.sort;\r\n this.items = [\r\n {\r\n icon : 'folder',\r\n name: 'Mis cotizaciones',\r\n isActive : true,\r\n },\r\n\r\n {\r\n icon : 'people_outline',\r\n name: 'Compartidas Conmigo',\r\n isActive : false,\r\n }\r\n ]\r\n }\r\n\r\n caculatorRoute() {\r\n this.router.navigateByUrl('/home/(main:calculator)', { skipLocationChange: true });\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n GetQuotesByUser() {\r\n this.loading = true;\r\n this.service.GetBundleQuotesByUser(0).subscribe(\r\n response => {\r\n this.Quotes = response;\r\n this.dataSource.data = response;\r\n this.loading = false;\r\n this.toggleItem(this.items[0]);\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error consultando servicio' + error.error, null, {\r\n duration: 3000\r\n });\r\n\r\n }\r\n )\r\n }\r\n\r\n EditQuote(idBundleQuote: number ) {\r\n this.router.navigate(['home', { outlets: { main: [ 'calculator', idBundleQuote ] }}]);\r\n }\r\n\r\n public toggleItem(data: Item) {\r\n this.filteredData(data.name);\r\n const items = this.items.filter(item => item.isActive === true);\r\n items.forEach(element => {\r\n element.isActive = false;\r\n });\r\n data.isActive = true;\r\n\r\n }\r\n\r\n\r\n public filteredData(name: string) {\r\n let data = [];\r\n data = this.Quotes.filter(item => item.Owner);\r\n if (name === 'Mis cotizaciones') {\r\n data = this.Quotes.filter(item => item.Owner);\r\n } else if (name === 'Compartidas Conmigo') {\r\n data = this.Quotes.filter(item => !item.Owner);\r\n }\r\n this.dataSource.data = data;\r\n }\r\n\r\n\r\n SendQuoteObject(value: any, item: BundleQuoteDTO ) {\r\n\r\n const dataSendMail = {\r\n Configuration: item,\r\n Email: value.email,\r\n Name: value.name,\r\n Detail : value.detail\r\n }\r\n\r\n this.service.SendBundleQuote(dataSendMail)\r\n .subscribe( response => {\r\n if (response) {\r\n this.snackbar.open('Cotización Enviada Correctamente', null, {\r\n duration: 2000,\r\n });\r\n } else {\r\n this.snackbar.open('Ocurrió un error enviando la Cotización por favor intentelo nuevamente', null, {\r\n duration: 2000,\r\n });\r\n }\r\n },\r\n error => {\r\n this.snackbar.open('Ocurrió un error enviando la Cotización por favor intentelo nuevamente' + error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n DeleteQuote(index: number) {\r\n this.service.DeleteBundleQuoteByID(this.Quotes[index].ID)\r\n .subscribe(\r\n response => {\r\n this.Quotes.splice(index, 1);\r\n this.snackbar.open('Cotización eliminada correctamente' , null, {\r\n duration: 3000\r\n });\r\n this.GetQuotesByUser();\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Cotización' , null, {\r\n duration: 3000\r\n });\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n {{'MYQUOTES.MY_QUOTES'|translate}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{item.icon}} \r\n \r\n {{item.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 {{'MYQUOTES.CODE'|translate}} \r\n {{element.ID}} \r\n \r\n\r\n \r\n ID Oportunidad \r\n {{element.BusinessOpportunityID}} \r\n \r\n\r\n \r\n {{'MYQUOTES.QUOTED_FOR'|translate}} \r\n {{element.OwnerName}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.TITLE'|translate}} \r\n {{element.Name}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.DESCRIPTION'|translate}} \r\n {{element.Description}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.CLIENT'|translate}} \r\n {{element.CustomerName}} \r\n \r\n\r\n \r\n \r\n {{'MYQUOTES.DATE'|translate}} \r\n {{element.Date | date: 'medium' }} \r\n \r\n\r\n \r\n \r\n \r\n apps \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { productFamily } from './productFamily';\r\nimport { CredentialDTO } from '../../models/credential';\r\nimport { MatHorizontalStepper } from '@angular/material/stepper';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { WlService } from 'src/app/services/wlservice.service';\r\nimport { AuthService } from 'src/app/services/auth/auth.service';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-credentials',\r\n templateUrl: './credentials.component.html',\r\n styleUrls: ['./credentials.component.scss']\r\n})\r\nexport class CredentialsComponent implements OnInit {\r\n public credentialForm: FormGroup;\r\n public credential: CredentialDTO;\r\n public products = productFamily;\r\n public passwordVisible: boolean;\r\n public isLoading: boolean;\r\n @ViewChild('stepper') stepper: MatHorizontalStepper;\r\n constructor(private snackbar: MatSnackBar,\r\n private service: WlService,\r\n private auth: AuthService,\r\n public router: Router,\r\n public _fbuilder: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (!this.auth.isAuthenticated()) {\r\n this.router.navigate(['']);\r\n return false;\r\n }\r\n this.passwordVisible = false;\r\n this.credential = new CredentialDTO();\r\n this.isLoading = false;\r\n this.credentialForm = this._fbuilder.group({\r\n 'usermail': ['', [Validators.email, Validators.required]],\r\n 'product': ['', [Validators.required]],\r\n 'password': ['', [Validators.required]],\r\n });\r\n }\r\n SendCredential() {\r\n this.isLoading = true;\r\n this.service.GenerateCredential(this.credential).subscribe(response => {\r\n this.isLoading = false;\r\n this.credential = response;\r\n this.stepper.next();\r\n this.ShowSnackbar(\"Credencial generada satisfactoriamente\");\r\n }, error => {\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n ShowSnackbar(message: string) {\r\n this.snackbar.open(message, null, {\r\n duration: 3000\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'CREDENTIALS.CREDENTIALS_GENERATION' | translate }}\r\n

\r\n {{'CREDENTIALS.IFX_NETWORKS' | translate}}\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n {{p.Name}}\r\n \r\n \r\n \r\n {{'CREDENTIALS.REQUIRED_FIELD' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{'CREDENTIALS.REQUIRED_FIELD' | translate}}\r\n \r\n \r\n {{'CREDENTIALS.ENTER_A_VALID_EMAIL_ADDRESS' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{'CREDENTIALS.REQUIRED_FIELD' | translate}}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{'CREDENTIALS.CONFIRMATION' | 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","export const productFamily = [\r\n { ID : \"IFX_CLOUD_SERVER\" , Name : \"CLOUD Server Credentials\"},\r\n { ID : \"OTHER\" , Name : \"Otro\"}\r\n];","import { GraphDto } from './../DTO/dtos';\r\nimport { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DataCenterComponent } from '../dataCenter.component';\r\nimport { WlService } from 'src/app/services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n\r\nconst graph: GraphDto = {\r\n CPU: [\r\n {\r\n name: 'Usada',\r\n value: 24.0\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0.0\r\n }\r\n ],\r\n RAM: [\r\n {\r\n name: 'Usada',\r\n value: 168.0\r\n },\r\n {\r\n name: 'Libre',\r\n value: 40.0\r\n }\r\n ],\r\n HD: [\r\n {\r\n name: 'Usada',\r\n value: 3826.00\r\n },\r\n {\r\n name: 'Libre',\r\n value: -26.00\r\n }\r\n ]\r\n}\r\n\r\n@Component({\r\n selector: 'app-childrenUsers',\r\n templateUrl: './childrenUsers.component.html',\r\n styleUrls: ['./childrenUsers.component.scss']\r\n})\r\nexport class ChildrenUsersComponent implements OnInit {\r\n @ViewChild(DataCenterComponent) dataCenterComponent: DataCenterComponent;\r\n public resourcePoolChart: any = {\r\n colorScheme: {\r\n domain: ['#e83e8c', '#6c757d', '#FD443A', '#AAAAAA']\r\n },\r\n customColors: [\r\n {\r\n name: 'Success',\r\n value: '#e83e8c'\r\n },\r\n {\r\n name: 'Failed',\r\n value: '#6c757d'\r\n },\r\n {\r\n name: 'Error',\r\n value: '#FD443A'\r\n },\r\n {\r\n name: 'Warning',\r\n value: '#FF992C'\r\n },\r\n ],\r\n data: [],\r\n showXAxis: false,\r\n showYAxis: false,\r\n gradient: false,\r\n showLegend: true,\r\n showXAxisLabel: false,\r\n showYAxisLabel: true,\r\n autoScale: true,\r\n view: [450, 200]\r\n };\r\n\r\n\r\n public selectedCustomer: any;\r\n public displayedColumns = [\r\n 'HV', 'SQL', 'Estado',\r\n 'SID', 'SistemaOperativo', 'RAM',\r\n 'Cores', 'HDD', 'Options'];\r\n public indexcloud: number;\r\n public clouds: any = [];\r\n public resourcesPool: any = [];\r\n public customerId: string;\r\n public services: any = [];\r\n public isLoading = false;\r\n public machines: any = [];\r\n public machinesResources: any = [];\r\n public allMachinesCloud: any[] = [];\r\n constructor(\r\n private service: WlService,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar\r\n ) {\r\n this.route.params.subscribe(params => {\r\n this.customerId = params.id;\r\n this.getUser(this.customerId);\r\n this.getCustomerCloud();\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getResourcePoolChart();\r\n }\r\n\r\n validShowPool() {\r\n return this.services.some((vm) => vm.category === \"RP\")\r\n }\r\n\r\n getResourcePoolChart() {\r\n\r\n this.resourcePoolChart.data = {\r\n CPU: [{\r\n name: 'Usada',\r\n value: 0,\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0,\r\n }\r\n ],\r\n RAM: [{\r\n name: 'Usada',\r\n value: 0,\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0,\r\n }],\r\n HD: [{\r\n name: 'Usada',\r\n value: 0,\r\n },\r\n {\r\n name: 'Libre',\r\n value: 0,\r\n }]\r\n };\r\n }\r\n\r\n getUser(customerId) {\r\n this.service.GetUserInformation(customerId).subscribe((customer) => {\r\n this.selectedCustomer = customer;\r\n });\r\n }\r\n\r\n SelectedGraphPoolMethod($event) {\r\n if ($event.serviceID !== 'CS' || $event.serviceID !== null || $event.customerID !== null) {\r\n this.service.GetGraphPool($event.customerID, $event.serviceID).subscribe(\r\n response => {\r\n this.resourcePoolChart.data = response; // Metodo para borrar Equipo\r\n }, () => {\r\n this.resourcePoolChart.data = graph;\r\n });\r\n }\r\n }\r\n\r\n getCustomerCloud() {\r\n this.machines = [];\r\n this.machinesResources = []\r\n this.isLoading = true;\r\n this.service.GetCustomerCloud(this.customerId).subscribe(\r\n (response) => {\r\n this.clouds = response;\r\n this.resourcesPool = response;\r\n this.service.GetCustomerMachines(this.customerId).subscribe(\r\n (machines) => {\r\n this.services = machines;\r\n this.services.forEach(element => {\r\n switch (element.category) {\r\n case 'CS':\r\n this.machines = element.machinesList;\r\n break;\r\n case 'RP':\r\n this.machinesResources = element.machinesList;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n for (let i = 0; i < this.clouds.length; i++) {\r\n this.clouds[i].machines = this.getFilteredMachines(this.clouds[i]);\r\n console.log('Despues del filtro las CS', this.clouds)\r\n this.clouds[i].machinesResources = this.GetMachinesPool(this.clouds[i]);\r\n\r\n }\r\n this.onCloudChanged({ index: this.indexcloud });\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n console.error(error);\r\n }\r\n );\r\n },\r\n error => {\r\n this.isLoading = false;\r\n console.error(error);\r\n }\r\n );\r\n this.isLoading = false;\r\n }\r\n\r\n openNetworkSettings(datacenterID: string) {\r\n this.dataCenterComponent.OpenNetworkSettings(datacenterID);\r\n }\r\n\r\n onSelect(event) {\r\n }\r\n\r\n onCloudChanged(data) {\r\n this.indexcloud = data.index;\r\n this.allMachinesCloud = this.clouds[this.indexcloud] && this.clouds[this.indexcloud].machines ?\r\n this.clouds[this.indexcloud].machines : [];\r\n }\r\n\r\n getFilteredMachines(cloud) {\r\n var _tmp = this.machines.filter(s => s.VcenterID === cloud.DataCenterID);\r\n return _tmp;\r\n }\r\n\r\n getFilteredReorucesPool(cloud) {\r\n var _tmp = this.machinesResources.filter(s => s.VcenterID === cloud.DataCenterID);\r\n\r\n return _tmp;\r\n }\r\n\r\n getMachineImage(machine: any) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf('WIN') !== -1) {\r\n return '/assets/img/windows.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('DEBIAN') !== -1) {\r\n return '/assets/img/debianLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('CENTOS') !== -1) {\r\n return '/assets/img/centosLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('UBUNTU') !== -1) {\r\n return '/assets/img/ubuntuLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('SUSE') !== -1) {\r\n return '/assets/img/suseLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('REDHAT') !== -1) {\r\n return '/assets/img/redhatLogoBg.png';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('Other') !== -1) {\r\n return '/assets/img/noOS-en.png';\r\n } else {\r\n return '../assets/img/linuxM.png';\r\n }\r\n }\r\n\r\n GetAlias(machine: any) {\r\n if (machine.ServiceID == null) {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n } else if (machine.ServiceName != null) {\r\n return this.ReplaceName(machine.ServiceName);\r\n } else {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n }\r\n }\r\n\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, ' ');\r\n let capitalizeName = '';\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += ' ';\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n\r\n GetMachinesPool(cloud) {\r\n const pools = {};\r\n const machines = this.machinesResources.filter(s => s.VcenterID === cloud.DataCenterID);\r\n machines.map((element) => {\r\n const sid = element.ServiceID.split('_')[0];\r\n if (!pools[sid]) {\r\n pools[sid] = machines.filter(s => s.ServiceID.includes(sid));\r\n }\r\n });\r\n return pools;\r\n }\r\n\r\n}\r\n","
\r\n No se encontró el cliente, por favor valida nuevamente\r\n
\r\n\r\n \r\n \r\n {{selectedCustomer ? selectedCustomer.Name : \"\"}}\r\n \r\n \r\n \r\n
\r\n \r\n Obteniendo información del cliente\r\n
\r\n
\r\n El cliente no cuenta con nubes creadas.\r\n
\r\n\r\n\r\n \r\n \r\n Cloud Server\r\n \r\n \r\n \r\n \r\n {{cloud.DataCenterName}} ({{cloud.machines.length}})\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Pool de recursos\r\n \r\n \r\n \r\n \r\n {{cloud.DataCenterName}} \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { LogsService } from \"src/app/services/logs/logs-services.service\";\r\nimport {\r\n Component,\r\n ViewChild,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { WlService } from \"../../services/wlservice.service\";\r\nimport {\r\n ServiceDTO,\r\n CustomerMachinesService,\r\n} from \"../../models/dtos.component\";\r\nimport { MatSidenav } from \"@angular/material/sidenav\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { Constants } from \"../../models/constants.component\";\r\nimport { BroadcastEmitter } from \"../../services/BroadcastEmitter\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { Globalization } from \"../../globalization/globalization\";\r\nimport { AuthService } from \"../../services/auth/auth.service\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { GraphDto } from \"./DTO/dtos\";\r\nimport { ThemePalette } from \"@angular/material/core\";\r\nimport { ProgressBarMode } from \"@angular/material/progress-bar\";\r\nimport { machineOperations } from \"./machineOperations/machineOperations.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ConfirmationDialog } from \"../../tools/modals/confirmation/modal.component\";\r\nimport { subscribeOn } from \"rxjs/operators\";\r\nimport { PfenseRequestDto } from \"./pf-sense-network-settings/DTO/pfsenseRequest-dto\";\r\n\r\n@Component({\r\n // tslint:disable-next-line: component-selector\r\n selector: \"app-DataCenter\",\r\n templateUrl: \"./dataCenter.component.html\",\r\n styleUrls: [\"./dataCenter.component.scss\"],\r\n})\r\nexport class DataCenterComponent implements OnChanges {\r\n color: ThemePalette = \"primary\";\r\n color2: ThemePalette = \"warn\";\r\n mode: ProgressBarMode = \"determinate\";\r\n bufferValue = 100;\r\n\r\n public fecha: Date = null;\r\n public loading = false;\r\n public selectedMachine: ServiceDTO = new ServiceDTO();\r\n public constants: Constants = new Constants();\r\n public globalization: any = Globalization;\r\n public userInformation: any;\r\n public selectedPool: any = null;\r\n public customerInfo: any = null;\r\n public PfenseRequest: PfenseRequestDto = new PfenseRequestDto();\r\n public displayedColumns = [\r\n \"Estado\",\r\n \"SID\",\r\n \"SistemaOperativo\",\r\n \"RAM\",\r\n \"Cores\",\r\n \"HDD\",\r\n \"Options\",\r\n ];\r\n public dataSource = new MatTableDataSource();\r\n public inPool: boolean = false;\r\n public poolChardKeys = {};\r\n public chartData: boolean = true;\r\n\r\n @Output() SelectedGraphPool = new EventEmitter();\r\n @Input(\"machinesChildren\") machinesChild: Array = [];\r\n @Input() machines: Array = [];\r\n @Input(\"customerInfo\") selectedCustomer: any;\r\n @Input() dataCenterID: string;\r\n @ViewChild(\"sidenav\") sidenav: MatSidenav;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n public machinesResourcePool: any;\r\n public barChart: any = {\r\n colorScheme: {\r\n domain: [\"#FD443A\", \"#3AB05A\"],\r\n },\r\n data: [],\r\n showXAxis: true,\r\n showYAxis: true,\r\n gradient: false,\r\n showLegend: true,\r\n showXAxisLabel: true,\r\n showYAxisLabel: true,\r\n yAxisLabel: \"RAM\",\r\n xAxisLabel: \"Status\",\r\n autoScale: true,\r\n };\r\n public modal: MatDialog;\r\n MachineOperations: machineOperations = new machineOperations(\r\n this.service,\r\n this.router,\r\n this.snackbar,\r\n this.modal,\r\n this.auth,\r\n this.logsServices\r\n );\r\n constructor(\r\n private service: WlService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar,\r\n public navbarBroadcast: BroadcastEmitter,\r\n private dialog: MatDialog,\r\n public auth: AuthService,\r\n private logsServices: LogsService\r\n ) {\r\n this.route.params.subscribe((params) => {\r\n if (params.id && params.children !== \"true\") {\r\n this.machines = [];\r\n this.dataCenterID = params.id;\r\n this.RefreshDatacenter();\r\n }\r\n });\r\n this.fecha = new Date();\r\n }\r\n\r\n buildVmsParent() {\r\n if (!this.selectedCustomer) {\r\n this.service.GetUserInformation().subscribe(\r\n (response: any) => {\r\n this.customerInfo = response;\r\n this.buildPool();\r\n },\r\n (error) => {\r\n console.log(\"Error obteniendo al usuario => \", error);\r\n }\r\n );\r\n } else {\r\n this.customerInfo = this.selectedCustomer;\r\n this.buildPool();\r\n }\r\n }\r\n\r\n buildPool() {\r\n this.loading = true;\r\n this.machinesResourcePool = this.machines.filter(\r\n (f) => f.category === \"RP\"\r\n );\r\n if (this.machinesResourcePool.length > 0) {\r\n this.inPool = true;\r\n this.machinesChild = [];\r\n }\r\n\r\n this.getFilteredReorucesPool(this.machinesResourcePool[0]);\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n\r\n this.service\r\n .GetNetworkType(this.dataCenterID)\r\n .subscribe((response: any) => {\r\n if (response == 3) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 0) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 2) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.machines && changes.machines.currentValue.length > 0) {\r\n this.buildVmsParent();\r\n }\r\n }\r\n\r\n getMachineImage(machine: ServiceDTO) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf(\"WIN\") !== -1) {\r\n return \"/assets/img/windows.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"DEBIAN\") !== -1\r\n ) {\r\n return \"/assets/img/debianLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"CENTOS\") !== -1\r\n ) {\r\n return \"/assets/img/centosLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"UBUNTU\") !== -1\r\n ) {\r\n return \"/assets/img/ubuntuLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"SUSE\") !== -1\r\n ) {\r\n return \"/assets/img/suseLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"REDHAT\") !== -1\r\n ) {\r\n return \"/assets/img/redhatLogoBg.png\";\r\n } else if (\r\n machine.Configuration.OperativeSystem.Os.indexOf(\"Other\") !== -1\r\n ) {\r\n return \"/assets/img/noOS-en.png\";\r\n } else {\r\n return \"../assets/img/linuxM.png\";\r\n }\r\n }\r\n\r\n ShowSnackbar() {\r\n this.snackbar.open(\"Escoja su opción\", null, {\r\n duration: 2000,\r\n });\r\n }\r\n\r\n ShowMachineConsole(machine) {\r\n this.snackbar.open(\"Generando acceso remoto, por favor espere.\", null, {\r\n duration: 3000,\r\n });\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.service.GetMachineToken(machine.ID).subscribe(\r\n (response: any) => {\r\n if (response == null) {\r\n this.snackbar.open(\r\n \"Error generando token, Intente nuevamente o contacte a soporte técnico.\",\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Consola VM\",\r\n false,\r\n \"No fue posible mostrar la consola de la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Consola VM\",\r\n true,\r\n \"Mostrar consola de la VM fue exitoso\",\r\n machine.ServiceID\r\n );\r\n\r\n if (response && response.Type) {\r\n switch (response.Type) {\r\n case \"HYPERV\":\r\n const link = document.createElement(\"a\");\r\n link.download = \"a\";\r\n link.href = environment.serviceUrl + \"tmp/\" + response.Data;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n break;\r\n case \"VMWARE\":\r\n window.open(environment.console + response.Data, \"_blank\");\r\n break;\r\n case \"ORACLEVM\":\r\n // Ajuste para permitir la conexión a traves de OracleVM\r\n let url = \"\";\r\n if (response.Data.id.uri.includes(\"oraclevmmanagercl\")) {\r\n url = environment.OVMConsoleCl + response.Data.consoleURI;\r\n } else {\r\n url = environment.OVMConsole + response.Data.consoleURI;\r\n }\r\n window.open(url + response.Data.consoleURI, \"_blank\");\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n machine.State = currentState;\r\n },\r\n (error) => {\r\n machine.State = currentState;\r\n this.snackbar.open(\"Error generando token, \" + error.error, null, {\r\n duration: 2000,\r\n });\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Consola VM\",\r\n false,\r\n \"No fue posible mostrar la consola de la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n }\r\n\r\n validShow(machine: any) {\r\n return (\r\n (machine.category !== \"CP\" &&\r\n !(\r\n this.machines.some((vm) => vm.category === \"RP\") &&\r\n machine.category === \"CS\"\r\n )) ||\r\n (machine.category === \"CS\" && this.machinesChild.length === 0)\r\n );\r\n }\r\n\r\n ShowMachineActions(machine) {\r\n this.selectedMachine = machine;\r\n this.sidenav.open();\r\n }\r\n\r\n RefreshDatacenter() {\r\n this.service.GetUserInformation().subscribe(\r\n (response: any) => {\r\n this.customerInfo = response;\r\n this.inPool = false;\r\n this.loading = true;\r\n this.service.GetDataCenterMachines(this.dataCenterID).subscribe(\r\n (response: any) => {\r\n this.loading = false;\r\n this.machines = response;\r\n\r\n this.machinesResourcePool = this.machines.filter(\r\n (f) => f.category === \"RP\"\r\n );\r\n if (this.machinesResourcePool.length > 0) {\r\n this.inPool = true;\r\n this.machinesChild = [];\r\n }\r\n console.log(\"Respuesta del POOL\", this.machinesResourcePool);\r\n this.getFilteredReorucesPool(this.machinesResourcePool[0]);\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n /** */\r\n this.service.GetNetworkType(this.dataCenterID).subscribe(\r\n (response: any) => {\r\n console.log(\"response\", response);\r\n if (response == 3) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGEPF_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 0) {\r\n console.log(\"llega aqui\");\r\n\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else if (response === 2) {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenNetworkSettings();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n } else {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n {\r\n icon: \"public\",\r\n name: \"DATACENTER.MANAGE_NETWORKS\",\r\n action: () => {\r\n this.OpenPfsenseNetworkSettings();\r\n },\r\n },\r\n {\r\n icon: \"autorenew\",\r\n name: \"DATACENTER.REFRESH_DATA_CENTER\",\r\n action: () => {\r\n this.RefreshDatacenter();\r\n },\r\n },\r\n {\r\n icon: \"timeline\",\r\n name: \"DATACENTER.STATISTICS\",\r\n action: () => {\r\n this.OpenInterfaceStatics();\r\n },\r\n },\r\n ],\r\n display: true,\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.snackbar.open(\r\n \"Error consultando el tipo red \" + error.error,\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n }\r\n );\r\n },\r\n (error) => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl(\"/\");\r\n } else {\r\n this.loading = false;\r\n this.snackbar.open(\r\n \"Error consultando maquinas \" + error.error,\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n }\r\n }\r\n );\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, \" \");\r\n let capitalizeName = \"\";\r\n response.split(\" \").forEach((element) => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += \" \";\r\n }\r\n capitalizeName +=\r\n element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n\r\n OpenNetworkSettings(datacenterID?: string) {\r\n const datacenter = datacenterID ? datacenterID : this.dataCenterID;\r\n this.service.VerifyVirtualNetwork(datacenter).subscribe(\r\n (response) => {\r\n this.router.navigateByUrl(\r\n \"/home/(main:networkSettings/\" + encodeURIComponent(datacenter) + \")\",\r\n { skipLocationChange: true }\r\n );\r\n },\r\n (error) => {\r\n this.snackbar.open(\r\n \"Error consultando nube del cliente\" + error.error,\r\n null,\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n OpenPfsenseNetworkSettings(datacenterID?: string) {\r\n this.PfenseRequest.customerId = this.customerInfo.ID;\r\n this.PfenseRequest.datacenterId = datacenterID\r\n ? datacenterID\r\n : this.dataCenterID;\r\n this.router.navigateByUrl(\r\n \"/home/(main:PfsenseNetworkSettings/\" +\r\n encodeURIComponent(this.PfenseRequest.datacenterId) +\r\n \"/\" +\r\n encodeURIComponent(this.PfenseRequest.customerId) +\r\n \")\",\r\n { skipLocationChange: true }\r\n );\r\n }\r\n\r\n OpenInterfaceStatics() {\r\n this.router.navigateByUrl(\r\n \"/home/(main:interfacesStats/\" +\r\n encodeURIComponent(this.dataCenterID) +\r\n \")\",\r\n { skipLocationChange: true }\r\n );\r\n }\r\n\r\n GetAlias(machine: ServiceDTO) {\r\n if (machine.ServiceID == null) {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n } else if (machine.ServiceName != null) {\r\n return this.ReplaceName(machine.ServiceName);\r\n } else {\r\n return this.ReplaceName(machine.Configuration.OperativeSystem.Os);\r\n }\r\n }\r\n\r\n GetMachineStateClass(machine) {\r\n return \"circle-\" + machine.State + \" datacenter-vm-circle\";\r\n }\r\n\r\n setTabTitle(machinesKeyName: string) {\r\n switch (machinesKeyName) {\r\n case \"CS\":\r\n return \"Cloud Server\";\r\n case \"OP\":\r\n return \"Service Order\";\r\n default:\r\n return \"SID Pool: \" + machinesKeyName;\r\n }\r\n }\r\n\r\n getChartInfo(serviceID: string, customerID: string) {\r\n this.SelectedGraphPool.emit({ serviceID, customerID });\r\n }\r\n\r\n getFilteredReorucesPool(resorcePool) {\r\n if (resorcePool != null) {\r\n const grouped = resorcePool.machinesList.reduce((r, a) => {\r\n const sid = a.ServiceID.split(\"_\")[0];\r\n r[sid] = r[sid] || [];\r\n r[sid].push(a);\r\n return r;\r\n }, Object.create(null));\r\n console.log(\"Elgrouped\", grouped);\r\n this.machinesResourcePool = grouped;\r\n this.getPoolChart(Object.keys(this.machinesResourcePool));\r\n }\r\n }\r\n\r\n GetColorState(state) {\r\n switch (state) {\r\n case \"PENDING\":\r\n return \"machine-pending\";\r\n case \"POWER_ON\":\r\n return \"machine-on\";\r\n case \"POWER_OFF\":\r\n return \"machine-off\";\r\n case \"BUSY\":\r\n return \"machine-busy\";\r\n case \"SUSPEND\":\r\n return \"machine-suspended\";\r\n case \"POWER_OFF_GUEST\":\r\n return \"machine-off\";\r\n case \"SUSPEND_GUEST\":\r\n return \"machine-suspended\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\n GetStateMachine(state) {\r\n switch (state) {\r\n case \"PENDING\":\r\n return \"Pendiente de aprovisionamiento\";\r\n case \"POWER_ON\":\r\n return \"Encendida\";\r\n case \"POWER_OFF\":\r\n return \"Apagada\";\r\n case \"BUSY\":\r\n return \"Ocupada\";\r\n case \"SUSPEND\":\r\n return \"Suspendida\";\r\n case \"POWER_OFF_GUEST\":\r\n return \"Apagada\";\r\n case \"SUSPEND_GUEST\":\r\n return \"Suspendida\";\r\n default:\r\n return \"-\";\r\n }\r\n }\r\n\r\n selectPool(poolKey: any) {\r\n this.selectedPool = poolKey;\r\n }\r\n\r\n getPoolChart(arraysKeys: any) {\r\n arraysKeys.forEach((element) => {\r\n // this.service.GetGraphPool(\"hTU2xdt1kEcPdgLNkcME8Q==\", \"1151896\").subscribe((data: any) => {\r\n this.service.GetGraphPool(this.customerInfo.ID, element).subscribe(\r\n (data: any) => {\r\n console.log(\"infografica\", data);\r\n if (data === null) {\r\n this.chartData = false;\r\n this.poolChardKeys[element] = [];\r\n } else {\r\n this.chartData = true;\r\n this.poolChardKeys[element] = data;\r\n }\r\n },\r\n (error) => {\r\n this.chartData = false;\r\n this.poolChardKeys[element] = [];\r\n console.error(\"Error consultando nube del cliente\" + error.error);\r\n }\r\n );\r\n });\r\n console.log(\"El thisPoolChar\", this.poolChardKeys);\r\n }\r\n\r\n getUser() {\r\n this.service.GetUserInformation().subscribe(\r\n (response: any) => {\r\n this.customerInfo = response;\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n onChangeTypeMachine(change) {\r\n if (change === 1) {\r\n this.inPool = true;\r\n } else {\r\n this.inPool = false;\r\n this.selectedPool = null;\r\n }\r\n }\r\n\r\n ShowVmSnackbar(message, action) {\r\n this.snackbar.open(message, action, {\r\n duration: 2000,\r\n });\r\n }\r\n\r\n PowerOnVM(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Encendiendo máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.service.PowerOnVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_ON\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" encendida correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Encender VM\",\r\n true,\r\n \"VM encendida correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Encender VM\",\r\n false,\r\n \"No fue posible encender la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n }\r\n PowerOffVm(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Apagando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Apagar VM\",\r\n Message: \"Va a apagar esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.PowerOffVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_OFF\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" apagada correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Apagar VM\",\r\n true,\r\n \"VM apagada correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Apagar VM\",\r\n true,\r\n \"No fue posible apagar la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n SuspendVM(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Suspendiendo máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Suspender VM\",\r\n Message: \"Va a suspender esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.SuspendVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Suspender VM\",\r\n true,\r\n \"VM suspendida correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Suspender VM\",\r\n false,\r\n \"No fue posible suspender la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n ResumeVm(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Reactivando máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Suspender VM\",\r\n Message: \"Va a suspender esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.ResumeVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_ON\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" reactivada correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reactivar VM\",\r\n true,\r\n \"VM reactivada correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reactivar VM\",\r\n false,\r\n \"No fue posible reactivar la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n RestartVm(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Reiniciando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Reiniciar VM\",\r\n Message: \"Va a reiniciar esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.RestartVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reiniciar VM\",\r\n true,\r\n \"VM reiniciada correctamente\",\r\n machine.ServiceID\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog(\r\n \"Acción Maquina\",\r\n \"Reiniciar VM\",\r\n false,\r\n \"No fue posible reiniciar la VM\",\r\n machine.ServiceID\r\n );\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n GuestPowerOffVmAPI(machine: ServiceDTO) {\r\n // this.ShowVmSnackbar('Apagando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Aapagar sistema Operativo Invitado\",\r\n Message:\r\n \"Va a apagar sistema Operativo Invitado de esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.GuestPowerOffVmAPI(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"POWER_OFF\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" apagada correctamente\",\r\n null\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n GuestSuspendVmAPI(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Suspendiendo máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Suspender sistema Operativo Invitado\",\r\n Message:\r\n \"Va a suspender sistema Operativo Invitado de esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.GuestSuspendVmAPI(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n GuestResetVMAPI(machine: ServiceDTO) {\r\n this.ShowVmSnackbar(\"Reiniciando máquina por favor espere\", null);\r\n const currentState = machine.State;\r\n machine.State = \"BUSY\";\r\n this.dialog.open(ConfirmationDialog, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: \"Reiniciar sistema Operativo Invitado\",\r\n Message:\r\n \"Va a reiniciar sistema Operativo Invitado de esta máquina. ¿Está seguro?\",\r\n Ok: () => {\r\n this.service.GuestResetVMAPI(machine.ID).subscribe(\r\n () => {\r\n machine.State = \"SUSPEND\";\r\n this.ShowVmSnackbar(\r\n machine.ServiceID + \" suspendida correctamente\",\r\n null\r\n );\r\n },\r\n (error) => {\r\n this.ShowVmSnackbar(error.error, null);\r\n machine.State = currentState;\r\n }\r\n );\r\n },\r\n },\r\n });\r\n }\r\n\r\n checkInNewVcenter(machine: ServiceDTO) {\r\n if (machine.vCenterVersion === \"6.7\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ \"DATACENTER.LOADING\" | translate }}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n No cuenta con máquinas registradas en esta nube\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ \"DATACENTER.\" + machine.category | translate }}\r\n \r\n \r\n \r\n {{ \"DATACENTER.\" + machine.category | translate }}\r\n \r\n \r\n
\r\n \r\n No cuenta con máquinas\r\n
\r\n \r\n \r\n \r\n
\r\n {{ \"DATACENTER.STATUS\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
SID
\r\n
\r\n \r\n
\r\n {{ machine.ServiceID }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ \"DATACENTER.VMNAME\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n {{\r\n GetAlias(machine)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
RAM
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Ram.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Cores
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Cores.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
HDD
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.MachineStorage[0].size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n apps\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n more_horiz\r\n
\r\n \r\n \r\n \r\n \r\n \r\n power_settings_new\r\n {{ \"DATACENTER.TURN_OFF\" | translate }}\r\n \r\n \r\n \r\n power_settings_new\r\n {{\r\n \"DATACENTER.TURN_ON\" | translate\r\n }}\r\n \r\n \r\n pause\r\n {{\r\n \"DATACENTER.LAY_OFF\" | translate\r\n }}\r\n \r\n \r\n play_arrow\r\n {{ \"DATACENTER.RESUME\" | translate }}\r\n \r\n \r\n repeat\r\n {{\r\n \"DATACENTER.RESTART\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n {{\r\n \"DATACENTER.SHOWCONSOLE\" | translate\r\n }}\r\n \r\n \r\n {{\r\n \"DATACENTER.EDITCONFIG\" | 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 No cuenta con máquinas\r\n
\r\n \r\n \r\n \r\n SID Pool: {{ rpMachine.key }}\r\n \r\n \r\n VMS: ({{ machinesResourcePool[rpMachine.key].length }})\r\n \r\n \r\n
\r\n \r\n
    \r\n
  • \r\n CPU\r\n \r\n Libre:\r\n {{\r\n poolChardKeys[rpMachine.key].CPU[0].series[1]\r\n .value\r\n }}\r\n Cores\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utilizado:\r\n {{\r\n poolChardKeys[rpMachine.key].CPU[0].series[0]\r\n .value\r\n }}\r\n Cores\r\n \r\n \r\n Capacidad:\r\n {{\r\n poolChardKeys[rpMachine.key].CPU[0].series[0]\r\n .value +\r\n poolChardKeys[rpMachine.key].CPU[0].series[1]\r\n .value\r\n }}\r\n Cores\r\n \r\n
  • \r\n
  • \r\n MEMORIA\r\n \r\n Libre:\r\n {{\r\n poolChardKeys[rpMachine.key].RAM[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utilizado:\r\n {{\r\n poolChardKeys[rpMachine.key].RAM[0].series[0]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n Capacidad:\r\n {{\r\n poolChardKeys[rpMachine.key].RAM[0].series[0]\r\n .value +\r\n poolChardKeys[rpMachine.key].RAM[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n
  • \r\n
  • \r\n ALMACENAMIENTOs\r\n \r\n Libre:\r\n {{\r\n poolChardKeys[rpMachine.key].HD[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n \r\n \r\n \r\n \r\n Utilizado:\r\n {{\r\n poolChardKeys[rpMachine.key].HD[0].series[0]\r\n .value\r\n }}\r\n GB\r\n \r\n \r\n Capacidad:\r\n {{\r\n poolChardKeys[rpMachine.key].HD[0].series[0]\r\n .value +\r\n poolChardKeys[rpMachine.key].HD[0].series[1]\r\n .value\r\n }}\r\n GB\r\n \r\n
  • \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Volver\r\n \r\n \r\n SID Pool: {{ selectedPool }}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{ \"DATACENTER.STATUS\" | translate }}\r\n
\r\n \r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
SID
\r\n \r\n \r\n
{{ rpItem.ServiceID }}
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ \"DATACENTER.VMNAME\" | translate }}\r\n
\r\n \r\n \r\n
\r\n {{\r\n GetAlias(rpItem)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
RAM
\r\n \r\n \r\n
\r\n {{ rpItem.Configuration.Ram.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Cores
\r\n \r\n \r\n
\r\n {{ rpItem.Configuration.Cores.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
HDD
\r\n \r\n \r\n
\r\n {{ rpItem.Configuration.MachineStorage[0].size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n apps\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n more_horiz\r\n
\r\n \r\n \r\n \r\n Acciones\r\n \r\n \r\n \r\n power_settings_new\r\n {{ \"DATACENTER.TURN_OFF\" | translate }}\r\n \r\n \r\n \r\n power_settings_new\r\n {{\r\n \"DATACENTER.TURN_ON\" | translate\r\n }}\r\n \r\n \r\n pause\r\n {{\r\n \"DATACENTER.LAY_OFF\" | translate\r\n }}\r\n \r\n \r\n play_arrow\r\n {{\r\n \"DATACENTER.RESUME\" | translate\r\n }}\r\n \r\n \r\n repeat\r\n {{\r\n \"DATACENTER.RESTART\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n {{\r\n \"DATACENTER.SHOWCONSOLE\" | translate\r\n }}\r\n \r\n \r\n {{\r\n \"DATACENTER.EDITCONFIG\" | 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 \r\n \r\n No cuenta con máquinas registradas \r\n \r\n
\r\n \r\n
\r\n \r\n No cuenta con máquinas registradas\r\n \r\n \r\n \r\n \r\n \r\n
SID Pool: {{ machines.key }}
\r\n \r\n Máquinas \r\n
\r\n\r\n \r\n No cuenta con máquinas registradas\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"DATACENTER.STATUS\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n \r\n fiber_manual_record\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
SID
\r\n
\r\n \r\n
\r\n {{ machine.ServiceID }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ \"DATACENTER.VMNAME\" | translate }}\r\n
\r\n
\r\n \r\n
\r\n {{\r\n GetAlias(machine)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
RAM
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Ram.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Cores
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.Cores.Value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
HDD
\r\n
\r\n \r\n
\r\n {{ machine.Configuration.MachineStorage[0].size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n apps\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n more_horiz\r\n \r\n \r\n \r\n \r\n \r\n power_settings_new\r\n {{ \"DATACENTER.TURN_OFF\" | translate }}\r\n \r\n \r\n \r\n power_settings_new\r\n {{\r\n \"DATACENTER.TURN_ON\" | translate\r\n }}\r\n \r\n \r\n pause\r\n {{\r\n \"DATACENTER.LAY_OFF\" | translate\r\n }}\r\n \r\n \r\n play_arrow\r\n {{ \"DATACENTER.RESUME\" | translate }}\r\n \r\n \r\n repeat\r\n {{\r\n \"DATACENTER.RESTART\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n {{\r\n \"DATACENTER.SHOWCONSOLE\" | translate\r\n }}\r\n \r\n \r\n {{\r\n \"DATACENTER.EDITCONFIG\" | 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","import { Component, Input, Output,OnChanges, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { AdditionalServiceDTO, ServiceDTO } from '../../../../models/dtos.component';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'disk-configuration',\r\n templateUrl: './disk-configuration.component.html',\r\n styleUrls: ['../../dataCenter.component.scss'],\r\n})\r\n\r\nexport class DiskConfiguration implements OnInit,OnChanges {\r\n @Input() AdditionalService: AdditionalServiceDTO;\r\n @Input() sidenav:MatSidenav;\r\n @Input() Machine: ServiceDTO;\r\n @Output() savedAdditionalService = new EventEmitter();\r\n backup : number = 1;\r\n constants : Constants = new Constants();\r\n public loading:boolean = false;\r\n diskConfigurationFb : FormGroup;\r\n constructor(private service: WlService, public snackbar: MatSnackBar, public formBuilder : FormBuilder) {\r\n this.diskConfigurationFb = this.formBuilder.group({\r\n 'iops' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'size' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'backup' : [{value: '', disabled:this.loading},[Validators.required]],\r\n });\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.AdditionalService && changes.AdditionalService.currentValue) {\r\n console.log(\"changes\", changes);\r\n this.getDiskPrice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.AdditionalService = new AdditionalServiceDTO();\r\n }\r\n\r\n saveDisk(){\r\n this.loading = true;\r\n this.service.AddAdditionalService(this.AdditionalService).subscribe(\r\n (response:any)=>{\r\n this.loading = false;\r\n this.snackbar.open(\"Cambios guardados satisfactoriamente\", null, {\r\n duration: 3000\r\n });\r\n this.sidenav.close();\r\n this.savedAdditionalService.emit(response);\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open(\"Error guardando disco\" + error.error, null, {\r\n duration: 4000\r\n });\r\n }\r\n )\r\n }\r\n\r\n getDiskPrice(){\r\n this.loading=true;\r\n this.service.GetStorageCost(this.AdditionalService.Configuration).subscribe(\r\n (response: any)=>{\r\n this.loading=false;\r\n this.AdditionalService.Configuration = response;\r\n },\r\n error=>{\r\n this.loading=false;\r\n }\r\n )\r\n }\r\n}\r\n\r\n","\r\n
\r\n
\r\n
Configurar disco adicional
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{speed}} Iops\r\n \r\n \r\n \r\n \r\n {{size.value}} GB\r\n \r\n \r\n \r\n \r\n 1 Mes\r\n \r\n \r\n
\r\n
\r\n
\r\n ${{AdditionalService.Configuration.Cost.MRC + AdditionalService.Configuration.Backup.Cost.MRC | number : '1.2-2' }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GridComponent } from \"../../../tools/grid/grid.component\";\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserInfoDTO, ProfileDTO, ServiceDTO, AdditionalServiceDTO } from '../../../models/dtos.component';\r\nimport { machineOperations } from '../machineOperations/machineOperations.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { ServiceNameModal } from '../service-name-modal/service-name-modal.component';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\nimport { LogsService } from 'src/app/services/logs/logs-services.service';\r\n\r\n@Component({\r\n selector: 'machine-settings',\r\n templateUrl: './machine-settings.component.html',\r\n styleUrls: ['../dataCenter.component.scss']\r\n})\r\n\r\nexport class MachineSettings implements OnInit {\r\n @ViewChild('AdditionalServicesGrid') AdditionalServicesGrid: GridComponent;\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n machine: ServiceDTO;\r\n SelectedDisk: AdditionalServiceDTO;\r\n\r\n MachineOperations: machineOperations = new machineOperations(this.service, this.router, this.snackbar, this.modal,this.auth, this.logsServices);\r\n globalization: any = Globalization;\r\n constants: Constants = new Constants();\r\n token: string;\r\n language: string;\r\n dataGrid = [];\r\n public additionalServicesGrid = {\r\n columns: [\r\n { name: \"State\", title: \"Descripción\" },\r\n { name: \"Configuration.size\", title: \"Tamaño\" },\r\n { name: \"Configuration.diskType\", title: \"Velocidad\" },\r\n { name: \"Configuration.totalMRC\", title: \"Valor\" , format: \"currency\"},\r\n ],\r\n data: [],\r\n toolbar: [\r\n { \"type\": \"button\", \"click\": () => { this.AddDisk() }, \"text\": \"AGREGAR DISCO\", \"align\": \"left\" }\r\n ],\r\n filter: \"ServiceID\",\r\n refresh: (u) => { this.getAdditionalServices() }\r\n }\r\n\r\n constructor(private service: WlService, public navbarBroadcast: BroadcastEmitter, private route: ActivatedRoute, public snackbar: MatSnackBar, private router: Router, private modal: MatDialog, public auth: AuthService, private logsServices: LogsService) {\r\n this.route.params.subscribe(params => {\r\n this.GetServiceInformation(params[\"MachineID\"]);\r\n });\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n closeSidenav() {\r\n this.SelectedDisk = new AdditionalServiceDTO();\r\n }\r\n\r\n RenameMachineModal(machine: ServiceDTO) {\r\n let dialogRef = this.modal.open(ServiceNameModal, {\r\n data: {\r\n ServiceID: machine.ServiceID,\r\n ServiceName: machine.ServiceName,\r\n ID: machine.ID\r\n },\r\n width: \"440px\",\r\n });\r\n dialogRef.afterClosed().subscribe(\r\n result => {\r\n if(result)\r\n this.machine.ServiceName = result;\r\n }\r\n )\r\n }\r\n\r\n getAdditionalServices() {\r\n this.service.GetAdditionalServices(this.machine.ID).subscribe(\r\n (response:any) => {\r\n this.navbarBroadcast.SendMessage({\r\n text: this.ReplaceName(this.machine.ServiceName),\r\n actions: [\r\n { icon: 'add', name: 'Agregar Disco', action: () => { this.AddDisk() } },\r\n { icon: 'undo', name: 'Volver a Máquinas', action: () => { this.GoBack() } }\r\n ],\r\n display: true\r\n });\r\n this.dataGrid = [];\r\n response.forEach(element => {\r\n element.Configuration.totalMRC = (element.Configuration.Cost.MRC + element.Configuration.Backup.Cost.MRC );\r\n this.dataGrid.push(element);\r\n });\r\n this.AdditionalServicesGrid.setData(this.dataGrid);\r\n },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n this.machine = new ServiceDTO;\r\n this.navbarBroadcast.SendMessage({\r\n text: \" \",\r\n actions: []\r\n });\r\n\r\n }\r\n\r\n AddDisk() {\r\n this.SelectedDisk = new AdditionalServiceDTO();\r\n this.SelectedDisk.ServiceParentID = this.machine.ID;\r\n this.sidenav.open();\r\n }\r\n\r\n SaveDisk(row) {\r\n this.AdditionalServicesGrid.pushRow(row);\r\n }\r\n\r\n GoBack() {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + encodeURIComponent(this.machine.VcenterID) + ')', { skipLocationChange: true });\r\n }\r\n\r\n GetServiceInformation(ServiceID: string) {\r\n this.service.GetService(ServiceID).subscribe(\r\n (response:any) => {\r\n this.machine = response;\r\n this.getAdditionalServices();\r\n },\r\n error => {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + this.machine.VcenterID + ')', { skipLocationChange: true });\r\n this.snackbar.open(\"Error consultando servicio\" + error.error, null, {\r\n duration: 3000\r\n });\r\n }\r\n )\r\n }\r\n ReplaceName(name) {\r\n let response = name.replace(/_/g, ' ');\r\n let capitalizeName = \"\";\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length != 0) {\r\n capitalizeName += \" \";\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n getMachineImage(machine: ServiceDTO) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf(\"WIN\") != -1)\r\n return \"sidenav-detail-windows\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"DEBIAN\") != -1)\r\n return \"sidenav-detail-debian\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"CENTOS\") != -1)\r\n return \"sidenav-detail-centos\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"UBUNTU\") != -1)\r\n return \"sidenav-detail-ubuntu\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"SUSE\") != -1)\r\n return \"sidenav-detail-suse\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"REDHAT\") != -1)\r\n return \"sidenav-detail-redhat\";\r\n else if (machine.Configuration.OperativeSystem.Os.indexOf(\"Other\") != -1)\r\n return \"sidenav-detail-noos\";\r\n else\r\n return \"sidenav-detail-linux\";\r\n }\r\n GetMachineState(state: string) {\r\n let response;\r\n if (state) {\r\n response = this.constants.MachineStates.filter(f => f.State == state);\r\n if (response && response[0]) {\r\n response = response[0].Name;\r\n } else {\r\n response = null;\r\n }\r\n }\r\n return (response ? response : '-');\r\n\r\n }\r\n\r\n GetVMState(state){\r\n return \"circle-\"+state;\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Configuración del servicio\r\n
\r\n
\r\n
\r\n
\r\n {{machine.ServiceID}}\r\n
\r\n
\r\n # de Servicio\r\n
\r\n
\r\n
\r\n
\r\n {{ReplaceName(machine.Configuration.OperativeSystem.Os)}}\r\n
\r\n
\r\n Sistema operativo\r\n
\r\n
\r\n
\r\n
\r\n Configuración de la máquina\r\n
\r\n
\r\n
\r\n
\r\n fiber_manual_record\r\n
\r\n
\r\n {{globalization.dcSidenav.machinestatus[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Cores.Value}}\r\n
\r\n
\r\n {{globalization.dcSidenav.cores[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Ram.Value}}\r\n
\r\n
\r\n {{globalization.dcSidenav.ram[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.MachineStorage[0].size}}\r\n
\r\n
\r\n {{globalization.dcSidenav.diskSize[language]}}\r\n
\r\n
\r\n
\r\n
\r\n {{(machine.VcenterID != null) ? constants.GetDataCenterName(machine.VcenterID):''}}\r\n
\r\n
\r\n {{globalization.dcSidenav.datacenter[language]}}\r\n
\r\n
\r\n
\r\n
\r\n Configuración de red\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.dcSidenav.privateip[language]}}\r\n
\r\n
\r\n {{machine.Configuration.PrivateIp}}\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.dcSidenav.macaddress[language]}}\r\n
\r\n
\r\n {{machine.Configuration.MacAddress}}\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.dcSidenav.rdpaccess[language]}}\r\n
\r\n
\r\n {{machine.Configuration.RemoteAccess}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnChanges, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ServiceDTO } from '../../../models/dtos.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { ServiceNameModal } from '../service-name-modal/service-name-modal.component';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\nimport { LogsService } from 'src/app/services/logs/logs-services.service';\r\n\r\n\r\n@Component({\r\n selector: 'machineOperations',\r\n templateUrl: './machineOperations.component.html',\r\n styleUrls: ['../dataCenter.component.scss']\r\n})\r\nexport class machineOperations implements OnInit,OnChanges {\r\n @Input('machine') machine: ServiceDTO;\r\n @Output() machineAction = new EventEmitter();\r\n constants: Constants = new Constants();\r\n token: string;\r\n language: string;\r\n machinePassword = '$5yXz4!3';\r\n\r\n ngOnInit() {}\r\n constructor(private service: WlService,\r\n private router: Router,\r\n private snackbar: MatSnackBar,\r\n public dialog: MatDialog,\r\n public auth: AuthService,\r\n private logsServices: LogsService\r\n ) {\r\n this.token = auth.getToken()\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n LoadMachineConfiguration() {\r\n this.router.navigateByUrl('/home/(main:MachineSettings/' +\r\n encodeURIComponent(this.machine.ServiceID.toString()) +\r\n ')', { skipLocationChange: true });\r\n }\r\n GetMachineState(state: string) {\r\n if (state) {\r\n return this.constants.MachineStates.filter((f) => f.State === state)[0].Name;\r\n }\r\n }\r\n ngOnChanges(changes) {\r\n this.machine = changes['machine'].currentValue;\r\n if (this.machine.ID) {\r\n this.service.GetMachinePassword(this.machine.ID)\r\n .subscribe((response:any) => {\r\n this.machinePassword = response;\r\n console.log(response);\r\n }, (error) => {\r\n this.machinePassword = 'Error consultando contraseña';\r\n this.snackbar.open('Error consultando contraseña, ' + error.error, null, {\r\n duration: 2000\r\n });\r\n });\r\n }\r\n }\r\n RenameMachineModal(machine: ServiceDTO) {\r\n const dialogRef = this.dialog.open(ServiceNameModal, {\r\n data: {\r\n ServiceID : machine.ServiceID,\r\n ServiceName : machine.ServiceName,\r\n ID: machine.ID\r\n },\r\n width : '440px',\r\n });\r\n dialogRef.afterClosed().subscribe(\r\n result => {\r\n if (result) {\r\n this.machine.ServiceName = result;\r\n }\r\n }\r\n )\r\n }\r\n PowerOnVM(machine: ServiceDTO) {\r\n this.ShowSnackbar('Encendiendo máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.PowerOnVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'POWER_ON';\r\n this.ShowSnackbar(machine.ServiceID + ' encendida correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Encender VM', true, 'VM encendida correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Encender VM', false, 'No fue posible encender la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n PowerOffVm(machine: ServiceDTO) {\r\n this.ShowSnackbar('Apagando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.PowerOffVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'POWER_OFF';\r\n this.ShowSnackbar(machine.ServiceID + ' apagada correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Apagar VM', true, 'VM apagada correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Apagar VM', true, 'No fue posible apagar la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n SuspendVM(machine: ServiceDTO) {\r\n this.ShowSnackbar('Suspendiendo máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.SuspendVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'SUSPEND';\r\n this.ShowSnackbar(machine.ServiceID + ' suspendida correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Suspender VM', true, 'VM suspendida correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Suspender VM', false, 'No fue posible suspender la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n ResumeVm(machine: ServiceDTO) {\r\n this.ShowSnackbar('Reactivando máquina por favor espere', null);\r\n const currentState = machine.State;\r\n machine.State = 'BUSY';\r\n this.service.ResumeVm(machine.ID).subscribe(\r\n () => {\r\n machine.State = 'POWER_ON';\r\n this.ShowSnackbar(machine.ServiceID + ' reactivada correctamente', null);\r\n this.logsServices.postAppLog('Acción Maquina', 'Reactivar VM', true, 'VM reactivada correctamente', machine.ServiceID)\r\n },\r\n error => {\r\n this.ShowSnackbar(error.error, null);\r\n machine.State = currentState;\r\n this.logsServices.postAppLog('Acción Maquina', 'Reactivar VM', false, 'No fue posible reactivar la VM', machine.ServiceID)\r\n }\r\n );\r\n }\r\n ShowSnackbar(message, action) {\r\n this.snackbar.open(message, action, {\r\n duration: 2000\r\n });\r\n }\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, ' ');\r\n let capitalizeName = '';\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += ' ';\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n getMachineImage(machine: ServiceDTO) {\r\n if (machine.Configuration.OperativeSystem.Os.indexOf('WIN') !== -1) {\r\n return 'sidenav-detail-windows';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('DEBIAN') !== -1) {\r\n return 'sidenav-detail-debian';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('CENTOS') !== -1) {\r\n return 'sidenav-detail-centos';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('UBUNTU') !== -1) {\r\n return 'sidenav-detail-ubuntu';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('SUSE') !== -1) {\r\n return 'sidenav-detail-suse';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('REDHAT') !== -1) {\r\n return 'sidenav-detail-redhat';\r\n } else if (machine.Configuration.OperativeSystem.Os.indexOf('Other') !== -1) {\r\n return 'sidenav-detail-noos';\r\n } else {\r\n return 'sidenav-detail-linux';\r\n }\r\n }\r\n GetOperationsState(state) {\r\n return 'circle-' + state;\r\n }\r\n showPassword() {\r\n const x = document.getElementById('passwordMachine');\r\n const type = x.getAttribute('type');\r\n if (type === 'password') {\r\n x.setAttribute('type', 'text');\r\n } else {\r\n x.setAttribute('type', 'password');\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n # {{machine.ServiceID}}\r\n
\r\n {{ReplaceName(machine.Configuration.OperativeSystem.Os)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.MACHINE_CONFIGURATION' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n fiber_manual_record\r\n
\r\n
\r\n {{'DATACENTER.MACHINESTATUS' | translate}}:\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Cores.Value}}\r\n
\r\n
\r\n {{'DATACENTER.CORES' | translate}}:\r\n
\r\n
\r\n
\r\n
\r\n {{machine.Configuration.Ram.Value}}\r\n
\r\n
\r\n {{'DATACENTER.RAM' | translate}}:\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.NETWORK_CONFIGURATION' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.PRIVATE_IP' | translate}}:\r\n
\r\n
\r\n {{machine.Configuration.PrivateIp}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.MAC_ADDRESS' | translate}}:\r\n
\r\n
\r\n {{machine.Configuration.MacAddress}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.RDP_ACCESS' | translate}}:\r\n
\r\n
\r\n {{machine.Configuration.RemoteAccess}}\r\n
\r\n
\r\n
\r\n
\r\n {{'DATACENTER.PASSWORD' | translate}}:\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, Output, OnInit, OnChanges, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { FirewallDTO, FirewallSourceDTO, FirewallApplication, FirewallSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'firewall-settings',\r\n templateUrl: './firewall-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class FirewallConfiguration implements OnInit, OnChanges {\r\n @Input(\"FirewallRule\") Rule: FirewallDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n requirePort: boolean = false;\r\n private validForm: boolean = false;\r\n source: FirewallSourceDTO = new FirewallSourceDTO();\r\n Destination: FirewallSourceDTO = new FirewallSourceDTO();\r\n newApplication: FirewallApplication = new FirewallApplication();\r\n saveRequest: FirewallSaveRequestDTO = new FirewallSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n firewallForm: FormGroup;\r\n applicationForm:FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.firewallForm = this.formBuilder.group({\r\n 'name' : ['',[Validators.required]],\r\n 'ruleType' : ['',[Validators.required]],\r\n 'sourceIp' : ['',''],\r\n 'status' : ['',[Validators.required]],\r\n 'destinationIP' : ['',''],\r\n\r\n });\r\n\r\n this.applicationForm = this.formBuilder.group({\r\n 'specifyPorts' : ['',[Validators.required]],\r\n 'protocol' : ['', [Validators.required]],\r\n 'port' : ['', [Validators.pattern(/(^(\\d{1,5}\\-\\d{1,5})$)|(^\\d{1,5}$)/)]],\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.requirePort = false;\r\n this.source = new FirewallSourceDTO();\r\n this.Destination = new FirewallSourceDTO();\r\n this.newApplication = new FirewallApplication();\r\n this.saveRequest = new FirewallSaveRequestDTO();\r\n }\r\n\r\n getPorts() {\r\n if (this.Rule.Port){\r\n\r\n return this.Rule.Port.split(\", \").filter(f => f.toUpperCase() != \"ANY\")\r\n }\r\n else{\r\n\r\n return [];\r\n }\r\n }\r\n\r\n saveApplication() {\r\n var temp = this.getPorts();\r\n temp.push(this.newApplication.protocol + \" \" + this.newApplication.port);\r\n this.Rule.Port = temp.join(\", \")\r\n this.newApplication = new FirewallApplication();\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new FirewallDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Rule']) {\r\n this.requirePort = false;\r\n if (changes['Rule'].currentValue && changes['Rule'].currentValue.Port.toUpperCase() != \"\" && changes['Rule'].currentValue.Port.toUpperCase() != \"ANY\" && changes['Rule'].currentValue.Port.split(\", \").length > 0)\r\n {\r\n this.requirePort = true;\r\n console.log(changes['Rule'].currentValue.Port.toUpperCase());\r\n }\r\n if (changes['Rule'].currentValue.Source != null && changes['Rule'].currentValue.Source.IpAddress.length > 0)\r\n this.source.IpAddress = changes['Rule'].currentValue.Source.IpAddress;\r\n else if (changes['Rule'].currentValue.Source == null)\r\n this.source.IpAddress = [\"any\"];\r\n\r\n if (changes['Rule'].currentValue.Destination != null && changes['Rule'].currentValue.Destination.IpAddress.length > 0)\r\n this.Destination.IpAddress = changes['Rule'].currentValue.Destination.IpAddress;\r\n else if (changes['Rule'].currentValue.Destination == null)\r\n {\r\n this.Destination = new FirewallSourceDTO();\r\n this.Destination.IpAddress = [\"any\"];\r\n }\r\n\r\n if (changes['Rule'].currentValue.Destination) {\r\n if (changes['Rule'].currentValue.Destination.GroupingObjectId && changes['Rule'].currentValue.Destination.GroupingObjectId.length > 0) {\r\n this.Rule.Destination.groupingObjectId = changes['Rule'].currentValue.Destination.GroupingObjectId;\r\n this.Destination.groupingObjectId = changes['Rule'].currentValue.Destination.GroupingObjectId;\r\n this.Rule.Destination.IpAddress = [];\r\n this.Destination.IpAddress = [];\r\n for(let detIP of this.Rule.Destination.groupingObjectId)\r\n {\r\n let tmp = this.ipSets.filter(i => i.ObjectId == detIP)[0];\r\n if (tmp) {\r\n this.Rule.Destination.IpAddress.push(tmp.Value);\r\n this.Destination.IpAddress.push(tmp.Value.toString());\r\n }\r\n }\r\n }\r\n else\r\n {\r\n this.Destination.IpAddress = changes['Rule'].currentValue.Destination.IpAddress;\r\n this.Rule.Destination.IpAddress = changes['Rule'].currentValue.Destination.IpAddress;\r\n }\r\n\r\n if(changes['Rule'].currentValue.Application == null || changes['Rule'].currentValue.Application == [])\r\n this.Rule.Application = [];\r\n }\r\n else if(changes['Rule'].currentValue.Destination == null)\r\n {\r\n this.Destination = new FirewallSourceDTO();\r\n this.Rule.Destination = new FirewallSourceDTO();\r\n }\r\n }\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n removePort(item) {\r\n this.Rule.Port = this.Rule.Port.split(\", \").filter(f => f != item).join(\", \");\r\n var protocol = item.split(\" \")[0];\r\n var port = item.split(\" \")[1]\r\n this.Rule.Application = this.Rule.Application.filter(f => f.port != port && f.protocol.toLowerCase() != protocol.toLowerCase());\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.firewallForm.disable();\r\n this.applicationForm.disable();\r\n\r\n if (this.source.IpAddress.length == 0)\r\n this.Rule.Source = null;\r\n else\r\n {\r\n this.Rule.Source = new FirewallSourceDTO();\r\n this.Rule.Source.groupingObjectId = [];\r\n this.Rule.Source.IpAddress = [];\r\n for(let detIP of this.source.IpAddress)\r\n {\r\n let tmp = this.ipSets.filter(i => i.Value == detIP)[0];\r\n if (tmp) {\r\n this.Rule.Source.groupingObjectId.push(tmp.ObjectId);\r\n }\r\n else {\r\n if(detIP != \"\" && detIP != null)\r\n this.Rule.Source.IpAddress.push(detIP);\r\n }\r\n }\r\n }\r\n\r\n if (this.Destination.IpAddress.length == 0)\r\n this.Rule.Destination = null;\r\n else\r\n {\r\n this.Rule.Destination = new FirewallSourceDTO();\r\n this.Rule.Destination.groupingObjectId = [];\r\n this.Rule.Destination.IpAddress = [];\r\n for(let detIP of this.Destination.IpAddress)\r\n {\r\n let tmp = this.ipSets.filter(i => i.Value == detIP)[0];\r\n if (tmp) {\r\n this.Rule.Destination.groupingObjectId.push(tmp.ObjectId);\r\n }\r\n else {\r\n if(detIP != \"\" && detIP != null)\r\n this.Rule.Destination.IpAddress.push(detIP);\r\n }\r\n }\r\n }\r\n\r\n if(this.Rule.Port.toUpperCase() == \"ANY\")\r\n this.Rule.Port = \"\";\r\n\r\n this.saveRequest.firewallRules.Rule = [];\r\n this.saveRequest.firewallRules.Rule.push(this.Rule);\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n\r\n this.wlservice.SaveFirewallRule(this.saveRequest).subscribe(\r\n response => {\r\n this.firewallForm.enable();\r\n this.applicationForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Regla de firewall creada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.Rule);\r\n },\r\n error => {\r\n this.firewallForm.enable();\r\n this.applicationForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando regla de firewall ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'FIREWALL_CONFIGURATION.ADD_FIREWALL_RULE' | translate}}
\r\n
{{'FIREWALL_CONFIGURATION.EDIT_FIREWALL_RULE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'FIREWALL_CONFIGURATION.SETTING_THE_RULE' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{Rule.Name ? Rule.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n Aceptar\r\n {{'FIREWALL_CONFIGURATION.DENY' | translate}}\r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n {{ipset.Value}}\r\n \r\n \r\n \r\n \r\n {{'FIREWALL_CONFIGURATION.ENABLED' | translate}}\r\n {{'FIREWALL_CONFIGURATION.DISABLED' | translate}}\r\n \r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n\r\n \r\n \r\n {{ipset.Value}}\r\n \r\n \r\n\r\n \r\n
\r\n
{{'FIREWALL_CONFIGURATION.PORT_CONFIGURATION' | translate}}
\r\n
\r\n 0\" class=\"margin-bottom-10\">\r\n \r\n
\r\n
{{item}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{'FIREWALL_CONFIGURATION.NO' | translate}}\r\n {{'FIREWALL_CONFIGURATION.YES' | translate}}\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n TCP\r\n UDP\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { NatDTO, NATSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'nat-settings',\r\n templateUrl: './nat-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class NatConfiguration implements OnInit {\r\n @Input(\"NatRule\") Rule: NatDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"PublicIps\") PublicIps: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n constants: Constants = new Constants();\r\n loading: boolean = false;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n natRuleForm : FormGroup;\r\n saveRequest : NATSaveRequestDTO = new NATSaveRequestDTO();\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder : FormBuilder, public auth: AuthService ) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.natRuleForm = this.formBuilder.group({\r\n 'protocolo' : ['',[Validators.required]],\r\n 'description' : ['',[Validators.required, Validators.maxLength(50)]],\r\n 'ipSource' : ['',[Validators.required, Validators.maxLength(15)]],\r\n 'ipDestination' : ['',[Validators.required, Validators.maxLength(15)]],\r\n 'originalPort' : ['',[Validators.required, Validators.maxLength(15)]],\r\n 'portDestination' : ['',[Validators.required, Validators.maxLength(15)]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new NatDTO();\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.natRuleForm.disable();\r\n this.saveRequest.natRules.natRule = [];\r\n this.saveRequest.natRules.natRule.push(this.Rule);\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveNat(this.saveRequest).subscribe(\r\n () => {\r\n this.natRuleForm.enable();\r\n this.snackbar.open('Regla de Firewall guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.Rule);\r\n },\r\n error => {\r\n this.natRuleForm.enable();\r\n this.snackbar.open('Error guardando regla NAT ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.ADD_NAT_RULE' | translate}}
\r\n
{{'NAT_CONFIGURATION.EDIT_NAT_RULE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.INITIAL_SETUP' | translate}}
\r\n
\r\n \r\n {{protocol}}\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{Rule.Description ? Rule.Description.length : 0}} / 50\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.SOURCE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n {{publicip}}\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{ Rule.OriginalPort ? Rule.OriginalPort.length : 0}} / 50\r\n
\r\n
\r\n
{{'NAT_CONFIGURATION.DESTINATION_CONFIGURATION' | translate}}
\r\n
\r\n \r\n {{privateip}}\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'NAT_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{Rule.TranslatedPort ? Rule.TranslatedPort.length : 0}} / 30\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, Output, OnInit, EventEmitter, OnChanges } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { RoutingDTO, RoutingSaveRequestDTO, InterfaceDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'routing-settings',\r\n templateUrl: './routing-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class RoutingConfiguration implements OnInit, OnChanges {\r\n @Input(\"RoutingRule\") Rule: RoutingDTO;\r\n @Input(\"RoutingRuleId\") RuleID: string;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"Vnics\") Vnics: Array;\r\n @Output() NewBindings = new EventEmitter();\r\n constants: Constants = new Constants();\r\n loading: boolean = false;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n routingForm : any;\r\n saveRoutingRequest : RoutingSaveRequestDTO = new RoutingSaveRequestDTO();\r\n routing: any = null;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder:FormBuilder, public auth: AuthService) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.routingForm = this.formBuilder.group({\r\n 'description' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'vnic' : [{value: '', disabled:this.loading},[Validators.required]],\r\n // tslint:disable-next-line:max-line-length\r\n 'network' : [{value: '', disabled:this.loading},[Validators.required, Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))$/)]],\r\n // tslint:disable-next-line:max-line-length\r\n 'nextHop' : [{value: '', disabled:this.loading},[Validators.required, Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]]\r\n });\r\n this.Rule = new RoutingDTO();\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new RoutingDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.routing = null;\r\n this.Rule.Mtu = \"9000\";\r\n this.Rule.AdminDistance = \"1\";\r\n this.wlservice.GetNetworkInformation(this.DatacenterID).subscribe(\r\n (response:any) => {\r\n this.routing = response.Routing;\r\n\r\n if(this.RuleID != null)\r\n {\r\n this.routing.StaticRoutes.Route.splice(this.RuleID,1);\r\n }\r\n this.routing.StaticRoutes.Route.push(this.Rule);\r\n this.saveRoutingRequest.DatacenterID = this.DatacenterID;\r\n this.saveRoutingRequest.StaticRouting = this.routing;\r\n this.wlservice.SaveRouting(this.saveRoutingRequest).subscribe(\r\n response => {\r\n this.snackbar.open('Regla de Routing guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(response);\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error guardando regla Routing ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n },\r\n error => {\r\n\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'ROUTING_CONFIGURATION.ADD_ROUTING' | translate}}
\r\n
{{'ROUTING_CONFIGURATION.MODIFY_ROUTING' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'ROUTING_CONFIGURATION.SERVICE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{'ROUTING_CONFIGURATION.INVALID_SUBNET' | translate}}\r\n {{'ROUTING_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.Description ? Rule.Description.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'ROUTING_CONFIGURATION.INVALID_SUBNET' | translate}}\r\n {{'ROUTING_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.Network ? Rule.Network.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'ROUTING_CONFIGURATION.INVALID_IP' | translate}}\r\n {{'ROUTING_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.NextHop ? Rule.NextHop.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n {{vnic.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","import { Component, Input, Output, OnInit, EventEmitter, OnChanges } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { VpnDTO, VPNSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'vpn-settings',\r\n templateUrl: './vpn-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class VpnConfiguration implements OnInit, OnChanges {\r\n @Input(\"VpnRule\") Rule: VpnDTO;\r\n @Input(\"VpnRuleId\") RuleID: string;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"PublicIps\") PublicIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n constants: Constants = new Constants();\r\n localSubnets: string = \"\";\r\n peerSubnets: string = \"\";\r\n loading: boolean = false;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n vpnForm : any;\r\n saveVPNRequest : VPNSaveRequestDTO = new VPNSaveRequestDTO();\r\n network: any = null;\r\n checked = false;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder:FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.vpnForm = this.formBuilder.group({\r\n 'algorithm' : ['',[Validators.required]],\r\n 'group' : ['',[Validators.required]],\r\n 'habilitarPFS' : ['',[Validators.required]],\r\n 'status' : ['',[Validators.required]],\r\n 'localIp' : ['',[Validators.required]],\r\n 'name' : ['',[Validators.required]],\r\n 'editPassword': ['',[]],\r\n 'password' : ['',[Validators.required, Validators.maxLength(64)]],\r\n 'localSubnet' : ['',[Validators.required, Validators.maxLength(600), Validators.pattern(/^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))\\,?)*)-?)*$/)]],\r\n 'peerIp' : ['',[Validators.required, Validators.maxLength(600)]],\r\n 'destinationIp' : ['',[Validators.required, Validators.maxLength(600), Validators.pattern(/^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))\\,?)*)-?)*$/)]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new VpnDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Rule']) {\r\n this.localSubnets = changes['Rule'].currentValue.LocalSubnets.Subnet ? changes['Rule'].currentValue.LocalSubnets.Subnet.join(\",\") : \"\";\r\n this.peerSubnets = changes['Rule'].currentValue.PeerSubnets.Subnet ? changes['Rule'].currentValue.PeerSubnets.Subnet.join(\",\") : \"\";\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.vpnForm.disable();\r\n this.Rule.LocalSubnets.Subnet = this.localSubnets.split(',');\r\n this.Rule.PeerSubnets.Subnet = this.peerSubnets.split(',');\r\n this.Rule.LocalId = this.Rule.LocalIp;\r\n this.Rule.PeerId = this.Rule.PeerIp;\r\n this.network = null;\r\n if (!this.checked) {\r\n this.Rule.Psk = null;\r\n }\r\n console.log(this.RuleID);\r\n this.wlservice.GetNetworkInformation(this.DatacenterID).subscribe(\r\n response => {\r\n this.network = response;\r\n if(this.RuleID != null && !this.Rule.IsNew)\r\n {\r\n this.network.IpSec.Sites.Site.splice(this.RuleID,1);\r\n }\r\n this.network.IpSec.Sites.Site.push(this.Rule);\r\n this.network.IpSec.Enabled = 'true';\r\n this.saveVPNRequest.DatacenterID = this.DatacenterID;\r\n this.saveVPNRequest.IpSec = this.network.IpSec;\r\n this.wlservice.SaveVpn(this.saveVPNRequest).subscribe(\r\n (response) => {\r\n this.vpnForm.enable();\r\n this.snackbar.open('Regla de vpn guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(response);\r\n },\r\n error => {\r\n this.loading = false;\r\n this.vpnForm.enable();\r\n this.snackbar.open('Error guardando regla VPN ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n },\r\n error => {\r\n console.error(error);\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.CREATE_VPN_CONNECTION' | translate}}
\r\n
{{'VPN_CONFIGURATION.EDIT_VPN_CONNECTION' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.INITIAL_SETUP' | translate}}
\r\n
\r\n \r\n \r\n {{'VPN_CONFIGURATION.ENABLED' | translate}}\r\n {{'VPN_CONFIGURATION.DISABLED' | translate}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{Rule.Name ? Rule.Name.length : 0}} / 50\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.SECURITY_SETTINGS' | translate}}
\r\n
\r\n \r\n \r\n {{encryptionAlgorithm.Name}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n {{dhGroup.Name}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n {{'VPN_CONFIGURATION.YES' | translate}}\r\n {{'VPN_CONFIGURATION.NO' | translate}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n {{'VPN_CONFIGURATION.EDIT_PASSWORD' | translate}}\r\n \r\n done\r\n error\r\n {{Rule.Psk ? Rule.Psk.length : 0}} / 64\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_15' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.SOURCE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n {{publicip}}\r\n \r\n \r\n
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{localSubnets ? localSubnets.length : 0}} / 600\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_600' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
{{'VPN_CONFIGURATION.DESTINATION_SETTINGS' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{Rule.PeerIp ? Rule.PeerIp.length : 0}} / 600\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_600' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | translate}}.
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{peerSubnets ? peerSubnets.length : 0}} / 600\r\n \r\n
\r\n
{{'VPN_CONFIGURATION.THE_FIELD_MUST_BE_A_MAXIMUM_600' | translate}}
\r\n
{{'VPN_CONFIGURATION.REQUIRED_FIELD' | 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","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AppProfileDTO, AppProfileSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'app-profile-table',\r\n templateUrl: './app-profile-table.component.html',\r\n styleUrls: ['./app-profile-table.component.scss']\r\n})\r\nexport class AppProfileTableComponent implements OnInit, OnChanges {\r\n @Input(\"AppProfiles\") AppProfiles: Array;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Method', 'Template', 'CookieName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.AppProfiles == null)\r\n this.dataSource.data = [];\r\n else\r\n this.dataSource.data = this.AppProfiles;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.AppProfiles == null)\r\n this.dataSource.data = [];\r\n else\r\n this.dataSource.data = this.AppProfiles;\r\n\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveApplicationProfileModal(rule: AppProfileDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Application Profile\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveApplicationProfile(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveApplicationProfile(rule: AppProfileDTO) {\r\n let req = new AppProfileSaveRequestDTO();\r\n req.ApplicationProfile = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveAppProfile(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Application Profile eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Application Profile ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditAppProfile(rule: AppProfileDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Método\r\n {{row.Persistence.Method}} \r\n \r\n \r\n Cookie Name\r\n {{row.Persistence.Expire}} \r\n \r\n \r\n Tipo de Template\r\n {{row.Template}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { AppProfileDTO, AppProfileSaveRequestDTO, PersistenceAppProfileDTO } from '../../../../models/dtos.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'applicationProfile-settings',\r\n templateUrl: './application-profile.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class ApplicationProfileComponent implements OnInit, OnChanges {\r\n @Input(\"ApplicationProfile\") AppProfile: AppProfileDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n private validForm: boolean = false;\r\n saveRequest: AppProfileSaveRequestDTO = new AppProfileSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n appProfileForm: FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.appProfileForm = this.formBuilder.group({\r\n 'Name' : ['',[Validators.required]],\r\n 'Template' : ['',[Validators.required]],\r\n 'Method' : ['',[Validators.required]],\r\n 'CookieName' : [{value: '', disabled: false},[]],\r\n 'CookieMode' : [{value: '', disabled: false},[]],\r\n 'Expire' : [{value: '', disabled: false},[]],\r\n\r\n });\r\n\r\n this.appProfileForm.valueChanges.subscribe(values => {\r\n if(values['Method'] === 'cookie'){\r\n this.appProfileForm.controls['CookieName'].setValidators([Validators.required]);\r\n this.appProfileForm.controls['CookieName'].updateValueAndValidity({emitEvent: false});\r\n this.appProfileForm.controls['CookieMode'].setValidators([Validators.required]);\r\n this.appProfileForm.controls['CookieMode'].updateValueAndValidity({emitEvent: false});\r\n }\r\n else{\r\n if(this.AppProfile.ApplicationProfileId == null)\r\n {\r\n this.appProfileForm.controls['CookieName'].setValue('',{emitEvent: false});\r\n this.appProfileForm.controls['CookieMode'].setValue('',{emitEvent: false});\r\n }\r\n\r\n this.appProfileForm.controls['CookieName'].setValidators([]);\r\n this.appProfileForm.controls['CookieName'].updateValueAndValidity({emitEvent: false});\r\n this.appProfileForm.controls['CookieMode'].setValidators([]);\r\n this.appProfileForm.controls['CookieMode'].updateValueAndValidity({emitEvent: false});\r\n }\r\n\r\n if(values['Method'] === 'none' || values['Method'] === '')\r\n {\r\n if(this.AppProfile.ApplicationProfileId == null)\r\n this.appProfileForm.controls['Expire'].setValue('',{emitEvent: false});\r\n\r\n this.appProfileForm.controls['Expire'].setValidators([]);\r\n this.appProfileForm.controls['Expire'].updateValueAndValidity({emitEvent: false});\r\n }\r\n else{\r\n this.appProfileForm.controls['Expire'].setValidators([Validators.required]);\r\n this.appProfileForm.controls['Expire'].updateValueAndValidity({emitEvent: false});\r\n }\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.saveRequest = new AppProfileSaveRequestDTO();\r\n }\r\n\r\n ngOnInit() {\r\n this.AppProfile = new AppProfileDTO();\r\n this.AppProfile.Persistence = new PersistenceAppProfileDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.appProfileForm.disable();\r\n\r\n this.saveRequest.ApplicationProfile = this.AppProfile;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveAppProfile(this.saveRequest).subscribe(\r\n response => {\r\n this.appProfileForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('App profile creada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n },\r\n error => {\r\n this.appProfileForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando app profile ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'APPLICATION_PROFILE.ADD_APPLICATION_PROFILE' | translate}}
\r\n
{{'APPLICATION_PROFILE.EDIT_APPLICATION_PROFILE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'APPLICATION_PROFILE.CONFIGURATION_OF_THE_APPLICATION_PROFILE' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'APPLICATION_PROFILE.REQUIRED_FIELD' | translate}}
\r\n
\r\n
\r\n {{AppProfile.Name ? AppProfile.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n TCP\r\n HTTP\r\n HTTPS\r\n UDP\r\n \r\n \r\n \r\n \r\n None\r\n Cookie\r\n {{'APPLICATION_PROFILE.IP_SOURCE' | translate}}\r\n MSRDP\r\n \r\n \r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'APPLICATION_PROFILE.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{AppProfile.Persistence.CookieName ? AppProfile.Persistence.CookieName.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n Insert\r\n Prefix\r\n App Session\r\n \r\n \r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'APPLICATION_PROFILE.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{AppProfile.Persistence.Expire ? AppProfile.Persistence.Expire.length : 0}} / 50\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { DHCPDTO, DHCPSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'dhcp-table',\r\n templateUrl: './dhcp-table.component.html',\r\n styleUrls: ['./dhcp-table.component.scss']\r\n})\r\nexport class DhcpTableComponent implements OnInit, OnChanges {\r\n @Input(\"DHCPRules\") DHCPRules: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['IpAddress', 'ServiceID', 'ServiceName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n this.dataSource.data = this.DHCPRules;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.DHCPRules;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveDHCPRuleModal(rule: DHCPDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla DHCP\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveDHCPRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveDHCPRule(rule: DHCPDTO) {\r\n let DeleteDHCPRequest = new DHCPSaveRequestDTO();\r\n DeleteDHCPRequest.staticBinding = rule;\r\n DeleteDHCPRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveDHCPRule(DeleteDHCPRequest).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla DHCP eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla DHCP ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditDHCPRule(rule: DHCPDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Ip Privada\r\n {{row.IpAddress}} \r\n \r\n \r\n Service ID\r\n {{row.ServiceID}} \r\n \r\n \r\n Nombre Máquina\r\n {{row.ServiceName}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, OnChanges, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { DHCPDTO, ServiceDTO, DHCPSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'dhcp-settings',\r\n templateUrl: './dhcp-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class DhcpConfiguration implements OnInit, OnChanges {\r\n @Input(\"DhcpRule\") Rule: DHCPDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"AvailableMacs\") AvailableMacs: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n loading: boolean = false;\r\n selectedMac: ServiceDTO = new ServiceDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n dhcpConfigurationFb : FormGroup;\r\n saveRequest : DHCPSaveRequestDTO = new DHCPSaveRequestDTO();\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, public formBuilder : FormBuilder, public auth: AuthService ) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.dhcpConfigurationFb = this.formBuilder.group({\r\n 'mac' : [{value: '', disabled:this.loading},[Validators.required]],\r\n 'ipAddress' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'defaultGateway' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'primaryNameServer' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'secondaryNameServer' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n 'subnetMask' : [{value: '', disabled:this.loading},[Validators.required,\r\n Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]]\r\n });\r\n\r\n }\r\n\r\n selectServiceID(selected) {\r\n this.Rule.MacAddress = selected.value.Configuration.MacAddress;\r\n this.Rule.Hostname = \"VM\" + selected.value.ServiceID;\r\n }\r\n\r\n ngOnInit() {\r\n this.Rule = new DHCPDTO();\r\n this.AvailableMacs = [];\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Rule'] && changes['Rule'].currentValue.MacAddress) {\r\n this.selectedMac = this.AvailableMacs.filter(f => f.Configuration.MacAddress == changes['Rule'].currentValue.MacAddress)[0];\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.dhcpConfigurationFb.disable();\r\n this.saveRequest.staticBinding = this.Rule;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.AddDHCPRule(this.saveRequest).subscribe(\r\n response => {\r\n this.dhcpConfigurationFb.enable();\r\n this.snackbar.open('Regla DHCP guardada satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.NewBindings.emit(response);\r\n },\r\n error => {\r\n this.dhcpConfigurationFb.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando regla DHCP ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'DHCP_CONFIGURATION.ADD_DHCP' | translate}}
\r\n
{{'DHCP_CONFIGURATION.EDIT_DHCP' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'DHCP_CONFIGURATION.SERVICE_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n {{mac.ServiceID}}\r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{ Rule.IpAddress ? Rule.IpAddress.length : 0}} / 50\r\n \r\n
\r\n
{{'DHCP_CONFIGURATION.NETWORK_CONFIGURATION' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.DefaultGateway ? Rule.DefaultGateway.length : 0}} / 50\r\n \r\n\r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.PrimaryNameServer ? Rule.PrimaryNameServer.length : 0}} / 20\r\n \r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.SecondaryNameServer ? Rule.SecondaryNameServer.length : 0}} / 30\r\n \r\n \r\n \r\n done\r\n error\r\n {{'DHCP_CONFIGURATION.REQUIRED_FIELD' | translate}}\r\n {{Rule.SubnetMask ? Rule.SubnetMask.length : 0}} / 30\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { FirewallDTO, FirewallSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'firewall-component',\r\n templateUrl: './firewall-component.component.html',\r\n styleUrls: ['./firewall-component.component.scss']\r\n})\r\nexport class FirewallComponent implements OnInit, OnChanges {\r\n @Input(\"FirewallRules\") FirewallRules: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Action', 'SourceIp', 'DestinationIp', 'Port', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n this.dataSource.data = this.FirewallRules;\r\n \r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.FirewallRules;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveFirewallModal(rule: FirewallDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla de Firewall\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveFirewallRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveFirewallRule(rule: FirewallDTO) {\r\n let req = new FirewallSaveRequestDTO()\r\n req.DatacenterID = this.DatacenterID;\r\n req.firewallRules.Rule.push(rule);\r\n this.wlservice.RemoveFirewallRule(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla eliminada satisfactoriamente. ', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditFirewallRule(rule: FirewallDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Acción\r\n {{row.Action}} \r\n \r\n \r\n IP Origen\r\n {{row.SourceIp}} \r\n \r\n \r\n IP Destino\r\n {{row.DestinationIp}} \r\n \r\n \r\n Puerto\r\n {{row.Port}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input, Output } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-interfaces-stats',\r\n templateUrl: './interfaces-stats.component.html',\r\n styleUrls: ['./interfaces-stats.component.css']\r\n})\r\nexport class InterfacesStatsComponent implements OnInit {\r\n\r\n dataCenterID: string;\r\n InterfacesCharts : any = {\r\n colorScheme : {\r\n domain: ['#fac51d','#66bd6d','#faa026','#C7B42C','#29bb9c','#e96b56','#bbef94','#ff9f9f','#92e7ef','#5b8e7d']\r\n },\r\n // options\r\n showXAxis : true,\r\n showYAxis : true,\r\n roundDomains: true,\r\n gradient : true,\r\n showLegend : true,\r\n showXAxisLabel : true,\r\n showYAxisLabel : true,\r\n yAxisLabel : 'kbps',\r\n autoScale : true,\r\n data : [],\r\n schemeType : 'ordinal',\r\n animations : true\r\n }\r\n\r\n constructor( private wlservice: WlService , public snackbar: MatSnackBar, private router: Router, private route: ActivatedRoute) {\r\n this.route.params.subscribe(params => {\r\n this.dataCenterID = params[\"datacenterID\"];\r\n });\r\n }\r\n\r\n filterData(timeFilter : string){ \r\n this.GetDataCharts(timeFilter); \r\n }\r\n\r\n ngOnInit() {\r\n this.GetDataCharts(\"oneDay\");\r\n }\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n GetDataCharts(timeFilter : string){\r\n this.wlservice.GetInterfacesStats(this.dataCenterID,timeFilter).subscribe((response:any) => {\r\n this.InterfacesCharts.data = response.Data;\r\n },error => {\r\n this.InterfacesCharts.data = [];\r\n this.snackbar.open('Error al consultar estadísticas en la nube'+ error.error, null, {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n Refresh(){\r\n this.InterfacesCharts.data = [];\r\n this.GetDataCharts(\"oneDay\");\r\n }\r\n calendarAxisTickFormatting(date: string) {\r\n const day : Date = new Date(date);\r\n return day.toLocaleTimeString('en-US', { hour12: true, \r\n hour: \"numeric\", \r\n minute: \"numeric\"})\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { IPSetDTO, IPSetSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'ipset-settings',\r\n templateUrl: './ipset-configuration.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class IpsetConfigurationComponent implements OnInit, OnChanges {\r\n @Input(\"IPSet\") IPSet: IPSetDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Output() NewBindings = new EventEmitter();\r\n loading: boolean = false;\r\n private validForm: boolean = false;\r\n saveRequest: IPSetSaveRequestDTO = new IPSetSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n ipsetForm: FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.ipsetForm = this.formBuilder.group({\r\n 'Value' : ['', [Validators.pattern(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/)]],\r\n\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.saveRequest = new IPSetSaveRequestDTO();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n }\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.ipsetForm.disable();\r\n\r\n if(this.IPSet.ObjectId != null)\r\n {\r\n this.IPSet.Revision = this.IPSet.Revision + 1;\r\n } else{\r\n this.IPSet.Name = this.IPSet.Value;\r\n }\r\n this.saveRequest.IPSet = this.IPSet;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveIPSet(this.saveRequest).subscribe(\r\n response => {\r\n this.ipsetForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('IPSet Guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.IPSet);\r\n },\r\n error => {\r\n this.ipsetForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando IPSet ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
Agregar IPSet
\r\n
Editar IPSet
\r\n
\r\n
\r\n
\r\n
\r\n
Configuración del IPSet
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{IPSet.Value ? IPSet.Value.length : 0}} / 50\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPSetDTO, IPSetSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'ipset-table',\r\n templateUrl: './ipset-table.component.html',\r\n styleUrls: ['./ipset-table.component.scss']\r\n})\r\nexport class IpsetTableComponent implements OnInit, OnChanges {\r\n @Input(\"IPSet\") IPSet: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Value', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.IPSet != null)\r\n this.dataSource.data = this.IPSet;\r\n else\r\n this.dataSource.data = [];\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.IPSet != null)\r\n this.dataSource.data = this.IPSet;\r\n else\r\n this.dataSource.data = [];\r\n\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveIPSetModal(rule: IPSetDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar IPSet\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveIPSet(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveIPSet(rule: IPSetDTO) {\r\n let req = new IPSetSaveRequestDTO();\r\n req.IPSet = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveIPSet(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('IP Set eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando IP Set ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditIPSet(rule: IPSetDTO) {\r\n console.log(rule);\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Miembros\r\n {{row.Value}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\r\nimport { NatDTO, NATSaveRequestDTO, AllNATSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'nat-table',\r\n templateUrl: './nat-table.component.html',\r\n styleUrls: ['./nat-table.component.scss']\r\n})\r\nexport class NatTableComponent implements OnInit, OnChanges {\r\n @Input(\"NatRules\") NatRules: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n public resultsLength = 10;\r\n changeOrder: boolean = false;\r\n dataSource: MatTableDataSource = new MatTableDataSource();\r\n saveRequest : AllNATSaveRequestDTO = new AllNATSaveRequestDTO();\r\n displayedColumns = ['Index','Description', 'Protocol', 'OriginalAddress', 'OriginalPort', 'TranslatedAddress', 'TranslatedPort', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar, private changeDetectorRefs: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n this.dataSource.data = this.NatRules;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.NatRules;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n RemoveNatRuleModal(rule: NatDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla NAT\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveNatRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveNatRule(rule: NatDTO) {\r\n let req = new NATSaveRequestDTO();\r\n\r\n req.natRules.natRule = [];\r\n req.natRules.natRule.push(rule);\r\n req.DatacenterID = this.DatacenterID;\r\n req.natRules.natRule[0].RuleTag = \"0\";\r\n this.wlservice.RemoveNatRule(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla de NAT eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla de NAT ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n}\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.changeOrder = false;\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditNatRule(rule: NatDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n\r\n RuleUp(index){\r\n var temp = this.dataSource.data[index - 1];\r\n this.dataSource.data[index - 1] = this.dataSource.data[index]\r\n this.dataSource.data[index] = temp;\r\n this.changeOrder = true;\r\n this.dataSource.sort = this.sort;\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n\r\n RuleDown(index){\r\n var temp = this.dataSource.data[index + 1];\r\n this.dataSource.data[index + 1] = this.dataSource.data[index]\r\n this.dataSource.data[index] = temp;\r\n this.changeOrder = true;\r\n this.dataSource.sort = this.sort;\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n \r\n SaveNatRules() {\r\n this.Loading = true;\r\n this.saveRequest.nat.natRules.natRule = this.dataSource.data;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n\r\n for(let rule of this.saveRequest.nat.natRules.natRule){\r\n rule.RuleId = null;\r\n rule.RuleTag = null;\r\n\r\n if(rule.Action == \"snat\")\r\n {\r\n rule.OriginalPort = null;\r\n rule.TranslatedPort = null;\r\n }\r\n }\r\n this.wlservice.SaveAllNat(this.saveRequest).subscribe(\r\n response => {\r\n this.snackbar.open('Reglas de NAT guardadas satisfactoriamente.', null, {\r\n duration: 2000,\r\n });\r\n this.ReloadNetwork();\r\n },\r\n error => {\r\n this.snackbar.open('Error guardando reglas NAT ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n this.ReloadNetwork();\r\n }\r\n )\r\n \r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n #\r\n {{dataSource.data.indexOf(row) + 1}} \r\n \r\n \r\n Nombre\r\n {{row.Description}} \r\n \r\n \r\n Protocolo\r\n {{row.Protocol}} \r\n \r\n \r\n IP Origen\r\n {{row.OriginalAddress}} \r\n \r\n \r\n Puerto Origen\r\n {{row.OriginalPort}} \r\n \r\n \r\n IP Destino\r\n {{row.TranslatedAddress}} \r\n \r\n \r\n Puerto Destino\r\n {{row.TranslatedPort}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ServiceDTO, VpnDTO, RoutingDTO,\r\n FirewallDTO, DHCPDTO, NatDTO, InterfaceDTO, AppProfileDTO, PersistenceAppProfileDTO,\r\n VirtualServerDTO, PoolDTO, IPSetDTO, IPSetSaveRequestDTO, FirewallSourceDTO, CustomerMachinesService } from '../../../models/dtos.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { MatTabChangeEvent } from '@angular/material/tabs';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\n@Component({\r\n selector: 'network-settings',\r\n styleUrls: ['networkSettings.scss'],\r\n templateUrl: 'networkSettings.html'\r\n})\r\n\r\nexport class NetworkSettings implements OnInit {\r\n \r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n loadBalancerOption = 'applicationProfile';\r\n dataCenterID: string;\r\n isNewFirewallRule = true;\r\n AvailableMacs: Array;\r\n Vnics: Array = [];\r\n PublicIps: Array = [];\r\n PrivateIps: Array = [];\r\n selectedRule: DHCPDTO = new DHCPDTO();\r\n mostrarIp = false;\r\n selectedNatRule: NatDTO = new NatDTO();\r\n selectedVpnRule: VpnDTO = new VpnDTO();\r\n selectedVpnRuleID: string = null;\r\n ID: string = null;\r\n selectedRoutingRule: RoutingDTO = new RoutingDTO();\r\n selectedRoutingRuleID: string = null;\r\n selectedApplicationProfile: AppProfileDTO = new AppProfileDTO();\r\n selectedIPSet: IPSetDTO = new IPSetDTO();\r\n selectedVirtualServer: VirtualServerDTO = new VirtualServerDTO();\r\n selectedPool: PoolDTO = new PoolDTO();\r\n selectedFirewallRule: FirewallDTO = new FirewallDTO();\r\n machines: Array = [];\r\n network: any = null;\r\n selectedService = 'FIREWALL';\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n DeleteIPSet: IPSetSaveRequestDTO = new IPSetSaveRequestDTO();\r\n FirewallRules: Array = [];\r\n NatRules: Array = [];\r\n DHCPRules: Array = [];\r\n Routing: any;\r\n IpSec: any;\r\n AppProfiles: Array;\r\n Pool: Array;\r\n VirtualServer: Array;\r\n IPSet: Array;\r\n Loading: boolean;\r\n errorLoadingEdge = false;\r\n\r\n constructor(private wlservice: WlService,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n public snackbar: MatSnackBar,\r\n private broadcast: BroadcastEmitter) {\r\n this.route.params.subscribe(params => {\r\n console.log('El Dtacenter', params)\r\n this.dataCenterID = params.datacenterID;\r\n this.token = localStorage.getItem('usertoken');\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetMachines();\r\n this.GetEdge();\r\n }\r\n\r\n SetToolbar() {\r\n this.broadcast.SendMessage({\r\n actions: [\r\n { icon: 'queue', name: 'Agregar regla de NAT',\r\n action: () => { this.ServiceButtonClick('NAT'); this.AddNat(); } },\r\n { icon: 'add_circle_outline', name: 'Agregar regla DHCP',\r\n action: () => { this.ServiceButtonClick('DHCP'); this.AddDhcp(); } },\r\n { icon: 'add_box_outline', name: 'Agregar VPN',\r\n action: () => { this.ServiceButtonClick('VPN'); this.AddVpn(); } },\r\n { icon: 'whatshot', name: 'Agregar regla de firewall',\r\n action: () => { this.ServiceButtonClick('FIREWALL'); this.AddFirewallRule(); } },\r\n { icon: 'compare_arrows', name: 'Agregar Routing',\r\n action: () => { this.ServiceButtonClick('ROUTING'); this.AddRouting(); } },\r\n { icon: 'http', name: 'Agregar Application Profile',\r\n action: () => { this.ServiceButtonClick('APP_PROFILE'); this.AddApplicationProfile(); } },\r\n { icon: 'dvr', name: 'Agregar Virtual Server',\r\n action: () => { this.ServiceButtonClick('VIRTUAL_SERVER'); this.AddVirtualServer(); } },\r\n { icon: 'view_list', name: 'Agregar Pool',\r\n action: () => { this.ServiceButtonClick('POOL'); this.AddPool(); } },\r\n { icon: 'link', name: 'Agregar IPSet',\r\n action: () => { this.ServiceButtonClick('IPSET'); this.AddIPSet(); } },\r\n { icon: 'undo', name: 'Ir a máquinas virtuales',\r\n action: () => { this.GoToMachinesView(); } },\r\n ],\r\n display : true\r\n });\r\n }\r\n\r\n GetEdge() {\r\n this.Vnics = [];\r\n this.wlservice.GetEdge(this.dataCenterID).subscribe(\r\n (response: any) => {\r\n this.Vnics = response.Vnics.Vnic.filter(v => v.IsConnected === 'true');\r\n },\r\n error => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n\r\n GetNetworkConfiguration() {\r\n this.network = null;\r\n this.Loading = true;\r\n this.wlservice.GetNetworkInformation(this.dataCenterID).subscribe(\r\n response => {\r\n this.network = response;\r\n this.SetToolbar();\r\n this.LoadDhcp();\r\n this.LoadNat();\r\n this.LoadVpn();\r\n this.LoadFirewall();\r\n this.LoadRouting();\r\n this.LoadAppProfile();\r\n this.LoadVirtualServer();\r\n this.LoadPool();\r\n this.LoadIpSet();\r\n this.Loading = false;\r\n },\r\n error => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n this.errorLoadingEdge = true;\r\n console.error(error);\r\n });\r\n }\r\n\r\n AddFirewallRule() {\r\n this.isNewFirewallRule = true;\r\n this.selectedFirewallRule = new FirewallDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n EditFirewall(u) {\r\n if (u.Source == null) {\r\n u.Source = new FirewallSourceDTO();\r\n }\r\n if (u.SourceIp.toString().indexOf(', ') === -1) {\r\n u.Source.IpAddress = [u.SourceIp.toString()];\r\n } else {\r\n u.Source.IpAddress = u.SourceIp.toString().split(', ');\r\n }\r\n\r\n if (u.Destination == null) {\r\n u.Destination = new FirewallSourceDTO();\r\n }\r\n if (u.DestinationIp.toString().indexOf(', ') === -1) {\r\n u.Destination.IpAddress = [u.DestinationIp.toString()];\r\n } else {\r\n u.Destination.IpAddress = u.DestinationIp.toString().split(', ');\r\n }\r\n this.isNewFirewallRule = false;\r\n this.selectedFirewallRule = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditApplicationProfile(u) {\r\n this.selectedService = 'APP_PROFILE';\r\n this.selectedApplicationProfile = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditPool(u) {\r\n this.selectedService = 'POOL';\r\n this.selectedPool = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditVirtualServer(u) {\r\n this.selectedService = 'VIRTUAL_SERVER';\r\n this.selectedVirtualServer = u;\r\n this.sidenav.open();\r\n }\r\n\r\n EditIPSet(u) {\r\n this.selectedService = 'IPSET';\r\n this.selectedIPSet = u;\r\n this.sidenav.open();\r\n }\r\n\r\n GoToMachinesView() {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + encodeURIComponent(this.dataCenterID) + ')', { skipLocationChange: true });\r\n }\r\n\r\n ServiceButtonClick(service) {\r\n this.selectedService = service;\r\n }\r\n\r\n GetMachines() {\r\n this.Loading = true;\r\n this.wlservice.GetDataCenterMachines(this.dataCenterID).subscribe(\r\n (response: Array) => {\r\n response.forEach((machinesCategory) => {\r\n if (machinesCategory && machinesCategory.machinesList && machinesCategory.machinesList.length > 0) {\r\n this.machines = [...this.machines, ...machinesCategory.machinesList];\r\n }\r\n });\r\n this.GetNetworkConfiguration();\r\n },\r\n error => {\r\n this.GetNetworkConfiguration();\r\n this.Loading = false;\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n ReplaceName(name) {\r\n const response = name.replace(/_/g, ' ');\r\n let capitalizeName = '';\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length !== 0) {\r\n capitalizeName += ' ';\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n\r\n LoadFirewall() {\r\n\r\n this.network.Firewall.FirewallRules.Rule.forEach(element => {\r\n if (element.Source == null) {\r\n element.SourceIp = 'any';\r\n } else if (element.Source.GroupingObjectId === null || element.Source.GroupingObjectId.length === 0) {\r\n if (element.Source.IpAddress != null && element.Source.IpAddress.length > 0) {\r\n element.SourceIp = '';\r\n element.Source.IpAddress.forEach(ip => {\r\n element.SourceIp += ip + ', ';\r\n });\r\n } else if (element.Source.VnicGroupId == null) {\r\n element.SourceIp = 'any';\r\n } else {\r\n element.SourceIp = element.Source.VnicGroupId;\r\n }\r\n } else if (element.Source.GroupingObjectId.length > 0) {\r\n element.SourceIp = '';\r\n element.Source.GroupingObjectId.forEach(grob => {\r\n const agr = this.network.groupingObjects.Ipset.filter(ag => ag.ObjectId === grob)[0];\r\n element.SourceIp += agr.Value + ', ';\r\n });\r\n }\r\n\r\n if (element.Destination == null) {\r\n element.DestinationIp = 'any';\r\n } else if (element.Destination.GroupingObjectId == null || element.Destination.GroupingObjectId.length === 0) {\r\n if (element.Destination.VnicGroupId == null) {\r\n element.DestinationIp = 'any';\r\n } else {\r\n element.DestinationIp = element.Destination.VnicGroupId;\r\n }\r\n } else if (element.Destination.GroupingObjectId.length > 0) {\r\n element.DestinationIp = '';\r\n element.Destination.GroupingObjectId.forEach(grob => {\r\n const agr = this.network.groupingObjects.Ipset.filter(ag => ag.ObjectId === grob)[0];\r\n if (agr) {\r\n element.DestinationIp += agr.Value + ', ';\r\n } else {\r\n console.log('not found in groupingobjects ' + grob);\r\n }\r\n });\r\n element.DestinationIp = element.DestinationIp.slice(0, -2);\r\n }\r\n\r\n if (element.Application == null || element.Application.ApplicationId.length === 0) {\r\n element.Port = 'any';\r\n } else {\r\n\r\n element.Port = '';\r\n element.Application.ApplicationId.forEach(app => {\r\n const portsgr = this.network.ApplicationGroups.Application.filter(ag => ag.ObjectId === app)[0];\r\n if (portsgr == null){\r\n element.Port = ' any ';\r\n }else{\r\n if (portsgr.Element == null || portsgr.Element.length === 0){\r\n element.Port = ' any ';\r\n }else{\r\n console.log(\"En el IF\",portsgr.Element);\r\n element.Port += portsgr.Element.ApplicationProtocol + ' ' + portsgr.Element.Value + ', ';\r\n }\r\n\r\n }\r\n \r\n });\r\n element.Port = element.Port.slice(0, -2);\r\n }\r\n });\r\n const services = this.machines;\r\n this.PrivateIps = services.map(f => f.Configuration.PrivateIp).filter(f => f != null);\r\n this.FirewallRules = this.network.Firewall.FirewallRules.Rule;\r\n }\r\n\r\n LoadNat() {\r\n const services = this.machines;\r\n this.PublicIps = this.network.groupingObjects.Ipset.filter(f => f.Name.indexOf('PUBLIC') !== -1).map(f => f.Value);\r\n this.PrivateIps = services.map(f => f.Configuration.PrivateIp);\r\n this.NatRules = this.network.Nat.NatRules.NatRule;\r\n }\r\n\r\n LoadDhcp() {\r\n const services = this.machines;\r\n this.network.DHCP.StaticBindings.StaticBinding.forEach(element => {\r\n const service = services.filter(f => f.Configuration.MacAddress === element.MacAddress)[0];\r\n element.ServiceName = service ? this.ReplaceName(service.Configuration.OperativeSystem.Os) : null;\r\n element.ServiceID = service ? service.ServiceID : null;\r\n });\r\n this.AvailableMacs = services.filter(s => this.network.DHCP.StaticBindings.StaticBinding\r\n .map(u => u.MacAddress).indexOf(s.Configuration.MacAddress) === -1 && s.Configuration.MacAddress != null);\r\n this.DHCPRules = this.network.DHCP.StaticBindings.StaticBinding;\r\n }\r\n\r\n LoadVpn() {\r\n this.PublicIps = this.network.groupingObjects.Ipset.filter(f => f.Name.indexOf('PUBLIC') !== -1).map(f => f.Value);\r\n this.IpSec = this.network.IpSec;\r\n }\r\n\r\n LoadRouting() {\r\n this.Routing = this.network.Routing;\r\n }\r\n\r\n LoadAppProfile() {\r\n this.network.LoadBalancer.ApplicationProfile.forEach(element => {\r\n if (element.Persistence == null) {\r\n element.Persistence = new PersistenceAppProfileDTO();\r\n element.Persistence.Method = 'none';\r\n }\r\n });\r\n\r\n this.AppProfiles = this.network.LoadBalancer.ApplicationProfile;\r\n }\r\n\r\n LoadVirtualServer() {\r\n this.network.LoadBalancer.VirtualServer.forEach(element => {\r\n if (element.ApplicationProfileId == null) {\r\n element.ApplicationProfileName = '';\r\n } else {\r\n element.ApplicationProfileName = this.network.LoadBalancer.ApplicationProfile\r\n .filter(m => m.ApplicationProfileId === element.ApplicationProfileId)[0].Name;\r\n }\r\n if (element.DefaultPoolId == null) {\r\n element.DefaultPoolName = '';\r\n } else {\r\n element.DefaultPoolName = this.network.LoadBalancer.Pool.filter(m => m.PoolId === element.DefaultPoolId)[0].Name;\r\n }\r\n });\r\n this.VirtualServer = this.network.LoadBalancer.VirtualServer;\r\n }\r\n\r\n LoadPool() {\r\n this.network.LoadBalancer.Pool.forEach(element => {\r\n if (element.MonitorId == null) {\r\n element.MonitorName = '';\r\n } else {\r\n element.MonitorName = this.network.LoadBalancer.Monitor.filter(m => m.MonitorId === element.MonitorId)[0].Name;\r\n }\r\n });\r\n\r\n this.Pool = this.network.LoadBalancer.Pool;\r\n }\r\n\r\n LoadIpSet() {\r\n this.IPSet = this.network.groupingObjects.Ipset;\r\n }\r\n\r\n AddDhcp() {\r\n this.AvailableMacs = this.machines.filter(s => this.network.DHCP.StaticBindings.StaticBinding\r\n .map(u => u.MacAddress).indexOf(s.Configuration.MacAddress) === -1 && s.Configuration.MacAddress != null);\r\n if (this.AvailableMacs.length > 0) {\r\n this.selectedRule = new DHCPDTO();\r\n this.sidenav.open();\r\n } else {\r\n this.sidenav.close();\r\n this.snackbar.open('No hay maquinas disponibles', null, {\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n EditDhcp(rule: DHCPDTO) {\r\n this.AvailableMacs = this.machines.filter(s => this.network.DHCP.StaticBindings.StaticBinding\r\n .map(u => u.MacAddress).filter(f => f !== rule.MacAddress)\r\n .indexOf(s.Configuration.MacAddress) === -1 && s.Configuration.MacAddress != null);\r\n this.selectedRule = rule;\r\n this.sidenav.open();\r\n }\r\n\r\n EditNat(rule: NatDTO) {\r\n this.selectedNatRule = rule;\r\n this.sidenav.open();\r\n }\r\n\r\n EditVpn(rule: VpnDTO) {\r\n this.selectedVpnRule = rule;\r\n this.selectedVpnRuleID = this.network.IpSec.Sites.Site.indexOf(rule);\r\n this.sidenav.open();\r\n }\r\n\r\n EditRouting(rule: RoutingDTO) {\r\n this.selectedRoutingRule = rule;\r\n this.selectedRoutingRuleID = this.network.Routing.StaticRoutes.Route.indexOf(rule);\r\n this.sidenav.open();\r\n }\r\n\r\n AddNat() {\r\n this.selectedNatRule = new NatDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddVpn() {\r\n this.selectedVpnRule = new VpnDTO();\r\n this.selectedVpnRule.IsNew = true;\r\n this.selectedVpnRuleID = null;\r\n this.sidenav.open();\r\n }\r\n\r\n AddRouting() {\r\n this.selectedRoutingRule = new RoutingDTO();\r\n this.sidenav.open();\r\n this.selectedRoutingRuleID = null;\r\n }\r\n\r\n AddApplicationProfile() {\r\n this.selectedApplicationProfile = new AppProfileDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddVirtualServer() {\r\n this.selectedVirtualServer = new VirtualServerDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddPool() {\r\n this.selectedPool = new PoolDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n AddIPSet() {\r\n this.selectedIPSet = new IPSetDTO();\r\n this.sidenav.open();\r\n }\r\n\r\n SavedNetworkConf(Bindings) {\r\n this.GetNetworkConfiguration();\r\n }\r\n\r\n NatTab(event: MatTabChangeEvent) {\r\n this.selectedService = event.tab.textLabel;\r\n }\r\n\r\n loadBalancerActions(loadBalancerOption: string) {\r\n this.loadBalancerOption = loadBalancerOption;\r\n }\r\n}\r\n","\r\n
\r\n ERROR: La administración de redes no se encontró para esta nube\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n fiber_manual_recordFirewall\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordNAT\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordDHCP\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordVPN\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordRouting\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n fiber_manual_recordLoad Balancer\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'NETWORK_SETTINGS.APPLICATION_PROFILE' | translate}}\r\n \r\n \r\n \r\n {{'NETWORK_SETTINGS.RESOURCE_POOLS' | translate}}\r\n \r\n \r\n \r\n {{'NETWORK_SETTINGS.VIRTUAL_SERVERS' | 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 fiber_manual_recordIPSet\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { PoolDTO, PoolSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'pool-table',\r\n templateUrl: './pool-table.component.html',\r\n styleUrls: ['./pool-table.component.scss']\r\n})\r\nexport class PoolTableComponent implements OnInit, OnChanges {\r\n @Input(\"Pool\") Pool: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Algorithm', 'MonitorName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.Pool != null)\r\n this.dataSource.data = this.Pool;\r\n else\r\n this.dataSource.data = [];\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.Pool != null)\r\n this.dataSource.data = this.Pool;\r\n else\r\n this.dataSource.data = [];\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemovePoolModal(rule: PoolDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Pool\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemovePool(rule),\r\n }\r\n });\r\n }\r\n\r\n RemovePool(rule: PoolDTO) {\r\n let req = new PoolSaveRequestDTO();\r\n req.Pool = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemovePool(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Pool eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Pool ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditPool(rule: PoolDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Algoritmo\r\n {{row.Algorithm}} \r\n \r\n \r\n Monitor\r\n {{row.MonitorName}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { PoolDTO, PoolServerDTO, PoolSaveRequestDTO, MonitorDTO, ServiceDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'pool-settings',\r\n templateUrl: './pool.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\n\r\nexport class PoolComponent implements OnInit {\r\n @Input(\"Pool\") Pool: PoolDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PrivateIps\") PrivateIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Input(\"Monitors\") Monitors: Array;\r\n @Input(\"Machines\") Machines: Array;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n requirePort: boolean = false;\r\n private validForm: boolean = false;\r\n Member: PoolServerDTO = new PoolServerDTO();\r\n saveRequest: PoolSaveRequestDTO = new PoolSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n poolForm: FormGroup;\r\n serverForm:FormGroup;\r\n showMemberDetail:boolean = false;\r\n newMember:boolean = false;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService, private cdRef: ChangeDetectorRef) {\r\n // this.Machines = this.Machines.filter(f => f.Configuration.PrivateIp != null)\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.poolForm = this.formBuilder.group({\r\n 'Name' : ['',[Validators.pattern(/^[a-zA-Z0-9]+$/)]],\r\n 'Algorithm' : ['',[Validators.required]],\r\n 'MonitorId' : ['',''],\r\n });\r\n\r\n this.serverForm = this.formBuilder.group({\r\n 'IpAddress' : ['',[Validators.required]],\r\n 'Weight' : ['', [Validators.required]],\r\n 'Port' : ['', [Validators.required]],\r\n 'MonitorPort' : ['', [Validators.required]],\r\n 'MaxConn' : ['', [Validators.required]],\r\n 'MinConn' : ['', [Validators.required]],\r\n });\r\n }\r\n\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.requirePort = false;\r\n this.Member = new PoolServerDTO();\r\n this.saveRequest = new PoolSaveRequestDTO();\r\n }\r\n\r\n addMember() {\r\n this.Member = new PoolServerDTO();\r\n this.showMemberDetail = true;\r\n this.newMember = true;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n getMembers() {\r\n if (this.Pool.Member) {\r\n return this.Pool.Member;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n\r\n getMachines() {\r\n if (this.Machines) {\r\n return this.Machines.filter(f => f.Configuration.PrivateIp != null);\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n saveMember() {\r\n if(this.newMember)\r\n this.Pool.Member.push(this.Member);\r\n\r\n this.showMemberDetail = false;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.Pool = new PoolDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n removeMember(item) {\r\n var i = this.Pool.Member.indexOf(item);\r\n this.Pool.Member.splice(i,1);\r\n }\r\n\r\n editMember(item) {\r\n this.Member = item;\r\n this.showMemberDetail = true;\r\n this.newMember = false;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.poolForm.disable();\r\n this.serverForm.disable();\r\n\r\n for(let m of this.Pool.Member)\r\n {\r\n var machineName = this.Machines.filter(f => f.Configuration.PrivateIp == m.IpAddress).map(f => f.ServiceName)[0];\r\n m.Name = 'LB'+ machineName.replace(\".\",\"\");\r\n }\r\n\r\n this.Pool.MonitorName = null;\r\n this.saveRequest.Pool = this.Pool;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n\r\n this.wlservice.SavePool(this.saveRequest).subscribe(\r\n response => {\r\n this.poolForm.enable();\r\n this.serverForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Pool creado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.Pool);\r\n },\r\n error => {\r\n this.poolForm.enable();\r\n this.serverForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando Pool ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
Agregar Pool
\r\n
Editar Pool
\r\n
\r\n
\r\n
\r\n
\r\n
Configuración
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{Pool.Name ? Pool.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n Round-Robin\r\n IP-Hash\r\n Leastconn\r\n URI\r\n \r\n \r\n\r\n \r\n \r\n {{monitor.Name}}\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{globalization.networkSettings.sideNavPool.members[language]}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n {{machine.Configuration.PrivateIp}}\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n 0\" class=\"margin-bottom-10\">\r\n \r\n
\r\n
{{item.IpAddress}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { RoutingDTO, RoutingSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'routing-table',\r\n templateUrl: './routing-table.component.html',\r\n styleUrls: ['./routing-table.component.scss']\r\n})\r\nexport class RoutingTableComponent implements OnInit, OnChanges {\r\n @Input(\"Routing\") Routing: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Description', 'Network', 'NextHop', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.Routing != null)\r\n this.dataSource.data = this.Routing.StaticRoutes.Route;\r\n else\r\n this.dataSource.data = [];\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.Routing != null)\r\n this.dataSource.data = this.Routing.StaticRoutes.Route;\r\n else\r\n this.dataSource.data = [];\r\n \r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n\r\n RemoveRoutingModal(rule: RoutingDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla Routing\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveRoutingRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveRoutingRule(rule: RoutingDTO) {\r\n var i = this.Routing.StaticRoutes.Route.indexOf(rule);\r\n this.Routing.StaticRoutes.Route.splice(i,1);\r\n\r\n let req = new RoutingSaveRequestDTO();\r\n req.DatacenterID = this.DatacenterID;\r\n req.StaticRouting = this.Routing;\r\n\r\n this.wlservice.SaveRouting(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla de Routing eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla de Routing ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditRoutingRule(rule: RoutingDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Description}} \r\n \r\n \r\n Red\r\n {{row.Network}} \r\n \r\n \r\n Redireccionamiento\r\n {{row.NextHop}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { VirtualServerDTO, VirtualServerSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\n\r\n@Component({\r\n selector: 'virtual-server-table',\r\n templateUrl: './virtual-server-table.component.html',\r\n styleUrls: ['./virtual-server-table.component.scss']\r\n})\r\nexport class VirtualServerTableComponent implements OnInit, OnChanges {\r\n @Input(\"VirtualServer\") VirtualServer: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'ApplicationProfileName', 'IpAddress', 'Protocol', 'Port', 'DefaultPoolName', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.VirtualServer)\r\n this.dataSource.data = this.VirtualServer;\r\n else\r\n this.dataSource.data = [];\r\n\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.VirtualServer)\r\n this.dataSource.data = this.VirtualServer;\r\n else\r\n this.dataSource.data = [];\r\n \r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveVirtualServerModal(rule: VirtualServerDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Virtual Server\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveVirtualServer(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveVirtualServer(rule: VirtualServerDTO) {\r\n let req = new VirtualServerSaveRequestDTO();\r\n req.VirtualServer = rule;\r\n req.DatacenterID = this.DatacenterID;\r\n this.wlservice.RemoveVirtualServer(req).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Virtual Server eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando Virtual Server ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditVirtualServer(rule: VirtualServerDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n App Profile\r\n {{row.ApplicationProfileName}} \r\n \r\n \r\n Dirección IP\r\n {{row.IpAddress}} \r\n \r\n \r\n Protocolo\r\n {{row.Protocol}} \r\n \r\n \r\n Puerto\r\n {{row.Port}} \r\n \r\n \r\n Pool\r\n {{row.DefaultPoolName}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { VirtualServerDTO, VirtualServerSaveRequestDTO, AppProfileDTO } from '../../../../models/dtos.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Constants } from '../../../../models/constants.component';\r\nimport { Globalization } from '../../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../../services/auth/auth.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'virtualServer-settings',\r\n templateUrl: './virtual-server.component.html',\r\n styleUrls: ['../networkSettings.scss']\r\n})\r\nexport class VirtualServerComponent implements OnInit {\r\n @Input(\"VirtualServer\") VirtualServer: VirtualServerDTO;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"IpSets\") ipSets: Array;\r\n @Input(\"AppProfiles\") AppProfiles: Array;\r\n @Input(\"Pools\") Pools: Array;\r\n @Input(\"appGr\") appGr: Array;\r\n @Input(\"PublicIps\") PublicIps: Array;\r\n @Input(\"sidenav\") sidenav: MatSidenav;\r\n @Input(\"IsNew\") IsNew : boolean = true;\r\n @Output() NewBindings = new EventEmitter();\r\n const: Constants = new Constants();\r\n loading: boolean = false;\r\n private validForm: boolean = false;\r\n saveRequest: VirtualServerSaveRequestDTO = new VirtualServerSaveRequestDTO();\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n virtualServerForm: FormGroup;\r\n\r\n constructor(private wlservice: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.virtualServerForm = this.formBuilder.group({\r\n 'Name' : ['',[Validators.required]],\r\n 'ApplicationProfileId' : ['',[Validators.required]],\r\n 'IpAddress' : ['',[Validators.required]],\r\n 'Protocol' : ['',[Validators.required]],\r\n 'Port' : ['',[Validators.required]],\r\n 'DefaultPoolId' : ['',[Validators.required]],\r\n 'ConnectionLimit' : ['',[]],\r\n 'ConnectionRateLimit' : ['',[]],\r\n });\r\n }\r\n\r\n resetAll() {\r\n this.loading = false;\r\n this.saveRequest = new VirtualServerSaveRequestDTO();\r\n }\r\n\r\n ngOnInit() {\r\n this.VirtualServer = new VirtualServerDTO();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if(changes[\"IsNew\"]){\r\n if(changes[\"IsNew\"].currentValue){\r\n this.resetAll();\r\n this.IsNew = false;\r\n }\r\n }\r\n }\r\n\r\n saveRule() {\r\n this.loading = true;\r\n this.virtualServerForm.disable();\r\n\r\n this.VirtualServer.ApplicationProfileName = null;\r\n this.VirtualServer.DefaultPoolName = null;\r\n\r\n this.saveRequest.VirtualServer = this.VirtualServer;\r\n this.saveRequest.DatacenterID = this.DatacenterID;\r\n this.wlservice.SaveVirtualServer(this.saveRequest).subscribe(\r\n response => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Virtual Server creado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n\r\n this.sidenav.close();\r\n this.NewBindings.emit(this.VirtualServer);\r\n },\r\n error => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error agregando Virtual Server ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'VIRTUAL_SERVER.ADD_APPLICATION_PROFILE' | translate}}
\r\n
{{'VIRTUAL_SERVER.EDIT_APPLICATION_PROFILE' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'VIRTUAL_SERVER.CONFIGURATION_OF_THE_APPLICATION_PROFILE' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n {{VirtualServer.Name ? VirtualServer.Name.length : 0}} / 50\r\n
\r\n\r\n \r\n \r\n {{appProfile.Name}}\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n {{publicip}}\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n TCP\r\n HTTP\r\n HTTPS\r\n UDP\r\n \r\n \r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{pool.Name}}\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | translate}}.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
{{'VIRTUAL_SERVER.REQUIRED_FIELD' | 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","import { Component,Inject, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'vpn-stats',\r\n templateUrl: './vpn-stats.component.html',\r\n styleUrls: ['./vpn-stats.component.scss']\r\n})\r\nexport class VpnStatsComponent{\r\n StatsArray: MatTableDataSource = new MatTableDataSource();\r\n displayedColumns = ['LocalSubnet', 'PeerSubnet', 'LastInformationalMessage', 'TunnelStatus'];\r\n loading:boolean = false;\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.StatsArray.data = data.Stats;\r\n }\r\n\r\n okClick(){\r\n this.dialogRef.close();\r\n this.data.Ok();\r\n }\r\n\r\n cancelClick(){\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n }\r\n}","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n \r\n \r\n Local Subnet \r\n {{row.LocalSubnet}} \r\n \r\n \r\n Peer Subnets\r\n {{row.PeerSubnet}} \r\n \r\n \r\n Last Informational Message\r\n {{row.LastInformationalMessage}} \r\n \r\n \r\n Tunnel Status\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { Component,Inject, ViewChild, OnInit, Input, Output, EventEmitter, AfterViewInit, OnChanges } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n//import { GridComponent } from 'app/tools/grid/grid.component';\r\nimport { VpnDTO, VPNSaveRequestDTO } from '../../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../../tools/modals/confirmation/modal.component';\r\nimport { WlService } from '../../../../services/wlservice.service';\r\nimport { VpnStatsComponent } from '../vpn-stats/vpn-stats.component';\r\n\r\n@Component({\r\n selector: 'vpn-table',\r\n templateUrl: './vpn-table.component.html',\r\n styleUrls: ['./vpn-table.component.scss']\r\n})\r\nexport class VpnTableComponent implements OnInit, OnChanges {\r\n @Input(\"IpSec\") IpSec: any;\r\n @Input(\"DatacenterID\") DatacenterID: string;\r\n @Input(\"Loading\") Loading: boolean;\r\n @Output(\"OnDelete\") OnDelete = new EventEmitter(); \r\n @Output(\"OnEdit\") OnEdit = new EventEmitter(); \r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n public resultsLength = 10;\r\n dataSource = new MatTableDataSource();\r\n displayedColumns = ['Name', 'Enabled', 'Options'];\r\n constructor(private wlservice: WlService, public dialog: MatDialog, public snackbar: MatSnackBar) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.IpSec != null)\r\n this.dataSource.data = this.IpSec.Sites.Site;\r\n else\r\n this.dataSource.data = [];\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n applyFilter(filterValue: string) {\r\n if(this.IpSec != null)\r\n this.dataSource.data = this.IpSec.Sites.Site;\r\n else\r\n this.dataSource.data = [];\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n RemoveVpnModal(rule: VpnDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Regla Vpn\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.RemoveVpnRule(rule),\r\n }\r\n });\r\n }\r\n\r\n RemoveVpnRule(rule: VpnDTO) {\r\n var i = this.IpSec.Sites.Site.indexOf(rule);\r\n this.IpSec.Sites.Site.splice(i,1);\r\n\r\n if(this.IpSec.Sites.Site.length == 0)\r\n this.IpSec.Enabled = \"false\";\r\n else\r\n this.IpSec.Enabled = \"true\";\r\n \r\n let DeleteVPNRequest = new VPNSaveRequestDTO();\r\n DeleteVPNRequest.DatacenterID = this.DatacenterID;\r\n DeleteVPNRequest.IpSec = this.IpSec;\r\n\r\n this.wlservice.SaveVpn(DeleteVPNRequest).subscribe(\r\n response => {\r\n this.OnDelete.emit(rule);\r\n this.snackbar.open('Regla de VPN eliminada satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error eliminando regla de Vpn ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n}\r\n\r\n ReloadNetwork() {\r\n this.dataSource.filter = \"\";\r\n this.OnDelete.emit();\r\n }\r\n\r\n EditVpnRule(rule: VpnDTO) {\r\n this.OnEdit.emit(rule);\r\n }\r\n\r\n GetIpSecStats(rule: VpnDTO) {\r\n this.wlservice.GetIpSecStats(this.DatacenterID).subscribe(\r\n (response:any) => {\r\n var stats = response.SiteStatistics.filter(s => s.IkeStatus.PeerId == rule.PeerId);\r\n var TunnelStats = [];\r\n for(let s of stats)\r\n {\r\n TunnelStats.push(s.TunnelStats);\r\n }\r\n\r\n var totalUp = TunnelStats.filter(s => s.TunnelStatus.toUpperCase() == \"UP\").length;\r\n var totalDown = TunnelStats.filter(s => s.TunnelStatus.toUpperCase() == \"DOWN\").length;\r\n var title = totalUp + \" UP \" + totalDown + \" DOWN\";\r\n\r\n this.dialog.open(VpnStatsComponent, {\r\n data: {\r\n Title: title,\r\n Stats: TunnelStats\r\n }\r\n });\r\n },\r\n error => {\r\n this.snackbar.open('Error consultando estadísticas de Vpn ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Nombre\r\n {{row.Name}} \r\n \r\n \r\n Estado\r\n {{row.Enabled}} \r\n \r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","export class DhcpServerDto\r\n{\r\n public mac : string;\r\n public cid : string; \r\n public ipaddr : string; \r\n public hostname : string;\r\n public descr: string; \r\n public arp_table_static_entry: string;\r\n public filename : string\r\n public rootpath : string\r\n public defaultleasetime: string\r\n public maxleasetime :string\r\n public gateway :string\r\n public domain : string\r\n public domainsearchlist : string \r\n public ddnsdomain :string\r\n public ddnsdomainprimary : string\r\n public ddnsdomainkeyname : string\r\n public ddnsdomainkey : string\r\n public tftp : string\r\n public ldap : string\r\n public dnsserver : Array ;\r\n}","export class DnatRuleDto{\r\n\r\n public source: SourceDnatRuleDto;\r\n public destination : DestinationDnatRuleDto ; \r\n public protocol : string;\r\n public target: string;\r\n public localPort:string;\r\n public interface : string;\r\n public descr: string;\r\n public associatedRuleId :string; \r\n public updated : UpdatedDnatRuleDto; \r\n public created : UpdatedDnatRuleDto; \r\n}\r\n\r\nexport class SourceDnatRuleDto{ \r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\nexport class DestinationDnatRuleDto {\r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\nexport class UpdatedDnatRuleDto\r\n{\r\n public time : string; \r\n public username : string; \r\n}","export class FirewallIPDto {\r\n public name: string;\r\n public description: string;\r\n public values :string;\r\n public type:string;\r\n constructor() {\r\n this.name = null;\r\n this.description = null;\r\n this.values = null;\r\n this.type = null;\r\n }\r\n}\r\n\r\n export class FirewallIPInDto {\r\n public name: string;\r\n public description: string;\r\n public value :ipObject[];\r\n public type:string;\r\n constructor() {\r\n this.name = null;\r\n this.description = null;\r\n this.value = new Array();\r\n this.type = null;\r\n }\r\n}\r\n \r\nexport class ipObject {\r\n public address: string;\r\n public descr: string;\r\n public type :string;\r\n\r\n constructor() {\r\n this.address = '';\r\n this.descr = '';\r\n this.type = '';\r\n }\r\n\r\n}\r\n\r\nexport class RequestAliasFirewallDto\r\n{\r\n public customerId: string;\r\n public datacenterId : string;\r\n public ccid?: number ;\r\n public rulePosition? : number;\r\n public NewAliasFirewallDto: FirewallIPInDto;\r\n}\r\n\r\n\r\n\r\n\r\n","export class FirewallRulesDto {\r\n public id: string;\r\n public tracker: string;\r\n public type : string;\r\n public interface: string;\r\n public ipprotocol: string;\r\n public tag: string;\r\n public tagged: string;\r\n public max: string; \r\n public maxSrcNodes:string;\r\n public maxSrcConn: string;\r\n public maxSrcStates : string;\r\n public statetimeout : string;\r\n public statetype :string;\r\n public os : string;\r\n public protocol :string;\r\n public icmptype : string;\r\n public source :SourceFirewallRulesDto;\r\n public destination : DestinationFirewallRulesDto;\r\n public descr : string;\r\n public updated :UpdatedFirewallRulesDto;\r\n public created : UpdatedFirewallRulesDto;\r\n\r\n}\r\n\r\n\r\n\r\nexport class SourceFirewallRulesDto {\r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\nexport class DestinationFirewallRulesDto{\r\n public address?: string;\r\n public any?: string;\r\n public network? :string;\r\n public port ?: string;\r\n}\r\n\r\n\r\nexport class UpdatedFirewallRulesDto\r\n{\r\n public time: string;\r\n public username: string; \r\n}","\r\nexport class PfenseRequestDto {\r\n public customerId :string;\r\n public datacenterId :string;\r\n}\r\n \r\n","import { AliasFirewallRulesDto} from './alias-firewall-rules-dto';\r\nimport { FirewallRulesDto} from './firewall-rules-dto';\r\nimport { SnatRulesDto } from './snat-rules-dto';\r\nimport { DnatRuleDto } from './dnat-rules-dto';\r\nimport { DhcpServerDto} from './dhcp-server-dto';\r\n\r\n\r\nexport class RulesResponseDetailsDto\r\n {\r\n public aliasFirewallRules: Array;\r\n public firewallRules: Array;\r\n public snatRules: Array;\r\n public dnatRule : Array;\r\n public dhcpServer : Array;\r\n }","export class SnatRulesDto { \r\n public sourcereport: string;\r\n public descr :string;\r\n public target: string;\r\n public targetip :string;\r\n public targetip_subnet :string;\r\n public interface :string;\r\n public poopLopts :string;\r\n public destination : DestinationSnatRulesDto;\r\n public dstport :string;\r\n public protocol: string;\r\n public source_hash_key :string;\r\n public updated :UpdatedSnatRulesDto;\r\n public created :UpdatedSnatRulesDto;\r\n public source : SourceSnatRulesDto;\r\n public staticnatport? : string;\r\n}\r\n\r\nexport class SourceSnatRulesDto{\r\n public address? : string;\r\n public any? : string;\r\n public port? : string;\r\n public network? :string;\r\n}\r\n\r\nexport class DestinationSnatRulesDto\r\n{\r\n public address? : string;\r\n public any? : string;\r\n public port? : string;\r\n public network? :string;\r\n}\r\n\r\nexport class UpdatedSnatRulesDto\r\n{\r\n public time : string;\r\n public username : string;\r\n}\r\n\r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { FirewallIPDto } from '../DTO/firewall-ip-dto';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { NewPfSenseIpComponent } from '../pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-aliases-all',\r\n templateUrl: './firewall-aliases-all.component.html',\r\n styleUrls: ['./firewall-aliases-all.component.scss']\r\n})\r\nexport class FirewallAliasesAllComponent implements AfterViewInit{\r\n @Input() item:FirewallIPDto[] = [];\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['name', 'description', 'address'];\r\n dataSource: MatTableDataSource;\r\n constructor(public dialog: MatDialog) { \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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 ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewPfSenseIpComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if(result){\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {{element.name}} Description {{element.descr}} Value {{element.address}}
\r\n \r\n
\r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { FirewallIPDto } from '../DTO/firewall-ip-dto';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { NewPfSenseIpComponent } from '../pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-firewall-aliases-ports',\r\n templateUrl: './firewall-aliases-ports.component.html',\r\n styleUrls: ['./firewall-aliases-ports.component.scss']\r\n})\r\nexport class FirewallAliasesPortsComponent implements AfterViewInit {\r\n @Input() item:FirewallIPDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['name', 'description', 'address'];\r\n dataSource: MatTableDataSource;\r\n\r\n\r\n constructor(public dialog: MatDialog) { \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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 ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.type ==='port');\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewPfSenseIpComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {{element.name}} Description {{element.descr}} Value {{element.address}}
\r\n \r\n
\r\n \r\n","import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { SnatRulesDto } from '../DTO/snat-rules-dto';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewFirewallRuleComponent } from './new-firewall-rule/new-firewall-rule.component';\r\n\r\n@Component({\r\n selector: 'app-firewall-nat-outbound',\r\n templateUrl: './firewall-nat-outbound.component.html',\r\n styleUrls: ['./firewall-nat-outbound.component.scss']\r\n})\r\nexport class FirewallNatOutboundComponent implements AfterViewInit {\r\n\r\n @Input() item:SnatRulesDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['Interface', 'Source', 'Source Port', 'Destination', 'Destination Port','NAT Address', 'NAT Port', 'Static Port','Description' ];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor(public dialog: MatDialog) { \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule() {\r\n\r\n const dialogRef = this.dialog.open(NewFirewallRuleComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(\"data!!\")\r\n if(result){\r\n //this.dataSource.data.push = result;\r\n console.log(\"result\", result);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Interface {{element.interface}} Source {{element.source.network}} Source Port {{element.sourcereport}} Destination {{element.destination.address}} Destination Port {{element.dstport}} NAT Address {{element.interface}} Address NAT Port * Static Port {{(element.staticnatport) ? element.staticnatport: 'true' }} Description {{element.descr}}
\r\n \r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SnatRulesDto } from '../../DTO/snat-rules-dto';\r\n\r\n@Component({\r\n selector: 'app-new-firewall-rule',\r\n templateUrl: './new-firewall-rule.component.html',\r\n styleUrls: ['./new-firewall-rule.component.scss']\r\n})\r\nexport class NewFirewallRuleComponent implements OnInit {\r\n\r\n newRule : SnatRulesDto;\r\n disabled: boolean = false;\r\n\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder ) { \r\n this.newRule = new SnatRulesDto();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n\r\n CloseRuleFormView(){\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n\r\n Crear nueva regla\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Edit Advanced Outbound NAT Entry\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Do not NAT \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n WAN\r\n \r\n \r\n LAN\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n IPv4\r\n \r\n \r\n IPv6\r\n \r\n \r\n IPv4 + IPv6\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n any\r\n \r\n \r\n TCP\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Translation\r\n
\r\n
\r\n \r\n \r\n \r\n Interface Address\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n MISC\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n ","import { AfterViewInit, Component, Inject, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { DnatRuleDto } from '../DTO/dnat-rules-dto';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NewFirewallPortRuleComponent } from '../firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component'\r\n\r\n@Component({\r\n selector: 'app-firewall-nat-port-forward',\r\n templateUrl: './firewall-nat-port-forward.component.html',\r\n styleUrls: ['./firewall-nat-port-forward.component.scss']\r\n})\r\nexport class FirewallNatPortForwardComponent implements AfterViewInit {\r\n @Input() item:DnatRuleDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['Interface', 'Protocol', 'Source Address', 'Source Ports', 'Dest. Address','Dest. Ports', 'NAT IP', 'NAT Ports', 'Description'];\r\n dataSource: MatTableDataSource;\r\n \r\n \r\n constructor(public dialog: MatDialog) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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 ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewFirewallPortRuleComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
Interface {{element.interface}} Protocol {{element.protocol}} Source Address {{(element.source.address) ? element.source.address : '*'}} Source Ports {{(element.source.port) ? element.source.port : '*'}} Dest. Address {{(element.source.address) ? element.source.address : '*'}} Dest. Ports {{element.destination.port}} NAT IP {{element.target}} NAT Ports Description {{element.descr}}
\r\n \r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DnatRuleDto } from '../../DTO/dnat-rules-dto';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@Component({\r\n selector: 'app-new-firewall-port-rule',\r\n templateUrl: './new-firewall-port-rule.component.html',\r\n styleUrls: ['./new-firewall-port-rule.component.scss']\r\n})\r\nexport class NewFirewallPortRuleComponent implements OnInit {\r\n\r\n newRule : DnatRuleDto;\r\n disabled: boolean = false;\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder) {\r\n this.newRule = new DnatRuleDto();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n\r\n CloseRuleFormView(){\r\n\r\n }\r\n}","\r\n\r\n Edit Redirect Entry\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Edit Redirect Entry\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n No RDR (NOT) \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n WAN\r\n \r\n \r\n LAN\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n TCP\r\n \r\n \r\n UDP\r\n \r\n \r\n TCP/UPD\r\n \r\n \r\n ICMP\r\n \r\n \r\n ESP\r\n \r\n \r\n AH\r\n \r\n \r\n GRE\r\n \r\n \r\n IPV6\r\n \r\n \r\n IGMP\r\n \r\n \r\n PIM\r\n \r\n \r\n OSPF\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Any\r\n \r\n \r\n Network\r\n \r\n \r\n Single host or alas\r\n \r\n \r\n This Firewall (Self)\r\n \r\n \r\n PPPoE clients\r\n \r\n \r\n L2TP clients\r\n \r\n \r\n WAN Address\r\n \r\n \r\n WAN NET\r\n \r\n \r\n LAN NET \r\n \r\n \r\n MGMT net\r\n \r\n \r\n MGMT Address\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Destination port range\r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Redirect target IP\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Description\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n No XMLRPC Sync\r\n
\r\n
\r\n Do not automatically sync to other CARP members\r\n \r\n
\r\n
\r\n
\r\n
\r\n NAT reflection\r\n
\r\n
\r\n \r\n \r\n \r\n Use System default\r\n \r\n \r\n Enable (NAT + proxy)\r\n \r\n \r\n Enable (Pure NAT)\r\n \r\n \r\n Disable\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Filter rule association\r\n
\r\n
\r\n \r\n \r\n \r\n None\r\n \r\n \r\n Add associated filter rule\r\n \r\n \r\n Add unassociated filter rule\r\n \r\n \r\n Pass\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n ","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FirewallRulesDto } from '../DTO/firewall-rules-dto';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewFirewallRuleWanComponent} from '../firewall-rules-wan/new-firewall-rule-wan/new-firewall-rule-wan.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-rules-lan',\r\n templateUrl: './firewall-rules-lan.component.html',\r\n styleUrls: ['./firewall-rules-lan.component.scss']\r\n})\r\nexport class FirewallRulesLanComponent implements AfterViewInit {\r\n @Input() item:FirewallRulesDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['States', 'Protocol', 'Source', 'Port','Destination', 'Gateway', 'Queue', 'Schedule','Description'];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor( public dialog: MatDialog) { \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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 ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.interface ==='lan');\r\n }\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewFirewallRuleWanComponent, {\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n"," \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
States {{element.statetype}} Protocol {{(element.protocol) ? element.protocol : '*'}} Source {{(element.source.address) ? element.source.address : '*'}} Port {{element.destination.port }} Destination {{element.destination.network }} Gateway * Queue none Schedule Description {{(element.descr) ? element.descr : ''}}
\r\n \r\n
\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SnatRulesDto } from '../DTO/snat-rules-dto';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-rules-oneone',\r\n templateUrl: './firewall-rules-oneone.component.html',\r\n styleUrls: ['./firewall-rules-oneone.component.scss']\r\n})\r\n\r\nexport class FirewallRulesOneoneComponent implements OnInit {\r\n @Input() item:SnatRulesDto[] = []; // decorate the property with @Input()\r\n displayedColumns: string[] = ['Interface', 'External IP', 'Internal IP', 'Destination IP', 'Description'];\r\n dataSource = this.item;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource = this.item;\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
Interface {{element.Interface}} External IP Internal IP Internal IP Description
\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FirewallRulesDto } from '../DTO/firewall-rules-dto';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewFirewallRuleWanComponent} from './new-firewall-rule-wan/new-firewall-rule-wan.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-firewall-rules-wan',\r\n templateUrl: './firewall-rules-wan.component.html',\r\n styleUrls: ['./firewall-rules-wan.component.scss']\r\n})\r\nexport class FirewallRulesWanComponent implements AfterViewInit {\r\n\r\n @Input() item:FirewallRulesDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['States', 'Protocol', 'Source', 'Port','Destination', 'Gateway', 'Queue', 'Schedule','Description' ];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor(public dialog: MatDialog) { \r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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\r\n ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.interface ==='wan');\r\n }\r\n }\r\n\r\n newRule(){\r\n const dialogRef = this.dialog.open(NewFirewallRuleWanComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if(result){\r\n //this.dataSource.data.push = result;\r\n }\r\n\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
States {{element.statetype}} Protocol {{(element.protocol) ? element.protocol : '*'}} Source {{(element.source.address) ? element.source.address : '*'}} Port {{element.destination.port }} Destination {{element.destination.network }} Gateway * Queue none Schedule Description {{(element.descr) ? element.descr : ''}} acciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FirewallRulesDto } from '../../DTO/firewall-rules-dto';\r\nimport { NewFirewallPortRuleComponent } from '../../firewall-nat-port-forward/new-firewall-port-rule/new-firewall-port-rule.component';\r\n\r\n@Component({\r\n selector: 'app-new-firewall-rule-wan',\r\n templateUrl: './new-firewall-rule-wan.component.html',\r\n styleUrls: ['./new-firewall-rule-wan.component.scss']\r\n})\r\nexport class NewFirewallRuleWanComponent implements OnInit {\r\n\r\n newRule : FirewallRulesDto;\r\n disabled: boolean = false;\r\n advancedOptions :boolean = false;\r\n constructor( public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n\r\n}\r\n","\r\n\r\n Edit Firewall Rule\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Edit Firewall Rule\r\n
\r\n
\r\n \r\n \r\n \r\n Pass\r\n \r\n \r\n Block\r\n \r\n \r\n Reject\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Disabled \r\n

This option is rarely needed. Don't use this without thorough knowledge of the implications.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n WAN\r\n \r\n \r\n LAN\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n IPv4\r\n \r\n \r\n IPv6\r\n \r\n \r\n IPv4 + IPv6\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n any\r\n \r\n \r\n TCP\r\n \r\n \r\n MGMT\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Source\r\n
\r\n
\r\n Invert match \r\n
\r\n
\r\n \r\n \r\n \r\n Any\r\n \r\n \r\n Network\r\n \r\n \r\n Single host or alas\r\n \r\n \r\n This Firewall (Self)\r\n \r\n \r\n PPPoE clients\r\n \r\n \r\n L2TP clients\r\n \r\n \r\n WAN Address\r\n \r\n \r\n WAN NET\r\n \r\n \r\n LAN NET \r\n \r\n \r\n MGMT net\r\n \r\n \r\n MGMT Address\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Destination\r\n
\r\n
\r\n Invert match \r\n
\r\n
\r\n \r\n \r\n \r\n Any\r\n \r\n \r\n Network\r\n \r\n \r\n Single host or alas\r\n \r\n \r\n This Firewall (Self)\r\n \r\n \r\n PPPoE clients\r\n \r\n \r\n L2TP clients\r\n \r\n \r\n WAN Address\r\n \r\n \r\n WAN NET\r\n \r\n \r\n LAN NET \r\n \r\n \r\n MGMT net\r\n \r\n \r\n MGMT Address\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Destination Port Range \r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Other\r\n \r\n \r\n Any\r\n \r\n \r\n BGP\r\n \r\n \r\n CVsup\r\n \r\n \r\n DNS\r\n \r\n \r\n DNS over TLS\r\n \r\n \r\n FTP\r\n \r\n \r\n HBCI\r\n \r\n \r\n HTTP \r\n \r\n \r\n HTTPS\r\n \r\n \r\n ICQ\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Extra Options\r\n
\r\n
\r\n Log\r\n

Hint: the firewall has limited local log space. Don't turn on logging for everything. If doing a lot of logging, consider using a remote syslog server (see the Status: System Logs: Settings page).

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

A description may be entered here for administrative reference. A maximum of 52 characters will be used in the ruleset and displayed in the firewall log.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Advanced Options\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Allow IP options\r\n

Allow packets with IP options to pass. Otherwise they are blocked by default. This is usually only seen with multicast traffic.

\r\n
\r\n
\r\n Disable reply-to\r\n

Disable auto generated reply-to for this rule.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\nexport class PfSenseMenuService {\r\n\r\n toggled = false;\r\n _hasBackgroundImage = true;\r\n menus = [\r\n {\r\n title: 'FIREWALL',\r\n icon: 'fa fa-server',\r\n active: false,\r\n type: 'dropdown',\r\n link: 'aliases',\r\n submenus: [\r\n {\r\n title: 'ALIAS',\r\n active: false,\r\n icon : 'fa fa-globe',\r\n type: 'simple',\r\n link: 'aliases'\r\n },\r\n {\r\n title: 'NAT',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n link: 'nat'\r\n },\r\n {\r\n title: 'FW',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n link: 'rules',\r\n }\r\n ]\r\n },\r\n {\r\n title: 'SERVICES',\r\n icon: 'fa fa-cog',\r\n active: false,\r\n type: 'dropdown',\r\n link: 'dhcp',\r\n submenus: [\r\n {\r\n title: 'DHCP SERVICES',\r\n icon :'fa fa fa-globe',\r\n component : \"Administration\",\r\n link: 'dhcp'\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Extra',\r\n type: 'header'\r\n }\r\n ];\r\n constructor() { }\r\n\r\n toggle() {\r\n this.toggled = ! this.toggled;\r\n }\r\n\r\n getSidebarState() {\r\n return this.toggled;\r\n }\r\n\r\n setSidebarState(state: boolean) {\r\n this.toggled = state;\r\n }\r\n\r\n getMenuList() {\r\n return this.menus;\r\n }\r\n\r\n get hasBackgroundImage() {\r\n return this._hasBackgroundImage;\r\n }\r\n\r\n set hasBackgroundImage(hasBackgroundImage) {\r\n this._hasBackgroundImage = hasBackgroundImage;\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from 'src/app/services/wlservice.service';\r\nimport { PfSenseMenuService } from './pf-sense-menu.service';\r\nimport { NewPfSenseIpComponent } from './pfsense-ip/forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\nimport { RulesResponseDetailsDto} from './DTO/rules-response-detail-dto';\r\nimport { PfenseRequestDto } from './DTO/pfsenseRequest-dto';\r\n\r\n\r\n@Component({\r\n selector: 'app-pf-sense-network-settings',\r\n templateUrl: './pf-sense-network-settings.component.html',\r\n styleUrls: ['./pf-sense-network-settings.component.scss'],\r\n animations: [\r\n trigger('slide', [\r\n state('up', style({ height: 0 })),\r\n state('down', style({ height: '*' })),\r\n transition('up <=> down', animate(200))\r\n ])\r\n ]\r\n})\r\nexport class PfSenseNetworkSettingsComponent implements OnInit {\r\n menus = [];\r\n PfenseRequest :PfenseRequestDto = new PfenseRequestDto() ;\r\n RulesResponseDetail : RulesResponseDetailsDto = new RulesResponseDetailsDto();\r\n loading: boolean;\r\n activeItem : string = 'alias';\r\n\r\n constructor(private menuService : PfSenseMenuService, \r\n public dialog: MatDialog, \r\n private wlservice: WlService, \r\n public snackbar: MatSnackBar,\r\n private route: ActivatedRoute) {\r\n\r\n this.route.params.subscribe(params => {\r\n this.PfenseRequest.datacenterId = params.datacenterID;\r\n this.PfenseRequest.customerId = params.customerID;\r\n\r\n //this.PfenseRequest.datacenterId = '1565';\r\n //this.PfenseRequest.customerId = null\r\n });\r\n this.menus = this.menuService.getMenuList();\r\n this.loading= false;\r\n }\r\n\r\n ngOnInit() {\r\n this.getNetworkRules();\r\n }\r\n\r\n getSideBarState() {\r\n return this.menuService.getSidebarState();\r\n }\r\n\r\n toggle (level :number, currentMenu) {\r\n if (currentMenu.type === 'dropdown') {\r\n \r\n this.menus.forEach(element => {\r\n if(level ===1){\r\n if (element === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n element.active = false;\r\n }\r\n }else if(level ===2){\r\n \r\n if( element.submenus && element.submenus.length > 0){\r\n element.submenus.forEach(data => {\r\n if (data === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n data.active = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n \r\n }\r\n }\r\n\r\n getState(currentMenu) {\r\n\r\n if (currentMenu.active) {\r\n return 'down';\r\n } else {\r\n return 'up';\r\n }\r\n }\r\n\r\n hasBackgroundImage() {\r\n return this.menuService.hasBackgroundImage;\r\n }\r\n \r\n\r\n getNetworkRules(){\r\n this.wlservice.getNeworkPfsenseRules(this.PfenseRequest).subscribe(\r\n response => {\r\n this.loading = false;\r\n if (response.data){\r\n this.RulesResponseDetail = response.data;\r\n } else{\r\n this.snackbar.open('No se encontraron redes de tipo PfSense', null, {\r\n duration: 2000,\r\n });\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('No se encontró una red de tipo pfsense', null, {\r\n duration: 2000,\r\n });\r\n }\r\n ); \r\n\r\n }\r\n\r\n\r\n public displayItem(data: string ) {\r\n this.activeItem = data;\r\n }\r\n\r\n addPfsense(){\r\n const d = this.dialog.open(NewPfSenseIpComponent, {\r\n hasBackdrop: true,\r\n disableClose: false,\r\n data: {\r\n Title: 'Agregar ALLIACES'\r\n }\r\n });\r\n\r\n d.afterClosed().subscribe(result => {\r\n if (result) {\r\n\r\n console.log(\"result\", result);\r\n \r\n /* this.service.sendCalculatorCloudServerSendEmail(this.dataSendMail).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.snackbar.open('Correo Enviado Correctamente', null, {\r\n duration: 2000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Ocurrió un error por favor intentelo nuevamente'+ error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n ); */\r\n\r\n }\r\n });\r\n\r\n \r\n }\r\n\r\n \r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FirewallRulesDto } from '../../DTO/firewall-rules-dto';\r\n\r\n\r\n@Component({\r\n selector: 'app-detail-pfsense-ip',\r\n templateUrl: './detail-pfsense-ip.component.html',\r\n styleUrls: ['./detail-pfsense-ip.component.scss']\r\n})\r\nexport class DetailPfsenseIpComponent implements OnInit {\r\n resource : FirewallRulesDto;\r\n\r\n constructor( private dialog : MatDialogRef ,@Inject(MAT_DIALOG_DATA) public data: FirewallRulesDto ) { \r\n this.resource = new FirewallRulesDto();\r\n if(data !=null)\r\n this.resource = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n okClick(){\r\n this.dialog.close();\r\n }\r\n cancelClick(){\r\n this.dialog.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Detalles\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Sistema Operativo
\r\n
computer
\r\n
1231
\r\n
\r\n
\r\n
\r\n
\r\n
Cores
\r\n
nfc
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Ram
\r\n
memory
\r\n
GB
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Estado
\r\n
adjust
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Hdd
\r\n
storage
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Remote Access
\r\n
important_devices
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Mac Address
\r\n
vpn_lock
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Orion IP
\r\n
public
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FirewallIPInDto, RequestAliasFirewallDto, ipObject} from '../../../DTO/firewall-ip-dto';\r\nimport { WlService } from '../../../../../..//services/wlservice.service';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-new-pf-sense-ip',\r\n templateUrl: './new-pf-sense-ip.component.html',\r\n styleUrls: ['./new-pf-sense-ip.component.scss']\r\n})\r\nexport class NewPfSenseIpComponent implements OnInit {\r\n loading:boolean = false;\r\n newIpForm : FormGroup;\r\n newRule : FirewallIPInDto;\r\n AddHostRuleForm : FormGroup;\r\n AddNetworkRuleForm : FormGroup;\r\n AddPortRuleForm : FormGroup;\r\n AddURLRuleForm : FormGroup;\r\n AddURLPortsRuleForm : FormGroup;\r\n AddURLTableRuleForm :FormGroup;\r\n AddURLTablePortsRuleForm :FormGroup;\r\n requestAliasFirewall : RequestAliasFirewallDto = new RequestAliasFirewallDto();\r\n\r\n rule : ipObject = new ipObject();\r\n rulesRows: ipObject[] = [];\r\n \r\n\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder, private service :WlService) { \r\n this.newIpForm = this.formBuilder.group({\r\n 'Name' : [{value:'',disabled: this.loading},[Validators.required]],\r\n 'Description' : [{value:'',disabled: this.loading},[Validators.required]],\r\n 'Type' : [{value:''} ,[Validators.required]]\r\n });\r\n\r\n this.newRule = new FirewallIPInDto();\r\n this.newRule.type = 'host';\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.AddHostRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddNetworkRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n \r\n this.AddPortRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLPortsRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLTableRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n this.AddURLTablePortsRuleForm = this.formBuilder.group({\r\n rulesRows: this.formBuilder.array([this.initRulesRows()])\r\n });\r\n\r\n \r\n }\r\n\r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n AddRules(){\r\n\r\n this.requestAliasFirewall.NewAliasFirewallDto = this.newRule;\r\n this.requestAliasFirewall.customerId = this.data.customerId,\r\n this.requestAliasFirewall.datacenterId = this.data.datacenterId,\r\n\r\n console.log(\"AliasFirewall\", this.requestAliasFirewall);\r\n\r\n this.service.PfCreateAliasFirewall(this.requestAliasFirewall)\r\n .subscribe(\r\n response => {\r\n console.log(\"regla agregada correctamente\", response)\r\n },\r\n error => {\r\n console.log(\"Error al guardar las reglas \", error)\r\n }\r\n ) \r\n }\r\n\r\n\r\n\r\n initRulesRows() {\r\n this.rule.type = this.newRule.type;\r\n return this.formBuilder.group(this.rule);\r\n }\r\n\r\n\r\n addElements(){\r\n\r\n let control = null; \r\n\r\n switch (this.newRule.type) {\r\n case 'host':\r\n control = this.AddHostRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'network': \r\n control = this.AddNetworkRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'port': \r\n control = this.AddPortRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'url': \r\n control = this.AddURLRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'url_ports': \r\n control = this.AddURLPortsRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'urltable': \r\n control = this.AddURLTableRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break;\r\n case 'urltable_ports': \r\n control = this.AddURLTablePortsRuleForm.controls['rulesRows'];\r\n control.push(this.initRulesRows());\r\n break; \r\n default:\r\n break;\r\n }\r\n this.updateRulesArray();\r\n\r\n }\r\n\r\n updateRulesArray(){ \r\n\r\n let values = this.AddHostRuleForm.controls['rulesRows'].value +\r\n this.AddNetworkRuleForm.controls['rulesRows'].value +\r\n this.AddPortRuleForm.controls['rulesRows'].value +\r\n this.AddURLRuleForm.controls['rulesRows'].value +\r\n this.AddURLPortsRuleForm.controls['rulesRows'].value + \r\n this.AddURLTableRuleForm.controls['rulesRows'].value +\r\n this.AddURLTablePortsRuleForm.controls['rulesRows'].value;\r\n \r\n\r\n this.newRule.value = values ; \r\n\r\n console.log(\"values\", this.newRule);\r\n }\r\n\r\n deleteHost(index){\r\n this.newRule.value.splice(index, 1);\r\n }\r\n\r\n deleteDisk(index: number) {\r\n if(this.newRule.value.length > 1){\r\n const control = this.AddHostRuleForm.controls['rulesRows'];\r\n control.removeAt(index);\r\n this.updateRulesArray();\r\n } \r\n }\r\n \r\n\r\n\r\n}\r\n","\r\n Crear nueva regla\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Properties\r\n
\r\n
\r\n \r\n \r\n Host(s)\r\n Network(s)\r\n Port(s)\r\n URL (IPs)\r\n URL (Ports)\r\n URL Table (IPs)\r\n URL Table (Ports)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{newRule.type}} (s)\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Hint
\r\n

Networks are specified in CIDR format. Select the CIDR mask that pertains to each entry. /32 specifies a single IPv4 host, /128 specifies a single IPv6 host, /24 specifies 255.255.255.0, /64 specifies a normal IPv6 network, etc. Hostnames (FQDNs) may also be specified, using a /32 mask for IPv4 or /128 for IPv6. An IP range such as 192.168.1.1-192.168.1.254 may also be entered and a list of CIDR networks will be derived to fill the range.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter ports as desired, with a single port or port range per entry. Port ranges can be expressed by separating with a colon.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter as many URLs as desired. After saving, the URLs will be downloaded and the items imported into the alias. Use only with small sets of IP addresses (less than 3000).

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter as many URLs as desired. After saving, the URLs will be downloaded and the items imported into the alias. Use only with small sets of Ports (less than 3000).\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter a single URL containing a large number of IPs and/or Subnets. After saving, the URLs will be downloaded and a table file containing these addresses will be created. This will work with large numbers of addresses (30,000+) or small numbers.\r\n The value after the \"/\" is the update frequency in days.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hint
\r\n

Enter a single URL containing a list of Port numbers and/or Port ranges. After saving, the URL will be downloaded.\r\n The value after the \"/\" is the update frequency in days.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource} from '@angular/material/table';\r\nimport { FirewallIPDto} from '../DTO/firewall-ip-dto'\r\nimport { DetailPfsenseIpComponent } from './detail-pfsense-ip/detail-pfsense-ip.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator} from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { NewPfSenseIpComponent } from './forms/new-pf-sense-ip/new-pf-sense-ip.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-pfsense-ip',\r\n templateUrl: './pfsense-ip.component.html',\r\n styleUrls: ['./pfsense-ip.component.scss']\r\n})\r\nexport class PfsenseIpComponent implements AfterViewInit {\r\n @Input() item:FirewallIPDto[] = []; // decorate the property with @Input()\r\n @Input() customerId:string = null; // decorate the property with @Input()\r\n @Input() datacenterId:string = null; // decorate the property with @Input()\r\n \r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n displayedColumns: string[] = ['name', 'description', 'address'];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor( public dialog: MatDialog) { \r\n this.dataSource = new MatTableDataSource(this.item);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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 ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item.filter(item => item.type ==='host' || item.type ==='network');\r\n\r\n \r\n }\r\n }\r\n\r\n OpenDetail(item) {\r\n this.dialog.open(DetailPfsenseIpComponent, {\r\n width: '65%',\r\n disableClose: true,\r\n data: item\r\n })\r\n }\r\n\r\n newRule() {\r\n const dialogRef = this.dialog.open(NewPfSenseIpComponent, {\r\n data: {\r\n customerId: this.customerId,\r\n datacenterId : this.datacenterId,\r\n ccid : null,\r\n rulePosition : 1,\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n if(result){\r\n \r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \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 {{element.name}} Description {{element.descr}} Value {{element.address}} Actions\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {ipObject} from '../../DTO/firewall-ip-dto';\r\n\r\n@Pipe({\r\n name: 'filterType'\r\n})\r\nexport class FilterTypePipe implements PipeTransform {\r\n\r\n transform(item: any[], ...args: string[]): any[] {\r\n \r\n if(item.length > 0){\r\n \r\n return item.filter(item => (item.value.type) ? item.value.type.indexOf(args[0]) !== -1 : null);\r\n }\r\n\r\n \r\n \r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DhcpServerDto } from '../../DTO/dhcp-server-dto';\r\n\r\n@Component({\r\n selector: 'app-new-dhcp-service',\r\n templateUrl: './new-dhcp-service.component.html',\r\n styleUrls: ['./new-dhcp-service.component.scss']\r\n})\r\nexport class NewDhcpServiceComponent implements OnInit {\r\n newRule : DhcpServerDto;\r\n loading:boolean = false;\r\n dialogRef: any;\r\n\r\n constructor() { \r\n this.newRule = new DhcpServerDto ();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n AddRule(){\r\n /*this.service.AddFirewallRule(this.newRule).subscribe(\r\n response=>{\r\n this.rules.add(response);\r\n },\r\n error=>{}\r\n ) */\r\n }\r\n Close(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n Edit Static Mapping\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Static DHCP Mapping on LAN\r\n
\r\n
\r\n \r\n \r\n \r\n

MAC address (6 hex octets separated by colons)

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

If an IPv4 address is entered, the address must be outside of the pool.

\r\n

If no IPv4 address is given, one will be dynamically allocated from the pool

\r\n

The same IP address may be assigned to multiple mappings.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Host(s)\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport {DhcpServerDto} from '../DTO/dhcp-server-dto';\r\nimport { MatSort} from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NewDhcpServiceComponent } from './new-dhcp-service/new-dhcp-service.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-services-dchserver',\r\n templateUrl: './services-dchserver.component.html',\r\n styleUrls: ['./services-dchserver.component.scss']\r\n})\r\nexport class ServicesDchserverComponent implements AfterViewInit {\r\n\r\n @Input() item:DhcpServerDto[] = []; // decorate the property with @Input()\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort; \r\n displayedColumns: string[] = ['Static ARP', 'MAC address', 'Client Id', 'IP address','Hostname', 'Description'];\r\n dataSource: MatTableDataSource;\r\n \r\n \r\n\r\n constructor( public dialog: MatDialog) { \r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\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 ngOnChanges() {\r\n if(this.item) {\r\n this.dataSource.data = this.item;\r\n }\r\n }\r\n\r\n newRule(){\r\n\r\n const dialogRef = this.dialog.open(NewDhcpServiceComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(\"data!!\")\r\n if(result){\r\n //this.dataSource.data.push = result;\r\n console.log(\"result\", result);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n"," \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
Static AR MAC address {{element.mac}} Client Id {{element.cid}} IP address {{element.ipaddr }} Hostname {{element.hostname }} Description {{element.descr }}
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-services-rules-lan',\r\n templateUrl: './services-rules-lan.component.html',\r\n styleUrls: ['./services-rules-lan.component.scss']\r\n})\r\nexport class ServicesRulesLanComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

services-rules-lan works!

\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\n@Component({\r\n selector: 'service-name-modal',\r\n templateUrl: 'service-name-modal.component.html',\r\n styleUrls: ['../../../tools/modals/modals.scss']\r\n})\r\nexport class ServiceNameModal {\r\n public loading: boolean = false;\r\n public ServiceName: string = \"\";\r\n ServiceNameFormFb : FormGroup;\r\n \r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, public snackbar: MatSnackBar, private service: WlService, private formBuilder : FormBuilder) { \r\n this.ServiceName = data.ServiceName;\r\n this.ServiceNameFormFb = this.formBuilder.group({\r\n 'ServiceName' : [{value:'',disabled: this.loading},[Validators.required]]\r\n });\r\n }\r\n \r\n ChangeName() {\r\n this.loading = true;\r\n this.service.ChangeServiceName(this.data.ServiceID,this.data.ID, this.ServiceName).subscribe(\r\n response=>{\r\n this.loading = false;\r\n this.dialogRef.close(response);\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open('Error Modificando Nombre ' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n );\r\n }\r\n CloseDialog(){\r\n this.dialogRef.close();\r\n }\r\n}","
\r\n
\r\n
\r\n
Cambio de Nombre
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
Ingrese un nuevo nombre para la máquina seleccionada:
\r\n \r\n \r\n done\r\n error\r\n Campo requerido\r\n {{ServiceName.length}} / 40\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { FormControl } from '@angular/forms';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { PasswordEditDialog } from '../../accountConfiguration/accountConfiguration.component';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { SupportContact } from '../../../models/dtos.component';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-control-panel',\r\n templateUrl: './control-panel.component.html',\r\n styleUrls: ['./control-panel.component.scss']\r\n})\r\n\r\nexport class ControlPanelComponent implements OnInit {\r\n Changelog: Array = [];\r\n user: any = {};\r\n supportContact : SupportContact = null;\r\n colorHome = {\r\n blue: '#3a60a3',\r\n green: '#3aad60',\r\n purple: '#64277a',\r\n darkBlue: '#075384',\r\n orange: '#ed8a20',\r\n darkGray: '#424242',\r\n mediumGray: '#636363',\r\n lightGray: '#8e8e8e',\r\n darkWhite: '#e5e5e5',\r\n }\r\n myControl = new FormControl();\r\n public loading: boolean = true;\r\n private AllUsers: Array = [];\r\n globalization: any = Globalization;\r\n contactLoading :boolean = true;\r\n token: string;\r\n language: string;\r\n filteredOptions: Observable;\r\n constructor(private service: WlService, private router: Router, public dialog: MatDialog, private navbarBroadcast: BroadcastEmitter, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n getSupport(){\r\n this.service.GetFavouriteSupportContact().subscribe(\r\n (response:any)=>{\r\n this.contactLoading = false;\r\n this.supportContact = response;\r\n },\r\n error=>{\r\n this.contactLoading = false;\r\n }\r\n )\r\n }\r\n\r\n getAllUsers() {\r\n this.service.getAllUsers().subscribe(\r\n (response:any) => {\r\n console.log(\"all users\",response )\r\n this.AllUsers = response;\r\n }\r\n )\r\n }\r\n\r\n getUserInformation() {\r\n this.service.GetUserInformation().subscribe(\r\n response => {\r\n \r\n this.user = response;\r\n if (this.user.DefaultPassword && !JSON.parse(atob(this.auth.getToken().split(\".\")[1])).Impersonation) {\r\n this.dialog.open(PasswordEditDialog, {\r\n hasBackdrop: true, disableClose: true\r\n });\r\n }\r\n this.loading = false;\r\n this.user.initials = this.user.Name.split(' ').map(function (e, i) { if (i < 2) { return e.substring(0, 1).toUpperCase() } else { return '' } }).join('')\r\n },\r\n error => {\r\n if (error.status == 401)\r\n this.router.navigateByUrl('/');\r\n }\r\n )\r\n }\r\n\r\n getChangeLog() {\r\n this.service.getChangeLog().subscribe(\r\n (response:any) => {\r\n this.Changelog = response;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n this.filteredOptions = this.myControl.valueChanges\r\n .startWith(null)\r\n .map(val => val ? this.filter(val) : this.AllUsers.slice());\r\n this.getUserInformation();\r\n //this.getAllUsers();\r\n this.getChangeLog();\r\n this.getSupport();\r\n this.navbarBroadcast.SendMessage({\r\n text: \"\"\r\n })\r\n }\r\n\r\n filter(val: string): string[] {\r\n return this.AllUsers.filter(option => new RegExp(`^${val}`, 'gi').test(option.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 {{user.initials}}\r\n

{{user.Name}}

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

{{'DESKTOP.CONTACT' | translate}}

\r\n
    \r\n
  • email{{'DESKTOP.EMAIL' | translate}}: {{user.Email}}
  • \r\n
  • phone{{'DESKTOP.TELEPHONE' | translate}}: {{user.Telephone}}
  • \r\n
  • traffic{{'DESKTOP.STATUS' | translate}}: {{user.Status==true?\"Activo\":\"Inactivo\"}}
  • \r\n
\r\n
\r\n
\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.UsersCount}}

\r\n

{{'DESKTOP.USERS' | 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

{{user.ServiceCount}}

\r\n

{{'DESKTOP.ACTIVE_MACHINES' | 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

{{user.pendingCancellations}}

\r\n

{{'DESKTOP.PENDING_CANCELATIONS' | translate}}

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

{{user.ActiveCustomers}}

\r\n

{{'DESKTOP.ACTIVE_CUSTOMERS' | 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","import { Component, OnInit , ViewChild} from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { Globalization } from '../../globalization/globalization';\r\n\r\n@Component({\r\n selector: 'app-desktop',\r\n templateUrl: './desktop.component.html',\r\n styleUrls: ['./desktop.component.scss']\r\n})\r\nexport class DesktopComponent implements OnInit {\r\n @ViewChild('sidenavdesktop') secondSideNav : MatSidenav;\r\n name = null;\r\n lastName = null;\r\n globalization: any = Globalization;\r\n constructor(public navbarBroadcast: BroadcastEmitter){\r\n\r\n }\r\n\r\n ngOnInit(){\r\n this.navbarBroadcast.SendMessage({actions: [], text: \"\"});\r\n }\r\n\r\n SecondSidenavClick(){\r\n this.secondSideNav.open();\r\n }\r\n\r\n SubmitForm(event){\r\n event.preventDefault();\r\n alert();\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n {{'DESKTOP.MANAGE_USER' | translate }}\r\n
\r\n
\r\n
\r\n \r\n \r\n {{name ? name.length : 0}} / 30\r\n \r\n \r\n \r\n {{lastName ? lastName.length : 0}} / 30\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-snackbar',\r\n templateUrl: './snackbar.component.html',\r\n styleUrls: ['./snackbar.component.scss']\r\n})\r\nexport class SnackBarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n-->","import { Component, OnInit , ViewChild} from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\n@Component({\r\n selector: 'welcome-window',\r\n templateUrl: './welcome-window.component.html',\r\n styleUrls: ['../desktop.component.scss']\r\n})\r\nexport class WelcomeComponent implements OnInit { \r\n ngOnInit(){\r\n \r\n }\r\n}","
\r\n

\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-emailSetup',\r\n templateUrl: './emailSetup.component.html',\r\n styleUrls: ['./emailSetup.component.css']\r\n})\r\nexport class EmailSetupComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

Email Setup

","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-eventsLog',\r\n templateUrl: './eventsLog.component.html',\r\n styleUrls: ['./eventsLog.component.css']\r\n})\r\nexport class EventsLogComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","
\r\n \r\n
","import { Component, OnInit, NgModule, ViewChild} from '@angular/core';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { HelpdeskDTO } from '../../models/dtos.component';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormsModule } from '@angular/forms'\r\nimport { NgForm } from '@angular/forms';\r\nimport { BrowserModule} from '@angular/platform-browser'\r\nimport { environment } from '../../../environments/environment';\r\nimport { NgClass, NgStyle} from '@angular/common';\r\nimport { FileUploader, FileSelectDirective } from 'ng2-file-upload';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-helpDesk',\r\n templateUrl: './helpDesk.component.html',\r\n styleUrls: ['./helpDesk.component.scss'],\r\n})\r\n\r\nexport class HelpDeskComponent implements OnInit {\r\n @ViewChild(\"fileInput\") fileInput;\r\n searchDocument : any;\r\n globalization: any = Globalization;\r\n term : any;\r\n maxSizeFile = 5261359;\r\n public loading = false;\r\n p: any;\r\n token: string;\r\n total : any;\r\n language: string;\r\n selectedCustomers = [];\r\n customersType=[];\r\n HelpDeskMaterial = [];\r\n userFilter: any = { name: '' };\r\n document: HelpdeskDTO;\r\n validationMessage: string;\r\n documentLoading : boolean = true;\r\n\r\n public uploader:FileUploader = new FileUploader({});\r\n public hasBaseDropZoneOver:boolean = false;\r\n public hasAnotherDropZoneOver:boolean = false;\r\n\r\n public fileOverBase(e:any):void {\r\n this.hasBaseDropZoneOver = e;\r\n }\r\n\r\n public fileOverAnother(e:any):void {\r\n this.hasAnotherDropZoneOver = e;\r\n }\r\n\r\n constructor(private service: WlService , public snackbar: MatSnackBar, public auth :AuthService){\r\n this.document = new HelpdeskDTO();\r\n this.validationMessage = \"\";\r\n }\r\n ngOnInit(){\r\n this.inicializate();\r\n this.getHelpDeskMaterial();\r\n }\r\n getHelpDeskMaterial(){\r\n this.service.getHelpDeskMaterial().subscribe(\r\n (response:any)=>{\r\n this.HelpDeskMaterial = response;\r\n this.documentLoading = false;\r\n },\r\n error=>{\r\n this.snackbar.open('Error consultando Material de ayuda' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n restoreData (document: NgForm){\r\n document.reset();\r\n this.clearForm();\r\n }\r\n\r\n saveHelpDeskMaterial(document: NgForm){\r\n if(this.validationform(document))\r\n if(this.validationsize()) this.sendData(document);\r\n else\r\n this.snackbar.open('El tamaño del archivo excede el limite', null, {\r\n duration: 2000,\r\n });\r\n else\r\n this.snackbar.open('Por favor complete todos los campos obligatorios', null, {\r\n duration: 2000,\r\n });\r\n }\r\n validationform(document):boolean{\r\n return (document.valid\r\n && this.uploader.queue.length > 0\r\n && this.selectedCustomers.length > 0) ? true : false;\r\n }\r\n sendData(document): void{\r\n let params = {\r\n ExtensionFile : this.getExtensionFile(this.uploader.queue[0]._file.name),\r\n Type :\"HelpDeskMaterial\",\r\n Users: this.createCleanArray(this.selectedCustomers),\r\n Date : new Date(),\r\n Title : document.value.Title,\r\n Description : document.value.Description\r\n }\r\n this.service.uploadFile(this.uploader.queue[0]._file,\"Domain/UploadhelpMaterial\", params).subscribe(\r\n response=>{\r\n this.snackbar.open('Documento cargado correctamente', null, {\r\n duration: 2000,\r\n });\r\n document.onReset();\r\n this.clearForm();\r\n this.getHelpDeskMaterial();\r\n },\r\n error=>{\r\n this.snackbar.open('Error consultando Material de ayuda ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n changeCustomer(obj){\r\n const updateItem = this.selectedCustomers.find(this.findIndexToUpdate, obj.Identifier);\r\n const index = this.selectedCustomers.indexOf(updateItem);\r\n if (index > -1) {\r\n this.selectedCustomers.splice(index, 1);\r\n } else {\r\n this.selectedCustomers.push(obj);\r\n }\r\n }\r\n getExtensionFile(fileName){\r\n const extesion = fileName.split('.');\r\n return extesion[1];\r\n }\r\n findIndexToUpdate(obj) {\r\n return obj.Identifier === this;\r\n }\r\n inicializate(){\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.customersType = [\r\n {Identifier: 'WHITE_LABEL', Label: 'HELPDESK.TOPICS_WHITELABEL'},\r\n {Identifier: 'SYSTEM_USER', Label: 'HELPDESK.TOPICS_SYSTEMUSER'},\r\n {Identifier: 'CUSTOMER_USER', Label: 'HELPDESK.TOPICS_CUSTOMER'}\r\n ];\r\n }\r\n createCleanArray(selectedCustomers):string[]{\r\n let customers = [];\r\n selectedCustomers.forEach(element => {\r\n customers.push(element.Identifier);\r\n })\r\n return customers;\r\n }\r\n\r\n clearForm(): void{\r\n for (let option of this.customersType) {\r\n option.checked = false;\r\n }\r\n this.selectedCustomers = [];\r\n if( this.uploader.queue[0]){\r\n this.uploader.queue[0].remove();\r\n }\r\n }\r\n downloadDocument(fileName :string) : void {\r\n let url = environment.serviceUrl+\"SupportMaterial/\"+fileName;\r\n window.open(url);\r\n }\r\n validationsize(): boolean{\r\n return (this.uploader.queue[0].file.size > this.maxSizeFile) ? false : true;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n \r\n
\r\n
\r\n \r\n \r\n {{(document.value.Title)? document.value.Title.length :\"\" }} / 40\r\n \r\n
\r\n
\r\n \r\n \r\n {{(document.value.Description)? document.value.Description.length :\"\" }} / 60\r\n \r\n
\r\n
{{ 'HELPDESK.SIDENAV_SELECTTOPIC' | translate}}
\r\n
\r\n
\r\n
\r\n {{option.Label | translate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
0\">\r\n
\r\n

{{ item?.file?.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

{{ 'HELPDESK.MAIN_INFO' | translate}}

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

{{ 'HELPDESK.RECENTMATERIAL' | translate}}

\r\n \r\n \r\n description\r\n

{{document.Title}}

\r\n

{{document.Description}}

\r\n

{{document.UpdateDate | date }}

\r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { GridComponent } from \"../../tools/grid/grid.component\";\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-pending-machines',\r\n templateUrl: './pendingMachines.component.html',\r\n styleUrls: ['./pendingMachines.component.scss']\r\n})\r\n\r\nexport class PendingMachinesComponent implements OnInit {\r\n @ViewChild('pendingMachines') pendingMachines: GridComponent;\r\n public grid = {\r\n columns: [\r\n { name: \"Name\", title: \"Cliente\" },\r\n { name: \"ServiceID\", title: \"Service ID\" },\r\n { name: \"OperativeSystem\", title: \"Os\" },\r\n { name: \"Progress\", title: \"Progreso\", type:\"progressbar\" },\r\n { name: \"ElapsedTime\", title: \"Tiempo (Minutos)\" }\r\n ],\r\n data: [],\r\n filter: \"ServiceID\",\r\n pageSize: 10,\r\n rowClick: (u) => { },\r\n refresh: (u) => { this.getMachines() },\r\n actions: [\r\n {\r\n text: \"Reiniciar proceso\",\r\n action: (u) => { this.resetProvisioning(u) },\r\n }\r\n ]\r\n }\r\n\r\n constructor(private service: WlService) { }\r\n\r\n\r\n getMachines() {\r\n this.pendingMachines.loading = true;\r\n this.service.GetPendingMachines().subscribe(\r\n response => {\r\n this.pendingMachines.setData(response);\r\n }\r\n )\r\n }\r\n\r\n resetProvisioning(row) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getMachines();\r\n }\r\n}\r\n","
\r\n \r\n
","import { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { CsjService } from './../../../services/csj/csj.service';\r\nimport { Component, OnInit, AfterViewInit, ViewChild, Inject} from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n// import domtoimage from \"dom-to-image\";\r\nimport { ExcelService } from 'src/app/services/excel/excel.service';\r\n\r\n@Component({\r\n selector: 'app-csj-general-graphics',\r\n templateUrl: './csj-general-graphics.component.html',\r\n styleUrls: ['./csj-general-graphics.component.scss']\r\n})\r\nexport class CsjGeneralGraphicsComponent {\r\n\r\n public dataSource = new MatTableDataSource();\r\n data: any[];\r\n multi: any[];\r\n\r\n //Graphics options\r\n view: any[] = [550, 280];\r\n colorScheme = {\r\n domain: [\r\n \"#5AA454\",\r\n \"#E44D25\",\r\n \"#CFC0BB\",\r\n \"#7aa3e5\",\r\n \"#a8385d\",\r\n \"#aae3f6\",\r\n \"#17A5DE\",\r\n \"#e5e\",\r\n \"#FE7878\",\r\n ],\r\n };\r\n\r\n legend: boolean = true;\r\n showLabels: boolean = true;\r\n animations: boolean = true;\r\n xAxis: boolean = true;\r\n yAxis: boolean = true;\r\n showYAxisLabel: boolean = true;\r\n showXAxisLabel: boolean = true;\r\n xAxisLabel: string = \"Días\";\r\n yAxisLabel: string = \"Efectividad\";\r\n timeline: boolean = true;\r\n autoScale: boolean = true;\r\n unit: string = \"Unidad\";\r\n legendPosition: string = \"below\";\r\n\r\n maxDate: Date;\r\n\r\n // Table\r\n displayedColumns = [\r\n \"Unit\",\r\n \"T_FILESORIGEN\",\r\n \"T_FILESDESTINO\",\r\n \"FILES_SIORIGEN_SIDESTINO\",\r\n \"FILES_SIORIGEN_NODESTINO\",\r\n \"FILES_NOORIGEN_SIDESTINO\",\r\n \"S_FILES_SIORIGEN_SIDESTINO\",\r\n \"S_FILES_SIORIGEN_NODESTINO\",\r\n \"S_FILES_NOORIGEN_SIDESTINO\",\r\n ];\r\n resultsLength = 10;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(\r\n public csjService: CsjService,\r\n public dialog: MatDialog,\r\n private snackbar: MatSnackBar,\r\n private excelService: ExcelService\r\n ) {\r\n this.getReport(csjService);\r\n this.getMissingFilesToCopy(csjService);\r\n this.getTimeUseOfDisk(csjService);\r\n }\r\n\r\n getValue(array: any, item: string, search: string) {\r\n const ob: any = array.find((e: any) => e.name == search);\r\n return ob && ob[item] ? ob[item] : 0;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n getReport(csjService: CsjService) {\r\n csjService.getReport().subscribe(\r\n (res: any) => {\r\n this.dataSource.data = res.report;\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n getMissingFilesToCopy(csjService: CsjService) {\r\n csjService.getMissingFilesToCopy().subscribe(\r\n (res: any) => {\r\n this.data = res.files;\r\n this.forEachArrays(this.data);\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n getTimeUseOfDisk(csjService: CsjService) {\r\n csjService.getTimeUseOfDisk().subscribe(\r\n (res: any) => {\r\n this.multi = res.files;\r\n this.forEachArrays(this.multi);\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n exportToExcel(data: any) {\r\n const result = [];\r\n data.forEach((disk: any) => {\r\n const newDisk = {\r\n disco: disk.unit,\r\n TotalArchivosOrigen: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"Total Archivos Origen Unidad\"\r\n ),\r\n TotalArchivosDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"Total Archivos Destino Unidad\"\r\n ),\r\n ArchivosSiOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"[SIORIGEN_SIDESTINO]\"\r\n ),\r\n ArchivosSiOrigenNoDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"[SIORIGEN_NODESTINO]\"\r\n ),\r\n ArchivosNoOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"counting\",\r\n \"[NOORIGEN_SIDESTINO]\"\r\n ),\r\n TamArchivosSiOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"size\",\r\n \"[SIORIGEN_SIDESTINO]\"\r\n ),\r\n TamArchivosSiOrigenNoDestino: this.getValue(\r\n disk.columns,\r\n \"size\",\r\n \"[SIORIGEN_NODESTINO]\"\r\n ),\r\n TamArchivosNoOrigenSiDestino: this.getValue(\r\n disk.columns,\r\n \"size\",\r\n \"[NOORIGEN_SIDESTINO]\"\r\n ),\r\n };\r\n result.push(newDisk);\r\n });\r\n this.excelService.exportAsJsonExcelFile(\r\n result,\r\n \"Información de los discos\"\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim(); // Remove whitespace\r\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n downloadToJpeg(id: string) {\r\n // domtoimage\r\n // .toJpeg(document.getElementById(id), { bgcolor: \"#FFF\" })\r\n // .then(function (dataUrl) {\r\n // var link = document.createElement(\"a\");\r\n // link.download = id + \".jpeg\";\r\n // link.href = dataUrl;\r\n // link.click();\r\n // });\r\n }\r\n\r\n refresh() {\r\n this.dataSource.data = [];\r\n this.multi = [];\r\n this.data = [];\r\n this.getReport(this.csjService);\r\n this.getMissingFilesToCopy(this.csjService);\r\n this.getTimeUseOfDisk(this.csjService);\r\n }\r\n\r\n forEachArrays(array) {\r\n array.forEach((disk: any) => {\r\n if (disk.name) {\r\n disk.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n if (disk.name) {\r\n disk.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n

Gráficos generales en línea de tiempo

\r\n
\r\n
\r\n Última actualización: {{ maxDate }}\r\n
\r\n
\r\n \r\n refresh\r\n \r\n
\r\n
\r\n
\r\n \r\n get_app\r\n \r\n
\r\n
Gráfico de archivos faltantes por día
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n get_app\r\n \r\n
\r\n
\r\n Gráfico porcentaje de uso de los discos\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Información de los discos
\r\n
\r\n
\r\n \r\n save\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
Disco
\r\n
\r\n \r\n
\r\n {{ row.unit }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total
\r\n Archivos Origen\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"Total Archivos Origen Unidad\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Total
\r\n Archivos Destino\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"Total Archivos Destino Unidad\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Archivos [SIORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"[SIORIGEN_SIDESTINO]\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Archivos [SIORIGEN_NODESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"[SIORIGEN_NODESTINO]\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Archivos [NOORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(\r\n row.columns,\r\n \"counting\",\r\n \"[NOORIGEN_SIDESTINO]\"\r\n )\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Tamaño Archivos (GB) [SIORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(row.columns, \"size\", \"[SIORIGEN_SIDESTINO]\")\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Tamaño Archivos (GB) [SIORIGEN_NODESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(row.columns, \"size\", \"[SIORIGEN_NODESTINO]\")\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Tamaño Archivos (GB) [NOORIGEN_SIDESTINO]\r\n
\r\n \r\n
\r\n {{\r\n getValue(row.columns, \"size\", \"[NOORIGEN_SIDESTINO]\")\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { CsjModalComponent } from \"./../csj-modal/csj-modal.component\";\r\nimport { CsjService } from \"./../../../services/csj/csj.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\n// import domtoimage from \"dom-to-image\";\r\nimport { ExcelService } from \"src/app/services/excel/excel.service\";\r\n\r\nclass Disk {\r\n unit = \"\";\r\n total = 0;\r\n noDestino = 0;\r\n colors = { class: \"success\", hex: \"#32AB4E\" };\r\n graphicFiles = {};\r\n graphicTimeUseDisk = {};\r\n tableHistoryFailedFiles = {\r\n name: \"\",\r\n series: [],\r\n };\r\n pie = [\r\n {\r\n name: \"Diferencia\",\r\n value: 0,\r\n },\r\n ];\r\n}\r\n\r\n@Component({\r\n selector: \"app-csj-main-dashboard\",\r\n templateUrl: \"./csj-main-dashboard.component.html\",\r\n styleUrls: [\"./csj-main-dashboard.component.scss\"],\r\n})\r\nexport class CsjMainDashboardComponent {\r\n loadData: boolean = false;\r\n loadInfoDisk: boolean = false;\r\n dataSumm: any[];\r\n dataDisk: any[];\r\n maxDate: Date;\r\n\r\n copyView: any[] = [200, 170];\r\n\r\n constructor(\r\n public csjService: CsjService,\r\n public dialog: MatDialog,\r\n private snackbar: MatSnackBar,\r\n private excelService: ExcelService\r\n ) {\r\n this.getInfoDisks(csjService);\r\n this.constructObjectDisk(csjService);\r\n }\r\n\r\n getInfoDisks(csjService: CsjService) {\r\n csjService.getDiskDetails().subscribe(\r\n (res: any) => {\r\n this.dataSumm = res.disks;\r\n this.getMaxDate();\r\n this.loadInfoDisk = true;\r\n },\r\n (err) => console.log(err)\r\n );\r\n }\r\n\r\n constructObjectDisk(csjService: CsjService) {\r\n csjService.getInfoDisk().subscribe(\r\n (res: any) => {\r\n this.dataDisk = res.data.discos;\r\n\r\n let resultlist: any[] = [];\r\n\r\n for (const item of this.dataDisk) {\r\n const unit = item.Path.replace(\":\\\\\", \"\");\r\n const server = item.Server.substring(0, 20);\r\n\r\n let infoDisk = new Disk();\r\n\r\n if (this.loadInfoDisk) {\r\n const indexDisk: number = this.dataSumm.findIndex(\r\n (disk: any) => disk.unit === unit\r\n );\r\n\r\n if (indexDisk != -1) {\r\n infoDisk = this.dataSumm[indexDisk];\r\n infoDisk.pie = [\r\n {\r\n name: \"Diferencia\",\r\n value: this.dataSumm[indexDisk].noDestino,\r\n },\r\n ];\r\n }\r\n }\r\n resultlist.push({\r\n name: `${unit}: ${server}`,\r\n value: 100 - item.Percent,\r\n info: infoDisk,\r\n });\r\n }\r\n\r\n this.dataDisk = resultlist;\r\n this.sortData();\r\n this.loadData = true;\r\n },\r\n (err) => {\r\n console.error(err);\r\n this.loadData = true;\r\n this.snackbar.open(\r\n \"No podemos realizar esta consulta actualmente, intenta nuevamente más tarde\",\r\n null,\r\n {\r\n duration: 3000,\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n sortData(): void {\r\n this.dataDisk.sort((a, b) => {\r\n if (a.info.noDestino > b.info.noDestino) return -1;\r\n if (a.info.noDestino < b.info.noDestino) return 1;\r\n if (a.info.noDestino == b.info.noDestino) {\r\n if (a.value > b.value) return -1;\r\n if (a.value < b.value) return 1;\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n refresh() {\r\n this.dataDisk = [];\r\n this.loadData = false;\r\n this.getInfoDisks(this.csjService);\r\n this.constructObjectDisk(this.csjService);\r\n }\r\n\r\n stringParseInt(data: any) {\r\n return typeof data == \"string\" ? parseInt(data.trim()) : data;\r\n }\r\n\r\n getMaxDate() {\r\n this.dataSumm.forEach((disk) => {\r\n disk.total = this.stringParseInt(disk.total);\r\n disk.noDestino = this.stringParseInt(disk.noDestino);\r\n\r\n if (disk.graphicFiles.name) {\r\n disk.graphicFiles.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n if (disk.graphicTimeUseDisk.name) {\r\n disk.graphicTimeUseDisk.series.forEach((serie: any) => {\r\n if (!this.maxDate) this.maxDate = serie.name;\r\n else {\r\n if (this.maxDate < serie.name) this.maxDate = serie.name;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n exportToExcel() {\r\n const data = [];\r\n\r\n this.dataDisk.forEach((disk) => {\r\n disk.info.tableHistoryFailedFiles.series.forEach((serie: any) => {\r\n data.push(serie);\r\n });\r\n });\r\n\r\n this.excelService.exportAsJsonExcelFile(data, \"Estado de los discos\");\r\n }\r\n\r\n OnDetailClick(data: any, graphic: any, showTab) {\r\n let dataModal = {\r\n name: data.name,\r\n showTab,\r\n graphic,\r\n table: data.info.tableHistoryFailedFiles,\r\n };\r\n if (graphic.name) {\r\n this.dialog.open(CsjModalComponent, {\r\n data: dataModal,\r\n width: \"90%\",\r\n disableClose: true,\r\n });\r\n } else {\r\n this.snackbar.open(\"Esta unidad no tiene datos para graficar\", null, {\r\n duration: 3000,\r\n });\r\n }\r\n }\r\n\r\n downloadToJpeg(id: string) {\r\n // domtoimage\r\n // .toJpeg(document.getElementById(id), { bgcolor: \"#FFF\" })\r\n // .then(function (dataUrl) {\r\n // var link = document.createElement(\"a\");\r\n // link.download = id + \".jpeg\";\r\n // link.href = dataUrl;\r\n // link.click();\r\n // });\r\n }\r\n}\r\n","\r\n
\r\n

Estado de sincronización por disco

\r\n
\r\n
\r\n Última actualización: {{ maxDate }}\r\n
\r\n
\r\n \r\n refresh\r\n \r\n \r\n save\r\n \r\n \r\n get_app\r\n \r\n
\r\n \r\n \r\n
\r\n \"\"\r\n

Consultado información...

\r\n
\r\n\r\n \r\n
\r\n \r\n timeline\r\n
\r\n 90,\r\n libre: disk.value < 80,\r\n medio: disk.value >= 80 && disk.value <= 90\r\n }\"\r\n matTooltip=\"Ver linea de tiempo de uso del disco\"\r\n >\r\n storage\r\n
\r\n
\r\n {{ disk.name }}\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Archivos faltantes ultimo día:\r\n {{ disk.info.noDestino }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n Total archivos origen:\r\n {{ disk.info.total }}\r\n
\r\n
\r\n
\r\n Uso de Disco: {{ disk.value }}%\r\n
\r\n 90,\r\n libre: disk.value < 80,\r\n medio: disk.value >= 80 && disk.value <= 90\r\n }\"\r\n >
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Inject} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ExcelService } from 'src/app/services/excel/excel.service';\r\n// import domtoimage from \"dom-to-image\";\r\n\r\n@Component({\r\n selector: 'app-csj-modal',\r\n templateUrl: './csj-modal.component.html',\r\n styleUrls: ['./csj-modal.component.scss']\r\n})\r\nexport class CsjModalComponent implements AfterViewInit\r\n{\r\n private static instance: CsjModalComponent = null;\r\n name: string = \"\";\r\n dataGraph = [];\r\n\r\n selectedIndex: number = 0;\r\n\r\n view: any[] = [700, 380];\r\n xAxisLabel: string = \"Días\";\r\n yAxisLabel: string = \"Numero de archivos faltantes\";\r\n timeline: boolean = true;\r\n autoScale: boolean = true;\r\n unit: string = \"Unidad\";\r\n legendPosition: string = \"below\";\r\n showYAxisLabel: boolean = true;\r\n showXAxisLabel: boolean = true;\r\n xAxis: boolean = true;\r\n yAxis: boolean = true;\r\n colorScheme = {\r\n domain: [\"#F44336\"],\r\n };\r\n\r\n showTab: boolean = false;\r\n dataSource = new MatTableDataSource();\r\n resultsLength = 10;\r\n displayedColumns = [\"Disco\", \"Path\", \"Size\"];\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialog: MatDialogRef,\r\n private excelService: ExcelService\r\n ) {\r\n this.name = data.name;\r\n this.dataGraph = [data.graphic];\r\n this.showTab = data.showTab;\r\n\r\n if (!this.showTab) {\r\n this.yAxisLabel = \"Porcentaje de uso\";\r\n this.xAxisLabel = \"Fecha\";\r\n }\r\n\r\n if (data.table.name) {\r\n this.dataSource.data = data.table.series;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n // Modal Dialog Action\r\n okClick() {\r\n this.dialog.close();\r\n }\r\n\r\n cancelClick() {\r\n this.dialog.close();\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim(); // Remove whitespace\r\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n exportToExcel() {\r\n this.excelService.exportAsJsonExcelFile(\r\n this.dataSource.data,\r\n \"Archivos faltantes\"\r\n );\r\n }\r\n\r\n downloadToJpeg(id:string) {\r\n // domtoimage.toJpeg(document.getElementById(id), { bgcolor: '#FFF' })\r\n // .then(function (dataUrl) {\r\n // var link = document.createElement('a');\r\n // link.download = id + '.jpeg';\r\n // link.href = dataUrl;\r\n // link.click();\r\n // });\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n {{ 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 get_app\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n save\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Disco\r\n
\r\n \r\n
\r\n {{ row.Unit }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Path\r\n
\r\n \r\n
\r\n {{ row.PathFileName }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n Size (Mb)\r\n
\r\n \r\n
\r\n {{ row.Size }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { CsjService } from \"src/app/services/csj/csj.service\";\r\n\r\n@Component({\r\n selector: \"app-replicas-csj\",\r\n templateUrl: \"./replicas-csj.component.html\",\r\n styleUrls: [\"./replicas-csj.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ReplicasCSJComponent implements OnInit {\r\n selectedIndex: number = 0;\r\n show: boolean = false;\r\n private snackbar: MatSnackBar;\r\n constructor(public csjService: CsjService) {\r\n csjService.login().subscribe(\r\n (res) => {\r\n localStorage.setItem(\"csjtoken\", res.token);\r\n this.show = true;\r\n },\r\n (err) => {\r\n this.snackbar.open(`Error: ${err}`, null, {\r\n duration: 3100,\r\n });\r\n }\r\n );\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"Rdp\"\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { ProfileDTO, PermissionDTO } from '../../models/dtos.component';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport {FormControl, Validators, FormGroup, FormBuilder, AbstractControl} from '@angular/forms';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-role',\r\n templateUrl: './role.component.html',\r\n styleUrls: ['./role.component.scss']\r\n})\r\nexport class RoleComponent implements OnInit {\r\n profileList: Array = [];\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n public searchProfile: string = \"\";\r\n public selectedProfile: ProfileDTO = null;\r\n public profilesLoading: boolean = true;\r\n public LoadingPermissions: boolean = false;\r\n public AvailablePermissions: Array = [];\r\n\r\n constructor(private service: WlService, public snackbar: MatSnackBar, public dialog: MatDialog, public navbarBroadcast: BroadcastEmitter, public auth : AuthService ) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n\r\n }\r\n\r\n getProfileInitial(profile: ProfileDTO) {\r\n return profile.Name.substr(0, 1);\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n { icon: 'add', name: 'Agregar Role', action: () => { this.AddProfile() } }\r\n ],\r\n display: true\r\n });\r\n this.GetProfiles();\r\n }\r\n\r\n GetProfiles() {\r\n this.profilesLoading = true;\r\n this.service.GetProfiles().subscribe(\r\n (response:any) => {\r\n this.profilesLoading = false;\r\n this.profileList = response;\r\n },\r\n error => {\r\n this.profilesLoading = false;\r\n this.snackbar.open('Error consultando perfiles. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n AddProfile() {\r\n this.dialog.open(ProfileEditComponent, {\r\n data: new ProfileDTO(),\r\n });\r\n this.dialog.afterAllClosed.subscribe(\r\n response=>{\r\n this.GetProfiles();\r\n }\r\n )\r\n }\r\n\r\n EditProfile(profile: ProfileDTO) {\r\n this.selectedProfile = profile;\r\n this.LoadingPermissions = true;\r\n this.service.GetProfilePermissions(profile.ID).subscribe(\r\n (response:any) => {\r\n this.LoadingPermissions = false;\r\n this.AvailablePermissions = response;\r\n }, error => {\r\n this.LoadingPermissions = false;\r\n this.snackbar.open('Error consultando permisos del perfil. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n\r\n SaveProfile() {\r\n this.LoadingPermissions = true;\r\n this.service.SaveProfilePermissions(this.AvailablePermissions, this.selectedProfile.ID).subscribe(\r\n response => {\r\n this.LoadingPermissions = false;\r\n this.snackbar.open('Cambios guardados satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n }, error => {\r\n this.LoadingPermissions = false;\r\n this.snackbar.open('Error guardando datos. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n loadProfilePermissions(profile: ProfileDTO) {\r\n\r\n }\r\n}\r\n@Component({\r\n selector: 'role-edit-dialog',\r\n templateUrl: 'role-add.component.html',\r\n styleUrls: ['../../tools/modals/modals.scss']\r\n})\r\nexport class ProfileEditComponent {\r\n public loading: boolean = false;\r\n addRoleForm : FormGroup;\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, public snackbar: MatSnackBar, private service: WlService, private formBuilder : FormBuilder) {\r\n this.addRoleForm = this.formBuilder.group({\r\n 'RoleName' : [{value:'',disabled: false},[Validators.required]],\r\n });\r\n }\r\n SaveForm() {\r\n this.loading = true;\r\n this.service.SaveProfile(this.data).subscribe(\r\n response=>{\r\n this.loading = false;\r\n this.dialogRef.close(response);\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open('Error guardando datos. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
{{profile.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
Agregue o retire permisos.
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
{{ globalization.role.components[comp.Template][language] }}
\r\n \r\n \r\n Permiso concedido\r\n \r\n \r\n {{globalization.role.components[child.Template][language]}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","
\r\n
\r\n

\r\n Administración de perfiles\r\n

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

\r\n \r\n \r\n done\r\n error\r\n Campo requerido \r\n {{data && data.Name ? data.Name.length : 0}} / 50\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n // nombrePagina:string = (\"Home\");\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Inject, Input, Output, EventEmitter } from '@angular/core';\r\nimport { GridComponent } from \"../../../tools/grid/grid.component\";\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { SupportContact } from '../../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { ConfirmationDialog } from '../../../tools/modals/confirmation/modal.component';\r\nimport { FormGroup, FormControl, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport {CustomFormValidator} from '../../../tools/CustomValidator';\r\n\r\n@Component({\r\n selector: 'admin-support-contact', \r\n templateUrl: './admin-support-contact.component.html',\r\n styleUrls: ['../support.component.scss']\r\n})\r\n\r\nexport class AdminSupportContact implements OnInit {\r\n @Input() supportContact: SupportContact;\r\n @Output() savedContact = new EventEmitter();\r\n @Input() sidenavin: MatSidenav;\r\n loading : boolean = false;\r\n supportForm: any; \r\n constructor(public service: WlService, public snackbar: MatSnackBar, public navbarBroadcast: BroadcastEmitter, private formBuilder: FormBuilder) {\r\n this.supportForm = this.formBuilder.group({\r\n 'name' : ['',[Validators.required]],\r\n 'phone' : ['',[Validators.required]],\r\n 'email' : ['',[Validators.required,Validators.minLength(10),CustomFormValidator.EmailValidator]],\r\n 'country' : ['',[Validators.required]],\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n saveContact(){\r\n this.loading = true;\r\n this.service.SaveContact(this.supportContact).subscribe(\r\n (response:any)=>{\r\n this.loading = false;\r\n this.savedContact.emit(response);\r\n this.sidenavin.close();\r\n },\r\n error=>{\r\n this.loading = false;\r\n this.snackbar.open('Error guardando contacto. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}","\r\n
\r\n
\r\n
Agregar contacto de soporte
\r\n
\r\n
\r\n
\r\n \r\n \r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{supportContact.Name ? supportContact.Name.length : 0}} / 50\r\n
\r\n \r\n \r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n {{supportContact.Telephone ? supportContact.Telephone.length : 0}} / 50\r\n
\r\n \r\n \r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
El formato no corresponde.
\r\n
\r\n
\r\n {{supportContact.Email ? supportContact.Email.length : 0}} / 50\r\n
\r\n \r\n \r\n {{supportContact.Country ? supportContact.Country.length : 0}} / 50\r\n live_help\r\n done\r\n error\r\n \r\n
\r\n
Campo requerido.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { GridComponent } from \"../../tools/grid/grid.component\";\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { SupportContact } from '../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { ConfirmationDialog } from '../../tools/modals/confirmation/modal.component';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-supportNumbers',\r\n templateUrl: './support.component.html',\r\n styleUrls: ['./support.component.scss']\r\n})\r\nexport class SupportNumbers implements OnInit {\r\n @ViewChild('sideNav') sideNav: MatSidenav;\r\n @ViewChild('supportNumbersGrid') supportNumbersGrid: GridComponent;\r\n selectedContact: SupportContact = new SupportContact();\r\n public SupportContacts: Array = [];\r\n\r\n public grid = {\r\n columns: [\r\n { name: \"Telephone\", title: \"Número\" },\r\n { name: \"Email\", title: \"Email\" },\r\n { name: \"Country\", title: \"Pais\" },\r\n { name: \"Favourite\", title: \"Favorito\" }\r\n ],\r\n data: [],\r\n toolbar: [\r\n { \"type\": \"button\", \"permission\": \"AddCustomer\", \"click\": () => { this.addNumber() }, \"text\": \"Agregar cliente\", \"align\": \"left\" }\r\n ],\r\n filter: \"Email\",\r\n pageSize: 10,\r\n // rowClick: (u) => { this.userSettings(u) },\r\n refresh: (u) => { this.getNumbers() },\r\n actions: [\r\n {\r\n text: \"Favorito\",\r\n action: (u) => { this.EditFav(u) },\r\n hide: (u) => { return u.Favourite }\r\n }, {\r\n text: \"Quitar Favorito\",\r\n action: (u) => { this.EditFav(u) },\r\n hide: (u) => { return !u.Favourite }\r\n },\r\n {\r\n text: \"Eliminar\",\r\n action: (u) => { this.RemoveFav(u) }\r\n }\r\n ]\r\n }\r\n\r\n constructor(public service: WlService, public snackbar: MatSnackBar, public navbarBroadcast: BroadcastEmitter) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({\r\n text: \"Contactos de soporte\",\r\n actions: [{ icon: 'person_add', name: 'Agregar número', action: () => { this.addNumber() } }], display: true\r\n });\r\n this.getNumbers();\r\n }\r\n\r\n savedContact(supportUser: SupportContact) {\r\n this.supportNumbersGrid.pushRow(supportUser);\r\n }\r\n\r\n RemoveFav(supportUser: SupportContact) {\r\n this.supportNumbersGrid.loading = true;\r\n this.service.RemoveContact(supportUser).subscribe(\r\n response => {\r\n this.getNumbers();\r\n },\r\n error => {\r\n this.snackbar.open('Error Eliminando Favorito. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n EditFav(supportUser: SupportContact) {\r\n this.supportNumbersGrid.loading = true;\r\n this.service.EditFavoriteContact(supportUser).subscribe(\r\n response => {\r\n this.snackbar.open('Cambios guardados satisfactoriamente. ', null, {\r\n duration: 3000,\r\n });\r\n this.getNumbers();\r\n },\r\n error => {\r\n this.supportNumbersGrid.loading = false;\r\n this.snackbar.open('Error Editando Favorito. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n getNumbers() {\r\n this.supportNumbersGrid.loading = true;\r\n this.service.GetSupportContacts().subscribe(\r\n result => {\r\n this.supportNumbersGrid.setData(result);\r\n },\r\n error => {\r\n this.supportNumbersGrid.loading = false;\r\n this.snackbar.open('Error consultando numeros de soporte. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n addNumber() {\r\n this.selectedContact = new SupportContact();\r\n this.sideNav.open();\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-useStatistics',\r\n templateUrl: './useStatistics.component.html',\r\n styleUrls: ['./useStatistics.component.css']\r\n})\r\nexport class UseStatisticsComponent implements OnInit {\r\n\r\n ngOnInit(){\r\n\r\n }\r\n}","

User statistics

","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\n// import { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserDTO,ServiceDTO } from '../../../models/dtos.component';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { TermsComponent } from '../terms/terms.component';\r\n\r\n@Component({\r\n selector: 'demo-services',\r\n templateUrl: './demo-services.component.html',\r\n styleUrls: ['../service-configuration/service-configuration.component.scss']\r\n})\r\n\r\nexport class DemoServices implements OnInit {\r\n @Input() sidenav: MatSidenav;\r\n @Input() selectedUser: UserDTO;\r\n @Output() onSave = new EventEmitter();\r\n @ViewChild('stepper') stepper : MatStepper;\r\n DatacenterID: string;\r\n loading: boolean = false;\r\n Os: number = null;\r\n constants: Constants = new Constants();\r\n confirmedTerms:boolean = false;\r\n bundleSelectFG:FormGroup;\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder,private dialog : MatDialog) {\r\n this.bundleSelectFG = this.formBuilder.group({\r\n 'bundle': [{ value: null, disable: this.loading }, [Validators.required]],\r\n 'datacenter': [{ value: null, disable: this.loading }, [Validators.required]]\r\n });\r\n }\r\n\r\n ShowTerms() {\r\n this.dialog.open(TermsComponent, {\r\n width: \"60%\"\r\n });\r\n }\r\n\r\n changeStep(index : number){\r\n this.stepper.selectedIndex = index;\r\n }\r\n\r\n savePlan() {\r\n this.loading = true;\r\n this.service.SaveTestService(this.DatacenterID, this.Os , this.selectedUser.ID).subscribe(\r\n (response:any) => {\r\n this.snackbar.open('Servicio creado satisfactoriamente.', null, {\r\n duration: 3000,\r\n });\r\n this.changeStep(0);\r\n this.bundleSelectFG.reset();\r\n this.onSave.emit(response);\r\n this.loading = false;\r\n this.DatacenterID = null;\r\n this.Os = null;\r\n this.confirmedTerms = false;\r\n this.sidenav.close();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error creando servicio.' + error.error, null, {\r\n duration: 4000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.sidenav.closedStart.subscribe(() => {\r\n this.changeStep(0);\r\n })\r\n }\r\n}","\r\n \r\n \r\n \r\n desktop_mac\r\n \r\n \r\n
\r\n
\r\n
\r\n
Seleccione un plan
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{dc.Name}}\r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n Linux Ubuntu\r\n \"ubuntu\"\r\n \r\n \r\n Windows\r\n \"Windows\"\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n check_circle\r\n \r\n \r\n
\r\n
\r\n
\r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Acepto los terminos y condiciones\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total\r\n $ 0.00\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, OnChanges, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ServiceDTO, ProductDTO, BundleDTO, ServiceAdditionalInfo } from '../../../models/dtos.component';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { CustomFormValidator } from '../../../tools/CustomValidator';\r\nimport { TermsComponent } from '../terms/terms.component';\r\n@Component({\r\n selector: 'service-settings',\r\n templateUrl: './service-configuration.component.html',\r\n styleUrls: ['./service-configuration.component.scss']\r\n})\r\n\r\nexport class ServiceSettings implements OnInit, OnChanges {\r\n @Input() Service: ServiceDTO;\r\n @Input() sidenav: MatSidenav;\r\n @Output() onSave = new EventEmitter();\r\n @ViewChild('stepper') stepper : MatStepper;\r\n public bundle: BundleDTO = new BundleDTO();\r\n constants: Constants = new Constants();\r\n serviceAdditionalInfo: ServiceAdditionalInfo = new ServiceAdditionalInfo();\r\n progress: number = 0;\r\n TemplateList: Array = [];\r\n OsType: number = null;\r\n loading: boolean = false;\r\n loadingTemplates: boolean = false;\r\n confirmedTerms: boolean = false;\r\n domainProducts: Array = [];\r\n confirmForm: FormGroup;\r\n bundleSelectFG: FormGroup;\r\n currentBundle: ProductDTO;\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, private dialog: MatDialog) {\r\n this.confirmForm = this.formBuilder.group({\r\n 'datacenter': ['', [Validators.required]],\r\n 'osType': ['', [Validators.required]],\r\n 'os': ['', [Validators.required]],\r\n 'iops': ['', [Validators.required]],\r\n 'availability': ['', [Validators.required]],\r\n 'paymentConst': ['', [Validators.required]],\r\n });\r\n this.bundleSelectFG = this.formBuilder.group({\r\n 'bundle': [{ value: null, disable: this.loading }, [Validators.required]]\r\n });\r\n }\r\n\r\n changeStep(index : number){\r\n if(this.stepper.selectedIndex != index)\r\n this.stepper.selectedIndex = index;\r\n }\r\n\r\n resetComponent() {\r\n this.bundle = new BundleDTO();\r\n this.constants = new Constants();\r\n this.progress = 0;\r\n this.TemplateList = [];\r\n this.OsType = null;\r\n this.loading = false;\r\n this.loadingTemplates = false;\r\n this.confirmedTerms = false;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['Service'].currentValue) {\r\n this.serviceAdditionalInfo.CustomerID = changes['Service'].currentValue.CustomerID;\r\n this.bundle.BundleMachine = changes['Service'].currentValue.Configuration;\r\n this.progress = 0;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.Service = new ServiceDTO();\r\n this.getDomainProducts();\r\n this.sidenav.closedStart.subscribe(() => {\r\n this.bundleSelectFG.reset();\r\n this.confirmForm.reset();\r\n this.changeStep(0);\r\n })\r\n }\r\n\r\n getDomainProducts() {\r\n this.loading = true;\r\n this.service.GetProducts().subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.domainProducts = response;\r\n },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n selectPlan() {\r\n this.bundle.BundleMachine = this.currentBundle.Configuration.BundleMachine;\r\n this.serviceAdditionalInfo.BundleID = this.currentBundle.ID;\r\n if (this.bundle.BundleMachine.Duration == 0) {\r\n this.bundle.BundleMachine.Duration = null;\r\n }\r\n this.refreshPrice();\r\n this.progress = 1;\r\n }\r\n\r\n getOsList() {\r\n if (this.bundle.BundleMachine.Vcenter != null && this.OsType != null) {\r\n this.loadingTemplates = true;\r\n this.service.GetOsList(this.bundle.BundleMachine.Vcenter, this.OsType).subscribe(\r\n (response:any) => {\r\n this.loadingTemplates = false;\r\n this.TemplateList = response;\r\n },\r\n error => {\r\n this.loadingTemplates = false;\r\n this.TemplateList = [];\r\n }\r\n );\r\n }\r\n }\r\n\r\n viewTerms() {\r\n \r\n }\r\n\r\n selectTemplate() {\r\n this.refreshPrice();\r\n }\r\n\r\n refreshPrice() {\r\n this.loading = true;\r\n this.service.GetProductPrice(this.bundle).subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.bundle = response;\r\n if (this.bundle.BundleMachine.Duration == 0) {\r\n this.bundle.BundleMachine.Duration = null;\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n processConfig() {\r\n this.progress = 2;\r\n }\r\n\r\n selecttab() {\r\n this.confirmedTerms = false;\r\n }\r\n\r\n SaveService() {\r\n this.confirmForm.disable();\r\n this.loading = true;\r\n this.service.SaveService(this.bundle, this.serviceAdditionalInfo).subscribe(\r\n (response:any) => {\r\n this.confirmForm.enable();\r\n this.loading = false;\r\n this.onSave.emit(response);\r\n this.bundleSelectFG.reset();\r\n this.confirmForm.reset();\r\n this.resetComponent();\r\n this.sidenav.close();\r\n this.changeStep(0);\r\n this.snackbar.open('Servicio guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.confirmForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando servicio. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n ShowTerms() {\r\n this.dialog.open(TermsComponent, {\r\n width: '60%'\r\n });\r\n }\r\n\r\n GetConstantValue(Id: string, type: string) {\r\n if (Id == null || Id === 'null' || Id === '0') {\r\n return '';\r\n } else if (type === 'dc') {\r\n return this.constants.DataCenter.filter(dc => dc.ID === Id)[0].Name;\r\n } else if (type === 'pc') {\r\n return this.constants.PaymentConditions.filter(dc => dc.ID.toString() === Id)[0].Name;\r\n } else if (type === 'av') {\r\n return this.constants.Availability.filter(dc => dc.ID.toString() === Id)[0].Name;\r\n } else {\r\n console.log(Id, type);\r\n }\r\n }\r\n ReplaceName(name) {\r\n let response = name.replace(/_/g, ' ');\r\n let capitalizeName = \"\";\r\n response.split(' ').forEach(element => {\r\n if (capitalizeName.length != 0) {\r\n capitalizeName += \" \";\r\n }\r\n capitalizeName += element.charAt(0).toUpperCase() + element.toLowerCase().slice(1);\r\n });\r\n return capitalizeName;\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n desktop_mac\r\n \r\n \r\n
\r\n
\r\n
\r\n
Seleccione un plan
\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.Name}}\r\n
\r\n
\r\n

\r\n {{product.Description}}\r\n

\r\n
\r\n
\r\n
{{product.Configuration.BundleMachine.Cores.Value}}
\r\n
CPU
\r\n
\r\n
\r\n
{{product.Configuration.BundleMachine.Ram.Value}}
\r\n
RAM
\r\n
\r\n
\r\n
{{product.Configuration.Cost.DiscountMRC | currency:'USD':true:'2.0-1' }}
\r\n
Costo
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total{{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n
\r\n Total{{currentBundle.Configuration.Cost.DiscountMRC | currency:'USD':true:'2.0-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 settings_applications\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Configuración
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.OsName }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.ID }}\r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n \r\n {{ dc.Name }}\r\n \r\n \r\n Campo requerido.\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total{{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-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 check_circle\r\n \r\n \r\n
\r\n
\r\n
\r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{\"\"+bundle.BundleMachine.Cores.Value}}\r\n {{\"\"+bundle.BundleMachine.Ram.Value}}\r\n {{ReplaceName(\"\"+bundle.BundleMachine.OperativeSystem.Os)}}\r\n {{GetConstantValue(\"\"+bundle.BundleMachine.Vcenter,\"dc\")}}\r\n {{GetConstantValue(\"\"+bundle.BundleMachine.Availability.availabilityType,\"av\")}}\r\n
\r\n
\r\n {{GetConstantValue(\"\"+bundle.BundleMachine.Duration,\"pc\")}}\r\n {{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n\r\n \r\n Acepto los terminos y condiciones\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Total{{bundle.Cost.DiscountMRC | currency:'USD':true:'2.0-2'}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'terms-component',\r\n templateUrl: './terms.component.html',\r\n styleUrls: ['./terms.component.scss']\r\n})\r\nexport class TermsComponent {\r\n rememberEmail: string;\r\n loading: boolean = false;\r\n\r\n constructor(public dialogRef: MatDialogRef, public snackbar: MatSnackBar) {\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Términos y condiciones
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n Responsabilidad:
\r\n IFX es responsable por:
\r\n
    \r\n
  1. La infraestructura física que soporta los servidores virtuales, así como la estabilidad de la plataforma\r\n de virtualización.
  2. \r\n
  3. Del licenciamiento de los sistemas operativos ofrecidos, así como el licenciamiento de los aplicativos\r\n ofrecidos. Cualquier licenciamiento diferente a los ofrecidos, deberá ser suministrado por el cliente,\r\n teniendo en cuenta el modelo de licenciamiento del proveedor de software y ajustándose a las condiciones\r\n que cada uno maneje para ambientes tipo cloud.
  4. \r\n
  5. La infraestructura física de hardware, la configuración de software y la custodia de medios para la retención\r\n ofrecida en el servicio de backup. IFX no se responsabiliza por la información del cliente que no\r\n está cubierta mediante la descripción de los servicios de backup ofrecidos al cliente.
  6. \r\n
\r\n Alcance:
\r\n El alcance del servicio es:
\r\n
    \r\n
  1. El servicio cuenta con un sistema operativo instalado de forma básica. Los aplicativos ofertados se entregan\r\n instalados de manera básica o se le presentan al servidor en una unidad de almacenamiento virtual\r\n para que el cliente proceda con la instalación personalizada.
  2. \r\n
  3. El servicio contempla el suministro de los recursos de poder de cómputo acordados previamente con el\r\n cliente (vCPU, RAM, discos, backup, conectividad, sistema operativo y aplicaciones adicionales).
  4. \r\n
  5. El espacio en disco entregado en los servidores virtuales constituye espacio total; es decir, es necesario\r\n tener en consideración que parte de este espacio será consumido por el sistema operativo y las aplicaciones\r\n que en él se instalen.
  6. \r\n
  7. IFX Networks no se hace responsable por el manejo y acceso que el cliente brinde sobre la infraestructura\r\n y los datos almacenados en la misma. En caso de daño o pérdida de información, IFX Networks será\r\n responsable únicamente por las copias de seguridad pactadas.
  8. \r\n
  9. Características adicionales de seguridad perimetral tales como: Application control, Web filtering, IPS,\r\n IDS, DLP y Log inspection, no están incluidas en el alcance de seguridad de IFX CLOUD White Label,\r\n en caso de ser requerido, deberán ofrecerse a través de servicios de “IFX SECURITY Solutions”.
  10. \r\n
  11. Al finalizar la relación contractual con IFX Networks, el cliente podrá solicitar los \"log de eventos\"\r\n que demuestren la eliminación total y definitiva de la información del cliente, alojada en la infraestructura\r\n contratada. IFX realiza una operación de borrado seguro de acuerdo con las especificaciones de la\r\n norma ISO 27001 y SAS70. Este procedimiento se realiza a solicitud formal del cliente e implica el\r\n cobro de servicios profesionales.
  12. \r\n
  13. La infraestructura puede ser contratada con dos términos diferentes: Mensual o con compromiso de permanencia\r\n mínima de un año. En ambos casos, el contrato se renueva de forma automática con la misma periodicidad\r\n contratada inicialmente, a no ser que el distribuidor solicite la cancelación del servicio mediante\r\n la plataforma de gestión. La solicitud de cancelación se puede realizar en cualquier momento, pero\r\n la cancelación real, el des-aprovisionamiento de los recursos y la suspensión de la facturación de\r\n los mismos, solo ocurrirá cuando se haya completado el periodo actual de contratación.
  14. \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output,OnChanges, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserDTO,ProfileDTO } from '../../../models/dtos.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport {FormControl, Validators, FormGroup, FormBuilder, AbstractControl} from '@angular/forms';\r\nimport {CustomFormValidator} from '../../../tools/CustomValidator';\r\nimport { LogsService } from 'src/app/services/logs/logs-services.service';\r\n\r\n\r\n@Component({\r\n selector: 'user-edition',\r\n templateUrl: './user-edition.component.html',\r\n styleUrls: ['../userAccounts.component.scss']\r\n})\r\n\r\nexport class UserEdition implements OnInit, OnChanges {\r\n @Input() user: UserDTO;\r\n @Input() sidenav: MatSidenav;\r\n @Input() customerType: string;\r\n @Output() savedUser = new EventEmitter();\r\n public profiles: Array = [];\r\n public loading = false;\r\n public addClientForm: FormGroup = null;\r\n\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder, private logsServices: LogsService) {\r\n this.getProfileList();\r\n this.addClientForm = this.formBuilder.group({\r\n userType : [{value: '', disabled: this.loading}, [Validators.required]],\r\n userProfile : [{value: '', disabled: this.loading}, this.customerType === 'SYSTEM_USER' ? [Validators.required] : []],\r\n name : [{value: '', disabled: this.loading}, [Validators.required, Validators.maxLength(100)]],\r\n login : [{value: '', disabled: this.loading}, [Validators.required]],\r\n phone : [{value: '', disabled: this.loading}, [Validators.required, Validators.pattern(/^\\d{1,10}$/)]],\r\n id : [{value: '', disabled: this.loading}, [Validators.required]],\r\n address : [{value: '', disabled: this.loading}, [Validators.required]],\r\n emailInput : [{value: '', disabled: this.loading}, [Validators.required,\r\n Validators.minLength(10), Validators.pattern(/^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/)]]\r\n });\r\n }\r\n\r\n clear(){\r\n this.user.Name = '';\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.user.currentValue) {\r\n if (!changes.user.currentValue.ID) {\r\n this.addClientForm.reset();\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.user = new UserDTO();\r\n }\r\n\r\n getProfileList() {\r\n this.service.GetProfiles().subscribe(\r\n (response: any) => {\r\n this.profiles = response;\r\n },\r\n error => {\r\n this.snackbar.open('Error obteniendo perfiles ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n saveUser() {\r\n this.addClientForm.disable();\r\n this.loading = true;\r\n this.user.CustomerTypeID = this.customerType;\r\n this.service.SaveUser(this.user).subscribe(\r\n (response: any) => {\r\n this.addClientForm.enable();\r\n this.loading = false;\r\n this.sidenav.close();\r\n this.savedUser.emit(response);\r\n this.logsServices.postAppLog('Agregar Usuario', 'Uso', true, 'Usuario creado correctamente', null)\r\n },\r\n (error) => {\r\n this.addClientForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando usuario ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n this.logsServices.postAppLog('Agregar Usuario', 'Uso', false, 'No fue posible crear el usuario', null)\r\n }\r\n )\r\n }\r\n}\r\n\r\n\r\n","\r\n
\r\n
Agregar usuario
\r\n
Editar usuario
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Datos del usuario
\r\n
\r\n
\r\n \r\n \r\n \r\n {{profile.Name}}\r\n \r\n \r\n done\r\n error\r\n Campo requerido\r\n \r\n
\r\n \r\n \r\n {{customerType}}\r\n \r\n done\r\n error\r\n Campo requerido.\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{ user.Login ? user.Login.length : 0}} / 50\r\n \r\n
\r\n
Datos de contacto
\r\n
\r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{user.Name ? user.Name.length : 0}} / 100\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n El número no cuenta con un formato válido\r\n {{user.Telephone ? user.Telephone.length : 0}} / 20\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{user.Identification ? user.Identification.length : 0}} / 30\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n {{user.Address ? user.Address.length : 0}} / 150\r\n \r\n \r\n \r\n done\r\n error\r\n {{user.Email ? user.Email.length : 0}} / 50\r\n Campo requerido.\r\n El tamaño minimo del correo son 10 caracteres.\r\n El correo electrónico no cuenta con el formato adecuado.\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, Output, OnInit, ViewChild, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GridComponent } from \"../../../tools/grid/grid.component\";\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { UserInfoDTO, ProfileDTO, ServiceDTO, UserDTO } from '../../../models/dtos.component';\r\nimport { ConfirmationDialog } from '../../../tools/modals/confirmation/modal.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ServiceSettings } from '../service-configuration/service-configuration.component';\r\nimport { BroadcastEmitter } from '../../../services/BroadcastEmitter';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\nimport { PasswordResendDialog } from '../userAccounts.component';\r\n\r\n@Component({\r\n selector: 'user-settings-new',\r\n templateUrl: 'user-settings.component.html',\r\n styleUrls: ['../userAccounts.component.scss']\r\n})\r\n\r\nexport class UserSettings implements OnInit {\r\n user: UserInfoDTO;\r\n @ViewChild('AdditionalServicesGrid') AdditionalServicesGrid: GridComponent;\r\n @ViewChild('UsersGrid') UsersGrid: GridComponent;\r\n @ViewChild('sideNav') sideNav: MatSidenav;\r\n @ViewChild('SerSet') SerSet: ServiceSettings;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n dataSource = new MatTableDataSource();\r\n public userServices: any;\r\n public selectedUser: UserDTO;\r\n private profiles: Array = [];\r\n public loading: boolean = false;\r\n public selectedService: ServiceDTO = new ServiceDTO();\r\n sidenavMode: string = \"\";\r\n displayedColumns = ['State', 'ServiceName', 'ServiceID', 'Cores', 'RAM', 'Options'];\r\n public resultsLength = 10;\r\n tokenPayload :any;\r\n userRole: any;\r\n\r\n public usersGrid = {\r\n columns: [\r\n { name: \"Name\", title: \"Nombre\" },\r\n { name: \"Email\", title: \"Email\" },\r\n { name: \"TotalCost\", title: \"Costo\", format: \"currency\" },\r\n ],\r\n data: [],\r\n id:\"ID\",\r\n toolbar: [\r\n { \"type\": \"button\", \"click\": () => { this.AddUser() }, \"text\": \"AGREGAR USUARIO\", \"align\": \"left\" },\r\n ],\r\n filter: \"Name\",\r\n rowClick: (u) => { this.EditUser(u) },\r\n refresh: (u) => { this.getUsers() },\r\n actions: [\r\n {\r\n text: \"Editar\",\r\n action: (u) => { this.EditUser(u) },\r\n hide: (u) => { return u.ID == JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID }\r\n },\r\n {\r\n text: \"Eliminar\",\r\n action: (u) => { this.removeCustomerConfirm(u) },\r\n hide: (u) => { return u.ID == JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID }\r\n },\r\n {\r\n text: \"Reenviar Contraseña\",\r\n action: (u) => { this.ResendUserMailWindow(u) }\r\n }\r\n ]\r\n }\r\n\r\n public additionalServicesGrid = {\r\n columns: [\r\n { name: \"ServiceID\", title: \"Service ID\" },\r\n { name: \"Configuration.diskType\", title: \"Velocidad(IOPS)\" },\r\n { name: \"Configuration.size\", title: \"Tamaño(GB)\" },\r\n ],\r\n data: [],\r\n filter: \"ServiceID\",\r\n }\r\n\r\n constructor(private service: WlService, private route: ActivatedRoute, public snackbar: MatSnackBar, public router: Router, public dialog: MatDialog, public navbarBroadcast: BroadcastEmitter, public auth : AuthService) {\r\n this.route.params.subscribe(params => {\r\n this.GetUseriformation(params[\"UserID\"]);\r\n });\r\n this.getProfileList();\r\n this.tokenPayload = this.auth.tokenPayload(this.auth.getToken());\r\n this.userRole = this.tokenPayload.CustomerType;\r\n }\r\n\r\n GetColorState(state) {\r\n switch (state) {\r\n case \"PENDING\": return \"machine-pending\";\r\n case \"POWER_ON\": return \"machine-on\";\r\n case \"POWER_OFF\": return \"machine-off\";\r\n case \"BUSY\": return \"machine-busy\";\r\n case \"SUSPEND\": return \"machine-suspended\";\r\n default: return \"\";\r\n }\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.dataSource.data = this.userServices;\r\n filterValue = filterValue.trim();\r\n filterValue = filterValue.toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n console.log(this.dataSource.filteredData);\r\n }\r\n\r\n ResendUserMailWindow(user: UserDTO) {\r\n\r\n this.dialog.open(PasswordResendDialog, {\r\n data: user\r\n });\r\n }\r\n\r\n public resetSidenav(){\r\n this.SerSet.resetComponent();\r\n }\r\n\r\n public AddFreeService() {\r\n console.log(this.user);\r\n this.sidenavMode = \"demoservice\"\r\n this.sideNav.open();\r\n }\r\n\r\n public AddUser() {\r\n this.sidenavMode = \"user\"\r\n this.selectedUser = new UserDTO();\r\n this.selectedUser.ParentID = this.user.ID;\r\n this.selectedUser.Language = JSON.parse(atob(this.auth.getToken().split('.')[1])).Language;\r\n this.sideNav.open();\r\n }\r\n\r\n public EditUser(user) {\r\n this.sidenavMode = \"user\"\r\n this.selectedUser = user;\r\n this.sideNav.open();\r\n }\r\n\r\n removeCustomerConfirm(User: UserDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminando Cliente\",\r\n Message: \"¿Desea continuar?\",\r\n Ok: () => this.RemoveUser(User),\r\n }\r\n });\r\n }\r\n\r\n public RemoveUser(user) {\r\n this.service.RemoveUser(user.ID).subscribe(\r\n response => {\r\n this.getUsers();\r\n this.snackbar.open('Cliente eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n console.log(error);\r\n this.snackbar.open('Error elminando cliente. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n\r\n public AddService() {\r\n this.sidenavMode = \"service\"\r\n this.selectedService = new ServiceDTO();\r\n this.selectedService.CustomerID = this.user.ID;\r\n this.sideNav.open();\r\n }\r\n\r\n public EditService(Service) {\r\n this.sidenavMode = \"service\"\r\n }\r\n\r\n public savedUser(savedUser: UserDTO) {\r\n this.snackbar.open('Usuario guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n this.UsersGrid.pushRow(savedUser);\r\n }\r\n\r\n public savedService(savedService: ServiceDTO) {\r\n this.snackbar.open('Servicio creado satisfactoriamente.', null, {\r\n duration: 3000,\r\n });\r\n this.getServices();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = new UserInfoDTO();\r\n this.navbarBroadcast.SendMessage({\r\n actions: [\r\n { icon: 'person_add', name: 'Agregar Usuario', action: () => { this.AddUser() } },\r\n/* { icon: 'add_box', name: 'Agregar Servicio', action: () => { this.AddService() } },\r\n { icon: 'add_to_photos', name: 'Agregar Servicio de prueba', action: () => { this.AddFreeService() } }, */\r\n { icon: 'keyboard_backspace', name: 'Volver a usuarios', action: () => { this.GoBack() } }\r\n ],\r\n display : true\r\n });\r\n }\r\n\r\n getServices() {\r\n this.loading = true;\r\n this.service.GetDataCenterMachines(null, this.user.ID).subscribe(\r\n (response: any) => {\r\n this.loading = false;\r\n const data = response.filter(f => f.category === 'CS');\r\n this.userServices = (data[0] && data[0].machinesList) ? data[0].machinesList : [];\r\n this.dataSource.data = this.userServices;\r\n this.dataSource.paginator = this.paginator;\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n getUsers() {\r\n this.service.getSystemUserAccounts(this.user.ID).subscribe(\r\n response => {\r\n this.UsersGrid.setData(response);\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n getAdditionalServices() {\r\n this.AdditionalServicesGrid.loading = true;\r\n this.service.GetAdditionalServicesByCustomer(this.user.ID).subscribe(\r\n response => {\r\n this.AdditionalServicesGrid.setData(response);\r\n },\r\n error => {\r\n\r\n }\r\n )\r\n }\r\n\r\n GoBack() {\r\n this.router.navigateByUrl('/home/(main:userAccounts)', { skipLocationChange: true });\r\n }\r\n\r\n GetUseriformation(CustomerID: string) {\r\n this.service.GetUserInformation(CustomerID).subscribe(\r\n (response : any) => {\r\n this.user = response;\r\n this.getServices();\r\n this.getUsers();\r\n this.getAdditionalServices();\r\n },\r\n error => {\r\n this.snackbar.open('Error obteniendo información. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n this.router.navigateByUrl('/home/(main:userAccounts)', { skipLocationChange: true });\r\n }\r\n )\r\n }\r\n\r\n getProfileList() {\r\n this.service.GetProfiles().subscribe(\r\n (response:any) => { this.profiles = response },\r\n error => {\r\n this.snackbar.open('Error obteniendo perfiles ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n\r\n","\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n account_balance_wallet\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n developer_board\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sentiment_neutral\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sentiment_very_satisfied\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n Option\r\n \r\n \r\n\r\n
\r\n \r\n \r\n Estado\r\n \r\n \r\n fiber_manual_record\r\n \r\n \r\n \r\n \r\n Nombre\r\n \r\n
\r\n {{row.ServiceName}}\r\n
\r\n
\r\n
\r\n \r\n Service ID\r\n {{row.ServiceID}} \r\n \r\n \r\n Cores\r\n {{row.Configuration.Cores.Value}} \r\n \r\n \r\n RAM\r\n {{row.Configuration.Ram.Value}} \r\n \r\n\r\n \r\n Opciones\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { GridComponent } from \"../../tools/grid/grid.component\";\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { UserEdition } from './user-edition/user-edition.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { UserDTO } from '../../models/dtos.component';\r\nimport { BroadcastEmitter } from '../../services/BroadcastEmitter';\r\nimport { ConfirmationDialog } from '../../tools/modals/confirmation/modal.component';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-userAccounts',\r\n templateUrl: './userAccounts.component.html',\r\n styleUrls: ['./userAccounts.component.scss']\r\n})\r\nexport class UserAccountsComponent implements OnInit {\r\n @ViewChild('sideNav') sideNav: MatSidenav;\r\n @ViewChild('usersGrid') usersGrid: GridComponent;\r\n public selectedUser: UserDTO;\r\n constructor(public service: WlService,\r\n private router: Router,\r\n public snackBar: MatSnackBar,\r\n public navbarBroadcast: BroadcastEmitter,\r\n public dialog: MatDialog,\r\n public auth: AuthService) {\r\n this.service.ModuleName = 'userAccounts';\r\n }\r\n message: string = 'Haz doble clic sobre el nombre del usuario para editar';\r\n openSnackBar(message: string) {\r\n this.snackBar.open(message, null, {\r\n duration: 4000,\r\n });\r\n }\r\n\r\n public grid = {\r\n columns: [\r\n { name: \"Name\", title: \"Name\" },\r\n { name: \"Email\", title: \"Email\" },\r\n { name: \"TotalCost\", title: \"Cost\", format: \"currency\" },\r\n ],\r\n data: [],\r\n toolbar: [\r\n { \"type\": \"button\", \"permission\": \"AddCustomer\", \"click\": () => { this.addUser() }, \"text\": \"Agregar cliente\", \"align\": \"left\" }\r\n ],\r\n filter: \"Name\",\r\n pageSize: 10,\r\n rowClick: (u) => { this.userSettings(u) },\r\n refresh: (u) => { this.getUsers() },\r\n minWidth: '900px',\r\n actions: [\r\n {\r\n text: \"Detalle y Servicios\",\r\n action: (u) => { this.userSettings(u) },\r\n },\r\n {\r\n text: \"Editar\",\r\n action: (u) => { this.editUser(u) },\r\n hide: (u) => { return u.CustomerTypeID != \"CUSTOMER\" }\r\n },\r\n {\r\n text: \"Eliminar\",\r\n action: (u) => { this.removeCustomerConfirm(u) },\r\n hide: (u) => { return u.CustomerTypeID != \"CUSTOMER\" || u.ID == JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID }\r\n },\r\n {\r\n text: \"Iniciar Sesión\",\r\n action: (u) => { this.ImpersonateUser(u) },\r\n hide: (u) => { return JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID == u.ID }\r\n },\r\n {\r\n text: \"Reenviar Contraseña\",\r\n action: (u) => { this.ResendUserMailWindow(u) }\r\n }\r\n ]\r\n }\r\n\r\n ResendUserMailWindow(user: UserDTO) {\r\n this.dialog.open(PasswordResendDialog, {\r\n data: user\r\n });\r\n }\r\n\r\n ImpersonateUser(user: UserDTO) {\r\n this.service.GenerateToken(user.ID).subscribe(\r\n (response:any) => {\r\n localStorage.setItem(\"usertoken\", response.token);\r\n window.open(user.DomainName + \"/?t=\" + response.token, '_blank');\r\n }\r\n )\r\n }\r\n\r\n removeCustomerConfirm(User: UserDTO) {\r\n this.dialog.open(ConfirmationDialog, {\r\n data: {\r\n Title: \"Eliminar Cliente\",\r\n Message: \"Esta seguro?\",\r\n Ok: () => this.removeCustomer(User),\r\n }\r\n });\r\n }\r\n\r\n removeCustomer(User: UserDTO): void {\r\n if (this.usersGrid) {\r\n this.usersGrid.loading = true;\r\n }\r\n this.service.RemoveUser(User.ID).subscribe(\r\n () => {\r\n this.getUsers();\r\n this.snackBar.open('Cliente eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.usersGrid.loading = false;\r\n this.snackBar.open('Error eliminando cliente. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n );\r\n }\r\n\r\n userSettings(User) {\r\n this.router.navigateByUrl('/home/(main:userConfiguration/' + encodeURIComponent(User.ID) + ')', { skipLocationChange: true });\r\n }\r\n\r\n editUser(User) {\r\n this.selectedUser = User;\r\n this.sideNav.open();\r\n }\r\n\r\n addUser() {\r\n this.selectedUser = new UserDTO();\r\n this.selectedUser.ParentID = JSON.parse(atob(this.auth.getToken().split('.')[1])).UserID;\r\n this.selectedUser.Language = JSON.parse(atob(this.auth.getToken().split('.')[1])).Language;\r\n this.sideNav.open();\r\n }\r\n\r\n public savedUser(savedUser: UserDTO) {\r\n this.snackBar.open('Cliente guardado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n }\r\n\r\n\r\n finishSaving() {\r\n this.selectedUser = new UserDTO();\r\n this.usersGrid.loading = true;\r\n this.getUsers();\r\n }\r\n\r\n ngOnInit() {\r\n this.navbarBroadcast.SendMessage({ text: \"Cuentas de usuario\", actions: [{ icon: 'person_add', name: 'Agregar cliente', action: () => { this.addUser() } }] ,display : true});\r\n this.getUsers();\r\n }\r\n\r\n getUsers() {\r\n if (this.usersGrid) {\r\n this.usersGrid.loading = true;\r\n }\r\n this.service.getCustomerAccounts()\r\n .subscribe((response) => {\r\n this.usersGrid.setData(response);\r\n }, (error) => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n}\r\nconst EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\r\n@Component({\r\n selector: 'password-resend-dialog',\r\n templateUrl: 'password-resend.html',\r\n styleUrls: ['../../tools/modals/modals.scss']\r\n})\r\nexport class PasswordResendDialog {\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public snackbar: MatSnackBar,\r\n private service: WlService) { }\r\n public loading = false;\r\n public emailAddress = '';\r\n emailFormControl = new FormControl('', [\r\n Validators.pattern(EMAIL_REGEX)]\r\n );\r\n ResendUserMail() {\r\n this.loading = true;\r\n this.service.ResendUserMail(this.data.ID, this.emailAddress).subscribe(\r\n response => {\r\n this.loading = false;\r\n this.dialogRef.close();\r\n this.snackbar.open('Correo enviado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error enviando correo. ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","
\r\n
\r\n

Reenvio de credenciales\r\n\r\n

\r\n
\r\n
\r\n
\r\n Por favor ingrese el correo al cual se deben enviar las credenciales\r\n

\r\n \r\n \r\n \r\n Please enter a valid email address\r\n \r\n {{emailAddress.length}} / 50\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, Input, Output, OnInit, EventEmitter, OnChanges } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { ProductDTO, BundleDTO } from '../../../models/dtos.component';\r\nimport { Constants } from '../../../models/constants.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n@Component({\r\n// tslint:disable-next-line: component-selector\r\n selector: 'plan-edition',\r\n templateUrl: 'plan-edition.component.html',\r\n styleUrls: ['../virtualServers.component.scss']\r\n})\r\n\r\nexport class planEdition implements OnInit, OnChanges {\r\n @Input() product: ProductDTO;\r\n @Input() sidenav: MatSidenav;\r\n @Output() savedProduct = new EventEmitter();\r\n constants: Constants = new Constants();\r\n public loading = false;\r\n token: string;\r\n language: string;\r\n virtualServerForm: FormGroup;\r\n\r\n\r\n constructor(private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder,public auth: AuthService) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n this.virtualServerForm = this.formBuilder.group({\r\n 'nombredelPlan': [{ value: '', disabled: this.loading }, [Validators.required, Validators.minLength(4)]],\r\n 'descripciondelPlan': [{ value: '', disabled: this.loading }, [Validators.required, Validators.maxLength(130)]],\r\n 'cantidadCores': [{ value: '', disabled: this.loading }, [Validators.required]],\r\n 'cantidadRam': [{ value: '', disabled: this.loading }, [Validators.required]],\r\n 'tipodeProductos': [{ value: '', disabled: this.loading }, [Validators.required]],\r\n });\r\n }\r\n ngOnInit() {\r\n this.product = new ProductDTO();\r\n this.refreshProductPrice();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes['product'].currentValue) {\r\n if (!changes['product'].currentValue.ID) {\r\n this.virtualServerForm.reset({\r\n cantidadCores: 2,\r\n cantidadRam: 2,\r\n tipodeProductos: '/assets/img/gralServer.png',\r\n });\r\n }\r\n this.refreshProductPrice();\r\n }\r\n }\r\n\r\n public SaveProduct() {\r\n this.virtualServerForm.disable();\r\n this.loading = true;\r\n this.service.SaveProduct(this.product).subscribe(\r\n (response:any) => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.savedProduct.emit(response);\r\n this.sidenav.close();\r\n },\r\n error => {\r\n this.virtualServerForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Error guardando producto ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n public closeDialog() {\r\n this.sidenav.close();\r\n }\r\n\r\n public changeProductType(value) {\r\n switch (value.value) {\r\n case '/assets/img/gralServer.png':\r\n this.product.VirtualizationProviderID = 1;\r\n this.product.Configuration.BundleMachine.Hypervisor.plataform = 1;\r\n break;\r\n case '/assets/img/sapLogoBg.png':\r\n this.product.VirtualizationProviderID = 2;\r\n this.product.Configuration.BundleMachine.Hypervisor.plataform = 2;\r\n break;\r\n default:\r\n break;\r\n }\r\n console.log(value);\r\n }\r\n\r\n public clearSelection() {\r\n this.product.Configuration = new BundleDTO();\r\n this.product.Name = '';\r\n this.product.Description = '';\r\n }\r\n\r\n public refreshProductPrice() {\r\n this.loading = true;\r\n this.service.GetProductPrice(this.product.Configuration).subscribe(\r\n (response:any) => {\r\n this.loading = false;\r\n this.product.Configuration = response;\r\n },\r\n error => {\r\n this.loading = false;\r\n this.snackbar.open('Error consultando precio ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
{{'VIRTUAL_SERVERS.ADD_VIRTUAL_SERVER' | translate}}
\r\n
{{'VIRTUAL_SERVERS.EDIT_VIRTUAL_SERVER' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'VIRTUAL_SERVERS.PLAN_DATA' | translate}}
\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
El nombre debe contar con al menos 4 caracteres
\r\n
El nombre del plan es un campo requerido.
\r\n
\r\n
\r\n {{product.Name ? product.Name.length : 0}} / 50\r\n
\r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
El tamaño mínimo es 20 caracteres.
\r\n
La descripción es un campo requerido.
\r\n
\r\n
\r\n {{product.Description ? product.Description.length : 0}} / 130\r\n
\r\n
\r\n
Configuración del plan
\r\n
\r\n \r\n \r\n {{c.value}}\r\n \r\n \r\n\r\n\r\n \r\n \r\n {{r.value}}\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{c.Name}}\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{'VIRTUAL_SERVERS.TOTAL_COST' | translate}}: {{ product.Configuration.BundleMachine.Cost.DiscountMRC\r\n | currency:'USD':true:'1.2-2'}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ProductDTO } from '../../models/dtos.component';\r\nimport { Constants } from '../../models/constants.component';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BroadcastEmitter} from '../../services/BroadcastEmitter';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n// tslint:disable-next-line: component-selector\r\n selector: 'app-virtualServers',\r\n templateUrl: './virtualServers.component.html',\r\n styleUrls: ['./virtualServers.component.scss']\r\n})\r\nexport class VirtualServersComponent implements OnInit {\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n canCloseSidenav = true;\r\n dataCenterID: number;\r\n domainProducts = new Array();\r\n selectedProduct: ProductDTO = new ProductDTO();\r\n constants: Constants = new Constants();\r\n mostrar = false;\r\n token: string;\r\n language: string;\r\n\r\n\r\n constructor(private service: WlService,\r\n public snackbar: MatSnackBar,\r\n public navBrodcaster: BroadcastEmitter,\r\n public auth: AuthService) {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n public ngOnInit() {\r\n this.getProducts();\r\n this.navBrodcaster.SendMessage({\r\n text : 'Servidores virtuales',\r\n actions : [\r\n {icon : 'note_add', name: 'Nueva plantilla', action : () => {this.AddProduct()}}\r\n ],\r\n display: true\r\n });\r\n }\r\n\r\n public finishSaving(_product) {\r\n if(this.selectedProduct.ID != _product.ID){\r\n this.domainProducts[this.domainProducts.indexOf(this.selectedProduct)] = _product;\r\n }\r\n }\r\n\r\n public closeSidenav() {\r\n this.domainProducts = this.domainProducts.filter((u)=>{return u.ID != null });\r\n }\r\n\r\n public getProducts() {\r\n this.service.GetProducts().subscribe(\r\n (response:any) => {\r\n this.domainProducts = response\r\n },\r\n error => {\r\n this.snackbar.open('Error consultando productos ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n public AddProduct(){\r\n this.domainProducts = this.domainProducts.filter((u) => {return u.ID != null });\r\n const p = new ProductDTO();\r\n p.ProductType = 'GENERAL';\r\n this.domainProducts.unshift(p);\r\n this.editProduct(p);\r\n }\r\n\r\n public editProduct(product) {\r\n this.selectedProduct = product;\r\n this.sidenav.open();\r\n }\r\n\r\n public disableProduct(product) {\r\n product.IsSaving = true;\r\n this.service.changeProductState(product).subscribe(\r\n (response :any) => {\r\n this.snackbar.open('estado de producto ' + product.Name + ' cambiado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n product.State = response.State;\r\n product.IsSaving = false;\r\n },\r\n error => {\r\n product.IsSaving = false;\r\n this.snackbar.open('Error cambiando estado del producto ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n }\r\n\r\n public removeProduct(product) {\r\n product.IsSaving = true;\r\n this.service.RemoveProduct(product).subscribe(\r\n () => {\r\n this.snackbar.open('Producto eliminado satisfactoriamente', null, {\r\n duration: 3000,\r\n });\r\n this.getProducts();\r\n },\r\n error=>{\r\n product.IsSaving = false;\r\n this.snackbar.open('Error elminando producto ' + error.error, null, {\r\n duration: 3000,\r\n });\r\n }\r\n )\r\n\r\n }\r\n }\r\n\r\n","\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'VIRTUAL_SERVERS.ACTIVE' | translate}}\r\n {{'VIRTUAL_SERVERS.INACTIVE' | translate}}\r\n
\r\n \"Card\r\n \r\n
\r\n

{{product.Name}}

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

{{product.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
{{'VIRTUAL_SERVERS.CONFIGURATION' | translate}} {{'VIRTUAL_SERVERS.PRICE' | translate}} {{'VIRTUAL_SERVERS.TOTAL' | translate}}
{{product.Configuration.BundleMachine.Cores.Value}} {{'VIRTUAL_SERVERS.CORES' | translate}} {{product.Configuration.BundleMachine.Ram.Value}}GB\r\n Ram 100GB/SSD {{ product.Configuration.Cost.MRC | currency:'USD':true:'1.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","import { Component, ViewChild } from '@angular/core';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'certificate-upload',\r\n templateUrl: './certificate-upload.component.html',\r\n styleUrls: ['./certificate-upload.component.scss'],\r\n})\r\nexport class CertificateUploadComponent {\r\n @ViewChild(\"fileInput\") fileInput;\r\n globalization: any = Globalization;\r\n loaded: boolean = false;\r\n fileSrc: string = '';\r\n pwd : string;\r\n saveButton : boolean = false;\r\n SSLCertificate : boolean = false;\r\n SSLLoading : boolean = true;\r\n fileToUpload: any;\r\n token: string;\r\n language: string;\r\n constructor( private service: WlService , public snackbar: MatSnackBar, public auth: AuthService){}\r\n\r\n public ngOnInit(){\r\n this.inicializate();\r\n this.getDomainData(); \r\n }\r\n\r\n inicializate(){\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n public getDomainData(){\r\n this.service.GetDomainInformation().subscribe(\r\n (response:any)=>{\r\n this.SSLCertificate = response.SSLCertificate;\r\n this.SSLLoading = false;\r\n }, \r\n error=>{\r\n this.snackbar.open('Error consultando domainInfo ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n \r\n )\r\n }\r\n\r\n saveFile(): void {\r\n if(this.validate()){\r\n let fi = this.fileInput.nativeElement;\r\n if (fi.files && fi.files[0]) {\r\n this.fileToUpload = fi.files[0];\r\n let params = {\r\n Type :\"CertificateSSL\",\r\n password : this.pwd\r\n }\r\n this.SSLLoading = true;\r\n this.service\r\n .uploadFile(this.fileToUpload,\"Domain/UploadCertificateSSL\", params)\r\n .subscribe(\r\n res => {\r\n this.saveButton = false; \r\n this.snackbar.open('Certificado cargado correctamente', null, {\r\n duration: 2000,\r\n });\r\n this.pwd = \"\";\r\n this.SSLLoading = false;\r\n\r\n }, \r\n error=>{\r\n this.snackbar.open('Error al cargar el certificado por favor verifique el archivo y el password', null, {\r\n duration: 2000,\r\n });\r\n this.SSLLoading = false;\r\n }\r\n );\r\n }\r\n\r\n }else{\r\n this.snackbar.open('Por favor verifique el password' , null, {\r\n duration: 2000,\r\n });\r\n }\r\n \r\n }\r\n\r\n uploadFile():void {\r\n let fi = this.fileInput.nativeElement;\r\n if (fi.files && fi.files[0]) {\r\n this.fileToUpload = fi.files[0];\r\n this.saveButton = true;\r\n }else{\r\n this.saveButton = false;\r\n }\r\n }\r\n validate():boolean{ \r\n let validate = (this.pwd && this.pwd.length != null && this.pwd.length !== 0 ) ? true: false;\r\n return validate;\r\n }\r\n cancelUpload():void {\r\n this.saveButton = false;\r\n this.fileToUpload = {};\r\n this.pwd = \"\";\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
{{ 'WHITELABELCONFIGURATION.UPLOADCERTIFICATE' | translate}}
\r\n {{ 'WHITELABELCONFIGURATION.PASSWORD' | translate}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{fileToUpload.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","import { Component, ViewChild, OnInit} from '@angular/core';\r\nimport { Globalization } from '../../../globalization/globalization';\r\nimport { WlService } from '../../../services/wlservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AuthService } from '../../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'image-upload',\r\n templateUrl: './image-upload.component.html',\r\n styleUrls: ['./image-upload.component.scss'],\r\n inputs:['activeColor','baseColor','overlayColor']\r\n})\r\n\r\nexport class ImageUploadComponent implements OnInit {\r\n\r\n @ViewChild(\"fileInput\") fileInput;\r\n globalization: any = Globalization;\r\n dragging: boolean = false;\r\n loaded: boolean = false;\r\n customerImage: string = '';\r\n editImage: boolean = false\r\n imageLoaded: boolean = false;\r\n imageSrc: string = '';\r\n activeColor: string = 'green';\r\n baseColor: string = '#ccc';\r\n borderColor :string;\r\n iconColor : string;\r\n HeaderConfiguration : any;\r\n overlayColor: string = 'rgba(255,255,255,0.5)';\r\n token: string;\r\n language: string;\r\n\r\n constructor(private service: WlService , public snackbar: MatSnackBar, public auth : AuthService) {}\r\n\r\n public ngOnInit(){\r\n this.inicializate();\r\n this.getDomainData();\r\n }\r\n\r\n inicializate(){\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n public getDomainData(){\r\n this.service.GetDomainInformation().subscribe(\r\n (response:any)=>{\r\n this.HeaderConfiguration = JSON.parse(response.HeaderConfiguration);\r\n if(this.HeaderConfiguration.Logo.length > 0){\r\n this.customerImage = environment.serviceUrl+\"CustomerImages/\"+this.HeaderConfiguration.Logo;\r\n this.imageSrc = this.customerImage;\r\n }\r\n }, \r\n error=>{\r\n this.snackbar.open('Error consultando domainInfo ' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n \r\n )\r\n }\r\n\r\n\r\n \r\n saveFile(): void {\r\n let fi = this.fileInput.nativeElement;\r\n if (fi.files && fi.files[0]) {\r\n let fileToUpload = fi.files[0];\r\n this.service.uploadFile(fileToUpload, \"Domain/UploadLogo\").subscribe(\r\n response => {\r\n this.snackbar.open('Logo actualizado correctamente', null, {\r\n duration: 2000,\r\n });\r\n this.getDomainData();\r\n this.editImage = false;\r\n }, \r\n error=>{\r\n this.snackbar.open('Error actualizando el logo' + error.error, null, {\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancelUpload(): void{\r\n this.imageSrc = (this.customerImage) ? this.customerImage : this.imageSrc ='';\r\n this.editImage = false;\r\n }\r\n\r\n handleDragEnter() {\r\n this.dragging = true;\r\n }\r\n \r\n handleDragLeave() {\r\n this.dragging = false;\r\n }\r\n \r\n handleDrop(e) {\r\n e.preventDefault();\r\n this.dragging = false;\r\n this.handleInputChange(e);\r\n }\r\n \r\n handleImageLoad() {\r\n this.imageLoaded = true \r\n this.iconColor = this.overlayColor;\r\n }\r\n\r\n handleInputChange(e) {\r\n var file = e.dataTransfer ? e.dataTransfer.files[0] : e.target.files[0];\r\n var pattern = /image-*/;\r\n var reader = new FileReader();\r\n\r\n if (!file.type.match(pattern)) {\r\n this.snackbar.open('Formato Invalido', null, {\r\n duration: 2000,\r\n });\r\n return;\r\n }\r\n this.editImage = true;\r\n this.loaded = false;\r\n reader.onload = this.handleReaderLoaded.bind(this);\r\n reader.readAsDataURL(file);\r\n }\r\n \r\n handleReaderLoaded(e) {\r\n var reader = e.target;\r\n this.imageSrc = reader.result;\r\n this.loaded = true;\r\n }\r\n\r\n setActive() {\r\n this.borderColor = this.activeColor;\r\n if (this.imageSrc.length === 0) {\r\n this.iconColor = this.activeColor;\r\n }\r\n }\r\n \r\n setInactive() {\r\n this.borderColor = this.baseColor;\r\n if (this.imageSrc.length === 0) {\r\n this.iconColor = this.baseColor;\r\n }\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n
{{ 'WHITELABELCONFIGURATION.UPLOADFILE' | translate}}
\r\n {{ 'WHITELABELCONFIGURATION.DESCRIPTION' | translate}}, ({{ 'WHITELABELCONFIGURATION.SIZEIMAGE' | 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","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-whiteLabelConfiguration',\r\n templateUrl: './whiteLabelConfiguration.component.html',\r\n styleUrls: ['./whiteLabelConfiguration.component.scss'],\r\n})\r\nexport class WhiteLabelConfigurationComponent {}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } 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 FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n www.ifxnetworks.com 2021 © todos los derechos reservados. \r\n
\r\n
\r\n
","export const Globalization = {\r\n general : {\r\n\r\n required : {\r\n 'en-us': 'Required', 'es-co': 'Campo requerido.',\r\n }\r\n },\r\n login:\r\n {\r\n message: {\r\n // 'en-us':'Enter your user name and password.',\r\n // 'es-co':'Ingrese su usuario y contraseña',\r\n 'en-us': 'Hi! We wish you to have a very nice day.',\r\n 'es-co': 'Hola!, Esperamos que tengas un muy buen día',\r\n },\r\n user: {\r\n 'en-us': 'type your user name',\r\n 'es-co': 'Usuario',\r\n },\r\n password: {\r\n 'en-us': 'Place your Password',\r\n 'es-co': 'Contraseña',\r\n },\r\n loginButton: {\r\n 'en-us': 'Login',\r\n 'es-co': 'Ingresar',\r\n },\r\n forgotPassword: {\r\n 'en-us': 'Forgot your password?',\r\n 'es-co': '¿Olvidaste tu contraseña?',\r\n }\r\n },\r\n\r\n menu:\r\n {\r\n home: {\r\n 'en-us': 'Home', 'es-co': 'Inicio',\r\n },\r\n dataCenter: {\r\n 'en-us': 'Datacenter', 'es-co': 'Centro de datos',\r\n },\r\n plans: {\r\n 'en-us': 'Services', 'es-co': 'Servicios',\r\n },\r\n Administration: {\r\n 'en-us': 'Administration', 'es-co': 'Administración',\r\n },\r\n Configuration: {\r\n 'en-us': 'Settings', 'es-co': 'Configuración',\r\n },\r\n Information: {\r\n 'en-us': 'Information', 'es-co': 'Información',\r\n },\r\n logout: {\r\n 'en-us': 'Logout', 'es-co': 'Cerrar sesión',\r\n },\r\n virtualServers: {\r\n 'en-us': 'Virtual servers', 'es-co': 'Servidores virtuales',\r\n },\r\n calculator: {\r\n 'en-us': 'Calculator', 'es-co': 'Cotizador',\r\n },\r\n Prospects: {\r\n 'en-us': 'Prospects', 'es-co': 'Prospectos',\r\n },\r\n eventsLog: {\r\n 'en-us': 'Event viewer', 'es-co': 'Log de eventos',\r\n },\r\n useStatistics: {\r\n 'en-us': 'Statistics', 'es-co': 'Estadisticas de uso',\r\n },\r\n whiteLabelConfiguration: {\r\n 'en-us': 'Look and Feel', 'es-co': 'Mi portal',\r\n },\r\n CancelledServices: {\r\n 'en-us': 'Cancelled services', 'es-co': 'Servicios cancelados',\r\n },\r\n userAccounts: {\r\n 'en-us': 'User accounts', 'es-co': 'Cuentas de usuario',\r\n },\r\n billing: {\r\n 'en-us': 'Billing', 'es-co': 'Facturación',\r\n },\r\n Marketplace: {\r\n 'en-us': 'Marketplace', 'es-co': 'Tienda',\r\n },\r\n accountConfiguration: {\r\n 'en-us': 'My account', 'es-co': 'Mi cuenta',\r\n },\r\n activeDirectory: {\r\n 'en-us': 'Active Directory', 'es-co': 'Directorio activo',\r\n },\r\n role: {\r\n 'en-us': 'Roles', 'es-co': 'Roles',\r\n },\r\n emailSetup: {\r\n 'en-us': 'Email branding', 'es-co': 'Correos',\r\n },\r\n helpDesk: {\r\n 'en-us': 'Helpdesk', 'es-co': 'Material de ayuda',\r\n },\r\n Faq: {\r\n 'en-us': 'FAQ', 'es-co': 'FAQ',\r\n },\r\n pendingMachines: {\r\n 'en-us': 'Machines in progress', 'es-co': 'Máquinas pendientes',\r\n },\r\n supportContacts: {\r\n 'en-us': 'Support Contacts', 'es-co': 'Contactos de Soporte',\r\n },\r\n desktop: {\r\n 'en-us': 'Home', 'es-co': 'Inicio',\r\n }\r\n },\r\n desktop:\r\n {\r\n whitelabelinfo:\r\n {\r\n cloud: {\r\n 'en-us': 'Cloud: ', 'es-co': 'Nube: '\r\n },\r\n telephone: {\r\n 'en-us': 'Telephone: ', 'es-co': 'Teléfono: '\r\n },\r\n status: {\r\n 'en-us': 'Status: ', 'es-co': 'Estado: '\r\n },\r\n cost: {\r\n 'en-us': 'Cost: ', 'es-co': 'Costo:'\r\n },\r\n currentlyyouhave: {\r\n 'en-us': 'Currently you have: ', 'es-co': 'Cuentas con: '\r\n },\r\n users: {\r\n 'en-us': 'Users', 'es-co': 'Usuarios'\r\n },\r\n services: {\r\n 'en-us': 'Service(s)', 'es-co': 'Servicio(s)'\r\n },\r\n aditionalservices: {\r\n 'en-us': 'Aditional Service(s)', 'es-co': 'Servicio(s) Adicional(es)'\r\n },\r\n },\r\n\r\n favorites:\r\n {\r\n title: {\r\n 'en-us': 'Favorites', 'es-co': 'Favoritos'\r\n },\r\n user: {\r\n 'en-us': 'User', 'es-co': 'Usuario'\r\n },\r\n machine: {\r\n 'en-us': 'Machine', 'es-co': 'Máquina'\r\n },\r\n firewall: {\r\n 'en-us': 'Firewall', 'es-co': 'Cortafuegos'\r\n },\r\n },\r\n\r\n accountsumary:\r\n {\r\n title: {\r\n 'en-us': 'ACCOUNT SUMMARY', 'es-co': 'RESUMEN DE CUENTA'\r\n },\r\n acounttodate: {\r\n 'en-us': 'Account status to date', 'es-co': 'Estado de cuenta'\r\n },\r\n currentbalance: {\r\n 'en-us': 'Current Balance', 'es-co': 'Balance Actual'\r\n },\r\n activemachines: {\r\n 'en-us': 'Active Machines', 'es-co': 'Máquina Activas'\r\n },\r\n activemachinesnumber: {\r\n 'en-us': 'Active Machines', 'es-co': 'Total Activas'\r\n },\r\n pendingcancelations: {\r\n 'en-us': 'Pending', 'es-co': 'Cancelaciones'\r\n },\r\n balancetodate: {\r\n 'en-us': 'Cancelations', 'es-co': 'Pendientes'\r\n },\r\n activecustomers: {\r\n 'en-us': 'Active Customers', 'es-co': 'Clientes Activos'\r\n },\r\n activecustnumber: {\r\n 'en-us': 'Current', 'es-co': 'Total Activos'\r\n },\r\n },\r\n\r\n changelog:\r\n {\r\n title: {\r\n 'en-us': 'CHANGE LOG', 'es-co': 'REGISTRO DE CAMBIOS'\r\n }\r\n }\r\n\r\n },\r\n\r\n datacenter:\r\n {\r\n serviceid: {\r\n 'en-us': 'Service Id: ', 'es-co': 'Id del Servicio: '\r\n },\r\n status: {\r\n 'en-us': 'Status: ', 'es-co': 'Estado: '\r\n },\r\n edit: {\r\n 'en-us': 'Edit ', 'es-co': 'Editar '\r\n },\r\n menu: {\r\n adminnet: {\r\n 'en-us': 'Admin Networks', 'es-co': 'Administrar Redes '\r\n }\r\n },\r\n TURN_OFF: {\r\n 'en-us': 'Shutdown', 'es-co': 'Apagar'\r\n },\r\n TURN_ON: {\r\n 'en-us': 'Power On', 'es-co': 'Encender'\r\n },\r\n LAY_OFF: {\r\n 'en-us': 'Suspend', 'es-co': 'Suspender'\r\n },\r\n RESTART: {\r\n 'en-us': 'Restart', 'es-co': 'Reiniciar '\r\n },\r\n RESUME: {\r\n 'en-us': 'Restart', 'es-co': 'Reiniciar '\r\n },\r\n TURN_OFF_GUEST: {\r\n 'en-us': 'Power On Guest OS', 'es-co': 'Encender Sistema Operativo Invitado'\r\n },\r\n LAY_OFF_GUEST: {\r\n 'en-us': 'Suspend Guest OS', 'es-co': 'Suspender Sistema Operativo Invitado'\r\n },\r\n RESTART_GUEST: {\r\n 'en-us': 'Restart Guest OS', 'es-co': 'Reiniciar Sistema Operativo Invitado'\r\n },\r\n },\r\n\r\n dcSidenav:\r\n {\r\n actions: {\r\n 'en-us': 'Actions', 'es-co': 'Acciones'\r\n },\r\n cores: {\r\n 'en-us': 'Configured Cores: ', 'es-co': 'CPU'\r\n },\r\n ram: {\r\n 'en-us': 'Configured Ram: ', 'es-co': 'Ram (GB)'\r\n },\r\n machinestatus: {\r\n 'en-us': 'Machine status: ', 'es-co': 'Estado'\r\n },\r\n password: {\r\n 'en-us': 'Password: ', 'es-co': 'Contraseña'\r\n },\r\n privateip: {\r\n 'en-us': 'Private Ip: ', 'es-co': 'Ip Privada: '\r\n },\r\n rdpaccess: {\r\n 'en-us': 'RDP/SSH access: ', 'es-co': 'Acceso RDP/SSH: '\r\n },\r\n macaddress: {\r\n 'en-us': 'Mac Address: ', 'es-co': 'Dirección Mac: '\r\n },\r\n viewconfig: {\r\n 'en-us': 'Set up', 'es-co': 'Configurar'\r\n },\r\n diskSize: {\r\n 'en-us': 'Disk size', 'es-co': 'Disco'\r\n },\r\n datacenter: {\r\n 'en-us': 'Datacenter', 'es-co': 'Centro de datos'\r\n }\r\n },\r\n\r\n networkSettings: {\r\n gettingInfo: {\r\n 'en-us': 'Obtaining information from the net', 'es-co': 'Obteniendo información de red'\r\n },\r\n services: {\r\n 'en-us': 'Services', 'es-co': 'Servicios'\r\n },\r\n publicips: {\r\n 'en-us': 'Public Ips', 'es-co': 'Ips Públicas'\r\n },\r\n\r\n sideNavNat:\r\n {\r\n protocol: {\r\n 'en-us': 'Protocol', 'es-co': 'Protocolo'\r\n },\r\n description: {\r\n 'en-us': 'Description', 'es-co': 'Descripción'\r\n },\r\n ipSource: {\r\n 'en-us': 'Ip Source', 'es-co': 'Ip Origen'\r\n },\r\n sourcePort: {\r\n 'en-us': 'Source Port', 'es-co': 'Puerto Origen'\r\n },\r\n ipDestination: {\r\n 'en-us': 'Destination Ip', 'es-co': 'Ip Destino'\r\n }\r\n },\r\n\r\n sideNavDHCP:\r\n {\r\n serviceId: {\r\n 'en-us': 'Service Id', 'es-co': 'Id del Servicio'\r\n },\r\n defaultGateway: {\r\n 'en-us': 'Default Gateway', 'es-co': 'Puerta Predeterminada'\r\n },\r\n ipAddress: {\r\n 'en-us': 'Ip Address', 'es-co': 'Driección Ip'\r\n },\r\n dnsPrimary: {\r\n 'en-us': 'Primary DNS', 'es-co': 'DNS Primario'\r\n },\r\n dnsSecondary: {\r\n 'en-us': 'Secondary DNS', 'es-co': 'DNS Secundario'\r\n },\r\n netMask: {\r\n 'en-us': 'Net Mask', 'es-co': 'Mascara de Red'\r\n },\r\n },\r\n sideNavRouting:\r\n {\r\n network: {\r\n 'en-us': 'Network', 'es-co': 'Red'\r\n },\r\n nextHop: {\r\n 'en-us': 'Next Hop', 'es-co': 'Enrutamiento'\r\n },\r\n vnic: {\r\n 'en-us': 'Interface', 'es-co': 'Interfaz'\r\n },\r\n description: {\r\n 'en-us': 'Description', 'es-co': 'Descripción'\r\n }\r\n },\r\n sideNavVPN:\r\n {\r\n algorithm: {\r\n 'en-us': 'Encryption Algorithm', 'es-co': 'Algoritmo de Encripción'\r\n },\r\n diffieHellman: {\r\n 'en-us': 'Team Diffie-Hellman', 'es-co': 'Grupo Diffie-Hellman'\r\n },\r\n enablePFS: {\r\n 'en-us': 'Enable PFS', 'es-co': 'Habilitar PFS'\r\n },\r\n status: {\r\n 'en-us': 'Status', 'es-co': 'Estado'\r\n },\r\n localIp: {\r\n 'en-us': 'Local Ip', 'es-co': 'Ip Local'\r\n },\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n password: {\r\n 'en-us': 'Password', 'es-co': 'Contraseña'\r\n },\r\n localSubnets: {\r\n 'en-us': 'Local Subnets', 'es-co': 'Subnets Locales'\r\n },\r\n ipDestination: {\r\n 'en-us': 'Ip Destionation', 'es-co': 'Ip Destino'\r\n },\r\n },\r\n\r\n sideNavIPSet:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n value: {\r\n 'en-us': 'IP Addresses', 'es-co': 'Direcciones IP'\r\n }\r\n },\r\n sideNavAppProfile:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n template: {\r\n 'en-us': 'Type', 'es-co': 'Tipo'\r\n },\r\n method: {\r\n 'en-us': 'Persistence', 'es-co': 'Persistencia'\r\n },\r\n cookieName: {\r\n 'en-us': 'Cookie name', 'es-co': 'Nombre de cookie'\r\n },\r\n cookieMode: {\r\n 'en-us': 'Mode', 'es-co': 'Modo'\r\n },\r\n expire: {\r\n 'en-us': 'Expires (in seconds)', 'es-co': 'Expiración (en segundos)'\r\n }\r\n },\r\n sideNavVirtualServer:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n applicationProfileId: {\r\n 'en-us': 'Application Profile', 'es-co': 'Application Profile'\r\n },\r\n ipAddress: {\r\n 'en-us': 'IP Address', 'es-co': 'Dirección IP'\r\n },\r\n protocol: {\r\n 'en-us': 'Protocol', 'es-co': 'Protocolo'\r\n },\r\n port: {\r\n 'en-us': 'Port', 'es-co': 'Puerto'\r\n },\r\n defaultPool: {\r\n 'en-us': 'Default Pool', 'es-co': 'Default Pool'\r\n },\r\n connectionLimit: {\r\n 'en-us': 'Connection Limit', 'es-co': 'Límite de conexión'\r\n },\r\n connectionRateLimit: {\r\n 'en-us': 'Connection Rate Limit', 'es-co': 'Límite de velocidad de conexión'\r\n }\r\n },\r\n sideNavPool:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n algorithm: {\r\n 'en-us': 'Algorithm', 'es-co': 'Algoritmo'\r\n },\r\n monitorId: {\r\n 'en-us': 'Monitor', 'es-co': 'Monitor'\r\n },\r\n ipAddress: {\r\n 'en-us': 'IP Address', 'es-co': 'Dirección IP'\r\n },\r\n port: {\r\n 'en-us': 'Port', 'es-co': 'Puerto'\r\n },\r\n monitorPort: {\r\n 'en-us': 'Monitor Port', 'es-co': 'Puerto de monitoreo'\r\n },\r\n weight: {\r\n 'en-us': 'Weight', 'es-co': 'Peso'\r\n },\r\n members: {\r\n 'en-us': 'Members', 'es-co': 'Miembros'\r\n },\r\n minConn: {\r\n 'en-us': 'Min. Connections', 'es-co': 'Conexiones mín.'\r\n },\r\n maxConn: {\r\n 'en-us': 'Max. Connections', 'es-co': 'Conexiones máx.'\r\n }\r\n },\r\n sideNavFW:\r\n {\r\n name: {\r\n 'en-us': 'Name', 'es-co': 'Nombre'\r\n },\r\n rule: {\r\n 'en-us': 'Rule Type', 'es-co': 'Tipo de Regla'\r\n },\r\n sourceIp: {\r\n 'en-us': 'Source Ip', 'es-co': 'Ip Origen'\r\n },\r\n status: {\r\n 'en-us': 'Action', 'es-co': 'Acción'\r\n },\r\n ipDestination: {\r\n 'en-us': 'Ip Destination', 'es-co': 'Ip Destino'\r\n },\r\n portConfig: {\r\n 'en-us': 'Port Configuration', 'es-co': 'Configuración de Puertos'\r\n },\r\n portSet: {\r\n 'en-us': 'Set Ports?', 'es-co': '¿Especificar Puertos?'\r\n },\r\n protocol: {\r\n 'en-us': 'Protocol', 'es-co': 'Protocolo'\r\n },\r\n port: {\r\n 'en-us': 'Port', 'es-co': 'Puerto'\r\n },\r\n }\r\n\r\n },\r\n\r\n grid: {\r\n gridFirstPart: {\r\n 'en-us': 'Showing records of', 'es-co': 'Mostrando registros de'\r\n },\r\n gridSecondPart: {\r\n 'en-us': 'Records', 'es-co': 'registros'\r\n },\r\n },\r\n\r\n virtualServer: {\r\n disabled: {\r\n 'en-us': 'Disable', 'es-co': 'INHABILITAR'\r\n },\r\n enabled: {\r\n 'en-us': 'Enable', 'es-co': 'HABILITAR'\r\n },\r\n delete: {\r\n 'en-us': 'Delete', 'es-co': 'BORRAR'\r\n },\r\n\r\n sideNavVS: {\r\n planName: {\r\n 'en-us': 'Plan Name', 'es-co': 'Nombre del plan'\r\n },\r\n planDescription: {\r\n 'en-us': 'Plan Description', 'es-co': 'Descripción del plan'\r\n },\r\n machineConfig: {\r\n 'en-us': 'Machine Configuration', 'es-co': 'Configuración de la Máquina'\r\n },\r\n productType: {\r\n 'en-us': 'Product Type', 'es-co': 'Tipo de Producto'\r\n },\r\n totalCost: {\r\n 'en-us': 'Total Cost: ', 'es-co': 'Costo inicial: '\r\n },\r\n suggestedCost: {\r\n 'en-us': 'Suggested Cost: ', 'es-co': 'Costo Sugerido: '\r\n },\r\n save: {\r\n 'en-us': 'Save', 'es-co': 'Guardar'\r\n },\r\n restore: {\r\n 'en-us': 'Restore', 'es-co': 'Restaurar'\r\n }\r\n }\r\n },\r\n\r\n whiteLabelConfiguration : {\r\n logo: {\r\n uploadFile : {\r\n 'en-us': 'Upload Logo', 'es-co': 'Subir Logo'\r\n },\r\n description : {\r\n 'en-us': 'Add the image or the logo of your company', 'es-co': 'Agrega la imagen o el logo de tu empresa,'\r\n },\r\n sizeImage : {\r\n 'en-us': 'The recommended size is 500px X 190px', 'es-co': 'El tamaño recomendado es de 500px X 190px'\r\n },\r\n accept : {\r\n 'en-us': 'ACCEPT', 'es-co': 'ACEPTAR'\r\n },\r\n cancel: {\r\n 'en-us': 'CANCEL', 'es-co': 'CANCELAR'\r\n }\r\n },\r\n sslCertificate: {\r\n uploadFile : {\r\n 'en-us': 'Upload Certificate', 'es-co': 'Cargar Certificado'\r\n },\r\n password: {\r\n // tslint:disable-next-line:max-line-length\r\n 'en-us': 'Please enter a certificate and then validate it using the password provided by your provider', 'es-co': 'Por favor ingresa un certificado y luego validalo usando la contraseña proporcionada por tu proveedor'\r\n },\r\n accept : {\r\n 'en-us': 'ACCEPT', 'es-co': 'ACEPTAR'\r\n },\r\n\r\n cancel : {\r\n 'en-us': 'CANCEL', 'es-co': 'CANCELAR'\r\n }\r\n }\r\n },\r\n\r\n helpMaterial: {\r\n mainInfo: {\r\n 'en-us': 'Upload or review help material', 'es-co': 'Revise o adjunte material de ayuda'\r\n },\r\n placeholder: {\r\n 'en-us': 'Start your search...', 'es-co': 'Inicie su busqueda...'\r\n },\r\n addHelpMaterial : {\r\n 'en-us': 'Add Material', 'es-co': 'Agregar Material de Ayuda'\r\n },\r\n save : {\r\n 'en-us': 'SAVE', 'es-co': 'GUARDAR'\r\n },\r\n restore : {\r\n 'en-us': 'RESTORE', 'es-co': 'RESTAURAR'\r\n },\r\n recentMaterial : {\r\n 'en-us': 'Recent Material', 'es-co': 'Material Reciente'\r\n },\r\n uploadFile : {\r\n 'en-us': 'Upload File', 'es-co': 'Subir Archivo'\r\n },\r\n sideNav:\r\n {\r\n title: {\r\n 'en-us': 'Title', 'es-co': 'Titulo'\r\n },\r\n description: {\r\n 'en-us': 'Description', 'es-co': 'Descripción'\r\n },\r\n selectTopic: {\r\n 'en-us': 'Select Topic', 'es-co': 'Selecione Tema'\r\n },\r\n\r\n topics:\r\n {\r\n whiteLabel: {\r\n 'en-us': 'WhiteLabel', 'es-co': 'Marca Blanca'\r\n },\r\n agent: {\r\n 'en-us': 'Agent', 'es-co': 'Agente'\r\n },\r\n reseller: {\r\n 'en-us': 'Reseller', 'es-co': 'Revendedor'\r\n },\r\n systemUser: {\r\n 'en-us': 'System User', 'es-co': 'Usuario del sistema'\r\n },\r\n customer: {\r\n 'en-us': 'Customer', 'es-co': 'Cliente'\r\n },\r\n }\r\n\r\n }\r\n\r\n },\r\n\r\n calculator: {\r\n\r\n serverName : {\r\n 'en-us': 'Server Name', 'es-co': 'Nombre de la maquina'\r\n },\r\n hypervisor : {\r\n 'en-us': 'Hypervisor', 'es-co': 'Hypervisor'\r\n },\r\n serverProfile : {\r\n 'en-us' : 'Server Profile' , 'es-co': 'Perfil del servidor'\r\n },\r\n detail: {\r\n 'en-us': 'Detail', 'es-co': 'Detalle'\r\n },\r\n quantity : {\r\n 'en-us': 'Quantity', 'es-co': 'Cantidad'\r\n },\r\n propertity : {\r\n 'en-us': 'propertity', 'es-co': 'Propiedad'\r\n },\r\n gb : {\r\n 'en-us': '# GB', 'es-co': '# GB'\r\n },\r\n speed : {\r\n 'en-us': 'Speed', 'es-co': 'Velocidad'\r\n },\r\n\r\n hardDisk : {\r\n 'en-us': 'Hard Disk', 'es-co': 'Disco Duro'\r\n },\r\n\r\n MRC : {\r\n 'en-us': 'MRC', 'es-co': 'MRC'\r\n },\r\n\r\n selectNetwork : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione'\r\n },\r\n\r\n AmountOfIps : {\r\n 'en-us': 'Amount Of IPs', 'es-co': 'Cantidad de IPs'\r\n },\r\n serverTitle: {\r\n 'en-us': 'Server Name', 'es-co': 'Nombre del servidor'\r\n },\r\n\r\n hardDiskconfig : {\r\n 'en-us': 'hard Disk Configuration', 'es-co': ' Configuración discos duros'\r\n },\r\n\r\n stepperNext : {\r\n 'en-us': 'Next', 'es-co': 'Siguiente'\r\n },\r\n\r\n stepperPrevious : {\r\n 'en-us': 'Back', 'es-co': 'Anterior'\r\n },\r\n\r\n connectivity : {\r\n 'en-us': 'Connectivity', 'es-co': 'Conectividad'\r\n },\r\n ROI : {\r\n 'en-us': 'New ROI', 'es-co': 'Nuevo ROI'\r\n },\r\n\r\n financialAnalitycs : {\r\n 'en-us': 'Financial Analitycs', 'es-co': 'Análisis Financiero'\r\n },\r\n\r\n margen: {\r\n 'en-us': 'Margen', 'es-co': 'Margen'\r\n },\r\n\r\n addDisk : {\r\n 'en-us': 'Add Disk', 'es-co': 'Agregar Disco'\r\n },\r\n\r\n infrastructure: {\r\n title: {\r\n 'en-us': 'Infrastructure', 'es-co': 'Infraestructura'\r\n },\r\n\r\n Ram : {\r\n 'en-us': 'Ram', 'es-co': 'Memoria RAM'\r\n },\r\n Network : {\r\n 'en-us': 'Network', 'es-co': 'Internet'\r\n },\r\n Availability : {\r\n 'en-us': 'Availability', 'es-co': 'Disponibilidad'\r\n },\r\n\r\n table: {\r\n propertity : {\r\n label : {\r\n 'en-us': 'Property', 'es-co': 'Propiedad'\r\n },\r\n prosecution: {\r\n 'en-us': 'prosecution', 'es-co': 'Procesamiento',\r\n },\r\n RAM: {\r\n 'en-us': 'RAM', 'es-co': 'Memoria RAM',\r\n },\r\n networks : {\r\n 'en-us': 'Networks', 'es-co': 'Redes',\r\n },\r\n availability: {\r\n 'en-us': 'Availability', 'es-co': 'Disponibilidad',\r\n }\r\n },\r\n detail : {\r\n label : {\r\n 'en-us': 'Detail', 'es-co': 'Detalle'\r\n },\r\n cores : {\r\n 'en-us': '# Cores', 'es-co': '# Cores'\r\n },\r\n gb : {\r\n 'en-us': '# GB', 'es-co': '# GB'\r\n },\r\n internet : {\r\n 'en-us': 'Internet', 'es-co': 'Internet'\r\n },\r\n level : {\r\n 'en-us': 'Level(%)', 'es-co': 'Nivel(%)'\r\n },\r\n selectCore : {\r\n 'en-us': 'Select Cores', 'es-co': 'Seleccione Cores'\r\n },\r\n selectRAM : {\r\n 'en-us': 'Select RAM', 'es-co': 'Seleccione RAM'\r\n },\r\n selectNetwork : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione'\r\n },\r\n\r\n selectAvailability : {\r\n 'en-us': 'Select Availability', 'es-co': 'Seleccione Disponibilidad'\r\n },\r\n item: {\r\n 'en-us': 'Item', 'es-co': 'Item'\r\n },\r\n MRC : {\r\n MRC: 'Item', 'es-co': 'MRC'\r\n }\r\n }\r\n }\r\n },\r\n\r\n software : {\r\n title: {\r\n 'en-us': 'Software licensing', 'es-co': 'Licenciamiento de Software'\r\n },\r\n\r\n item : {\r\n 'en-us': 'Item', 'es-co': 'Item'\r\n },\r\n\r\n selectOS: {\r\n 'en-us': 'Select OS', 'es-co': 'Seleccione sistema operativo'\r\n },\r\n\r\n selectDB: {\r\n 'en-us': 'Select database', 'es-co': 'Seleccione base de datos'\r\n },\r\n selectApplications: {\r\n 'en-us': 'Select Applications', 'es-co': 'Seleccione aplicaciones'\r\n },\r\n selectUsers: {\r\n 'en-us': 'Select Applications', 'es-co': 'Seleccione aplicaciones'\r\n },\r\n Os : {\r\n 'en-us': 'OS', 'es-co': 'Sistema Operativo'\r\n },\r\n database : {\r\n 'en-us': 'Database', 'es-co': 'Base de datos'\r\n },\r\n\r\n MachineLicenses : {\r\n 'en-us': 'MachineLicenses', 'es-co': 'Licencias'\r\n },\r\n table: {\r\n item1: {\r\n OS : {\r\n 'en-us': 'OS', 'es-co': 'Sistema Operativo'\r\n },\r\n database : {\r\n 'en-us': 'Database', 'es-co': 'Base de datos'\r\n },\r\n applications : {\r\n 'en-us': 'Applications', 'es-co': 'Aplicaciones'\r\n }\r\n },\r\n\r\n itemTwo: {\r\n version : {\r\n 'en-us': 'Version', 'es-co': 'Versión'\r\n },\r\n Application : {\r\n 'en-us': 'Application', 'es-co': 'Aplicación'\r\n },\r\n Users : {\r\n 'en-us': 'Users', 'es-co': 'Usuarios'\r\n },\r\n\r\n },\r\n detail : {\r\n label : {\r\n 'en-us': 'Detail', 'es-co': 'Detalle'\r\n }\r\n },\r\n MrcSoftware: {\r\n 'en-us': 'MRC Software', 'es-co': 'MRC Software'\r\n },\r\n MRC: {\r\n 'en-us': 'MRC', 'es-co': 'MRC'\r\n }\r\n }\r\n },\r\n\r\n licensing : {\r\n title: {\r\n 'en-us': 'Licenses', 'es-co': 'Licencias'\r\n },\r\n quantity : {\r\n 'en-us': 'Quantity', 'es-co': 'Cantidad'\r\n },\r\n select : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione Cantidad'\r\n },\r\n selectLicense : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione Aplicación'\r\n }\r\n },\r\n disk : {\r\n title : {\r\n 'en-us': 'Hard Disk', 'es-co': 'Discos Duros'\r\n },\r\n gb : {\r\n 'en-us': 'GB', 'es-co': 'GB'\r\n },\r\n selectDriveSpeed : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione velocidad'\r\n },\r\n driveSpeed : {\r\n 'en-us': 'Drive\\'s speed', 'es-co': 'Velocidad de Disco'\r\n },\r\n selectBackup : {\r\n 'en-us': 'Select', 'es-co': 'Seleccione Almacenamiento'\r\n },\r\n backup : {\r\n 'en-us': 'Backup and retention', 'es-co': 'Backup y retención'\r\n },\r\n\r\n database: {\r\n 'en-us': 'Database', 'es-co': 'Base de datos'\r\n },\r\n MRC : {\r\n 'en-us': 'MRC additional disks', 'es-co': 'MRC discos adicionales'\r\n },\r\n\r\n Month : {\r\n 'en-us': 'Month', 'es-co': 'Mes'\r\n }\r\n },\r\n\r\n priceSumary : {\r\n title: {\r\n 'en-us': 'Price Sumary', 'es-co': 'Resumen cotización servidor Actual'\r\n }\r\n },\r\n\r\n currentSummary : {\r\n title : {\r\n 'en-us': 'Current server summary', 'es-co': 'Resumen servidor actual'\r\n },\r\n totalVirtualServer : {\r\n 'en-us': 'Virtual Server', 'es-co': 'Servidor virtual'\r\n },\r\n totalSoftware : {\r\n 'en-us': 'Software', 'es-co': 'Software'\r\n },\r\n aditionalservices : {\r\n 'en-us': 'Additional services', 'es-co': 'Servicio adicionales'\r\n },\r\n total : {\r\n 'en-us': 'Total :', 'es-co' : 'Total'\r\n },\r\n\r\n AddToQuote : {\r\n 'en-us': 'Add to Quote', 'es-co': 'Agregar a la solución'\r\n },\r\n\r\n SuggestedRetail : {\r\n 'en-us': 'Suggested retail price', 'es-co': 'Precio público sugerido'\r\n },\r\n\r\n totalSurvey : {\r\n totalSolution : {\r\n 'en-us': 'Total Solution', 'es-co': 'Total Solución'\r\n },\r\n SuggestedPrice : {\r\n 'en-us': 'Suggested price', 'es-co': 'Precio Sugerido'\r\n }\r\n },\r\n currentTotalServer : {\r\n 'en-us': 'Current Server Total', 'es-co': 'Total servidor actual'\r\n }\r\n },\r\n },\r\n buttons : {\r\n cancel : {\r\n 'en-us': 'Cancel', 'es-co': 'Cancelar'\r\n },\r\n\r\n accept : {\r\n 'en-us': 'Accept', 'es-co': 'Aceptar'\r\n }\r\n },\r\n\r\n role: {\r\n title: {\r\n 'en-us': 'Enter the profile you want to edit', 'es-co': 'Ingrese el perfil que desea editar'\r\n },\r\n placeholder: {\r\n 'en-us': 'Enter the profile you want to edit', 'es-co': 'Ingrese el perfil que desea editar'\r\n },\r\n components: {\r\n 'data-center': { 'es-co': 'Centro de Datos' },\r\n 'use-statistic': { 'es-co': 'Estadísticas de Uso' },\r\n 'registry-load': { 'es-co': 'Log de eventos' },\r\n 'account-setup': { 'es-co': 'Configuración de Cuenta' },\r\n 'user-accounts': { 'es-co': 'Cuentas de Usuario' },\r\n 'HelpMaterial': { 'es-co': 'Material de Ayuda' },\r\n 'active-directory': { 'es-co': 'Directorio Activo' },\r\n 'whitelabel-configuration': { 'es-co': 'Configuracion de Sitio' },\r\n 'virtual-server': { 'es-co': 'Configuracion de Planes' },\r\n 'billing-load': { 'es-co': 'Facturacion' },\r\n 'documents-load': { 'es-co': 'Documentos' },\r\n 'role-configuration': { 'es-co': 'Configuracion de roles' },\r\n 'calculator-load': { 'es-co': 'Cotizador' },\r\n 'email-setup': { 'es-co': 'Configuración de Correos' },\r\n 'common': { 'es-co': 'Common' },\r\n 'CancelledServices': { 'es-co': 'Servicios Cancelados' },\r\n 'faq': { 'es-co': 'FAQ' },\r\n 'prospects': { 'es-co': 'Prospectos' },\r\n 'pendingMachine': { 'es-co': 'Maquinas en Aprovisionamiento' },\r\n 'AddCustomer': { 'es-co': 'Agregar Cliente' },\r\n 'supportContacts': {'es-co':'Contactos de soporte'},\r\n },\r\n }\r\n }\r\n","import { Component, OnInit, OnDestroy, ViewChild, HostListener } from '@angular/core';\r\nimport { WlService } from '../services/wlservice.service';\r\nimport { MenuDTO, UserInfoDTO } from '../models/dtos.component';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { BroadcastEmitter } from '../services/BroadcastEmitter';\r\nimport { AuthService } from '../services/auth/auth.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss'],\r\n})\r\nexport class HomeComponent implements OnInit, OnDestroy {\r\n public menu = new MenuDTO();\r\n private token: string;\r\n public userName = '';\r\n public menuLoading = true;\r\n public headerText = '';\r\n private subscription: Subscription;\r\n public actions = [];\r\n private language: string;\r\n public languageSelect = '';\r\n public displayMenu = false;\r\n user: UserInfoDTO = new UserInfoDTO();\r\n tokenPayload: any;\r\n @ViewChild(MatSidenav) sidenav: MatSidenav;\r\n constructor(private service: WlService,\r\n private router: Router,\r\n private broadcast: BroadcastEmitter,\r\n public auth: AuthService,\r\n public snackBar: MatSnackBar,\r\n public translate: TranslateService,\r\n private appService: AppService) {\r\n\r\n\r\n translate.addLangs(['en', 'es']);\r\n this.translate.setDefaultLang('es');\r\n this.subscription = this.broadcast.GetMessage()\r\n .subscribe(message => {\r\n setTimeout(() => {\r\n if (message.text) {\r\n this.headerText = message.text;\r\n }\r\n if (message.actions) {\r\n this.actions = message.actions;\r\n }\r\n if (message.display) {\r\n this.displayMenu = message.display;\r\n } else {\r\n this.displayMenu = false;\r\n }\r\n }, 0);\r\n });\r\n this.tokenPayload = this.auth.tokenPayload(this.auth.getToken());\r\n }\r\n\r\n getClasses() {\r\n const classes = {\r\n 'pinned-sidebar': this.appService.getSidebarStat().isSidebarPinned,\r\n 'toggeled-sidebar': this.appService.getSidebarStat().isSidebarToggeled\r\n }\r\n return classes;\r\n }\r\n toggleSidebar() {\r\n this.appService.toggleSidebar();\r\n }\r\n\r\n ngOnInit() {\r\n this.token = this.auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n if (this.language.indexOf('en') !== -1) {\r\n this.translate.use('en');\r\n this.languageSelect = 'HOME.ENGLISH';\r\n } else {\r\n this.languageSelect = 'HOME.SPANISH';\r\n this.translate.use('es');\r\n }\r\n if (this.token == null) {\r\n this.router.navigateByUrl('/');\r\n } else {\r\n this.getMenu();\r\n this.getUser();\r\n try {\r\n this.userName = JSON.parse(atob(this.token.split('.')[1])).UserName;\r\n } catch (ex) { this.userName = null; }\r\n }\r\n }\r\n @HostListener('window:beforeunload')\r\n doSomething() {\r\n this.auth.setToken(this.token);\r\n }\r\n\r\n getUser() {\r\n this.service.GetUserInformation()\r\n .subscribe((response: any) => {\r\n this.user = response;\r\n this.user.Initials = this.user.Name.split(' ').map(function (e, i) { if (i < 2) { return e.substring(0, 1).toUpperCase() } else { return '' } }).join('')\r\n }, (error) => {\r\n this.translate.get('HOME.USER_NOT_FOUND').subscribe((response) => {\r\n this.snackBar.open(response + ': ' + error, null, {\r\n duration: 5000,\r\n });\r\n });\r\n });\r\n }\r\n changeLang(lang) {\r\n this.translate.use(lang);\r\n if (lang === 'es') {\r\n this.user.Language = 'es-co';\r\n this.languageSelect = 'HOME.SPANISH';\r\n } else {\r\n this.user.Language = 'en-us';\r\n this.languageSelect = 'HOME.ENGLISH';\r\n }\r\n this.service.SaveUserInfo(this.user)\r\n .subscribe(() => {\r\n this.translate.get('HOME.LANGUAGE_SUCCESSFULLY_MODIFIED').subscribe((response) => {\r\n this.snackBar.open(response, null, {\r\n duration: 2000,\r\n });\r\n });\r\n }, (error) => {\r\n this.translate.get('HOME.ERROR_UPDATING_USER_LANGUAGE').subscribe((response) => {\r\n this.snackBar.open(response + error, null, {\r\n duration: 2000,\r\n });\r\n });\r\n });\r\n }\r\n\r\n logout() {\r\n this.auth.clearStorage();\r\n this.router.navigateByUrl('/');\r\n }\r\n goHome() {\r\n this.headerText = '';\r\n this.actions = [];\r\n this.router.navigateByUrl('/home/(main:desktop)', { skipLocationChange: true });\r\n }\r\n\r\n getMenu() {\r\n this.service.getMenu()\r\n .subscribe((response: any) => {\r\n this.menu = response;\r\n console.log(\"menu1\", this.menu);\r\n this.service.getUsersAndDatacenters()\r\n .subscribe((dataUsers: any) => {\r\n if (dataUsers && dataUsers.length > 0) {\r\n this.menu.Children.forEach((data) => {\r\n if (data.leaf === 'dataCenter') {\r\n data.Children = dataUsers;\r\n }\r\n\r\n console.log(\"menu\" , this.menu);\r\n return data;\r\n });\r\n }\r\n this.menuLoading = false;\r\n const start = this.GetFirstChild(this.menu);\r\n this.router.navigateByUrl('/home/(main:' + start + ')', { skipLocationChange: true });\r\n }, (error) => {\r\n this.menuLoading = false;\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n });\r\n }, (error) => {\r\n this.menuLoading = false;\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n GetFirstChild(data: any): string {\r\n try {\r\n if (data.Children.length === 0 || data.leaf === 'desktop') {\r\n return data.leaf;\r\n } else {\r\n return this.GetFirstChild(data.Children[0]);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n return data.leaf;\r\n }\r\n }\r\n menuClick(component) {\r\n if (component.Children && component.Children.length !== 0) {\r\n return;\r\n }\r\n this.headerText = '';\r\n this.actions = [];\r\n if (!component.ParentCustomerID) {\r\n this.auth.setToken(this.token);\r\n }\r\n if (component.ParentCustomerID) {\r\n this.service.GenerateToken(component.ID).subscribe(\r\n (response: any) => {\r\n this.auth.setToken(response.token);\r\n this.router.navigateByUrl('/home/(main:childrenUsers/' + encodeURIComponent(component.ID)\r\n + '/' + true + ')', { skipLocationChange: true });\r\n }\r\n );\r\n } else if (component.Id) {\r\n this.router.navigateByUrl('/home/(main:dataCenter/' + encodeURIComponent(component.Id) + '/' + false + ')',\r\n { skipLocationChange: true });\r\n } else {\r\n this.router.navigateByUrl('/home/(main:' + component.leaf + ')', { skipLocationChange: true });\r\n }\r\n this.sidenav.close();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n setCountryLeafName(countryName: string) {\r\n switch (countryName) {\r\n case 'Colombia TMK':\r\n return 'Colombia';\r\n case 'Colombia67':\r\n return 'Colombia';\r\n case 'Colombia vcdtc':\r\n return 'Colombia';\r\n default:\r\n return countryName;\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n person {{userName}}\r\n
\r\n
\r\n \r\n \r\n \r\n {{item.Icon}}\r\n

{{'MENU.'+item.leaf | translate}}

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n close\r\n

{{'MENU.logout' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{headerText | uppercase}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoginDTO } from '../models/dtos.component';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { WlService } from '../services/wlservice.service';\r\nimport { Globalization } from '../globalization/globalization';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from '../../environments/environment';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { CustomFormValidator } from '../tools/CustomValidator';\r\nimport { Constants } from '../models/constants.component';\r\nimport { AuthService } from '../services/auth/auth.service';\r\nimport { Outh2ModalComponent } from './outh2-modal/outh2-modal.component';\r\nimport { LogsService } from '../services/logs/logs-services.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\n\r\nexport class LoginComponent implements OnInit {\r\n loginDTO: LoginDTO = new LoginDTO();\r\n isLoading: boolean = false;\r\n glob: any = Globalization;\r\n domainInformation: any;\r\n domainLanguage: string = \"es-co\";\r\n HeaderConfiguration: any;\r\n domainLogo: string;\r\n constants = new Constants();\r\n hide: boolean = true;\r\n loginForm: FormGroup;\r\n mostrar: boolean = true;\r\n currentYear: number = (new Date()).getFullYear();\r\n public outhValue: string;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private service: WlService,\r\n private dialog: MatDialog,\r\n private snackbar: MatSnackBar,\r\n private formBuilder: FormBuilder,\r\n public auth: AuthService,\r\n private logsServices: LogsService\r\n ) {\r\n this.loginForm = this.formBuilder.group({\r\n 'username': ['', [Validators.required, Validators.maxLength(50), Validators.minLength(2)]],\r\n 'password': ['', [Validators.required]]\r\n });\r\n }\r\n login(event: any) {\r\n this.isLoading = true;\r\n this.service.login(this.loginDTO).subscribe(\r\n (response: any) => {\r\n this.isLoading = false;\r\n this.auth.setToken(response.token);\r\n if (response.auth) {\r\n this.outhValue = atob(response.auth);\r\n this.outh2Modal();\r\n } else {\r\n this.logsServices.postAppLog('Inicio de Sesión', 'Uso', true, 'Login correctamente', null)\r\n this.router.navigateByUrl('/home');\r\n }\r\n },\r\n error => {\r\n this.isLoading = false;\r\n if (error.status == 400)\r\n this.snackbar.open('El usuario no se encuentra registrado en el dominio', null, {\r\n duration: 3000,\r\n });\r\n else if (error.status == 401)\r\n this.snackbar.open('El usuario o contraseña es incorrecto, por favor intente de nuevo', null, {\r\n duration: 3000,\r\n });\r\n else\r\n console.log(error);\r\n this.logsServices.postAppLog('Inicio de Sesión', 'Uso', false, 'No fue posible el login', null)\r\n }\r\n )\r\n }\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe((params: Params) => {\r\n let token = params['t'];\r\n if (token) {\r\n this.auth.setToken(token);\r\n this.router.navigateByUrl('/home');\r\n }\r\n });\r\n this.service.GetDomainInformation().subscribe(\r\n respose => {\r\n this.domainInformation = respose;\r\n this.HeaderConfiguration = JSON.parse(this.domainInformation.HeaderConfiguration);\r\n this.domainLanguage = this.domainInformation.DefaultLanguage;\r\n this.domainLogo = environment.serviceUrl + \"CustomerImages/\" + this.HeaderConfiguration.Logo;\r\n localStorage.setItem(\"language\", this.domainLanguage);\r\n },\r\n error => {\r\n console.log(\"Invalid WL Domain\", error);\r\n }\r\n )\r\n }\r\n openDialog() {\r\n this.dialog.open(LoginModalComponent, { hasBackdrop: true, disableClose: true, width: \"600px\" });\r\n }\r\n\r\n outh2Modal() {\r\n this.dialog.open(Outh2ModalComponent, {\r\n width: '40%',\r\n disableClose: true\r\n }).afterClosed().subscribe(result => {\r\n if (result === this.outhValue) {\r\n this.logsServices.postAppLog('Inicio de Sesión', 'Uso', true, 'Login correctamente', null)\r\n this.router.navigateByUrl('/home');\r\n } else {\r\n this.snackbar.open('El código ingresado no es válido', null, {\r\n duration: 3000\r\n });\r\n this.isLoading = false;\r\n this.loginForm.enable();\r\n }\r\n });\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-login-modal',\r\n templateUrl: './login-modal.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginModalComponent {\r\n rememberEmail: string;\r\n loading: boolean = false;\r\n rememberForm: FormGroup;\r\n constructor(public dialogRef: MatDialogRef, private service: WlService, public snackbar: MatSnackBar, private formBuilder: FormBuilder) {\r\n this.rememberForm = this.formBuilder.group({\r\n 'rememberEmail': [{ value: '', disable: this.loading }, [Validators.required, Validators.minLength(10), CustomFormValidator.EmailValidator]]\r\n });\r\n\r\n }\r\n rememberPassword() {\r\n if (this.rememberEmail && this.rememberEmail != \"\") {\r\n this.rememberForm.disable();\r\n this.loading = true;\r\n this.service.rememberPassword(this.rememberEmail).subscribe(\r\n response => {\r\n this.rememberForm.enable();\r\n this.loading = false;\r\n this.snackbar.open('Contraseña reiniciada satisfactoriamente, por favor revise su correo', null, {\r\n duration: 2000,\r\n });\r\n this.dialogRef.close();\r\n },\r\n error => {\r\n\r\n this.rememberForm.enable();\r\n this.loading = false;\r\n this.snackbar.open(error.error, null, {\r\n\r\n duration: 2000,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \"Logo\"/\r\n
\r\n
\r\n
\r\n
\r\n \r\n Usuario\r\n \r\n done\r\n error\r\n {{loginDTO.UserName ? loginDTO.UserName.length : 0}} / 50\r\n Campo requerido.\r\n \r\n\r\n \r\n Contraseña\r\n \r\n done\r\n error\r\n Campo requerido.\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{currentYear}} © Todos los derechos reservados.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
Recordar contraseña
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n done\r\n error\r\n \r\n
\r\n
El correo debe contar con al menos 10 caracteres
\r\n
La correo es un campo requerido.
\r\n
El correo electrónico no cuenta con el formato adecuado.
\r\n
\r\n
\r\n {{rememberEmail ? rememberEmail.length : 0}} / 50\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-outh2-modal',\r\n templateUrl: './outh2-modal.component.html',\r\n styleUrls: ['./outh2-modal.component.scss']\r\n})\r\nexport class Outh2ModalComponent implements OnInit {\r\n\r\n public outhCode: string = '';\r\n public isValid: boolean = true;\r\n public validateOuthForm: FormGroup;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialog: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n ) {\r\n this.validateOuthForm = this.formBuilder.group(\r\n {\r\n 'OuthCode': [{ value: '', disabled: false }, [Validators.required, Validators.maxLength(4), Validators.minLength(4)]],\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n cancelClick() {\r\n this.dialog.close(this.outhCode);\r\n }\r\n\r\n saveClick() {\r\n this.dialog.close(this.outhCode);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Autenticación por doble factor\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

Ingrese el código de 4 dígitos que fue envíado a su correo

\r\n
\r\n \r\n \r\n \r\n Campo obligatorio\r\n \r\n \r\n Longitud numérica no válida\r\n \r\n \r\n Longitud numérica no válida\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export class Constants {\r\n\r\n FormFontSize = 15;\r\n\r\n CoreList = this.quantityValueList(2,32,2);\r\n CoreListDb = this.quantityValueList(2,4,2);\r\n CoreListDb2 = this.quantityValueList(2,16,2);\r\n Gb = this.quantityValueList(100,4000,100,[5000]);\r\n QuantityRDP = this.quantityValueList(0,500,1);\r\n Users = this.quantityValueList(1,20,1);\r\n QuantityIp = this.quantityValueList(1,10,1);\r\n RamList = this.quantityValueList(2,96,2,[128,256,512, 768, 1024]);\r\n Backups = this.quantityValueList(1,12,1);\r\n Iops = [100, 500, 1000, 2000, 5000, 8000, 10000];\r\n IopsDB = [5000];\r\n IopsServer = [5000, 8000, 10000];\r\n Size = this.quantityValueList(100,1000,100);\r\n discountMRC = [];\r\n ServerProfile = [\r\n {ID:0, Name :\"Servidor Proposito General\"},\r\n {ID:1 ,Name : \"Servidor SAP HANA\"},\r\n {ID:2 ,Name : \"Servidor SQL SERVER\"}\r\n ];\r\n\r\n Hypervisor = [\r\n {\"ID\": 2, \"Name\": \"Vmware\"}\r\n ];\r\n\r\n NetworkList = [\r\n {\"ID\": 1, \"Name\": \"1 Mbps\"},\r\n {\"ID\": 5, \"Name\": \"5 Mbps\" },\r\n {\"ID\": 10, \"Name\": \"10 Mbps\" },\r\n {\"ID\": 15, \"Name\": \"15 Mbps\" },\r\n {\"ID\": 20, \"Name\": \"20 Mbps\"},\r\n {\"ID\": 25, \"Name\": \"25 Mbps\" },\r\n {\"ID\": 30, \"Name\": \"30 Mbps\" },\r\n {\"ID\": 35, \"Name\": \"35 Mbps\" },\r\n {\"ID\": 40, \"Name\": \"40 Mbps\" },\r\n {\"ID\": 45, \"Name\": \"45 Mbps\" },\r\n {\"ID\": 50, \"Name\": \"50 Mbps\" },\r\n {\"ID\": 55, \"Name\": \"55 Mbps\" },\r\n {\"ID\": 60, \"Name\": \"60 Mbps\" },\r\n {\"ID\": 65, \"Name\": \"65 Mbps\" },\r\n {\"ID\": 70, \"Name\": \"70 Mbps\" },\r\n {\"ID\": 75, \"Name\": \"75 Mbps\" },\r\n {\"ID\": 80, \"Name\": \"80 Mbps\" },\r\n {\"ID\": 85, \"Name\": \"85 Mbps\" },\r\n {\"ID\": 90, \"Name\": \"90 Mbps\" },\r\n {\"ID\": 95, \"Name\": \"95 Mbps\" },\r\n ];\r\n\r\n MachineStates = [\r\n { State: \"PENDING\", Name: \"Creando\" },\r\n { State: \"POWER_ON\", Name: \"Encendida\" },\r\n { State: \"SUSPEND\", Name: \"Suspendida\" },\r\n { State: \"POWER_OFF\", Name: \"Detenida\" },\r\n { State: \"ERROR\", Name: \"Error\" },\r\n { State: \"READY\", Name: \"Listo\" },\r\n { State: \"BUSY\", Name: \"Ocupada\" },\r\n { State: \"CANCELED\", Name: \"Cancelada\" },\r\n { State: \"CANCEL_PENDING\", Name: \"Pendiente por cancelar\" },\r\n { State: \"DELETED\", Name: \"Eliminada\" }\r\n ]\r\n DataCenter = [\r\n { \"ID\": 'cc5RtZcIAzlH6z3ZgzgN8A==', \"Name\": \"Colombia WBP\" },\r\n { \"ID\": 'Na6QThAtGhG3rG7kEjXo+Q==', \"Name\": 'Colombia 67'},\r\n { \"ID\": 'SMN0EiXAe8iqDjEupG+QBw==', \"Name\": 'Colombia vcdtc'},\r\n { \"ID\": 'HZMRO7Y3fC/5/GvKZTvT7g==', \"Name\": \"Miami\" },\r\n { \"ID\": 'GojyQtp3+QinPereA5PD/A==', \"Name\": \"Chile\" },\r\n { \"ID\": 's+7Szdbb/0JIdIcFTZKMoQ==', \"Name\": \"Argentina\" },\r\n { \"ID\": 'nriJ68AI8WWFbkoVEc4x9g==', \"Name\": \"Peru\" },\r\n { \"ID\": 'dA/wnfBKTWLH4Ecgc2vO1g==', \"Name\": \"Panamá\" },\r\n { \"ID\": 'LdOyveD+2juFgfRSLDi6eA==', \"Name\": \"Guatemala\"},\r\n { \"ID\": 'cq5cAWNTGTnPD7ugZ41Cew==', \"Name\": \"Honduras tgu\"},\r\n { \"ID\": 'iEADs+2thehXTNlprt/S4g==', \"Name\": \"Honduras sap\"},\r\n ];\r\n\r\n OSHANA = [\r\n { \"ID\": 4, \"Name\": \"Linux SUSE for SAP\", \"RelationApplication\" :\"Linux SUSE\"}\r\n ];\r\n OS = [\r\n { \"ID\": 1, \"Name\": \"Windows Server\", \"RelationApplication\" :\"WINSER_STD\" },\r\n { \"ID\": 3, \"Name\": \"Ubuntu / Centos / Debian / Sin SO\", \"RelationApplication\" :\"LINUX\" },\r\n { \"ID\": 4, \"Name\": \"Linux RHEL\", \"RelationApplication\" :\"Linux REHL\" },\r\n { \"ID\": 4, \"Name\": \"Linux SUSE for SAP\", \"RelationApplication\" :\"Linux SUSE\" }\r\n ];\r\n\r\n\r\n OSSQLSERVER = [\r\n { \"ID\": 1, \"Name\": \"Windows Server\", \"RelationApplication\" :\"WINSER_STD\" },\r\n ];\r\n ProvisioningOS = [\r\n {\"ID\": 1 , \"Name\" : \"Windows\"},\r\n {\"ID\": 2 , \"Name\" : \"Linux\"}\r\n ];\r\n Database = [];\r\n\r\n Application =[\r\n {\"SO\":1, \"ID\":1, \"Name\": \"Windows Remote Desktop\", \"Identifier\": \"WINRDP\"},\r\n {\"SO\":2, \"ID\":1, \"Name\": \"Linux Remote Desktop\", \"Identifier\": \"RDP\" }\r\n ];\r\n IOPS = [\r\n {\"ID\": 100},\r\n {\"ID\": 500},\r\n {\"ID\": 1000},\r\n {\"ID\": 2000},\r\n {\"ID\": 5000},\r\n {\"ID\": 8000},\r\n {\"ID\": 10000},\r\n ];\r\n Availability = [\r\n { \"ID\": 1, \"Name\": \"99.9%\" }\r\n ];\r\n\r\n AvailabilityDB = [\r\n { \"ID\": 1, \"Name\": \"99.9%\"}\r\n ];\r\n HypervisorDB = [\r\n {\"ID\": 2, \"Name\": \"Vmware\"}\r\n ]\r\n\r\n PaymentConditions = [\r\n { \"ID\": 1, \"Name\": \"Mes a mes sin contrato\" },\r\n { \"ID\": 12, \"Name\": \"Un año contrato mensual\" }\r\n ];\r\n ProductImages = [\r\n { \"Value\": \"/assets/img/gralServer.png\", \"Name\": \"General\" },\r\n { \"Value\": \"/assets/img/sapLogoBg.png\", \"Name\": \"SAP\" },\r\n ];\r\n dhGroups = [\r\n { \"Value\": \"dh2\", \"Name\": \"DH2\" },\r\n { \"Value\": \"dh5\", \"Name\": \"DH5\" },\r\n { \"Value\": \"dh14\", \"Name\": \"DH14\" },\r\n { \"Value\": \"dh15\", \"Name\": \"DH15\" },\r\n { \"Value\": \"dh16\", \"Name\": \"DH16\" },\r\n ];\r\n encryptionAlgorithms = [\r\n { Value: \"aes\", Name: \"AES\" },\r\n { Value: \"aes256\", Name: \"AES256\" },\r\n { Value: \"3des\", Name: \"3DES\" },\r\n { Value: \"aes-gcm\", Name: \"AES-GCM\" },\r\n ];\r\n Protocols = [\"tcp\", \"udp\", \"any\"];\r\n Languages = [\r\n { Code: \"es-co\", Name: \"Español\" },\r\n { Code: \"en-us\", Name: \"Inglés\" }\r\n ];\r\n\r\n DiscountMRCList = [\r\n {\"ID\": 0, \"Name\": \"Mensual\",\"value\" :\"oneMonth\", \"span\" :\"0%\" , \"icon\":\"local_offer\"},\r\n {\"ID\": 1, \"Name\": \"1 año\",\"value\" :\"OneYear\", \"span\" :\"-5%\" , \"icon\":\"local_offer\"},\r\n {\"ID\": 2, \"Name\": \"2 años \", \"value\" :\"TwoYear\", \"span\" :\"-10%\" ,\"icon\":\"local_offer\" },\r\n {\"ID\": 3, \"Name\":\" 3 años \" ,\"value\" : \"ThreeYear\", \"span\" :\"-15%\", \"icon\":\"local_offer\"},\r\n ];\r\n\r\n public GetDataCenterName(DataCenterID: string) {\r\n let response;\r\n if (DataCenterID) {\r\n response = this.DataCenter.filter(dc => dc.ID == DataCenterID);\r\n if (response && response[0]) {\r\n response = response[0].Name;\r\n } else {\r\n response = null;\r\n }\r\n }\r\n return (response ? response : 'Sin registro');\r\n }\r\n\r\n public quantityValueList(startVal:number, endVal :number, incrementVal , extraoptions : number[] = [] ): any{\r\n let arrayList = [];\r\n for (var _i = startVal; _i <= endVal; _i+=incrementVal) {\r\n arrayList.push({\"value\":_i })\r\n }\r\n if(extraoptions.length> 0){\r\n extraoptions.forEach(element => {\r\n arrayList.push({\"value\":element})\r\n });\r\n }\r\n return arrayList;\r\n }\r\n}\r\n","export class CredentialDTO{\r\n public email : string;\r\n public productType: string;\r\n public credentialHref : string;\r\n public password : string;\r\n constructor(){\r\n this.email = null;\r\n this.productType = null;\r\n this.credentialHref = null;\r\n this.password = null;\r\n }\r\n}","import { Component } from '@angular/core';\r\n\r\nexport class FaqQuestion {\r\n public ID: string;\r\n public Answer: string;\r\n public Color: string;\r\n public CustomerName: string;\r\n public Icon: string;\r\n public Language: string;\r\n public Module: string;\r\n public Points: number;\r\n public Question: string;\r\n public show: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.Answer = '';\r\n this.Color = '';\r\n this.CustomerName = null;\r\n this.Icon = '';\r\n this.Language = 'es-co';\r\n this.Module = null;\r\n this.Points = 0;\r\n this.Question = '';\r\n this.show = false;\r\n }\r\n}\r\n\r\nexport class SupportContact {\r\n public ID: string;\r\n public Name: string;\r\n public Telephone: string;\r\n public Email: string;\r\n public Country: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Name = '';\r\n this.Telephone = '';\r\n this.Email = '';\r\n this.Country = '';\r\n }\r\n}\r\n\r\nexport class ProfileDTO {\r\n public ID: string;\r\n public Name: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Name = '';\r\n }\r\n}\r\n\r\nexport class PermissionDTO {\r\n public ID: string;\r\n public Template: string;\r\n public Children: Array;\r\n public isChecked: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.Template = null;\r\n this.Children = [];\r\n this.isChecked = false;\r\n }\r\n}\r\n\r\nexport class ServiceAdditionalInfo {\r\n BundleID: string;\r\n CustomerID: string;\r\n constructor() {\r\n this.BundleID = null;\r\n this.CustomerID = null;\r\n }\r\n}\r\nexport class RoutingSaveRequestDTO {\r\n StaticRouting: any;\r\n DatacenterID: string;\r\n constructor() {\r\n this.StaticRouting = null;\r\n }\r\n}\r\n\r\nexport class RoutingDTO {\r\n Description: string;\r\n Network: string;\r\n NextHop: string;\r\n Vnic: string;\r\n Mtu: string;\r\n AdminDistance: string;\r\n Type: string;\r\n constructor() {\r\n this.Description = null;\r\n this.Network = null;\r\n this.NextHop = null;\r\n this.Vnic = null;\r\n this.Mtu = null;\r\n this.AdminDistance = null;\r\n this.Type = 'user';\r\n }\r\n}\r\nexport class VPNSaveRequestDTO {\r\n IpSec: any;\r\n DatacenterID: string;\r\n constructor() {\r\n this.IpSec = null;\r\n }\r\n}\r\nexport class VpnDTO {\r\n Enabled: boolean;\r\n Name: string;\r\n LocalId: string;\r\n LocalIp: string;\r\n PeerId: string;\r\n PeerIp: string;\r\n EncryptionAlgorithm: string;\r\n EnablePfs: boolean;\r\n DhGroup: string;\r\n Psk: string;\r\n AuthenticationMode: string;\r\n LocalSubnets: SubnetDTO;\r\n IsNew: boolean;\r\n PeerSubnets: SubnetDTO;\r\n constructor() {\r\n this.Enabled = null;\r\n this.Name = null;\r\n this.LocalId = null;\r\n this.IsNew = false;\r\n this.LocalIp = null;\r\n this.PeerId = null;\r\n this.PeerIp = null;\r\n this.EncryptionAlgorithm = null;\r\n this.EnablePfs = null;\r\n this.DhGroup = null;\r\n this.Psk = null;\r\n this.AuthenticationMode = null;\r\n this.LocalSubnets = new SubnetDTO();\r\n this.PeerSubnets = new SubnetDTO();\r\n }\r\n}\r\n\r\nexport class SubnetDTO {\r\n Subnet: Array;\r\n constructor() {\r\n this.Subnet = [];\r\n }\r\n}\r\nexport class FirewallApplication {\r\n protocol: string;\r\n port: string;\r\n constructor() {\r\n this.protocol = null;\r\n this.port = null;\r\n }\r\n}\r\nexport class DHCPSaveRequestDTO {\r\n staticBinding: DHCPDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.staticBinding = new DHCPDTO();\r\n }\r\n}\r\nexport class AllNATSaveRequestDTO {\r\n nat: NATSaveRequestDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.nat = new NATSaveRequestDTO();\r\n }\r\n}\r\nexport class NATSaveRequestDTO {\r\n natRules: NATRequestDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.natRules = new NATRequestDTO();\r\n }\r\n}\r\nexport class NATRequestDTO {\r\n natRule: Array;\r\n constructor() {\r\n this.natRule = [];\r\n }\r\n}\r\n\r\nexport class VirtualServerSaveRequestDTO {\r\n VirtualServer: VirtualServerDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.VirtualServer = new VirtualServerDTO();\r\n }\r\n}\r\n\r\nexport class PoolSaveRequestDTO {\r\n Pool: PoolDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.Pool = new PoolDTO();\r\n }\r\n}\r\n\r\nexport class AppProfileSaveRequestDTO {\r\n ApplicationProfile: AppProfileDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.ApplicationProfile = new AppProfileDTO();\r\n }\r\n}\r\n\r\nexport class FirewallSaveRequestDTO {\r\n firewallRules: FirewallRequestDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.firewallRules = new FirewallRequestDTO();\r\n }\r\n}\r\nexport class FirewallRequestDTO {\r\n Rule: Array;\r\n constructor() {\r\n this.Rule = [];\r\n }\r\n}\r\n\r\nexport class VirtualServerDTO {\r\n AccelerationEnabled: boolean;\r\n ApplicationProfileId: string;\r\n ApplicationProfileName: string;\r\n ConnectionLimit: number;\r\n ConnectionRateLimit: number;\r\n DefaultPoolId: string;\r\n DefaultPoolName: string;\r\n EnableServiceInsertion: boolean;\r\n Enabled: boolean;\r\n IpAddress: string;\r\n Name: string;\r\n Port: string;\r\n Protocol: string;\r\n VirtualServerId: string;\r\n constructor() {\r\n this.AccelerationEnabled = null;\r\n this.ApplicationProfileId = null;\r\n this.ApplicationProfileName = null;\r\n this.ConnectionLimit = 0;\r\n this.ConnectionRateLimit = 0;\r\n this.DefaultPoolId = null;\r\n this.DefaultPoolName = null;\r\n this.EnableServiceInsertion = null;\r\n this.Enabled = null;\r\n this.IpAddress = '';\r\n this.Name = '';\r\n this.Port = '';\r\n this.Protocol = '';\r\n this.VirtualServerId = '';\r\n }\r\n}\r\n\r\nexport class AppProfileDTO {\r\n ApplicationProfileId: string;\r\n InsertXForwardedFor: boolean;\r\n Name: string;\r\n Persistence: PersistenceAppProfileDTO;\r\n ServersSslEnabled: boolean;\r\n SslPassthrough: boolean;\r\n Template: string;\r\n constructor() {\r\n this.ApplicationProfileId = null;\r\n this.InsertXForwardedFor = null;\r\n this.Name = '';\r\n this.Persistence = new PersistenceAppProfileDTO();\r\n this.ServersSslEnabled = null;\r\n this.SslPassthrough = null;\r\n this.Template = '';\r\n }\r\n}\r\n\r\nexport class PersistenceAppProfileDTO {\r\n CookieMode: string;\r\n CookieName: string;\r\n Expire: string;\r\n Method: string;\r\n constructor() {\r\n this.CookieMode = '';\r\n this.CookieName = '';\r\n this.Expire = '';\r\n this.Method = '';\r\n }\r\n}\r\n\r\nexport class MonitorDTO {\r\n Interval: number;\r\n MaxRetries: number;\r\n MonitorId: string;\r\n Name: string;\r\n Timeout: number;\r\n Type: string;\r\n constructor() {\r\n this.Interval = null;\r\n this.MaxRetries = null;\r\n this.MonitorId = null;\r\n this.Name = '';\r\n this.Timeout = null;\r\n this.Type = '';\r\n }\r\n}\r\n\r\nexport class PoolDTO {\r\n Algorithm: string;\r\n Member: Array;\r\n MonitorId: string;\r\n MonitorName: string;\r\n Name: string;\r\n PoolId: string;\r\n Transparent: boolean;\r\n constructor() {\r\n this.Algorithm = '';\r\n this.Member = [];\r\n this.MonitorId = null;\r\n this.MonitorName = null;\r\n this.Name = '';\r\n this.PoolId = null;\r\n this.Transparent = null;\r\n }\r\n}\r\n\r\nexport class PoolServerDTO {\r\n MemberId: string;\r\n IpAddress: string;\r\n Weight: number;\r\n MonitorPort: number;\r\n Port: number;\r\n MaxConn: number;\r\n MinConn: number;\r\n Condition: string;\r\n Name: string;\r\n constructor() {\r\n this.MemberId = '';\r\n this.IpAddress = '';\r\n this.Weight = 1;\r\n this.MonitorPort = null;\r\n this.Port = null;\r\n this.MaxConn = 0;\r\n this.MinConn = 0;\r\n this.Condition = 'enabled';\r\n this.Name = '';\r\n }\r\n}\r\n\r\nexport class IPSetDTO {\r\n ObjectId: string;\r\n Name: string;\r\n Description: string;\r\n Value: string;\r\n Revision: number;\r\n constructor() {\r\n this.ObjectId = null;\r\n this.Name = '';\r\n this.Description = '';\r\n this.Value = '';\r\n this.Revision = null;\r\n }\r\n}\r\n\r\nexport class IPSetSaveRequestDTO {\r\n IPSet: IPSetDTO;\r\n DatacenterID: string;\r\n constructor() {\r\n this.DatacenterID = '';\r\n this.IPSet = new IPSetDTO();\r\n }\r\n}\r\n\r\nexport class FirewallDTO {\r\n id: number;\r\n Name: string;\r\n ruleType: string;\r\n Enabled: boolean;\r\n loggingEnabled: boolean;\r\n description: string;\r\n Action: string;\r\n Source: FirewallSourceDTO;\r\n Destination: FirewallSourceDTO;\r\n Application: Array;\r\n Port: string;\r\n SourceIP: string;\r\n constructor() {\r\n this.id = null;\r\n this.Port = '';\r\n this.Name = null;\r\n this.ruleType = null;\r\n this.Enabled = null;\r\n this.loggingEnabled = true;\r\n this.description = null;\r\n this.Action = 'accept';\r\n this.Source = new FirewallSourceDTO();\r\n this.Destination = new FirewallSourceDTO();\r\n this.Application = [];\r\n this.SourceIP = '';\r\n }\r\n}\r\n\r\nexport class FirewallSourceDTO {\r\n exclude: string;\r\n groupingObjectId: Array;\r\n IpAddress: Array;\r\n vnicGroupID: string;\r\n constructor() {\r\n this.exclude = null;\r\n this.groupingObjectId = [];\r\n this.IpAddress = [];\r\n this.vnicGroupID = null;\r\n }\r\n}\r\n\r\nexport class NatDTO {\r\n Action: string;\r\n RuleId: number;\r\n RuleTag: string;\r\n OriginalAddress: string;\r\n TranslatedAddress: string;\r\n Description: string;\r\n Protocol: string;\r\n OriginalPort: string;\r\n TranslatedPort: string;\r\n DnatMatchSourceAddress: string;\r\n DnatMatchSourcePort: string;\r\n constructor() {\r\n this.Action = 'dnat';\r\n this.RuleId = null;\r\n this.RuleTag = '0';\r\n this.OriginalAddress = null;\r\n this.TranslatedAddress = null;\r\n this.Description = null;\r\n this.Protocol = null;\r\n this.OriginalPort = null;\r\n this.TranslatedPort = null;\r\n this.DnatMatchSourceAddress = null;\r\n this.DnatMatchSourcePort = null;\r\n }\r\n}\r\n\r\nexport class DHCPDTO {\r\n MacAddress: string;\r\n BindingId: string;\r\n DefaultGateway: string;\r\n Hostname: string;\r\n IpAddress: string;\r\n PrimaryNameServer: string;\r\n SecondaryNameServer: string;\r\n SubnetMask: string;\r\n ServiceID: string;\r\n constructor() {\r\n this.BindingId = null;\r\n this.DefaultGateway = null;\r\n this.Hostname = null;\r\n this.IpAddress = null;\r\n this.PrimaryNameServer = '200.62.2.180';\r\n this.SecondaryNameServer = '200.62.2.181';\r\n this.SubnetMask = '255.255.255.0';\r\n }\r\n}\r\n\r\nexport class UserInfoDTO {\r\n public ID: string;\r\n public Name: string;\r\n public Email: string;\r\n public UserName: string;\r\n public LastUpdate: Date;\r\n public Language: string;\r\n public Cost: number;\r\n public ServiceCount: number;\r\n public pendingCancellations: number;\r\n public ActiveCustomers: number;\r\n public Initials:string\r\n constructor() {\r\n this.ID = null;\r\n this.Language = 'es-co';\r\n this.Name = '';\r\n this.Email = '';\r\n this.UserName = '';\r\n this.LastUpdate = new Date();\r\n this.Initials = '';\r\n }\r\n}\r\n\r\nexport class UserDTO {\r\n public ID: string;\r\n public DomainName: string;\r\n public CustomerTypeID: string;\r\n public Name: string;\r\n public LastName: string;\r\n public Identification: string;\r\n public Active: boolean;\r\n public Login: string;\r\n public Address: string;\r\n public Telephone: string;\r\n public Email: string;\r\n public ParentID: string;\r\n public RoleID: string;\r\n public RoleInt: string;\r\n public Language: string;\r\n public IsDemo: boolean;\r\n public CreatedDate: Date;\r\n public UpdateDate: Date;\r\n public CustomerID: number;\r\n public ServiceID: number;\r\n public TotalCost: number;\r\n public Calculator: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.CustomerTypeID = null;\r\n this.DomainName = null;\r\n this.Name = null;\r\n this.LastName = '';\r\n this.Identification = null;\r\n this.Active = true;\r\n this.Login = null;\r\n this.Address = null;\r\n this.Telephone = null;\r\n this.Email = null;\r\n this.ParentID = null;\r\n this.RoleID = null;\r\n this.Language = null;\r\n this.IsDemo = false;\r\n this.CreatedDate = new Date();\r\n this.UpdateDate = new Date();\r\n this.CustomerID = null;\r\n this.ServiceID = null;\r\n this.TotalCost = null;\r\n this.Calculator = false;\r\n }\r\n}\r\n\r\n\r\nexport interface UserQuoteDTO {\r\n ID?: string;\r\n DomainName: string;\r\n CustomerTypeID: string;\r\n Name: string;\r\n LastName: string;\r\n Identification: string;\r\n Active: boolean;\r\n Login: string;\r\n Address: string;\r\n Telephone: string;\r\n Email: string;\r\n ParentID: string;\r\n RoleID: string;\r\n RoleInt: string;\r\n Language: string;\r\n IsDemo: boolean;\r\n CreatedDate: Date;\r\n UpdateDate: Date;\r\n CustomerID: number;\r\n ServiceID: number;\r\n TotalCost: number;\r\n Calculator: boolean;\r\n}\r\n\r\nexport class LoginDTO {\r\n public UserName: string;\r\n public Password: string;\r\n constructor() {\r\n this.UserName = '';\r\n this.Password = '';\r\n }\r\n}\r\n\r\nexport class MenuDTO {\r\n public Id: number;\r\n public Children: Array;\r\n public leaf: string;\r\n public Icon: string;\r\n constructor() {\r\n this.Id = 0;\r\n this.Children = [];\r\n this.leaf = '';\r\n }\r\n}\r\n\r\nexport class InterfaceDTO {\r\n public Label: string;\r\n public Name: string;\r\n public AddressGroups: Array;\r\n public Mtu: string;\r\n public Type: string;\r\n public PortGroupId: string;\r\n public PortGroupName: string;\r\n public Index: string;\r\n public IsConnected: string;\r\n}\r\n\r\nexport class AddressGroupDTO {\r\n public primaryAddress: string;\r\n public subnetMask: string;\r\n public subnetPrefixLength: string;\r\n}\r\n\r\nexport class ServiceDTO {\r\n public ID: string;\r\n public ServiceType: string;\r\n public ServiceName: string;\r\n public Configuration: Machine;\r\n public State: string;\r\n public ServiceID: number;\r\n public VcenterID: string;\r\n public Duration: number;\r\n public CustomerID: string;\r\n public BundleID: string;\r\n public Progress: number;\r\n public ErrorMessage: string;\r\n public vCenterVersion: string;\r\n constructor() {\r\n this.ID = null;\r\n this.ServiceType = null;\r\n this.ServiceName = '';\r\n this.Configuration = new Machine();\r\n this.State = null;\r\n this.ServiceID = null;\r\n this.VcenterID = null;\r\n this.Duration = null;\r\n this.CustomerID = null;\r\n this.BundleID = null;\r\n this.Progress = 0.0;\r\n this.ErrorMessage = null;\r\n this.vCenterVersion = null;\r\n }\r\n}\r\n\r\nexport class ProductDTO {\r\n public ID: string;\r\n public ProductType: string;\r\n public Name: string;\r\n public State: boolean;\r\n public Configuration: BundleDTO;\r\n public Updated: Date;\r\n public IsSaving = false;\r\n public shown = false;\r\n public Description: string;\r\n public Image: string;\r\n public VirtualizationProviderID: number;\r\n constructor() {\r\n this.ID = null;\r\n this.ProductType = null;\r\n this.Name = null;\r\n this.State = true;\r\n this.Configuration = new BundleDTO();\r\n this.Updated = null;\r\n this.Description = null;\r\n this.Image = '/assets/img/gralServer.png';\r\n this.VirtualizationProviderID = 1;\r\n }\r\n public clearProduct() {\r\n this.Name = '';\r\n this.Description = '';\r\n this.Configuration = new BundleDTO();\r\n }\r\n}\r\n\r\nexport class BundleDTO {\r\n ID: number;\r\n Title: string;\r\n BundleMachine: Machine;\r\n BundleServices: Array;\r\n BundleLicenses: Array;\r\n Cost: any;\r\n\r\n constructor() {\r\n this.ID = null;\r\n this.BundleMachine = new Machine();\r\n this.BundleServices = null;\r\n this.BundleLicenses = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class BundleQuoteDTO {\r\n ID: number;\r\n Name: string;\r\n CustomerID: string;\r\n CustomerName: string;\r\n CloudConfiguration: Array;\r\n ConfigurationString: string;\r\n Status: boolean;\r\n Date: Date;\r\n Description: string;\r\n PlanDiscountCount: number;\r\n constructor() {\r\n this.ID = null;\r\n this.CustomerID = null;\r\n this.CloudConfiguration = [];\r\n this.Name = '';\r\n this.CustomerName = '';\r\n this.Status = true;\r\n this.Date = new Date();\r\n this.Description = '';\r\n this.ConfigurationString = '';\r\n this.PlanDiscountCount = 0;\r\n }\r\n}\r\n\r\n\r\nexport class BundleCost {\r\n public _CAPEX: number;\r\n public _OPEX: number;\r\n public CAPEX: number;\r\n public OPEX: number;\r\n public MRC: number;\r\n public DiscountMRC: number;\r\n constructor() {\r\n this._CAPEX = 0;\r\n this._OPEX = 0;\r\n this.CAPEX = 0;\r\n this.OPEX = 0;\r\n this.MRC = 0;\r\n this.DiscountMRC = 0;\r\n }\r\n}\r\n\r\nexport class Machine {\r\n public ID: string;\r\n public Duration: number;\r\n public Cores: Cores;\r\n public Ram: Ram;\r\n public Hypervisor: Hypervisor;\r\n public Availability: Ha;\r\n public Network: Networking;\r\n public MachineStorage: [Storage];\r\n public OperativeSystem: OperativeSystem;\r\n public DataBase: any;\r\n public MachineName: string;\r\n public RemoteAccess: any;\r\n public PrivateIp: string;\r\n public MacAddress: string;\r\n public MachineLicenses: Array;\r\n public MachineServices: Array;\r\n public Monitoring: BundleCost;\r\n public ServerProtection: ServerProtection;\r\n public Cost: BundleCost;\r\n public Vcenter: string;\r\n public ServiceID: string;\r\n constructor() {\r\n this.ID = null;\r\n this.Duration = null;\r\n this.Cores = new Cores();\r\n this.Ram = new Ram();\r\n this.Hypervisor = new Hypervisor();\r\n this.Availability = new Ha();\r\n this.Network = new Networking();\r\n this.MachineStorage = [new Storage()];\r\n this.OperativeSystem = new OperativeSystem();\r\n this.DataBase = new DataBase();\r\n this.MachineName = '';\r\n this.RemoteAccess = '';\r\n this.MacAddress = null;\r\n this.MachineLicenses = [new MachineLicense()];\r\n this.MachineServices = [new MachineService()];\r\n this.Monitoring = new BundleCost();\r\n this.ServerProtection = new ServerProtection();\r\n this.Cost = new BundleCost();\r\n this.Vcenter = null;\r\n this.ServiceID = null;\r\n }\r\n}\r\n\r\nclass ServerProtection {\r\n public Active: boolean;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Active = true;\r\n this.Cost = new BundleCost();\r\n }\r\n\r\n}\r\n\r\nclass MachineService {\r\n public LicenseName: string;\r\n public LicenseType: string;\r\n public Quantity: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.LicenseName = '';\r\n this.LicenseType = '2';\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class MachineLicense {\r\n public Identifier: string;\r\n public Quantity: number;\r\n public LicenseType: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Identifier = 'WINRDP';\r\n this.Quantity = 0;\r\n this.LicenseType = 0;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass DataBase {\r\n public Db: number;\r\n public Name: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Name = '';\r\n }\r\n}\r\n\r\nclass Networking {\r\n public localNetworkType: number;\r\n public Internet: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.localNetworkType = 0;\r\n this.Internet = 5;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Ha {\r\n public availabilityType: number;\r\n public replicationServer: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.availabilityType = 0;\r\n this.replicationServer = null;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Hypervisor {\r\n public plataform: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.plataform = 1;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Cores {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nclass Ram {\r\n public Value: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Value = 2;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\nexport class AdditionalServiceDTO {\r\n public ID: string;\r\n public ServiceParentID: string;\r\n public Configuration: Storage;\r\n public ServiceType: string;\r\n public CreationDate: Date;\r\n public ExpirationDate: Date;\r\n public ServiceID: number;\r\n public CancelState: string;\r\n public State: boolean;\r\n constructor() {\r\n this.ID = null;\r\n this.ServiceParentID = null;\r\n this.Configuration = new Storage();\r\n this.ServiceType = 'DISK';\r\n this.CreationDate = new Date();\r\n this.ExpirationDate = null;\r\n this.ServiceID = null;\r\n this.CancelState = null;\r\n this.State = true;\r\n }\r\n}\r\n\r\nclass Backup {\r\n public Month: number;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Month = 1;\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\nexport class Storage {\r\n public diskType: number;\r\n public size: number;\r\n public Backup: Backup;\r\n public database: boolean;\r\n public Cost: BundleCost;\r\n public SqlLicense: boolean;\r\n constructor() {\r\n this.diskType = 100;\r\n this.size = 100;\r\n this.database = false;\r\n this.Backup = new Backup();\r\n this.Cost = new BundleCost();\r\n }\r\n}\r\n\r\n\r\nclass OperativeSystem {\r\n public Os: string;\r\n public Cost: BundleCost;\r\n constructor() {\r\n this.Cost = new BundleCost();\r\n this.Os = '';\r\n }\r\n}\r\n\r\nexport class HelpdeskDTO {\r\n public Title: string;\r\n public Description: string;\r\n public File: string;\r\n public Users: string[];\r\n constructor() {\r\n this.Title = '';\r\n this.Description = '';\r\n this.File = '';\r\n this.Users = [];\r\n }\r\n}\r\nexport class OptionsCalculator {\r\n ID: number;\r\n NAME: string;\r\n constructor() {\r\n this.ID = 0;\r\n this.NAME = 'seleccione una opción';\r\n }\r\n}\r\n\r\n\r\nexport class serverCalculatorList {\r\n\r\n Name: string;\r\n AdditionalService: any;\r\n AditionalIPs: any;\r\n Disk: [Storage];\r\n}\r\n\r\nexport class PriceItemDTO {\r\n public IDPL: string;\r\n public item: PriceItemDetail;\r\n\r\n constructor() {\r\n this.IDPL = '';\r\n this.item = new PriceItemDetail();\r\n }\r\n}\r\n\r\nexport class VirtualMachineType {\r\n category: string;\r\n virtualMachineTypeName: string;\r\n machineList: [ServiceDTO];\r\n constructor() {\r\n this.category = '';\r\n this.virtualMachineTypeName = '';\r\n this.machineList = [new ServiceDTO()];\r\n }\r\n}\r\n\r\n\r\nexport class PriceItemDetail {\r\n Name: string;\r\n Identifier: string;\r\n MRC: number;\r\n CAPEXReuse: number;\r\n CAPEXReal: number;\r\n OPEXReal: number;\r\n OPEXReuse: number;\r\n PriceTypeID: number;\r\n IDPT: number;\r\n Relation: string;\r\n MaxCores: number;\r\n SAL: boolean;\r\n Active: boolean;\r\n\r\n constructor() {\r\n this.Name = '';\r\n this.Identifier = '';\r\n this.MRC = null;\r\n this.CAPEXReal = null;\r\n this.OPEXReal = null;\r\n }\r\n}\r\n\r\nexport class CustomerMachinesService {\r\n public category: string;\r\n public virtualMachineTypeName: string;\r\n public machinesList: Array;\r\n constructor() {\r\n this.category = null;\r\n this.virtualMachineTypeName = null;\r\n this.machinesList = new Array();\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Subject } from 'rxjs/Subject';\r\n \r\n@Injectable()\r\nexport class BroadcastEmitter {\r\n private subject = new Subject();\r\n \r\n SendMessage(message: any) {\r\n this.subject.next(message);\r\n }\r\n \r\n GetMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppService {\r\n\r\n isSidebarPinned = false;\r\n isSidebarToggeled = false;\r\n\r\n constructor() { }\r\n\r\n toggleSidebar() {\r\n this.isSidebarToggeled = ! this.isSidebarToggeled;\r\n }\r\n\r\n toggleSidebarPin() {\r\n this.isSidebarPinned = ! this.isSidebarPinned;\r\n }\r\n\r\n getSidebarStat() {\r\n return {\r\n isSidebarPinned: this.isSidebarPinned,\r\n isSidebarToggeled: this.isSidebarToggeled\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(public auth: AuthService, public router: Router) {}\r\n canActivate(): boolean {\r\n if (!this.auth.isAuthenticated()) {\r\n this.router.navigate(['login']);\r\n return false;\r\n }\r\n \r\n return true;\r\n }\r\n}","\r\n\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/observable/throw'\r\nimport 'rxjs/add/operator/catch';\r\n\r\n@Injectable()\r\nexport class MyHttpInterceptor implements HttpInterceptor {\r\n constructor(public auth: AuthService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const IdToken = this.auth.getToken();\r\n if (IdToken) {\r\n const authReq = req.clone(\r\n {\r\n headers: req.headers.set('Authorization', 'Basic ' + IdToken)\r\n }\r\n );\r\n return next.handle(authReq)\r\n } else {\r\n return next.handle(req)\r\n .catch((error, caught) => {\r\n console.log(\"Error Occurred\");\r\n console.log(error);\r\n return Observable.throw(error);\r\n }) as any;\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\nexport const TOKEN_NAME: string = 'usertoken';\r\n\r\nexport function tokennGetter() { \r\n return localStorage.getItem(TOKEN_NAME);\r\n}\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(public jwtHelper: JwtHelperService) {}\r\n\r\n public isAuthenticated(): boolean {\r\n const token = localStorage.getItem(TOKEN_NAME);\r\n if(token!=null){\r\n return !this.jwtHelper.isTokenExpired(token);\r\n }\r\n }\r\n\r\n setToken(token: string): void {\r\n localStorage.setItem(TOKEN_NAME, token);\r\n }\r\n\r\n public getToken(): string {\r\n return localStorage.getItem(TOKEN_NAME);\r\n }\r\n\r\n public getTokenExpirationDate(token: string): Date {\r\n return this.jwtHelper.getTokenExpirationDate(token); \r\n }\r\n\r\n public tokenPayload( token: string) :object{\r\n return this.jwtHelper.decodeToken(token);\r\n }\r\n\r\n public clearStorage(){\r\n return localStorage.clear();\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class SessionCheckService {\r\n constructor( private jwtHelper: JwtHelperService , public auth: AuthService ){};\r\n\r\n public validate( token:string ): Observable< any > {\r\n return Observable.interval(1000).map( (x) => this.jwtHelper.isTokenExpired(token) );\r\n }\r\n}","import { environment } from \"./../../../environments/environment\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CsjService {\r\n private urlCSJ = environment.CSJ_URL;\r\n private baseUrl = \"/api/v1/\";\r\n private headers: HttpHeaders = new HttpHeaders({\r\n TypeCustom: \"Bearer\",\r\n });\r\n private CSJTOKEN_NAME: string = \"csjtoken\";\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n public getToken(): string {\r\n return localStorage.getItem(this.CSJTOKEN_NAME);\r\n }\r\n\r\n login(): Observable {\r\n return this.http.post(`${this.urlCSJ}${this.baseUrl}auth/token`, {\r\n csjC: environment.CSJC,\r\n });\r\n }\r\n\r\n getMissingFilesToCopy(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getMissingFilesToCopy`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getTimeUseOfDisk(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getTimeUseOfDisk`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getDiskDetails(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getDiskDetails`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getInfoDisk(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}openFaas/getListDiskInfo`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n\r\n getReport(): Observable {\r\n return this.http.get(`${this.urlCSJ}${this.baseUrl}diskFiles/getReport`, {\r\n headers: this.headers,\r\n });\r\n }\r\n\r\n getYesOriginNoDestination(): Observable {\r\n return this.http.get(\r\n `${this.urlCSJ}${this.baseUrl}diskFiles/getYesOriginNoDestination`,\r\n {\r\n headers: this.headers,\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { saveAs } from \"file-saver\";\r\n// import { utils, write, WorkBook } from \"xlsx\";\r\nconst EXCEL_EXTENSION = \".xlsx\";\r\n@Injectable()\r\nexport class ExcelService {\r\n constructor(private datePipe: DatePipe) {}\r\n generateInvoceExcel(\r\n title: string,\r\n header: string[],\r\n data: object[],\r\n totalServer: any,\r\n discountType: number\r\n ) {\r\n this.saveExcelFile(title);\r\n }\r\n\r\n saveExcelFile(title: string) {}\r\n\r\n public exportAsJsonExcelFile(json: any[], excelFileName: string): void {\r\n // let ws_name = \"SomeSheet\";\r\n // let wb: WorkBook = { SheetNames: [], Sheets: {} };\r\n // let ws: any = utils.json_to_sheet(json);\r\n // wb.SheetNames.push(ws_name);\r\n // wb.Sheets[ws_name] = ws;\r\n // const wbout = write(wb, {\r\n // bookType: \"xlsx\",\r\n // bookSST: true,\r\n // type: \"binary\",\r\n // });\r\n // this.saveAsExcelFile(wbout, excelFileName);\r\n }\r\n\r\n public s2ab(s: any): any {\r\n // const buf = new ArrayBuffer(s.length);\r\n // const view = new Uint8Array(buf);\r\n // for (let i = 0; i !== s.length; ++i) {\r\n // view[i] = s.charCodeAt(i) & 0xff;\r\n // }\r\n // return buf;\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, excelFileName: string): void {\r\n // saveAs(\r\n // new Blob([this.s2ab(buffer)], { type: \"application/octet-stream\" }),\r\n // excelFileName + \"_export_\" + new Date().getTime() + EXCEL_EXTENSION\r\n // );\r\n }\r\n}\r\n","import { WlService } from \"./../wlservice.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"./../../../environments/environment\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { appLog } from \"./logs-interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LogsService {\r\n private baseUrl: string = environment.urlApiLogs;\r\n private headers = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"No-Auth\": \"True\",\r\n });\r\n\r\n constructor(private http: HttpClient, private service: WlService) {}\r\n\r\n postAppLog(\r\n moduleName: string,\r\n actionName: string,\r\n success: boolean,\r\n message: string,\r\n serviceId: number\r\n ): any {\r\n this.service.GetUserInformation().subscribe(\r\n (data: any) => {\r\n const { Email, Name, UserName } = data;\r\n\r\n const payload: appLog = {\r\n application: \"White Label\",\r\n moduleName,\r\n actionName,\r\n email: Email || \"N/A\",\r\n userName: UserName,\r\n customerName: Name,\r\n serviceId,\r\n success,\r\n message,\r\n };\r\n\r\n this.http\r\n .post(this.baseUrl, payload, {\r\n headers: this.headers,\r\n })\r\n .subscribe((resp: any) => console.log(\"LogSubmitted\"));\r\n },\r\n (error: any) => console.log(\"ERROR\", error)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { SupportContact, VpnDTO, ProfileDTO, Storage, PermissionDTO, LoginDTO, FirewallSaveRequestDTO,\r\n BundleDTO, ProductDTO, UserDTO, UserInfoDTO, ServiceAdditionalInfo, AdditionalServiceDTO,\r\n DHCPSaveRequestDTO, AppProfileSaveRequestDTO, PriceItemDTO, VirtualServerSaveRequestDTO,\r\n PoolSaveRequestDTO, IPSetSaveRequestDTO, VirtualMachineType } from '../models/dtos.component';\r\nimport { environment } from '../../environments/environment';\r\nimport { AuthService } from '../services/auth/auth.service';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { Observable } from 'rxjs';\r\nimport { CloudServerCalculatorOut } from '../components/calculator-cloud-server/dto/cloud-server-dto';\r\nimport { v4 as uuid } from 'uuid';\r\nimport {BundleQuoteDTO} from '../components/calculator-cloud-server/dto/cloud-server-dto'\r\nimport { PfenseRequestDto } from '../components/dataCenter/pf-sense-network-settings/DTO/pfsenseRequest-dto';\r\nimport { RequestAliasFirewallDto} from '../components/dataCenter/pf-sense-network-settings/DTO/firewall-ip-dto';\r\n\r\n\r\n@Injectable()\r\nexport class WlService {\r\n private serviceURL = environment.serviceUrl;\r\n public ModuleName = '';\r\n public Permissions: Array = [];\r\n constructor(private http: HttpClient, private router: Router, public auth: AuthService) {\r\n this.ModuleName = '';\r\n }\r\n\r\n public GetGraphPool(customerId: string, serviceId: string) {\r\n return this.processData('chart/GetGraphPool', { CustomerId: customerId, ServiceId: serviceId });\r\n }\r\n\r\n public getQuestions() {\r\n return this.getData('Faq/GetFaq', '');\r\n }\r\n\r\n public GetProfiles() {\r\n return this.getData('Profile/GetProfileList', '');\r\n }\r\n\r\n public GetProducts() {\r\n return this.getData('Product/GetProducts', '');\r\n }\r\n\r\n public GetProductPrice(product: BundleDTO) {\r\n return this.processData('Calculator/GetSolutionPrice', product);\r\n }\r\n\r\n public GetBundleQuotesByUser(isWhiteLabel) {\r\n return this.processData('Calculator/GetBundleQuotesByUser', isWhiteLabel);\r\n // isWhiteLabel valida que la peticios es desde white label\r\n }\r\n\r\n public CalculatorSendEmail(product: any) {\r\n return this.processData('Product/CalculatorSendEmail', product);\r\n }\r\n\r\n public SaveProduct(product: ProductDTO) {\r\n return this.processData('Product/SaveProduct', product);\r\n }\r\n\r\n public RemoveProduct(product: ProductDTO) {\r\n return this.processData('Product/RemoveProduct', { ProductID: product.ID });\r\n }\r\n\r\n public changeProductState(product: ProductDTO) {\r\n return this.processData('Product/changeProductState', product);\r\n }\r\n\r\n public GetDomainInformation() {\r\n return this.getData('Domain/GetDomainInformation', '', null);\r\n }\r\n\r\n public GetUserInformation(CustomerID: string = null) {\r\n return this.processData('Customer/GetUserInformation', { CustomerID });\r\n }\r\n\r\n public GetUser(CustomerID: string) {\r\n return this.processData('Customer/GetCustomer', {userid: CustomerID});\r\n }\r\n public GenerateCredential(data: any) {\r\n return this.processData('Customer/GenerateCredential', data);\r\n }\r\n\r\n public getMenu() {\r\n return this.getData('Menu/GetMenu', '');\r\n }\r\n\r\n public getUsersAndDatacenters() {\r\n return this.getData('Menu/GetUsersAndDatacenters', '');\r\n }\r\n\r\n public login(loginDTO: LoginDTO) {\r\n return this.processData('Authentication/Login', loginDTO, null);\r\n }\r\n\r\n public rememberPassword(email: string) {\r\n return this.processData('Authentication/RememberPassword', { Email: email }, null);\r\n }\r\n\r\n public getCustomerAccounts(CustomerID: string = '') {\r\n return this.getData('Customer/getCustomerAccounts', CustomerID);\r\n }\r\n\r\n public getUserAccounts(CustomerID: string = '') {\r\n return this.getData('Customer/GetUserAccounts', CustomerID);\r\n }\r\n\r\n public getSystemUserAccounts(CustomerID: string = null) {\r\n return this.processData('Customer/GetSystemUserAccounts', { CustomerID });\r\n }\r\n\r\n public getAllUsers() {\r\n return this.getData('Customer/GetParentUsers', '');\r\n }\r\n\r\n public getChangeLog() {\r\n return this.getData('Domain/GetChangeLog', '', null);\r\n }\r\n\r\n public getHelpDeskMaterial() {\r\n return this.getData('Domain/GethelpMaterial', '');\r\n }\r\n\r\n public GetService(ServiceID: string) {\r\n return this.processData('VirtualMachine/GetService', { ServiceID });\r\n }\r\n\r\n public GetDataCenterMachines(DataCenterID: string = null, CustomerID: string = null) {\r\n return this.processData('VirtualMachine/GetServices', { User: CustomerID, VcenterID: DataCenterID });\r\n }\r\n\r\n public GetCustomerCloud(CustomerID: string) {\r\n return this.processData('Customer/GetCustomerClouds', { CustomerID });\r\n }\r\n\r\n public GetCustomerMachines(CustomerID: string) {\r\n return this.processData('VirtualMachine/GetServices', { User: CustomerID });\r\n }\r\n\r\n public GetAdditionalServices(MachineID: string) {\r\n return this.processData('VirtualMachine/GetAdditionalServices', { ServiceParentID: MachineID });\r\n }\r\n\r\n public GetAdditionalServicesByCustomer(CustomerID: string) {\r\n return this.processData('VirtualMachine/GetAdditionalServicesByCustomer', { CustomerID });\r\n }\r\n\r\n public PowerOnVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/PowerOnVm', { ServiceID });\r\n }\r\n\r\n public PowerOffVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/PowerOffVm', { ServiceID });\r\n }\r\n\r\n public SuspendVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/SuspendVm', { ServiceID });\r\n }\r\n\r\n public ResumeVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/ResumeVm', { ServiceID });\r\n }\r\n\r\n public RestartVm(ServiceID: string) {\r\n return this.processData('VirtualMachine/RestartVm', { ServiceID });\r\n }\r\n\r\n public GuestPowerOffVmAPI(ServiceID: string) {\r\n return this.processData('VirtualMachine/GuestPowerOffVmAPI', { ServiceID });\r\n }\r\n\r\n public GuestSuspendVmAPI(ServiceID: string) {\r\n return this.processData('VirtualMachine/GuestSuspendVmAPI', { ServiceID });\r\n }\r\n\r\n public GuestResetVMAPI(ServiceID: string) {\r\n return this.processData('VirtualMachine/GuestResetVMAPI', { ServiceID });\r\n }\r\n\r\n public SaveUser(user: UserDTO, domain: any = null) {\r\n return this.processData('Customer/SaveUser', { user, domain });\r\n }\r\n\r\n public RemoveUser(CustomerID: string) {\r\n return this.processData('Customer/DeleteUser', { CustomerID });\r\n }\r\n\r\n public ChangePassword(OldPassword: string, NewPassword: string) {\r\n return this.processData('Authentication/ChangePassword', { OldPassword, NewPassword });\r\n }\r\n\r\n public SaveUserInfo(userInfo: UserInfoDTO) {\r\n return this.processData('Customer/ChangeUserInformation', userInfo);\r\n }\r\n\r\n public GetOsList(VcenterID: string = null, OsType: number = null) {\r\n return this.processData('VirtualMachine/GetOsList', { VcenterID, OsType });\r\n }\r\n\r\n public SaveService(Bundle: BundleDTO, additionalServiceConfiguration: ServiceAdditionalInfo) {\r\n return this.processData('VirtualMachine/AddService', { serviceDefinition: Bundle,\r\n serviceAdditionalConfiguration: additionalServiceConfiguration });\r\n }\r\n\r\n public SaveTestService(DataCenterID: string, Os: number, CustomerID: string) {\r\n return this.processData('VirtualMachine/AddTestService', { DataCenterID, Os, CustomerID });\r\n }\r\n\r\n public GetNetworkInformation(cloudid: string) {\r\n return this.processData('network/getnetworkconfiguration', { CloudID: cloudid });\r\n }\r\n\r\n public GetEdge(datacenterid: string) {\r\n return this.processData('network/getEdgeByDatacenter', { DatacenterID: datacenterid });\r\n }\r\n\r\n public AddAdditionalService(additionalServiceDTO: AdditionalServiceDTO) {\r\n return this.processData('VirtualMachine/AddAdditionalService', additionalServiceDTO);\r\n }\r\n\r\n public AddDHCPRule(dto: DHCPSaveRequestDTO) {\r\n return this.processData('Network/SaveStaticBinding', dto);\r\n }\r\n\r\n public SaveNat(dto: any) {\r\n return this.processData('Network/SaveNatRule', dto);\r\n }\r\n\r\n public SaveAllNat(dto: any) {\r\n return this.processData('Network/SetNatRules', dto);\r\n }\r\n\r\n public RemoveDHCPRule(dto: DHCPSaveRequestDTO) {\r\n return this.processData('Network/DeleteStaticBinding', dto);\r\n }\r\n\r\n public RemoveNatRule(dto: any) {\r\n return this.processData('Network/DeleteNatRule', dto);\r\n }\r\n\r\n public SaveVpn(dto: any) {\r\n return this.processData('Network/SaveIpSec', dto);\r\n }\r\n\r\n public GetIpSecStats(datacenterid: string) {\r\n return this.processData('Network/GetIpSecStats', {DatacenterID: datacenterid});\r\n }\r\n\r\n public SaveRouting(dto: any) {\r\n return this.processData('Network/SaveRouting', dto);\r\n }\r\n\r\n public RemoveVpn(dto: VpnDTO, DataCenterID: string) {\r\n return this.processData('Network/DeleteIpSec', { Request: dto, DataCenterID });\r\n }\r\n\r\n public SaveAppProfile(dto: AppProfileSaveRequestDTO) {\r\n return this.processData('Network/AddAppProfile', dto);\r\n }\r\n\r\n public SaveIPSet(dto: IPSetSaveRequestDTO) {\r\n return this.processData('Network/SaveIPSet', dto);\r\n }\r\n\r\n public RemoveIPSet(dto: IPSetSaveRequestDTO) {\r\n return this.processData('Network/RemoveIPSet', dto);\r\n }\r\n\r\n public SaveVirtualServer(dto: VirtualServerSaveRequestDTO) {\r\n return this.processData('Network/AddVirtualServer', dto);\r\n }\r\n\r\n public RemoveAppProfile(dto: AppProfileSaveRequestDTO) {\r\n return this.processData('Network/RemoveAppProfile', dto);\r\n }\r\n\r\n public SavePool(dto: PoolSaveRequestDTO) {\r\n return this.processData('Network/AddPool', dto);\r\n }\r\n\r\n public RemovePool(dto: PoolSaveRequestDTO) {\r\n return this.processData('Network/RemovePool', dto);\r\n }\r\n\r\n public RemoveVirtualServer(dto: VirtualServerSaveRequestDTO) {\r\n return this.processData('Network/RemoveVirtualServer', dto);\r\n }\r\n\r\n public SaveFirewallRule(dto: FirewallSaveRequestDTO) {\r\n return this.processData('Network/SaveFirewallRule', dto);\r\n }\r\n\r\n public RemoveFirewallRule(dto: FirewallSaveRequestDTO) {\r\n return this.processData('Network/DeleteFirewallRule', dto);\r\n }\r\n\r\n public GetInterfacesStats(cloudid: string , interval: string) {\r\n\r\n return this.processData('Network/GetInterfacesStats', { CloudID: cloudid, interval });\r\n }\r\n\r\n public GetMachineToken(ServiceID: string) {\r\n return this.processData('VirtualMachine/GetMachineToken', { ServiceID });\r\n }\r\n\r\n public GetMachinePassword(ServiceID: string) {\r\n return this.processData('VirtualMachine/GetMachinePassword', { ServiceID });\r\n }\r\n\r\n public GetStorageCost(storage: Storage) {\r\n return this.processData('Calculator/GetStoragePrice', storage);\r\n }\r\n\r\n public GetPendingMachines() {\r\n return this.getData('VirtualMachine/GetPendingMachines', '');\r\n }\r\n\r\n public ResendUserMail(CustomerID: string, Email: string = '') {\r\n return this.processData('Customer/ResendUserMail', { CustomerID, Email });\r\n }\r\n\r\n public GetAvailablePermissions() {\r\n return this.getData('Profile/GetAvailablePermissions', '');\r\n }\r\n\r\n public GetProfilePermissions(ProfileID: string) {\r\n return this.processData('Profile/GetProfilePermissions', { ProfileID });\r\n }\r\n\r\n public SaveProfilePermissions(Permissions: Array, ProfileID: string) {\r\n return this.processData('Profile/SaveProfilePermissions', { ProfileID, Permissions });\r\n }\r\n\r\n public SaveProfile(Profile: ProfileDTO) {\r\n return this.processData('Profile/SaveProfile', Profile);\r\n }\r\n\r\n public GetSupportContacts() {\r\n return this.getData('Domain/GetSupportContacts', '');\r\n }\r\n\r\n public EditFavoriteContact(supportContact: SupportContact) {\r\n return this.processData('Domain/EditFavoriteContact', supportContact);\r\n }\r\n\r\n public RemoveContact(supportContact: SupportContact) {\r\n return this.processData('Domain/RemoveContact', supportContact);\r\n }\r\n\r\n public SaveContact(supportContact: SupportContact) {\r\n return this.processData('Domain/SaveSupportContact', supportContact);\r\n }\r\n\r\n public GetFavouriteSupportContact() {\r\n return this.getData('Domain/GetFavouriteSupportContact', '');\r\n }\r\n\r\n public GetRelationAplicationsOS(PriceTypeID: number, Os: string) {\r\n return this.processData('Product/RelationProductMachineLicense', { PriceTypeID, Os });\r\n }\r\n\r\n public IncreasePoints(QuestionID: string) {\r\n return this.processData('Faq/IncreasePoints', { QuestionID });\r\n }\r\n\r\n public ChangeServiceName(ServiceID: string, Id: string, ServiceName: string = '') {\r\n return this.processData('VirtualMachine/RenameMachine', { ServiceID, ServiceName, Id });\r\n }\r\n\r\n public SaveBundleQuote(bundleQuoteDTO: BundleQuoteDTO) {\r\n return this.processData('Calculator/SaveBundleQuote', bundleQuoteDTO);\r\n }\r\n public DeleteBundleQuote(bundleQuoteDTO: BundleQuoteDTO) {\r\n\r\n return this.processData ('Calculator/DeleteBundleQuote', bundleQuoteDTO);\r\n }\r\n\r\n public GetUserAccounts() {\r\n return this.getData('customer', 'getdomaincustomers');\r\n }\r\n\r\n public SearchService(ServiceID: string, CustomerID: string) {\r\n return this.processData('VirtualMachine/GetErpServiceDetails', { ServiceID, CustomerID });\r\n }\r\n\r\n public TrackingRoute( CustomerID: string, Route: string ) {\r\n return this.processData('Customer/UpdateCustomerTrackingVisitsRoute', { CustomerID , Route});\r\n }\r\n\r\n public GetTrackinguUsers(Route: string ) {\r\n return this.processData('Customer/GetCustomerTrackingVisits', {Route});\r\n }\r\n\r\n public VerifyVirtualNetwork(DatacenterID: string) {\r\n return this.processData('Network/VerifyVirtualNetwork', {DatacenterId: DatacenterID});\r\n }\r\n\r\n public RefreshToken() {\r\n this.getData('Authentication/RefreshToken', this.ModuleName, false).subscribe(\r\n (response: any) => {\r\n this.auth.setToken(response.token);\r\n if (JSON.parse(atob(response.token.split('.')[1])).Permissions) {\r\n this.Permissions = JSON.parse(JSON.parse(atob(response.token.split('.')[1])).Permissions);\r\n } else {\r\n this.Permissions = [];\r\n }\r\n }, (error) => {\r\n if (error.status === 401) {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n );\r\n }\r\n\r\n public getPriceList() {\r\n return this.getData('Calculator/GetPriceList', '');\r\n }\r\n\r\n public updatePriceList(item: PriceItemDTO) {\r\n return this.processData('Calculator/UpdatePriceList', item);\r\n }\r\n\r\n public GenerateToken(CustomerID) {\r\n return this.processData('Authentication/ImpersonateUser', { CustomerID });\r\n }\r\n\r\n\r\n\r\n\r\n public uploadFile(fileToUpload: any, url: string = '', params: any = '') {\r\n const Input = new FormData();\r\n Input.append('uploadFile', fileToUpload, fileToUpload.name);\r\n if (params) {\r\n if (params.Type === 'CertificateSSL') {\r\n Input.append('password', params.password);\r\n } else if (params.Type === 'HelpDeskMaterial') {\r\n Input.append('ExtensionFile', params.ExtensionFile);\r\n Input.append('Title', params.Title);\r\n Input.append('Description', params.Description);\r\n Input.append('Users', JSON.stringify(params.Users));\r\n }\r\n }\r\n return this.http.post(this.serviceURL + url, Input)\r\n .map((res: Response) => res)\r\n .catch((error: any) =>\r\n this.HandleError(error)\r\n );\r\n }\r\n\r\n\r\n public CloudServerCalculatorOut(cloudServerCalcObj: CloudServerCalculatorOut): any {\r\n return this.processData('CalculatorCloudServer/Calculate', cloudServerCalcObj);\r\n }\r\n\r\n\r\n public GetGenericListOptionsByListID(listName: string) : any {\r\n return this.processData('Calculator/GetGenericListOptionsByListID', { 'Name': listName });\r\n }\r\n\r\n public generateUUID(): string {\r\n return uuid();\r\n }\r\n\r\n public sendCalculatorCloudServerSendEmail(BundleQuote: any) {\r\n return this.processData('Product/CalculatorCloudServerSendEmail', BundleQuote);\r\n }\r\n\r\n public GetMenu(): any {\r\n return this.getData('menu', 'GetMinosMenu');\r\n }\r\n\r\n public getBundleQuoteByID(idBundleQuote: number) {\r\n return this.processData('Calculator/GetBundleQuoteByID', idBundleQuote);\r\n }\r\n\r\n public DeleteBundleQuoteByID(idBundleQuote) {\r\n // tslint:disable-next-line:radix\r\n const identifier = parseInt(idBundleQuote);\r\n return this.processData('Calculator/DeleteBundleQuoteById', identifier);\r\n }\r\n\r\n public SendBundleQuote(BundleQuoteDTO: any) {\r\n return this.processData('Product/CalculatorPreSaleSendEmail', BundleQuoteDTO);\r\n }\r\n\r\n public getNeworkPfsenseRules(pfsenseRequest : PfenseRequestDto){\r\n return this.processData('VirtualMachine/GetNetworkRules', pfsenseRequest);\r\n }\r\n public GetNetworkType(DataCenterID: string = null, CustomerID: string = null) {\r\n return this.processData('VirtualMachine/GetNetworkType', { VcenterID: DataCenterID });\r\n }\r\n\r\n public PfCreateAliasFirewall ( pfsenseRequest : RequestAliasFirewallDto ){\r\n return this.processData ('VirtualMachine/PfCreateAliasFirewall', pfsenseRequest);\r\n }\r\n\r\n\r\n\r\n private getData(url: string, params: string, refreshToken: boolean = true ) {\r\n if (refreshToken) {\r\n this.RefreshToken();\r\n }\r\n return this.http.get(this.serviceURL + url + '/' + params)\r\n .map((res: Response) => res)\r\n .catch((error: any) =>\r\n this.HandleError(error)\r\n );\r\n }\r\n\r\n private processData(url: string, body: any, refreshToken: boolean = true) : any {\r\n if (refreshToken) {\r\n this.RefreshToken();\r\n }\r\n return this.http.post(this.serviceURL + url, body)\r\n .map((res: Response) => res)\r\n .catch((error: any) =>\r\n this.HandleError(error)\r\n );\r\n }\r\n\r\n private HandleError(error: Response | any) {\r\n try {\r\n // tslint:disable-next-line: deprecation\r\n return Observable.throw(error);\r\n } catch (ex) {\r\n // tslint:disable-next-line: deprecation\r\n return Observable.throw(error);\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { SidebarService } from './sidebar.service';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n animations: [\r\n trigger('slide', [\r\n state('up', style({ height: 0 })),\r\n state('down', style({ height: '*' })),\r\n transition('up <=> down', animate(200))\r\n ])\r\n ]\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n @Input() user: any; \r\n @Input() menu: any;\r\n menus = [];\r\n constructor(private sidebarservice : SidebarService) {\r\n this.menus = this.sidebarservice.getMenuList();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getSideBarState() {\r\n return this.sidebarservice.getSidebarState();\r\n }\r\n\r\n toggle (level :number, currentMenu) {\r\n if (currentMenu.type === 'dropdown') {\r\n console.log(\"==MENU==\",this.menus)\r\n this.menus.forEach(element => {\r\n if(level ===1){\r\n if (element === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n element.active = false;\r\n }\r\n }else if(level ===2){\r\n \r\n if( element.submenus && element.submenus.length > 0){\r\n element.submenus.forEach(data => {\r\n if (data === currentMenu) {\r\n currentMenu.active = !currentMenu.active;\r\n } else {\r\n data.active = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n \r\n }\r\n }\r\n\r\n getState(currentMenu) {\r\n\r\n if (currentMenu.active) {\r\n return 'down';\r\n } else {\r\n return 'up';\r\n }\r\n }\r\n\r\n hasBackgroundImage() {\r\n return this.sidebarservice.hasBackgroundImage;\r\n }\r\n\r\n\r\n}\r\n","\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SidebarService {\r\n toggled = false;\r\n _hasBackgroundImage = true;\r\n menus = [\r\n {\r\n title: 'general',\r\n type: 'header'\r\n },\r\n {\r\n title: 'Inicio',\r\n icon: 'fa fa-home',\r\n active: false,\r\n type: 'simple',\r\n component : \"home\",\r\n Id :''\r\n },\r\n {\r\n title: 'Centro de datos',\r\n icon: 'fa fa-server',\r\n active: false,\r\n type: 'dropdown',\r\n Id :'',\r\n badge: {\r\n text: '3',\r\n class: 'badge-danger'\r\n },\r\n submenus: [\r\n {\r\n title: 'Colombia',\r\n active: false,\r\n icon : 'fa fa-globe',\r\n type: 'dropdown',\r\n submenus:[\r\n {\r\n title: 'Seidor Colombia sas',\r\n active: false,\r\n icon : 'fa fa-user',\r\n type: 'simple',\r\n component : \"datacenter\",\r\n Id :'V5fEK79GV/MMN6hLbE/ZvQ=='\r\n },\r\n {\r\n title: 'Seidor Colombia Auren',\r\n active: false,\r\n icon : 'fa fa-user',\r\n type: 'simple',\r\n component : \"datacenter\",\r\n Id :'V5fEK79GV/MMN6hLbE/ZvQ=='\r\n },\r\n {\r\n title: 'Seidor Colombia National Clinics',\r\n active: false,\r\n icon : 'fa fa-user',\r\n type: 'simple',\r\n component : \"datacenter\",\r\n Id :'V5fEK79GV/MMN6hLbE/ZvQ=='\r\n }\r\n ]\r\n\r\n },\r\n {\r\n title: 'Argentina',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n Id :''\r\n },\r\n {\r\n title: 'Honduras',\r\n icon : 'fa fa fa-globe',\r\n active: false,\r\n type: 'simple',\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Servicios',\r\n icon: 'fa fa-align-center',\r\n active: false,\r\n type: 'dropdown',\r\n submenus: [\r\n {\r\n title: 'Servidores Virtuales',\r\n icon :'fa fa fa-globe',\r\n component : \"virtualServers\",\r\n Id :''\r\n },\r\n {\r\n title: 'Cotizador',\r\n icon :'fa fa fa-globe',\r\n component : \"calculator\",\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Administración',\r\n icon: 'fa fa-globe',\r\n active: false,\r\n type: 'dropdown',\r\n submenus: [\r\n {\r\n title: 'Mi portal',\r\n icon :'fa fa fa-globe',\r\n component : \"calculator\",\r\n Id :''\r\n },\r\n {\r\n title: 'Cuentas de usuario',\r\n icon :'fa fa fa-globe',\r\n component : \"calculator\",\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Configuración',\r\n icon: 'fa fa-cog',\r\n active: false,\r\n type: 'dropdown',\r\n submenus: [\r\n {\r\n title: 'Mi cuenta',\r\n icon :'fa fa fa-globe',\r\n component : \"Administration\",\r\n Id :''\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Extra',\r\n type: 'header'\r\n },\r\n {\r\n title: 'Información',\r\n icon: 'fa fa-info-circle',\r\n active: false,\r\n type: 'simple',\r\n badge: {\r\n text: 'Beta',\r\n class: 'badge-primary'\r\n },\r\n },\r\n {\r\n title: 'Maquinas Pendientes',\r\n icon: 'fa fa-folder',\r\n active: false,\r\n type: 'simple'\r\n },\r\n {\r\n title: 'Entrega de credenciales',\r\n icon: 'fa fa-id-card',\r\n active: false,\r\n type: 'simple'\r\n } \r\n ];\r\n constructor() { }\r\n\r\n toggle() {\r\n this.toggled = ! this.toggled;\r\n }\r\n\r\n getSidebarState() {\r\n return this.toggled;\r\n }\r\n\r\n setSidebarState(state: boolean) {\r\n this.toggled = state;\r\n }\r\n\r\n getMenuList() {\r\n return this.menus;\r\n }\r\n\r\n get hasBackgroundImage() {\r\n return this._hasBackgroundImage;\r\n }\r\n\r\n set hasBackgroundImage(hasBackgroundImage) {\r\n this._hasBackgroundImage = hasBackgroundImage;\r\n }\r\n}\r\n","export class CustomFormValidator{\r\n static AlphaNumericValidator(control){\r\n var regexp = new RegExp(/^[a-zA-Z0-9]+$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'alphaNumericValidator': true};\r\n }\r\n }\r\n\r\n static PasswordStrengthValidator(control){\r\n var regexp = new RegExp(/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'passwordValidator': true};\r\n }\r\n }\r\n static EmailValidator(control){\r\n var regexp = new RegExp(/^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'emailValidator': true};\r\n }\r\n }\r\n static NumberValidator(control){\r\n var regexp = new RegExp(/^\\d{1,10}$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'NumberValidator': true};\r\n }\r\n }\r\n\r\n static DecimalNumberValidator(control){\r\n var regexp = new RegExp(/^(\\d*\\.)?\\d+$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'DecimalNumberValidator': true};\r\n }\r\n }\r\n static InputValidator(control){\r\n var regexp = new RegExp(/^\\d{1,5}$/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'InputValidator': true};\r\n }\r\n }\r\n\r\n static PortValidator(control){\r\n var regexp = new RegExp(/(^(\\d{1,5}\\-\\d{1,5})$)|(^\\d{1,5}$)/);\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'PortValidator': true};\r\n }\r\n }\r\n\r\n static ipAddressValidator(control){\r\n var regexp = new RegExp(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/);\r\n\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'ipAddressValidator': true};\r\n }\r\n\r\n }\r\n\r\n static maskValidator(control){\r\n var regexp = new RegExp(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))$/);\r\n\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'maskValidator': true};\r\n }\r\n\r\n }\r\n\r\n static networkGroupValidator(control){\r\n var regexp = new RegExp(/^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/[0-9]{1,2}){0,1}(\\/([0-9]|[1-2][0-9]|3[0-2]))\\,?)*)-?)*$/);\r\n\r\n if(regexp.test(control.value)){\r\n return null;\r\n }\r\n else{\r\n return {'networkGroupValidator': true};\r\n }\r\n\r\n }\r\n}","import { Component, OnInit, Input, ViewChild, Inject, Pipe, PipeTransform } from '@angular/core';\r\nimport { CurrencyPipe } from \"@angular/common\";\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser'\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Globalization } from '../../globalization/globalization';\r\nimport { WlService } from '../../services/wlservice.service';\r\nimport { AuthService } from '../../services/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'simple-grid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss'],\r\n providers: [CurrencyPipe]\r\n})\r\n\r\nexport class GridComponent implements OnInit {\r\n @ViewChild('FilterInput') FilterInput: any;\r\n public columns = [];\r\n private tempData = [];\r\n public filtering = false;\r\n public filterText = \"\";\r\n public pageNumber = 0;\r\n public pageSize = 5;\r\n public pageData = [];\r\n public loading = true;\r\n globalization: any = Globalization;\r\n token: string;\r\n language: string;\r\n @Input() settings: any = {\r\n columns: [],\r\n data: [],\r\n toolbar: [],\r\n filter: \"\",\r\n refresh: null,\r\n hideActions: null,\r\n actions: null,\r\n pageSize: 5,\r\n id: \"ID\",\r\n sortable: false,\r\n minWidth: \"100%\",\r\n };\r\n\r\n constructor(private currencyPipe: CurrencyPipe, public dialog: MatDialog, public service: WlService, public auth: AuthService) {\r\n this.token = auth.getToken();\r\n this.language = JSON.parse(atob(this.token.split('.')[1])).Language;\r\n }\r\n\r\n getValue(row, column) {\r\n if (typeof (row[column.name]) == \"boolean\") {\r\n return row[column.name] ? 'done' : 'clear';\r\n } else {\r\n var retValue = \"\";\r\n column.name.split('.').forEach((u) => {\r\n if (retValue != \"\")\r\n retValue = retValue[u];\r\n else\r\n retValue = row[u];\r\n });\r\n if (column.format) {\r\n if (column.format == \"currency\")\r\n retValue = this.currencyPipe.transform(retValue, 'USD', true);\r\n else\r\n console.log(\"format not supported\");\r\n }\r\n return retValue == null ? \"\" : retValue;\r\n }\r\n }\r\n\r\n GetIcon(row, column) {\r\n\r\n }\r\n GetGridIconName(row, name){\r\n return \"icon-\" + row[name];\r\n }\r\n viewDetail(row, column) {\r\n if (column.showDetail) {\r\n let data = { title: column.title, data: this.getValue(row, column).split(\", \") }\r\n this.dialog.open(GridDetailComponent, { data: data });\r\n }\r\n }\r\n\r\n ShowFilter() {\r\n this.filtering = true;\r\n this.FilterInput.nativeElement.focus();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n this.settings = changes['settings'].currentValue;\r\n if (this.settings) {\r\n if (this.settings.data.length > 0) {\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n }\r\n }\r\n\r\n filterGrid() {\r\n this.pageNumber = 0;\r\n if (this.filterText == \"\")\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n else {\r\n this.pageData = this.settings.data.filter(d => d[this.settings.filter] != null && d[this.settings.filter].toString().toLowerCase().includes(this.filterText.toString().toLowerCase())).slice(this.pageNumber, this.pageSize);\r\n }\r\n }\r\n\r\n clearFilter() {\r\n if (this.filterText == \"\")\r\n this.hideFilter();\r\n else {\r\n this.filterText = \"\";\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n this.FilterInput.nativeElement.focus();\r\n }\r\n }\r\n\r\n hideFilter() {\r\n if (this.filterText == \"\")\r\n this.filtering = false;\r\n }\r\n\r\n public getData() {\r\n return this.settings.data;\r\n }\r\n\r\n public setData(data) {\r\n this.loading = false;\r\n this.settings.data = data;\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n\r\n public RemoveRow(row) {\r\n this.settings.data = this.settings.data.filter(f => f != row);\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n\r\n public pushRow(row) {\r\n var update = false;\r\n this.settings.data.forEach((i) => {\r\n if (i[this.settings.id] != null && i[this.settings.id] != undefined && row[this.settings.id] != null && row[this.settings.id] != undefined && row[this.settings.id] == i[this.settings.id]) {\r\n i = row;\r\n update = true;\r\n }\r\n });\r\n if (!update)\r\n this.settings.data.push(row);\r\n this.pageNumber = 0;\r\n this.pageData = this.settings.data.slice(this.pageNumber, this.settings.pageSize == null ? this.pageSize : this.settings.pageSize);\r\n }\r\n log(a) {\r\n console.log(a);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n previousPage() {\r\n if (this.pageNumber > 0) {\r\n this.pageNumber--;\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n }\r\n\r\n nextPage() {\r\n if (this.pageNumber < (this.settings.data.length / (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) - 1) {\r\n this.pageNumber++;\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n }\r\n\r\n\r\n GetActionButtons(index, row) {\r\n if (!this.settings.sortable) {\r\n return this.settings.actions.filter(f => !f.hide || !f.hide(row))\r\n }\r\n let response = Object.assign([], this.settings.actions);\r\n /*\r\n if (index > 0)\r\n response.push({\r\n text: \"Subir\",\r\n action: (u) => { this.UpRow(index, row) },\r\n });\r\n if (index < this.settings.data.length - 1)\r\n response.push({\r\n text: \"Bajar\",\r\n action: (u) => { this.DownRow(index, row) },\r\n });\r\n */\r\n return response;\r\n }\r\n\r\n UpRow(index, row) {\r\n this.settings.data.splice(index, 1);\r\n this.settings.data.splice(index - 1, 0, row);\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n DownRow(index, row) {\r\n this.settings.data.splice(index, 1);\r\n this.settings.data.splice(index + 1, 0, row);\r\n this.pageData = this.settings.data.slice(this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize), (this.pageNumber * (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize)) + (this.settings.pageSize == null ? this.pageSize : this.settings.pageSize));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'grid-detail',\r\n template: `\r\n
\r\n
\r\n
{{data.title}}
\r\n
\r\n
\r\n \r\n {{item}}\r\n \r\n
\r\n
\r\n `,\r\n styleUrls: ['./grid.component.scss']\r\n})\r\nexport class GridDetailComponent {\r\n rememberEmail: string;\r\n loading: boolean = false;\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) { }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n search\r\n \r\n
\r\n clear\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{column.icon(row[column.name]).icon}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{globalization.grid.gridFirstPart[language]}} \r\n {{settings.data.length == 0 ? 0 : ((pageNumber * (settings.pageSize==null?5:settings.pageSize))+1)}}\r\n a \r\n {{(pageNumber * (settings.pageSize==null?5:settings.pageSize)) + (settings.pageSize==null?5:settings.pageSize)}}\r\n settings.data.length\">{{settings.data.length}}\r\n de \r\n {{settings.data.length}} {{globalization.grid.gridSecondPart[language]}}\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'confirmation-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls:['../modals.scss']\r\n})\r\nexport class ConfirmationDialog {\r\n loading:boolean = false;\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n okClick(){\r\n this.dialogRef.close();\r\n this.data.Ok();\r\n }\r\n\r\n cancelClick(){\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n {{data.Message}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Validators, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { CustomFormValidator } from '../../CustomValidator';\r\n\r\n@Component({\r\n selector: 'confirmation-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls:['../modals.scss']\r\n})\r\nexport class sendMailDialog {\r\n loading:boolean = false;\r\n SendMailForm : FormGroup;\r\n user:string;\r\n\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any, private formBuilder : FormBuilder) {\r\n this.SendMailForm = this.formBuilder.group({\r\n 'userName' : [{value:'',disabled: this.loading},[Validators.required]],\r\n 'emailInput' : [{value:'',disabled: this.loading},[Validators.required,Validators.minLength(10),CustomFormValidator.EmailValidator]],\r\n 'Capex' : []\r\n });\r\n }\r\n sendMail(){\r\n this.SendMailForm.disable();\r\n this.loading = true;\r\n this.dialogRef.close(this.data);\r\n }\r\n\r\n cancelClick(){\r\n if(!this.data.Cancel)\r\n this.dialogRef.close();\r\n else\r\n this.data.Cancel();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{data.Title}}
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Campo requerido.\r\n \r\n \r\n \r\n done\r\n error\r\n Campo requerido.\r\n El tamaño minimo del correo son 10 caracteres.\r\n El correo electrónico no cuenta con el formato adecuado.\r\n {{data.email ? data.email.length : 0}} / 50\r\n
\r\n Enviar detalle CAPEX Y OPEX\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Pipe,PipeTransform} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser'\r\n\r\n@Pipe({ name: 'SafeHtml'})\r\nexport class SafeHtml implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], field: string , args: string): any {\r\n if(!items) return []\r\n if(!args) return items\r\n return items.filter(item => item[field].toLowerCase().indexOf(args.toLowerCase()) > -1)\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n serviceUrl: \"https://cloudapi.ifxcorp.com/\",\r\n console: \"https://cloudadmin.ifxcorp.com:4000/index.html\",\r\n OVMConsole: \"https://cloudconsole.ifxcorp.com:7002\",\r\n OVMConsoleCl: \"https://cloudconsole.ifxcorp.com:7003\",\r\n CSJ_URL: \"https://dashboardcsjapi.api.ifxcorp.com\",\r\n CSJC: \"a5626a8de7bff8b35e887df47860b27a4cc78c03e6602f5fb5f8dd38205e5e97f15164186528d398cc40e33b683eac112a9caf71f30da48f0483604112eee4a4aaec8b59286ab413061f436e908ff530536b36b4f2b36f47b9247bd8173eeb447ece975e8cba2d7eebe4727644\",\r\n urlApiLogs: \"https://ifx-core-system-prd.us-e1.cloudhub.io/api/logs\",\r\n //KEY_RSA_PUB_DEVC: \"-----BEGIN PUBLIC KEY-----MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgHYfi+b2Zil7WVFXtSqQ2jFsVAHNl3spvs9Zy8V/flcivcOm4CCQm+Ds56gHMOgTgvZLwp+ZuR0uSAbpwpqQzDn0kFPPWVqdC4SCAT6z7C1fgyamdjxv/23NlUGRgfeXuuTSut6ODGzk5TUpYwJqq6C3nXPTan6aScuOnTfgHk1vAgMBAAE=-----END PUBLIC KEY-----\"\r\n KEY_RSA_PUB_DEVC: `-----BEGIN PUBLIC KEY-----\r\n MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZCa09hc+moDezpQJj7m0x99if\r\n ZUncXPpOsT9VmqxRIk++lYRjJBFG2vZFpiwSB2M9qvLtOEbAfrVI5Uq8fesv0niq\r\n M+Y78zHEt3LRPt7ULzMcKeRkG3P6lBp6aaxyl7a53HaW3PLbOf084WGze1ymKPWk\r\n JLdpVPjp0p4zLgGC/QIDAQAB\r\n -----END PUBLIC KEY-----`\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"]}