{"version":3,"sources":["app.angular.js","app.definitions.js","app.states.js","compatibility/confirm-modal.js","compatibility/expense-comment-tamplate.js","compatibility/file-expense-component.js","compatibility/Main.js","core/coreService.service.js","core/dateHandler.service.js","core/filter.service.js","core/inputDate.component.js","core/timePicker.component.js","services/auth.service.js","services/confirmModalService.js","services/messagesServices.js","services/modalService.js","services/queryService.js","directives/d_pdfViewer.js","directives/fileModel.directive.js","directives/flexSlider.directive.js","directives/inputMask.directive.js","compatibility/common/localization.js","compatibility/providers/comment-provider.js","compatibility/providers/file-provider.js","compatibility/providers/pending-validation-expenses-provider.js","compatibility/services/accountServices.js","compatibility/services/activeDirectoryServices.js","compatibility/services/clientServices.js","compatibility/services/companyServices.js","compatibility/services/countryServices.js","compatibility/services/cultureService.js","compatibility/services/currencyServices.js","compatibility/services/expenseServices.js","compatibility/services/groupServices.js","compatibility/services/notificationService.js","compatibility/services/paymentMethodServices.js","compatibility/services/paymentServices.js","compatibility/services/projectServices.js","compatibility/services/roleServices.js","compatibility/services/roleServiceValuesServices.js","compatibility/services/serviceServices.js","compatibility/services/settlementServices.js","compatibility/services/validatorServices.js","compatibility/services/winbizConfigurationsServices.js","compatibility/services/zoneServices.js","compatibility/shell/culture.js","compatibility/shell/dateExtensions.js","compatibility/shell/guid.js","compatibility/shell/main.js","compatibility/shell/notification-helper.js","compatibility/shell/serializer.js","compatibility/shell/shell-page-loader.js","compatibility/shell/stringExtensions.js","compatibility/shell/utils.js","compatibility/validators/expense-validator.js","components/account/account.service.js","components/account/accountSelect.component.js","components/accountSettings/accountSettings.component.js","components/activeDirectory/activeDirectory.service.js","components/activeDirectory/activeDirectoryConfiguration.component.js","components/addAccount/addAccount.component.js","components/addAccount/addAccountModal.ctrl.js","components/appPolicies/appPolicies.component.js","components/bexio/bexio.component.js","components/bexio/bexio.service.js","components/bexio/expensePendingSynchronization.component.js","components/changePassword/changePassword.component.js","components/client/client.service.js","components/client/clientSelect.component.js","components/compensation/compensation.service.js","components/compensationLogs/compensationLogs.component.js","components/compensationLogs/compensationLogs.service.js","components/compensationOption/compensationOption.service.js","components/compensationOption/compensationOptionSelect.component.js","components/configurations/configurations.component.js","components/configurations/configurations.service.js","components/compensationType/compensationType.service.js","components/compensationType/compensationTypeSelect.component.js","components/country/country.service.js","components/country/countrySelect.component.js","components/createManyExpenses/createManyExpenses.component.js","components/currency/currency.service.js","components/currency/currencySelect.component.js","components/customFields/customFields.component.js","components/customFields/customFields.service.js","components/customFields/customFieldsForm.component.js","components/customFields/customFieldsList.component.js","components/DocECM/docECM.component.js","components/DocECM/docECM.service.js","components/DocECM/expensePendingSynchronization.component.js","components/expense/expense.service.js","components/expense/expenseAdministration.component.js","components/expensePolicies/expensePolicies.component.js","components/expensePolicies/expensePolicies.service.js","components/exportedExpenses/exportedExpenses.component.js","components/filepicker/fileUpload.service.js","components/function/function.service.js","components/function/functionSelect.component.js","components/googlePlacePicker/googlePlacePicker.component.js","components/googlePlacePickerModal/googlePlacePickerModal.component.js","components/group/group.service.js","components/login/login.component.js","components/package/packageSelect.component.js","components/package/packageStatusSelect.component.js","components/package/packageTypeSelect.component.js","components/paymentMethod/paymentMethod.service.js","components/paymentMethod/paymentMethodSelect.component.js","components/plugin/plugin.service.js","components/plugin/plugins.component.js","components/project/project.service.js","components/project/projectSelect.component.js","components/report/report.service.js","components/services/services.service.js","components/services/servicesSelect.component.js","components/settlements/settlement.service.js","components/settlements/settlementContainer.component.js","components/settlements/settlementStatusSelect.component.js","components/tax/tax.service.js","components/tax/taxSelect.component.js","components/validator/expenseValidationByManagerContainer.component.js","components/validator/pendingValidationContainer.component.js","components/validator/validator.service.js","components/validator/validatorSelect.component.js","components/validatorDelegate/validatorDelegate.service.js","components/status/statusSelect.component.js","components/validatorStatistics/validatorStatistics.component.js","components/vehicle/vehicle.service.js","components/vehicle/vehicleSelect.component.js","components/winbiz/winbiz.service.js","components/winbiz/winbizConfiguration.component.js","components/winbizCloud/winbizCloud.component.js","components/winbizCloud/winbizCloud.pendingSynchronization.component.js","components/winbizCloud/winbizCloud.service.js","components/zone/zone.service.js","components/zone/zoneSelect.component.js","shared/header/header.component.js","shared/mainNav/mainNav.component.js","shared/quickSearch/quicksearch.component.js","shared/sidebar/sidebar.component.js","compatibility/providers/hubs/notificationHub.js","compatibility/shell/administration/basicAdministration.js","compatibility/shell/helpers/shell-capslockHelper.js","compatibility/shell/helpers/shell-input-helper.js","compatibility/shell/services/shell-responseHandler.js","compatibility/shell/services/shell-rest.js","compatibility/shell/viewModel/property.js","compatibility/shell/widgets/checkBox.js","compatibility/shell/widgets/confirmModal.js","compatibility/shell/widgets/currencyPicker.js","compatibility/shell/widgets/dateProperty.js","compatibility/shell/widgets/decimalInput.js","compatibility/shell/widgets/koPageGrid.js","compatibility/shell/widgets/multiSelect.js","compatibility/shell/widgets/niftyCheckBox.js","components/account/administration/administration.component.js","components/account/administration/administrationForm.component.js","components/account/administration/administrationList.component.js","components/account/administration/uploadImage.component.js","compatibility/viewModels/configurations/monthlyReportConfigurationsViewModel.js","compatibility/viewModels/expense/expenseAdminViewModel.js","compatibility/viewModels/expense/expenseTypeSelectorViewModel.js","compatibility/viewModels/expense/filterExpenseViewModel.js","compatibility/viewModels/expense/listExpenseViewModel.js","compatibility/viewModels/expense/modalSaveFilterViewModel.js","compatibility/viewModels/filePicker/filePickerViewModel.js","compatibility/viewModels/group/groupAdminAccountsGroup.js","compatibility/viewModels/group/groupAdminViewModel.js","compatibility/viewModels/group/groupCreateViewModel.js","compatibility/viewModels/group/groupDeleteViewModel.js","compatibility/viewModels/group/groupUpdateViewModel.js","compatibility/viewModels/home/changePasswordViewModel.js","compatibility/viewModels/home/generalSettingsViewModel.js","compatibility/viewModels/home/recoverPassowordViewModel.js","compatibility/viewModels/home/signInViewModel.js","compatibility/viewModels/home/unlockViewModel.js","compatibility/viewModels/home/userDashboardViewModel.js","compatibility/viewModels/myExpensesReport/myExpensesReportFilterViewModel.js","compatibility/viewModels/notifications/notificationItem.js","compatibility/viewModels/notifications/userNotificationViewModel.js","compatibility/viewModels/payment/paymentHistoryViewModel.js","compatibility/viewModels/payment/paymentViewModel.js","compatibility/viewModels/payment/purchaseSubscriptionViewModel.js","compatibility/viewModels/pendingValidation/pendingValidationExpenseFilterViewModel.js","compatibility/viewModels/pendingValidation/pendingValidationExpenseListViewModel.js","compatibility/viewModels/pendingValidation/pendingValidationExpenseViewModel.js","compatibility/viewModels/pendingValidation/setRejectCommentViewModel.js","compatibility/viewModels/pendingValidation/validatedExpenseFilterViewModel.js","compatibility/viewModels/pendingValidation/validatedExpenseListViewModel.js","compatibility/viewModels/pendingValidation/validatedExpenseViewModel.js","compatibility/viewModels/exportExcel/exportExcelFileViewModel.js","compatibility/viewModels/register/mailVerificationCodeViewModel.js","compatibility/viewModels/register/registerViewModel.js","compatibility/viewModels/role/roleAdminViewModel.js","compatibility/viewModels/role/roleCreateViewModel.js","compatibility/viewModels/role/roleDeleteViewModel.js","compatibility/viewModels/role/roleUpdateViewModel.js","compatibility/viewModels/roleServiceValues/roleServiceValuesCreateViewModel.js","compatibility/viewModels/roleServiceValues/roleServiceValuesDeleteViewModel.js","compatibility/viewModels/roleServiceValues/roleServiceValuesUpdateViewModel.js","compatibility/viewModels/roleServiceValues/roleServiceValuesViewModel.js","compatibility/viewModels/statistics/statisticsFilterViewModel.js","compatibility/viewModels/user/settingsViewModel.js","compatibility/viewModels/validator/generateReportFilterViewModel.js","compatibility/viewModels/validator/pendingValidationFilterViewModel.js","compatibility/viewModels/validator/validatedHistoryFilterViewModel.js","compatibility/viewModels/validator/validatedHistoryViewModel.js","compatibility/viewModels/validator/validationViewModel.js","compatibility/viewModels/validator/validatorAssignGroupsViewModel.js","compatibility/viewModels/validator/validatorDashboardViewModel.js","compatibility/viewModels/validator/validatorListViewModel.js","compatibility/viewModels/winbiz/WinbizCsvViewModel.js","compatibility/viewModels/winbiz/winBizExportFileViewModel.js","compatibility/viewModels/workflow/sendToValidateViewModel.js","components/client/administration/administration.component.js","components/compensation/administration/administration.component.js","components/compensation/administration/administrationForm.component.js","components/compensation/administration/administrationList.component.js","components/compensationOption/administration/administration.component.js","components/compensationOption/administration/administrationForm.component.js","components/compensationOption/administration/administrationList.component.js","components/configurations/tabs/companyConfiguration.component.js","components/configurations/tabs/expenseConfiguration.component.js","components/compensationType/administration/administration.component.js","components/compensationType/administration/administrationForm.component.js","components/compensationType/administration/administrationList.component.js","components/currency/administration/administration.component.js","components/expense/expenseModal/expenseModal.ctrl.js","components/expense/expenseStatistics/expenseStatistics.component.js","components/expense/expenseView/advancedFilters.component.js","components/expense/expenseView/expenseView.component.js","components/expensePolicies/expensePoliciesForm/expensePoliciesForm.component.js","components/expensePolicies/expensePoliciesList/expensePoliciesList.component.js","components/filepicker/imagePickerResize/imagePickerResize.component.js","components/function/administration/administration.component.js","components/function/administration/administrationForm.component.js","components/function/administration/administrationList.component.js","components/group/administration/administration.component.js","components/group/administration/administrationForm.component.js","components/group/administration/administrationList.component.js","components/package/expensePackageModal/expensePackageModal.component.js","components/package/expensePackageView/expensePackageView.component.js","components/paymentMethod/administration/administration.component.js","components/paymentMethod/administration/administrationForm.component.js","components/paymentMethod/administration/administrationList.component.js","components/project/administration/administration.component.js","components/project/administration/administrationForm.component.js","components/project/administration/administrationList.component.js","components/report/account/accountReport.component.js","components/report/client/clientReport.component.js","components/report/expense/expenseReport.component.js","components/report/expenseDetails/expenseDetails.component.js","components/report/expenseHistoryReport/expenseHistoryReport.component.js","components/report/exportPDF/exportPDF.component.js","components/report/settlement/settlementReport.component.js","components/services/administration/administration.component.js","components/services/administration/administrationForm.component.js","components/services/administration/administrationList.component.js","components/settlements/expensesToSettle/expensesToSettle.component.js","components/settlements/settlementHistory/settlementHistory.component.js","components/validator/administration/validatorList.component.js","components/validator/expensePendingValidationList/pendingValidationList.component.js","components/validator/expenseValidationByManagerList/expenseValidationByManagerList.component.js","components/validator/expenseValidationFilter/validationFilter.component.js","components/validator/validatedExpenseList/validatedExpenseList.component.js","components/validator/viewImages/pendingValidationImages.template.js","components/validatorDelegate/administration/administration.component.js","components/validatorDelegate/administration/administrationForm.component.js","components/validatorDelegate/administration/administrationList.component.js","components/vehicle/administration/administration.component.js","components/vehicle/administration/administrationForm.component.js","components/vehicle/administration/administrationList.component.js","compatibility/shell/widgets/KendoExtensions/customDatePicker.js","compatibility/shell/widgets/KendoExtensions/customDateTimePicker.js","compatibility/shell/widgets/KendoExtensions/customDropDownList.js","compatibility/shell/widgets/KendoExtensions/customScheduler.js","compatibility/shell/widgets/KendoExtensions/customTimePicker.js","compatibility/viewModels/expense/expense/createExpenseViewModel.js","compatibility/viewModels/expense/expense/deleteExpenseViewModel.js","compatibility/viewModels/expense/expense/updateExpenseViewModel.js","components/client/administration/list/administrationList.component.js","components/client/administration/form/administrationForm.component.js","components/expense/expenseModal/tabs/commentsTab.component.js","components/expense/expenseModal/tabs/customFieldsTab.component.js","components/expense/expenseModal/tabs/filesTab.component.js","components/expense/expenseModal/tabs/itemsTab.component.js","components/expense/expenseModal/tabs/participantsTab.component.js","components/expense/expenseModal/tabs/travelTab.component.js","components/expense/expenseModal/tabs/workflowTab.component.js","components/group/administration/accountGroup/accountGroup.component.js","components/validator/administration/assignGroup/assignGroup.component.js","compatibility/shell/widgets/KendoExtensions/DropDownList/priorityDropDownList.js"],"names":["app","angular","module","config","appConfig","run","appRun","$inject","$qProvider","errorOnUnhandledRejections","$rootScope","$timeout","$uibModal","ExpenseService","translate","localization","currentUser","$on","onChangeStart","onChangeSuccess","event","toState","toParams","fromState","fromParams","name","resolve","promise","toStatePrimise","$q","accountProvider","defer","user","$state","go","reject","data","roles","hasAccess","adminRequired","isAdmin","validatorRequired","isValidator","array","window","location","pathname","split","parameter","length","undefined","expenseOpenModel","$","document","ready","on","_id","_type","_status","hasMultipleItems","now","Date","open","templateUrl","controller","controllerAs","size","windowClass","isEdit","item","getById","type","status","files","comments","countryId","parseInt","defaultCountryId","currencyId","defaulCurrencyId","customFields","items","value","serviceId","tax","date","day","getDate","month","getMonth","year","getFullYear","ExpensePolicyAction","ExpensePolicyCondition","ExpensePolicyLogicOperator","ExpenseType","Expense","Trip","Type","ExpenseStatus","PackageStatusSelect","id","PackageStatus","Open","Closed","PackageTypeSelect","PackageType","Normal","Compensation","PackageCompensationConfiguration","Yes","No","Choice","PackageCompensationConfigurationSelect","ExpenseFormFieldName","Description","PackageId","ClientId","ProjectId","ServiceId","PaymentMethodId","BaseCurrencyId","CountryId","CurrencyId","Items","Notes","DefaultExpenseFormFields","isVisible","isRequired","states","$stateProvider","$urlRouterProvider","$locationProvider","html5Mode","when","otherwise","state","abstract","views","template","url","component","Pod","define","confirmModalComponent","templateModal","build","t","render","commentTemplate","addComment","comment","expenseCommentList","handlerDeleteComment","commentSide","isAccountComment","commentBodySide","guid","append","find","remove","addComments","each","index","formatedDate","account","surname","imagePath","fileRowTemplate","addRow","filesTable","file","deleteHandler","deleteMessage","Delete","extension","getExtension","attachActionsToRow","nifty","loadToolTip","addRows","formatedName","formatedFileName","table","action","configurations","useMock","expense","openExpenseModal","trigger","ChangeMainNavToogle","principalContainer","cookie","hasClass","expires","checkMenuCookie","myExpensesPrincipalNavFormat","removeClass","addClass","checkCultureCookie","cultureCookie","userLang","navigator","language","userLanguage","cultureService","require","change","done","reload","err","service","CoreService","$http","$window","$httpParamSerializer","messagesServices","core","get","post","delete","_delete","put","postFile","postCancellable","getFileBytes","baseUrl","STATUS","SUCCESS","ERROR","FATAL","ACCESS_ERROR","urlEntity","req","method","cache","then","response","success","fail","json","fd","FormData","JSON","stringify","headers","showProgressBar","byteArraySuccess","res","result","_toArrayBuffer","danger","errorMessage","base64","binary_string","atob","len","bytes","Uint8Array","i","charCodeAt","buffer","href","hideToaster","UnkowError","DateHandler","fromDto","toDto","dto","slice","FilterService","$CoreService","getAll","create","inputDateController","bindings","model","disabled","$scope","$element","$DateHandler","vm","$onInit","subscribeToEvents","componentModel","after","watchModel","$watch","newValue","oldValue","equals","watchInternal","ngModel","timeArray","getTimes","modelAux","onTimeChanges","formatDtoToString","newVal","oldVal","hours","seconds","minutes","formatStringToDto","ngChange","$event","hh","toString","mm","str","Number","arr","j","push","AuthService","login","credentials","ConfirmModalService","message","title","modal","$uibModalInstance","warning","info","toastr","error","Service","ModalService","componentName","modalConfig","modalInstance","keyboard","backdrop","confirmModal","cancel","confirm","close","dismiss","QueryService","queryBaseUrl","update","encodeURIComponent","query","directive","pdfViewer","link","restrict","scope","doc","viewerClass","pdfName","scale","fileUrl","bindToController","element","attrs","ctrl","classList","add","canvas","ctx","getContext","pdfDoc","pageNum","pageCount","pageRendering","pageNumPending","docUrl","isDefined","onPrevPage","onNextPage","renderPdf","downloadPdf","printPdf","zoomOut","zoomIn","activate","Blob","URL","createObjectURL","source","ArrayBuffer","$$unwrapTrustedValue","PDFJS","getDocument","pdfDoc_","$apply","numPages","renderPage","wnd","print","a","createElement","target","download","body","appendChild","click","docWatcher","clearRect","width","height","urlWatcher","queueRenderPage","num","getPage","page","viewport","getViewport","aspectRelation","renderContext","canvasContext","renderTask","fileModel","$parse","modelSetter","assign","bind","replace","transclude","compile","attr","linker","addSlide","collectionString","flexsliderDiv","getTrackFromItem","indexString","match","removeSlide","slidesItems","trackBy","slide","flexSlide","flexslide","collectionItem","locals","callback","childScope","track","$new","clone","slideItem","$destroy","$watchCollection","collection","oldCollection","attrKey","attrVal","c","currentSlidesLength","e","idx","n","options","slider","slides","toAdd","toRemove","trackCollection","_i","_j","_k","_l","_len","_len1","_len2","_len3","Object","keys","_results","indexOf","$evalAsync","isNaN","f","sliderId","flexslider","call","inputMask","allowMinus","inputmask","alias","groupSeparator","autoGroup","digits","digitsOptional","placeholder","integerDigits","rightAlign","val","commentCollectionKey","Lockr","sadd","sremwithpredicate","att","cleanAll","rm","obj","smembers","set","fileCollectionKey","pendingValidationExpensesProvider","pendingValidationExpensesCollectionKey","rest","getCanValidate","newAccount","username","password","loginWithAzureActiveDirectory","companyId","changeLoggedUser","token","changePassword","saveGeneralSettings","settings","recoverPassword","mail","changeSettings","getSettings","getSettingsByCompanyId","expenseId","viewDisabled","newClient","client","toggleEnabled","companyServices","firstContact","contact","verifyMailCode","code","register","inputForRegister","getTaxes","getImages","search","buildFilter","submitForValidate","getTotalAmountFiltered","filter","quickSearch","group","getGroupAccounts","createGroupAccounts","groupAccounts","notificationServices","getUserNotifications","referenceId","paymentMethod","newService","paymentServices","payment","getOpen","newProject","project","roleServices","baseServices","newRole","role","roleServiceValueServices","newRoleServiceValue","roleServiceValue","settlementbaseUrl","settlementHistoryBaseUrl","getSettleStatusTypes","getExpensesToSettle","saveSettlement","getSettlementHistory","paySettlement","settlement","getUpdatedItem","dataType","getValidatedItem","getAssignedGroups","assignGroups","validatorGroups","validateJustOne","rejectJustOne","executeWorkflow","executeManyWorkflow","expenses","updateWinBizCsv","winbizCsv","cultureProvider","self","culture","dateFormat","timeFormat","dateTimeFormat","prototype","subtractDays","days","milliseconds","setTime","getTime","addDays","withoutTime","d","setHours","getDifferenceOfDays","param","dateToSubtract","UTC","difference","Math","floor","ddMMyyyy","yyyy","dd","compareDateWithOutTime","dateToCompare","getHours","getMinutes","s4","random","substring","ajaxSetup","notification","showSuccess","showWarning","showError","showInfo","serializer","objectToUri","prefix","prop","hasOwnProperty","pref","part","join","load","divToReplace","callBack","responseText","textStatus","XMLHttpRequest","getResponseHeader","origin","String","convertToBoolean","toLowerCase","getPageCount","total","pageSize","totalPage","refresh","setInterval","hasKoBinding","ko","dataFor","reverseVisibility","toShow","toHide","show","hide","cleanNode","FixedToLocalization","parseFloat","setInputAsDecimal","that","keypress","evt","charCode","which","keyCode","checkMail","re","test","datePickerConst","minDate","maxDate","expenseValidator","notificationHelper","validateProjectAndClient","ProjectIsRequired","AccountService","verifyUser","setSettings","accountSelectController","localFlag","required","setDefault","accounts","getAllAccounts","viewDisabledWatcher","expenseIdWatcher","accountSettingsController","save","oldCulture","sendToValidate","sentToValidate","SavedSuccessfully","timeZone","timeZoneId","ActiveDirectoryService","saveSettings","ActiveDirectoryController","loginUrl","domain","clientId","tenantId","secretId","copyToClipboard","clipboard","writeText","TextCopiedToClipboard","catch","addAccountController","LOCAL_STORAGE_KEY","signIn","deleteAccount","getAccountsFromLocalStorage","localStorage","getItem","parse","event1","event2","preventDefault","stopPropagation","accountsWithoutThis","p","setItem","addAccountModalController","addAccount","isUserAdded","form","$invalid","$dirty","addAccountLocalStorage","$broadcast","getAddedUsers","userAdded","pushCurrentUserIfNecessary","shouldAdd","copy","appPoliciesController","BexioController","BexioService","bexioURL","redirectUri","bexioTaxes","bexioCurrencies","isConnected","isLoading","connect","getBexioAccounts","getConfig","format","bexioClientId","saveConfig","conn","getBexioTaxes","taxes","bexioAccountTrip","getAccounts","bexioAccounts","finally","bexioClientSecret","getPaymentsTypes","getContacts","getCurrencies","getExpensePendingSynchronization","syncWithBexio","BexioExpensePendingSynchronizationController","ClientService","ProjectService","clients","projectsByClient","selectAllToggle","allSelected","requestSent","SyncWithBexio","viewErrorDetails","pageNumber","loadClients","loadProjectsByClient","getOpenByClient","projects","accountId","projectId","fromDay","fromDate","fromMonth","fromYear","toDay","toDate","toMonth","toYear","forEach","checked","expensesIds","successfulSync","SynchronizationWasSuccessful","SomeExpensesCouldNotBeSynchronized","clientWatch","dateFromWatch","dateToWatch","accountWatch","projectWatch","changePasswordController","clientSelectController","internalModel","changeClient","getAllClients","$item","$model","$label","CompensationsService","compensationLogsController","CompensationLogsService","definitions","logs","viewDetails","typeCode","statusCode","openLogExpenses","log","expensesCreated","isExpanded","getDetails","CompensationOptionService","configurationsController","selectedTab","onSelectedTab","tab","ConfigurationsService","getCurrent","saveGeneral","getExpenseFormFields","saveExpenseFormFields","CompensationTypeService","CountryService","countrySelectController","country","countries","changeCountry","checkSelectedCountry","createManyExpensesController","CurrencyService","PaymentMethodService","TaxService","ServicesService","UploadFileService","allServices","allCurrencies","allTaxs","allPaymentMethods","allClients","expenseType","selectedKey","addExpense","saveExpenses","deleteRow","uploadImage","loadSelects","key","uploadFile","filePath","path","expenseRow","toSave","saveMany","resultKey","expenseIndex","findIndex","exp","currencies","methods","services","taxs","pName","getProjectNameById","cName","getClientNameById","clientName","projectName","description","amount","paymentMethodId","pId","cId","splice","fileWatch","getConversions","saveConversions","refreshConversions","currencySelectController","changeCurrency","getAllcurrencies","customFieldsController","CustomFieldsService","shared","showForm","edit","getByEventType","customFieldsFormController","onExpenseTypeChange","removeOption","addNewOption","Textbox","getServices","newOption","ThatOptionHasAlreadyBeenAdded","$index","List","OptionsCanNotBeEmpty","customFieldsListController","itemToDelete","DeletedSuccessfully","DocECMController","DocECMService","removeFixedValue","fixedValues","addNewFixedValue","syncWithDocEcm","syncWithDocEcmBatch","DocEcmExpensePendingSynchronizationController","SyncWithDocEcm","SyncWithDocEcmBatch","from","to","getList","getExpenseImages","getSummaryInformationDashboard","getGraphInformationDashboard","getStatus","exportFile","exportWinBiz","getParticipants","exportExpensesCSV","exportTripsCSV","exportPackagesCSV","exportExpensesPDF","accountingPDFExport","getPackageList","createPackage","editPackage","deletePackage","getOpenPackages","getExpensesByPackage","closePackage","getExportedList","restoreExportedExpense","getAllPackages","getPackagesSearchByNameOrId","packageId","criteria","expenseAdministrationController","expensePoliciesController","ExpensePoliciesService","exportedExpensesController","getExpenses","restore","resetPagination","loading","expenseList","pageChange","accountChange","uploadLogoFile","FunctionService","onItemSelected","getLocation","onSelect","autoCompleteService","google","maps","places","AutocompleteService","placeService","PlacesService","getElementById","placeId","place_id","inputValue","Promise","getPlacePredictions","input","googlePlacePickerModalController","itemSelected","groupService","getAccountsByGroup","setAccountsByGroup","groupId","Ctrl","userInfo","console","packages","packageStatus","map","packageTypeSelect","packageType","packageTypes","types","getForAccount","paymentMethodController","$onChanges","changes","isDefault","PluginService","savePlugin","plugin","ng","PluginsController","plugins","loadPlugins","winbiz","bexio","sage","docEcm","winbizCloud","activeDirectory","pluginId","projectSelectController","changeProject","defProject","ReportService","getClientReport","getExpenseDetailsReport","getAccountReport","getHistoricalExpenseReport","getSettlementReport","getExpenseReport","exportPDF","getAllForSelect","ServicesSelectController","changeService","getAllServices","s","SettlementService","settlementContainerController","settlementStatusSelectController","taxSelectController","isServiceObj","countryRequired","setDefaultOnInit","getAllTaxs","setDefaultTax","defaultTax","pendingValidationContainerController","ValidatorService","getExpensesPendingValidation","getExpensesForValidationByManager","getValidatedExpenses","getValidators","getValidatorGroups","assignGroupsToValidate","getValidationStatistics","getValidatorById","calculateAndGetFormatted","toValidate","validatorSelectController","validators","validator","ValidatorDelegateService","statusSelectController","Morris","Line","lastMonths","xkey","ykeys","labels","Total","gridEnabled","gridLineColor","lineColors","lineWidth","parseTime","resize","hideHover","projectExpensesInformation","plot","series","pie","combine","color","threshold","legend","servicesExpensesInformation","VehicleService","ratePerKm","rateByKilometer","selectedItem","WinbizService","winbizBaseUrl","getParams","winbizConfigurationController","params","onSelectedParam","getWinbiz","option","deactivateAllParameters","isActive","WinbizCloudController","WinbizCloudService","winbizTvaMethods","winbizTvaTypes","getTvaMethods","tvaMethods","getTvaTypes","tvaTypes","WinbizCloudPendingSynchronizationController","sync","syncAsCSV","fileName","company","fullName","downloadFile","contentType","setTimeout","parentNode","removeChild","revokeObjectURL","ZoneService","zoneSelectController","zones","headerController","openSettings","toggleSidebar","logout","appVersion","pendingReadNotifications","$emit","isActiveDirectory","clear","removeItem","mainNavController","menuItems","sidebarCollapsed","menuItemClick","subMenuItemClick","isActiveLink","isChildActive","menuItemHover","isActiveLinkText","menuItemHoverLeave","closeAllSubmenus","Expenses","icon","showItem","submenu","Validation","isManager","ValidationStepOneNavTitle","ValidationStepTwoNavTitle","enableValidationByManager","ValidationSendAccountingNavTitle","Settlements","enableSettlementModule","markExpenseAsPaidWhenWasExported","ExportedExpenses","Administration","Accounts","Groups","Clients","Projects","divider","Services","PaymentMethods","Currency","Validators","ValidatorDelegates","Function","CompensationType","CompensationRule","CompensationLogs","ExpensePolicies","CustomFields","Vehicles","Configurations","Company","Analytics","ExpenseHistorical","General","Exportation","hasBexioActive","ExpenseSynchronization","isImage","hasDocEcmActive","hasWinbizCloudActive","hasActiveDirectoryActive","ActiveDirectory","includes","menuItem","closeOthersSubmenus","opened","subItem","currentItem","quickSearchController","$sce","text","phrase","RegExp","trustAsHtml","searchExpenses","showExpense","notificationHubProxy","connection","notificationHub","receiveMessage","html","hub","start","disconnected","administrationMode","Grid","Filter","Edit","New","basicAdministration","mode","observable","filterDiv","gridDiv","editDiv","addBtn","addButton","cancelEditBtn","cancelEditButton","filterBtn","filterButton","cancelFilter","changeMode","showAdmin","hideAdmin","dataTable","domId","DataTable","capslockHelper","jqueryElement","enableCapsCallback","disabledCapsCallback","capsLockStatus","capslockstate","jQueryObjects","setInputAsInt","showDefaultErrorMessage","showAlerts","alertsArray","Array","deferredResult","deferred","handle","ajaxConfig","isHtml","alerts","handler","httpVerbs","httpDataType","xml","formUrlEncoded","formData","textPlain","callAjax","buildAjax","processServicesConfiguratiosn","ajax","httpType","async","beforeSend","xhr","setRequestHeader","traditional","commonAjaxRequest","httpDefaultType","Deferred","property","observableArray","isArray","isLoadingArray","arrayFromServices","validation","originalValidation","isValid","computed","isNotValid","hasError","css","cssValidation","glyphicon","checkBox","domElement","domHtmlElement","fillHtmlCssClass","flag","configs","messageConfirmBtn","OK","messageCancelBtn","Cancel","messageTitle","lenght","confirmBtn","cancelBtn","modalElement","messageElement","off","currencyPicker","controlId","spanTriggerControl","initInputControl","inputControl","_mode","keydown","inArray","ctrlKey","metaKey","shiftKey","setSymbol","symbol","init","callBackToUpdate","buttonOpenModalTrigger","buttonForSelectCurrency","buttonForCloseModal","selectControl","dateProperty","maxDaysInMonth","propertyKey","currentDayValue","maxDays","empty","setDate","dateObj","setToday","decimalInput","control","koGrid","orderByDefault","orderDefaultBy","orderBy","asc","currentPage","currentOrderBy","currentOrderMode","orderIcon","pageResult","totalItems","count","order","orderColumn","multiSelect","vals","chosen","fn","check","niftyCheck","isChecked","disableCheckBox","toggleClass","enableCheckBox","jQuery","accountAdministrationController","accountAdministrationFormController","bexioContacts","getBexioContacts","bexioContact","contacts","bexioContactId","accountAdministrationListController","Error","fileread","attributes","changeEvent","reader","FileReader","onload","loadEvent","readAsDataURL","accountUploadImageController","newImg","submit","watchFile","monthlyReportConfigurationsViewModel","configurationsArray","changeMonthlyReportConfigurationEnabled","aux","domCheckboxElement","enabled","position","arrayToCofirm","htmlResult","adminViewModel","btnCreate","filterExpenseViewModel","listExpenseViewModel","initTypeSelector","expenseTypeSelectorViewModel","projectServices","expenseServices","queryServices","pageLoader","settlementServices","clientServices","clientFilterSelect","projectFilterSelect","accountSelect","statusSelect","serviceSelect","paymentMethodSelect","creationFromDate","creationToDate","settleStatusSelect","amountOperatorSelect","btnSaveFilter","btnClearFilter","btnCleanFilter","btnExportToCsv","btnExportToZip","btnExportWinbiz","btnExportPdf","btnShowFilters","currencyFilterSelect","showDisabled","initClientSelect","today","customDatePicker","max","nullable","initialControls","loadView","exportExcelFileViewModel","exportToZip","winBizExportFileViewModel","initServiceSelect","initSettleStatusSelect","saveFilters","cleanFilter","animate","modalSaveFilterViewModel","clientOnChangeHanlder","clientSelected","populateProjectsByClient","unbind","prepend","ViewAll","arrOfStatus","setProjectId","removeAttr","getDateDto","creationFromDto","creationToDto","fromCreatedDay","fromCreatedMonth","fromCreatedYear","toCreatedDay","toCreatedMonth","toCreatedYear","orderAsc","settlementStatus","amountOperator","updateFilterUi","statusId","datePickerValue","validatorServices","modalConfirm","expensesToLoad","btnHasNext","btnHasPrevious","btnSendToValidate","modalSlider","orderHidden","columnHidden","chkSelectAll","pendiewReview","sanatizeFilter","urlToReloadView","loadExpenses","loadTotalByCurrencyTable","tableColumnsIcons","animation","useCSS","searchNext","searchPrev","checkOrUncheckAllExpenses","popover","content","children","initTableColumnOrder","parent","currentField","tr","field","tbody","hasDefaultItem","round","toFixed","IsDefault","DefaultCurrency","TotalTripsConvertedToMoney","TotalTripsKms","TotalMoney","ThereArentExpensesForYourSearch","changeCheckList","viewFiles","updateExpense","hasNextPage","hasPreviousPage","paginationLabel","pageText","expenseItem","parents","changePage","slidesLength","img","listItem","setProps","expensesToSendToValidate","YouMustSelectAnExpenseToValidate","MessageConfirmSendToReview","SendToReview","executeWorkFlowAction","fixedValue","toStatus","viewMoreExpenses","SentToReviewSuccessfully","btnSaveQuery","btnCloseModal","nameInput","filterHidden","closeModal","saveQuery","showModal","onChange","newQuery","queryObject","FilterSavedSuccessfully","cleanModal","filePickerViewModel","uploadSuccessCallBack","Dropzone","autoDiscover","myAwesomeDropzone","myDropzone","dropzone","addRemoveLinks","maxFilesize","maxFiles","acceptedFiles","CannotUploadMoreFile","removeFile","eval","Paths","fileUpload","groupAdminAccountsGroup","multi","finishToLoad","groupServices","chosenAccounts","applyValsMultiSelect","loadGroupAdministration","_deleteDiv","_listDiv","_updateDiv","_createDiv","_groupAdminAccounts","closeButton","_closeUpdateButton","_newButton","_closeNewButton","_closeAdminAccountsGroup","deleteGroup","applyBindings","groupDeleteViewModel","updateGroup","groupUpdateViewModel","admAccountsGroup","groupCreateViewModel","IsRequired","deleGroup","changePasswordViewModel","configurationsServices","passwordAgain","valid","generalSettingsViewModel","selectedTimeZone","timeZones","zoneServices","accountServices","recoverPasswordViewModel","recover","MailSentWithYourPassowrd","signInViwModel","capsLockSpan","signInButton","loadingIcon","azureActiveDirectorySignInButton","azureActiveDirectoryLoadingIcon","capsLockHelper","accountService","activeDirectoryService","msalConfig","auth","authority","cacheLocation","storeAuthStateInCookie","signin","signinWithAzureActiveDirectory","msalInstance","msal","PublicClientApplication","loginRequest","scopes","loginPopup","setKeypressHandlers","getCompanyIdFromUrl","parts","unlockViewModel","detectPasswordFunction","userDashboardViewModel","lastDaysExpenses","projectExpenses","servicesExpenses","myExpensesReportFilterViewModel","expenseReportDiv","formatedUrl","notificationItem","notificationTemplate","getNotificationIcon","getNotificationAction","targetId","readClass","isReaded","notificationIcon","notificationAction","userNotificationViewModel","list","hasManyItems","showNotifications","toggleLoadMoreBtnState","stopImmediatePropagation","accountFromImagePath","notificationComponents","paymentHistoryViewModel","btnViewMoreHistory","historyToLoad","paymentHistoryTable","loadHistory","viewMoreHistory","paymentViewModel","purchaseBtn","purchaseSubscription","purchaseSubscriptionViewModel","inputHelper","licenseTypes","SmallEnterprise","Enterprise","BigEnterprise","smallEnterprise","enterprise","bigEnterprise","purchaseSubscriptionModal","subscriptionTo","licenseTypeSelect","btnPurchaseSubscription","amountSubscription","numberOfMonths","urlCancel","urlSuccess","hostHidden","paypalForm","initDatePicker","changeHanlder","createPayment","dateToSubscription","min","getLicenseType","license","getPayment","ammount","quantity","host","months","pendingValidationExpenseFilterViewModel","btnFilter","pendingValidationExpenseListViewModel","Page","clientChangeHandler","proj","pendingValidationExpenses","rejected","validated","divExpensesToLoad","listExpensesPendingValidation","btnReject","btnValidate","btnViewMoreExpenses","rejectAction","validateAction","resetList","button","removeClassInputError","attachItemButtonsHandlers","viewImagesButton","viewExpenseButton","currentTarget","trim","expenseStatus","replaceUpdated","itemToReplace","replaceWith","replacedItem","checks","updateExpenseViewModel","expensesToReject","YouMustSelectAnExpenseToReject","anyExpenesWithOutComment","_","some","reason","setRejectCommentViewModel","setComment","cancelSetComment","MessageConfirmReject","ConfirmRejectExpensesTitle","executeWorkFlowRejectAction","executeWorkFlow","expensesToValidate","MessageConfirmValidate","ConfirmValidateExpensesTitle","executeWorkFlowValidateAction","statusTo","ValidatedSuccessfully","RejectedSuccessfully","textArea","pendingValidationExpenseViewModel","rejectCommentModal","rejectComment","btnSetRejectComment","btnClose","setCommentCallback","cancelCallback","YouMustInputComment","validatedExpenseFilterViewModel","validatedExpenseListViewModel","listExpensesValidated","expensesWithoutValue","anyExpensesWithOutValue","ValueIsRequired","validatedExpenseViewModel","downloadUrl","mailVerificationCodeViewModel","verify","registerViewModel","countryServices","acceptConditions","phone","keyup","initIsValid","acceptTerms","selectedCountry","RegisterSuccessfully","userNameCompany","loadRoleAdministration","deleteRole","roleDeleteViewModel","updateRole","roleUpdateViewModel","roleCreateViewModel","roleServiceValuesCreateViewModel","selectedRole","serviceServices","selectedService","selectedCurrency","currency","maxPerDay","decimalValue","TheAmmountCanNotBeZero","roleId","roleServiceValuesDeleteViewModel","deleteRoleServiceValue","roleServiceValuesUpdateViewModel","serviceLoader","roleLoader","currrencyId","updateRoleServiceValue","roleServiceValuesViewModel","_closeDeleteButton","deleteRoleServiceValues","statisticsFilterViewModel","currentYear","years","selectedProject","selectedAccount","selectedMonth","selectedYear","fullname","settingsViewModel","userSettingsModal","chkUserSettings","zoneUserSettings","languageUserSettings","btnSave","btnCancel","currentSettings","newSettings","generateReportFilterViewModel","currentMonth","pendingValidationFilterViewModel","validatedHistoryFilterViewModel","validatedHistoryViewModel","validationViewModel","arrayToValidate","originalAmmount","showEditAmmount","saveEditAmmount","showInputComment","bootbox","prompt","Reason","changeActionToValidate","selectWithActions","changeAmmountButton","niftyNoty","ToInputReasonPleaseReSelecteRejectedAction","container","timer","arrayToValidateEntityElement","ConfirmToValidateExpenses","validatorAssignGroupsViewModel","groups","chosenGroups","validatorDashboardViewModel","validatorListViewModel","_validatorsGroups","_multi","_closeGroupsValidator","asignGroupsToValidators","winbizCsvViewModel","winbizConfigurationsServices","fieldDecimalSeparator","fieldDateFormate","selectParam","itemElement","saveCsvTemplate","decimalSeparator","sendToValidateViewModel","sendToValidateModal","saveCallback","expenseID","clientAdministrationController","compensationAdministrationController","compensationAdministrationFormController","end","functionId","compensationTypeId","quantityPerDay","compensationAdministrationListController","compensationOptionAdministrationController","compensationOptionAdministrationFormController","compensationOptionAdministrationListController","companyConfigurationTabController","initDropzone","ratePerKilometer","autoProcessQueue","openImagePickerResize","itemModalConfig","cropperData","logoPath","expenseConfigurationTabController","submitDisabled","expenseFormFields","getTranslatedFieldName","fieldName","AccountId","Account","Package","PaymentMethod","BaseCurrency","Country","Tax","compensationTypeAdministrationController","compensationTypeAdministrationFormController","compensationTypeAdministrationListController","currencyAdministrationController","getIcon","expenseModalController","isReadonly","Validated","originalCurrencyId","currencyHasChanged","ratePerkm","docEcmUrl","isEditInit","getTotal","generateReport","sendToReview","exportExpense","sendToReviewInmediatelly","calculateTripAmount","getRatePerKm","openDocEcmFile","fieldShouldBeShown","fieldShouldBeRequired","stored","expenseIds","toReview","$valid","$submitted","itemToSave","mapTo","anyItemEmpty","AtLeastOneItemIsRequiredAndNotBeEmpty","toSaveInStorage","basecurrencyId","participants","travelPoints","anyEmpty","isEmpty","existAnExpenseWithThisCharacteristics","AlreadyExistAnExpenseWithThisCharacteristics","Alert","alertWasConfirmated","errors","showWinbizCloudDifferentAccountingYearAlert","AccountingYearForWinbizIsDifferentFromTheDate","alertShowWinbizCloudDifferentAccountingYearWasConfirmated","PendingReview","confirmationModal","itemMap","latitude","longitude","getTaxByDefault","availableTaxes","vehicleRatePerkm","companyRatePerKm","docEcmWebUrl","docEcmFileIds","keydownEvt","countryAux","expenseStatisticsCtrl","barChart","summaryData","graphData","graphType","timeRanges","filters","filterSelectedIndex","showLastDays","timeRange","filterBy","isAdminOrValidator","filterClick","timeRangeChange","graphTypeChange","getFilters","getTimeRanges","drawLastDaysLineChart","lastDays","drawPieChart","drawBarChart","ByServices","ByProject","ByClient","ByTax","ByCurrency","ByPaymentMethod","ByAccount","CurrentMonth","LastMonth","CurrentYear","LastYear","shouldShowLastDays","dataset","formatLabels","label","getDataForBarGraph","x","y","getRandomColor","getRowByLabel","_data","barGraphData","setData","Bar","barColors","row","substr","initFilter","saveFilter","toggleDisabledAccount","toggleDisabled","advancedFilter","accountDisabledChecked","clientDisabledChecked","saveFilterModal","expenseViewController","summary","selectedItemsCount","queries","checkAll","btnSendToReviewDisabled","filterFunc","exportCsv","exportPdf","exportWinbiz","exportZip","deleteExpense","executeQuery","deleteQuery","checkAllToggle","disableButton","selectedItems","openAdvancedFitlers","loadQueries","ExpenseId","AreYourSureDelete","DeleteExpense","resp","Started","Rejected","showImagesModal","mySlides","Trips","disable","clientChange","watchFilter","expensePoliciesFormController","ServiceIds","NotifyIds","selectServices","All","dataTextField","dataValueField","valuePrimitive","autoBind","dataSource","acc","selectAccounts","SelectAccount","functions","selectFunctions","Name","Value","Action","expensePoliciesListController","Id","imagePickerResizeController","cropper","saveImage","$imgPreview","$applyAsync","destroy","Cropper","zoomable","viewMode","aspectRatio","getData","functionAdministrationController","functionAdministrationFormController","functionAdministrationListController","groupAdministrationController","groupAdministrationFormController","GroupService","groupAdministrationListController","openAccountModal","itemId","expensePackageModalController","packageTypeSelectionMode","yesterday","expensePackageViewController","dateHandler","packageList","getExpensesForPackage","packageItem","Packages","newPackage","toEdit","packageToSendToReview","expensesCount","YouMustSelectAnOpenPackageWithExpenses","paymentMethodAdministrationController","paymentAdministrationFormController","assignedsIds","bexioPaymentType","accs","bexioPayments","bexioPaymentTypeId","paymentAdministrationListController","projectAdministrationController","projectAdministrationFormController","startsWith","projectAdministrationListController","accountReport","lastMonth","setMonth","report","getExpenseStatus","reportPdf","clientReport","expenseReport","expenseDetailsReport","reportName","expenseHistoryReport","yearsTo","yearsFrom","showYear","changeYear","computeYears","yearFrom","yearTo","monthTo","monthFrom","actualYear","reportTypes","SimpleExpenses","PackageDetail","reportType","packageSelected","toggleDisabledClient","selectPackage","searchPackages","settlementReport","$stateParams","settlementId","serviceAdministrationController","serviceAdministrationFormController","allCountries","availableCountries","initTaxForm","taxForm","itemIndex","addNewTax","duplicated","countryName","editTax","removeTax","cancelUpdate","saveEdit","bexioAccount","bexioAccountId","serviceAdministrationListController","expensesToSettleController","expensesTotal","internalFilter","sendToSettle","selectItemToggle","openDetailModal","auxTotal","totalByCurrency","totalByCurrencyFormated","settledAmount","MustSelectExpenseToSettle","AmountMustBeLessOrEqualThanExpenseAmount","SettleExpensesConfirmation","SettleExpenses","SendToLiquidatedSuccessfully","filterWatcher","settlementHistoryController","history","payExpenseSettled","pageChanged","PaySettlementConfirmation","PaySettlement","SettlementPaidSuccessfully","itemSettled","validatorListCtrl","pendingItems","selectAll","totalSelected","packageIds","countSelected","viewMore","packet","toggleAll","checkExpense","showFiles","expenseDescription","getProjectColor","colorObj","r","g","b","rejectExpense","pkg","toReject","itemToReject","rejectPackageModal","validateExpense","itemToValidate","ValidationComment","someWithoutReason","TheAreExpensesToRejectWithoutComment","validate","isBatchOperation","validateByBatch","concat","totalInCompanyCurrency","totalToValidate","ValidatedByManager","pendingValidationFilterCtrl","validatedExpenseListCtrl","totalToExport","defaultCurrencySymbol","calculateTotal","cleanSelectAll","totalConverted","reduce","pv","cv","ExpenseRejectedSuccessfully","msSaveOrOpenBlob","export","exportType","isWinbiz","ExpenseExportedSuccessfully","hasAccountingPDFExportActive","totalKm","pendingValidationImagesCtrl","validatorDelegateAdministrationController","validatorDelegateAdministrationFormController","validatorDelegateAdministrationListController","vehicleAdministrationController","vehicleAdministrationFormController","vehicleAdministrationListController","readonly","datePicker","datePickerMin","datePickerMax","kendoDatePicker","next","$this","datepickerId","$datepicker","customDateTimePicker","interval","kendoDateTimePicker","dateTimePicker","dateTimePickerValue","dateTimePickerMin","dateTimePickerMax","customDropDownList","kendoDropDownList","valueTemplate","transport","read","callbackUrl","setDataSource","customDropDownListData","setObject","where","valueToSet","customScheduler","resources","kendoScheduler","toolbar","eventTemplate","pdf","proxyURL","startTime","showWorkHours","workDayStart","workDayEnd","majorTick","editable","selectable","dataBinding","dataBound","moveStart","move","preventResize","moveEnd","resizeStart","resizeEnd","navigate","customTimePicker","timePicker","kendoTimePicker","timePickerValue","getDateTimeDto","hour","minute","createExpenseViewModel","btnSaveExpense","btnSaveSendReview","modalExpenseViewModel","createAndSendReview","getExpense","deleteExpenseViewModel","confirmDeleteExpenseBtn","deleteExpenseModal","cancelDeleteExpense","closeDeleteModal","btnDeleteExpense","btnSendToReview","successCallback","setValuesToControls","fileTabViewModel","fillTable","commentTabViewModel","workFlowTabViewModel","expenseMapTabViewModel","clientAdministrationListController","clientAdministrationFormController","commentsTabCtrl","removeComment","AddedRecently","customFieldsTabCtrl","getCustomFields","setValuesEdit","setDefaultValues","customFieldItem","expenseCustomFieldItem","customFieldId","newField","defaultValue","filesTabCtrl","fileList","previewFiles","getExtensionClass","showFileList","showSlider","fileUploaded","uploader","filename","pop","ext","lastIndexOf","itemsTabCtrl","getTaxesForSelectedService","addBtnDisabled","subscriteToEvents","anyEmptyItem","isEnabled","watchItems","participantsTabCtrl","participantSelected","participant","addParticipant","removeParticipant","travelTabCtrl","totalKilometers","mapOptions","distanceService","DistanceMatrixService","calculateTotalKilometers","initMapOptions","calculateKilometersBetweenTwoPoints","getDistanceMatrix","origins","addressName","destinations","travelMode","rows","elements","distance","editPlace","newPlace","formatted_address","googlePlaceId","geometry","lat","lng","addNewPlace","deletePlace","generateLink","moveItem","moveDown","sort","zoom","center","destination","wayPoints","point","stopover","workflowTabCtrl","accountGroupController","selectOptions","assignGroupController","priorityDropDownList","configuration","xlo","low","med","hi","xhi"],"mappings":";;AAAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EAAyB,CACrB,cADqB,EAErB,sBAFqB,EAGrB,WAHqB,EAIrB,kBAJqB,EAKrB,YALqB,EAMrB,OANqB,EAOrB,aAPqB,EAQrB,cARqB,EASrB,WATqB,CAAzB,EAWKC,MAXL,CAWYC,SAXZ,EAYKC,GAZL,CAYSC,MAZT;;AAcAF,cAAUG,OAAV,GAAoB,CAAC,YAAD,CAApB;;AAEA,aAASH,SAAT,CAAmBI,UAAnB,EAA+B;AAC3BA,mBAAWC,0BAAX,CAAsC,KAAtC;AACH;;AAEDH,WAAOC,OAAP,GAAiB,CAAC,YAAD,EAAe,UAAf,EAA2B,WAA3B,EAAwC,gBAAxC,CAAjB;;AAEA,aAASD,MAAT,CAAgBI,UAAhB,EAA4BC,QAA5B,EAAsCC,SAAtC,EAAiDC,cAAjD,EAAiE;AAC7DH,mBAAWI,SAAX,GAAuBd,IAAIe,YAA3B;AACAL,mBAAWM,WAAX,GAAyBhB,IAAIgB,WAA7B;;AAEAN,mBAAWO,GAAX,CAAe,mBAAf,EAAoCC,aAApC;AACAR,mBAAWO,GAAX,CAAe,qBAAf,EAAsCE,eAAtC;;AAEA,iBAASD,aAAT,CAAuBE,KAAvB,EAA8BC,OAA9B,EAAuCC,QAAvC,EAAiDC,SAAjD,EAA4DC,UAA5D,EAAwE;;AAEpE,gBAAIH,QAAQI,IAAR,KAAiB,OAArB,EAA8B;AAC1B;AACH;;AAEDJ,oBAAQK,OAAR,CAAgBC,OAAhB,GAA0BC,cAA1B;AACAA,2BAAerB,OAAf,GAAyB,CAAC,IAAD,EAAO,UAAP,EAAmB,iBAAnB,CAAzB;;AAEA,qBAASqB,cAAT,CAAwBC,EAAxB,EAA4BlB,QAA5B,EAAsCmB,eAAtC,EAAuD;AACnD,oBAAIC,QAAQF,GAAGE,KAAH,EAAZ;;AAEApB,yBAAS,YAAY;AACjB,wBAAIqB,OAAOtB,WAAWM,WAAtB;;AAEA,wBAAI,CAACgB,IAAL,EAAW;AACPC,+BAAOC,EAAP,CAAU,OAAV;AACAH,8BAAMI,MAAN;AACA;AACH;;AAED,wBAAGd,QAAQe,IAAR,IAAgBf,QAAQe,IAAR,CAAaC,KAAhC,EAAuC;AACnC,4BAAIC,YAAY,IAAhB;AACA,4BAAID,QAAQhB,QAAQe,IAAR,CAAaC,KAAzB;;AAEA,4BAAIA,MAAME,aAAN,IAAuB,CAACP,KAAKQ,OAAjC,EACIF,YAAY,KAAZ;;AAEJ,4BAAID,MAAMI,iBAAN,IAA2B,CAACT,KAAKU,WAArC,EACIJ,YAAY,KAAZ;;AAEJ,4BAAG,CAACA,SAAJ,EAAe;AACXL,mCAAOC,EAAP,CAAU,wBAAV;AACAH,kCAAMI,MAAN;AACA;AACH;AACJ;;AAEDJ,0BAAML,OAAN;AAEH,iBA5BD,EA4BG,GA5BH;;AA8BA,uBAAOK,MAAMJ,OAAb;AACH;AACJ;;AAED,iBAASR,eAAT,CAAyBC,KAAzB,EAAgCC,OAAhC,EAAyCC,QAAzC,EAAmDC,SAAnD,EAA8DC,UAA9D,EAA0E,CAAG;;AAE7Eb,iBAAS,YAAY;;AAEjB,gBAAIgC,QAAQC,OAAOC,QAAP,CAAgBC,QAAhB,CAAyBC,KAAzB,CAA+B,GAA/B,CAAZ;;AAEA,gBAAIJ,MAAM,CAAN,KAAY,SAAhB,EAA2B;AACvB,oBAAIK,YAAYL,MAAMA,MAAMM,MAAN,GAAe,CAArB,CAAhB;;AAEA,oBAAID,aAAaE,SAAb,IAA0BF,aAAa,IAAvC,IAA+CA,aAAa,EAAhE,EAAoE;AAChEG,qCAAiB,IAAjB,EAAuBH,SAAvB,EAAkC,IAAlC,EAAwC,IAAxC;AACH;AACJ;AACJ,SAXD;;AAaAI,UAAEC,QAAF,EAAYC,KAAZ,CAAkB,YAAY;AAC1BF,cAAEC,QAAF,EAAYE,EAAZ,CAAe,mBAAf,EAAoCJ,gBAApC;AACH,SAFD;;AAIA,iBAASA,gBAAT,CAA0B/B,KAA1B,EAAiCoC,GAAjC,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsDC,gBAAtD,EAAwE;AACpEhD,qBAAS,YAAY;;AAEjB,oBAAIiD,MAAM,IAAIC,IAAJ,EAAV;AACAjD,0BAAUkD,IAAV,CAAe;AACXC,iCAAa,iEADF;AAEXC,gCAAY,wBAFD;AAGXC,kCAAc,OAHH;AAIXC,0BAAM,IAJK;AAKXC,iCAAa,eALF;AAMXzC,6BAAS;AACL0C,gCAAQ,kBAAY;AAChB,mCAAO,CAAC,CAACZ,GAAT;AACH,yBAHI;AAILa,8BAAMb,MAAM3C,eAAeyD,OAAf,CAAuBd,GAAvB,CAAN,GAAoC;AACtCe,kCAAMd,KADgC;AAEtCe,oCAAQd,OAF8B;AAGtCe,mCAAO,EAH+B;AAItCC,sCAAU,EAJ4B;AAKtCC,uCAAWC,SAASlE,WAAWM,WAAX,CAAuB6D,gBAAhC,CAL2B;AAMtCC,wCAAYF,SAASlE,WAAWM,WAAX,CAAuB+D,gBAAhC,CAN0B;AAOtCC,0CAAc,EAPwB;AAQtCC,mCAAO,CAAC;AACJC,uCAAOhC,SADH;AAEJiC,2CAAWjC,SAFP;AAGJkC,qCAAKlC;AAHD,6BAAD,CAR+B;AAatCmC,kCAAM;AACFC,qCAAK1B,IAAI2B,OAAJ,EADH;AAEFC,uCAAO5B,IAAI6B,QAAJ,KAAiB,CAFtB;AAGFC,sCAAM9B,IAAI+B,WAAJ;AAHJ;AAbgC,yBAJrC;AAuBLhC,0CAAkBA;AAvBb;AANE,iBAAf;AAgCH,aAnCD;AAoCH;AACJ;AACJ,CAvID,EAuIG3D,GAvIH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKgF,KADL,CACW,aADX,EAEQ;AACIU,6BAAqB;AACjB,eAAG,QADc;AAEjB,eAAG,QAFc;AAGjB,sBAAU,CAHO;AAIjB,sBAAU;AAJO,SADzB;AAOIC,gCAAwB;AACpB,eAAG,YADiB;AAEpB,eAAG,UAFiB;AAGpB,eAAG,sBAHiB;AAIpB,0BAAc,CAJM;AAKpB,wBAAY,CALQ;AAMpB,oCAAwB;AANJ,SAP5B;AAeIC,oCAA4B;AACxB,eAAG,KADqB;AAExB,eAAG,IAFqB;AAGxB,mBAAO,CAHiB;AAIxB,kBAAM;AAJkB,SAfhC;AAqBIC,qBAAa;AACT,eAAG,SADM;AAET,eAAG,MAFM;AAGTC,qBAAS,CAHA;AAITC,kBAAM;AAJG,SArBjB;AA2BIC,cAAM;AACF,eAAG,MADD;AAEF,eAAG,SAFD;AAGF,oBAAQ,CAHN;AAIF,uBAAW;AAJT,SA3BV;AAiCIC,uBAAe;AACX,eAAG,SADQ;AAEX,eAAG,UAFQ;AAGX,eAAG,eAHQ;AAIX,eAAG,WAJQ;AAKX,eAAG,oBALQ;AAMX,uBAAW,CANA;AAOX,wBAAY,CAPD;AAQX,6BAAiB,CARN;AASX,yBAAa,CATF;AAUX,kCAAsB;AAVX,SAjCnB;AA6CIC,6BAAqB,CACjB;AACIC,gBAAI,CADR;AAEI5E,kBAAM;AAFV,SADiB,EAKjB;AACI4E,gBAAI,CADR;AAEI5E,kBAAM;AAFV,SALiB,CA7CzB;AAuDI6E,uBAAe;AACX,eAAG,MADQ;AAEX,eAAG,QAFQ;AAGXC,kBAAM,CAHK;AAIXC,oBAAQ;AAJG,SAvDnB;AA6DIC,2BAAmB,CACf;AACIJ,gBAAI,CADR;AAEI5E,kBAAM;AAFV,SADe,EAKf;AACI4E,gBAAI,CADR;AAEI5E,kBAAM,eAFV,CAE0B;AAF1B,SALe,CA7DvB;AAuEIiF,qBAAa;AACT,eAAG,QADM;AAET,eAAG,eAFM;AAGTC,oBAAQ,CAHC;AAITC,0BAAc;AAJL,SAvEjB;AA6EIC,0CAAkC;AAC9B,eAAG,KAD2B;AAE9B,eAAG,IAF2B;AAG9B,eAAG,QAH2B;AAI9BC,iBAAK,CAJyB;AAK9BC,gBAAI,CAL0B;AAM9BC,oBAAQ;AANsB,SA7EtC;AAqFIC,gDAAwC,CACpC;AACIZ,gBAAI,CADR;AAEI5E,kBAAM;AAFV,SADoC,EAKpC;AACI4E,gBAAI,CADR;AAEI5E,kBAAM;AAFV,SALoC,EASpC;AACI4E,gBAAI,CADR;AAEI5E,kBAAM;AAFV,SAToC,CArF5C;AAmGIyF,8BAAsB;AAClBC,yBAAa,aADK;AAElBC,uBAAW,WAFO;AAGlBC,sBAAU,UAHQ;AAIlBC,uBAAW,WAJO;AAKlBC,uBAAW,WALO;AAMlBC,6BAAiB,iBANC;AAOlBC,4BAAgB,gBAPE;AAQlBC,uBAAW,WARO;AASlBC,wBAAY,YATM;AAUlBC,mBAAO,OAVW;AAWlBC,mBAAO;AAXW,SAnG1B;AAgHIC,kCAA0B,CACtB;AACIzB,gBAAI,IADR;AAEI5E,kBAAM,aAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SADsB,EAOtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,WAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SAPsB,EAatB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,WAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SAbsB,EAmBtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,iBAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SAnBsB,EAyBtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,gBAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SAzBsB,EA+BtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,WAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SA/BsB,EAqCtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,YAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SArCsB,EA2CtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,OAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SA3CsB,EAiDtB;AACI3B,gBAAI,IADR;AAEI5E,kBAAM,OAFV;AAGIsG,uBAAW,IAHf;AAIIC,wBAAY;AAJhB,SAjDsB;AAhH9B,KAFR;AA2KH,CA7KD;;;ACAA,CAAC,YAAY;AACT;;AACA/H,YACKC,MADL,CACY,QADZ,EAEKC,MAFL,CAEY8H,MAFZ;;AAIAA,WAAO1H,OAAP,GAAiB,CAAC,gBAAD,EAAmB,oBAAnB,EAAyC,mBAAzC,CAAjB;;AAEA,aAAS0H,MAAT,CAAgBC,cAAhB,EAAgCC,kBAAhC,EAAoDC,iBAApD,EAAuE;;AAEnEA,0BAAkBC,SAAlB,CAA4B,IAA5B;;AAEAF,2BACKG,IADL,CACU,YADV,EACwB,GADxB,EAEKC,SAFL,CAEe,GAFf;;AAIAL;AACI;AADJ,SAEKM,KAFL,CAEW,YAFX,EAEyB;AACjBC,sBAAU,IADO;AAEjBC,mBAAO;AACH,oBAAI;AACAC;AADA;AADD,aAFU;AAOjBjH,qBAAS;AAPQ,SAFzB,EAWK8G,KAXL,CAWW,kCAXX,EAW+C;AACvCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADiC;AAOvCmG,iBAAK,GAPkC;AAQvCC,uBAAW;AAR4B,SAX/C,EAqBKL,KArBL,CAqBW,6CArBX,EAqB0D;AAClDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD4C;AAOlDmG,iBAAK,cAP6C;AAQlDC,uBAAW;AARuC,SArB1D;AA+BI;AA/BJ,SAgCKL,KAhCL,CAgCW,8BAhCX,EAgC2C;AACnCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD6B;AAOnCmG,iBAAK,+BAP8B;AAQnCC,uBAAW;AARwB,SAhC3C,EA2CKL,KA3CL,CA2CW,uCA3CX,EA2CoD;AAC5CpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADsC;AAO5CmG,iBAAK,kCAPuC;AAQ5CC,uBAAW;AARiC,SA3CpD,EAqDKL,KArDL,CAqDW,iCArDX,EAqD8C;AACtCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADgC;AAOtCmG,iBAAK,+BAPiC;AAQtCC,uBAAW;AAR2B,SArD9C,EA+DKL,KA/DL,CA+DW,+BA/DX,EA+D4C;AACpCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD8B;AAOpCoG,uBAAW;AAPyB,SA/D5C,EAwEKL,KAxEL,CAwEW,uBAxEX,EAwEoC;AAC5BpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aADsB;AAO5BmG,iBAAK,aAPuB;AAQ5BC,uBAAW;AARiB,SAxEpC;AAkFI;AAlFJ,SAmFKL,KAnFL,CAmFW,kCAnFX,EAmF+C;AACvCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADiC;AAOvCmG,iBAAK,UAPkC;AAQvCC,uBAAW;AAR4B,SAnF/C,EA6FKL,KA7FL,CA6FW,gCA7FX,EA6F6C;AACrCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD+B;AAOrCmG,iBAAK,QAPgC;AAQrCC,uBAAW;AAR0B,SA7F7C,EAuGKL,KAvGL,CAuGW,iCAvGX,EAuG8C;AACtCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADgC;AAOtCmG,iBAAK,SAPiC;AAQtCC,uBAAW;AAR2B,SAvG9C,EAiHKL,KAjHL,CAiHW,kCAjHX,EAiH+C;AACvCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADiC;AAOvCmG,iBAAK,UAPkC;AAQvCC,uBAAW;AAR4B,SAjH/C,EA2HKL,KA3HL,CA2HW,kCA3HX,EA2H+C;AACvCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADiC;AAOvCmG,iBAAK,UAPkC;AAQvCC,uBAAW;AAR4B,SA3H/C,EAqIKL,KArIL,CAqIW,wCArIX,EAqIqD;AAC7CpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADuC;AAO7CmG,iBAAK,gBAPwC;AAQ7CC,uBAAW;AARkC,SArIrD,EA+IKL,KA/IL,CA+IW,mCA/IX,EA+IgD;AACxCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADkC;AAOxCmG,iBAAK,WAPmC;AAQxCC,uBAAW;AAR6B,SA/IhD,EAyJKL,KAzJL,CAyJW,0BAzJX,EAyJuC;AAC/BpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADyB;AAO/BmG,iBAAK,YAP0B;AAQ/BC,uBAAW;AARoB,SAzJvC,EAmKKL,KAnKL,CAmKW,4CAnKX,EAmKyD;AACjDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD2C;AAOjDmG,iBAAK,qBAP4C;AAQjDC,uBAAW;AARsC,SAnKzD,EA6KKL,KA7KL,CA6KW,mCA7KX,EA6KgD;AACxCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADkC;AAOxCmG,iBAAK,WAPmC;AAQxCC,uBAAW;AAR6B,SA7KhD,EAuLKL,KAvLL,CAuLW,kCAvLX,EAuL+C;AACvCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADiC;AAOvCmG,iBAAK,UAPkC;AAQvCC,uBAAW;AAR4B,SAvL/C,EAiMKL,KAjML,CAiMW,2CAjMX,EAiMwD;AAChDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD0C;AAOhDmG,iBAAK,mBAP2C;AAQhDC,uBAAW;AARqC,SAjMxD,EA2MKL,KA3ML,CA2MW,6CA3MX,EA2M0D;AAClDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD4C;AAOlDmG,iBAAK,qBAP6C;AAQlDC,uBAAW;AARuC,SA3M1D,EAqNKL,KArNL,CAqNW,uCArNX,EAqNoD;AAC5CpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADsC;AAO5CmG,iBAAK,gBAPuC;AAQ5CC,uBAAW;AARiC,SArNpD,EA+NKL,KA/NL,CA+NW,6BA/NX,EA+N0C;AAClCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD4B;AAOlCmG,iBAAK,UAP6B;AAQlCC,uBAAW;AARuB,SA/N1C,EAyOKL,KAzOL,CAyOW,4BAzOX,EAyOyC;AACjCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD2B;AAOjCmG,iBAAK,WAP4B;AAQjCC,uBAAW;AARsB,SAzOzC,EAmPKL,KAnPL,CAmPW,yBAnPX,EAmPsC;AAC9BpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADwB;AAO9BmG,iBAAK,gBAPyB;AAQ9BC,uBAAW;AARmB,SAnPtC;AA6PI;AA7PJ,SA8PKL,KA9PL,CA8PW,2BA9PX,EA8PwC;AAChCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD0B;AAOhCmG,iBAAK,iBAP2B;AAQhCC,uBAAW;AARqB,SA9PxC,EAwQKL,KAxQL,CAwQW,mBAxQX,EAwQgC;AACxBpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADkB;AAOxBmG,iBAAK,SAPmB;AAQxBC,uBAAW;AARa,SAxQhC;AAkRI;AAlRJ,SAmRKL,KAnRL,CAmRW,yBAnRX,EAmRsC;AAC9BpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADwB;AAO9BmG,iBAAK,gBAPyB;AAQ9BC,uBAAW;AARmB,SAnRtC,EA6RKL,KA7RL,CA6RW,0BA7RX,EA6RuC;AAC/BpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADyB;AAO/BmG,iBAAK,iBAP0B;AAQ/BC,uBAAW;AARoB,SA7RvC,EAuSKL,KAvSL,CAuSW,6BAvSX,EAuS0C;AAClCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD4B;AAOlCmG,iBAAK,kCAP6B;AAQlCC,uBAAW;AARuB,SAvS1C,EAiTKL,KAjTL,CAiTW,iCAjTX,EAiT8C;AACtCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADgC;AAOtCmG,iBAAK,4BAPiC;AAQtCC,uBAAW;AAR2B,SAjT9C,EA2TKL,KA3TL,CA2TW,iCA3TX,EA2T8C;AACtCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADgC;AAOtCmG,iBAAK,6BAPiC;AAQtCC,uBAAW;AAR2B,SA3T9C,EAqUKL,KArUL,CAqUW,sBArUX,EAqUmC;AAC3BpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aADqB;AAO3BmG,iBAAK,oBAPsB;AAQ3BC,uBAAW;AARgB,SArUnC;AA+UI;AA/UJ,SAgVKL,KAhVL,CAgVW,gCAhVX,EAgV6C;AACrCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD+B;AAOrCmG,iBAAK,uBAPgC;AAQrCC,uBAAW;AAR0B,SAhV7C,EA0VKL,KA1VL,CA0VW,gCA1VX,EA0V6C;AACrCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD+B;AAOrCmG,iBAAK,UAPgC;AAQrCC,uBAAW;AAR0B,SA1V7C,EAoWKL,KApWL,CAoWW,gDApWX,EAoW6D;AACrDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD+C;AAOrDmG,iBAAK,yCAPgD;AAQrDC,uBAAW;AAR0C,SApW7D;AA8WI;AA9WJ,SA+WKL,KA/WL,CA+WW,+BA/WX,EA+W4C;AACpCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD8B;AAOpCmG,iBAAK,sBAP+B;AAQpCC,uBAAW;AARyB,SA/W5C,EAyXKL,KAzXL,CAyXW,+CAzXX,EAyX4D;AACpDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,KADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD8C;AAOpDmG,iBAAK,wCAP+C;AAQpDC,uBAAW;AARyC,SAzX5D,EAmYKL,KAnYL,CAmYW,6BAnYX,EAmY0C;AAClCpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD4B;AAOlCmG,iBAAK,oBAP6B;AAQlCC,uBAAW;AARuB,SAnY1C;AA6YI;AA7YJ,SA8YKL,KA9YL,CA8YW,qCA9YX,EA8YkD;AAC1CpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aADoC;AAO1CmG,iBAAK,6BAPqC;AAQ1CC,uBAAW;AAR+B,SA9YlD,EAwZKL,KAxZL,CAwZW,8CAxZX,EAwZ2D;AACnDpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aAD6C;AAOnDmG,iBAAK,4BAP8C;AAQnDC,uBAAW;AARwC,SAxZ3D,EAkaKL,KAlaL,CAkaW,yCAlaX,EAkasD;AAC9CpG,kBAAM;AACFC,uBAAO;AACHE,mCAAe,IADZ;AAEHE,uCAAmB;AAFhB;AADL,aADwC;AAO9CmG,iBAAK,iCAPyC;AAQ9CC,uBAAW;AARmC,SAlatD;AA4aH;AACJ,CA7bD;;;ACAA,CAAC,YAAY;AACT;;AACAC,QAAIC,MAAJ,CAAW,yBAAX,EAAsCC,qBAAtC;;AAEA,aAASA,qBAAT,GAAiC;;AAE7B,YAAIC,gBAAgB,6GACJ,iHADI,GAEJ,8HAFI,GAGJ,qFAHI,GAIJ,0GAJI,GAKJ,wFALI,GAMJ,gFANI,GAOJ,gCAPhB;;AASA,iBAASC,KAAT,GAAiB;;AAEb,gBAAIP,WAAW,IAAIQ,CAAJ,CAAMF,aAAN,CAAf;;AAEA,mBAAON,SAASS,MAAT,EAAP;AACH;;AAED,eAAO;AACHF,mBAAOA;AADJ,SAAP;AAGH;AACJ,CA1BD;;;ACAA,CAAC,YAAY;AACT;;AACAJ,QAAIC,MAAJ,CAAW,2BAAX,EAAwC,YAAY;;AAEhD,YAAIM,kBAAkB,2EACC,kFADD,GAEC,oCAFD,GAGC,oNAHD,GAIC,+IAJvB;;AAMA,YAAIC,aAAa,SAAbA,UAAa,CAAUC,OAAV,EAAmBC,kBAAnB,EAAuCC,oBAAvC,EAA6D;;AAE1EF,oBAAQG,WAAR,GAAsBH,QAAQI,gBAAR,GAA2B,YAA3B,GAA0C,aAAhE;;AAEAJ,oBAAQK,eAAR,GAA0BL,QAAQI,gBAAR,GAA2B,oBAA3B,GAAkD,iCAA5E;;AAEAJ,oBAAQM,IAAR,GAAe7J,IAAI6J,IAAJ,EAAf;;AAEA,gBAAIlB,WAAW,IAAIQ,CAAJ,CAAME,eAAN,CAAf;;AAEAG,+BAAmBM,MAAnB,CAA0BnB,SAASS,MAAT,CAAgBG,OAAhB,CAA1B;;AAEA,gBAAI,CAACA,QAAQI,gBAAb,EAA+B;AAC3BH,mCAAmBO,IAAnB,CAAwB,gBAAxB,EAA0CC,MAA1C;AACH;;AAEDR,+BAAmBO,IAAnB,CAAwB,gBAAxB,EAA0CxG,EAA1C,CAA6C,OAA7C,EAAsDkG,oBAAtD;AACH,SAjBD;;AAmBA,YAAIQ,cAAc,SAAdA,WAAc,CAAUT,kBAAV,EAA8B9E,QAA9B,EAAwC+E,oBAAxC,EAA8D;;AAE5ErG,cAAE8G,IAAF,CAAOxF,QAAP,EAAiB,UAAUyF,KAAV,EAAiBZ,OAAjB,EAA0B;AACvCA,wBAAQlE,IAAR,GAAe,IAAIxB,IAAJ,CAAS0F,QAAQlE,IAAjB,EAAuB+E,YAAvB,EAAf;AACAb,wBAAQvI,WAAR,GAAsBuI,QAAQc,OAAR,CAAgBC,OAAhB,GAA0B,GAA1B,GAAgCf,QAAQc,OAAR,CAAgB5I,IAAtE;AACA8H,wBAAQgB,SAAR,GAAoBhB,QAAQc,OAAR,CAAgBE,SAApC;AACAhB,wBAAQI,gBAAR,GAA2BJ,QAAQI,gBAAnC;AACAL,2BAAWC,OAAX,EAAoBC,kBAApB,EAAwCC,oBAAxC;AACH,aAND;AAOH,SATD;;AAWA,eAAO;AACHH,wBAAYA,UADT;AAEHW,yBAAaA;AAFV,SAAP;AAIH,KA1CD;AA2CH,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACAnB,QAAIC,MAAJ,CAAW,wBAAX,EAAqC,YAAY;;AAE7C,YAAIyB,kBAAkB,kHACC,4JADD,GAEC,wEAFD,GAGC,gKAHvB;;AAKA,YAAIC,SAAS,SAATA,MAAS,CAAUC,UAAV,EAAsBC,IAAtB,EAA4BC,aAA5B,EAA2C;;AAEpDD,iBAAKE,aAAL,GAAqB7K,IAAIe,YAAJ,CAAiB+J,MAAtC;AACAH,iBAAKI,SAAL,GAAiBC,aAAaL,KAAKlJ,IAAL,CAAUuJ,YAAV,EAAb,CAAjB;AACAL,iBAAKd,IAAL,GAAY7J,IAAI6J,IAAJ,EAAZ;;AAEA,gBAAIlB,WAAW,IAAIQ,CAAJ,CAAMqB,eAAN,CAAf;;AAEAE,uBAAWZ,MAAX,CAAkBnB,SAASS,MAAT,CAAgBuB,IAAhB,CAAlB;;AAEAM,+BAAmBP,UAAnB,EAA+BE,aAA/B,EAA8CD,KAAKd,IAAnD;;AAEAqB,kBAAMC,WAAN;AACH,SAbD;;AAgBA,YAAIC,UAAU,SAAVA,OAAU,CAAUV,UAAV,EAAsBjG,KAAtB,EAA6BmG,aAA7B,EAA4C;;AAEtDxH,cAAE8G,IAAF,CAAOzF,KAAP,EAAc,UAAU0F,KAAV,EAAiBQ,IAAjB,EAAuB;AACjCA,qBAAKtF,IAAL,GAAY,IAAIxB,IAAJ,CAAS8G,KAAKtF,IAAd,EAAoB+E,YAApB,EAAZ;AACAO,qBAAKU,YAAL,GAAoBV,KAAKlJ,IAAL,CAAU6J,gBAAV,EAApB;AACAb,uBAAOC,UAAP,EAAmBC,IAAnB,EAAyBC,aAAzB;AACH,aAJD;AAKH,SAPD;;AASA,YAAII,eAAe,SAAfA,YAAe,CAAUD,SAAV,EAAqB;;AAEpC,oBAAQA,SAAR;AACI,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,MAAL;AACI,2BAAO,eAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,MAAL;AACI,2BAAO,eAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ;AACA,qBAAK,KAAL;AACI,2BAAO,cAAP;AAxBR;AA0BH,SA5BD;;AA8BA,YAAIE,qBAAqB,SAArBA,kBAAqB,CAAUM,KAAV,EAAiBC,MAAjB,EAAyB3B,IAAzB,EAA+B;AACpD0B,kBAAMxB,IAAN,CAAW,mBAAmBF,IAAnB,GAA0B,iCAArC,EAAwEtG,EAAxE,CAA2E,OAA3E,EAAoFiI,MAApF;AACH,SAFD;;AAIA,eAAO;AACHf,oBAAQA,MADL;AAEHW,qBAASA,OAFN;AAGHH,gCAAqBA;AAHlB,SAAP;AAKH,KAvED;AAwEH,CA1ED;ACAA;;AACA,CAAC,YAAY;;AAET;AACAjL,QAAIyL,cAAJ,GAAqB;AACjBC,iBAAS;AADQ,KAArB;;AAIA1L,QAAI2L,OAAJ,GAAc;AACVC,0BAAkB,0BAAUvF,EAAV,EAAc9B,IAAd,EAAoBC,MAApB,EAA4Bb,gBAA5B,EAA8C;AAC5DP,cAAEC,QAAF,EAAYwI,OAAZ,CAAoB,mBAApB,EAAyC,CAACxF,EAAD,EAAK9B,IAAL,EAAWC,MAAX,EAAmBb,gBAAnB,CAAzC;AACH;AAHS,KAAd;;AAMA3D,QAAI8L,mBAAJ,GAA0B,YAAY;AAClC,YAAIC,qBAAqB3I,EAAE,YAAF,CAAzB;;AAEA,YAAI,CAACA,EAAE4I,MAAP,EACI;;AAEJ,YAAID,mBAAmBE,QAAnB,CAA4B,YAA5B,CAAJ,EAA+C;AAC3C;AACA7I,cAAE4I,MAAF,CAAS,8BAAT,EAAyC,YAAzC,EAAuD;AACnDE,yBAAS;AAD0C,aAAvD;AAGH,SALD,MAKO;AACH;AACA9I,cAAE4I,MAAF,CAAS,8BAAT,EAAyC,YAAzC,EAAuD;AACnDE,yBAAS;AAD0C,aAAvD;AAGH;AACJ,KAjBD;;AAmBA;AACA,QAAIC,kBAAkB,SAAlBA,eAAkB,GAAY;AAC9B,YAAI/I,EAAE4I,MAAN,EAAc;AACV;AACA,gBAAII,+BAA+BhJ,EAAE4I,MAAF,CAAS,8BAAT,CAAnC;AACA,gBAAII,gCAAgC,IAApC,EAA0C;AACtCA,+CAA+B,YAA/B,CADsC,CACO;AAChD;;AAED,gBAAIL,qBAAqB3I,EAAE,YAAF,CAAzB;;AAEA;AACA,gBAAI2I,mBAAmBE,QAAnB,CAA4B,YAA5B,CAAJ,EAA+C;AAC3CF,mCAAmBM,WAAnB,CAA+B,YAA/B;AACH;AACD,gBAAIN,mBAAmBE,QAAnB,CAA4B,YAA5B,CAAJ,EAA+C;AAC3CF,mCAAmBM,WAAnB,CAA+B,YAA/B;AACH;;AAED;AACAN,+BAAmBO,QAAnB,CAA4BF,4BAA5B;AACH;AACJ,KArBD;;AAuBA;AACA,QAAIG,qBAAqB,SAArBA,kBAAqB,GAAY;AACjC,YAAInJ,EAAE4I,MAAN,EAAc;AACV,gBAAIQ,gBAAgBpJ,EAAE4I,MAAF,CAAS,mBAAT,CAApB;;AAEA,gBAAI,CAACQ,aAAD,IAAkBA,iBAAiB,IAAnC,IAA2CA,iBAAiB,EAAhE,EAAoE;;AAEhE,oBAAI;AACA,wBAAIC,WAAWC,UAAUC,QAAV,IAAsBD,UAAUE,YAA/C;;AAEA,wBAAID,WAAWF,SAAS1J,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAf;;AAEA,wBAAI4J,YAAY,IAAhB,EAAsB;;AAElB,4BAAIE,iBAAiB/D,IAAIgE,OAAJ,CAAY,gBAAZ,CAArB;;AAEA;AACAD,uCAAeE,MAAf,CAAsBJ,QAAtB,EACKK,IADL,CACU,UAAU5K,IAAV,EAAgB;AAClBS,qCAASoK,MAAT;AACH,yBAHL;AAIH;AACJ,iBAfD,CAeE,OAAOC,GAAP,EAAY,CAAE;AAEnB;AACJ;AACJ,KAzBD;;AA2BA;AACA9J,MAAEC,QAAF,EAAYC,KAAZ,CAAkB,YAAY;AAC1B6I,0BAD0B,CACP;AACnBI,6BAF0B,CAEJ;;AAEtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACH,KA3DD;AA4DH,CAjJD,EAiJGvM,GAjJH;;;ACDA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,cADb,EAC6BC,WAD7B;;AAGAA,gBAAY7M,OAAZ,GAAsB,CAAC,OAAD,EAAU,SAAV,EAAqB,sBAArB,EAA6C,kBAA7C,EAAiE,IAAjE,EAAuE,YAAvE,CAAtB;;AAEA,aAAS6M,WAAT,CAAqBC,KAArB,EAA4BC,OAA5B,EAAqCC,oBAArC,EAA2DC,gBAA3D,EAA6E3L,EAA7E,EAAiFnB,UAAjF,EAA6F;;AAEzF,YAAI+M,OAAO,IAAX;;AAEAA,aAAKC,GAAL,GAAWA,GAAX;AACAD,aAAKE,IAAL,GAAYA,IAAZ;AACAF,aAAKG,MAAL,GAAcC,OAAd;AACAJ,aAAKK,GAAL,GAAWA,GAAX;AACAL,aAAKM,QAAL,GAAgBA,QAAhB;AACAN,aAAKO,eAAL,GAAuBA,eAAvB;AACAP,aAAKQ,YAAL,GAAoBA,YAApB;;AAEA,YAAIC,UAAU,GAAd;;AAEA;AACA,YAAIC,SAAS;AACTC,qBAAS,SADA;AAETC,mBAAO,OAFE;AAGTC,mBAAO,aAHE;AAITC,0BAAc;AAJL,SAAb;;AAOA;AACA,iBAASb,GAAT,CAAac,SAAb,EAAwBpM,IAAxB,EAA8BjC,MAA9B,EAAsC;;AAElC,gBAAIyI,MAAMsF,UAAUM,SAAV,GAAsB,GAAtB,GAA4BjB,qBAAqBnL,IAArB,CAAtC;AACA,gBAAIqM,MAAM;AACNC,wBAAQ,KADF;AAEN9F,qBAAKA,GAFC;AAGN+F,uBAAO;AAHD,aAAV;AAKA,gBAAI5M,QAAQF,GAAGE,KAAH,EAAZ;;AAEAsL,kBAAMoB,GAAN,EAAWG,IAAX,CAAgB,UAAUC,QAAV,EAAoB;AAChCC,wBAAQD,QAAR,EAAkB9M,KAAlB,EAAyB5B,MAAzB;AACH,aAFD,EAEG,UAAU0O,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf,EAAsB5B,MAAtB;AACH,aAJD;;AAMA,mBAAO4B,MAAMJ,OAAb;AACH;;AAED,iBAASgM,IAAT,CAAca,SAAd,EAAyBpM,IAAzB,EAA+BjC,MAA/B,EAAuC;;AAEnC,gBAAI4B,QAAQF,GAAGE,KAAH,EAAZ;;AAEA,gBAAI6G,MAAMsF,UAAUM,SAApB;;AAEAnB,kBAAMM,IAAN,CAAW/E,GAAX,EAAgBxG,IAAhB,EAAsBwM,IAAtB,CAA2B,UAAUC,QAAV,EAAoB;AAC3CC,wBAAQD,QAAR,EAAkB9M,KAAlB,EAAyB5B,MAAzB;AACH,aAFD,EAEG,UAAU0O,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf,EAAsB5B,MAAtB;AACH,aAJD;;AAMA,mBAAO4B,MAAMJ,OAAb;AACH;;AAED,iBAASkM,OAAT,CAAiBW,SAAjB,EAA4BpM,IAA5B,EAAkCjC,MAAlC,EAA0C;;AAEtC,gBAAIyI,MAAMsF,UAAUM,SAAV,GAAsB,GAAtB,GAA4BjB,qBAAqBnL,IAArB,CAAtC;AACA,gBAAIqM,MAAM;AACNC,wBAAQ,QADF;AAEN9F,qBAAKA,GAFC;AAGN+F,uBAAO;AAHD,aAAV;AAKA,gBAAI5M,QAAQF,GAAGE,KAAH,EAAZ;;AAEAsL,kBAAMoB,GAAN,EAAWG,IAAX,CAAgB,UAAUC,QAAV,EAAoB;AAChCC,wBAAQD,QAAR,EAAkB9M,KAAlB,EAAyB5B,MAAzB;AACH,aAFD,EAEG,UAAU0O,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf,EAAsB5B,MAAtB;AACH,aAJD;;AAMA,mBAAO4B,MAAMJ,OAAb;AACH;;AAED,iBAASmM,GAAT,CAAaU,SAAb,EAAwBpM,IAAxB,EAA8BjC,MAA9B,EAAsC;;AAElC,gBAAI4B,QAAQF,GAAGE,KAAH,EAAZ;;AAEA,gBAAI6G,MAAMsF,UAAUM,SAApB;;AAEAnB,kBAAMS,GAAN,CAAUlF,GAAV,EAAexG,IAAf,EAAqBwM,IAArB,CAA0B,UAAUC,QAAV,EAAoB;AAC1CC,wBAAQD,QAAR,EAAkB9M,KAAlB,EAAyB5B,MAAzB;AACH,aAFD,EAEG,UAAU0O,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf,EAAsB5B,MAAtB;AACH,aAJD;;AAMA,mBAAO4B,MAAMJ,OAAb;AACH;;AAED,iBAASqM,eAAT,CAAyBQ,SAAzB,EAAoCpM,IAApC,EAA0CjC,MAA1C,EAAkD;;AAE9C,gBAAI4B,QAAQF,GAAGE,KAAH,EAAZ;;AAEA,gBAAI6G,MAAMsF,UAAUM,SAApB;;AAEAnB,kBAAMM,IAAN,CAAW/E,GAAX,EAAgBxG,IAAhB,EAAsBwM,IAAtB,CAA2B,UAAUC,QAAV,EAAoB;AAC3CC,wBAAQD,QAAR,EAAkB9M,KAAlB;AACH,aAFD,EAEG,UAAU8M,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf;AACH,aAJD;;AAMA,mBAAOA,KAAP;AACH;;AAED,iBAASgM,QAAT,CAAkBS,SAAlB,EAA6B7D,IAA7B,EAAmCqE,IAAnC,EAAyC;;AAErC,gBAAIjN,QAAQF,GAAGE,KAAH,EAAZ;;AAEA,gBAAI6G,MAAMsF,UAAUM,SAApB;;AAEA,gBAAIS,KAAK,IAAIC,QAAJ,EAAT;AACAD,eAAGnF,MAAH,CAAU,MAAV,EAAkBa,IAAlB;;AAEA,gBAAIqE,IAAJ,EACIC,GAAGnF,MAAH,CAAU,MAAV,EAAkBqF,KAAKC,SAAL,CAAeJ,IAAf,CAAlB;;AAEJ3B,kBAAMM,IAAN,CAAW/E,GAAX,EAAgBqG,EAAhB,EAAoB;AAChBI,yBAAS;AACL,oCAAgBnM;AADX;AADO,aAApB,EAIG0L,IAJH,CAIQ,UAAUC,QAAV,EAAoB;AACxBC,wBAAQD,QAAR,EAAkB9M,KAAlB;AACH,aAND,EAMG,UAAU8M,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf;AACH,aARD;;AAUA,mBAAOA,MAAMJ,OAAb;AACH;;AAED,iBAASsM,YAAT,CAAsBO,SAAtB,EAAiCpM,IAAjC,EAAuC;AACnC,gBAAIL,QAAQF,GAAGE,KAAH,EAAZ;;AAEA,gBAAI6G,MAAMsF,UAAUM,SAApB;AACA9N,uBAAW4O,eAAX,GAA6B,IAA7B;AACAjC,kBAAMM,IAAN,CAAW/E,GAAX,EAAgBxG,IAAhB,EACKwM,IADL,CACU,UAAUC,QAAV,EAAoB;AACtBU,iCAAiBV,QAAjB,EAA2B9M,KAA3B;AACH,aAHL,EAGO,UAAU8M,QAAV,EAAoB;AACnBE,qBAAKF,QAAL,EAAe9M,KAAf;AACH,aALL;;AAOA,mBAAOA,MAAMJ,OAAb;AACH;;AAED,iBAAS4N,gBAAT,CAA0BV,QAA1B,EAAoC9M,KAApC,EAA2C;;AAEvC,gBAAIyN,MAAMX,SAASzM,IAAnB;AACA1B,uBAAW4O,eAAX,GAA6B,KAA7B;AACA,gBAAIE,IAAIC,MAAJ,KAAetB,OAAOC,OAA1B,EAAmC;AAC/BrM,sBAAML,OAAN,CAAcgO,eAAeF,IAAIpN,IAAnB,CAAd;AACH,aAFD,MAEO;AACHoL,iCAAiBmC,MAAjB,CAAwBH,IAAII,YAA5B;AACA7N,sBAAMI,MAAN,CAAaqN,IAAII,YAAjB;AACH;AACJ;;AAED,iBAASF,cAAT,CAAwBG,MAAxB,EAAgC;AAC5B,gBAAIC,gBAAgBlN,OAAOmN,IAAP,CAAYF,MAAZ,CAApB;AACA,gBAAIG,MAAMF,cAAc7M,MAAxB;AACA,gBAAIgN,QAAQ,IAAIC,UAAJ,CAAeF,GAAf,CAAZ;AACA,iBAAK,IAAIG,IAAI,CAAb,EAAgBA,IAAIH,GAApB,EAAyBG,GAAzB,EAA8B;AAC1BF,sBAAME,CAAN,IAAWL,cAAcM,UAAd,CAAyBD,CAAzB,CAAX;AACH;AACD,mBAAOF,MAAMI,MAAb;AACH;;AAGD;AACA;AACA,iBAASvB,OAAT,CAAiBD,QAAjB,EAA2B9M,KAA3B,EAAkC5B,MAAlC,EAA0C;;AAEtC,gBAAIqP,MAAMX,SAASzM,IAAnB;;AAEA,gBAAIoN,IAAIC,MAAJ,KAAetB,OAAOC,OAA1B,EAAmC;AAC/BrM,sBAAML,OAAN,CAAc8N,IAAIpN,IAAlB;AACH,aAFD,MAEO,IAAIoN,IAAIC,MAAJ,KAAetB,OAAOI,YAA1B,EAAwC;AAC3C3L,uBAAO0N,IAAP,CAAY,iBAAZ;AACH,aAFM,MAEA;AACH,oBAAI,CAACnQ,MAAD,IAAW,CAACA,OAAOoQ,WAAvB,EAAoC;AAChC,wBAAIf,IAAIC,MAAJ,IAAc,aAAlB,EACIjC,iBAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB0P,UAA7C,EADJ,KAGIhD,iBAAiBmC,MAAjB,CAAwBH,IAAII,YAA5B;AACP;;AAED7N,sBAAMI,MAAN,CAAaqN,IAAII,YAAjB;AACH;AACJ;;AAED;AACA;AACA,iBAASb,IAAT,CAAcS,GAAd,EAAmBzN,KAAnB,EAA0B5B,MAA1B,EAAkC;AAC9B,gBAAIqP,IAAIhL,MAAJ,KAAe,GAAnB,EAAwB,CAAG,CAA3B,MAAiC,IAAIgL,IAAIhL,MAAJ,KAAe,GAAnB,EAAwB,CAExD;;AAEDgJ,6BAAiBmC,MAAjB,CAAwB,4BAAxB;AACA5N,kBAAMI,MAAN;AACH;AACJ;AACJ,CAjND;;;ACAA,CAAC,YAAY;AACT;;AACAlC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,cADb,EAC6BsD,WAD7B;;AAGAA,gBAAYlQ,OAAZ,GAAsB,EAAtB;;AAEA,aAASkQ,WAAT,GAAuB;;AAEnB,aAAKC,OAAL,GAAeA,OAAf;AACA,aAAKC,KAAL,GAAaA,KAAb;;AAEA,iBAASD,OAAT,CAAiBE,GAAjB,EAAsB;AAClB,gBAAIA,GAAJ,EAAS;AACL,oBAAItL,MAAM,OAAIsL,IAAItL,GAAR,EAAcuL,KAAd,CAAoB,CAAC,CAArB,CAAV;AACA,oBAAIrL,QAAQ,OAAIoL,IAAIpL,KAAR,EAAgBqL,KAAhB,CAAsB,CAAC,CAAvB,CAAZ;AACA,oBAAInL,YAAUkL,IAAIlL,IAAlB;;AAEA,uBAAO,IAAI7B,IAAJ,CAAY6B,IAAZ,SAAoBF,KAApB,SAA6BF,GAA7B,oBAAP;AACH;;AAED,mBAAO,IAAP;AACH;;AAED,iBAASqL,KAAT,CAAetL,IAAf,EAAqB;AACjB,gBAAGA,IAAH,EACI,OAAO;AACHC,qBAAKD,KAAKE,OAAL,EADF;AAEHC,uBAAOH,KAAKI,QAAL,KAAkB,CAFtB;AAGHC,sBAAML,KAAKM,WAAL;AAHH,aAAP;;AAMJ,mBAAO,IAAP;AACH;AAEJ;AACJ,CApCD;;;ACAA,CAAC,YAAY;AACT;;AACA1F,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,eADb,EAC8B2D,aAD9B;;AAGAA,kBAAcvQ,OAAd,GAAwB,CAAC,cAAD,CAAxB;;AAEA,aAASuQ,aAAT,CAAuBC,YAAvB,EAAqC;;AAEjC,YAAI5D,UAAU,IAAd;AACA,YAAIe,UAAU,OAAd;;AAEA,aAAK8C,MAAL,GAAcA,MAAd;AACA,aAAK1M,OAAL,GAAeA,OAAf;AACA,aAAK2M,MAAL,GAAcA,MAAd;AACA,aAAKrD,MAAL,GAAcC,OAAd;;AAEA,iBAASmD,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiBQ,UAAU,UAA3B,CAAP;AACH;;AAED,iBAAS5J,OAAT,CAAiB+B,EAAjB,EAAqB;AACjB,mBAAO0K,aAAarD,GAAb,CAAiBQ,UAAU,OAAV,GAAoB7H,EAArC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB7O,IAAhB,EAAsB;AAClB,mBAAO2O,aAAapD,IAAb,CAAkBO,UAAU,SAA5B,EAAuC9L,IAAvC,CAAP;AACH;;AAED,iBAASyL,OAAT,CAAiBzL,IAAjB,EAAuB;AACnB,mBAAO2O,aAAapD,IAAb,CAAkBO,UAAU,SAA5B,EAAuC9L,IAAvC,CAAP;AACH;AACJ;AACJ,CAjCD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,WADf,EAC4B;AACpB7E,oBAAYkN,mBADQ;AAEpBvI,kBAAU,0IAFU;AAGpBwI,kBAAU;AACNC,mBAAO,UADD;AAEN/K,gBAAI,GAFE;AAGNgL,sBAAU,aAHJ;AAINrJ,wBAAY;AAJN;AAHU,KAD5B;;AAYAkJ,wBAAoB3Q,OAApB,GAA8B,CAAC,QAAD,EAAW,UAAX,EAAuB,UAAvB,EAAmC,cAAnC,CAA9B;;AAEA,aAAS2Q,mBAAT,CAA6BI,MAA7B,EAAqCC,QAArC,EAA+C5Q,QAA/C,EAAyD6Q,YAAzD,EAAuE;AACnE,YAAIC,KAAK,IAAT;;AAEAA,WAAGC,OAAH,GAAa,YAAY;AACrBC;AACAF,eAAGG,cAAH,GAAoBJ,aAAad,OAAb,CAAqBe,GAAGL,KAAxB,CAApB;;AAEAzQ,qBAAS,YAAY;AACjB,oBAAI,CAAC8Q,GAAGzJ,UAAR,EAAoB;AAChBuJ,6BAASxH,IAAT,CAAc,WAAd,EACK8H,KADL,CACW,qBAAqBJ,GAAGpL,EAAxB,GAA6B,uFADxC;;AAGAjD,sBAAEC,QAAF,EAAYE,EAAZ,CAAe,OAAf,EAAwB,YAAYkO,GAAGpL,EAAvC,EAA2C,UAAUjF,KAAV,EAAiB;AACxDT,iCAAS,YAAY;AACjB8Q,+BAAGL,KAAH,GAAW,IAAX;AACH,yBAFD;AAGH,qBAJD;AAKH;AACJ,aAXD,EAWG,GAXH;AAYH,SAhBD;;AAkBA,iBAASO,iBAAT,GAA6B;AACzB,gBAAIG,aAAaR,OAAOS,MAAP,CAAc,aAAd,EAA6B,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACxE,oBAAI,CAAC,CAACD,QAAF,IAAc,CAAC/R,QAAQiS,MAAR,CAAeF,QAAf,EAAyBC,QAAzB,CAAnB,EAAuD;AACnDR,uBAAGG,cAAH,GAAoBJ,aAAad,OAAb,CAAqBsB,QAArB,CAApB;AACH,iBAFD,MAEO,IAAI,CAACA,QAAL,EAAe;AAClBP,uBAAGG,cAAH,GAAoB,IAApB;AACH;AACJ,aANgB,CAAjB;;AAQA,gBAAIO,gBAAgBb,OAAOS,MAAP,CAAc,sBAAd,EAAsC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACpF,oBAAI,CAAC,CAACD,QAAF,IAAc,CAAC/R,QAAQiS,MAAR,CAAeF,QAAf,EAAyBC,QAAzB,CAAnB,EAAuD;AACnDR,uBAAGL,KAAH,GAAWI,aAAab,KAAb,CAAmBqB,QAAnB,CAAX;AACH,iBAFD,MAEO,IAAI,CAACA,QAAL,EAAe;AAClBP,uBAAGW,OAAH,GAAa,IAAb;AACH;AACJ,aANmB,CAApB;;AAQAd,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BkR;AACAL;AACH,aAHD;AAIH;AACJ;AACJ,CA5DD;;;ACAA,CAAC,YAAY;AACT;;AACA7R,YACKC,MADL,CACY,QADZ,EAEK2I,SAFL,CAEe,YAFf,EAE6B;AACrB7E,oBAAYkN,mBADS;AAErBvI,oYAFqB;AAUrBwI,kBAAU;AACNC,mBAAO,UADD;AAEN/K,gBAAI,GAFE;AAGNgL,sBAAU,aAHJ;AAINrJ,wBAAY;AAJN;AAVW,KAF7B;;AAoBAkJ,wBAAoB3Q,OAApB,GAA8B,CAAC,QAAD,CAA9B;;AAEA,aAAS2Q,mBAAT,CAA6BI,MAA7B,EAAqC;AACjC,YAAIG,KAAK,IAAT;AACAA,WAAGY,SAAH,GAAeC,UAAf;AACAb,WAAGc,QAAH;AACAd,WAAGe,aAAH,GAAmBA,aAAnB;;AAEA,aAAKd,OAAL,GAAe,YAAY;AACvB,gBAAI,CAAC,CAACD,GAAGL,KAAT,EAAgB;AACZK,mBAAGc,QAAH,GAAcE,kBAAkBhB,GAAGL,KAArB,CAAd;AACH;;AAEDE,mBAAOS,MAAP,CAAc,aAAd,EAA6B,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAClD,oBAAG,CAAC,CAACD,MAAL,EAAa;AACTA,2BAAOE,KAAP,GAAeF,OAAOE,KAAP,IAAgB,CAA/B;AACAF,2BAAOG,OAAP,GAAiBH,OAAOG,OAAP,IAAkB,CAAnC;AACAH,2BAAOI,OAAP,GAAiBJ,OAAOI,OAAP,IAAkB,CAAnC;AACArB,uBAAGc,QAAH,GAAcE,kBAAkBC,MAAlB,CAAd;AACH;AACJ,aAPD;AAQH,SAbD;;AAeA,iBAASF,aAAT,GAAyB;AACrBf,eAAGL,KAAH,GAAW2B,kBAAkBtB,GAAGc,QAArB,EAA+Bd,GAAGL,KAAlC,CAAX;AACAK,eAAGuB,QAAH,IAAevB,GAAGuB,QAAH,CAAY,EAAEC,QAAQxB,GAAGL,KAAb,EAAZ,CAAf;AACH;;AAED,iBAASqB,iBAAT,CAA2B7B,GAA3B,EAAgC;AAC5B,gBAAIsC,KAAK,CAAC,OAAOtC,IAAIgC,KAAJ,CAAUO,QAAV,MAAwB,CAA/B,CAAD,EAAoCtC,KAApC,CAA0C,CAAC,CAA3C,CAAT;AACA,gBAAIuC,KAAK,CAAC,OAAOxC,IAAIkC,OAAJ,CAAYK,QAAZ,MAA0B,CAAjC,CAAD,EAAsCtC,KAAtC,CAA4C,CAAC,CAA7C,CAAT;;AAEA,mBAAOqC,KAAK,GAAL,GAAWE,EAAlB;AACH;;AAED,iBAASL,iBAAT,CAA2BM,GAA3B,EAAgCzC,GAAhC,EAAqC;AACjC,gBAAI,CAACyC,GAAL,EAAU;AACN,oBAAIzC,GAAJ,EAAS;AACLA,wBAAIgC,KAAJ,GAAY1P,SAAZ;AACA0N,wBAAIkC,OAAJ,GAAc5P,SAAd;AACH,iBAHD,MAGO;AACH0N,0BAAM;AACFgC,+BAAO1P,SADL;AAEF4P,iCAAS5P;AAFP,qBAAN;AAIH;;AAED,uBAAO0N,GAAP;AACH;;AAED,gBAAI7N,QAAQsQ,IAAItQ,KAAJ,CAAU,GAAV,CAAZ;AACA,gBAAI6P,QAAQU,OAAOvQ,MAAM,CAAN,CAAP,CAAZ;AACA,gBAAI+P,UAAUQ,OAAOvQ,MAAM,CAAN,CAAP,CAAd;;AAEA,gBAAI6N,GAAJ,EAAS;AACLA,oBAAIgC,KAAJ,GAAYA,KAAZ;AACAhC,oBAAIkC,OAAJ,GAAcA,OAAd;AACH,aAHD,MAGO;AACHlC,sBAAM;AACFgC,2BAAOA,KADL;AAEFE,6BAASA;AAFP,iBAAN;AAIH;;AAED,mBAAOlC,GAAP;AACH;;AAED,iBAAS0B,QAAT,GAAoB;AAChB,gBAAIiB,MAAM,EAAV;AACA,iBAAK,IAAIpD,IAAI,CAAb,EAAgBA,KAAK,EAArB,EAAyBA,GAAzB,EAA8B;AAC1B,oBAAI+C,KAAK,CAAC,MAAM/C,EAAEgD,QAAF,EAAP,EAAqBtC,KAArB,CAA2B,CAAC,CAA5B,CAAT;;AAEA,qBAAK,IAAI2C,IAAI,CAAb,EAAgBA,IAAI,EAApB,EAAwBA,KAAK,EAA7B,EAAiC;AAC7B,wBAAIJ,KAAK,CAAC,MAAMI,EAAEL,QAAF,EAAP,EAAqBtC,KAArB,CAA2B,CAAC,CAA5B,CAAT;AACA0C,wBAAIE,IAAJ,CAASP,KAAK,GAAL,GAAWE,EAApB;AACH;AACJ;;AAED,mBAAOG,GAAP;AACH;AACJ;AACJ,CAvGD;;;ACAA,CAAC,YAAY;AACT;;AAEAtT,YAAQC,MAAR,CAAe,QAAf,EACCiN,OADD,CACS,aADT,EACwBuG,WADxB;;AAGAA,gBAAYnT,OAAZ,GAAsB,CAAC,cAAD,CAAtB;;AAEA,aAASmT,WAAT,CAAqB3C,YAArB,EAAmC;AAC/B,aAAK4C,KAAL,GAAaA,KAAb;;AAEA,iBAASA,KAAT,CAAeC,WAAf,EAA4B;AACxB,mBAAO7C,aAAapD,IAAb,CAAkB,KAAlB,EAAyBiG,WAAzB,CAAP;AACH;AACJ;AACJ,CAfD;;;ACAA,CAAC,YAAY;AACT;;AACA3T,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,qBADb,EACoC0G,mBADpC;;AAGAA,wBAAoBtT,OAApB,GAA8B,CAAC,YAAD,EAAe,WAAf,CAA9B;;AAEA,aAASsT,mBAAT,CAA6BnT,UAA7B,EAAyCE,SAAzC,EAAoD;;AAEhD,aAAKkD,IAAL,GAAYA,IAAZ;;AAEA,iBAASA,IAAT,CAAcgQ,OAAd,EAAuBC,KAAvB,EAA8B;AAC1B,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,sCAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBALW;AAHW,aAAf,CAAZ;;AAWA,mBAAOC,MAAMvE,MAAb;AACH;AACJ;AACJ,CA1BD;;;ACAA,CAAC,YAAY;AACT;;AAEAxP,YAAQC,MAAR,CAAe,QAAf,EACCiN,OADD,CACS,kBADT,EAC6BK,gBAD7B;;AAGA,aAASA,gBAAT,GAA4B;AACxB,eAAO;AACHsB,qBAASA,OADN;AAEHoF,qBAASA,OAFN;AAGHC,kBAAMA,IAHH;AAIHxE,oBAAQA;AAJL,SAAP;;AAOA;AACA,iBAASb,OAAT,CAAiBgF,OAAjB,EAA0B;AACtBM,mBAAOtF,OAAP,CAAegF,OAAf;AACH;;AAED,iBAASnE,MAAT,CAAgBmE,OAAhB,EAAyB;AACrBM,mBAAOC,KAAP,CAAaP,OAAb;AACH;AACD,iBAASI,OAAT,CAAiBJ,OAAjB,EAA0B;AACtBM,mBAAOF,OAAP,CAAeJ,OAAf;AACH;;AAED,iBAASK,IAAT,CAAcL,OAAd,EAAuB;AACnBM,mBAAOD,IAAP,CAAYL,OAAZ;AACH;AACJ;AACJ,CA9BD;;;ACEA;AACA,SAASQ,OAAT,CAAiB1T,SAAjB,EAA4B,CAG3B;;AAED,CAAC,YAAY;AACT;;AACAX,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,cADb,EAC6BoH,YAD7B;;AAGAA,iBAAahU,OAAb,GAAuB,CAAC,WAAD,CAAvB;;AAEA,aAASgU,YAAT,CAAsB3T,SAAtB,EAAiC;AAC7B,aAAKkD,IAAL,GAAY,UAAC0Q,aAAD,EAAgBC,WAAhB,EAAgC;AACxCA,0BAAcA,eAAe,EAA7B;;AAEA,mBAAO7T,UAAUkD,IAAV,CAAe;AAClB6E,gCAAc6L,aAAd,0EAAgGA,aAAhG,MADkB;AAElBxQ,4BAAY,CAAC,mBAAD,EAAsB,UAAUiQ,iBAAV,EAA6B;AAC3D,yBAAK7R,IAAL,GAAYqS,WAAZ;AACA,yBAAKC,aAAL,GAAqBT,iBAArB;AACH,iBAHW,CAFM;AAMlBhQ,8BAAc,OANI;AAOlBC,sBAAMuQ,YAAYvQ,IAAZ,IAAoB,IAPR;AAQlByQ,0BAAW,cAAcF,WAAf,GAA8BA,YAAYE,QAA1C,GAAqD,IAR7C;AASlBxQ,6BAAaqQ,aATK;AAUlBI,0BAAUH,YAAYG,QAAZ,IAAwB;AAVhB,aAAf,CAAP;AAYH,SAfD;;AAiBA,aAAKC,YAAL,GAAoB,UAACf,OAAD,EAAUW,WAAV,EAA0B;AAC1CA,0BAAcA,eAAe,EAA7B;AACA,mBAAO7T,UAAUkD,IAAV,CAAe;AAClB6E,wmCADkB;AAwBlB3E,4BAAY,CAAC,mBAAD,EAAsB,UAAUiQ,iBAAV,EAA6B;AAC3D,wBAAIxC,KAAK,IAAT;AACAA,uBAAGqD,MAAH,GAAYA,MAAZ;AACArD,uBAAGsD,OAAH,GAAaA,OAAb;AACAtD,uBAAGqC,OAAH,GAAaA,OAAb;;AAEA,6BAASiB,OAAT,GAAmB;AACfd,0CAAkBe,KAAlB,CAAwB,IAAxB;AACH;;AAED,6BAASF,MAAT,GAAkB;AACdb,0CAAkBgB,OAAlB;AACH;AACJ,iBAbW,CAxBM;AAsClBhR,8BAAc,OAtCI;AAuClBC,sBAAMuQ,YAAYvQ,IAAZ,IAAoB,IAvCR;AAwClB0Q,0BAAUH,YAAYG,QAAZ,IAAwB;AAxChB,aAAf,CAAP;AA0CH,SA5CD;;AA8CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACH;AACJ,CAvGD;;;ACRA,CAAC,YAAY;AACT;;AACA3U,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,cADb,EAC6B+H,YAD7B;;AAGAA,iBAAa3U,OAAb,GAAuB,CAAC,cAAD,CAAvB;;AAEA,aAAS2U,YAAT,CAAsBnE,YAAtB,EAAoC;;AAEhC,YAAIoE,eAAe,OAAnB;;AAEA,aAAKnE,MAAL,GAAcA,MAAd;AACA,aAAKtD,GAAL,GAAWA,GAAX;AACA,aAAKuD,MAAL,GAAcA,MAAd;AACA,aAAKmE,MAAL,GAAcA,MAAd;AACA,aAAKxH,MAAL,GAAcC,OAAd;;AAEA,iBAASmD,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiByH,eAAe,UAAhC,CAAP;AACH;;AAED,iBAASzH,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAapD,IAAb,CAAkBwH,eAAgB,OAAhB,GAA0BE,mBAAmBhP,EAAnB,CAA5C,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB7O,IAAhB,EAAsB;AAClB,mBAAO2O,aAAapD,IAAb,CAAkBwH,eAAe,SAAjC,EAA4C/S,IAA5C,CAAP;AACH;;AAED,iBAASgT,MAAT,CAAgBE,KAAhB,EAAuB;AACnB,mBAAOvE,aAAapD,IAAb,CAAkBwH,eAAgB,UAAhB,GAA6BE,mBAAmBC,MAAMjP,EAAzB,CAA/C,EAA6EiP,KAA7E,CAAP;AACH;;AAED,iBAASzH,OAAT,CAAiBzL,IAAjB,EAAuB;AACnB,mBAAO2O,aAAapD,IAAb,CAAkBwH,eAAe,SAAjC,EAA4C/S,IAA5C,CAAP;AACH;AAEJ;AACJ,CAtCD;;;ACAA,CAAC,YAAY;AACT;;AAEAnC,YACKC,MADL,CACY,QADZ,EAEKqV,SAFL,CAEe,WAFf,EAE4BC,SAF5B;;AAIAA,cAAUjV,OAAV,GAAoB,EAApB;;AAEA,aAASiV,SAAT,GAAqB;AACjB,YAAIA,YAAY;AACZC,kBAAMA,IADM;AAEZC,sBAAU,IAFE;AAGZ3R,yBAAa,kCAHD;AAIZ4R,mBAAO;AACHC,qBAAK,GADF;AAEHC,6BAAa,GAFV;AAGHC,yBAAS,UAHN;AAIHC,uBAAO,IAJJ;AAKHC,yBAAS;AALN,aAJK;AAWZhS,wBAAYA,UAXA;AAYZC,0BAAc,WAZF;AAaZgS,8BAAkB;AAbN,SAAhB;;AAgBA,eAAOT,SAAP;;AAEA;AACA,iBAASC,IAAT,CAAcE,KAAd,EAAqBO,OAArB,EAA8BC,KAA9B,EAAqCC,IAArC,EAA2C;AACvCF,oBAAQnM,IAAR,CAAa,sBAAb,EAAqC,CAArC,EAAwCsM,SAAxC,CAAkDC,GAAlD,CAAsDH,MAAMN,WAA5D;;AAEAO,iBAAKG,MAAL,GAAcL,QAAQnM,IAAR,CAAa,qBAAb,EAAoC,CAApC,CAAd;AACAqM,iBAAKI,GAAL,GAAWJ,KAAKG,MAAL,CAAYE,UAAZ,CAAuB,IAAvB,CAAX;AACH;AACJ;;AAEDzS,eAAWzD,OAAX,GAAqB,CAAC,QAAD,CAArB;;AAEA,aAASyD,UAAT,CAAoBsN,MAApB,EAA4B;AACxB,YAAIG,KAAK,IAAT;;AAEAA,WAAGiF,MAAH,GAAY,IAAZ;AACAjF,WAAGkF,OAAH,GAAa,CAAb;AACAlF,WAAGmF,SAAH,GAAe,CAAf;AACAnF,WAAGoF,aAAH,GAAmB,KAAnB;AACApF,WAAGqF,cAAH,GAAoB,IAApB;AACArF,WAAGsF,MAAH;;AAEAtF,WAAGsE,KAAH,GAAW9V,QAAQ+W,SAAR,CAAkBvF,GAAGsE,KAArB,IACLtE,GAAGsE,KADE,GAEL,CAFN;;AAIA;AACAtE,WAAGwF,UAAH,GAAgBA,UAAhB;AACAxF,WAAGyF,UAAH,GAAgBA,UAAhB;AACAzF,WAAG0F,SAAH,GAAeA,SAAf;AACA1F,WAAG2F,WAAH,GAAiBA,WAAjB;AACA3F,WAAG4F,QAAH,GAAcA,QAAd;AACA5F,WAAG6F,OAAH,GAAaA,OAAb;AACA7F,WAAG8F,MAAH,GAAYA,MAAZ;AACAC;;AAEA,iBAASA,QAAT,GAAoB;;AAEhB,gBAAI7M,OAAO,IAAI8M,IAAJ,CAAS,CAAChG,GAAGmE,GAAJ,CAAT,EAAmB;AAC1BrR,sBAAM;AADoB,aAAnB,CAAX;;AAIAkN,eAAGsF,MAAH,GAAYW,IAAIC,eAAJ,CAAoBhN,IAApB,CAAZ;;AAEAgH;AACH;;AAED,iBAASwF,SAAT,GAAqB;AACjB;AACA,gBAAIS,SAASnG,GAAGuE,OAAH,GACTvE,GAAGuE,OADM,GAERvE,GAAGmE,GAAH,YAAkBiC,WAAlB,GACG,EAAEzV,MAAMqP,GAAGmE,GAAX,EADH,GAEGnE,GAAGmE,GAAH,CAAOkC,oBAAP,EAJR;;AAOAC,kBAAMC,WAAN,CAAkBJ,MAAlB,EAA0BhJ,IAA1B,CAA+B,UAAUqJ,OAAV,EAAmB;AAC9C3G,uBAAO4G,MAAP,CAAc,YAAY;AACtBzG,uBAAGiF,MAAH,GAAYuB,OAAZ;AACAxG,uBAAGmF,SAAH,GAAenF,GAAGiF,MAAH,CAAUyB,QAAzB;;AAEA;AACAC,+BAAW3G,GAAGkF,OAAH,GAAa,CAAxB;AACH,iBAND;AAOH,aARD;AASH;;AAED,iBAASU,QAAT,GAAoB;;AAEhB,gBAAI5F,GAAGuE,OAAP,EAAgB;AACZ,oBAAIqC,MAAMzV,OAAOkB,IAAP,CAAY2N,GAAGuE,OAAf,CAAV;AACAqC,oBAAIC,KAAJ;AACH,aAHD,MAGO;AACH,oBAAI3N,OAAO,IAAI8M,IAAJ,CAAS,CAAChG,GAAGmE,GAAJ,CAAT,EAAmB;AAC1BrR,0BAAM;AADoB,iBAAnB,CAAX;;AAIA,oBAAIqE,MAAM8O,IAAIC,eAAJ,CAAoBhN,IAApB,CAAV;;AAEA,oBAAI0N,MAAMzV,OAAOkB,IAAP,CAAY8E,GAAZ,CAAV;AACAyP,oBAAIC,KAAJ;AACH;AACJ;;AAGD,iBAASlB,WAAT,GAAuB;;AAEnB,gBAAI3F,GAAGuE,OAAP,EAAgB;;AAEZ,oBAAIuC,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;AACAD,kBAAEjI,IAAF,GAASmB,GAAGuE,OAAZ;AACAuC,kBAAEE,MAAF,GAAW,QAAX;AACAF,kBAAEG,QAAF,GAAajH,GAAGqE,OAAH,IAAc,UAA3B;AACAzS,yBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;AACAA,kBAAEM,KAAF;AAEH,aATD,MASO;AACH,oBAAIlO,OAAO,IAAI8M,IAAJ,CAAS,CAAChG,GAAGmE,GAAJ,CAAT,EAAmB;AAC1BrR,0BAAM;AADoB,iBAAnB,CAAX;;AAIA,oBAAIqE,MAAM8O,IAAIC,eAAJ,CAAoBhN,IAApB,CAAV;;AAEA,oBAAI4N,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;AACAD,kBAAEjI,IAAF,GAAS1H,GAAT;AACA2P,kBAAEE,MAAF,GAAW,QAAX;AACAF,kBAAEG,QAAF,GAAajH,GAAGqE,OAAH,IAAc,UAA3B;AACAzS,yBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;AACAA,kBAAEM,KAAF;AACH;AACJ;;AAED,iBAASlH,iBAAT,GAA6B;AACzB,gBAAImH,aAAaxH,OAAOS,MAAP,CAAc,eAAd,EAA+B,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AAC1E,oBAAID,QAAJ,EACImF,YADJ,KAEK,IAAI1F,GAAG+E,GAAP,EACD/E,GAAG+E,GAAH,CAAOuC,SAAP,CAAiB,CAAjB,EAAoB,CAApB,EAAuBtH,GAAG8E,MAAH,CAAUyC,KAAjC,EAAwCvH,GAAG8E,MAAH,CAAU0C,MAAlD;AACP,aALgB,CAAjB;;AAOA,gBAAIC,aAAa5H,OAAOS,MAAP,CAAc,mBAAd,EAAmC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AAC9E,oBAAID,QAAJ,EACImF,YADJ,KAEK,IAAI1F,GAAG+E,GAAP,EACD/E,GAAG+E,GAAH,CAAOuC,SAAP,CAAiB,CAAjB,EAAoB,CAApB,EAAuBtH,GAAG8E,MAAH,CAAUyC,KAAjC,EAAwCvH,GAAG8E,MAAH,CAAU0C,MAAlD;AACP,aALgB,CAAjB;AAMH;;AAED,iBAAS3B,OAAT,GAAmB;AACf7F,eAAGsE,KAAH,GAAWtE,GAAGsE,KAAH,GAAW,GAAtB;;AAEA,gBAAItE,GAAGsE,KAAH,GAAW,GAAf,EACItE,GAAGsE,KAAH,GAAW,GAAX;;AAEJoD,4BAAgB1H,GAAGkF,OAAnB;AACH;;AAED,iBAASY,MAAT,GAAkB;AACd9F,eAAGsE,KAAH,GAAWtE,GAAGsE,KAAH,GAAW,GAAtB;AACAoD,4BAAgB1H,GAAGkF,OAAnB;AACH;;AAED;;;;AAIA,iBAASyB,UAAT,CAAoBgB,GAApB,EAAyB;AACrB3H,eAAGoF,aAAH,GAAmB,IAAnB;AACA;AACApF,eAAGiF,MAAH,CAAU2C,OAAV,CAAkBD,GAAlB,EAAuBxK,IAAvB,CAA4B,UAAU0K,IAAV,EAAgB;AACxC,oBAAIC,WAAWD,KAAKE,WAAL,CAAiB/H,GAAGsE,KAApB,CAAf;;AAEA,oBAAI0D,iBAAiBF,SAASN,MAAT,GAAkBM,SAASP,KAAhD;;AAEAvH,mBAAG8E,MAAH,CAAU0C,MAAV,GAAmBM,SAASN,MAA5B;AACAxH,mBAAG8E,MAAH,CAAUyC,KAAV,GAAkBO,SAASP,KAA3B;;AAEA;AACA,oBAAIU,gBAAgB;AAChBC,mCAAelI,GAAG+E,GADF;AAEhB+C,8BAAUA;AAFM,iBAApB;AAIA,oBAAIK,aAAaN,KAAKlQ,MAAL,CAAYsQ,aAAZ,CAAjB;;AAEA;AACAE,2BAAWjY,OAAX,CAAmBiN,IAAnB,CAAwB,YAAY;AAChC6C,uBAAGoF,aAAH,GAAmB,KAAnB;AACA,wBAAIpF,GAAGqF,cAAH,KAAsB,IAA1B,EAAgC;AAC5B;AACAsB,mCAAW3G,GAAGqF,cAAd;AACArF,2BAAGqF,cAAH,GAAoB,IAApB;AACH;AACJ,iBAPD;AAQH,aAxBD;AAyBH;;AAED;;;;AAIA,iBAASqC,eAAT,CAAyBC,GAAzB,EAA8B;AAC1B,gBAAI3H,GAAGoF,aAAP,EAAsB;AAClBpF,mBAAGqF,cAAH,GAAoBsC,GAApB;AACH,aAFD,MAEO;AACHhB,2BAAWgB,GAAX;AACH;AACJ;;AAED;;;AAGA,iBAASnC,UAAT,GAAsB;AAClB,gBAAIxF,GAAGkF,OAAH,IAAc,CAAlB,EAAqB;AACjB;AACH;AACDlF,eAAGkF,OAAH;AACAwC,4BAAgB1H,GAAGkF,OAAnB;AACH;;AAGD;;;AAGA,iBAASO,UAAT,GAAsB;AAClB,gBAAIzF,GAAGkF,OAAH,IAAclF,GAAGiF,MAAH,CAAUyB,QAA5B,EAAsC;AAClC;AACH;AACD1G,eAAGkF,OAAH;AACAwC,4BAAgB1H,GAAGkF,OAAnB;AACH;AACJ;AACJ,CA9OD;;;ACAA,CAAC,YAAY;AACb;;AACA1W,YACKC,MADL,CACY,QADZ,EAEKqV,SAFL,CAEe,WAFf,EAE4BsE,SAF5B;;AAIIA,cAAUtZ,OAAV,GAAoB,CAAC,QAAD,CAApB;;AAEA,aAASsZ,SAAT,CAAmBC,MAAnB,EAA2B;AACvB,eAAO;AACHpE,sBAAU,GADP;AAEHD,kBAAM,cAAUE,KAAV,EAAiBO,OAAjB,EAA0BC,KAA1B,EAAiC;AACnC,oBAAI/E,QAAQ0I,OAAO3D,MAAM0D,SAAb,CAAZ;AACA,oBAAIE,cAAc3I,MAAM4I,MAAxB;;AAEA9D,wBAAQ+D,IAAR,CAAa,QAAb,EAAuB,UAAU7Y,KAAV,EAAiB;AACpCuU,0BAAMuC,MAAN,CAAa,YAAY;AACrB6B,oCAAYpE,KAAZ,EAAmBvU,MAAMqX,MAAN,CAAahU,KAAb,CAAmB,CAAnB,CAAnB;AACH,qBAFD;AAGH,iBAJD;AAKH;AAXE,SAAP;AAaH;AAGJ,CAzBD;;;ACAA,CAAC,YAAY;AACT;;AACAxE,YAAQC,MAAR,CAAe,QAAf,EAAyBqV,SAAzB,CAAmC,YAAnC,EAAiD,CAC7C,QAD6C,EACnC,UADmC,EAE7C,UAAUuE,MAAV,EAAkBnZ,QAAlB,EAA4B;AACxB,eAAO;AACH+U,sBAAU,IADP;AAEHC,mBAAO,KAFJ;AAGHuE,qBAAS,IAHN;AAIHC,wBAAY,IAJT;AAKHxR,sBAAU,0CALP;AAMHyR,qBAAS,iBAAUlE,OAAV,EAAmBmE,IAAnB,EAAyBC,MAAzB,EAAiC;AACtC,uBAAO,UAAUhJ,MAAV,EAAkBC,QAAlB,EAA4B;AAC/B,wBAAIgJ,QAAJ,EAAcC,gBAAd,EAAgCC,aAAhC,EAA+CC,gBAA/C,EAAiEC,WAAjE,EAA8EC,KAA9E,EAAqFC,WAArF,EAAkGC,WAAlG,EAA+GC,OAA/G;AACAH,4BAAQ,CAACP,KAAKW,KAAL,IAAcX,KAAKY,SAAnB,IAAgCZ,KAAKa,SAAtC,EAAiDN,KAAjD,CAAuD,qDAAvD,CAAR;AACAD,kCAAcC,MAAM,CAAN,CAAd;AACAJ,uCAAmBI,MAAM,CAAN,CAAnB;AACAG,8BAAU9a,QAAQ+W,SAAR,CAAkB4D,MAAM,CAAN,CAAlB,IAA8Bd,OAAOc,MAAM,CAAN,CAAP,CAA9B,GAAiDd,OAAO,KAAKa,WAAZ,CAA3D;AACAF,oCAAgB,IAAhB;AACAK,kCAAc,EAAd;AACAJ,uCAAmB,0BAAUS,cAAV,EAA0BhR,KAA1B,EAAiC;AAChD,4BAAIiR,MAAJ;AACAA,iCAAS,EAAT;AACAA,+BAAOT,WAAP,IAAsBQ,cAAtB;AACAC,+BAAO,QAAP,IAAmBjR,KAAnB;AACA,+BAAO4Q,QAAQzJ,MAAR,EAAgB8J,MAAhB,CAAP;AACH,qBAND;AAOAb,+BAAW,kBAAUY,cAAV,EAA0BhR,KAA1B,EAAiCkR,QAAjC,EAA2C;AAClD,4BAAIC,UAAJ,EAAgBC,KAAhB;AACAA,gCAAQb,iBAAiBS,cAAjB,EAAiChR,KAAjC,CAAR;AACA,4BAAI2Q,YAAYS,KAAZ,KAAsB,IAA1B,EAAgC;AAC5B,kCAAM,6FAAN;AACH;AACDD,qCAAahK,OAAOkK,IAAP,EAAb;AACAF,mCAAWX,WAAX,IAA0BQ,cAA1B;AACAG,mCAAW,QAAX,IAAuBnR,KAAvB;AACA,+BAAOmQ,OAAOgB,UAAP,EAAmB,UAAUG,KAAV,EAAiB;AACvC,gCAAIC,SAAJ;AACAA,wCAAY;AACRP,gDAAgBA,cADR;AAERG,4CAAYA,UAFJ;AAGRpF,yCAASuF;AAHD,6BAAZ;AAKAX,wCAAYS,KAAZ,IAAqBG,SAArB;AACA,mCAAO,OAAOL,QAAP,KAAoB,UAApB,GAAiCA,SAASK,SAAT,CAAjC,GAAuD,KAAK,CAAnE;AACH,yBATM,CAAP;AAUH,qBAnBD;AAoBAb,kCAAc,qBAAUM,cAAV,EAA0BhR,KAA1B,EAAiC;AAC3C,4BAAIuR,SAAJ,EAAeH,KAAf;AACAA,gCAAQb,iBAAiBS,cAAjB,EAAiChR,KAAjC,CAAR;AACAuR,oCAAYZ,YAAYS,KAAZ,CAAZ;AACA,4BAAIG,aAAa,IAAjB,EAAuB;AACnB;AACH;AACD,+BAAOZ,YAAYS,KAAZ,CAAP;AACAG,kCAAUJ,UAAV,CAAqBK,QAArB;AACA,+BAAOD,SAAP;AACH,qBAVD;AAWA,2BAAOpK,OAAOsK,gBAAP,CAAwBpB,gBAAxB,EAA0C,UAAUqB,UAAV,EAAsBC,aAAtB,EAAqC;AAClF,4BAAIC,OAAJ,EAAaC,OAAb,EAAsBC,CAAtB,EAAyBC,mBAAzB,EAA8CC,CAA9C,EAAiDhM,CAAjD,EAAoDiM,GAApD,EAAyDC,CAAzD,EAA4DC,OAA5D,EAAqEC,MAArE,EAA6EC,MAA7E,EAAqFrT,CAArF,EAAwFsT,KAAxF,EAA+FC,QAA/F,EAAyGC,eAAzG,EAA0HC,EAA1H,EAA8HC,EAA9H,EAAkIC,EAAlI,EAAsIC,EAAtI,EAA0IC,IAA1I,EAAgJC,KAAhJ,EAAuJC,KAAvJ,EAA8JC,KAA9J;AACA,4BAAI,EAAE,CAACtB,cAAc,IAAd,GAAqBA,WAAW5Y,MAAhC,GAAyC,KAAK,CAA/C,MAAsD6Y,iBAAiB,IAAjB,GAAwBA,cAAc7Y,MAAtC,GAA+C,KAAK,CAA1G,CAAF,CAAJ,EAAqH;AACjH;AACH;AACD,4BAAIwX,iBAAiB,IAArB,EAA2B;AACvB8B,qCAAS9B,cAAcrY,IAAd,CAAmB,YAAnB,CAAT;AACA8Z,kDAAsBkB,OAAOC,IAAP,CAAYvC,WAAZ,EAAyB7X,MAA/C;AACA,gCAAI4Y,cAAc,IAAlB,EAAwB;AACpBA,6CAAa,EAAb;AACH;AACDc,8CAAkB,EAAlB;AACA,iCAAKxM,IAAIyM,KAAK,CAAT,EAAYI,OAAOnB,WAAW5Y,MAAnC,EAA2C2Z,KAAKI,IAAhD,EAAsD7M,IAAI,EAAEyM,EAA5D,EAAgE;AAC5DX,oCAAIJ,WAAW1L,CAAX,CAAJ;AACAwM,gDAAgBjC,iBAAiBuB,CAAjB,EAAoB9L,CAApB,CAAhB,IAA0C8L,CAA1C;AACH;AACDQ,oCAAS,YAAY;AACjB,oCAAII,EAAJ,EAAQI,KAAR,EAAeK,QAAf;AACAA,2CAAW,EAAX;AACA,qCAAKnN,IAAI0M,KAAK,CAAT,EAAYI,QAAQpB,WAAW5Y,MAApC,EAA4C4Z,KAAKI,KAAjD,EAAwD9M,IAAI,EAAE0M,EAA9D,EAAkE;AAC9DZ,wCAAIJ,WAAW1L,CAAX,CAAJ;AACA,wCAAI2K,YAAYJ,iBAAiBuB,CAAjB,EAAoB9L,CAApB,CAAZ,KAAuC,IAA3C,EAAiD;AAC7CmN,iDAAS7J,IAAT,CAAc;AACVvO,mDAAO+W,CADG;AAEV9R,mDAAOgG;AAFG,yCAAd;AAIH;AACJ;AACD,uCAAOmN,QAAP;AACH,6BAbO,EAAR;AAcAZ,uCAAY,YAAY;AACpB,oCAAIY,QAAJ;AACAA,2CAAW,EAAX;AACA,qCAAKnU,CAAL,IAAU2R,WAAV,EAAuB;AACnB3K,wCAAI2K,YAAY3R,CAAZ,CAAJ;AACA,wCAAIwT,gBAAgBxT,CAAhB,KAAsB,IAA1B,EAAgC;AAC5BmU,iDAAS7J,IAAT,CAActD,EAAEgL,cAAhB;AACH;AACJ;AACD,uCAAOmC,QAAP;AACH,6BAVU,EAAX;AAWA,gCAAKb,MAAMxZ,MAAN,KAAiB,CAAjB,IAAsByZ,SAASzZ,MAAT,KAAoB,CAA3C,IAAiDwZ,MAAMxZ,MAAN,KAAiB,CAAtE,EAAyE;AACrE,qCAAK4Z,KAAK,CAAL,EAAQI,QAAQP,SAASzZ,MAA9B,EAAsC4Z,KAAKI,KAA3C,EAAkDJ,IAAlD,EAAwD;AACpDV,wCAAIO,SAASG,EAAT,CAAJ;AACAV,wCAAItB,YAAYsB,CAAZ,EAAeN,WAAW0B,OAAX,CAAmBpB,CAAnB,CAAf,CAAJ;AACA,wCAAIA,CAAJ,EAAO;AACHI,+CAAO1B,WAAP,CAAmBsB,EAAEjG,OAArB;AACH;AACJ;AACD,qCAAK4G,KAAK,CAAL,EAAQI,QAAQT,MAAMxZ,MAA3B,EAAmC6Z,KAAKI,KAAxC,EAA+CJ,IAA/C,EAAqD;AACjDX,wCAAIM,MAAMK,EAAN,CAAJ;AACAV,0CAAMD,EAAEhS,KAAR;AACAoQ,6CAAS4B,EAAEjX,KAAX,EAAkBkX,GAAlB,EAAuB,UAAU/X,IAAV,EAAgB;AACnC,4CAAI+X,QAAQF,mBAAZ,EAAiC;AAC7BE,kDAAM,KAAK,CAAX;AACH;AACD,+CAAO9K,OAAOkM,UAAP,CAAkB,YAAY;AACjC,mDAAOjB,OAAOhC,QAAP,CAAgBlW,KAAK6R,OAArB,EAA8BkG,GAA9B,CAAP;AACH,yCAFM,CAAP;AAGH,qCAPD;AAQH;AACD;AACH;AACJ;AACDtB,sCAAc,EAAd;AACA,4BAAIL,iBAAiB,IAArB,EAA2B;AACvBA,0CAAczQ,MAAd;AACH;AACDwS,iCAASvc,QAAQiW,OAAR,CAAgB,0BAAhB,CAAT;AACAuE,wCAAgBxa,QAAQiW,OAAR,CAAgB,gCAAhB,CAAhB;AACAuE,sCAAc3Q,MAAd,CAAqB0S,MAArB;AACAjL,iCAASzH,MAAT,CAAgB2Q,aAAhB;AACA,6BAAKtK,IAAI4M,KAAK,CAAT,EAAYI,QAAQtB,WAAW5Y,MAApC,EAA4C8Z,KAAKI,KAAjD,EAAwDhN,IAAI,EAAE4M,EAA9D,EAAkE;AAC9Dd,gCAAIJ,WAAW1L,CAAX,CAAJ;AACAoK,qCAAS0B,CAAT,EAAY9L,CAAZ,EAAe,UAAU9L,IAAV,EAAgB;AAC3B,uCAAOmY,OAAO1S,MAAP,CAAczF,KAAK6R,OAAnB,CAAP;AACH,6BAFD;AAGH;AACDoG,kCAAU,EAAV;AACA,6BAAKP,OAAL,IAAgB1B,IAAhB,EAAsB;AAClB2B,sCAAU3B,KAAK0B,OAAL,CAAV;AACA,gCAAIA,QAAQwB,OAAR,CAAgB,GAAhB,MAAyB,CAA7B,EAAgC;AAC5B;AACH;AACD,gCAAI,CAACE,MAAMpB,IAAIzX,SAASoX,OAAT,CAAV,CAAL,EAAmC;AAC/BM,wCAAQP,OAAR,IAAmBM,CAAnB;AACA;AACH;AACD,gCAAIL,YAAY,OAAZ,IAAuBA,YAAY,MAAvC,EAA+C;AAC3CM,wCAAQP,OAAR,IAAmBC,YAAY,MAA/B;AACA;AACH;AACD,gCAAID,YAAY,OAAZ,IAAuBA,YAAY,QAAnC,IAA+CA,YAAY,OAA3D,IAAsEA,YAAY,KAAlF,IAA2FA,YAAY,OAAvG,IAAkHA,YAAY,SAAlI,EAA6I;AACzIO,wCAAQP,OAAR,IAAoB,UAAUC,OAAV,EAAmB;AACnC,wCAAI0B,CAAJ;AACAA,wCAAI5D,OAAOkC,OAAP,CAAJ;AACA,2CAAO,UAAUO,MAAV,EAAkB;AACrB,+CAAOjL,OAAO4G,MAAP,CAAc,YAAY;AAC7B,mDAAOwF,EAAEpM,MAAF,EAAU;AACb,2DAAW;AACP4E,6DAASqG;AADF;AADE,6CAAV,CAAP;AAKH,yCANM,CAAP;AAOH,qCARD;AASH,iCAZkB,CAYhBP,OAZgB,CAAnB;AAaA;AACH;AACD,gCAAID,YAAY,SAAhB,EAA2B;AACvBO,wCAAQP,OAAR,IAAmBjC,OAAOkC,OAAP,EAAgB1K,MAAhB,CAAnB;AACA;AACH;AACDgL,oCAAQP,OAAR,IAAmBC,OAAnB;AACH;AACD,4BAAI,CAACM,QAAQqB,QAAT,IAAqBtD,KAAKhU,EAA9B,EAAkC;AAC9BiW,oCAAQqB,QAAR,GAAmB,KAAKtD,KAAKhU,EAAV,GAAe,SAAlC;AACH;AACD,4BAAIiW,QAAQqB,QAAZ,EAAsB;AAClBlD,0CAAcJ,IAAd,CAAmB,IAAnB,EAAyBiC,QAAQqB,QAAjC;AACH;AACD,+BAAOhd,SAAU,YAAY;AACzB,mCAAO8Z,cAAcmD,UAAd,CAAyBtB,OAAzB,CAAP;AACH,yBAFM,EAEH,CAFG,CAAP;AAGH,qBA3HM,CAAP;AA4HH,iBA1KD;AA2KH;AAlLE,SAAP;AAoLH,KAvL4C,CAAjD;AA0LH,CA5LD,EA4LGuB,IA5LH;;;ACAA,CAAC,YAAY;AACT;;AACA5d,YACKC,MADL,CACY,QADZ,EAEKqV,SAFL,CAEe,WAFf,EAE4BuI,SAF5B;;AAIAA,cAAUvd,OAAV,GAAoB,EAApB;;AAEA,aAASud,SAAT,GAAqB;AACjB,eAAO;AACHpI,sBAAU,GADP;AAEHC,mBAAO;AACHvE,uBAAO,UADJ;AAEH2M,4BAAY;AAFT,aAFJ;AAMHtI,kBAAM,cAAUE,KAAV,EAAiBO,OAAjB,EAA0BC,KAA1B,EAAiC;;AAEnCD,wBAAQ8H,SAAR,CAAkB;AACdC,2BAAO,SADO;AAEdF,gCAAYpI,MAAMoI,UAAN,IAAoB,KAFlB;AAGdG,oCAAgB,GAHF;AAIdC,+BAAW,KAJG;AAKdC,4BAAQ,CALM;AAMdC,oCAAgB,KANF;AAOdC,iCAAa,MAPC;AAQdC,mCAAe,EARD;AASdC,gCAAY;AATE,iBAAlB;;AAYA,oBAAI7I,MAAMvE,KAAN,KAAgBlO,SAAhB,IAA6ByS,MAAMvE,KAAN,KAAgB,EAAjD,EACI8E,QAAQuI,GAAR,CAAY9I,MAAMvE,KAAlB;;AAEJ8E,wBAAQ+D,IAAR,CAAa,OAAb,EAAsB,YAAY;AAC9BtE,0BAAMvE,KAAN,GAAchO,EAAE,IAAF,EAAQqb,GAAR,EAAd;AACH,iBAFD;AAGH;AA1BE,SAAP;AA4BH;AAGJ,CAxCD;ACAA;AACA;;AACAze,IAAIe,YAAJ,GAAmB,YAAY;AAC3B,WAAO,EAAP;AAGH,CAJD;;;ACFA,CAAC,YAAY;AACT;AACA;;AACA+H,QAAIC,MAAJ,CAAW,kBAAX,EAA+B,YAAY;;AAEvC,YAAI2V,uBAAuB,oBAA3B;;AAEA;AACA,YAAIjL,OAAO,SAAPA,IAAO,CAAUlK,OAAV,EAAmB;AAC1BoV,kBAAMC,IAAN,CAAWF,oBAAX,EAAiCnV,OAAjC;AACH,SAFD;;AAIA,YAAIS,SAAS,SAATA,MAAS,CAAU3D,EAAV,EAAc;AACvBsY,kBAAME,iBAAN,CAAwBH,oBAAxB,EAA8C,UAAUI,GAAV,EAAe;AAAE,uBAAOA,IAAIjV,IAAJ,IAAYxD,EAAnB;AAAuB,aAAtF;AACH,SAFD;;AAIA,YAAI0Y,WAAW,SAAXA,QAAW,GAAY;AACvBJ,kBAAMK,EAAN,CAASN,oBAAT;AACH,SAFD;;AAIA;AACA,iBAAS1N,MAAT,GAAkB;AACd,gBAAIiO,MAAMN,MAAMO,QAAN,CAAeR,oBAAf,CAAV;;AAEAtb,cAAE8G,IAAF,CAAO+U,GAAP,EAAY,UAAU9U,KAAV,EAAiB9F,IAAjB,EAAuB;AAC/BA,qBAAKgB,IAAL,GAAY,IAAZ;AACH,aAFD;;AAIA,mBAAO4Z,GAAP;AACH;;AAED,YAAIE,MAAM,SAANA,GAAM,CAAUza,QAAV,EAAoB;AAC1Bia,kBAAMQ,GAAN,CAAUT,oBAAV,EAAgCha,QAAhC;AACH,SAFD;;AAIA,eAAO;AACH+O,kBAAMA,IADH;AAEHzC,oBAAQA,MAFL;AAGHhH,oBAAQA,MAHL;AAIH+U,sBAAUA,QAJP;AAKHI,iBAAKA;AALF,SAAP;AAOH,KAvCD;AAwCH,CA3CD;;;ACAA,CAAC,YAAY;AACT;AACA;;AACArW,QAAIC,MAAJ,CAAW,eAAX,EAA4B,YAAY;;AAEpC,YAAIqW,oBAAoB,iBAAxB;;AAEA;AACA,YAAI3L,OAAO,SAAPA,IAAO,CAAU9I,IAAV,EAAgB;AACvBgU,kBAAMC,IAAN,CAAWQ,iBAAX,EAA8BzU,IAA9B;AACH,SAFD;;AAIA,YAAIX,SAAS,SAATA,MAAS,CAAU3D,EAAV,EAAc;AACvBsY,kBAAME,iBAAN,CAAwBO,iBAAxB,EAA2C,UAAUN,GAAV,EAAe;AAAE,uBAAOA,IAAIjV,IAAJ,IAAYxD,EAAnB;AAAuB,aAAnF;AACH,SAFD;;AAIA,YAAI0Y,WAAW,SAAXA,QAAW,GAAY;AACvBJ,kBAAMK,EAAN,CAASI,iBAAT;AACH,SAFD;;AAIA;AACA,iBAASpO,MAAT,GAAkB;AACd,gBAAIiO,MAAMN,MAAMO,QAAN,CAAeE,iBAAf,CAAV;;AAEAhc,cAAE8G,IAAF,CAAO+U,GAAP,EAAY,UAAU9U,KAAV,EAAiB9F,IAAjB,EAAuB;AAC/BA,qBAAKgB,IAAL,GAAY,IAAZ;AACH,aAFD;;AAIA,mBAAO4Z,GAAP;AACH;;AAED,YAAIE,MAAM,SAANA,GAAM,CAAU1a,KAAV,EAAiB;AACvBka,kBAAMQ,GAAN,CAAUC,iBAAV,EAA6B3a,KAA7B;AACH,SAFD;;AAIA,eAAO;AACHgP,kBAAMA,IADH;AAEHzC,oBAAQA,MAFL;AAGHhH,oBAAQA,MAHL;AAIH+U,sBAAUA,QAJP;AAKHI,iBAAKA;AALF,SAAP;AAOH,KAvCD;AAwCH,CA3CD;;;ACAA,CAAC,YAAY;AACT;AACA;;AACArW,QAAIC,MAAJ,CAAW,sCAAX,EAAmDsW,iCAAnD;;AAEA,aAASA,iCAAT,GAA6C;;AAEzC;AACA,YAAIC,yCAAyC,iBAA7C;;AAEA,iBAAS7L,IAAT,CAAc9I,IAAd,EAAoB;AAChBgU,kBAAMC,IAAN,CAAWU,sCAAX,EAAmD3U,IAAnD;AACH;;AAED,iBAASX,MAAT,CAAgB3D,EAAhB,EAAoB;AAChBsY,kBAAME,iBAAN,CAAwBS,sCAAxB,EAAgE,UAAUR,GAAV,EAAe;AAAE,uBAAOA,IAAIjV,IAAJ,IAAYxD,EAAnB;AAAuB,aAAxG;AACH;;AAED,iBAAS0Y,QAAT,GAAoB;AAChBJ,kBAAMK,EAAN,CAASM,sCAAT;AACH;;AAED,iBAAStO,MAAT,GAAkB;AACd,mBAAO2N,MAAMO,QAAN,CAAeI,sCAAf,CAAP;AACH;;AAED,eAAO;AACH7L,kBAAMA,IADH;AAEHzC,oBAAQA,MAFL;AAGHhH,oBAAQA,MAHL;AAIH+U,sBAAUA;AAJP,SAAP;AAMH;AACJ,CAjCD;;;ACAA,CAAC,YAAY;AACT;AACA;;AACAjW,QAAIC,MAAJ,CAAW,iBAAX,EAA8B,CAAC,YAAD,CAA9B,EAA8C,UAAUwW,IAAV,EAAgB;;AAE1D,YAAIrR,UAAU,UAAd;;AAEA;AACA,YAAIR,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADb,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI2K,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIsR,iBAAiB,SAAjBA,cAAiB,GAAY;AAC7B,mBAAOD,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI+C,SAAS,SAATA,MAAS,CAAUwO,UAAV,EAAsB;AAC/B,mBAAOF,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMqd;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI5R,UAAU,SAAVA,OAAU,CAAUzL,IAAV,EAAgB;AAC1B,mBAAOmd,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMA;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIgT,SAAS,SAATA,MAAS,CAAU/K,OAAV,EAAmB;AAC5B,mBAAOkV,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBhL,QAAQhE,EAA3B,CADf;AAEbjE,sBAAMiI;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIsJ,QAAQ,SAARA,KAAQ,CAAU+L,QAAV,EAAoBC,QAApB,EAA8B;AACtC,mBAAOJ,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,gBADQ;AAEbxG,sBACI;AACIsd,8BAAUA,QADd;AAEIC,8BAAUA;AAFd;AAHS,aAAV,CAAP;AAQH,SATD;;AAWA,YAAIC,gCAAgC,SAAhCA,6BAAgC,CAAUxd,IAAV,EAAgB;AAChD,mBAAOmd,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,oBAAoBxG,KAAKyd,SAAzB,GAAoC,YAD5B;AAEbzd,sBAAMA;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAI0d,mBAAmB,SAAnBA,gBAAmB,CAAUC,KAAV,EAAiB;AACpC,mBAAOR,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,0BAA0ByM,mBAAmB0K,KAAnB,CADlB;AAEb3d,sBAAM2d;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,iBAAiB,wBAAUA,eAAV,EAA0B;AAC3C,mBAAOT,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,kBADQ;AAEbxG,sBAAM4d;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,sBAAsB,SAAtBA,mBAAsB,CAAUC,QAAV,EAAoB;AAC1C,mBAAOX,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,WADQ;AAEbxG,sBAAM8d;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,kBAAkB,SAAlBA,eAAkB,CAAUC,IAAV,EAAgB;AAClC,mBAAOb,KAAK7R,GAAL,CAAS;AACZ9E,qBAAK,yCAAyCyM,mBAAmB+K,IAAnB;AADlC,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIC,iBAAiB,SAAjBA,cAAiB,CAAUH,QAAV,EAAoB;AACrC,mBAAOX,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,eADF;AAEb9L,sBAAM8d;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAII,cAAc,SAAdA,WAAc,GAAY;AAC1B,mBAAOf,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHiS,6BAAiBA,eADd;AAEHF,iCAAqBA,mBAFlB;AAGHD,4BAAgBA,cAHb;AAIHK,4BAAgBA,cAJb;AAKH3S,iBAAKA,GALF;AAMHsD,oBAAQA,MANL;AAOHC,oBAAQA,MAPL;AAQHrD,oBAAQC,OARL;AASHuH,oBAAQA,MATL;AAUHzB,mBAAOA,KAVJ;AAWHiM,2CAA+BA,6BAX5B;AAYHE,8BAAkBA,gBAZf;AAaHN,4BAAgBA,cAbb;AAcHc,yBAAaA;AAdV,SAAP;AAgBH,KAhID;AAiIH,CApID,EAoIGtgB,GApIH;;;ACAA,CAAC,YAAY;AACT;AACA;;AACA8I,QAAIC,MAAJ,CAAW,yBAAX,EAAsC,CAAC,YAAD,CAAtC,EAAsD,UAAUwW,IAAV,EAAgB;;AAElE,YAAIrR,UAAU,mBAAd;;AAEA,YAAIqS,yBAAyB,SAAzBA,sBAAyB,CAAUV,SAAV,EAAqB;AAC9C,mBAAON,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,GAAV,GAAgBmH,mBAAmBwK,SAAnB,CAAhB,GAAgD;AADzC,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHU,oCAAwBA;AADrB,SAAP;AAGH,KAbD;AAcH,CAjBD,EAiBGvgB,GAjBH;ACAA;;AACA,CAAC,YAAY;AACT;AACA8I,QAAIC,MAAJ,CAAW,gBAAX,EAA6B,CAAC,YAAD,CAA7B,EAA6C,UAAUwW,IAAV,EAAgB;;AAEzD,YAAIrR,UAAU,SAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,CAAUwP,SAAV,EAAqBC,YAArB,EAAmC;AAC5C,mBAAOlB,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,UADH;AAEZ9L,sBAAM,EAACoe,WAAWA,SAAZ,EAAuBC,cAAcA,YAArC;AAFM,aAAT,CAAP;AAIH,SALD;;AAOA;AACA,YAAI/S,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,GAAV,GAAgBmH,mBAAmBhP,EAAnB;AADT,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI4K,SAAS,SAATA,MAAS,CAAUyP,SAAV,EAAqB;AAC9B,mBAAOnB,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMse;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI7S,UAAU,SAAVA,OAAU,CAAUxH,EAAV,EAAc;AACxB,mBAAOkZ,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMiE;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI+O,SAAS,SAATA,MAAS,CAAUuL,MAAV,EAAkB;AAC3B,mBAAOpB,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBsL,OAAOta,EAA1B,CADf;AAEbjE,sBAAMue;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAIC,gBAAgB,SAAhBA,aAAgB,CAASva,EAAT,EAAa;AAC7B,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,GAAV,GAAgBmH,mBAAmBhP,EAAnB,CAAhB,GAAyC;AADlC,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHqH,iBAAKA,GADF;AAEHsD,oBAAQA,MAFL;AAGHC,oBAAQA,MAHL;AAIHrD,oBAAQC,OAJL;AAKHuH,oBAAQA,MALL;AAMHwL,2BAAeA;AANZ,SAAP;AAQH,KAzDD;AA0DH,CA5DD,EA4DG5gB,GA5DH;;;ACDA,CAAC,YAAY;AACT;;AACA8I,QAAIC,MAAJ,CAAW,iBAAX,EAA8B,CAAC,YAAD,CAA9B,EAA8C8X,eAA9C;;AAEA,aAASA,eAAT,CAAyBtB,IAAzB,EAA+B;;AAE3B;AACA,YAAIuB,eAAe,SAAfA,YAAe,CAAUC,OAAV,EAAmB;AAClC,mBAAOxB,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,+BADQ;AAEbxG,sBAAM2e;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,iBAAiB,SAAjBA,cAAiB,CAAUC,IAAV,EAAgB;AACjC,mBAAO1B,KAAK7R,GAAL,CAAS;AACZ9E,qBAAK,qCAAqCyM,mBAAmB4L,IAAnB;AAD9B,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIC,WAAW,SAAXA,QAAW,CAAUC,gBAAV,EAA4B;AACvC,mBAAO5B,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,4BADQ;AAEbxG,sBAAM+e;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,WAAW,SAAXA,QAAW,GAAY;AACvB,mBAAO7B,KAAK7R,GAAL,CAAS;AACZ9E,qBAAK;AADO,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHwY,sBAAUA,QADP;AAEHN,0BAAcA,YAFX;AAGHI,sBAAUA,QAHP;AAIHF,4BAAgBA;AAJb,SAAP;AAMH;AACJ,CA3CD;ACAA;;AACA,CAAC,YAAY;AACT;AACAlY,QAAIC,MAAJ,CAAW,iBAAX,EAA8B,CAAC,YAAD,CAA9B,EAA8C,UAAUwW,IAAV,EAAgB;;AAE1D,YAAIrR,UAAU,UAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIR,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADb,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHqH,iBAAKA,GADF;AAEHsD,oBAAQA;AAFL,SAAP;AAIH,KAtBD;AAuBH,CAzBD,EAyBGhR,GAzBH;;;ACDA,CAAC,YAAY;AACT;;AACA8I,QAAIC,MAAJ,CAAW,gBAAX,EAA6B,CAAC,YAAD,CAA7B,EAA6C8D,cAA7C;;AAEA;AACA,aAASA,cAAT,CAAwB0S,IAAxB,EAA8B;;AAE1B,YAAIrR,UAAU,UAAd;;AAEA;AACA,YAAInB,SAAS,SAATA,MAAS,CAAU1G,EAAV,EAAc;AACvB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBhP,EAAnB;AADhB,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACH0G,oBAAQA;AADL,SAAP;AAGH;AACJ,CApBD,EAoBG/M,GApBH;ACAA;;AACA,CAAC,YAAY;AACT;AACA8I,QAAIC,MAAJ,CAAW,kBAAX,EAA+B,CAAC,YAAD,CAA/B,EAA+C,UAAUwW,IAAV,EAAgB;;AAE3D,YAAIrR,UAAU,WAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACH8C,oBAAQA;AADL,SAAP;AAGH,KAdD;AAeH,CAjBD,EAiBGhR,GAjBH;ACDA;;AACA,CAAC,YAAW;AACR;AACA8I,QAAIC,MAAJ,CAAW,iBAAX,EACI,CAAC,YAAD,CADJ,EAEI,UAASwW,IAAT,EAAe;;AAEX;AACA,YAAIrR,UAAU,WAAd;;AAEA;AACA,YAAIR,MAAM,SAANA,GAAM,CAASrH,EAAT,EAAa;AACnB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADb,aAAT,CAAP;AAGH,SAJD;;AAMA,YAAIgb,YAAY,SAAZA,SAAY,CAASb,SAAT,EAAoB;AAChC,mBAAOjB,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,cAAV,GAA2BmH,mBAAmBmL,SAAnB;AADpB,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIvP,SAAS,SAATA,MAAS,CAAStF,OAAT,EAAkB;AAC3B,mBAAO4T,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMuJ;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIkC,UAAU,SAAVA,OAAU,CAASxH,EAAT,EAAa;AACvB,mBAAOkZ,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAM;AACFiE,wBAAIA;AADF;AAFO,aAAV,CAAP;AAMH,SAPD;;AASA;AACA,YAAI+O,SAAS,SAATA,MAAS,CAASzJ,OAAT,EAAkB;AAC3B,mBAAO4T,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmB1J,QAAQtF,EAA3B,CADf;AAEbjE,sBAAMuJ;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIrC,aAAa,SAAbA,UAAa,CAASC,OAAT,EAAkB;AAC/B,mBAAOgW,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,eAAV,GAA4BmH,mBAAmB9L,QAAQiX,SAA3B,CADpB;AAEbpe,sBAAMmH;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAI+X,SAAS,SAATA,MAAS,CAASC,WAAT,EAAsB;AAC/B,mBAAOhC,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,UADH;AAEZ9L,sBAAMmf;AAFM,aAAT,CAAP;AAIH,SALD;;AAQA;AACA,YAAIC,oBAAoB,SAApBA,iBAAoB,CAAShW,MAAT,EAAiB;AACrC,mBAAO+T,KAAKzR,GAAL,CAAS;AACZlF,qBAAKsF,UAAU,qBAAV,GAAkCmH,mBAAmB7J,OAAOnF,EAA1B,CAD3B;AAEZjE,sBAAMoJ;AAFM,aAAT,CAAP;AAIH,SALD;;AAOA,YAAIiW,yBAAyB,SAAzBA,sBAAyB,CAASC,MAAT,EAAiB;AAC1C,mBAAOnC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,wBADF;AAEb9L,sBAAMsf;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAIC,cAAc,SAAdA,WAAc,CAASD,MAAT,EAAiB;AAC/B,mBAAOnC,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBqM,MAAnB;AADhB,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHzQ,oBAAQA,MADL;AAEH3H,wBAAYA,UAFT;AAGHoE,iBAAKA,GAHF;AAIH0H,oBAAQA,MAJL;AAKHxH,oBAAQC,OALL;AAMH2T,+BAAmBA,iBANhB;AAOHH,uBAAWA,SAPR;AAQHI,oCAAwBA,sBARrB;AASHE,yBAAaA;AATV,SAAP;AAWH,KA9FL;AAgGH,CAlGD,EAkGG3hB,GAlGH;ACDA;;AACA,CAAC,YAAY;AACT;AACA8I,QAAIC,MAAJ,CAAW,eAAX,EAA4B,CAAC,YAAD,CAA5B,EAA4C,UAAUwW,IAAV,EAAgB;;AAExD;AACA,YAAIrR,UAAU,QAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIR,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADb,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI4K,SAAS,SAATA,MAAS,CAAU2Q,KAAV,EAAiB;AAC1B,mBAAOrC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMwf;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI/T,UAAU,SAAVA,OAAU,CAAU+T,KAAV,EAAiB;AAC3B,mBAAOrC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMwf;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIxM,SAAS,SAATA,MAAS,CAAUwM,KAAV,EAAiB;AAC1B,mBAAOrC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBuM,MAAMvb,EAAzB,CADf;AAEbjE,sBAAMwf;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,mBAAmB,SAAnBA,gBAAmB,CAAUxb,EAAV,EAAc;AACjC,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,sBAAV,GAAmCmH,mBAAmBhP,EAAnB;AAD5B,aAAT,CAAP;AAGH,SAJD;;AAMA,YAAIyb,sBAAsB,SAAtBA,mBAAsB,CAAUC,aAAV,EAAyB;AAC/C,mBAAOxC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,wBADF;AAEb9L,sBAAM2f;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,eAAO;AACH9Q,oBAAQA,MADL;AAEHrD,oBAAQC,OAFL;AAGHuH,oBAAQA,MAHL;AAIHpE,oBAAQA,MAJL;AAKHtD,iBAAKA,GALF;AAMHmU,8BAAkBA,gBANf;AAOHC,iCAAqBA;AAPlB,SAAP;AASH,KAlED;AAoEH,CAtED,EAsEG9hB,GAtEH;;;ACDA,CAAC,YAAY;AACT;;AACA8I,QAAIC,MAAJ,CAAW,sBAAX,EAAmC,CAAC,YAAD,CAAnC,EAAmDiZ,oBAAnD;;AAEA;AACA,aAASA,oBAAT,CAA8BzC,IAA9B,EAAoC;;AAEhC,YAAIrR,UAAU,eAAd;;AAEA;AACA,YAAI+T,uBAAuB,SAAvBA,oBAAuB,CAAU3I,IAAV,EAAgB4I,WAAhB,EAA6B;AACpD,mBAAO3C,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,YAAV,GAAyBmH,mBAAmBiE,IAAnB,CAAzB,GAAoD,eAApD,GAAsEjE,mBAAmB6M,WAAnB;AAD/D,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHD,kCAAsBA;AADnB,SAAP;AAGH;AACJ,CApBD;ACAA;;AACA,CAAC,YAAY;AACTnZ,QAAIC,MAAJ,CAAW,uBAAX,EAAoC,CAAC,YAAD,CAApC,EAAoD,UAAUwW,IAAV,EAAgB;;AAEhE;AACA,YAAIrR,UAAU,gBAAd;;AAEA;AACA,YAAIL,UAAU,SAAVA,OAAU,CAAUsU,aAAV,EAAyB;AACnC,mBAAO5C,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAM+f;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIlR,SAAS,SAATA,MAAS,CAAUmR,UAAV,EAAsB;AAC/B,mBAAO7C,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMggB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIhN,SAAS,SAATA,MAAS,CAAU+M,aAAV,EAAyB;AAClC,mBAAO5C,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmB8M,cAAc9b,EAAjC,CADf;AAEbjE,sBAAM+f;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAInR,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHN,oBAAQC,OADL;AAEHoD,oBAAQA,MAFL;AAGHmE,oBAAQA,MAHL;AAIHpE,oBAAQA;AAJL,SAAP;AAMH,KA1CD;AA2CH,CA5CD,EA4CGhR,GA5CH;;;ACDA,CAAC,YAAY;AACT;;AACA8I,QAAIC,MAAJ,CAAW,iBAAX,EAA8B,CAAC,YAAD,CAA9B,EAA8CsZ,eAA9C;;AAEA,aAASA,eAAT,CAAyB9C,IAAzB,EAA+B;;AAE3B;AACA,YAAItO,SAAS,SAATA,MAAS,CAAUqR,OAAV,EAAmB;AAC5B,mBAAO/C,KAAK5R,IAAL,CAAU;AACb/E,qBAAK,iBADQ;AAEbxG,sBAAMkgB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,eAAO;AACHrR,oBAAOA;AADJ,SAAP;AAGH;AACJ,CAlBD;ACAA;;AACA,CAAC,YAAY;AACT;AACAnI,QAAIC,MAAJ,CAAW,iBAAX,EAA8B,CAAC,YAAD,CAA9B,EAA8C,UAAUwW,IAAV,EAAgB;;AAE1D;AACA,YAAIrR,UAAU,UAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIqU,UAAU,SAAVA,OAAU,CAAUlc,EAAV,EAAc;AACxB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,YAAV,GAAyBmH,mBAAmBhP,EAAnB;AADlB,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIqH,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADb,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI4K,SAAS,SAATA,MAAS,CAAUuR,UAAV,EAAsB;AAC/B,mBAAOjD,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMogB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI3U,UAAU,SAAVA,OAAU,CAAU4U,OAAV,EAAmB;AAC7B,mBAAOlD,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMqgB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIrN,SAAS,SAATA,MAAS,CAAUqN,OAAV,EAAmB;AAC5B,mBAAOlD,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBoN,QAAQpc,EAA3B,CADf;AAEbjE,sBAAMqgB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,eAAO;AACHxR,oBAAQA,MADL;AAEHrD,oBAAQC,OAFL;AAGHuH,oBAAQA,MAHL;AAIHpE,oBAAQA,MAJL;AAKHuR,qBAASA,OALN;AAMH7U,iBAAKA;AANF,SAAP;AAQH,KA1DD;AA4DH,CA9DD,EA8DG1N,GA9DH;ACDA;;AACA,CAAC,YAAY;AACT;AACAA,QAAI0iB,YAAJ,GAAmB,YAAY;;AAE3B;AACA,YAAIxU,UAAU,OAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAO2R,eAAejV,GAAf,CAAmB;AACtB9E,qBAAKsF,UAAU;AADO,aAAnB,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIR,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOsc,eAAejV,GAAf,CAAmB;AACtB9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADH,aAAnB,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI4K,SAAS,SAATA,MAAS,CAAU2R,OAAV,EAAmB;AAC5B,mBAAOD,eAAehV,IAAf,CAAoB;AACvB/E,qBAAKsF,UAAU,SADQ;AAEvB9L,sBAAMwgB;AAFiB,aAApB,CAAP;AAIH,SALD;;AAOA;AACA,YAAI/U,UAAU,SAAVA,OAAU,CAAUgV,IAAV,EAAgB;AAC1B,mBAAOF,eAAe/U,MAAf,CAAsB;AACzBhF,qBAAKsF,UAAU,SADU;AAEzB9L,sBAAMygB;AAFmB,aAAtB,CAAP;AAIH,SALD;;AAOA;AACA,YAAIzN,SAAS,SAATA,MAAS,CAAUyN,IAAV,EAAgB;AACzB,mBAAOF,eAAe7U,GAAf,CAAmB;AACtBlF,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBwN,KAAKxc,EAAxB,CADN;AAEtBjE,sBAAMygB;AAFgB,aAAnB,CAAP;AAIH,SALD;;AAOA,eAAO;AACH5R,oBAAQA,MADL;AAEHrD,oBAAQC,OAFL;AAGHuH,oBAAQA,MAHL;AAIHpE,oBAAQA,MAJL;AAKHtD,iBAAKA;AALF,SAAP;AAOH,KAlDD;AAoDH,CAtDD,EAsDG1N,GAtDH;ACDA;;AACA,CAAC,YAAY;AACT;AACAA,QAAI8iB,wBAAJ,GAA+B,YAAY;;AAEvC;AACA,YAAI5U,UAAU,oBAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAO2R,eAAejV,GAAf,CAAmB;AACtB9E,qBAAKsF,UAAU;AADO,aAAnB,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIR,MAAM,SAANA,GAAM,CAAUrH,EAAV,EAAc;AACpB,mBAAOsc,eAAejV,GAAf,CAAmB;AACtB9E,qBAAKsF,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB;AADH,aAAnB,CAAP;AAGH,SAJD;;AAMA;AACA,YAAI4K,SAAS,SAATA,MAAS,CAAU8R,mBAAV,EAA+B;AACxC,mBAAOJ,eAAehV,IAAf,CAAoB;AACvB/E,qBAAKsF,UAAU,SADQ;AAEvB9L,sBAAM2gB;AAFiB,aAApB,CAAP;AAIH,SALD;;AAOA;AACA,YAAIlV,UAAU,SAAVA,OAAU,CAAUmV,gBAAV,EAA4B;AACtC,mBAAOL,eAAe/U,MAAf,CAAsB;AACzBhF,qBAAKsF,UAAU,SADU;AAEzB9L,sBAAM4gB;AAFmB,aAAtB,CAAP;AAIH,SALD;;AAOA;AACA,YAAI5N,SAAS,SAATA,MAAS,CAAU4N,gBAAV,EAA4B;AACrC,mBAAOL,eAAe7U,GAAf,CAAmB;AACtBlF,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmB2N,iBAAiB3c,EAApC,CADN;AAEtBjE,sBAAM4gB;AAFgB,aAAnB,CAAP;AAIH,SALD;;AAOA,eAAO;AACH/R,oBAAQA,MADL;AAEHrD,oBAAQC,OAFL;AAGHuH,oBAAQA,MAHL;AAIHpE,oBAAQA,MAJL;AAKHtD,iBAAKA;AALF,SAAP;AAOH,KAlDD;AAoDH,CAtDD,EAsDG1N,GAtDH;ACDA;;AACA,CAAC,YAAY;AACT8I,QAAIC,MAAJ,CAAW,iBAAX,EAA8B,CAAC,YAAD,CAA9B,EAA8C,UAAUwW,IAAV,EAAgB;;AAE1D;AACA,YAAIrR,UAAU,UAAd;;AAEA;AACA,YAAIL,UAAU,SAAVA,OAAU,CAAUV,OAAV,EAAmB;AAC7B,mBAAOoS,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAM+K;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI8D,SAAS,SAATA,MAAS,CAAUmR,UAAV,EAAsB;AAC/B,mBAAO7C,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,SADF;AAEb9L,sBAAMggB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIhN,SAAS,SAATA,MAAS,CAAUjI,OAAV,EAAmB;AAC5B,mBAAOoS,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,UAAV,GAAuBmH,mBAAmBlI,QAAQ9G,EAA3B,CADf;AAEbjE,sBAAM+K;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAI6D,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACHN,oBAAQC,OADL;AAEHoD,oBAAQA,MAFL;AAGHmE,oBAAQA,MAHL;AAIHpE,oBAAQA;AAJL,SAAP;AAMH,KA1CD;AA2CH,CA5CD,EA4CGhR,GA5CH;ACDA;;AACA,CAAC,YAAY;AACT;AACA8I,QAAIC,MAAJ,CAAW,oBAAX,EAAiC,CAAC,YAAD,CAAjC,EAAiD,UAAUwW,IAAV,EAAgB;;AAE7D,YAAI0D,oBAAoB,aAAxB;AACA,YAAIC,2BAA0B,qBAA9B;;AAEA,YAAIC,uBAAuB,SAAvBA,oBAAuB,GAAY;AACnC,mBAAO5D,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKqa,oBAAoB;AADb,aAAT,CAAP;AAGH,SAJD;;AAMA,YAAIG,sBAAsB,SAAtBA,mBAAsB,CAAS1B,MAAT,EAAiB;AACvC,mBAAOnC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKqa,oBAAoB,eADZ;AAEb7gB,sBAAMsf;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAI2B,iBAAiB,SAAjBA,cAAiB,CAASjhB,IAAT,EAAe;AAChC,mBAAOmd,KAAK5R,IAAL,CAAU;AACb/E,qBAAKqa,oBAAoB,OADZ;AAEb7gB,sBAAMA;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAIkhB,uBAAuB,SAAvBA,oBAAuB,CAAS5B,MAAT,EAAiB;AACxC,mBAAOnC,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsa,2BAA2B,MADnB;AAEb9gB,sBAAMsf;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAI6B,gBAAgB,SAAhBA,aAAgB,CAASC,UAAT,EAAqB;AACrC,mBAAOjE,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsa,2BAA2B,iBADnB;AAEb9gB,sBAAMohB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,eAAO;AACHL,kCAAsBA,oBADnB;AAEHC,iCAAqBA,mBAFlB;AAGHC,4BAAgBA,cAHb;AAIHC,kCAAsBA,oBAJnB;AAKHC,2BAAeA;AALZ,SAAP;AAOH,KA9CD;AA+CH,CAjDD,EAiDGvjB,GAjDH;ACDA;;AACA,CAAC,YAAY;AACT;AACA8I,QAAIC,MAAJ,CAAW,mBAAX,EAAgC,CAAC,YAAD,CAAhC,EAAgD,UAAUwW,IAAV,EAAgB;;AAE5D,YAAIrR,UAAU,YAAd;;AAEA;AACA,YAAIuV,iBAAiB,SAAjBA,cAAiB,CAAUpd,EAAV,EAAc;AAC/B,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,oBAAV,GAAiCmH,mBAAmBhP,EAAnB,CAD1B;AAEZqd,0BAAU;AAFE,aAAT,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,mBAAmB,SAAnBA,gBAAmB,CAAUtd,EAAV,EAAc;AACjC,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,yBAAV,GAAsCmH,mBAAmBhP,EAAnB,CAD/B;AAEZqd,0BAAU;AAFE,aAAT,CAAP;AAIH,SALD;;AAOA;AACA,YAAIE,oBAAoB,SAApBA,iBAAoB,CAAUvd,EAAV,EAAc;AAClC,mBAAOkZ,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU,wBAAV,GAAqCmH,mBAAmBhP,EAAnB;AAD9B,aAAT,CAAP;AAGH,SAJD;;AAMA;AACA,YAAIwd,eAAe,SAAfA,YAAe,CAAUC,eAAV,EAA2B;AAC1C,mBAAOvE,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,0BADF;AAEb9L,sBAAM0hB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIC,kBAAkB,SAAlBA,eAAkB,CAAUvY,MAAV,EAAkB;AACpC,mBAAO+T,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,qBADF;AAEb9L,sBAAMoJ;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIwY,gBAAgB,SAAhBA,aAAgB,CAAUxY,MAAV,EAAkB;AAClC,mBAAO+T,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,mBADF;AAEb9L,sBAAMoJ;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA;AACA,YAAIyY,kBAAkB,SAAlBA,eAAkB,CAAUzY,MAAV,EAAkB;AACpC,mBAAO+T,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,mBADF;AAEb9L,sBAAMoJ;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,YAAI0Y,sBAAsB,SAAtBA,mBAAsB,CAAUC,QAAV,EAAoB;AAC1C,mBAAO5E,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,wBADF;AAEb9L,sBAAM;AACF+hB,8BAAUA;AADR;AAFO,aAAV,CAAP;AAMH,SAPD;;AASA,eAAO;AACHP,+BAAmBA,iBADhB;AAEHC,0BAAcA,YAFX;AAGHE,6BAAiBA,eAHd;AAIHC,2BAAeA,aAJZ;AAKHC,6BAAiBA,eALd;AAMHC,iCAAqBA,mBANlB;AAOHT,4BAAgBA,cAPb;AAQHE,8BAAkBA;AARf,SAAP;AAUH,KA9ED;AA+EH,CAjFD,EAiFG3jB,GAjFH;ACDA;;AACA,CAAC,YAAY;AACT8I,QAAIC,MAAJ,CAAW,8BAAX,EAA2C,CAAC,YAAD,CAA3C,EAA2D,UAAUwW,IAAV,EAAgB;;AAEvE;AACA,YAAIrR,UAAU,SAAd;;AAEA;AACA,YAAIkW,kBAAkB,SAAlBA,eAAkB,CAAUC,SAAV,EAAqB;AACvC,mBAAO9E,KAAK5R,IAAL,CAAU;AACb/E,qBAAKsF,UAAU,mBADF;AAEb9L,sBAAMiiB;AAFO,aAAV,CAAP;AAIH,SALD;;AAOA,eAAO;AACHD,6BAAkBA;AADf,SAAP;AAGH,KAhBD;AAiBH,CAlBD,EAkBGpkB,GAlBH;ACDA;;AACA,CAAC,YAAY;AACT;AACA8I,QAAIC,MAAJ,CAAW,cAAX,EAA2B,CAAC,YAAD,CAA3B,EAA2C,UAAUwW,IAAV,EAAgB;;AAEvD,YAAIrR,UAAU,OAAd;;AAEA;AACA,YAAI8C,SAAS,SAATA,MAAS,GAAY;AACrB,mBAAOuO,KAAK7R,GAAL,CAAS;AACZ9E,qBAAKsF,UAAU;AADH,aAAT,CAAP;AAGH,SAJD;;AAMA,eAAO;AACH8C,oBAAQA;AADL,SAAP;AAGH,KAdD;AAeH,CAjBD,EAiBGhR,GAjBH;;;ACDA,CAAC,YAAY;AACT;;AAEAA,QAAIskB,eAAJ,GAAsB,YAAY;AAC9B,YAAIC,OAAO,IAAX;;AAEAA,aAAKC,OAAL,GAAexkB,IAAIgB,WAAJ,CAAgBwjB,OAA/B;;AAEAD,aAAKE,UAAL,GAAkB,YAAY;AAC1B,gBAAIA,UAAJ;;AAEA,oBAAQF,KAAKC,OAAb;AACI,qBAAK,OAAL;AACA,qBAAK,OAAL;AACIC,iCAAa,YAAb;AACA;AACJ,qBAAK,OAAL;AACIA,gCAAY;AACZ;AAPR;;AAUA,mBAAOA,UAAP;AACH,SAdD;;AAgBAF,aAAKG,UAAL,GAAkB,YAAY;AAC1B,gBAAIA,UAAJ;;AAEA,oBAAQH,KAAKC,OAAb;AACI,qBAAK,OAAL;AACA,qBAAK,OAAL;AACIE,iCAAa,OAAb;AACA;AACJ,qBAAK,OAAL;AACIA,iCAAa,YAAb;AACA;AAPR;;AAUA,mBAAOA,UAAP;AACH,SAdD;;AAgBAH,aAAKI,cAAL,GAAsB,YAAY;AAC9B,gBAAIA,cAAJ;;AAEA,oBAAQJ,KAAKC,OAAb;AACI,qBAAK,OAAL;AACA,qBAAK,OAAL;AACIG,qCAAiB,kBAAjB;AACA;AACJ,qBAAK,OAAL;AACIA,qCAAiB,qBAAjB;AACA;AAPR;;AAUA,mBAAOA,cAAP;AACH,SAdD;;AAgBA,eAAOJ,IAAP;AACH,KAtDD;AAuDH,CA1DD;;;ACAA1gB,KAAK+gB,SAAL,CAAeC,YAAf,GAA8B,UAAUC,IAAV,EAAgB;;AAE1C,QAAIP,OAAO,IAAX;;AAEA,QAAIQ,eAAengB,SAASkgB,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAjB,GAAsB,IAA/B,CAAnB;;AAEAP,SAAKS,OAAL,CAAaT,KAAKU,OAAL,KAAiBF,YAA9B;AACH,CAPD;;AASAlhB,KAAK+gB,SAAL,CAAeM,OAAf,GAAyB,UAAUJ,IAAV,EAAgB;AACrC,QAAIP,OAAO,IAAX;;AAEA,QAAIQ,eAAengB,SAASkgB,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAjB,GAAsB,IAA/B,CAAnB;;AAEAP,SAAKS,OAAL,CAAaT,KAAKU,OAAL,KAAiBF,YAA9B;AACH,CAND;;AAQA;AACAlhB,KAAK+gB,SAAL,CAAeO,WAAf,GAA6B,YAAY;AACrC,QAAIZ,OAAO,IAAX;;AAEAA,SAAKa,CAAL,GAAS,IAAIvhB,IAAJ,CAAS0gB,IAAT,CAAT;;AAEAA,SAAKa,CAAL,CAAOC,QAAP,CAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,CAA5B;;AAEA,WAAOd,KAAKa,CAAZ;AACH,CARD;;AAUAvhB,KAAK+gB,SAAL,CAAeU,mBAAf,GAAqC,UAAUC,KAAV,EAAiB;AAClD,QAAIhB,OAAO,IAAX;;AAEA,QAAIiB,iBAAiB3hB,KAAK4hB,GAAL,CAASF,MAAMC,cAAN,CAAqB7f,WAArB,EAAT,EAA6C4f,MAAMC,cAAN,CAAqB/f,QAArB,KAAkC,CAA/E,EAAkF8f,MAAMC,cAAN,CAAqBjgB,OAArB,EAAlF,CAArB;AACA,QAAIF,OAAOxB,KAAK4hB,GAAL,CAASlB,KAAK5e,WAAL,EAAT,EAA6B4e,KAAK9e,QAAL,KAAkB,CAA/C,EAAkD8e,KAAKhf,OAAL,EAAlD,CAAX;;AAEA,QAAImgB,aAAargB,OAAOmgB,cAAxB;AACA,QAAIV,OAAOa,KAAKC,KAAL,CAAWF,cAAc,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAA/B,CAAX,CAAX;;AAEA,WAAOZ,OAAO,CAAC,CAAf;AACH,CAVD;;AAYAjhB,KAAK+gB,SAAL,CAAeiB,QAAf,GAA0B,YAAY;AAClC,QAAIC,OAAO,KAAKngB,WAAL,GAAmBwN,QAAnB,EAAX;AACA,QAAIC,KAAK,CAAC,KAAK3N,QAAL,KAAkB,CAAnB,EAAsB0N,QAAtB,EAAT,CAFkC,CAES;AAC3C,QAAI4S,KAAK,KAAKxgB,OAAL,GAAe4N,QAAf,EAAT;AACA,WAAO,CAAC4S,GAAG,CAAH,IAAQA,EAAR,GAAa,MAAMA,GAAG,CAAH,CAApB,IAA6B,GAA7B,IAAoC3S,GAAG,CAAH,IAAQA,EAAR,GAAa,MAAMA,GAAG,CAAH,CAAvD,IAAgE,GAAhE,GAAsE0S,IAA7E,CAJkC,CAIiD;AACtF,CALD;;AAOAjiB,KAAK+gB,SAAL,CAAeoB,sBAAf,GAAwC,UAAUC,aAAV,EAAyB;AAC7D,QAAI1B,OAAO,IAAX;;AAEA,WAAOA,KAAKY,WAAL,GAAmBF,OAAnB,MAAgCgB,cAAcd,WAAd,GAA4BF,OAA5B,EAAvC;AACH,CAJD;;AAMAphB,KAAK+gB,SAAL,CAAexa,YAAf,GAA8B,YAAY;AACtC,QAAIma,OAAO,IAAX;;AAEA,QAAIjf,MAAMif,KAAKhf,OAAL,KAAiB,CAAjB,GAAqBgf,KAAKhf,OAAL,KAAiB,GAAtC,GAA4C,MAAMgf,KAAKhf,OAAL,EAAN,GAAuB,GAA7E;AACA,QAAIC,QAAS+e,KAAK9e,QAAL,KAAkB,CAAnB,GAAwB,CAAxB,GAA6B8e,KAAK9e,QAAL,KAAkB,CAAnB,GAAwB,GAApD,GAA0D,OAAO8e,KAAK9e,QAAL,KAAkB,CAAzB,IAA8B,GAApG;AACA,QAAIC,OAAO6e,KAAK5e,WAAL,KAAqB,GAAhC;AACA,QAAIiN,QAAQ2R,KAAK2B,QAAL,KAAkB,CAAlB,GAAsB3B,KAAK2B,QAAL,EAAtB,GAAwC,MAAM3B,KAAK2B,QAAL,EAA1D;AACA,QAAIpT,UAAUyR,KAAK4B,UAAL,KAAoB,CAApB,GAAwB,MAAM5B,KAAK4B,UAAL,EAA9B,GAAkD,OAAO5B,KAAK4B,UAAL,EAAvE;;AAEA,QAAI/b,eAAe9E,MAAME,KAAN,GAAcE,IAAd,GAAqBkN,KAArB,GAA6BE,OAAhD;;AAEA,WAAO1I,YAAP;AACH,CAZD;;;ACrDA,CAAC,YAAY;AACT;AACApK,QAAI6J,IAAJ,GAAW,YAAY;;AAEnB,iBAASuc,EAAT,GAAc;AACV,mBAAOT,KAAKC,KAAL,CAAW,CAAC,IAAID,KAAKU,MAAL,EAAL,IAAsB,OAAjC,EACJlT,QADI,CACK,EADL,EAEJmT,SAFI,CAEM,CAFN,CAAP;AAGH;;AAED;AACA,eAAOF,OAAOA,IAAP,GAAc,GAAd,GAAoBA,IAApB,GAA2B,GAA3B,GAAiCA,IAAjC,GAAwC,GAAxC,GACDA,IADC,GACM,GADN,GACYA,IADZ,GACmBA,IADnB,GAC0BA,IADjC;AAEH,KAXD;AAYH,CAdD;;;ACAA,CAAC,YAAY;AACT;;AAEAhjB,MAAEC,QAAF,EAAYC,KAAZ,CAAkB,YAAY;AAC1B;AACAF,UAAEmjB,SAAF,CAAY,EAAE5X,OAAO,KAAT,EAAZ;AACH,KAHD;AAKH,CARD,EAQG3O,GARH;;;ACAA,CAAC,YAAY;AACT;;AACA8I,QAAIC,MAAJ,CAAW,qBAAX,EAAkCyd,YAAlC;;AAEA,aAASA,YAAT,GAAwB;;AAEpB,eAAO;AACHC,yBAAaA,WADV;AAEHC,yBAAaA,WAFV;AAGHC,uBAAWA,SAHR;AAIHC,sBAAUA;AAJP,SAAP;;AAOA,iBAASA,QAAT,CAAkB9S,OAAlB,EAA2BC,KAA3B,EAAkC;AAC9BK,mBAAO,MAAP,EAAeN,OAAf,EAAwBC,KAAxB;AACH;;AAED,iBAAS0S,WAAT,CAAqB3S,OAArB,EAA8BC,KAA9B,EAAqC;AACjCK,mBAAO,SAAP,EAAkBN,OAAlB,EAA2BC,KAA3B;AACH;;AAED,iBAAS2S,WAAT,CAAqB5S,OAArB,EAA8BC,KAA9B,EAAqC;AACjCK,mBAAO,SAAP,EAAkBN,OAAlB,EAA2BC,SAAS/T,IAAIe,YAAJ,CAAiB,OAAjB,CAApC;AACH;;AAED,iBAAS4lB,SAAT,CAAmB7S,OAAnB,EAA4B;AACxBM,mBAAO,OAAP,EAAgBN,OAAhB;AACH;AACJ;AACJ,CA7BD;;;;;ACAA,CAAC,YAAY;AACT;;AACAhL,QAAIC,MAAJ,CAAW,YAAX,EAAyB8d,UAAzB;;AAEA,aAASA,UAAT,GAAsB;;AAElB,eAAO;AACHC,yBAAaA;AADV,SAAP;;AAIA;AACA,iBAASA,WAAT,CAAqB7H,GAArB,EAA0B8H,MAA1B,EAAkC;AAC9B,gBAAI1T,MAAM,EAAV;AAAA,gBAAc2T,IAAd;;AAEA,iBAAKA,IAAL,IAAa/H,GAAb,EAAkB;AACd,oBAAIA,IAAIgI,cAAJ,CAAmBD,IAAnB,CAAJ,EAA8B;AAC1B,wBAAIE,OAAOH,SAASA,SAAS,GAAT,GAAeC,IAAf,GAAsB,GAA/B,GAAqCA,IAAhD;AACA,wBAAIvI,MAAMQ,IAAI+H,IAAJ,CAAV;;AAEA,wBAAIG,OAAQ1I,QAAQ,IAAR,IAAgB,QAAOA,GAAP,yCAAOA,GAAP,OAAe,QAAhC,GACTqI,YAAYrI,GAAZ,EAAiByI,IAAjB,CADS,GAET7R,mBAAmB6R,IAAnB,IAA2B,GAA3B,GAAiC7R,mBAAmBoJ,GAAnB,CAFnC;;AAIApL,wBAAII,IAAJ,CAAS0T,IAAT;AACH;AACJ;AACD,mBAAO9T,IAAI+T,IAAJ,CAAS,GAAT,CAAP;AACH;AACJ;AACJ,CA7BD;;;ACAA,CAAC,YAAY;AACT;;AACAte,QAAIC,MAAJ,CAAW,mBAAX,EAAgC,YAAY;;AAExC;AACA,YAAIse,OAAO,SAAPA,IAAO,CAAUze,GAAV,EAAe0e,YAAf,EAA6BC,QAA7B,EAAuC;;AAE9C;AACAnkB,cAAEkkB,YAAF,EAAgBD,IAAhB,CAAqBze,GAArB,EAA0B,UAAU4e,YAAV,EAAwBC,UAAxB,EAAoCC,cAApC,EAAoD;;AAE1E,oBAAIA,eAAeC,iBAAf,CAAiC,OAAjC,MAA8C,IAAlD,EAAwD;AACpD/kB,2BAAOC,QAAP,CAAgByN,IAAhB,GAAuB1N,OAAOC,QAAP,CAAgB+kB,MAAhB,GAAyB,iBAAhD;AACA;AACH;;AAED;AACA,oBAAI,CAAC,CAACL,QAAF,IAAcA,aAAa,IAA3B,IAAmCA,aAAarkB,SAApD,EAA+D;AAC3DqkB,+BAD2D,CAC/C;AACf;AACJ,aAXD;AAYH,SAfD;;AAiBA,eAAO;AACHF,kBAAMA;AADH,SAAP;AAGH,KAvBD;AAwBH,CA1BD;;;ACAAQ,OAAOjD,SAAP,CAAiBkD,gBAAjB,GAAoC,YAAY;AAC5C,QAAIvD,OAAO,IAAX;AACA,WAAOA,KAAKwD,WAAL,MAAsB,MAA7B;AACH,CAHD;;AAKAF,OAAOjD,SAAP,CAAiB5Z,YAAjB,GAAgC,YAAY;AACxC,QAAIuZ,OAAO,IAAX;AACA,QAAI5hB,QAAQ4hB,KAAKxhB,KAAL,CAAW,GAAX,CAAZ;;AAEA,WAAOJ,MAAOA,MAAMM,MAAP,GAAe,CAArB,CAAP;AACH,CALD;;AAOA4kB,OAAOjD,SAAP,CAAiBtZ,gBAAjB,GAAoC,UAAUrI,MAAV,EAAkB;AAClD,QAAIshB,OAAO,IAAX;AACA,WAAOA,KAAKthB,MAAL,GAAc,EAAd,GAAmBshB,KAAK+B,SAAL,CAAe,CAAf,EAAkB,EAAlB,IAAwB,KAAxB,GAAgC/B,KAAKvZ,YAAL,EAAnD,GAAyEuZ,IAAhF;AACH,CAHD;ACZA;;AACA,CAAC,YAAY;AACT;AACAvkB,QAAIgoB,YAAJ,GAAmB,UAAUC,KAAV,EAAiBC,QAAjB,EAA2B;;AAE1C,YAAIC,YAAYF,QAAQC,QAAxB;;AAEA;AACA,YAAID,QAAQC,QAAR,IAAoB,CAAxB,EAA2BC;;AAE3B,eAAOA,SAAP;AACH,KARD;;AAUA;AACAnoB,QAAIooB,OAAJ,GAAc,UAAUtU,OAAV,EAAmBvP,IAAnB,EAAyB;;AAEnC;AACA6P,eAAQ7P,QAAQ,SAAhB,EAA4BuP,OAA5B;;AAEAuU,oBAAY,YAAY;AACpBxlB,qBAASoK,MAAT;AACH,SAFD,EAEG,IAFH;AAGH,KARD;;AAUA;;AAEA;AACAjN,QAAIymB,WAAJ,GAAkB,UAAU3S,OAAV,EAAmB;AACjCM,eAAO,SAAP,EAAkBN,OAAlB,EAA2B9T,IAAIe,YAAJ,CAAiB,UAAjB,CAA3B;AACH,KAFD;;AAIAf,QAAI0mB,WAAJ,GAAkB,UAAU5S,OAAV,EAAmB;AACjCM,eAAO,SAAP,EAAkBN,OAAlB,EAA2B9T,IAAIe,YAAJ,CAAiB,OAAjB,CAA3B;AACH,KAFD;AAGA;;AAEA;AACAf,QAAIsoB,YAAJ,GAAmB,UAAUpS,OAAV,EAAmB;AAClC,eAAQA,WAAYA,QAAQjT,MAAR,GAAiB,CAA9B,GAAoC,CAAC,CAACslB,GAAGC,OAAH,CAAWtS,QAAQ,CAAR,CAAX,CAAtC,GAA+D,KAAtE;AACH,KAFD;;AAIA;AACAlW,QAAIyoB,iBAAJ,GAAwB,UAAUC,MAAV,EAAkBC,MAAlB,EAA0B;AAC9CD,eAAOE,IAAP,CAAY,MAAZ;AACAD,eAAOE,IAAP,CAAY,MAAZ;;AAEA;AACA;AACA,YAAI7oB,IAAIsoB,YAAJ,CAAiBK,MAAjB,CAAJ,EAA8B;AAC1BJ,eAAGO,SAAH,CAAaH,OAAO,CAAP,CAAb;AACH;AACJ,KATD;;AAWA;AACA3oB,QAAI+oB,mBAAJ,GAA0B,UAAU1V,GAAV,EAAe;AACrCA,cAAMA,IAAI6G,OAAJ,CAAY,GAAZ,EAAiB,GAAjB,CAAN,CADqC,CACR;AAC7B,eAAO8O,WAAW3V,GAAX,CAAP;AACH,KAHD;;AAKA;AACArT,QAAIipB,iBAAJ,GAAwB,UAAU5iB,EAAV,EAAc;AAClC,YAAI6iB,OAAO9lB,EAAE,MAAMiD,EAAR,CAAX;;AAEA;AACA6iB,aAAKC,QAAL,CAAc,UAAUC,GAAV,EAAe;;AAEzB;AACA,gBAAIC,WAAYD,IAAIE,KAAL,GAAcF,IAAIE,KAAlB,GAA0BF,IAAIG,OAA7C;AACA,gBAAIF,YAAY,EAAZ,IAAkBA,WAAW,EAA7B,KACEA,WAAW,EAAX,IAAiBA,WAAW,EAD9B,CAAJ,EAEI,OAAO,KAAP;AACP,SAPD;AAQH,KAZD;;AAcA;AACArpB,QAAIwpB,SAAJ,GAAgB,UAAUtkB,KAAV,EAAiB;AAC7B,YAAIukB,KAAK,2JAAT;AACA,eAAOA,GAAGC,IAAH,CAAQxkB,KAAR,CAAP;AACH,KAHD;;AAKAlF,QAAI2pB,eAAJ,GAAsB;AAClBC,iBAAS,IAAI/lB,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CADS;AAElBgmB,iBAAS,IAAIhmB,IAAJ,CAAS,IAAT,EAAe,EAAf,EAAmB,EAAnB;AAFS,KAAtB;AAKH,CApFD;;;ACDA,CAAC,YAAY;AACT;AACA;;AACAiF,QAAIC,MAAJ,CAAW,mBAAX,EAAgC,CAAC,qBAAD,CAAhC,EAAyD+gB,gBAAzD;;AAEA;;;AAGA,aAASA,gBAAT,CAA0BC,kBAA1B,EAA8C;;AAE1C;;;AAGA,iBAASC,wBAAT,CAAkCre,OAAlC,EAA2C;AACvC,gBAAI,CAACA,QAAQ8W,OAAR,CAAgBpc,EAArB,EAAyB;AACrB0jB,mCAAmBpD,SAAnB,CAA6B3mB,IAAIe,YAAJ,CAAiBkpB,iBAA9C;AACA,uBAAO,KAAP;AACH;;AAED,mBAAO,IAAP;AACH;;AAED,eAAO;AACHD,sCAA0BA;AADvB,SAAP;AAGH;AACJ,CA1BD;;;ACAA,CAAC,YAAY;AACT;;AACA/pB,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,gBADb,EAC+B+c,cAD/B;;AAGAA,mBAAe3pB,OAAf,GAAyB,CAAC,cAAD,CAAzB;;AAEA,aAAS2pB,cAAT,CAAwBnZ,YAAxB,EAAsC;;AAElC,YAAI7C,UAAU,SAAd;;AAEA,aAAKR,GAAL,GAAWA,GAAX;AACA,aAAKsD,MAAL,GAAcA,MAAd;AACA,aAAKhH,MAAL,GAAcA,MAAd;AACA,aAAKiH,MAAL,GAAcA,MAAd;AACA,aAAKmE,MAAL,GAAcA,MAAd;AACA,aAAK4K,cAAL,GAAsBA,cAAtB;AACA,aAAKmK,UAAL,GAAkBA,UAAlB;AACA,aAAKrK,gBAAL,GAAwBA,gBAAxB;AACA,aAAKQ,WAAL,GAAmBA,WAAnB;AACA,aAAK8J,WAAL,GAAmBA,WAAnB;AACA,aAAKxJ,aAAL,GAAqBA,aAArB;;AAEA,iBAAS3P,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkBO,UAAU,SAA5B,EAAuC7J,IAAvC,CAAP;AACH;;AAED,iBAASqJ,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiBQ,UAAU,OAAV,GAAoBmH,mBAAmBhP,EAAnB,CAArC,CAAP;AACH;;AAED,iBAAS2K,MAAT,CAAgBwP,SAAhB,EAA2BC,YAA3B,EAAyC;AACrC,mBAAO1P,aAAarD,GAAb,CAAiBQ,UAAU,UAA3B,EAAuC,EAAEsS,WAAWA,SAAb,EAAwBC,cAAcA,YAAtC,EAAvC,CAAP;AACH;;AAED,iBAASzW,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkBO,UAAU,SAA5B,EAAuC7H,EAAvC,CAAP;AACH;;AAED,iBAAS+O,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkBO,UAAU,UAAV,GAAuB7J,KAAKgC,EAA9C,EAAkDhC,IAAlD,CAAP;AACH;;AAED,iBAAS2b,cAAT,CAAwB5O,KAAxB,EAA+B;AAC3B,mBAAOL,aAAapD,IAAb,CAAkBO,UAAU,kBAA5B,EAAgDkD,KAAhD,CAAP;AACH;;AAED,iBAAS+Y,UAAT,CAAoB/Y,KAApB,EAA2B;AACvB,mBAAOL,aAAapD,IAAb,CAAkB,YAAY,aAA9B,EAA6CyD,KAA7C,CAAP;AACH;;AAED,iBAAS0O,gBAAT,CAA0BC,KAA1B,EAAiC;AAC7B,mBAAOhP,aAAapD,IAAb,CAAkB,YAAY,cAA9B,EAA8C,EAAEoS,OAAOA,KAAT,EAA9C,CAAP;AACH;;AAED,iBAASqK,WAAT,CAAqBhZ,KAArB,EAA4B;AACxB,mBAAOL,aAAapD,IAAb,CAAkBO,UAAU,eAA5B,EAA6CkD,KAA7C,CAAP;AACH;;AAED,iBAASkP,WAAT,GAAuB;AACnB,mBAAOvP,aAAarD,GAAb,CAAiBQ,UAAU,eAA3B,CAAP;AACH;;AAED,iBAAS0S,aAAT,CAAuBva,EAAvB,EAA2B;AACvB,mBAAO0K,aAAarD,GAAb,CAAiBQ,UAAU,GAAV,GAAgB7H,EAAhB,GAAqB,SAAtC,CAAP;AACH;AACJ;AACJ,CAnED;;;ACAA,CAAC,UAAUrG,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EACgC;AACxB7E,oBAAYqmB,uBADY;AAExBtmB,qBAAa,qDAFW;AAGxBoN,kBAAU;AACNC,mBAAO,UADD;AAENkZ,uBAAW,UAFL;AAGNloB,kBAAM,OAHA;AAINiP,sBAAU,WAJJ;AAKN5P,kBAAM,GALA;AAMN8oB,sBAAU,aANJ;AAONC,wBAAY,GAPN;AAQN/J,0BAAc,GARR;AASND,uBAAW;AATL;AAHc,KADhC;;AAiBA6J,4BAAwB9pB,OAAxB,GAAkC,CAAC,QAAD,EAAW,gBAAX,CAAlC;;AAEA,aAAS8pB,uBAAT,CAAiC/Y,MAAjC,EAAyC4Y,cAAzC,EAAyD;AACrD,YAAIzY,KAAK,IAAT;;AAEA;AACAA,WAAGgZ,QAAH;;AAEAhZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACII,iBADJ,KAGIjZ,GAAGgZ,QAAH,GAAchZ,GAAGrP,IAAjB;;AAEJuP;AACH,SAPD;;AASA,iBAAS+Y,cAAT,GAA0B;AACtBR,2BAAelZ,MAAf,CAAsBS,GAAG+O,SAAzB,EAAoC/O,GAAGgP,YAAvC,EAAqD7R,IAArD,CAA0D,UAAU6b,QAAV,EAAoB;AAC1EhZ,mBAAGgZ,QAAH,GAAcA,QAAd;AACA,oBAAGhZ,GAAG+Y,UAAN,EACI/Y,GAAGL,KAAH,GAAWoZ,WAAWC,QAAX,CAAX;AACP,aAJD;AAKH;;AAED,iBAASD,UAAT,CAAoBC,QAApB,EAA8B;AAC1B,gBAAIzpB,cAAchB,IAAIgB,WAAtB;;AAEA,iBAAK,IAAImP,IAAI,CAAb,EAAgBA,IAAIsa,SAASxnB,MAA7B,EAAqCkN,GAArC,EAA0C;AACtC,oBAAI9L,OAAOomB,SAASta,CAAT,CAAX;AACA,oBAAInP,YAAYqF,EAAZ,IAAkBhC,KAAKgC,EAA3B,EACI,OAAOhC,KAAKgC,EAAZ;AACP;AACJ;;AAED,iBAASsL,iBAAT,GAA6B;AACzB,gBAAIgZ,sBAAsBrZ,OAAOS,MAAP,CAAc,oBAAd,EAAoC,YAAY;AACtE2Y;AACH,aAFyB,CAA1B;;AAIA,gBAAIE,mBAAmBtZ,OAAOS,MAAP,CAAc,iBAAd,EAAiC,YAAY;AAChE2Y;AACH,aAFsB,CAAvB;;AAIApZ,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/B0pB;AACAC;AACH,aAHD;AAIH;AAEJ;AACJ,CAtED,EAsEG5qB,GAtEH;;;ACAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,iBADf,EACkC;AAC1B9E,qBAAa,+DADa;AAE1BC,oBAAY6mB,yBAFc;AAG1B1Z,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHgB,KADlC;;AAUA6W,8BAA0BtqB,OAA1B,GAAoC,CAAC,gBAAD,EAAmB,kBAAnB,EAAuC,YAAvC,CAApC;;AAEA,aAASsqB,yBAAT,CAAmCX,cAAnC,EAAmD1c,gBAAnD,EAAqE9M,UAArE,EAAiF;AAC7E,YAAI+Q,KAAK,IAAT;;AAEAA,WAAGqZ,IAAH,GAAUA,IAAV;AACArZ,WAAGwD,OAAH,GAAaA,OAAb;AACAxD,WAAGyO,QAAH,GAAc,EAAd;;AAEA,aAAKxO,OAAL,GAAe,YAAW;AACtBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACAkpB,2BAAe5J,WAAf,GAA6B1R,IAA7B,CAAkC,UAASxM,IAAT,EAAe;AAC7CqP,mBAAGyO,QAAH,GAAc9d,IAAd;AACAqP,mBAAGsZ,UAAH,GAAgB3oB,KAAKoiB,OAArB;AACH,aAHD;AAIH,SAND;;AAQA,iBAASsG,IAAT,GAAgB;AACZZ,2BAAeE,WAAf,CAA2B3Y,GAAGyO,QAA9B,EAAwCtR,IAAxC,CAA6C,UAAUxM,IAAV,EAAgB;AACzDpC,oBAAIgB,WAAJ,CAAgBkf,QAAhB,CAAyB8K,cAAzB,GAA0C5oB,KAAK6oB,cAAL,CAAoB9X,QAApB,EAA1C;;AAEA3F,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;;AAEAlrB,oBAAIgB,WAAJ,CAAgBkf,QAAhB,CAAyBiL,QAAzB,GAAoC1Z,GAAGyO,QAAH,CAAYkL,UAAhD;;AAEA,oBAAGhpB,KAAKoiB,OAAL,IAAgB/S,GAAGsZ,UAAtB,EAAkC;AAC9BloB,6BAASoK,MAAT,CAAgB,IAAhB;AACH;;AAEDwE,mBAAGuC,KAAH,CAASgB,KAAT;AACH,aAZD;AAaH;;AAEA,iBAASC,OAAT,GAAmB;AAChBxD,eAAGuC,KAAH,CAASiB,OAAT;AACH;AACJ;AACJ,CAjDD,EAiDGjV,GAjDH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,wBADb,EACuCke,sBADvC;;AAGAA,2BAAuB9qB,OAAvB,GAAiC,CAAC,cAAD,CAAjC;;AAEA,aAAS8qB,sBAAT,CAAgCta,YAAhC,EAA8C;;AAE1C,YAAI7C,UAAU,kBAAd;;AAEA,aAAKoS,WAAL,GAAmBA,WAAnB;AACA,aAAKgL,YAAL,GAAoBA,YAApB;;AAEA,iBAAShL,WAAT,GAAuB;AACnB,mBAAOvP,aAAarD,GAAb,CAAiBQ,UAAU,WAA3B,CAAP;AACH;;AAED,iBAASod,YAAT,CAAsBjnB,IAAtB,EAA4B;AACxB,mBAAO0M,aAAapD,IAAb,CAAkBO,UAAU,WAA5B,EAAyC7J,IAAzC,CAAP;AACH;AACJ;AACJ,CAtBD;;;ACAA,CAAC,YAAY;AACT;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,8BADf,EAC+C;AACvC7E,oBAAYunB,yBAD2B;AAEvCxnB,qBAAa;AAF0B,KAD/C;;AAMAwnB,8BAA0BhrB,OAA1B,GAAoC,CAAC,YAAD,EAAe,kBAAf,EAAmC,wBAAnC,CAApC;;AAEA,aAASgrB,yBAAT,CAAmC7qB,UAAnC,EAA+C8M,gBAA/C,EAAiE6d,sBAAjE,EAAyF;AACrF,YAAI5Z,KAAK,IAAT;;AAEAA,WAAG+Z,QAAH,GAAc,IAAd;;AAEA/Z,WAAGpN,IAAH,GAAU;AACNonB,oBAAQ,IADF;AAENC,sBAAU,IAFJ;AAGNC,sBAAU,IAHJ;AAINC,sBAAU;AAJJ,SAAV;;AAOAna,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAG+Z,QAAH,GAAc5oB,OAAOC,QAAP,CAAgB+kB,MAAhB,GAAyB,kBAAzB,GAA8C5nB,IAAIgB,WAAJ,CAAgB6e,SAA9D,GAA0E,YAAxF;;AAEAwL,mCAAuB/K,WAAvB,GAAqC1R,IAArC,CAA0C,UAAUxM,IAAV,EAAgB;AACtDqP,mBAAGpN,IAAH,GAAUjC,IAAV;AACH,aAFD;AAGH,SAND;;AAQAqP,WAAGqZ,IAAH,GAAU,YAAY;AAClBO,mCAAuBC,YAAvB,CAAoC7Z,GAAGpN,IAAvC,EAA6CuK,IAA7C,CAAkD,YAAY;AAC1DpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACH,aAFD;AAGH,SAJD;;AAMAzZ,WAAGoa,eAAH,GAAqB,YAAW;AAC5Bnf,sBAAUof,SAAV,CAAoBC,SAApB,CAA8Bta,GAAG+Z,QAAjC,EACC5c,IADD,CACM,YAAW;AACbpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBkrB,qBAA9C;AACH,aAHD,EAICC,KAJD,CAIO,UAAS/e,GAAT,EAAc;AACjBM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBkrB,qBAA7C;AACH,aAND;AAOH,SARD;AASH;AACJ,CA9CD,EA8CGhsB,GA9CH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,YADf,EAC6B;AACrB7E,oBAAYkoB,oBADS;AAErBnoB,qBAAa;AAFQ,KAD7B;;AAMAmoB,yBAAqB3rB,OAArB,GAA+B,CAAC,QAAD,EAAW,UAAX,EAAuB,WAAvB,EAAoC,gBAApC,CAA/B;;AAEA,aAAS2rB,oBAAT,CAA8B5a,MAA9B,EAAsC3Q,QAAtC,EAAgDC,SAAhD,EAA2DspB,cAA3D,EAA2E;AACvE,YAAIiC,oBAAoB,iBAAxB;;AAEA,YAAI1a,KAAK,IAAT;;AAEAA,WAAGzQ,WAAH;AACAyQ,WAAGgZ,QAAH;;AAEAhZ,WAAG2a,MAAH,GAAYA,MAAZ;AACA3a,WAAG4a,aAAH,GAAmBA,aAAnB;;AAEA;;AAEA,aAAK3a,OAAL,GAAe,YAAY;AACvBC;;AAEAhR,qBAAS,YAAY;AACjB8Q,mBAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACAsrB;AACH,aAHD;AAIH,SAPD;;AASA,iBAASF,MAAT,CAAgB/hB,OAAhB,EAAyB;AACrB6f,2BAAepK,gBAAf,CAAgCzV,QAAQ0V,KAAxC,EAA+CnR,IAA/C,CAAoD,UAAU5M,IAAV,EAAgB;AAChEY,uBAAOC,QAAP,CAAgBoK,MAAhB;AACH,aAFD;AAGH;;AAED,iBAASqf,2BAAT,GAAuC;AACnC,gBAAI7B,WAAW8B,aAAaC,OAAb,CAAqBL,iBAArB,CAAf;AACA,gBAAI1B,QAAJ,EAAc;AACVhZ,mBAAGgZ,QAAH,GAActb,KAAKsd,KAAL,CAAWhC,QAAX,CAAd;AACA;AACH;;AAEDhZ,eAAGgZ,QAAH,GAAc,EAAd;AACH;;AAED,iBAAS9Y,iBAAT,GAA6B;AACzB,gBAAI+a,SAAStpB,EAAE,kBAAF,EAAsBG,EAAtB,CAAyB,OAAzB,EAAkC,YAAY;AACvD5C,yBAAS,YAAY;AACjBC,8BAAUkD,IAAV,CAAe;AACXC,qCAAa,0DADF;AAEXC,oCAAY,2BAFD;AAGXC,sCAAc,OAHH;AAIXC,8BAAM;AAJK,qBAAf;AAMH,iBAPD;AAQH,aATY,CAAb;;AAWA,gBAAIyoB,SAASrb,OAAOrQ,GAAP,CAAW,eAAX,EAA4BqrB,2BAA5B,CAAb;;AAEAhb,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/ByrB;AACAC;AACH,aAHD;AAIH;;AAED,iBAASN,aAAT,CAAuBjrB,KAAvB,EAA8BiD,IAA9B,EAAoC;AAChCjD,kBAAMwrB,cAAN;AACAxrB,kBAAMyrB,eAAN;;AAEA,gBAAIpC,WAAWtb,KAAKsd,KAAL,CAAWF,aAAaC,OAAb,CAAqBL,iBAArB,CAAX,CAAf;;AAEA,gBAAIW,sBAAsBrC,SAAS/I,MAAT,CAAgB;AAAA,uBAAKqL,EAAE1mB,EAAF,IAAQhC,KAAKgC,EAAlB;AAAA,aAAhB,CAA1B;;AAEAkmB,yBAAaS,OAAb,CAAqBb,iBAArB,EAAwChd,KAAKC,SAAL,CAAe0d,mBAAf,CAAxC;;AAEArb,eAAGgZ,QAAH,GAAcqC,mBAAd;AACH;AACJ;AACJ,CAjFD,EAiFG9sB,GAjFH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK8D,UADL,CACgB,2BADhB,EAC6CipB,yBAD7C;;AAGAA,8BAA0B1sB,OAA1B,GAAoC,CAAC,mBAAD,EAAsB,UAAtB,EAAkC,YAAlC,EAAgD,gBAAhD,CAApC;;AAEA,aAAS0sB,yBAAT,CAAmChZ,iBAAnC,EAAsDtT,QAAtD,EAAgED,UAAhE,EAA4EwpB,cAA5E,EAA4F;;AAExF,YAAIiC,oBAAoB,iBAAxB;;AAEA,YAAI1a,KAAK,IAAT;;AAEAA,WAAGpN,IAAH;AACAoN,WAAGzQ,WAAH;;AAEAyQ,WAAGqD,MAAH,GAAYA,MAAZ;AACArD,WAAGyb,UAAH,GAAgBA,UAAhB;AACAzb,WAAG0b,WAAH,GAAiBA,WAAjB;;AAEA,aAAKzb,OAAL,GAAe,YAAY;AACvB/Q,qBAAS,YAAY;AACjB8Q,mBAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACH,aAFD;AAGH,SAJD;;AAMA,iBAASksB,UAAT,CAAoBE,IAApB,EAA0B;AACtB,gBAAIA,KAAKC,QAAT,EAAmB;AACfD,qBAAK1N,QAAL,CAAc4N,MAAd,GAAuB,IAAvB;AACAF,qBAAKzN,QAAL,CAAc2N,MAAd,GAAuB,IAAvB;AACA;AACH;;AAED,gBAAI7b,GAAGpN,IAAH,CAAQqb,QAAR,IAAoBjO,GAAGzQ,WAAH,CAAe0e,QAAvC,EAAiD;AAC7C;AACH;;AAED,gBAAIyN,YAAY1b,GAAGpN,IAAf,CAAJ,EAA0B;AACtB;AACH;;AAED6lB,2BAAeC,UAAf,CAA0B;AACtBzK,0BAAUjO,GAAGpN,IAAH,CAAQqb,QADI;AAEtBC,0BAAUlO,GAAGpN,IAAH,CAAQsb;AAFI,aAA1B,EAGG/Q,IAHH,CAGQ,UAAU5M,IAAV,EAAgB;AACpBurB,uCAAuBvrB,IAAvB;AACAtB,2BAAW8sB,UAAX,CAAsB,eAAtB;AACA1Y;AACH,aAPD;AAQH;;AAED,iBAASA,MAAT,GAAkB;AACdb,8BAAkBgB,OAAlB,CAA0B,QAA1B;AACH;;AAED,iBAASkY,WAAT,CAAqBnrB,IAArB,EAA2B;AACvB,gBAAIyoB,WAAWgD,eAAf;;AAEA,gBAAIC,YAAY,KAAhB;;AAEA,gBAAI,CAAC,CAAC1rB,IAAN,EAAY;AACR,qBAAK,IAAImO,IAAI,CAAb,EAAgBA,IAAIsa,SAASxnB,MAA7B,EAAqCkN,GAArC,EAA0C;AACtC,wBAAInO,KAAK0d,QAAL,IAAiB+K,SAASta,CAAT,EAAYuP,QAA7B,IAAyC1d,KAAK0d,QAAL,IAAiBjO,GAAGzQ,WAAH,CAAe0e,QAA7E,EAAuF;AACnFgO,oCAAY,IAAZ;AACA;AACH;AACJ;AACJ;;AAED,mBAAOA,SAAP;AACH;;AAED,iBAASH,sBAAT,CAAgCvrB,IAAhC,EAAsC;AAClC,gBAAIyoB,WAAWgD,eAAf;;AAEAhD,qBAAShX,IAAT,CAAczR,IAAd;AACA2rB,uCAA2BlD,QAA3B;;AAEA8B,yBAAaS,OAAb,CAAqBb,iBAArB,EAAwChd,KAAKC,SAAL,CAAeqb,QAAf,CAAxC;AACH;;AAED,iBAASgD,aAAT,GAAyB;AACrB,gBAAIhD,WAAW8B,aAAaC,OAAb,CAAqBL,iBAArB,CAAf;AACA,gBAAI1B,QAAJ,EAAc;AACVA,2BAAWtb,KAAKsd,KAAL,CAAWhC,QAAX,CAAX;AACH,aAFD,MAEO;AACHA,2BAAW,EAAX;AACH;;AAED,mBAAOA,QAAP;AACH;;AAED,iBAASkD,0BAAT,CAAoClD,QAApC,EAA8C;AAC1C,gBAAImD,YAAY,IAAhB;AACA,iBAAK,IAAIzd,IAAI,CAAb,EAAgBA,IAAIsa,SAASxnB,MAA7B,EAAqCkN,GAArC,EAA0C;AACtC,oBAAIsB,GAAGzQ,WAAH,CAAeqF,EAAf,IAAqBokB,SAASta,CAAT,EAAY9J,EAArC,EAAyC;AACrCokB,6BAASta,CAAT,IAAclQ,QAAQ4tB,IAAR,CAAapc,GAAGzQ,WAAhB,CAAd;AACA4sB,gCAAY,KAAZ;AACA;AACH;AACJ;;AAED,gBAAIA,SAAJ,EAAe;AACXnD,yBAAShX,IAAT,CAAchC,GAAGzQ,WAAjB;AACH;AACJ;AACJ;AACJ,CA3GD,EA2GGhB,GA3GH;;;ACAA,CAAC,YAAW;AACR;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,aADf,EAEQ;AACI7E,oBAAY8pB,qBADhB;AAEI/pB,qBAAa;AAFjB,KAFR;;AAOA+pB,0BAAsBvtB,OAAtB,GAAgC,EAAhC;;AAEA,aAASutB,qBAAT,GAAiC,CAAE;AACtC,CAZD;;;;;ACAA,CAAC,YAAY;AACT;;AACA7tB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oBADf,EACqC;AAC7B7E,oBAAY+pB,eADiB;AAE7BhqB,qBAAa;AAFgB,KADrC;;AAMAgqB,oBAAgBxtB,OAAhB,GAA0B,CAAC,UAAD,EAAa,cAAb,EAA6B,kBAA7B,EAAiD,YAAjD,CAA1B;;AAEA,aAASwtB,eAAT,CAAyBptB,QAAzB,EAAmCqtB,YAAnC,EAAgDxgB,gBAAhD,EAAkE9M,UAAlE,EAA8E;AAC1E,YAAI+Q,KAAK,IAAT;AACA,YAAIwc,WAAW,sIAAf;AACA,YAAIC,cAAcrrB,SAAS+kB,MAAT,GAAkB,QAApC;;AAEAnW,WAAGpN,IAAH;AACAoN,WAAG0c,UAAH;AACA1c,WAAG2c,eAAH;AACA3c,WAAG4c,WAAH;AACA5c,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;AACArZ,WAAG8c,OAAH,GAAaA,OAAb;AACA9c,WAAG+c,gBAAH,GAAsBA,gBAAtB;;AAEA/c,WAAGC,OAAH,GAAa,YAAY;AACrB2c;AACAI;AAEH,SAJD;;AAMA,iBAASF,OAAT,GAAmB;AACfN,uBAAWpG,OAAO6G,MAAP,CAAcT,QAAd,EAAwBxc,GAAGpN,IAAH,CAAQsqB,aAAhC,EAA+CT,WAA/C,CAAX;AACAF,yBAAaY,UAAb,CAAwBnd,GAAGpN,IAA3B,EAAiCuK,IAAjC,CAAsC,YAAY;AAC9ChM,uBAAOC,QAAP,CAAgByN,IAAhB,GAAuB2d,QAAvB;AACH,aAFD;AAGH;;AAED,iBAASI,WAAT,GAAuB;AACnBL,yBAAaK,WAAb,GAA2Bzf,IAA3B,CAAgC,UAAUigB,IAAV,EAAgB;AAC5Cpd,mBAAG4c,WAAH,GAAiBQ,IAAjB;AACA,oBAAGA,IAAH,EACIC;AACP,aAJD;AAKH;;AAED,iBAASA,aAAT,GAAyB;AACrBd,yBAAa5M,QAAb,GAAwBxS,IAAxB,CAA6B,UAAUmgB,KAAV,EAAiB;AAC1Ctd,mBAAG0c,UAAH,GAAgBY,KAAhB;AACH,aAFD;AAGH;;AAED;AACA;AACA;AACA;AACA;;AAEA,iBAASN,SAAT,GAAqB;AACjBT,yBAAaS,SAAb,GAAyB7f,IAAzB,CAA8B,UAAUxM,IAAV,EAAgB;AAC1CqP,mBAAGpN,IAAH,GAAUjC,OAAOA,IAAP,GAAc,EAAxB;AACH,aAFD;AAGH;;AAED,iBAASosB,gBAAT,GAA4B;AACxB/c,eAAG6c,SAAH,GAAe,IAAf;;AAEA,gBAAI,SAAS7c,GAAGpN,IAAH,CAAQ2qB,gBAAjB,KAAsC,QAAtC,IAAkDvd,GAAGpN,IAAH,CAAQ2qB,gBAAR,CAAyB/rB,MAAzB,GAAkC,CAAxF,EAA2F;AACvFwO,mBAAG6c,SAAH,GAAe,KAAf;AACA;AACH;;AAEDN,yBAAaiB,WAAb,CAAyBxd,GAAGpN,IAAH,CAAQ2qB,gBAAjC,EAAmDpgB,IAAnD,CAAwD,UAAU6b,QAAV,EAAoB;AACxEhZ,mBAAGyd,aAAH,GAAmBzE,QAAnB;AACH,aAFD,EAEG0E,OAFH,CAEW,YAAY;AAAE1d,mBAAG6c,SAAH,GAAe,KAAf;AAAuB,aAFhD;AAGH;;AAED,iBAASxD,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQsqB,aAAT,IAA0B,CAACld,GAAGpN,IAAH,CAAQ+qB,iBAAvC,EACI;;AAEJ3d,eAAGpN,IAAH,CAAQ2qB,gBAAR,GAA2Bvd,GAAGpN,IAAH,CAAQ2qB,gBAAR,IAA4Bvd,GAAGpN,IAAH,CAAQ2qB,gBAAR,CAAyB3oB,EAArD,GAA0DoL,GAAGpN,IAAH,CAAQ2qB,gBAAlE,GAAqF,IAAhH;;AAEAhB,yBAAaY,UAAb,CAAwBnd,GAAGpN,IAA3B,EAAiCuK,IAAjC,CAAsC,YAAY;AAC9CpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACH,aAFD;AAGH;AACJ;AACJ,CAzFD,EAyFGlrB,GAzFH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,cADb,EAC6B6gB,YAD7B;;AAGAA,iBAAaztB,OAAb,GAAuB,CAAC,cAAD,CAAvB;;AAEA,aAASytB,YAAT,CAAsBjd,YAAtB,EAAoC;;AAEhC,YAAI5D,UAAU,IAAd;AACA,YAAIe,UAAU,OAAd;;AAEAf,gBAAQyhB,UAAR,GAAqBA,UAArB;AACAzhB,gBAAQshB,SAAR,GAAoBA,SAApB;AACAthB,gBAAQ8hB,WAAR,GAAsBA,WAAtB;AACA9hB,gBAAQkiB,gBAAR,GAA2BA,gBAA3B;AACAliB,gBAAQmiB,WAAR,GAAsBA,WAAtB;AACAniB,gBAAQoiB,aAAR,GAAwBA,aAAxB;AACApiB,gBAAQiU,QAAR,GAAmBA,QAAnB;AACAjU,gBAAQkhB,WAAR,GAAsBA,WAAtB;AACAlhB,gBAAQqiB,gCAAR,GAA2CA,gCAA3C;AACAriB,gBAAQsiB,aAAR,GAAwBA,aAAxB;;AAEA,iBAAShB,SAAT,GAAqB;AACjB,mBAAO1d,aAAarD,GAAb,CAAiBQ,UAAU,qBAA3B,CAAP;AACH;;AAED,iBAAS0gB,UAAT,CAAoBvqB,IAApB,EAA0B;AACtB,mBAAO0M,aAAapD,IAAb,CAAkBO,UAAU,sBAA5B,EAAoD7J,IAApD,CAAP;AACH;;AAED,iBAASirB,WAAT,CAAqB5N,MAArB,EAA6B;AACzB,mBAAO3Q,aAAarD,GAAb,CAAiBQ,UAAU,eAA3B,EAA4C,EAAEwT,QAAQA,MAAV,EAA5C,CAAP;AACH;;AAED,iBAASuN,WAAT,CAAqBvN,MAArB,EAA6B;AACzB,mBAAO3Q,aAAarD,GAAb,CAAiBQ,UAAU,eAA3B,EAA4C,EAAEwT,QAAQA,MAAV,EAA5C,CAAP;AACH;;AAED,iBAAS2N,gBAAT,CAA0B3N,MAA1B,EAAkC;AAC9B,mBAAO3Q,aAAarD,GAAb,CAAiBQ,UAAU,oBAA3B,EAAiD,EAAEwT,QAAQA,MAAV,EAAjD,CAAP;AACH;;AAED,iBAAS8N,gCAAT,CAA0C9N,MAA1C,EAAkD;AAC9C,mBAAO3Q,aAAarD,GAAb,CAAiBQ,UAAU,uCAA3B,EAAoEwT,MAApE,CAAP;AACH;;AAED,iBAAS6N,aAAT,GAAyB;AACrB,mBAAOxe,aAAarD,GAAb,CAAiBQ,UAAU,iBAA3B,CAAP;AACH;;AAED,iBAASkT,QAAT,GAAoB;AAChB,mBAAOrQ,aAAarD,GAAb,CAAiBQ,UAAU,YAA3B,CAAP;AACH;;AAED,iBAASmgB,WAAT,GAAuB;AACnB,mBAAOtd,aAAarD,GAAb,CAAiBQ,UAAU,eAA3B,CAAP;AACH;;AAED,iBAASuhB,aAAT,CAAuBtL,QAAvB,EAAiC;AAC7B,mBAAOpT,aAAapD,IAAb,CAAkBO,UAAU,kBAA5B,EAAgDiW,QAAhD,CAAP;AACH;AACJ;AACJ,CA/DD;;;ACAA,CAAC,YAAY;AACT;;AACAlkB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oCADf,EACqD;AAC7C7E,oBAAY0rB,4CADiC;AAE7C3rB,qBAAa;AAFgC,KADrD;;AAMA2rB,iDAA6CnvB,OAA7C,GAAuD,CAAC,QAAD,EAAW,UAAX,EAAuB,cAAvB,EAAuC,eAAvC,EACjD,gBADiD,EAC/B,cAD+B,EACf,WADe,EACF,YADE,EACY,kBADZ,CAAvD;;AAGA,aAASmvB,4CAAT,CAAsDpe,MAAtD,EAA8D3Q,QAA9D,EAAwEqtB,YAAxE,EAAsF2B,aAAtF,EACMC,cADN,EACsBpe,YADtB,EACoC5Q,SADpC,EAC+CF,UAD/C,EAC2D8M,gBAD3D,EAC6E;AACzE,YAAIiE,KAAK,IAAT;;AAEAA,WAAG0S,QAAH,GAAc,EAAd;AACA1S,WAAGoe,OAAH,GAAa,EAAb;AACApe,WAAGqe,gBAAH,GAAsB,EAAtB;AACAre,WAAGiQ,MAAH;;AAEAjQ,WAAGse,eAAH,GAAqBA,eAArB;AACAte,WAAGue,WAAH,GAAiB,KAAjB;AACAve,WAAGwe,WAAH,GAAiB,KAAjB;;AAEAxe,WAAGye,aAAH,GAAmBA,aAAnB;AACAze,WAAG0e,gBAAH,GAAsBA,gBAAtB;AACA1e,WAAG+d,gCAAH,GAAsCA,gCAAtC;;AAEA/d,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGiQ,MAAH,GAAY;AACR0O,4BAAY;AADJ,aAAZ;AAGAC;AACAb;AACA7d;AACH,SAPD;;AASA,iBAAS2e,oBAAT,CAA8B5E,QAA9B,EAAwC;AACpCkE,2BAAeW,eAAf,CAA+B7E,QAA/B,EAAyC9c,IAAzC,CAA8C,UAAU4hB,QAAV,EAAoB;AAC9D/e,mBAAGqe,gBAAH,GAAsBU,QAAtB;AACH,aAFD;AAGH;;AAED,iBAASH,WAAT,GAAuB;AACnBV,0BAAc3e,MAAd,GAAuBpC,IAAvB,CAA4B,UAAUihB,OAAV,EAAmB;AAC3Cpe,mBAAGoe,OAAH,GAAaA,OAAb;AACH,aAFD;AAGH;;AAED,iBAASL,gCAAT,GAA4C;AACxC/d,eAAGwe,WAAH,GAAiB,IAAjB;;AAEAjC,yBAAawB,gCAAb,CAA8C;AAC1CiB,2BAAWhf,GAAGiQ,MAAH,CAAU+O,SADqB;AAE1C/E,0BAAUja,GAAGiQ,MAAH,CAAUgK,QAFsB;AAG1CgF,2BAAWjf,GAAGiQ,MAAH,CAAUgP,SAHqB;AAI1CC,yBAASlf,GAAGiQ,MAAH,CAAUkP,QAAV,GAAqBnf,GAAGiQ,MAAH,CAAUkP,QAAV,CAAmBrrB,OAAnB,EAArB,GAAoDrC,SAJnB;AAK1C2tB,2BAAWpf,GAAGiQ,MAAH,CAAUkP,QAAV,GAAqBnf,GAAGiQ,MAAH,CAAUkP,QAAV,CAAmBnrB,QAAnB,KAAgC,CAArD,GAAyDvC,SAL1B;AAM1C4tB,0BAAUrf,GAAGiQ,MAAH,CAAUkP,QAAV,GAAqBnf,GAAGiQ,MAAH,CAAUkP,QAAV,CAAmBjrB,WAAnB,EAArB,GAAwDzC,SANxB;AAO1C6tB,uBAAOtf,GAAGiQ,MAAH,CAAUsP,MAAV,GAAmBvf,GAAGiQ,MAAH,CAAUsP,MAAV,CAAiBzrB,OAAjB,EAAnB,GAAgDrC,SAPb;AAQ1C+tB,yBAASxf,GAAGiQ,MAAH,CAAUsP,MAAV,GAAmBvf,GAAGiQ,MAAH,CAAUsP,MAAV,CAAiBvrB,QAAjB,KAA8B,CAAjD,GAAqDvC,SARpB;AAS1CguB,wBAAQzf,GAAGiQ,MAAH,CAAUsP,MAAV,GAAmBvf,GAAGiQ,MAAH,CAAUsP,MAAV,CAAiBrrB,WAAjB,EAAnB,GAAoDzC,SATlB;AAU1CoW,sBAAM7H,GAAGiQ,MAAH,CAAU0O;;AAV0B,aAA9C,EAYGxhB,IAZH,CAYQ,UAAUuV,QAAV,EAAoB;AACxB1S,mBAAG0S,QAAH,GAAcA,QAAd;AACH,aAdD,EAcGgL,OAdH,CAcW,YAAY;AAAE1d,mBAAGwe,WAAH,GAAiB,KAAjB;AAAyB,aAdlD;AAeH;;AAED,iBAASF,eAAT,GAA2B;AACvB,gBAAI,CAACte,GAAG0S,QAAH,CAAY1U,MAAb,IAAuB,CAACgC,GAAG0S,QAAH,CAAY1U,MAAZ,CAAmBxM,MAA/C,EACI;;AAEJwO,eAAG0S,QAAH,CAAY1U,MAAZ,CAAmB0hB,OAAnB,CAA2B,UAAU9sB,IAAV,EAAgB;AACvCA,qBAAK+sB,OAAL,GAAe3f,GAAGue,WAAlB;AACH,aAFD;AAGH;;AAED,iBAASE,aAAT,GAAyB;AACrBze,eAAGwe,WAAH,GAAiB,IAAjB;;AAEA,gBAAIoB,cAAc,EAAlB;;AAEA5f,eAAG0S,QAAH,CAAY1U,MAAZ,CAAmB0hB,OAAnB,CAA2B,UAAU9sB,IAAV,EAAgB;AACvC,oBAAIA,KAAK+sB,OAAT,EACIC,YAAY5d,IAAZ,CAAiBpP,KAAKgC,EAAtB;AACP,aAHD;;AAKA,gBAAI,CAACgrB,YAAYpuB,MAAjB,EAAyB;AACrBwO,mBAAGwe,WAAH,GAAiB,KAAjB;AACA;AACH;;AAEDjC,yBAAayB,aAAb,CAA2B4B,WAA3B,EAAwCziB,IAAxC,CAA6C,UAAU0iB,cAAV,EAA0B;AACnE,oBAAIA,cAAJ,EACI9jB,iBAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBywB,4BAA9C,EADJ,KAGI/jB,iBAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB0wB,kCAA7C;;AAEJ/f,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACAR;AACH,aATD,EASGL,OATH,CASW,YAAY;AACnB1d,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACH,aAZD;AAaH;;AAED,iBAASG,gBAAT,CAA0B9rB,IAA1B,EAAgC;AAC5B,gBAAI2P,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,wDAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOjN,IAAP,GAAcA,IAAd;AACAiN,2BAAO0C,KAAP,GAAeC,iBAAf;AACH,iBAJW;AAHW,aAAf,CAAZ;;AAUA,mBAAOD,MAAMvE,MAAb;AACH;;AAED,iBAASkC,iBAAT,GAA6B;AACzB,gBAAI8f,cAAcngB,OAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;;AAEnF,oBAAI,CAACD,QAAL,EAAe;AACXP,uBAAGqe,gBAAH,GAAsB,EAAtB;AACA;AACH,iBAHD,MAGO;AACHN;AACH;;AAED,oBAAI,CAACxd,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJqe,qCAAqBte,QAArB;AACH,aAbiB,CAAlB;;AAeA,gBAAI0f,gBAAgBpgB,OAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALmB,CAApB;;AAOA,gBAAImC,cAAcrgB,OAAOS,MAAP,CAAc,qBAAd,EAAqC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACjF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALiB,CAAlB;;AAOA,gBAAIoC,eAAetgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALkB,CAAnB;;AAOA,gBAAIqC,eAAevgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALkB,CAAnB;;AAOAle,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BwwB;AACAC;AACAC;AACAC;AACAC;AACH,aAND;AAOH;AACJ;AACJ,CA/KD,EA+KG7xB,GA/KH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gBADf,EACiC;AACzB7E,oBAAY8tB,wBADa;AAEzB/tB,qBAAa,6DAFY;AAGzBoN,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHe,KADjC;;AAUA8d,6BAAyBvxB,OAAzB,GAAmC,CAAC,YAAD,EAAe,gBAAf,EAAiC,kBAAjC,CAAnC;;AAEA,aAASuxB,wBAAT,CAAkCpxB,UAAlC,EAA8CwpB,cAA9C,EAA8D1c,gBAA9D,EAAgF;AAC5E,YAAIiE,KAAK,IAAT;AACAA,WAAGpN,IAAH,GAAU,EAAV;;AAEAoN,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY,CAAE,CAA3B;;AAEA,iBAASoZ,IAAT,GAAgB;AACZZ,2BAAelK,cAAf,CAA8BvO,GAAGpN,IAAjC,EAAuCuK,IAAvC,CAA4C,YAAW;AACnDpB,iCAAiBsB,OAAjB,CAAyB,qCAAzB;AACA2C,mBAAGuC,KAAH,CAASgB,KAAT;AACH,aAHD;AAIH;AACJ;AACJ,CA7BD;;;ACAA,CAAC,YAAY;AACT;;AACA/U,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,eADb,EAC8BwiB,aAD9B;;AAGIA,kBAAcpvB,OAAd,GAAwB,CAAC,cAAD,CAAxB;;AAEJ,aAASovB,aAAT,CAAuB5e,YAAvB,EAAqC;;AAEjC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQ7I,OAAR,GAAkBA,OAAlB;AACA6I,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;AACAjI,gBAAQyT,aAAR,GAAwBA,aAAxB;;AAEA,iBAAStc,OAAT,CAAiB+B,EAAjB,EAAqB;AACjB,mBAAO0K,aAAarD,GAAb,aAA2BrH,EAA3B,CAAP;AACH;;AAED,iBAAS2K,MAAT,CAAgBwP,SAAhB,EAA2BC,YAA3B,EAAyC;AACrC,mBAAO1P,aAAarD,GAAb,CAAiB,gBAAjB,EAAmC,EAAC8S,WAAWA,SAAZ,EAAuBC,cAAcA,YAArC,EAAnC,CAAP;AACH;;AAED,iBAASzW,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,eAAlB,EAAmC,EAACtH,IAAIA,EAAL,EAAnC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB0P,MAAhB,EAAwB;AACpB,mBAAO5P,aAAapD,IAAb,CAAkB,eAAlB,EAAmCgT,MAAnC,CAAP;AACH;;AAED,iBAASvL,MAAT,CAAgBuL,MAAhB,EAAwB;AACpB,mBAAO5P,aAAapD,IAAb,CAAkB,mBAAmBgT,OAAOta,EAA5C,EAAgDsa,MAAhD,CAAP;AACH;;AAED,iBAASC,aAAT,CAAuBva,EAAvB,EAA2B;AACvB,mBAAO0K,aAAarD,GAAb,CAAiB,YAAYrH,EAAZ,GAAiB,SAAlC,CAAP;AACH;AACJ;AACJ,CA1CD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,cADf,EAC+B;AACvB7E,oBAAY+tB,sBADW;AAEvBhuB,qBAAa,mDAFU;AAGvBoN,kBAAU;AACNC,mBAAO,UADD;AAENkZ,uBAAW,UAFL;AAGNloB,kBAAM,OAHA;AAINiP,sBAAU,WAJJ;AAKN5P,kBAAM,GALA;AAMN8oB,sBAAU,aANJ;AAONC,wBAAY,GAPN;AAQN/J,0BAAc,GARR;AASND,uBAAW;AATL;AAHa,KAD/B;;AAiBAuR,2BAAuBxxB,OAAvB,GAAiC,CAAC,QAAD,EAAW,eAAX,CAAjC;;AAEA,aAASwxB,sBAAT,CAAgCzgB,MAAhC,EAAwCqe,aAAxC,EAAuD;AACnD,YAAIle,KAAK,IAAT;;AAEA;AACAA,WAAGoe,OAAH;AACApe,WAAGugB,aAAH;AACAvgB,WAAGwgB,YAAH,GAAkBA,YAAlB;;AAEAxgB,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACI4H,gBADJ,KAGIzgB,GAAGoe,OAAH,GAAape,GAAGrP,IAAhB;;AAEJuP;AACH,SAPD;;AASA,iBAASugB,aAAT,GAAyB;AACrBvC,0BAAc3e,MAAd,CAAqBS,GAAG+O,SAAxB,EAAmC/O,GAAGgP,YAAtC,EAAoD7R,IAApD,CAAyD,UAAUihB,OAAV,EAAmB;AACxEpe,mBAAGoe,OAAH,GAAaA,OAAb;;AAEA,oBAAGA,QAAQ5sB,MAAX,EAAmB;AACf,wBAAIwO,GAAGL,KAAP,EAAc;AACV,6BAAK,IAAIjB,IAAI,CAAb,EAAgBA,IAAI0f,QAAQ5sB,MAA5B,EAAoCkN,GAApC,EAAyC;AACrC,gCAAI0f,QAAQ1f,CAAR,EAAW9J,EAAX,IAAiBoL,GAAGL,KAAxB,EAA+B;AAC3BK,mCAAGugB,aAAH,GAAmBnC,QAAQ1f,CAAR,CAAnB;AACA;AACH;AACJ;AACJ;AACJ;AACJ,aAbD;AAcH;;AAED,iBAAS8hB,YAAT,CAAsBE,KAAtB,EAA6BC,MAA7B,EAAqCC,MAArC,EAA6Cpf,MAA7C,EAAqD;AACjDxB,eAAGL,KAAH,GAAWghB,OAAO/rB,EAAlB;AACAoL,eAAGugB,aAAH,GAAmBI,MAAnB;AACH;;AAED,iBAASzgB,iBAAT,GAA6B;AACzB,gBAAIgZ,sBAAsBrZ,OAAOS,MAAP,CAAc,oBAAd,EAAoC,YAAY;AACtEmgB;AACH,aAFyB,CAA1B;;AAIA5gB,mBAAOS,MAAP,CAAc,qBAAd,EAAqC,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAC1D,oBAAI,CAACD,MAAD,IAAWC,MAAX,IAAqB,OAAOD,MAAP,IAAkB,QAA3C,EACIjB,GAAGL,KAAH,GAAW,IAAX;AACP,aAHD;;AAKAE,mBAAOS,MAAP,CAAc,aAAd,EAA6B,UAAUW,MAAV,EAAkBC,MAAlB,EAA0B;AACnD,oBAAI,CAACD,MAAD,IAAWC,MAAX,IAAqB,OAAQD,MAAR,IAAmB,QAA5C,EAAsD;AAClDjB,uBAAGL,KAAH,GAAW,IAAX;AACAK,uBAAGugB,aAAH,GAAmB,IAAnB;AACH,iBAHD,MAGO;AACH,wBAAIvgB,GAAGoe,OAAH,IAAcpe,GAAGoe,OAAH,CAAW5sB,MAA7B,EAAqC;AACjC,4BAAIwO,GAAGL,KAAP,EAAc;AACV,iCAAK,IAAIjB,IAAI,CAAb,EAAgBA,IAAIsB,GAAGoe,OAAH,CAAW5sB,MAA/B,EAAuCkN,GAAvC,EAA4C;AACxC,oCAAIsB,GAAGoe,OAAH,CAAW1f,CAAX,EAAc9J,EAAd,IAAoBoL,GAAGL,KAA3B,EAAkC;AAC9BK,uCAAGugB,aAAH,GAAmBvgB,GAAGoe,OAAH,CAAW1f,CAAX,CAAnB;AACA;AACH;AACJ;AACJ;AACJ;AACJ;AACJ,aAhBD;;AAkBAmB,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAW;AAC9B0pB;AACH,aAFD;AAGH;AACJ;AACJ,CA7FD;;;ACAA,CAAC,YAAY;AACT;;AACA1qB,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,sBADb,EACqCmlB,oBADrC;;AAGAA,yBAAqB/xB,OAArB,GAA+B,CAAC,cAAD,CAA/B;;AAEA,aAAS+xB,oBAAT,CAA8BvhB,YAA9B,EAA4C;;AAExC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;;AAEA,iBAASpE,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,uBAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,mBAAmBrH,EAApC,CAAP;AACH;;AAED,iBAAS2D,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,0BAA0BtH,EAA5C,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,uBAAlB,EAA2CtJ,IAA3C,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,uBAAlB,EAA2CtJ,IAA3C,CAAP;AACH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAY;AACT;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EAEQ;AACI7E,oBAAYuuB,0BADhB;AAEIxuB,qBAAa;AAFjB,KAFR;;AAOAwuB,+BAA2BhyB,OAA3B,GAAqC,CAAC,YAAD,EAAe,yBAAf,EAA0C,kBAA1C,EAA8D,aAA9D,EAA6E,gBAA7E,CAArC;;AAEA,aAASgyB,0BAAT,CAAoC7xB,UAApC,EAAgD8xB,uBAAhD,EAAyEhlB,gBAAzE,EAA2FilB,WAA3F,EAAwG5xB,cAAxG,EAAwH;AACpH,YAAI4Q,KAAK,IAAT;;AAEAA,WAAGC,OAAH,GAAa,YAAY;AACrB8gB,oCAAwBxhB,MAAxB,GAAiCpC,IAAjC,CAAsC,UAAUxM,IAAV,EAAgB;AAClDqP,mBAAGihB,IAAH,GAAUtwB,IAAV;AACH,aAFD;AAGH,SAJD;;AAMAqP,WAAGkhB,WAAH,GAAiB,UAAUnS,SAAV,EAAqB;AAClC3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EAAkC5R,IAAlC,CAAuC,UAAUjD,OAAV,EAAmB;AACtD3L,oBAAI2L,OAAJ,CAAYC,gBAAZ,CAA6BD,QAAQtF,EAArC,EAAyCsF,QAAQinB,QAAjD,EAA2DjnB,QAAQknB,UAAnE,EAA+ElnB,QAAQ1G,KAAR,CAAchC,MAAd,GAAuB,CAAtG;AACH,aAFD;AAGH,SAJD;;AAMAwO,WAAGqhB,eAAH,GAAqB,UAASC,GAAT,EAAc;AAC/B,gBAAI,CAACA,IAAIC,eAAT,EAA0B;AACtBD,oBAAIE,UAAJ,GAAiB,KAAjB;AACA;AACH;AACDF,gBAAIE,UAAJ,GAAiB,CAACF,IAAIE,UAAtB;;AAEA,iBAAK,IAAI9iB,IAAI,CAAb,EAAgBA,IAAIsB,GAAGihB,IAAH,CAAQzvB,MAA5B,EAAoCkN,GAApC,EAAyC;AACrC,oBAAIsB,GAAGihB,IAAH,CAAQviB,CAAR,EAAW9J,EAAX,IAAiB0sB,IAAI1sB,EAAzB,EACIoL,GAAGihB,IAAH,CAAQviB,CAAR,EAAW8iB,UAAX,GAAwB,KAAxB;AACP;;AAED,gBAAIF,IAAIE,UAAJ,KAAmB,CAACF,IAAI5O,QAAL,IAAiB,CAAC4O,IAAI5O,QAAJ,CAAalhB,MAAlD,CAAJ,EAA+D;AAC3DuvB,wCAAwBU,UAAxB,CAAmCH,IAAI1sB,EAAvC,EAA2CuI,IAA3C,CAAgD,UAASxM,IAAT,EAAe;AAC3D2wB,wBAAI5O,QAAJ,GAAe/hB,IAAf;AACH,iBAFD;AAGH;AACJ,SAjBD;AAmBH;AACJ,CA9CD,EA8CGpC,GA9CH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,yBADb,EACwCqlB,uBADxC;;AAGAA,4BAAwBjyB,OAAxB,GAAkC,CAAC,cAAD,CAAlC;;AAEA,aAASiyB,uBAAT,CAAiCzhB,YAAjC,EAA+C;;AAE3C,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQ+lB,UAAR,GAAqBxlB,GAArB;;AAEA,iBAASsD,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,iBAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,aAAarH,EAA9B,CAAP;AACH;AACJ;AACJ,CAtBD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,2BADb,EAC0CgmB,yBAD1C;;AAGAA,8BAA0B5yB,OAA1B,GAAoC,CAAC,cAAD,CAApC;;AAEA,aAAS4yB,yBAAT,CAAmCpiB,YAAnC,EAAiD;;AAE7C,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;;AAEA,iBAASpE,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,4BAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,wBAAwBrH,EAAzC,CAAP;AACH;;AAED,iBAAS2D,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,+BAA+BtH,EAAjD,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,4BAAlB,EAAgDtJ,IAAhD,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,4BAAlB,EAAgDtJ,IAAhD,CAAP;AACH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAY;AACT;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,0BADf,EAC2C;AACnC7E,oBAAYoS,IADuB;AAEnCrS,qBAAa,2EAFsB;AAGnCoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU;AAJJ;AAHyB,KAD3C;;AAYAnU,SAAK7V,OAAL,GAAe,CAAC,2BAAD,CAAf;;AAEA,aAAS6V,IAAT,CAAc+c,yBAAd,EAAyC;AACrC,YAAI1hB,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH,GAAW,EAAX;;AAEAwM,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAIA,iBAASA,MAAT,GAAkB;AACdmiB,sCAA0BniB,MAA1B,GAAmCpC,IAAnC,CAAwC,UAAU3J,KAAV,EAAiB;AACrDwM,mBAAGxM,KAAH,GAAWA,KAAX;;AAEA,oBAAIwM,GAAG8Y,QAAH,IAAgBtlB,SAASA,MAAMhC,MAA/B,IAA0C,CAACwO,GAAGL,KAAlD,EACIK,GAAGL,KAAH,GAAWnM,MAAM,CAAN,EAASoB,EAApB;AACP,aALD;AAMH;AACJ;AACJ,CAnCD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EAEQ;AACI7E,oBAAYovB,wBADhB;AAEIrvB,qBAAa;AAFjB,KAFR;;AAOAqvB,6BAAyB7yB,OAAzB,GAAmC,CAAC,YAAD,EAAe,aAAf,EAA8B,WAA9B,CAAnC;;AAEA,aAAS6yB,wBAAT,CAAkC1yB,UAAlC,EAA8C+xB,WAA9C,EAA2D7xB,SAA3D,EAAsE;AAClE,YAAI6Q,KAAK,IAAT;;AAEAA,WAAG4hB,WAAH,GAAiB,yBAAjB;;AAEA5hB,WAAGC,OAAH,GAAa,YAAY,CAAG,CAA5B;;AAEAD,WAAG6hB,aAAH,GAAmB,UAASC,GAAT,EAAc;AAC7B9hB,eAAG4hB,WAAH,GAAiBE,GAAjB;AACH,SAFD;AAGH;AACJ,CAtBD;;;ACAA,CAAC,YAAW;AACR;;AACAtzB,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,uBADb,EACsCqmB,qBADtC;;AAGAA,0BAAsBjzB,OAAtB,GAAgC,CAAC,cAAD,CAAhC;;AAEA,aAASizB,qBAAT,CAA+BziB,YAA/B,EAA6C;;AAEzC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQsmB,UAAR,GAAqBA,UAArB;AACAtmB,gBAAQumB,WAAR,GAAsBA,WAAtB;;AAEA;AACAvmB,gBAAQwmB,oBAAR,GAA+BA,oBAA/B;AACAxmB,gBAAQymB,qBAAR,GAAgCA,qBAAhC;;AAEA,iBAASH,UAAT,GAAsB;AAClB,mBAAO1iB,aAAarD,GAAb,CAAiB,4BAAjB,CAAP;AACH;;AAED,iBAASgmB,WAAT,CAAqBtxB,IAArB,EAA2B;AACvB,mBAAO2O,aAAapD,IAAb,CAAkB,6BAAlB,EAAiDvL,IAAjD,CAAP;AACH;;AAED,iBAASuxB,oBAAT,CAA8BvxB,IAA9B,EAAoC;AAChC,mBAAO2O,aAAarD,GAAb,CAAiB,oCAAjB,CAAP;AACH;;AAED,iBAASkmB,qBAAT,CAA+BxxB,IAA/B,EAAqC;AACjC,mBAAO2O,aAAapD,IAAb,CAAkB,oCAAlB,EAAwDvL,IAAxD,CAAP;AACH;AACJ;AACJ,CAlCD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,yBADb,EACwC0mB,uBADxC;;AAGAA,4BAAwBtzB,OAAxB,GAAkC,CAAC,cAAD,CAAlC;;AAEA,aAASszB,uBAAT,CAAiC9iB,YAAjC,EAA+C;;AAE3C,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;;AAEA,iBAASpE,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,0BAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,sBAAsBrH,EAAvC,CAAP;AACH;;AAED,iBAAS2D,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,6BAA6BtH,EAA/C,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,0BAAlB,EAA8CtJ,IAA9C,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,0BAAlB,EAA8CtJ,IAA9C,CAAP;AACH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAY;AACT;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,wBADf,EACyC;AACjC7E,oBAAYoS,IADqB;AAEjCrS,qBAAa,uEAFoB;AAGjCoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU;AAJJ;AAHuB,KADzC;;AAYAnU,SAAK7V,OAAL,GAAe,CAAC,yBAAD,CAAf;;AAEA,aAAS6V,IAAT,CAAcyd,uBAAd,EAAuC;AACnC,YAAIpiB,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH,GAAW,EAAX;;AAEAwM,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAIA,iBAASA,MAAT,GAAkB;AACd6iB,oCAAwB7iB,MAAxB,GAAiCpC,IAAjC,CAAsC,UAAU3J,KAAV,EAAiB;AACnDwM,mBAAGxM,KAAH,GAAWA,KAAX;;AAEA,oBAAIwM,GAAG8Y,QAAH,IAAgBtlB,SAASA,MAAMhC,MAA/B,IAA0C,CAACwO,GAAGL,KAAlD,EACIK,GAAGL,KAAH,GAAWnM,MAAM,CAAN,EAASoB,EAApB;AACP,aALD;AAMH;AACJ;AACJ,CAnCD;;;ACAA,CAAC,YAAW;AACR;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,gBADb,EAC+B2mB,cAD/B;;AAGAA,mBAAevzB,OAAf,GAAyB,CAAC,cAAD,CAAzB;;AAEA,aAASuzB,cAAT,CAAwB/iB,YAAxB,EAAsC;;AAElC,YAAI7C,UAAU,SAAd;;AAEA,aAAK8C,MAAL,GAAcA,MAAd;;AAEA,iBAASA,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiBQ,UAAU,UAA3B,CAAP;AACH;AACJ;AACJ,CAjBD;;;;;ACAA,CAAC,YAAW;AACR;;AACAjO,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EAEQ;AACI7E,oBAAY+vB,uBADhB;AAEIhwB,qBAAa,qDAFjB;AAGIoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU,aAJJ;AAKNyJ,qBAAS;AALH;AAHd,KAFR;;AAcAD,4BAAwBxzB,OAAxB,GAAkC,CAAC,QAAD,EAAW,gBAAX,CAAlC;;AAEA,aAASwzB,uBAAT,CAAiCziB,MAAjC,EAAyCwiB,cAAzC,EAAyD;AACrD,YAAIriB,KAAK,IAAT;;AAEAA,WAAGwiB,SAAH,GAAe,EAAf;AACAxiB,WAAGugB,aAAH,GAAmB,IAAnB;AACAvgB,WAAGyiB,aAAH,GAAmBA,aAAnB;AACAziB,WAAG0iB,oBAAH,GAA0BA,oBAA1B;;AAEA1iB,WAAGC,OAAH,GAAa,YAAW;AACpBV;;AAEAM,mBAAOS,MAAP,CAAc,qBAAd,EAAqC,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAC1D,oBAAI,OAAOD,MAAP,IAAkB,QAAlB,IAA8B,QAAOC,MAAP,yCAAOA,MAAP,OAAmB,QAArD,EAA+D;AAC3DlB,uBAAGuiB,OAAH,GAAa,IAAb;AACAviB,uBAAGL,KAAH,GAAW,IAAX;AACAK,uBAAGugB,aAAH,GAAmBtf,MAAnB;AACH;AACJ,aAND;;AAQApB,mBAAOS,MAAP,CAAc,aAAd,EAA6B,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAClD,oBAAIA,WAAW,IAAX,IAAmBD,WAAW,IAAlC,EAAwC;AACpCjB,uBAAGuiB,OAAH,GAAa,IAAb;AACAviB,uBAAGL,KAAH,GAAW,IAAX;AACH,iBAHD,MAIK,IAAIsB,WAAWxP,SAAf,EAA0B;AAC3BuO,uBAAGuiB,OAAH,GAAa,IAAb;AACAviB,uBAAGL,KAAH,GAAW,IAAX;AACAK,uBAAGugB,aAAH,GAAmB,IAAnB;AACH;AACJ,aAVD;AAWH,SAtBD;;AAwBA,iBAASmC,oBAAT,GAAgC;AAC5B,gBAAI1iB,GAAGL,KAAH,IAAY,IAAhB,EAAsB;AAClBK,mBAAGuiB,OAAH,GAAa,IAAb;AACAviB,mBAAGugB,aAAH,GAAmB,IAAnB;AACH;AACJ;;AAED,iBAASkC,aAAT,CAAuB/B,KAAvB,EAA8BC,MAA9B,EAAsCC,MAAtC,EAA8Cpf,MAA9C,EAAsD;AAClDxB,eAAGL,KAAH,GAAWghB,OAAO/rB,EAAlB;AACAoL,eAAGugB,aAAH,GAAmBI,MAAnB;AACA3gB,eAAGuiB,OAAH,GAAa5B,MAAb;AACH;;AAED,iBAASphB,MAAT,GAAkB;AACd8iB,2BAAe9iB,MAAf,GAAwBpC,IAAxB,CAA6B,UAASqlB,SAAT,EAAoB;AAC7CxiB,mBAAGwiB,SAAH,GAAeA,SAAf;AACA,oBAAGA,UAAUhxB,MAAb,EAAqB;AACjB,wBAAIwO,GAAGL,KAAP,EAAc;AACV,6BAAK,IAAIjB,IAAI,CAAb,EAAgBA,IAAI8jB,UAAUhxB,MAA9B,EAAsCkN,GAAtC,EAA2C;AACvC,gCAAI8jB,UAAU9jB,CAAV,EAAa9J,EAAb,IAAmBoL,GAAGL,KAA1B,EAAiC;AAC7BK,mCAAGugB,aAAH,GAAmBiC,UAAU9jB,CAAV,CAAnB;AACAsB,mCAAGuiB,OAAH,GAAaC,UAAU9jB,CAAV,CAAb;AACA;AACH;AACJ;AACJ,qBARD,MAQO;AACH;AACA;AACA;AACH;AACJ;AACJ,aAjBD;AAkBH;AAEJ;AACJ,CArFD;;;ACAA,CAAC,YAAW;AACR;;AACAlQ,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oBADf,EAEQ;AACI7E,oBAAYowB,4BADhB;AAEIrwB,qBAAa;AAFjB,KAFR;;AAOAqwB,iCAA6B7zB,OAA7B,GAAuC,CACnC,QADmC,EAEnC,gBAFmC,EAGnC,gBAHmC,EAInC,gBAJmC,EAKnC,eALmC,EAMnC,iBANmC,EAOnC,sBAPmC,EAQnC,YARmC,EASnC,iBATmC,EAUnC,mBAVmC,EAWnC,cAXmC,CAAvC;;AAcA,aAAS6zB,4BAAT,CAAsC9iB,MAAtC,EACIse,cADJ,EAEI/uB,cAFJ,EAGIqpB,cAHJ,EAIIyF,aAJJ,EAKI0E,eALJ,EAMIC,oBANJ,EAOIC,UAPJ,EAQIC,eARJ,EASIC,iBATJ,EAUIjjB,YAVJ,EAUkB;AACd,YAAIC,KAAK,IAAT;;AAEA;AACAA,WAAGijB,WAAH;AACAjjB,WAAGkjB,aAAH;AACAljB,WAAGmjB,OAAH;AACAnjB,WAAGojB,iBAAH;AACApjB,WAAGqjB,UAAH;;AAEArjB,WAAGpH,OAAH;AACAoH,WAAGkP,MAAH;AACAlP,WAAGgR,OAAH;AACAhR,WAAGsjB,WAAH,GAAiB,GAAjB;AACAtjB,WAAGqe,gBAAH;AACAre,WAAG0S,QAAH,GAAc,EAAd;AACA1S,WAAG9G,IAAH;AACA8G,WAAGujB,WAAH;;AAEA;AACAvjB,WAAGwjB,UAAH,GAAgBA,UAAhB;AACAxjB,WAAGyjB,YAAH,GAAkBA,YAAlB;AACAzjB,WAAG6e,oBAAH,GAA0BA,oBAA1B;AACA7e,WAAG0jB,SAAH,GAAeA,SAAf;AACA1jB,WAAG2jB,WAAH,GAAiBA,WAAjB;;AAEA3jB,WAAGC,OAAH,GAAa,YAAW;AACpBC;AACA0jB;AACH,SAHD;;AAKA,iBAASD,WAAT,CAAqBE,GAArB,EAA0B;AACtB,gBAAI,CAAC7jB,GAAG9G,IAAR,EACI;;AAEJ8pB,8BAAkBc,UAAlB,CAA6B9jB,GAAG9G,IAAhC,EACKiE,IADL,CACU,UAAS4mB,QAAT,EAAmB;AACjB,qBAAK,IAAIrlB,IAAI,CAAb,EAAgBA,IAAIsB,GAAG0S,QAAH,CAAYlhB,MAAhC,EAAwCkN,GAAxC,EAA6C;AACzC,wBAAIgM,IAAI1K,GAAG0S,QAAH,CAAYhU,CAAZ,CAAR;AACA,wBAAIgM,EAAE9X,IAAF,CAAOixB,GAAP,IAAcA,GAAlB,EAAuB;AACnBnZ,0BAAE9X,IAAF,CAAOsG,IAAP,GAAc;AACVlJ,kCAAMgQ,GAAG9G,IAAH,CAAQlJ,IADJ;AAEVg0B,kCAAMD;AAFI,yBAAd;AAIA;AACH;AACJ;AACD/jB,mBAAG9G,IAAH,GAAUzH,SAAV;AACAuO,mBAAGujB,WAAH,GAAiB9xB,SAAjB;AAEH,aAfT,EAgBQ,YAAW,CAAE,CAhBrB;AAiBH;;AAGD,iBAAS+xB,UAAT,GAAsB;AAClB,gBAAI,CAACxjB,GAAGkP,MAAJ,IAAc,CAAClP,GAAGgR,OAAlB,IAA6B,CAAChR,GAAGpH,OAArC,EAA8C;AAC1C;AACH;AACDoH,eAAG0S,QAAH,CAAY1Q,IAAZ,CAAiBiiB,YAAjB;AACH;;AAED,iBAASR,YAAT,GAAwB;AACpB,gBAAI,CAACzjB,GAAG0S,QAAR,EACI;;AAEJ,gBAAIwR,SAAS,EAAb;;AAEA;AACA,iBAAK,IAAIvZ,MAAM,CAAf,EAAkBA,MAAM3K,GAAG0S,QAAH,CAAYlhB,MAApC,EAA4CmZ,KAA5C,EAAmD;AAC/C,oBAAID,IAAI1K,GAAG0S,QAAH,CAAY/H,GAAZ,CAAR;;AAEA,oBAAKD,EAAE1M,MAAF,IAAY0M,EAAE1M,MAAF,IAAY,CAAzB,IAA+B,CAAC0M,EAAE1M,MAAtC,EACIkmB,OAAOliB,IAAP,CAAYxT,QAAQ4tB,IAAR,CAAa1R,EAAE9X,IAAf,CAAZ;AACP;;AAED;AACA;AACA;AACA;AACA;;AAEA,gBAAI,CAACsxB,OAAO1yB,MAAZ,EACI;;AAEJ;AACApC,2BAAe+0B,QAAf,CAAwBD,MAAxB,EAAgC/mB,IAAhC,CAAqC,UAASa,MAAT,EAAiB;AAClD,qBAAK,IAAIU,IAAI,CAAb,EAAgBA,IAAIV,OAAOxM,MAA3B,EAAmCkN,GAAnC,EAAwC;AACpC,wBAAI0lB,YAAYpmB,OAAOU,CAAP,EAAU9L,IAAV,CAAeixB,GAA/B;AACA,wBAAIQ,eAAerkB,GAAG0S,QAAH,CAAY4R,SAAZ,CAAsB,UAAS5Z,CAAT,EAAY;AACjD,+BAAOA,EAAE9X,IAAF,CAAOixB,GAAP,IAAcO,SAArB;AACH,qBAFkB,CAAnB;;AAIA,wBAAIC,eAAe,CAAC,CAAhB,IAAqBA,eAAerkB,GAAG0S,QAAH,CAAYlhB,MAApD,EAA4D;AACxD,4BAAI+yB,MAAMvkB,GAAG0S,QAAH,CAAY2R,YAAZ,CAAV;AACAE,4BAAIpmB,YAAJ,GAAmBH,OAAOU,CAAP,EAAUP,YAA7B;AACAomB,4BAAIvmB,MAAJ,GAAaA,OAAOU,CAAP,EAAUV,MAAvB;AACH;AACJ;AACJ,aAbD;AAcH;;AAED,iBAAS4lB,WAAT,GAAuB;AACnBhB,4BAAgBrjB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAASqnB,UAAT,EAAqB;AAC/CxkB,mBAAGkjB,aAAH,GAAmBsB,UAAnB;AACH,aAFD;AAGA3B,iCAAqBtjB,MAArB,GAA8BpC,IAA9B,CAAmC,UAASsnB,OAAT,EAAkB;AACjDzkB,mBAAGojB,iBAAH,GAAuBqB,OAAvB;AACH,aAFD;AAGA1B,4BAAgBxjB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAASunB,QAAT,EAAmB;AAC7C1kB,mBAAGijB,WAAH,GAAiByB,QAAjB;AACH,aAFD;AAGA5B,uBAAWvjB,MAAX,GAAoBpC,IAApB,CAAyB,UAASwnB,IAAT,EAAe;AACpC3kB,mBAAGmjB,OAAH,GAAawB,IAAb;AACH,aAFD;AAGAzG,0BAAc3e,MAAd,GAAuBpC,IAAvB,CAA4B,UAASihB,OAAT,EAAkB;AAC1Cpe,mBAAGqjB,UAAH,GAAgBjF,OAAhB;AACH,aAFD;AAGH;;AAED,iBAASS,oBAAT,CAA8Bte,QAA9B,EAAwCC,QAAxC,EAAkD;AAC9C,gBAAI,CAACD,QAAL,EAAe;AACXP,mBAAGqe,gBAAH,GAAsB,EAAtB;AACA;AACH;;AAEDF,2BAAeW,eAAf,CAA+Bve,QAA/B,EAAyCpD,IAAzC,CAA8C,UAAS4hB,QAAT,EAAmB;AAC7D/e,mBAAGqe,gBAAH,GAAsBU,QAAtB;AACH,aAFD;AAGH;;AAED,iBAASkF,UAAT,GAAsB;AAClB,gBAAIW,QAAQC,mBAAmB7kB,GAAGgR,OAAtB,CAAZ;AACA,gBAAI8T,QAAQC,kBAAkB/kB,GAAGkP,MAArB,CAAZ;;AAEA,mBAAO;AACHlR,wBAAQ,IADL;AAEHG,8BAAc,EAFX;AAGH6mB,4BAAYF,KAHT;AAIHG,6BAAaL,KAJV;AAKHhyB,sBAAM;AACFixB,yBAAKzrB,MADH;AAEFtF,0BAAMkN,GAAGsjB,WAFP;AAGFtE,+BAAWhf,GAAGpH,OAHZ;AAIFvF,gCAAY,IAJV;AAKFK,+BAAW,IALT;AAMFurB,+BAAWjf,GAAGgR,OANZ;AAOFrd,yBAAK,IAPH;AAQFuxB,iCAAa,IARX;AASFC,4BAAQ,IATN;AAUFC,qCAAiB,IAVf;AAWFxxB,0BAAMmM,aAAab,KAAb,CAAmB,IAAI9M,IAAJ,EAAnB,CAXJ;AAYF8G,0BAAM;AAZJ;AALH,aAAP;AAoBH;;AAED;AACA,YAAId,OAAO,SAAPA,IAAO,GAAW;AAClB,qBAASuc,EAAT,GAAc;AACV,uBAAOT,KAAKC,KAAL,CAAW,CAAC,IAAID,KAAKU,MAAL,EAAL,IAAsB,OAAjC,EACFlT,QADE,CACO,EADP,EAEFmT,SAFE,CAEQ,CAFR,CAAP;AAGH;;AAED;AACA,mBAAOF,OACHA,IADG,GAEH,GAFG,GAGHA,IAHG,GAIH,GAJG,GAKHA,IALG,GAMH,GANG,GAOHA,IAPG,GAQH,GARG,GASHA,IATG,GAUHA,IAVG,GAWHA,IAXJ;AAYH,SApBD;;AAsBA,iBAASkQ,kBAAT,CAA4BQ,GAA5B,EAAiC;AAC7B,gBAAIr1B,IAAJ;AACA,gBAAI8R,MAAM9B,GAAGqe,gBAAb;;AAEA,iBAAK,IAAI3f,IAAI,CAAb,EAAgBA,IAAIoD,IAAItQ,MAAxB,EAAgCkN,GAAhC,EAAqC;AACjC,oBAAIoD,IAAIpD,CAAJ,EAAO9J,EAAP,IAAaywB,GAAjB,EAAsB;AAClBr1B,2BAAO8R,IAAIpD,CAAJ,EAAO1O,IAAd;AACA;AACH;AACJ;;AAED,mBAAOA,IAAP;AACH;;AAED,iBAAS+0B,iBAAT,CAA2BO,GAA3B,EAAgC;AAC5B,gBAAIt1B,IAAJ;AACA,gBAAI8R,MAAM9B,GAAGqjB,UAAb;;AAEA,iBAAK,IAAI3kB,IAAI,CAAb,EAAgBA,IAAIoD,IAAItQ,MAAxB,EAAgCkN,GAAhC,EAAqC;AACjC,oBAAIoD,IAAIpD,CAAJ,EAAO9J,EAAP,IAAa0wB,GAAjB,EAAsB;AAClBt1B,2BAAO8R,IAAIpD,CAAJ,EAAO1O,IAAd;AACA;AACH;AACJ;;AAED,mBAAOA,IAAP;AACH;;AAED,iBAAS0zB,SAAT,CAAmB/Y,GAAnB,EAAwB;AACpB3K,eAAG0S,QAAH,CAAY6S,MAAZ,CAAmB5a,GAAnB,EAAwB,CAAxB;AACH;;AAED,iBAASzK,iBAAT,GAA6B;AACzB,gBAAI8f,cAAcngB,OAAOS,MAAP,CAAc,cAAd,EAA8Bue,oBAA9B,CAAlB;AACA,gBAAI2G,YAAY3lB,OAAOS,MAAP,CAAc,YAAd,EACZ,YAAW;AACP,oBAAI,CAACN,GAAG9G,IAAR,EACI;;AAEJyqB,4BAAY3jB,GAAGujB,WAAf;AAEH,aAPW,CAAhB;;AASA1jB,mBAAOrQ,GAAP,CAAW,UAAX,EACI,YAAW;AACPwwB;AACH,aAHL;AAIH;AACJ;AAEJ,CAvQD;;;ACAA,CAAC,YAAW;AACR;;AACAxxB,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,iBADb,EACgCknB,eADhC;;AAGAA,oBAAgB9zB,OAAhB,GAA0B,CAAC,cAAD,CAA1B;;AAEA,aAAS8zB,eAAT,CAAyBtjB,YAAzB,EAAuC;;AAEnC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQ+pB,cAAR,GAAyBA,cAAzB;AACA/pB,gBAAQgqB,eAAR,GAA0BA,eAA1B;AACAhqB,gBAAQiqB,kBAAR,GAA6BA,kBAA7B;;AAEA,iBAASpmB,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,kBAAjB,CAAP;AACH;;AAED,iBAASwpB,cAAT,GAA0B;AACtB,mBAAOnmB,aAAarD,GAAb,CAAiB,sBAAjB,CAAP;AACH;;AAED,iBAASypB,eAAT,CAAyB/0B,IAAzB,EAA+B;AAC3B,mBAAO2O,aAAapD,IAAb,CAAkB,sBAAlB,EAA0CvL,IAA1C,CAAP;AACH;;AAED,iBAASg1B,kBAAT,GAA8B;AAC1B,mBAAOrmB,aAAapD,IAAb,CAAkB,kBAAlB,CAAP;AACH;AACJ;AACJ,CAhCD;;;ACAA,CAAC,YAAY;AACT;;AACA1N,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gBADf,EAEQ;AACI7E,oBAAYqzB,wBADhB;AAEItzB,qBAAa,uDAFjB;AAGIoN,kBAAU;AACNC,mBAAO,UADD;AAENkZ,uBAAW,UAFL;AAGNloB,kBAAM,OAHA;AAINiP,sBAAU,aAJJ;AAKN5P,kBAAM,GALA;AAMN8oB,sBAAU,aANJ;AAONC,wBAAY;AAPN;AAHd,KAFR;;AAgBA6M,6BAAyB92B,OAAzB,GAAmC,CAC/B,QAD+B,EAE/B,iBAF+B,CAAnC;;AAKA,aAAS82B,wBAAT,CAAkC/lB,MAAlC,EAA0C+iB,eAA1C,EAA2D;AACvD,YAAI5iB,KAAK,IAAT;;AAEA;AACAA,WAAGwkB,UAAH;AACAxkB,WAAGugB,aAAH;AACAvgB,WAAG6lB,cAAH,GAAoBA,cAApB;;AAEA7lB,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACIiN,mBADJ,KAGI9lB,GAAGwkB,UAAH,GAAgBxkB,GAAGrP,IAAnB;;AAEJkP,mBAAOS,MAAP,CAAc,qBAAd,EAAqC,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAC1D,oBAAI,CAACD,MAAD,IAAWC,MAAX,IAAqB,OAAOD,MAAP,IAAkB,QAA3C,EACIjB,GAAGL,KAAH,GAAW,IAAX;AACP,aAHD;;AAKAE,mBAAOS,MAAP,CAAc,aAAd,EAA6B,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAClD,oBAAIlB,GAAGL,KAAH,IAAYK,GAAGwkB,UAAf,IAA6BxkB,GAAGwkB,UAAH,CAAchzB,MAA/C,EAAuD;AACnD,yBAAK,IAAIkN,IAAI,CAAb,EAAgBA,IAAIsB,GAAGwkB,UAAH,CAAchzB,MAAlC,EAA0CkN,GAA1C,EAA+C;AAC3C,4BAAIsB,GAAGwkB,UAAH,CAAc9lB,CAAd,EAAiB9J,EAAjB,IAAuBoL,GAAGL,KAA9B,EAAqC;AACjCK,+BAAGugB,aAAH,GAAmBvgB,GAAGwkB,UAAH,CAAc9lB,CAAd,CAAnB;AACA;AACH;AACJ;AACJ;AACJ,aATD;AAUH,SArBD;;AAuBA,iBAASmnB,cAAT,CAAwBnF,KAAxB,EAA+BC,MAA/B,EAAuCC,MAAvC,EAA+Cpf,MAA/C,EAAuD;AACnDxB,eAAGL,KAAH,GAAW+gB,MAAM9rB,EAAjB;AACAoL,eAAGugB,aAAH,GAAmBG,KAAnB;AACH;;AAED,iBAASoF,gBAAT,GAA4B;AACxBlD,4BAAgBrjB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAAUqnB,UAAV,EAAsB;AAChDxkB,mBAAGwkB,UAAH,GAAgBA,UAAhB;;AAEA,oBAAGA,WAAWhzB,MAAd,EAAsB;AAClB,wBAAIwO,GAAGL,KAAP,EAAc;AACV,6BAAK,IAAIjB,IAAI,CAAb,EAAgBA,IAAI8lB,WAAWhzB,MAA/B,EAAuCkN,GAAvC,EAA4C;AACxC,gCAAI8lB,WAAW9lB,CAAX,EAAc9J,EAAd,IAAoBoL,GAAGL,KAA3B,EAAkC;AAC9BK,mCAAGugB,aAAH,GAAmBiE,WAAW9lB,CAAX,CAAnB;AACA;AACH;AACJ;AACJ,qBAPD,MAOO;AACHsB,2BAAGugB,aAAH,GAAmBiE,WAAW,CAAX,CAAnB;AACAxkB,2BAAGL,KAAH,GAAW6kB,WAAW,CAAX,EAAc5vB,EAAzB;AACH;AACJ;AACJ,aAhBD;AAiBH;AAEJ;AACJ,CAhFD;;;ACAA,CAAC,YAAW;AACR;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,cADf,EAEQ;AACI7E,oBAAYwzB,sBADhB;AAEIzzB,qBAAa;AAFjB,KAFR;;AAOAyzB,2BAAuBj3B,OAAvB,GAAiC,CAAC,QAAD,EAAW,qBAAX,CAAjC;;AAEA,aAASi3B,sBAAT,CAAgClmB,MAAhC,EAAwCmmB,mBAAxC,EAA6D;AACzD,YAAIhmB,KAAK,IAAT;;AAEAA,WAAGimB,MAAH,GAAY;AACRrxB,gBAAInD,SADI;AAERkB,oBAAQ,KAFA;AAGRuzB,sBAAU;AAHF,SAAZ;;AAMAlmB,WAAGC,OAAH,GAAa,YAAW,CAAE,CAA1B;AAEH;AACJ,CAvBD;;;ACAA,CAAC,YAAW;AACR;;AACAzR,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,qBADb,EACoCsqB,mBADpC;;AAGAA,wBAAoBl3B,OAApB,GAA8B,CAAC,cAAD,CAA9B;;AAEA,aAASk3B,mBAAT,CAA6B1mB,YAA7B,EAA2C;;AAEvC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQ7I,OAAR,GAAkBA,OAAlB;AACA6I,gBAAQyqB,IAAR,GAAeA,IAAf;AACAzqB,gBAAQ2d,IAAR,GAAeA,IAAf;AACA3d,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ0qB,cAAR,GAAyBA,cAAzB;;AAEA,iBAAS7mB,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,uBAAjB,CAAP;AACH;;AAED,iBAASpJ,OAAT,CAAiB+B,EAAjB,EAAqB;AACjB,mBAAO0K,aAAarD,GAAb,CAAiB,mBAAmBrH,EAApC,CAAP;AACH;;AAED,iBAASuxB,IAAT,CAAcvzB,IAAd,EAAoB;AAChB,mBAAO0M,aAAapD,IAAb,CAAkB,oBAAlB,EAAwCtJ,IAAxC,CAAP;AACH;;AAED,iBAASymB,IAAT,CAAczmB,IAAd,EAAoB;AAChB,mBAAO0M,aAAapD,IAAb,CAAkB,eAAlB,EAAmCtJ,IAAnC,CAAP;AACH;;AAED,iBAAS2F,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAarD,GAAb,CAAiB,0BAA0BrH,EAA3C,CAAP;AACH;;AAED,iBAASwxB,cAAT,CAAwB9C,WAAxB,EAAoD;AAAA,gBAAfoB,QAAe,uEAAJ,EAAI;;AAChD,mBAAOplB,aAAapD,IAAb,CAAkB,0BAAlB,EAA8C,EAACpJ,MAAMwwB,WAAP,EAAoBoB,UAAUA,QAA9B,EAA9C,CAAP;AACH;AACJ;AAGJ,CA5CD;;;ACAA,CAAC,YAAW;AACR;;AACAl2B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EAEQ;AACI7E,oBAAY8zB,0BADhB;AAEI/zB,qBAAa,6DAFjB;AAGIoN,kBAAU;AACNumB,oBAAQ;AADF;AAHd,KAFR;;AAUAI,+BAA2Bv3B,OAA3B,GAAqC,CACjC,QADiC,EAEjC,YAFiC,EAGjC,qBAHiC,EAIjC,iBAJiC,EAKjC,aALiC,EAMjC,kBANiC,CAArC;;AASA,aAASu3B,0BAAT,CAAoCxmB,MAApC,EACI5Q,UADJ,EAEI+2B,mBAFJ,EAGIjD,eAHJ,EAII/B,WAJJ,EAKIjlB,gBALJ,EAKsB;AAClB,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG0kB,QAAH,GAAc,EAAd;AACA1kB,WAAGghB,WAAH,GAAiBA,WAAjB;;AAEA;AACAhhB,WAAGsmB,mBAAH,GAAyBA,mBAAzB;AACAtmB,WAAGumB,YAAH,GAAkBA,YAAlB;AACAvmB,WAAGwmB,YAAH,GAAkBA,YAAlB;AACAxmB,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAW;AACpB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBqzB,oCAAoBnzB,OAApB,CAA4BmN,GAAGimB,MAAH,CAAUrxB,EAAtC,EAA0CuI,IAA1C,CAA+C,UAASvK,IAAT,EAAe;AAC1DoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU;AACNE,0BAAMkuB,YAAYvsB,IAAZ,CAAiBgyB,OADjB;AAENnD,iCAAa,IAFP;AAGNzY,6BAAS;AAHH,iBAAV;AAMH;AACJ,SAbD;;AAeA,iBAAS6b,WAAT,GAAuB;AACnB3D,4BAAgBxjB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAASunB,QAAT,EAAmB;AAC7C1kB,mBAAG0kB,QAAH,GAAcA,QAAd;AACH,aAFD;AAGH;;AAED,iBAAS4B,mBAAT,GAA+B;AAC3B,gBAAItmB,GAAGpN,IAAH,CAAQ0wB,WAAR,IAAuBtjB,GAAGghB,WAAH,CAAe1sB,WAAf,CAA2BE,IAAtD,EACIwL,GAAGpN,IAAH,CAAQc,SAAR,GAAoBjC,SAApB;AACP;;AAED,iBAAS+0B,YAAT,CAAsBG,SAAtB,EAAiC;AAC7B,gBAAI3mB,GAAGpN,IAAH,CAAQiY,OAAR,CAAgBiB,OAAhB,CAAwB6a,SAAxB,MAAuC,CAAC,CAA5C,EACI5qB,iBAAiB2G,IAAjB,CAAsBzT,WAAWI,SAAX,CAAqBu3B,6BAA3C,EADJ,KAGI5mB,GAAGpN,IAAH,CAAQiY,OAAR,CAAgB7I,IAAhB,CAAqB2kB,SAArB;AACP;;AAED,iBAASJ,YAAT,CAAsBM,MAAtB,EAA8B;AAC1B7mB,eAAGpN,IAAH,CAAQiY,OAAR,CAAgB0a,MAAhB,CAAuBsB,MAAvB,EAA+B,CAA/B;AACH;;AAED,iBAASxN,IAAT,CAAcsC,IAAd,EAAoB;;AAEhB,gBAAI3b,GAAGpN,IAAH,CAAQE,IAAR,KAAiBkuB,YAAYvsB,IAAZ,CAAiBqyB,IAAtC,EAA4C;AACxC9mB,mBAAGpN,IAAH,CAAQiY,OAAR,GAAkB,EAAlB;AACH;;AAED,gBAAI7K,GAAGpN,IAAH,CAAQE,IAAR,KAAiBkuB,YAAYvsB,IAAZ,CAAiBqyB,IAAlC,IAA0C,CAAC9mB,GAAGpN,IAAH,CAAQiY,OAAR,CAAgBrZ,MAA/D,EAAuE;AACnEuK,iCAAiB2G,IAAjB,CAAsBzT,WAAWI,SAAX,CAAqB03B,oBAA3C;AACA;AACH;;AAED,gBAAI/mB,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;;AAElB;AACAqzB,oCAAoBG,IAApB,CAAyBnmB,GAAGpN,IAA5B,EACKuK,IADL,CACU,YAAW;AACTpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACP,iBAJL;AAKH,aARD,MAQO;AACH;AACAF,oCAAoB3M,IAApB,CAAyBrZ,GAAGpN,IAA5B,EAAkCuK,IAAlC,CAAuC,YAAW;AAC1CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACP,iBAHD;AAIH;AAEJ;AACJ;AACJ,CA1GD;;;ACAA,CAAC,UAAU33B,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EAEQ;AACI7E,oBAAYy0B,0BADhB;AAEI10B,qBAAa,6DAFjB;AAGIoN,kBAAU;AACNumB,oBAAQ;AADF;AAHd,KAFR;;AAUAe,+BAA2Bl4B,OAA3B,GACI,CACI,QADJ,EAEI,YAFJ,EAGI,qBAHJ,EAII,aAJJ,EAKI,kBALJ,CADJ;;AASA,aAASk4B,0BAAT,CAAoCnnB,MAApC,EAA4C5Q,UAA5C,EAAwD+2B,mBAAxD,EAA6EhF,WAA7E,EAA0FjlB,gBAA1F,EAA4G;AACxG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;AACAjnB,WAAGghB,WAAH,GAAiBA,WAAjB;;AAEA;AACAhhB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAIA,iBAASA,MAAT,GAAkB;AACdymB,gCAAoBzmB,MAApB,GAA6BpC,IAA7B,CAAkC,UAAU3J,KAAV,EAAiB;AAC/CwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAED,iBAAS+E,MAAT,GAAkB;AACdytB,gCAAoBztB,MAApB,CAA2ByH,GAAGinB,YAAH,CAAgBryB,EAA3C,EAA+CuI,IAA/C,CAAoD,YAAY;AAC5D6C,mBAAGinB,YAAH,GAAkBx1B,SAAlB;AACAsK,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACH,aAJD;AAKH;AAEJ;AACJ,CAnDD,EAmDGhR,GAnDH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAY40B,gBADkB;AAE9B70B,qBAAa;AAFiB,KADtC;;AAMA60B,qBAAiBr4B,OAAjB,GAA2B,CAAC,YAAD,EAAe,eAAf,EAAgC,kBAAhC,CAA3B;;AAEA,aAASq4B,gBAAT,CAA0Bl4B,UAA1B,EAAsCm4B,aAAtC,EAAqDrrB,gBAArD,EAAuE;AACnE,YAAIiE,KAAK,IAAT;;AAEAA,WAAGC,OAAH,GAAa,YAAY;AACrBmnB,0BAAcpK,SAAd,GAA0B7f,IAA1B,CAA+B,UAAUsR,QAAV,EAAoB;AAC/CzO,mBAAGpN,IAAH,GAAU6b,QAAV;AACH,aAFD;AAGH,SAJD;;AAMAzO,WAAGqZ,IAAH,GAAU,YAAY;AAClB+N,0BAAcjK,UAAd,CAAyBnd,GAAGpN,IAA5B,EAAkCuK,IAAlC,CAAuC,YAAY;AAC/CpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACH,aAFD;AAGH,SAJD;;AAMAzZ,WAAGqnB,gBAAH,GAAsB,UAAUR,MAAV,EAAkB;AACpC7mB,eAAGpN,IAAH,CAAQ00B,WAAR,CAAoB/B,MAApB,CAA2BsB,MAA3B,EAAmC,CAAnC;AACH,SAFD;;AAIA7mB,WAAGunB,gBAAH,GAAsB,YAAY;AAC9BvnB,eAAGpN,IAAH,CAAQ00B,WAAR,CAAoBtlB,IAApB,CAAyB,EAAEwN,MAAM,EAAR,EAAY/b,OAAO,EAAnB,EAAzB;AACH,SAFD;AAGH;AACJ,CAjCD,EAiCGlF,GAjCH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,eADb,EAC8B0rB,aAD9B;;AAGAA,kBAAct4B,OAAd,GAAwB,CAAC,cAAD,CAAxB;;AAEA,aAASs4B,aAAT,CAAuB9nB,YAAvB,EAAqC;;AAEjC,YAAI5D,UAAU,IAAd;AACA,YAAIe,UAAU,SAAd;;AAEAf,gBAAQyhB,UAAR,GAAqBA,UAArB;AACAzhB,gBAAQshB,SAAR,GAAoBA,SAApB;AACAthB,gBAAQqiB,gCAAR,GAA2CA,gCAA3C;AACAriB,gBAAQ8rB,cAAR,GAAyBA,cAAzB;AACA9rB,gBAAQ+rB,mBAAR,GAA8BA,mBAA9B;;AAEA,iBAASzK,SAAT,GAAqB;AACjB,mBAAO1d,aAAarD,GAAb,CAAiBQ,UAAU,WAA3B,CAAP;AACH;;AAED,iBAAS0gB,UAAT,CAAoBvqB,IAApB,EAA0B;AACtB,mBAAO0M,aAAapD,IAAb,CAAkBO,UAAU,WAA5B,EAAyC7J,IAAzC,CAAP;AACH;;AAED,iBAASmrB,gCAAT,CAA0C9N,MAA1C,EAAkD;AAC9C,mBAAO3Q,aAAapD,IAAb,CAAkBO,UAAU,uCAA5B,EAAqEwT,MAArE,CAAP;AACH;;AAED,iBAASuX,cAAT,CAAwB9U,QAAxB,EAAkC;AAC9B,mBAAOpT,aAAapD,IAAb,CAAkBO,UAAU,oBAA5B,EAAkDiW,QAAlD,CAAP;AACH;;AAED,iBAAS+U,mBAAT,CAA6B/U,QAA7B,EAAuC;AACnC,mBAAOpT,aAAapD,IAAb,CAAkBO,UAAU,0BAA5B,EAAwDiW,QAAxD,CAAP;AACH;AACJ;AACJ,CAtCD;;;ACAA,CAAC,YAAY;AACT;;AACAlkB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qCADf,EACsD;AAC9C7E,oBAAYm1B,6CADkC;AAE9Cp1B,qBAAa;AAFiC,KADtD;;AAMAo1B,kDAA8C54B,OAA9C,GAAwD,CAAC,QAAD,EAAW,eAAX,EAA4B,eAA5B,EAClD,gBADkD,EAChC,WADgC,EACnB,YADmB,EACL,kBADK,CAAxD;;AAGA,aAAS44B,6CAAT,CAAuD7nB,MAAvD,EAA+DunB,aAA/D,EAA8ElJ,aAA9E,EACMC,cADN,EACsBhvB,SADtB,EACiCF,UADjC,EAC6C8M,gBAD7C,EAC+D;AAC3D,YAAIiE,KAAK,IAAT;;AAEAA,WAAG0S,QAAH,GAAc,EAAd;AACA1S,WAAGoe,OAAH,GAAa,EAAb;AACApe,WAAGqe,gBAAH,GAAsB,EAAtB;AACAre,WAAGiQ,MAAH;;AAEAjQ,WAAGse,eAAH,GAAqBA,eAArB;AACAte,WAAGue,WAAH,GAAiB,KAAjB;AACAve,WAAGwe,WAAH,GAAiB,KAAjB;;AAEAxe,WAAG2nB,cAAH,GAAoBA,cAApB;AACA3nB,WAAG4nB,mBAAH,GAAyBA,mBAAzB;AACA5nB,WAAG0e,gBAAH,GAAsBA,gBAAtB;AACA1e,WAAG+d,gCAAH,GAAsCA,gCAAtC;;AAEA/d,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGiQ,MAAH,GAAY;AACR0O,4BAAY;AADJ,aAAZ;AAGAC;AACAb;AACA7d;AACH,SAPD;;AASA,iBAAS2e,oBAAT,CAA8B5E,QAA9B,EAAwC;AACpCkE,2BAAeW,eAAf,CAA+B7E,QAA/B,EAAyC9c,IAAzC,CAA8C,UAAU4hB,QAAV,EAAoB;AAC9D/e,mBAAGqe,gBAAH,GAAsBU,QAAtB;AACH,aAFD;AAGH;;AAED,iBAASH,WAAT,GAAuB;AACnBV,0BAAc3e,MAAd,GAAuBpC,IAAvB,CAA4B,UAAUihB,OAAV,EAAmB;AAC3Cpe,mBAAGoe,OAAH,GAAaA,OAAb;AACH,aAFD;AAGH;;AAED,iBAASL,gCAAT,GAA4C;AACxC/d,eAAGwe,WAAH,GAAiB,IAAjB;;AAEA4I,0BAAcrJ,gCAAd,CAA+C;AAC3CiB,2BAAWhf,GAAGiQ,MAAH,CAAU+O,SADsB;AAE3C/E,0BAAUja,GAAGiQ,MAAH,CAAUgK,QAFuB;AAG3CgF,2BAAWjf,GAAGiQ,MAAH,CAAUgP,SAHsB;AAI3C4I,sBAAM7nB,GAAGiQ,MAAH,CAAUkP,QAJ2B;AAK3C2I,oBAAI9nB,GAAGiQ,MAAH,CAAUsP,MAL6B;AAM3C1X,sBAAM7H,GAAGiQ,MAAH,CAAU0O;;AAN2B,aAA/C,EAQGxhB,IARH,CAQQ,UAAUuV,QAAV,EAAoB;AACxB1S,mBAAG0S,QAAH,GAAcA,QAAd;AACH,aAVD,EAUGgL,OAVH,CAUW,YAAY;AAAE1d,mBAAGwe,WAAH,GAAiB,KAAjB;AAAyB,aAVlD;AAWH;;AAED,iBAASF,eAAT,GAA2B;AACvB,gBAAI,CAACte,GAAG0S,QAAJ,IAAgB,CAAC1S,GAAG0S,QAAH,CAAYlhB,MAAjC,EACI;;AAEJwO,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChCA,qBAAK+sB,OAAL,GAAe3f,GAAGue,WAAlB;AACH,aAFD;AAGH;;AAED,iBAASoJ,cAAT,GAA0B;AACtB3nB,eAAGwe,WAAH,GAAiB,IAAjB;;AAEA,gBAAIoB,cAAc,EAAlB;;AAEA5f,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChC,oBAAIA,KAAK+sB,OAAT,EACIC,YAAY5d,IAAZ,CAAiBpP,KAAKgC,EAAtB;AACP,aAHD;;AAKA,gBAAI,CAACgrB,YAAYpuB,MAAjB,EAAyB;AACrBwO,mBAAGwe,WAAH,GAAiB,KAAjB;AACA;AACH;;AAED4I,0BAAcI,cAAd,CAA6B5H,WAA7B,EAA0CziB,IAA1C,CAA+C,UAAU0iB,cAAV,EAA0B;AACrE,oBAAIA,cAAJ,EACI9jB,iBAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBywB,4BAA9C,EADJ,KAGI/jB,iBAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB0wB,kCAA7C;;AAEJ/f,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACAR;AACH,aATD,EASGL,OATH,CASW,YAAY;AACnB1d,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACH,aAZD;AAaH;;AAED,iBAASqJ,mBAAT,GAA+B;AAC3B5nB,eAAGwe,WAAH,GAAiB,IAAjB;;AAEA,gBAAIoB,cAAc,EAAlB;;AAEA5f,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChC,oBAAIA,KAAK+sB,OAAT,EACIC,YAAY5d,IAAZ,CAAiBpP,KAAKgC,EAAtB;AACP,aAHD;;AAKA,gBAAI,CAACgrB,YAAYpuB,MAAjB,EAAyB;AACrBwO,mBAAGwe,WAAH,GAAiB,KAAjB;AACA;AACH;;AAED4I,0BAAcK,mBAAd,CAAkC7H,WAAlC,EAA+CziB,IAA/C,CAAoD,UAAU0iB,cAAV,EAA0B;AAC1E,oBAAIA,cAAJ,EACI9jB,iBAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBywB,4BAA9C,EADJ,KAGI/jB,iBAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB0wB,kCAA7C;;AAEJ/f,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACAR;AACH,aATD,EASGL,OATH,CASW,YAAY;AACnB1d,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACH,aAZD;AAaH;;AAGD,iBAASG,gBAAT,CAA0B9rB,IAA1B,EAAgC;AAC5B,gBAAI2P,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,wDAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOjN,IAAP,GAAcA,IAAd;AACAiN,2BAAO0C,KAAP,GAAeC,iBAAf;AACH,iBAJW;AAHW,aAAf,CAAZ;;AAUA,mBAAOD,MAAMvE,MAAb;AACH;;AAED,iBAASkC,iBAAT,GAA6B;AACzB,gBAAI8f,cAAcngB,OAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;;AAEnF,oBAAI,CAACD,QAAL,EAAe;AACXP,uBAAGqe,gBAAH,GAAsB,EAAtB;AACA;AACH,iBAHD,MAGO;AACHN;AACH;;AAED,oBAAI,CAACxd,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJqe,qCAAqBte,QAArB;AACH,aAbiB,CAAlB;;AAeA,gBAAI0f,gBAAgBpgB,OAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALmB,CAApB;;AAOA,gBAAImC,cAAcrgB,OAAOS,MAAP,CAAc,qBAAd,EAAqC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACjF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALiB,CAAlB;;AAOA,gBAAIoC,eAAetgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALkB,CAAnB;;AAOA,gBAAIqC,eAAevgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALkB,CAAnB;;AAOAle,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BwwB;AACAC;AACAC;AACAC;AACAC;AACH,aAND;AAOH;AACJ;AACJ,CA3MD,EA2MG7xB,GA3MH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,gBADb,EAC+BtM,cAD/B;;AAGAA,mBAAeN,OAAf,GAAyB,CAAC,cAAD,CAAzB;;AAEA,aAASM,cAAT,CAAwBkQ,YAAxB,EAAsC;;AAElC,YAAI7C,UAAU,UAAd;;AAEA,aAAKsrB,OAAL,GAAeA,OAAf;AACA,aAAKl1B,OAAL,GAAeA,OAAf;AACA,aAAK2M,MAAL,GAAcA,MAAd;AACA,aAAKmE,MAAL,GAAcA,MAAd;AACA,aAAKwgB,QAAL,GAAgBA,QAAhB;AACA,aAAKhoB,MAAL,GAAcC,OAAd;AACA,aAAK4rB,gBAAL,GAAwBA,gBAAxB;AACA,aAAKhY,sBAAL,GAA8BA,sBAA9B;AACA,aAAKiY,8BAAL,GAAsCA,8BAAtC;AACA,aAAKC,4BAAL,GAAoCA,4BAApC;AACA,aAAKtY,SAAL,GAAiBA,SAAjB;AACA,aAAKuY,SAAL,GAAiBA,SAAjB;AACA,aAAKC,UAAL,GAAkBA,UAAlB;AACA,aAAKC,YAAL,GAAoBA,YAApB;AACA,aAAKnY,WAAL,GAAmBA,WAAnB;AACA,aAAKoY,eAAL,GAAuBA,eAAvB;AACA,aAAKC,iBAAL,GAAyBA,iBAAzB;AACA,aAAKC,cAAL,GAAsBA,cAAtB;AACA,aAAKC,iBAAL,GAAyBA,iBAAzB;AACA,aAAKC,iBAAL,GAAyBA,iBAAzB;AACA,aAAKC,mBAAL,GAA2BA,mBAA3B;;AAEA,aAAKC,cAAL,GAAsBA,cAAtB;AACA,aAAKC,aAAL,GAAqBA,aAArB;AACA,aAAKC,WAAL,GAAmBA,WAAnB;AACA,aAAKC,aAAL,GAAqBA,aAArB;AACA,aAAKC,eAAL,GAAuBA,eAAvB;AACA,aAAKC,oBAAL,GAA4BA,oBAA5B;AACA,aAAKC,YAAL,GAAoBA,YAApB;AACA,aAAKC,eAAL,GAAuBA,eAAvB;AACA,aAAKC,sBAAL,GAA8BA,sBAA9B;AACA,aAAKC,cAAL,GAAsBA,cAAtB;AACA,aAAKC,2BAAL,GAAmCA,2BAAnC;;AAEA;AACA,iBAASV,cAAT,CAAwB3Y,MAAxB,EAAgC;AAC5B,mBAAO3Q,aAAapD,IAAb,CAAkB,iBAAlB,EAAqC+T,MAArC,CAAP;AACH;;AAED,iBAASgZ,oBAAT,CAA8Br0B,EAA9B,EAAkC;AAC9B,mBAAO0K,aAAarD,GAAb,CAAiB,kCAAkCrH,EAAnD,CAAP;AACH;;AAED,iBAASi0B,aAAT,CAAuBl4B,IAAvB,EAA6B;AACzB,mBAAO2O,aAAapD,IAAb,CAAkB,UAAlB,EAA8BvL,IAA9B,CAAP;AACH;;AAED,iBAASm4B,WAAT,CAAqBn4B,IAArB,EAA2B;AACvB,mBAAO2O,aAAapD,IAAb,CAAkB,mBAAmBvL,KAAKiE,EAA1C,EAA8CjE,IAA9C,CAAP;AACH;;AAED,iBAASo4B,aAAT,CAAuBQ,SAAvB,EAAkC;AAC9B,mBAAOjqB,aAAapD,IAAb,CAAkB,qBAAqBqtB,SAAvC,CAAP;AACH;;AAED,iBAASP,eAAT,CAAyBja,SAAzB,EAAoC;AAChC,mBAAOzP,aAAarD,GAAb,CAAiB,sBAAjB,EAAyC,EAAE8S,WAAWA,SAAb,EAAzC,CAAP;AACH;;AAED,iBAASua,2BAAT,CAAqCrZ,MAArC,EAA4C;AACxC,mBAAO3Q,aAAarD,GAAb,CAAiB,iBAAjB,EAAoC,EAAEgU,QAAQA,MAAV,EAApC,CAAP;AACH;;AAED,iBAASiZ,YAAT,CAAsBK,SAAtB,EAAiC;AAC7B,mBAAOjqB,aAAapD,IAAb,CAAkB,oBAAoBqtB,SAAtC,CAAP;AACH;;AAED,iBAASF,cAAT,GAA0B;AACtB,mBAAO/pB,aAAarD,GAAb,CAAiB,UAAjB,CAAP;AACH;;AAED;AACA,iBAAS8rB,OAAT,CAAiB9X,MAAjB,EAAyB;AACrB,mBAAO3Q,aAAapD,IAAb,CAAkBO,UAAU,UAA5B,EAAwCwT,MAAxC,CAAP;AACH;;AAED,iBAASC,WAAT,CAAqBD,MAArB,EAA6B;AACzB,mBAAO3Q,aAAarD,GAAb,CAAiBQ,UAAU,UAAV,GAAuBmH,mBAAmBqM,MAAnB,CAAxC,CAAP;AACH;;AAED,iBAASmY,UAAT,CAAoBnY,MAApB,EAA4B;AACxB,mBAAO3Q,aAAa9C,YAAb,CAA0B,sBAA1B,EAAkDyT,MAAlD,CAAP;AACH;;AAED,iBAASoY,YAAT,CAAsBpY,MAAtB,EAA8B;AAC1B,mBAAO3Q,aAAa9C,YAAb,CAA0B,sBAA1B,EAAkDyT,MAAlD,CAAP;AACH;;AAED,iBAASsY,iBAAT,CAA2BtY,MAA3B,EAAmC;AAC/B,mBAAO3Q,aAAa9C,YAAb,CAA0B,mCAA1B,EAA+DyT,MAA/D,CAAP;AACH;;AAED,iBAASyY,iBAAT,CAA2BzY,MAA3B,EAAmC;AAC/B,mBAAO3Q,aAAa9C,YAAb,CAA0B,mCAA1B,EAA+DyT,MAA/D,CAAP;AACH;;AAED,iBAASuY,cAAT,CAAwBvY,MAAxB,EAAgC;AAC5B,mBAAO3Q,aAAa9C,YAAb,CAA0B,gCAA1B,EAA4DyT,MAA5D,CAAP;AACH;;AAED,iBAASwY,iBAAT,CAA2BxY,MAA3B,EAAmC;AAC/B,mBAAO3Q,aAAa9C,YAAb,CAA0B,mCAA1B,EAA+DyT,MAA/D,CAAP;AACH;;AAED,iBAASD,sBAAT,CAAgCC,MAAhC,EAAwC;AACpC,mBAAO3Q,aAAapD,IAAb,CAAkBO,UAAU,wBAA5B,EAAsDwT,MAAtD,CAAP;AACH;;AAED,iBAAS+X,gBAAT,CAA0BpzB,EAA1B,EAA8B;AAC1B,mBAAO0K,aAAarD,GAAb,CAAiBQ,UAAU,cAAV,GAA2B7H,EAA5C,CAAP;AACH;;AAED,iBAAS/B,OAAT,CAAiB+B,EAAjB,EAAqB;AACjB,mBAAO0K,aAAarD,GAAb,CAAiBQ,UAAU,OAAV,GAAoB7H,EAArC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsBlE,MAAtB,EAA8B;AAC1B,mBAAO4Q,aAAapD,IAAb,CAAkBO,UAAU,SAA5B,EAAuC7J,IAAvC,EAA6ClE,MAA7C,CAAP;AACH;;AAED,iBAASiV,MAAT,CAAgB/Q,IAAhB,EAAsBlE,MAAtB,EAA8B;AAC1B,mBAAO4Q,aAAapD,IAAb,CAAkBO,UAAU,UAAV,GAAuBmH,mBAAmBhR,KAAKgC,EAAxB,CAAzC,EAAsEhC,IAAtE,EAA4ElE,MAA5E,CAAP;AACH;;AAED,iBAASy1B,QAAT,CAAkBxzB,IAAlB,EAAwB;AACpB,mBAAO2O,aAAapD,IAAb,CAAkBO,UAAU,YAA5B,EAA0C9L,IAA1C,CAAP;AACH;;AAED,iBAASyL,OAAT,CAAiBxH,EAAjB,EAAqB;AACjB,mBAAO0K,aAAapD,IAAb,CAAkBO,UAAU,SAA5B,EAAuC,EAAE7H,IAAIA,EAAN,EAAvC,CAAP;AACH;;AAED,iBAASqzB,8BAAT,CAAwCjJ,SAAxC,EAAmD;AAC/C,mBAAO1f,aAAarD,GAAb,CAAiBQ,UAAU,qCAAV,GAAkDuiB,SAAnE,CAAP;AACH;;AAED,iBAASkJ,4BAAT,CAAsCjY,MAAtC,EAA8C;AAC1C,mBAAO3Q,aAAapD,IAAb,CAAkBO,UAAU,kCAA5B,EAAgEwT,MAAhE,CAAP;AACH;;AAED,iBAASL,SAAT,CAAmBhb,EAAnB,EAAuB;AACnB,mBAAO0K,aAAarD,GAAb,CAAiBQ,UAAU,cAAV,GAA2B7H,EAA5C,CAAP;AACH;;AAED,iBAASuzB,SAAT,GAAqB;AACjB,mBAAO7oB,aAAarD,GAAb,CAAiBQ,UAAU,aAA3B,CAAP;AACH;;AAED,iBAAS6rB,eAAT,CAAyBrY,MAAzB,EAAiC;AAC7B,mBAAO3Q,aAAarD,GAAb,CAAiB,kBAAjB,EAAqC,EAAEgU,QAAQA,MAAV,EAArC,CAAP;AACH;;AAED,iBAASkZ,eAAT,CAAyBK,QAAzB,EAAmC;AAC/B,mBAAOlqB,aAAarD,GAAb,CAAiBQ,UAAU,WAA3B,EAAwC+sB,QAAxC,CAAP;AACH;;AAED,iBAASJ,sBAAT,CAAgCra,SAAhC,EAA2C;AACvC,mBAAOzP,aAAapD,IAAb,CAAkBO,UAAU,YAAV,GAAyBsS,SAA3C,CAAP;AACH;;AAED,iBAAS4Z,mBAAT,CAA6BjW,QAA7B,EAAuC;AACnC,mBAAOpT,aAAa9C,YAAb,CAA0B,mCAA1B,EAA+DkW,QAA/D,CAAP;AACH;AACJ;AACJ,CA/KD;;;ACAA,CAAC,UAASnkB,GAAT,EAAc;AACX;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EAEQ;AACI9E,qBAAa,6DADjB;AAEIC,oBAAYk3B;AAFhB,KAFR;;AAOAA,oCAAgC36B,OAAhC,GAA0C,CACtC,YADsC,EAEtC,QAFsC,CAA1C;;AAKA,aAAS26B,+BAAT,CAAyCx6B,UAAzC,EAAqD4Q,MAArD,EAA6D;AACzD,YAAIG,KAAK,IAAT;;AAEAA,WAAGC,OAAH,GAAa,YAAW;AACpBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACH,SAFD;AAGH;AACJ,CArBD,EAqBGhB,GArBH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,iBADf,EACkC;AAC1B7E,oBAAYm3B,yBADc;AAE1Bp3B,qBAAa;AAFa,KADlC;;AAMIo3B,8BAA0B56B,OAA1B,GAAoC,CAAC,QAAD,EAAW,wBAAX,CAApC;;AAEJ,aAAS46B,yBAAT,CAAmC7pB,MAAnC,EAA2C8pB,sBAA3C,EAAmE;AAC/D,YAAI3pB,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAMH,SAPD;AASH;AACJ,CAzBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,wBADb,EACuCiuB,sBADvC;;AAGIA,2BAAuB76B,OAAvB,GAAiC,CAAC,cAAD,CAAjC;;AAEJ,aAAS66B,sBAAT,CAAgCrqB,YAAhC,EAA8C;;AAE1C,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQ7I,OAAR,GAAkBA,OAAlB;AACA6I,gBAAQ2d,IAAR,GAAeA,IAAf;AACA3d,gBAAQnD,MAAR,GAAiBA,MAAjB;;AAEA,iBAASgH,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,kBAAjB,CAAP;AACH;;AAED,iBAASpJ,OAAT,CAAiB+B,EAAjB,EAAqB;AACjB,mBAAO0K,aAAarD,GAAb,CAAiB,cAAcrH,EAA/B,CAAP;AACH;;AAED,iBAASykB,IAAT,CAAczmB,IAAd,EAAoB;AAChB,mBAAO0M,aAAapD,IAAb,CAAkB,kBAAlB,EAAsCtJ,IAAtC,CAAP;AACH;;AAED,iBAAS2F,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,qBAAqBtH,EAAvC,CAAP;AACH;AACJ;AAGJ,CAlCD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EACmC;AAC3B7E,oBAAYq3B,0BADe;AAE3Bt3B,qBAAa;AAFc,KADnC;;AAMAs3B,+BAA2B96B,OAA3B,GAAqC,CAAC,gBAAD,EAAmB,aAAnB,EAAkC,QAAlC,CAArC;;AAEA,aAAS86B,0BAAT,CAAoCx6B,cAApC,EAAoD4xB,WAApD,EAAiEnhB,MAAjE,EAAyE;AACrE,YAAIG,KAAK,IAAT;AACAA,WAAGghB,WAAH,GAAiBA,WAAjB;AACAhhB,WAAGiQ,MAAH,GAAY;AACRpI,kBAAM;AADE,SAAZ;;AAIA7H,WAAGC,OAAH,GAAa,YAAY;AACrB4pB;AACA3pB;AACH,SAHD;;AAKAF,WAAG8pB,OAAH,GAAa,UAAUl1B,EAAV,EAAc;AACvBxF,2BAAeg6B,sBAAf,CAAsCx0B,EAAtC,EAA0CuI,IAA1C,CAA+C,YAAW;AACtD0sB;AACH,aAFD;AAGH,SAJD;;AAMA,iBAASA,WAAT,CAAqBE,eAArB,EAAsC;AAClC/pB,eAAGgqB,OAAH,GAAa,IAAb;AACA,gBAAI/Z,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACA,gBAAI8Z,eAAJ,EACI9Z,OAAOpI,IAAP,GAAc,CAAd;;AAEJzY,2BAAe+5B,eAAf,CAA+BlZ,MAA/B,EAAuC9S,IAAvC,CAA4C,UAAUuV,QAAV,EAAoB;AAC5D1S,mBAAGiqB,WAAH,GAAiBvX,QAAjB;AACA1S,mBAAGgqB,OAAH,GAAa,KAAb;AACH,aAHD,EAGG,UAAUvuB,GAAV,EAAe;AACduE,mBAAGgqB,OAAH,GAAa,KAAb;AACH,aALD;AAMH;;AAED,iBAAS9pB,iBAAT,GAA6B;AACzB,gBAAIgqB,aAAarqB,OAAOS,MAAP,CAAc,mBAAd,EAAmC,YAAY;AAC5DupB,4BAAY,KAAZ;AACH,aAFgB,CAAjB;;AAIA,gBAAIM,gBAAgBtqB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,YAAW;AACnEupB,4BAAY,IAAZ;AACH,aAFmB,CAApB;AAGH;AACJ;AACJ,CApDD;;;ACAA,CAAC,YAAW;AACR;;AACAr7B,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,mBADb,EACkCsnB,iBADlC;;AAGAA,sBAAkBl0B,OAAlB,GAA4B,CAAC,cAAD,CAA5B;;AAEA,aAASk0B,iBAAT,CAA2B1jB,YAA3B,EAAyC;;AAErC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQooB,UAAR,GAAqBA,UAArB;AACApoB,gBAAQ0uB,cAAR,GAAyBA,cAAzB;;AAEA;AACA,iBAAStG,UAAT,CAAoB5qB,IAApB,EAA0B;AACtB,mBAAOoG,aAAahD,QAAb,CAAsB,mBAAtB,EAA2CpD,IAA3C,CAAP;AACH;;AAED,iBAASkxB,cAAT,CAAwBlxB,IAAxB,EAA8BqE,IAA9B,EAAoC;AAChC,mBAAO+B,aAAahD,QAAb,CAAsB,uBAAtB,EAA+CpD,IAA/C,EAAqDqE,IAArD,CAAP;AACH;AACJ;AACJ,CAvBD;;;ACAA,CAAC,YAAW;AACR;;AACA/O,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,iBADb,EACgC2uB,eADhC;;AAGAA,oBAAgBv7B,OAAhB,GAA0B,CAAC,cAAD,CAA1B;;AAEA,aAASu7B,eAAT,CAAyB/qB,YAAzB,EAAuC;;AAEnC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;;AAEA,iBAASpE,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,kBAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,cAAcrH,EAA/B,CAAP;AACH;;AAED,iBAAS2D,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,qBAAqBtH,EAAvC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,kBAAlB,EAAsCtJ,IAAtC,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,kBAAlB,EAAsCtJ,IAAtC,CAAP;AACH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAW;AACR;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gBADf,EAEQ;AACI7E,oBAAYoS,IADhB;AAEIrS,qBAAa,uDAFjB;AAGIoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU;AAJJ;AAHd,KAFR;;AAaAnU,SAAK7V,OAAL,GAAe,CAAC,iBAAD,CAAf;;AAEA,aAAS6V,IAAT,CAAc0lB,eAAd,EAA+B;AAC3B,YAAIrqB,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH,GAAW,EAAX;;AAEAwM,WAAGC,OAAH,GAAa,YAAW;AACpBV;AACH,SAFD;;AAIA,iBAASA,MAAT,GAAkB;AACd8qB,4BAAgB9qB,MAAhB,CAAuBS,GAAG+O,SAA1B,EAAqC/O,GAAGgP,YAAxC,EAAsD7R,IAAtD,CAA2D,UAAS3J,KAAT,EAAgB;AACvEwM,mBAAGxM,KAAH,GAAWA,KAAX;;AAEA,oBAAIwM,GAAG8Y,QAAH,IAAgBtlB,SAASA,MAAMhC,MAA/B,IAA0C,CAACwO,GAAGL,KAAlD,EACIK,GAAGL,KAAH,GAAWnM,MAAM,CAAN,EAASoB,EAApB;AACP,aALD;AAMH;AACJ;AACJ,CApCD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oBADf,EAEQ;AACI7E,oBAAYoS,IADhB;AAEIrS,qBAAa,mEAFjB;AAGIoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU,aAJJ;AAKNwR,4BAAgB;AALV;AAHd,KAFR;;AAcA3lB,SAAK7V,OAAL,GAAe,CAAC,OAAD,CAAf;;AAEA,aAAS6V,IAAT,CAAc/I,KAAd,EAAqB;AACjB,YAAIoE,KAAK,IAAT;;AAEAA,WAAGuqB,WAAH,GAAiBA,WAAjB;AACAvqB,WAAGwqB,QAAH,GAAcA,QAAd;;AAEAxqB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGyqB,mBAAH,GAAyB,IAAIC,OAAOC,IAAP,CAAYC,MAAZ,CAAmBC,mBAAvB,EAAzB;AACA7qB,eAAG8qB,YAAH,GAAkB,IAAIJ,OAAOC,IAAP,CAAYC,MAAZ,CAAmBG,aAAvB,CAAqCn5B,SAASo5B,cAAT,CAAwB,WAAxB,CAArC,CAAlB;AACF,SAHF;;AAKA,iBAASR,QAAT,CAAkB53B,IAAlB,EAAwB;AACpBoN,eAAG8qB,YAAH,CAAgBrJ,UAAhB,CAA2B,EAACwJ,SAASr4B,KAAKs4B,QAAf,EAA3B,EAAqD,UAASv6B,IAAT,EAAe;AAChEqP,mBAAGsqB,cAAH,CAAkB,EAAE13B,MAAMjC,IAAR,EAAlB;AACH,aAFD;AAGH;;AAED,iBAAS45B,WAAT,CAAqBY,UAArB,EAAiC;AAC7B,mBAAO,IAAIC,OAAJ,CAAY,UAASn7B,OAAT,EAAkBS,MAAlB,EAA0B;AACzCsP,mBAAGyqB,mBAAH,CAAuBY,mBAAvB,CAA2C,EAACC,OAAOH,UAAR,EAA3C,EAAgE,UAASx6B,IAAT,EAAe;AAC3EV,4BAAQU,IAAR;AACH,iBAFD;AAGH,aAJM,CAAP;AAKH;AACJ;AACJ,CA3CD;;;ACAA,CAAC,YAAW;AACR;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,wBADf,EAEQ;AACI7E,oBAAYg5B,gCADhB;AAEIj5B,qBAAa,6EAFjB;AAGIoN,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHd,KAFR;;AAWAgpB,qCAAiCz8B,OAAjC,GAA2C,CAAC,QAAD,CAA3C;;AAEA,aAASy8B,gCAAT,GAA4C;AACxC,YAAIvrB,KAAK,IAAT;;AAEAA,WAAGgqB,OAAH;AACAhqB,WAAGpN,IAAH;AACAoN,WAAGgD,WAAH;AACAhD,WAAGuC,KAAH;;AAEA,aAAKtC,OAAL,GAAe,YAAW;AACtB,gBAAID,GAAGgD,WAAH,CAAepQ,IAAnB,EACIoN,GAAGpN,IAAH,GAAUoN,GAAGgD,WAAH,CAAepQ,IAAzB;AACP,SAHD;;AAKAoN,WAAGqZ,IAAH,GAAU,YAAW;AACjB,gBAAI,CAACrZ,GAAGpN,IAAJ,IAAa,OAAOoN,GAAGpN,IAAV,IAAkB,QAAnC,EACI;;AAEJoN,eAAGuC,KAAH,CAASgB,KAAT,CAAevD,GAAGwrB,YAAlB;AACH,SALD;;AAOAxrB,WAAGwrB,YAAH,GAAkB,UAAS54B,IAAT,EAAe;AAC7BoN,eAAGwrB,YAAH,GAAkB54B,IAAlB;AACH,SAFD;;AAIAoN,WAAGwD,OAAH,GAAa,YAAW;AACpBxD,eAAGuC,KAAH,CAASiB,OAAT;AACH,SAFD;AAGH;AACJ,CA3CD;;;ACAA,CAAC,YAAY;AACT;;AACAhV,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,cADb,EAC6B+vB,YAD7B;;AAGAA,iBAAa38B,OAAb,GAAuB,CAAC,cAAD,CAAvB;;AAEA,aAAS28B,YAAT,CAAsBnsB,YAAtB,EAAoC;;AAEhC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;AACAjI,gBAAQgwB,kBAAR,GAA6BA,kBAA7B;AACAhwB,gBAAQiwB,kBAAR,GAA6BA,kBAA7B;;AAEA,iBAASpsB,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,eAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,eAAerH,EAAhC,CAAP;AACH;;AAED,iBAAS2D,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,cAAlB,EAAkC,EAACtH,IAAIA,EAAL,EAAlC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,cAAlB,EAAkCtJ,IAAlC,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,kBAAkBtJ,KAAKgC,EAAzC,EAA6ChC,IAA7C,CAAP;AACH;;AAED,iBAAS84B,kBAAT,CAA4BE,OAA5B,EAAqC;AACjC,mBAAOtsB,aAAarD,GAAb,CAAiB,8BAA8B2vB,OAA/C,CAAP;AACH;;AAED,iBAASD,kBAAT,CAA4Bh7B,IAA5B,EAAkC;AAC9B,mBAAO2O,aAAapD,IAAb,CAAkB,6BAAlB,EAAiDvL,IAAjD,CAAP;AACH;AACJ;AACJ,CA/CD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gBADf,EACiC;AACzB7E,oBAAYs5B,IADa;AAEzBv5B,qBAAa;AAFY,KADjC;;AAMAu5B,SAAK/8B,OAAL,GAAe,CAAC,aAAD,CAAf;;AAEA,aAAS+8B,IAAT,CAAc5pB,WAAd,EAA2B;AACvB,YAAIjC,KAAK,IAAT;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA7c,WAAGkC,KAAH,GAAWA,KAAX;;AAEAlC,WAAGC,OAAH,GAAa,YAAY,CAExB,CAFD;;AAIA,iBAASiC,KAAT,GAAiB;AACblC,eAAG6c,SAAH,GAAe,IAAf;AACA5a,wBAAYC,KAAZ,CAAkBlC,GAAGpN,IAArB,EAA2BuK,IAA3B,CAAgC,UAAS2uB,QAAT,EAAmB;AAC/CC,wBAAQzK,GAAR,CAAYwK,QAAZ;AACA9rB,mBAAG6c,SAAH,GAAe,KAAf;AACH,aAHD;AAIH;AAEJ;AACJ,CA9BD;;;ACAA,CAAC,YAAY;AACT;;AACAruB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EACgC;AACxB7E,oBAAYs5B,IADY;AAExBv5B,qBAAa,qDAFW;AAGxBoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU,aAJJ;AAKN/J,uBAAW;AALL;AAHc,KADhC;;AAaA8c,SAAK/8B,OAAL,GAAe,CAAC,QAAD,EAAW,gBAAX,CAAf;;AAEA,aAAS+8B,IAAT,CAAchsB,MAAd,EAAsBzQ,cAAtB,EAAsC;AAClC,YAAI4Q,KAAK,IAAT;;AAEA;AACAA,WAAGgsB,QAAH;;AAEAhsB,WAAGC,OAAH,GAAa,YAAY;AACrBV;;AAEAW;AACH,SAJD;;AAMA,iBAASX,MAAT,GAAkB;AACdnQ,2BAAe45B,eAAf,CAA+BhpB,GAAG+O,SAAlC,EAA6C5R,IAA7C,CAAkD,UAAU6uB,QAAV,EAAoB;AAClEhsB,mBAAGgsB,QAAH,GAAcA,QAAd;AACH,aAFD;AAGH;;AAED,iBAAS9rB,iBAAT,GAA6B;;AAEzB,gBAAIiZ,mBAAmBtZ,OAAOS,MAAP,CAAc,iBAAd,EAAiC,YAAY;AAChE2Y;AACH,aAFsB,CAAvB;;AAIApZ,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/B2pB;AACH,aAFD;AAGH;AACJ;AACJ,CA9CD;;;ACAA,CAAC,YAAY;AACT;;AACA3qB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAYs5B,IADkB;AAE9Bv5B,qBAAa,2DAFiB;AAG9BoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU;AAJJ;AAHoB,KADtC;;AAYA+S,SAAK/8B,OAAL,GAAe,CAAC,QAAD,EAAW,aAAX,CAAf;;AAEA,aAAS+8B,IAAT,CAAchsB,MAAd,EAAsBmhB,WAAtB,EAAmC;AAC/B,YAAIhhB,KAAK,IAAT;;AAEA;AACAA,WAAGisB,aAAH,GAAmBjL,YAAYrsB,mBAA/B;;AAEAqL,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGisB,aAAH,GAAmBjL,YAAYrsB,mBAAZ,CAAgCu3B,GAAhC,CAAoC,UAAUt5B,IAAV,EAAgB;AACnE,uBAAO;AACHgC,wBAAIhC,KAAKgC,EADN;AAEH5E,0BAAM4C,KAAK5C;AAFR,iBAAP;AAIH,aALkB,CAAnB;;AAOA,gBAAI,CAACgQ,GAAGL,KAAJ,IAAaK,GAAG8Y,QAApB,EACI9Y,GAAGL,KAAH,GAAWK,GAAGisB,aAAH,CAAiB,CAAjB,EAAoBr3B,EAA/B;AACP,SAVD;AAWH;AACJ,CAlCD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,mBADf,EAEQ;AACI7E,oBAAYs5B,IADhB;AAEIv5B,qBAAa,yDAFjB;AAGIoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,aAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU;AAJJ;AAHd,KAFR;;AAaA+S,SAAK/8B,OAAL,GAAe,CAAC,QAAD,EAAW,aAAX,CAAf;;AAEA,aAAS+8B,IAAT,CAAchsB,MAAd,EAAsBmhB,WAAtB,EAAmC;AAC/B,YAAIhhB,KAAK,IAAT;;AAEA;AACAA,WAAGmsB,iBAAH,GAAuBnL,YAAYhsB,iBAAnC;AACAgL,WAAGosB,WAAH,GAAiBpL,YAAY/rB,WAA7B;;AAEA+K,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGqsB,YAAH,GAAkB,EAAlB;;AAEA,gBAAIC,QACAtL,YAAYhsB,iBAAZ,CAA8Bk3B,GAA9B,CAAkC,UAAUt5B,IAAV,EAAgB;AAC9C,uBAAO;AACHgC,wBAAIhC,KAAKgC,EADN;AAEH5E,0BAAM4C,KAAK5C;AAFR,iBAAP;AAIH,aALD,CADJ;;AAQAgQ,eAAGqsB,YAAH,GAAkBC,KAAlB;;AAEA,gBAAI,CAACtsB,GAAGL,KAAJ,IAAaK,GAAG8Y,QAApB,EACI9Y,GAAGL,KAAH,GAAWK,GAAGqsB,YAAH,CAAgB,CAAhB,EAAmBz3B,EAA9B;AACP,SAfD;AAgBH;AACJ,CAzCD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,sBADb,EACqCmnB,oBADrC;;AAGAA,yBAAqB/zB,OAArB,GAA+B,CAAC,cAAD,CAA/B;;AAEA,aAAS+zB,oBAAT,CAA8BvjB,YAA9B,EAA4C;;AAExC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQ6wB,aAAR,GAAwBA,aAAxB;AACA7wB,gBAAQiI,MAAR,GAAiBA,MAAjB;AACAjI,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQO,GAAR,GAAcA,GAAd;;AAEA,iBAASsD,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,uBAAjB,CAAP;AACH;;AAED,iBAASswB,aAAT,CAAuBvN,SAAvB,EAAkC;AAC9B,mBAAO1f,aAAarD,GAAb,CAAiB,+BAAjB,EAAkD,EAAE+iB,WAAWA,SAAb,EAAlD,CAAP;AACH;;AAED,iBAAS/iB,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,mBAAjB,EAAsC,EAACrH,IAAIA,EAAL,EAAtC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,sBAAlB,EAA0CtJ,IAA1C,CAAP;AACH;;AAED,iBAAS2F,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,sBAAlB,EAA0C,EAACtH,IAAGA,EAAJ,EAA1C,CAAP;AACH;;AAED,iBAAS+O,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,0BAAwBtJ,KAAKgC,EAA/C,EAAmDhC,IAAnD,CAAP;AACH;AACJ;AACJ,CA1CD;;;ACAA,CAAC,YAAY;AACT;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAYi6B,uBADkB;AAE9Bl6B,qBAAa,iEAFiB;AAG9BoN,kBAAU;AACNC,mBAAO,UADD;AAENoZ,wBAAY,aAFN;AAGNF,uBAAW,UAHL;AAINloB,kBAAM,OAJA;AAKNiP,sBAAU,WALJ;AAMN5P,kBAAM,GANA;AAON8oB,sBAAU,aAPJ;AAQNkG,uBAAW;AARL;AAHoB,KADtC;;AAgBAwN,4BAAwB19B,OAAxB,GAAkC,CAAC,QAAD,EAAW,sBAAX,CAAlC;;AAEA,aAAS09B,uBAAT,CAAiC3sB,MAAjC,EAAyCgjB,oBAAzC,EAA+D;AAC3D,YAAI7iB,KAAK,IAAT;;AAEA;AACAA,WAAGykB,OAAH;;AAEAzkB,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACItZ,SADJ,KAGIS,GAAGykB,OAAH,GAAazkB,GAAGrP,IAAhB;AACP,SALD;;AAOAqP,WAAGysB,UAAH,GAAgB,UAAUC,OAAV,EAAmB;AAC/B,gBAAIA,QAAQ1N,SAAZ,EACIhf,GAAGC,OAAH;AACP,SAHD;;AAKA,iBAASV,MAAT,GAAkB;;AAEd,gBAAIS,GAAGgf,SAAP,EACI6D,qBAAqB0J,aAArB,CAAmCvsB,GAAGgf,SAAtC,EAAiD7hB,IAAjD,CAAsD,UAAUsnB,OAAV,EAAmB;AACrEzkB,mBAAGykB,OAAH,GAAaA,OAAb;AACA,oBAAIzkB,GAAG+Y,UAAP,EACIA,WAAW0L,OAAX;AACP,aAJD,EADJ,KAOI5B,qBAAqBtjB,MAArB,GAA8BpC,IAA9B,CAAmC,UAAUsnB,OAAV,EAAmB;AAClDzkB,mBAAGykB,OAAH,GAAaA,OAAb;AACA,oBAAIzkB,GAAG+Y,UAAP,EACIA,WAAW0L,OAAX;AACP,aAJD;AAKP;;AAED,iBAAS1L,UAAT,CAAoB0L,OAApB,EAA6B;AACzB,iBAAK,IAAI/lB,IAAI,CAAb,EAAgBA,IAAI+lB,QAAQjzB,MAA5B,EAAoCkN,GAApC,EAAyC;AACrC,oBAAI9L,OAAO6xB,QAAQ/lB,CAAR,CAAX;AACA,oBAAI9L,KAAK+5B,SAAT,EAAoB;AAChB3sB,uBAAGL,KAAH,GAAW/M,KAAKgC,EAAhB;AACA;AACH;AACJ;AACJ;AAEJ;AACJ,CAjED;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,eADb,EAC8BkxB,aAD9B;;AAGAA,kBAAc99B,OAAd,GAAwB,CAAC,cAAD,CAAxB;;AAEA,aAAS89B,aAAT,CAAuBttB,YAAvB,EAAqC;;AAEjC,aAAKutB,UAAL,GAAkBA,UAAlB;AACA,aAAKttB,MAAL,GAAcA,MAAd;;AAEA,iBAASA,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,gBAAjB,CAAP;AACH;;AAED,iBAAS4wB,UAAT,CAAoBC,MAApB,EAA4B;AACxB,mBAAOxtB,aAAapD,IAAb,CAAkB,oBAAlB,EAAwC4wB,MAAxC,CAAP;AACH;AAEJ;AACJ,CArBD;ACAA;;AACA,CAAC,YAAY;AACT,QAAIC,KAAKv+B,QAAQC,MAAR,CAAe,QAAf,CAAT;AACAs+B,OAAG31B,SAAH,CAAa,SAAb,EAAwB;AACpB7E,oBAAYy6B,iBADQ;AAEpB16B,qBAAa;AAFO,KAAxB;;AAKA06B,sBAAkBl+B,OAAlB,GAA4B,CAAC,eAAD,EAAkB,kBAAlB,CAA5B;;AAEA,aAASk+B,iBAAT,CAA2BJ,aAA3B,EAA0C7wB,gBAA1C,EAA4D;AACxD,YAAIiE,KAAK,IAAT;;AAEAA,WAAGitB,OAAH;AACAjtB,WAAG6sB,UAAH,GAAgBA,UAAhB;;AAEA9mB;;AAEA,iBAASA,QAAT,GAAoB;AAChBmnB;AACH;;AAED,iBAASA,WAAT,GAAuB;AACnBN,0BAAcrtB,MAAd,GAAuBpC,IAAvB,CAA4B,UAAU8vB,OAAV,EAAmB;AAC3CjtB,mBAAGitB,OAAH,GAAaA,OAAb;AACAjtB,mBAAGmtB,MAAH,GAAYF,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAApC;AACA9L,mBAAGotB,KAAH,GAAWH,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAAnC;AACA9L,mBAAGqtB,IAAH,GAAUJ,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAAlC;AACA9L,mBAAGstB,MAAH,GAAYL,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAApC;AACA9L,mBAAGutB,WAAH,GAAiBN,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAAzC;AACA9L,mBAAG2oB,mBAAH,GAAyBsE,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAAjD;AACA9L,mBAAGwtB,eAAH,GAAqBP,QAAQnhB,OAAR,CAAgB,CAAhB,MAAuB,CAAC,CAA7C;AACH,aATD;AAUH;;AAED,iBAAS+gB,UAAT,CAAoBY,QAApB,EAA8B;AAC1Bb,0BAAcC,UAAd,CAAyB,EAAEj4B,IAAI64B,QAAN,EAAzB,EAA2CtwB,IAA3C,CAAgD,YAAY;AACxD/L,yBAASoK,MAAT;AACH,aAFD;AAGH;AACJ;AACJ,CAxCD;;;ACDA,CAAC,YAAY;AACT;;AACAhN,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,gBADb,EAC+ByiB,cAD/B;;AAGIA,mBAAervB,OAAf,GAAyB,CAAC,cAAD,CAAzB;;AAEJ,aAASqvB,cAAT,CAAwB7e,YAAxB,EAAsC;;AAElC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQojB,eAAR,GAA0BA,eAA1B;AACApjB,gBAAQ7I,OAAR,GAAkBA,OAAlB;AACA6I,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;AACAjI,gBAAQ6D,MAAR,GAAiBA,MAAjB;;AAEA,iBAASA,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,iBAAjB,CAAP;AACH;;AAED,iBAASpJ,OAAT,CAAiB+B,EAAjB,EAAqB;AACjB,mBAAO0K,aAAarD,GAAb,kBAAgCrH,EAAhC,CAAP;AACH;;AAED,iBAASkqB,eAAT,CAAyB7E,QAAzB,EAAmC;AAC/B,mBAAO3a,aAAarD,GAAb,CAAiB,sBAAsBge,QAAvC,CAAP;AACH;;AAED,iBAAS1hB,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,oBAAoBtH,EAAtC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,gBAAlB,EAAoCtJ,IAApC,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,oBAAoBtJ,KAAKgC,EAA3C,EAA+ChC,IAA/C,CAAP;AACH;AACJ;AACJ,CA1CD;;;ACAA,CAAC,YAAY;AACT;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EACgC;AACxB7E,oBAAYm7B,uBADY;AAExBp7B,qBAAa,qDAFW;AAGxBoN,kBAAU;AACNC,mBAAO,UADD;AAENuP,oBAAQ,GAFF;AAGNtP,sBAAU,GAHJ;AAIN5P,kBAAM,GAJA;AAKN8oB,sBAAU,aALJ;AAMNC,wBAAY;AANN;AAHc,KADhC;;AAcA2U,4BAAwB5+B,OAAxB,GAAkC,CAAC,QAAD,EAAW,gBAAX,CAAlC;;AAEA,aAAS4+B,uBAAT,CAAiC7tB,MAAjC,EAAyCse,cAAzC,EAAyD;AACrD,YAAIne,KAAK,IAAT;;AAEA;AACAA,WAAG+e,QAAH;AACA/e,WAAGugB,aAAH;AACAvgB,WAAG2tB,aAAH,GAAmBA,aAAnB;AACA3tB,WAAG8e,eAAH,GAAqBA,eAArB;;AAEA9e,WAAGC,OAAH,GAAa,YAAY;AACrB6e;AACA5e;AACH,SAHD;;AAKA,iBAAS4e,eAAT,GAA2B;AACvB,gBAAI,CAAC9e,GAAGkP,MAAR,EAAgB;AACZlP,mBAAG+e,QAAH,GAAc,EAAd;AACA/e,mBAAGugB,aAAH,GAAmB,IAAnB;AACA;AACH;;AAEDpC,2BAAeW,eAAf,CAA+B9e,GAAGkP,MAAlC,EAA0C/R,IAA1C,CAA+C,UAAU4hB,QAAV,EAAoB;AAC/D/e,mBAAG+e,QAAH,GAAcA,QAAd;;AAEA,oBAAGA,SAASvtB,MAAZ,EAAoB;AAChB,wBAAIwO,GAAGL,KAAP,EAAc;;AAEV,6BAAK,IAAIjB,IAAI,CAAb,EAAgBA,IAAIqgB,SAASvtB,MAA7B,EAAqCkN,GAArC,EAA0C;AACtC,gCAAIqgB,SAASrgB,CAAT,EAAY9J,EAAZ,IAAkBoL,GAAGL,KAAzB,EAAgC;AAC5BK,mCAAGugB,aAAH,GAAmBxB,SAASrgB,CAAT,CAAnB;AACA;AACH;AACJ;AACJ,qBARD,MAQO,IAAIsB,GAAG+Y,UAAP,EAAmB;AACtB,4BAAI6U,aAAa7O,SAASzmB,IAAT,CAAc,UAAU0Y,OAAV,EAAmBtY,KAAnB,EAA0BxH,KAA1B,EAAiC;AAC5D,mCAAO8f,QAAQ2b,SAAf;AACH,yBAFgB,CAAjB;;AAIA3sB,2BAAGugB,aAAH,GAAmBqN,cAAcn8B,SAAd,GAA0Bm8B,UAA1B,GAAuC7O,SAAS,CAAT,CAA1D;;AAEA/e,2BAAGL,KAAH,GAAWK,GAAGugB,aAAH,CAAiB3rB,EAA5B;AACH;AACJ;AACJ,aAtBD;AAuBH;;AAED,iBAAS+4B,aAAT,CAAuBjN,KAAvB,EAA8BC,MAA9B,EAAsCC,MAAtC,EAA8Cpf,MAA9C,EAAsD;AAClDxB,eAAGL,KAAH,GAAW+gB,MAAM9rB,EAAjB;AACAoL,eAAGugB,aAAH,GAAmBG,KAAnB;AACH;;AAED,iBAASxgB,iBAAT,GAA6B;AACzBL,mBAAOS,MAAP,CAAc,cAAd,EAA8B,UAAUW,MAAV,EAAkBC,MAAlB,EAA0B;AACpD;AACA4d;AACH,aAHD;;AAKAjf,mBAAOS,MAAP,CAAc,qBAAd,EAAqC,UAASW,MAAT,EAAiBC,MAAjB,EAAyB;AAC1D,oBAAI,CAACD,MAAD,IAAWC,MAAX,IAAqB,OAAOD,MAAP,IAAkB,QAA3C,EACIjB,GAAGL,KAAH,GAAW,IAAX;AACP,aAHD;;AAKAE,mBAAOS,MAAP,CAAc,aAAd,EAA6B,UAAUW,MAAV,EAAkBC,MAAlB,EAA0B;AACnD,oBAAI,CAACD,MAAD,IAAWC,MAAX,IAAqB,OAAQD,MAAR,IAAmB,QAA5C,EAAsD;AAClDjB,uBAAGL,KAAH,GAAW,IAAX;AACAK,uBAAGugB,aAAH,GAAmB,IAAnB;AACH,iBAHD,MAGO;AACH,wBAAIvgB,GAAG+e,QAAH,IAAe/e,GAAG+e,QAAH,CAAYvtB,MAA/B,EAAuC;AACnC,4BAAIwO,GAAGL,KAAP,EAAc;AACV,iCAAK,IAAIjB,IAAI,CAAb,EAAgBA,IAAIsB,GAAG+e,QAAH,CAAYvtB,MAAhC,EAAwCkN,GAAxC,EAA6C;AACzC,oCAAIsB,GAAG+e,QAAH,CAAYrgB,CAAZ,EAAe9J,EAAf,IAAqBoL,GAAGL,KAA5B,EAAmC;AAC/BK,uCAAGugB,aAAH,GAAmBvgB,GAAG+e,QAAH,CAAYrgB,CAAZ,CAAnB;AACA;AACH;AACJ;AACJ;AACJ;AACJ;AACJ,aAhBD;AAiBH;AAEJ;AACJ,CApGD;;;ACAA,CAAC,YAAY;AACT;;AACAlQ,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,eADb,EAC8BmyB,aAD9B;;AAGAA,kBAAc/+B,OAAd,GAAwB,CAAC,cAAD,CAAxB;;AAEA,aAAS++B,aAAT,CAAuBvuB,YAAvB,EAAqC;;AAEjC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQoyB,eAAR,GAA0BA,eAA1B;AACApyB,gBAAQqyB,uBAAR,GAAkCA,uBAAlC;AACAryB,gBAAQsyB,gBAAR,GAA2BA,gBAA3B;AACAtyB,gBAAQuyB,0BAAR,GAAqCA,0BAArC;AACAvyB,gBAAQwyB,mBAAR,GAA8BA,mBAA9B;AACAxyB,gBAAQyyB,gBAAR,GAA2BA,gBAA3B;AACAzyB,gBAAQ0yB,SAAR,GAAoBA,SAApB;;AAEA,iBAASN,eAAT,CAAyB7d,MAAzB,EAAiC;AAC7B,mBAAO3Q,aAAa9C,YAAb,CAA0B,0BAA1B,EAAsDyT,MAAtD,CAAP;AACH;;AAED,iBAAS+d,gBAAT,CAA0B/d,MAA1B,EAAkC;AAC9B,mBAAO3Q,aAAa9C,YAAb,CAA0B,2BAA1B,EAAuDyT,MAAvD,CAAP;AACH;;AAED,iBAAS8d,uBAAT,CAAiChf,SAAjC,EAA4C;AACxC,mBAAOzP,aAAa9C,YAAb,CAA0B,0CAA0CuS,SAApE,CAAP;AACH;;AAED,iBAASkf,0BAAT,CAAoChe,MAApC,EAA4C;AACxC,mBAAO3Q,aAAa9C,YAAb,CAA0B,sCAA1B,EAAkEyT,MAAlE,CAAP;AACH;;AAED,iBAASie,mBAAT,CAA6Bt5B,EAA7B,EAAiC;AAC7B,mBAAO0K,aAAa9C,YAAb,CAA0B,qCAAqC5H,EAA/D,CAAP;AACH;;AAED,iBAASu5B,gBAAT,CAA0Ble,MAA1B,EAAkC;AAC9B,mBAAO3Q,aAAa9C,YAAb,CAA0B,2BAA1B,EAAuDyT,MAAvD,CAAP;AACH;;AAED,iBAASme,SAAT,CAAmBne,MAAnB,EAA2B;AACvB,mBAAO3Q,aAAa9C,YAAb,CAA0B,0BAA1B,EAAsDyT,MAAtD,CAAP;AACH;AACJ;AACJ,CA/CD;;;ACAA,CAAC,YAAY;AACT;;AACAzhB,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,iBADb,EACgCqnB,eADhC;;AAGAA,oBAAgBj0B,OAAhB,GAA0B,CAAC,cAAD,CAA1B;;AAEA,aAASi0B,eAAT,CAAyBzjB,YAAzB,EAAuC;;AAEnC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;AACAjI,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ2yB,eAAR,GAA0BA,eAA1B;AACA3yB,gBAAQyT,aAAR,GAAwBA,aAAxB;;AAEA,iBAASkf,eAAT,CAAyBn7B,SAAzB,EAAoC;AAChC,mBAAOoM,aAAarD,GAAb,CAAiB,4BAAjB,EAA+C,EAAE/I,WAAWA,SAAb,EAA/C,CAAP;AACH;;AAED,iBAASqM,MAAT,CAAgBwP,SAAhB,EAA2BC,YAA3B,EAAyC;AACrC,mBAAO1P,aAAarD,GAAb,CAAiB,iBAAjB,EAAoC,EAAE8S,WAAWA,SAAb,EAAwBC,cAAcA,YAAtC,EAApC,CAAP;AACH;;AAED,iBAAS/S,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,iBAAiBrH,EAAlC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,gBAAlB,EAAoCtJ,IAApC,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,oBAAoBtJ,KAAKgC,EAA3C,EAA+ChC,IAA/C,CAAP;AACH;;AAED,iBAAS2F,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,gBAAlB,EAAoC,EAAEtH,IAAIA,EAAN,EAApC,CAAP;AACH;;AAED,iBAASua,aAAT,CAAuBva,EAAvB,EAA2B;AACvB,mBAAO0K,aAAarD,GAAb,CAAiB,aAAarH,EAAb,GAAkB,SAAnC,CAAP;AACH;AACJ;AACJ,CA/CD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gBADf,EACiC;AACzB7E,oBAAY+7B,wBADa;AAEzBh8B,qBAAa,uDAFY;AAGzBoN,kBAAU;AACNC,mBAAO,UADD;AAENjE,qBAAS,GAFH;AAGNmd,uBAAW,UAHL;AAINloB,kBAAM,OAJA;AAKNiP,sBAAU,aALJ;AAMN5P,kBAAM,GANA;AAON8oB,sBAAU,aAPJ;AAQNC,wBAAY,GARN;AASN/J,0BAAc,GATR;AAUND,uBAAW;AAVL;AAHe,KADjC;;AAkBAuf,6BAAyBx/B,OAAzB,GAAmC,CAAC,QAAD,EAAW,iBAAX,EAA8B,UAA9B,CAAnC;;AAEA,aAASw/B,wBAAT,CAAkCzuB,MAAlC,EAA0CkjB,eAA1C,EAA2D7zB,QAA3D,EAAqE;AACjE,YAAI8Q,KAAK,IAAT;;AAEA;AACAA,WAAG0kB,QAAH,GAAc,EAAd;;AAEA1kB,WAAGuuB,aAAH,GAAmBA,aAAnB;;AAEAvuB,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACI2V,iBADJ,KAGIxuB,GAAG0kB,QAAH,GAAc1kB,GAAGrP,IAAjB;;AAEJkP,mBAAOS,MAAP,CAAc,aAAd,EAA6B,YAAY;AACrCiuB;AACH,aAFD;AAGH,SATD;;AAWA,iBAASA,aAAT,GAAyB;AACrB,iBAAK,IAAI7vB,IAAI,CAAb,EAAgBA,IAAIsB,GAAG0kB,QAAH,CAAYlzB,MAAhC,EAAwCkN,GAAxC,EAA6C;AACzC,oBAAI+vB,IAAIzuB,GAAG0kB,QAAH,CAAYhmB,CAAZ,CAAR;AACA,oBAAI+vB,EAAE75B,EAAF,IAAQoL,GAAGL,KAAf,EAAsB;AAClBK,uBAAGtE,OAAH,GAAa+yB,CAAb;AACH;AACJ;AACJ;;AAED,iBAASD,cAAT,GAA0B;AACtBzL,4BAAgBxjB,MAAhB,CAAuBS,GAAG+O,SAA1B,EAAqC/O,GAAGgP,YAAxC,EAAsD7R,IAAtD,CAA2D,UAAUunB,QAAV,EAAoB;AAC3E1kB,mBAAG0kB,QAAH,GAAcA,QAAd;;AAEA,oBAAI,CAAC,CAAC1kB,GAAGL,KAAT,EACI4uB;AACP,aALD;AAMH;AAEJ;AACJ,CA5DD;;;ACAA,CAAC,YAAY;AACT;;AACA//B,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,mBADb,EACkCgzB,iBADlC;;AAGAA,sBAAkB5/B,OAAlB,GAA4B,CAAC,cAAD,CAA5B;;AAEA,aAAS4/B,iBAAT,CAA2BpvB,YAA3B,EAAyC;;AAErC,YAAIkS,oBAAoB,YAAxB;AACA,YAAIC,2BAA2B,oBAA/B;;AAEA,aAAKC,oBAAL,GAA4BA,oBAA5B;AACA,aAAKC,mBAAL,GAA2BA,mBAA3B;AACA,aAAKC,cAAL,GAAsBA,cAAtB;AACA,aAAKC,oBAAL,GAA4BA,oBAA5B;AACA,aAAKC,aAAL,GAAqBA,aAArB;;AAEA,iBAASJ,oBAAT,GAAgC;AAC5B,mBAAOpS,aAAarD,GAAb,CAAiBuV,oBAAoB,aAArC,CAAP;AACH;;AAED,iBAASG,mBAAT,CAA6B1B,MAA7B,EAAqC;AACjC,mBAAO3Q,aAAapD,IAAb,CAAkBsV,oBAAoB,eAAtC,EAAuDvB,MAAvD,CAAP;AACH;;AAED,iBAAS2B,cAAT,CAAwBjhB,IAAxB,EAA8B;AAC1B,mBAAO2O,aAAapD,IAAb,CAAkBsV,oBAAoB,OAAtC,EAA+C7gB,IAA/C,CAAP;AACH;;AAED,iBAASkhB,oBAAT,CAA8B5B,MAA9B,EAAsC;AAClC,mBAAO3Q,aAAapD,IAAb,CAAkBuV,2BAA2B,MAA7C,EAAqDxB,MAArD,CAAP;AACH;;AAED,iBAAS6B,aAAT,CAAuBnhB,IAAvB,EAA6B;AACzB,mBAAO2O,aAAapD,IAAb,CAAkBuV,2BAA2B,iBAA7C,EAAgE9gB,IAAhE,CAAP;AACH;AAEJ;AACJ,CAvCD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAYo8B,6BADkB;AAE9Br8B,qBAAa;AAFiB,KADtC;;AAMAq8B,kCAA8B7/B,OAA9B,GAAwC,EAAxC;;AAEA,aAAS6/B,6BAAT,GAAyC;AACrC,YAAI3uB,KAAK,IAAT;;AAEAA,WAAGiQ,MAAH,GAAY,EAAZ;;AAEAjQ,WAAGC,OAAH,GAAa,YAAY,CAExB,CAFD;AAGH;AACJ,CAnBD;;;ACAA,CAAC,YAAY;AACT;;AACAzR,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,wBADf,EACyC;AACjC7E,oBAAYq8B,gCADqB;AAEjCt8B,qBAAa,kEAFoB;AAGjCoN,kBAAU;AACNC,mBAAO,UADD;AAENkZ,uBAAW,UAFL;AAGNloB,kBAAM,OAHA;AAINiP,sBAAU,WAJJ;AAKN5P,kBAAM,GALA;AAMN8oB,sBAAU;AANJ;AAHuB,KADzC;;AAcA8V,qCAAiC9/B,OAAjC,GAA2C,CAAC,QAAD,EAAW,mBAAX,CAA3C;;AAEA,aAAS8/B,gCAAT,CAA0C/uB,MAA1C,EAAkD6uB,iBAAlD,EAAqE;AACjE,YAAI1uB,KAAK,IAAT;;AAEA;AACAA,WAAGjN,MAAH;;AAEAiN,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACItZ,SADJ,KAGIS,GAAGjN,MAAH,GAAYiN,GAAGrP,IAAf;AACP,SALD;;AAOA,iBAAS4O,MAAT,GAAkB;AACdmvB,8BAAkBhd,oBAAlB,GAAyCvU,IAAzC,CAA8C,UAAUpK,MAAV,EAAkB;AAC5DiN,mBAAGjN,MAAH,GAAYA,MAAZ;AACH,aAFD;AAGH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAY;AACT;;AACAvE,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,YADb,EAC2BonB,UAD3B;;AAGAA,eAAWh0B,OAAX,GAAqB,CAAC,cAAD,CAArB;;AAEA,aAASg0B,UAAT,CAAoBxjB,YAApB,EAAkC;;AAE9B,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;;AAEA,iBAASA,MAAT,CAAgBrM,SAAhB,EAA2BQ,SAA3B,EAAgD;AAAA,gBAAVC,GAAU,uEAAJ,EAAI;;AAC5C,mBAAO2L,aAAarD,GAAb,CAAiB,aAAjB,EAAgC,EAAE/I,WAAWA,SAAb,EAAwBQ,WAAWA,SAAnC,EAA8CC,KAAKA,GAAnD,EAAhC,CAAP;AACH;AACJ;AACJ,CAjBD;;;ACAA,CAAC,YAAY;AACT;;AACAnF,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,WADf,EAC4B;AACpB7E,oBAAYs8B,mBADQ;AAEpBv8B,qBAAa,6CAFO;AAGpBoN,kBAAU;AACNC,mBAAO,UADD;AAENkZ,uBAAW,UAFL;AAGNloB,kBAAM,OAHA;AAINiP,sBAAU,WAJJ;AAKN5P,kBAAM,GALA;AAMN8oB,sBAAU,aANJ;AAONpd,qBAAS,GAPH;AAQNozB,0BAAc,GARR;AASN57B,uBAAW,UATL;AAUN67B,6BAAiB,GAVX;AAWNC,8BAAkB;AAXZ;AAHU,KAD5B;;AAmBAH,wBAAoB//B,OAApB,GAA8B,CAAC,QAAD,EAAW,YAAX,CAA9B;;AAEA,aAAS+/B,mBAAT,CAA6BhvB,MAA7B,EAAqCijB,UAArC,EAAiD;AAC7C,YAAI9iB,KAAK,IAAT;;AAEA;AACAA,WAAG2kB,IAAH;;AAGA3kB,WAAGC,OAAH,GAAa,YAAY;;AAErBC;AACA,gBAAI,CAACF,GAAG6Y,SAAR,EACIoW,aADJ,KAEK;AACDjvB,mBAAG2kB,IAAH,GAAU3kB,GAAGrP,IAAb;AACH;AACJ,SARD;;AAUA,iBAASs+B,UAAT,GAAsB;AAClB,gBAAIjvB,GAAG+uB,eAAH,IAAsB,CAAC/uB,GAAG9M,SAA9B,EAAyC;AACrC8M,mBAAGL,KAAH,GAAWlO,SAAX;AACA;AACH;;AAEDqxB,uBAAWvjB,MAAX,CAAkBS,GAAG9M,SAArB,EAAgCiK,IAAhC,CAAqC,UAAUwnB,IAAV,EAAgB;AACjD3kB,mBAAG2kB,IAAH,GAAUA,IAAV;AACA,oBAAI3kB,GAAGgvB,gBAAP,EACIE;AACP,aAJD;AAKH;;AAED,iBAASA,aAAT,GAAyB;AACrB,gBAAI,CAAClvB,GAAGtE,OAAR,EAAiB;AACbsE,mBAAGL,KAAH,GAAWlO,SAAX;AACA;AACH;;AAED,gBAAI,CAACuO,GAAG2kB,IAAJ,IAAY,CAAC3kB,GAAG2kB,IAAH,CAAQnzB,MAAzB,EACI;;AAEJ,iBAAK,IAAIkN,IAAI,CAAb,EAAgBA,IAAIsB,GAAG2kB,IAAH,CAAQnzB,MAA5B,EAAoCkN,GAApC,EAAyC;AACrC,oBAAI9L,OAAOoN,GAAG2kB,IAAH,CAAQjmB,CAAR,CAAX;AACA,oBAAI9L,KAAKuyB,MAAL,KAAgBnlB,GAAGtE,OAAH,CAAWyzB,UAA/B,EAA2C;AACvCnvB,uBAAGL,KAAH,GAAWK,GAAGtE,OAAH,CAAWyzB,UAAtB;AACA;AACH;AACJ;AACJ;;AAED,iBAASjvB,iBAAT,GAA6B;AACzB,gBAAI,CAACF,GAAG8uB,YAAR,EACI;;AAEJjvB,mBAAOS,MAAP,CAAc,eAAd,EAA+B,UAAUW,MAAV,EAAkBC,MAAlB,EAA0B;AACrD,oBAAID,UAAUC,MAAd,EACIguB;AACP,aAHD;;AAKArvB,mBAAOS,MAAP,CAAc,iBAAd,EAAiC,UAAUW,MAAV,EAAkB;AAC/C,oBAAI,CAACjB,GAAGrP,IAAR,EACIs+B;AACP,aAHD;AAIH;AAEJ;AACJ,CAvFD;;;ACCA,CAAC,YAAY;AACT;;AACAzgC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qCADf,EACsD;AAC9C7E,oBAAYs5B,IADkC;AAE9Cv5B,qBAAa;AAFiC,KADtD;;AAMAu5B,SAAK/8B,OAAL,GAAe,EAAf;;AAEA,aAAS+8B,IAAT,GAAgB;AACZ,YAAI7rB,KAAK,IAAT;AACH;AACJ,CAbD;;;ACAA,CAAC,YAAY;AACT;;AACAxR,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,4BADf,EAC6C;AACrC7E,oBAAY68B,oCADyB;AAErC98B,qBAAa;AAFwB,KAD7C;;AAMA88B,yCAAqCtgC,OAArC,GAA+C,EAA/C;;AAEA,aAASsgC,oCAAT,GAAgD;AAC5C,YAAIpvB,KAAK,IAAT;AACH;AACJ,CAbD;;;ACDA,CAAC,YAAY;AACT;;AACAxR,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,kBADb,EACiC2zB,gBADjC;;AAGAA,qBAAiBvgC,OAAjB,GAA2B,CAAC,cAAD,CAA3B;;AAEA,aAASugC,gBAAT,CAA0B/vB,YAA1B,EAAwC;;AAEpC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ4zB,4BAAR,GAAuCA,4BAAvC;AACA5zB,gBAAQ6zB,iCAAR,GAA4CA,iCAA5C;AACA7zB,gBAAQ+W,mBAAR,GAA8BA,mBAA9B;AACA/W,gBAAQ8zB,oBAAR,GAA+BA,oBAA/B;AACA9zB,gBAAQ+zB,aAAR,GAAwBA,aAAxB;AACA/zB,gBAAQg0B,kBAAR,GAA6BA,kBAA7B;AACAh0B,gBAAQi0B,sBAAR,GAAiCA,sBAAjC;AACAj0B,gBAAQk0B,uBAAR,GAAkCA,uBAAlC;AACAl0B,gBAAQm0B,gBAAR,GAA2BA,gBAA3B;AACAn0B,gBAAQo0B,wBAAR,GAAmCA,wBAAnC;;AAEA,iBAASL,aAAT,GAAyB;AACrB,mBAAOnwB,aAAarD,GAAb,CAAiB,0BAAjB,CAAP;AACH;;AAED,iBAAS4zB,gBAAT,CAA0Bj7B,EAA1B,EAA8B;AAC1B,mBAAO0K,aAAarD,GAAb,CAAiB,4BAA4BrH,EAA7C,CAAP;AACH;;AAED,iBAAS06B,4BAAT,CAAsCrf,MAAtC,EAA8C;AAC1C,mBAAO3Q,aAAapD,IAAb,CAAkB,mBAAlB,EAAuC+T,MAAvC,CAAP;AACH;;AAED,iBAASsf,iCAAT,CAA2Ctf,MAA3C,EAAmD;AAC/C,mBAAO3Q,aAAapD,IAAb,CAAkB,0CAAlB,EAA8D+T,MAA9D,CAAP;AACH;;AAED,iBAASuf,oBAAT,CAA8Bvf,MAA9B,EAAsC;AAClC,mBAAO3Q,aAAapD,IAAb,CAAkB,qBAAlB,EAAyC+T,MAAzC,CAAP;AACH;;AAED,iBAASwC,mBAAT,CAA6B9hB,IAA7B,EAAmC;AAC/B,mBAAO2O,aAAapD,IAAb,CAAkB,iCAAlB,EAAqDvL,IAArD,CAAP;AACH;;AAED,iBAAS++B,kBAAT,CAA4B1Q,SAA5B,EAAuC;AACnC,mBAAO1f,aAAarD,GAAb,CAAiB,oCAAmC+iB,SAApD,CAAP;AACH;;AAED,iBAAS2Q,sBAAT,CAAgCh/B,IAAhC,EAAsC;AAClC,mBAAO2O,aAAapD,IAAb,CAAkB,oCAAlB,EAAwDvL,IAAxD,CAAP;AACH;;AAED,iBAASi/B,uBAAT,GAAmC;AAC/B,mBAAOtwB,aAAarD,GAAb,CAAiB,6CAAjB,CAAP;AACH;;AAED,iBAAS6zB,wBAAT,CAAkCC,UAAlC,EAA8C;AAC1C,mBAAOzwB,aAAapD,IAAb,CAAkB,uCAAlB,EAA2D6zB,UAA3D,CAAP;AACH;AACJ;AACJ,CA9DD;;;ACAA,CAAC,YAAY;AACT;;AACAvhC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,iBADf,EACkC;AAC1B7E,oBAAYy9B,yBADc;AAE1B19B,qBAAa,yDAFa;AAG1BoN,kBAAU;AACNC,mBAAO,UADD;AAENjE,qBAAS,GAFH;AAGNmd,uBAAW,UAHL;AAINloB,kBAAM,OAJA;AAKNiP,sBAAU,WALJ;AAMN5P,kBAAM,GANA;AAON8oB,sBAAU,aAPJ;AAQNC,wBAAY;AARN;AAHgB,KADlC;;AAgBAiX,8BAA0BlhC,OAA1B,GAAoC,CAAC,QAAD,EAAW,kBAAX,EAA+B,UAA/B,CAApC;;AAEA,aAASkhC,yBAAT,CAAmCnwB,MAAnC,EAA2CwvB,gBAA3C,EAA6DngC,QAA7D,EAAuE;AACnE,YAAI8Q,KAAK,IAAT;;AAEA;AACAA,WAAGiwB,UAAH;;AAEAjwB,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACIwW,iBAAiBI,aAAjB,GAAiCtyB,IAAjC,CAAsC,UAAU8yB,UAAV,EAAsB;AACxDjwB,mBAAGiwB,UAAH,GAAgBA,UAAhB;AACA,oBAAIjwB,GAAG8Y,QAAH,IAAgBmX,cAAcA,WAAWz+B,MAAzC,IAAoD,CAACwO,GAAGL,KAA5D,EAAmE;AAC/DK,uBAAGL,KAAH,GAAWswB,WAAW,CAAX,EAAcr7B,EAAzB;AACH;AACJ,aALD,EADJ,KAQIoL,GAAGkwB,SAAH,GAAelwB,GAAGrP,IAAlB;AACP,SAVD;AAWH;AACJ,CAtCD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,0BADb,EACyCy0B,wBADzC;;AAGAA,6BAAyBrhC,OAAzB,GAAmC,CAAC,cAAD,CAAnC;;AAEA,aAASqhC,wBAAT,CAAkC7wB,YAAlC,EAAgD;;AAE5C,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;AACAjI,gBAAQnD,MAAR,GAAiBA,MAAjB;;AAEA,iBAASgH,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,4BAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,4BAA4BrH,EAA7C,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,2BAAlB,EAA+CtJ,IAA/C,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,+BAA+BtJ,KAAKgC,EAAtD,EAA0DhC,IAA1D,CAAP;AACH;;AAED,iBAAS2F,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,2BAAlB,EAA+C,EAAEtH,IAAIA,EAAN,EAA/C,CAAP;AACH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAY;AACT;;AACApG,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,cADf,EAC+B;AACvB7E,oBAAY69B,sBADW;AAEvB99B,qBAAa,mDAFU;AAGvBoN,kBAAU;AACNC,mBAAO,UADD;AAENkZ,uBAAW,UAFL;AAGNloB,kBAAM,OAHA;AAINiP,sBAAU,WAJJ;AAKN5P,kBAAM,GALA;AAMN8oB,sBAAU,aANJ;AAONC,wBAAY;AAPN;AAHa,KAD/B;;AAeIqX,2BAAuBthC,OAAvB,GAAiC,CAAC,QAAD,EAAW,gBAAX,CAAjC;;AAEJ,aAASshC,sBAAT,CAAgCvwB,MAAhC,EAAwCzQ,cAAxC,EAAwD;AACpD,YAAI4Q,KAAK,IAAT;;AAEA;AACAA,WAAGjN,MAAH;;AAEAiN,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAI,CAACD,GAAG6Y,SAAR,EACItZ,SADJ,KAGIS,GAAGjN,MAAH,GAAYiN,GAAGrP,IAAf;AACP,SALD;;AAOA,iBAAS4O,MAAT,GAAkB;AACdnQ,2BAAe+4B,SAAf,GAA2BhrB,IAA3B,CAAgC,UAAUpK,MAAV,EAAkB;AAC9CiN,mBAAGjN,MAAH,GAAYA,MAAZ;AACH,aAFD;AAGH;AACJ;AACJ,CAtCD;;;ACAA,CAAC,YAAY;AACT;;AACAvE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAY+pB,eADkB;AAE9BhqB,qBAAa;AAFiB,KADtC;;AAMAgqB,oBAAgBxtB,OAAhB,GAA0B,CAAC,UAAD,EAAa,YAAb,EAA2B,kBAA3B,CAA1B;;AAEA,aAASwtB,eAAT,CAAyBptB,QAAzB,EAAmCD,UAAnC,EAA+CogC,gBAA/C,EAAiE;AAC7D,YAAIrvB,KAAK,IAAT;AACAA,WAAGpN,IAAH;;AAEAoN,WAAGC,OAAH,GAAa,YAAW;AACpBovB,6BAAiBO,uBAAjB,GAA2CzyB,IAA3C,CAAgD,UAASxM,IAAT,EAAe;AAC3DqP,mBAAGpN,IAAH,GAAUjC,IAAV;;AAEAzB,yBAAS,YAAW;AAChBmhC,2BAAOC,IAAP,CAAY;AACR7rB,iCAAS,qBADD;AAER9T,8BAAMA,KAAK4/B,UAFH;AAGRC,8BAAM,OAHE;AAIRC,+BAAO,CAAC,OAAD,CAJC;AAKRC,gCAAQ,CAACzhC,WAAWI,SAAX,CAAqBshC,KAAtB,CALA;AAMRC,qCAAa,KANL;AAORC,uCAAe,aAPP;AAQRC,oCAAY,CAAC,SAAD,CARJ;AASRC,mCAAW,CATH;AAURC,mCAAW,KAVH;AAWRC,gCAAQ,IAXA;AAYRC,mCAAW;AAZH,qBAAZ;;AAeA,wBAAIvgC,KAAKwgC,0BAAL,CAAgC3/B,MAAhC,IAA0C,CAA9C,EAAiD;AAC7CG,0BAAEy/B,IAAF,CAAO,qBAAP,EAA8BzgC,KAAKwgC,0BAAnC,EAA+D;AAC3DE,oCAAQ;AACJC,qCAAK;AACDna,0CAAM,IADL;AAEDoa,6CAAS;AACLC,+CAAO,MADF;AAELC,mDAAW;AAFN;AAFR;AADD,6BADmD;AAU3DC,oCAAQ;AACJva,sCAAM;AADF;AAVmD,yBAA/D;AAcH;;AAED,wBAAIxmB,KAAKghC,2BAAL,CAAiCngC,MAAjC,IAA2C,CAA/C,EAAkD;AAC9CG,0BAAEy/B,IAAF,CAAO,qBAAP,EAA8BzgC,KAAKghC,2BAAnC,EAAgE;AAC5DN,oCAAQ;AACJC,qCAAK;AACDna,0CAAM,IADL;AAEDoa,6CAAS;AACLC,+CAAO,MADF;AAELC,mDAAW;AAFN;AAFR;AADD,6BADoD;AAU5DC,oCAAQ;AACJva,sCAAM;AADF;AAVoD,yBAAhE;AAcH;AACJ,iBAjDD;AAmDH,aAtDD;AAuDH,SAxDD;AA0DH;AACJ,CAzED,EAyEG5oB,GAzEH;;;ACAA,CAAC,YAAW;AACR;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,gBADb,EAC+Bk2B,cAD/B;;AAGAA,mBAAe9iC,OAAf,GAAyB,CAAC,cAAD,CAAzB;;AAEA,aAAS8iC,cAAT,CAAwBtyB,YAAxB,EAAsC;;AAElC,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;AACA7D,gBAAQO,GAAR,GAAcA,GAAd;AACAP,gBAAQnD,MAAR,GAAiBA,MAAjB;AACAmD,gBAAQ8D,MAAR,GAAiBA,MAAjB;AACA9D,gBAAQiI,MAAR,GAAiBA,MAAjB;;AAEA,iBAASpE,MAAT,GAAkB;AACd,mBAAOD,aAAarD,GAAb,CAAiB,iBAAjB,CAAP;AACH;;AAED,iBAASA,GAAT,CAAarH,EAAb,EAAiB;AACb,mBAAO0K,aAAarD,GAAb,CAAiB,aAAarH,EAA9B,CAAP;AACH;;AAED,iBAAS2D,MAAT,CAAgB3D,EAAhB,EAAoB;AAChB,mBAAO0K,aAAapD,IAAb,CAAkB,oBAAoBtH,EAAtC,CAAP;AACH;;AAED,iBAAS4K,MAAT,CAAgB5M,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,iBAAlB,EAAqCtJ,IAArC,CAAP;AACH;;AAED,iBAAS+Q,MAAT,CAAgB/Q,IAAhB,EAAsB;AAClB,mBAAO0M,aAAapD,IAAb,CAAkB,iBAAlB,EAAqCtJ,IAArC,CAAP;AACH;AACJ;AACJ,CArCD;;;ACAA,CAAC,YAAW;AACR;;AACApE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EAEQ;AACI7E,oBAAYoS,IADhB;AAEIrS,qBAAa,qDAFjB;AAGIoN,kBAAU;AACNC,mBAAO,UADD;AAENC,sBAAU,WAFJ;AAGN5P,kBAAM,GAHA;AAIN8oB,sBAAU,aAJJ;AAKN+Y,uBAAW;AALL;AAHd,KAFR;;AAcAltB,SAAK7V,OAAL,GAAe,CAAC,gBAAD,EAAmB,UAAnB,CAAf;;AAEA,aAAS6V,IAAT,CAAcitB,cAAd,EAA8B1iC,QAA9B,EAAwC;AACpC,YAAI8Q,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH,GAAW,EAAX;AACAwM,WAAG1E,MAAH,GAAYA,MAAZ;;AAEA0E,WAAGC,OAAH,GAAa,YAAW;AACpBV;AACH,SAFD;;AAIA,iBAASA,MAAT,GAAkB;AACdqyB,2BAAeryB,MAAf,GAAwBpC,IAAxB,CAA6B,UAAS3J,KAAT,EAAgB;AACzCwM,mBAAGxM,KAAH,GAAWA,KAAX;;AAEA,oBAAIwM,GAAG8Y,QAAH,IAAgBtlB,SAASA,MAAMhC,MAA/B,IAA0C,CAACwO,GAAGL,KAAlD,EAAyD;AACrDK,uBAAGL,KAAH,GAAWnM,MAAM,CAAN,EAASoB,EAApB;AACAoL,uBAAG6xB,SAAH,GAAer+B,MAAM,CAAN,EAASs+B,eAAxB;AACH;;AAED5iC,yBAAS,YAAY;AACjB8Q,uBAAG1E,MAAH;AACH,iBAFD;AAGH,aAXD;AAYH;;AAED,iBAASA,MAAT,GAAkB;AACd,gBAAI0E,GAAGL,KAAP,EAAc;AACV,oBAAIoyB,eAAe/xB,GAAGxM,KAAH,CAAS8E,IAAT,CAAc,UAAU1F,IAAV,EAAgB;AAC7C,2BAAOA,KAAKgC,EAAL,IAAWoL,GAAGL,KAArB;AACH,iBAFkB,CAAnB;;AAIAK,mBAAG6xB,SAAH,GAAeE,aAAaD,eAA5B;AACH,aAND,MAMO;AACH9xB,mBAAG6xB,SAAH,GAAepgC,SAAf;AACH;AACJ;AACJ;AACJ,CAxDD;;;ACAA,CAAC,YAAY;AACT;;AACAjD,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,eADb,EAC8Bs2B,aAD9B;;AAGAA,kBAAcljC,OAAd,GAAwB,CAAC,cAAD,CAAxB;;AAEA,aAASkjC,aAAT,CAAuB1yB,YAAvB,EAAqC;;AAEjC,YAAI2yB,gBAAgB,QAApB;;AAEA,aAAKh2B,GAAL,GAAWA,GAAX;AACA,aAAKi2B,SAAL,GAAiBA,SAAjB;AACA,aAAKvuB,MAAL,GAAcA,MAAd;;AAEA,iBAAS1H,GAAT,GAAe;AACX,mBAAOqD,aAAarD,GAAb,CAAiBg2B,aAAjB,CAAP;AACH;;AAED,iBAASC,SAAT,GAAqB;AACjB,mBAAO5yB,aAAarD,GAAb,CAAiBg2B,gBAAgB,aAAjC,CAAP;AACH;;AAED,iBAAStuB,MAAT,CAAgBhT,IAAhB,EAAsB;AAClB,mBAAO2O,aAAapD,IAAb,CAAkB+1B,gBAAgB,mBAAlC,EAAuDthC,IAAvD,CAAP;AACH;AACJ;AACJ,CA3BD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAY4/B,6BADkB;AAE9B7/B,qBAAa;AAFiB,KADtC;;AAMA6/B,kCAA8BrjC,OAA9B,GAAwC,CAAC,YAAD,EAAe,QAAf,EAAyB,eAAzB,EAA0C,kBAA1C,CAAxC;;AAEA,aAASqjC,6BAAT,CAAuCljC,UAAvC,EAAmD4Q,MAAnD,EAA2DmyB,aAA3D,EAA0Ej2B,gBAA1E,EAA4F;AACxF,YAAIiE,KAAK,IAAT;;AAEAA,WAAGpN,IAAH,GAAU,EAAV;AACAoN,WAAGoyB,MAAH,GAAY,EAAZ;;AAEA;AACApyB,WAAGqyB,eAAH,GAAqBA,eAArB;AACAryB,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrBqyB;AACAJ;AACH,SAHD;;AAKA,iBAASG,eAAT,CAAyBE,MAAzB,EAAiC;AAC7B,gBAAIvyB,GAAGpN,IAAH,CAAQggB,SAAR,IAAqB,IAAzB,EACI5S,GAAGpN,IAAH,CAAQggB,SAAR,GAAoB,EAApB;;AAEJ4f;AACAD,mBAAOE,QAAP,GAAkB,IAAlB;AACAzyB,eAAGpN,IAAH,CAAQggB,SAAR,IAAqB2f,OAAOze,KAA5B;AACH;;AAED,iBAASuF,IAAT,GAAgB;AACZ2Y,0BAAcruB,MAAd,CAAqB3D,GAAGpN,IAAxB,EACKuK,IADL,CACU,gBAAQ;AACVpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACH,aAHL;AAIH;;AAED;AACA,iBAAS+Y,uBAAT,GAAmC;AAC/BxyB,eAAGoyB,MAAH,CAAU1S,OAAV,CAAkB,kBAAU;AACxB6S,uBAAOE,QAAP,GAAkB,KAAlB;AACH,aAFD;AAGH;;AAED,iBAASH,SAAT,GAAqB;AACjBN,0BAAc/1B,GAAd,GACKkB,IADL,CACU,UAASgwB,MAAT,EAAiB;AACnBntB,mBAAGpN,IAAH,GAAUu6B,MAAV;AACH,aAHL;AAIH;;AAED,iBAAS+E,SAAT,GAAqB;AACjBF,0BAAcE,SAAd,GACK/0B,IADL,CACU,UAASi1B,MAAT,EAAiB;AACnBpyB,mBAAGoyB,MAAH,GAAYA,MAAZ;AACH,aAHL;AAIH;AACJ;AACJ,CA9DD;;;ACAA,CAAC,YAAY;AACT;;AACA5jC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,0BADf,EAC2C;AACnC7E,oBAAYmgC,qBADuB;AAEnCpgC,qBAAa;AAFsB,KAD3C;;AAMAogC,0BAAsB5jC,OAAtB,GAAgC,CAAC,YAAD,EAAe,oBAAf,EAAqC,kBAArC,CAAhC;;AAEA,aAAS4jC,qBAAT,CAA+BzjC,UAA/B,EAA2C0jC,kBAA3C,EAA+D52B,gBAA/D,EAAiF;AAC7E,YAAIiE,KAAK,IAAT;;AAEAA,WAAG4yB,gBAAH,GAAsB,EAAtB;AACA5yB,WAAG6yB,cAAH,GAAoB,EAApB;;AAEA7yB,WAAGC,OAAH,GAAa,YAAY;AACrB0yB,+BAAmBG,aAAnB,GAAmC31B,IAAnC,CAAwC,UAAU41B,UAAV,EAAsB;;AAE1D/yB,mBAAG4yB,gBAAH,GAAsBG,UAAtB;;AAEAJ,mCAAmBK,WAAnB,GAAiC71B,IAAjC,CAAsC,UAAU81B,QAAV,EAAoB;;AAEtDjzB,uBAAG6yB,cAAH,GAAoBI,QAApB;;AAEAN,uCAAmB3V,SAAnB,GAA+B7f,IAA/B,CAAoC,UAAUsR,QAAV,EAAoB;AACpDzO,2BAAGpN,IAAH,GAAU6b,QAAV;AACH,qBAFD;AAGH,iBAPD;AAQH,aAZD;AAcH,SAfD;;AAiBAzO,WAAGqZ,IAAH,GAAU,YAAY;AAClBsZ,+BAAmBxV,UAAnB,CAA8Bnd,GAAGpN,IAAjC,EAAuCuK,IAAvC,CAA4C,YAAY;AACpDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACH,aAFD;AAGH,SAJD;AAKH;AACJ,CAvCD,EAuCGlrB,GAvCH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,0CADf,EAC2D;AACnD7E,oBAAY2gC,2CADuC;AAEnD5gC,qBAAa;AAFsC,KAD3D;;AAMA4gC,gDAA4CpkC,OAA5C,GAAsD,CAAC,QAAD,EAAW,oBAAX,EAAiC,eAAjC,EAChD,gBADgD,EAC9B,WAD8B,EACjB,YADiB,EACH,kBADG,CAAtD;;AAGA,aAASokC,2CAAT,CAAqDrzB,MAArD,EAA6D8yB,kBAA7D,EAAiFzU,aAAjF,EACMC,cADN,EACsBhvB,SADtB,EACiCF,UADjC,EAC6C8M,gBAD7C,EAC+D;AAC3D,YAAIiE,KAAK,IAAT;;AAEAA,WAAG0S,QAAH,GAAc,EAAd;AACA1S,WAAGoe,OAAH,GAAa,EAAb;AACApe,WAAGqe,gBAAH,GAAsB,EAAtB;AACAre,WAAGiQ,MAAH;;AAEAjQ,WAAGse,eAAH,GAAqBA,eAArB;AACAte,WAAGue,WAAH,GAAiB,KAAjB;AACAve,WAAGwe,WAAH,GAAiB,KAAjB;;AAEAxe,WAAGmzB,IAAH,GAAUA,IAAV;AACAnzB,WAAG+d,gCAAH,GAAsCA,gCAAtC;AACA/d,WAAG0e,gBAAH,GAAsBA,gBAAtB;AACA1e,WAAGozB,SAAH,GAAeA,SAAf;;AAEApzB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGiQ,MAAH,GAAY;AACR0O,4BAAY;AADJ,aAAZ;AAGAC;AACAb;AACA7d;AACH,SAPD;;AASA,iBAAS2e,oBAAT,CAA8B5E,QAA9B,EAAwC;AACpCkE,2BAAeW,eAAf,CAA+B7E,QAA/B,EAAyC9c,IAAzC,CAA8C,UAAU4hB,QAAV,EAAoB;AAC9D/e,mBAAGqe,gBAAH,GAAsBU,QAAtB;AACH,aAFD;AAGH;;AAED,iBAASH,WAAT,GAAuB;AACnBV,0BAAc3e,MAAd,GAAuBpC,IAAvB,CAA4B,UAAUihB,OAAV,EAAmB;AAC3Cpe,mBAAGoe,OAAH,GAAaA,OAAb;AACH,aAFD;AAGH;;AAED,iBAASL,gCAAT,GAA4C;AACxC/d,eAAGwe,WAAH,GAAiB,IAAjB;;AAEAmU,+BAAmB5U,gCAAnB,CAAoD;AAChDiB,2BAAWhf,GAAGiQ,MAAH,CAAU+O,SAD2B;AAEhD/E,0BAAUja,GAAGiQ,MAAH,CAAUgK,QAF4B;AAGhDgF,2BAAWjf,GAAGiQ,MAAH,CAAUgP,SAH2B;AAIhD4I,sBAAM7nB,GAAGiQ,MAAH,CAAUkP,QAJgC;AAKhD2I,oBAAI9nB,GAAGiQ,MAAH,CAAUsP,MALkC;AAMhD1X,sBAAM7H,GAAGiQ,MAAH,CAAU0O;;AANgC,aAApD,EAQGxhB,IARH,CAQQ,UAAUuV,QAAV,EAAoB;AACxB1S,mBAAG0S,QAAH,GAAcA,QAAd;AACH,aAVD,EAUGgL,OAVH,CAUW,YAAY;AAAE1d,mBAAGwe,WAAH,GAAiB,KAAjB;AAAyB,aAVlD;AAWH;;AAED,iBAASF,eAAT,GAA2B;AACvB,gBAAI,CAACte,GAAG0S,QAAJ,IAAgB,CAAC1S,GAAG0S,QAAH,CAAYlhB,MAAjC,EACI;;AAEJwO,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChCA,qBAAK+sB,OAAL,GAAe3f,GAAGue,WAAlB;AACH,aAFD;AAGH;;AAED,iBAAS4U,IAAT,GAAgB;AACZnzB,eAAGwe,WAAH,GAAiB,IAAjB;;AAEA,gBAAIoB,cAAc,EAAlB;;AAEA5f,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChC,oBAAIA,KAAK+sB,OAAT,EACIC,YAAY5d,IAAZ,CAAiBpP,KAAKgC,EAAtB;AACP,aAHD;;AAKA,gBAAI,CAACgrB,YAAYpuB,MAAjB,EAAyB;AACrBwO,mBAAGwe,WAAH,GAAiB,KAAjB;AACA;AACH;;AAEDmU,+BAAmBQ,IAAnB,CAAwBvT,WAAxB,EAAqCziB,IAArC,CAA0C,UAAU0iB,cAAV,EAA0B;AAChE,oBAAIA,cAAJ,EACI9jB,iBAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBywB,4BAA9C,EADJ,KAGI/jB,iBAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB0wB,kCAA7C;;AAEJ/f,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACAR;AACH,aATD,EASGL,OATH,CASW,YAAY;AACnB1d,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACH,aAZD;AAaH;;AAED,iBAAS6U,SAAT,GAAqB;AACjBpzB,eAAGwe,WAAH,GAAiB,IAAjB;;AAEA,gBAAIoB,cAAc,EAAlB;;AAEA5f,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChC,oBAAIA,KAAK+sB,OAAT,EACIC,YAAY5d,IAAZ,CAAiBpP,KAAKgC,EAAtB;AACP,aAHD;;AAKA,gBAAI,CAACgrB,YAAYpuB,MAAjB,EAAyB;AACrBwO,mBAAGwe,WAAH,GAAiB,KAAjB;AACA;AACH;;AAEDmU,+BAAmBS,SAAnB,CAA6BxT,WAA7B,EAA0CziB,IAA1C,CAA+C,UAAUjE,IAAV,EAAgB;AAC3D;AACA6C,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBywB,4BAA9C;AACA;AACA;AACA,oBAAI3tB,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA3H,GAA+I,MAA9J;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,0BAA7B;AACArzB,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACAR;AACH,aAXD,EAWGL,OAXH,CAWW,YAAY;AACnB1d,mBAAGwe,WAAH,GAAiB,KAAjB;AACAxe,mBAAGue,WAAH,GAAiB,KAAjB;AACH,aAdD;AAeH;;AAED,iBAASG,gBAAT,CAA0B9rB,IAA1B,EAAgC;AAC5B,gBAAI2P,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,8DAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOjN,IAAP,GAAcA,IAAd;AACAiN,2BAAO0C,KAAP,GAAeC,iBAAf;AACH,iBAJW;AAHW,aAAf,CAAZ;;AAUA,mBAAOD,MAAMvE,MAAb;AACH;;AAED,iBAASw1B,YAAT,CAAsBh1B,KAAtB,EAA6BxO,IAA7B,EAAmCyjC,WAAnC,EAAgD;AAC5C,gBAAI3sB,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;;AAEAnV,qBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;;AAEA,gBAAI5N,OAAO,IAAI8M,IAAJ,CAAS,CAACxH,KAAD,CAAT,EAAkB;AACzB1L,sBAAM2gC;AADmB,aAAlB,CAAX;;AAIA,gBAAIt8B,MAAMhG,OAAO8U,GAAP,CAAWC,eAAX,CAA2BhN,IAA3B,CAAV;;AAEA4N,cAAEjI,IAAF,GAAS1H,GAAT;AACA2P,cAAEE,MAAF,GAAW,QAAX;AACAF,cAAEG,QAAF,GAAajX,IAAb;;AAEA8W,cAAEM,KAAF;;AAEA;AACAssB,uBAAW,YAAY;AACnB5sB,kBAAE6sB,UAAF,CAAaC,WAAb,CAAyB9sB,CAAzB;AACA3V,uBAAO8U,GAAP,CAAW4tB,eAAX,CAA2B18B,GAA3B;AACH,aAHD,EAGG,IAHH;AAIH;;AAED,iBAAS+I,iBAAT,GAA6B;AACzB,gBAAI8f,cAAcngB,OAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;;AAEnF,oBAAI,CAACD,QAAL,EAAe;AACXP,uBAAGqe,gBAAH,GAAsB,EAAtB;AACA;AACH,iBAHD,MAGO;AACHN;AACH;;AAED,oBAAI,CAACxd,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJqe,qCAAqBte,QAArB;AACH,aAbiB,CAAlB;;AAeA,gBAAI0f,gBAAgBpgB,OAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALmB,CAApB;;AAOA,gBAAImC,cAAcrgB,OAAOS,MAAP,CAAc,qBAAd,EAAqC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACjF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALiB,CAAlB;;AAOA,gBAAIoC,eAAetgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALkB,CAAnB;;AAOA,gBAAIqC,eAAevgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJud;AACH,aALkB,CAAnB;;AAOAle,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BwwB;AACAC;AACAC;AACAC;AACAC;AACH,aAND;AAOH;AACJ;AACJ,CApOD,EAoOG7xB,GApOH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,oBADb,EACmCi3B,kBADnC;;AAGAA,uBAAmB7jC,OAAnB,GAA6B,CAAC,cAAD,CAA7B;;AAEA,aAAS6jC,kBAAT,CAA4BrzB,YAA5B,EAA0C;;AAEtC,YAAI5D,UAAU,IAAd;AACA,YAAIe,UAAU,cAAd;;AAEAf,gBAAQyhB,UAAR,GAAqBA,UAArB;AACAzhB,gBAAQshB,SAAR,GAAoBA,SAApB;AACAthB,gBAAQo3B,aAAR,GAAwBA,aAAxB;AACAp3B,gBAAQs3B,WAAR,GAAsBA,WAAtB;AACAt3B,gBAAQqiB,gCAAR,GAA2CA,gCAA3C;AACAriB,gBAAQy3B,IAAR,GAAeA,IAAf;AACAz3B,gBAAQ03B,SAAR,GAAoBA,SAApB;;AAEA,iBAASpW,SAAT,GAAqB;AACjB,mBAAO1d,aAAarD,GAAb,CAAiBQ,UAAU,WAA3B,CAAP;AACH;;AAED,iBAASq2B,aAAT,GAAyB;AACrB,mBAAOxzB,aAAarD,GAAb,CAAiBQ,UAAU,kBAA3B,CAAP;AACH;;AAED,iBAASu2B,WAAT,GAAuB;AACnB,mBAAO1zB,aAAarD,GAAb,CAAiBQ,UAAU,gBAA3B,CAAP;AACH;;AAED,iBAAS0gB,UAAT,CAAoBvqB,IAApB,EAA0B;AACtB,mBAAO0M,aAAapD,IAAb,CAAkBO,UAAU,WAA5B,EAAyC7J,IAAzC,CAAP;AACH;;AAED,iBAASmrB,gCAAT,CAA0C9N,MAA1C,EAAkD;AAC9C,mBAAO3Q,aAAapD,IAAb,CAAkBO,UAAU,uCAA5B,EAAqEwT,MAArE,CAAP;AACH;;AAED,iBAASkjB,IAAT,CAAczgB,QAAd,EAAwB;AACpB,mBAAOpT,aAAapD,IAAb,CAAkBO,UAAU,OAA5B,EAAqCiW,QAArC,CAAP;AACH;;AAED,iBAAS0gB,SAAT,CAAmB1gB,QAAnB,EAA6B;AACzB,mBAAOpT,aAAa9C,YAAb,CAA0BC,UAAU,cAApC,EAAoDiW,QAApD,CAAP;AACH;AACJ;AACJ,CAhDD;;;ACAA,CAAC,YAAY;AACT;;AACAlkB,YAAQC,MAAR,CAAe,QAAf,EACKiN,OADL,CACa,aADb,EAC4Bo4B,WAD5B;;AAGAA,gBAAYhlC,OAAZ,GAAsB,CAAC,cAAD,CAAtB;;AAEA,aAASglC,WAAT,CAAqBx0B,YAArB,EAAmC;;AAE/B,YAAI5D,UAAU,IAAd;;AAEAA,gBAAQ6D,MAAR,GAAiBA,MAAjB;;AAEA,iBAASA,MAAT,CAAgB0Q,MAAhB,EAAwB;AACpB,mBAAO3Q,aAAarD,GAAb,CAAiB,cAAjB,CAAP;AACH;AACJ;AACJ,CAjBD;;;ACAA,CAAC,UAAU1N,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,YADf,EAC6B;AACrB7E,oBAAYwhC,oBADS;AAErBzhC,qBAAa,+CAFQ;AAGrBoN,kBAAU;AACNC,mBAAO,UADD;AAENmZ,sBAAU;AAFJ;AAHW,KAD7B;;AAUAib,yBAAqBjlC,OAArB,GAA+B,CAAC,QAAD,EAAW,aAAX,CAA/B;;AAEA,aAASilC,oBAAT,CAA8Bl0B,MAA9B,EAAsCi0B,WAAtC,EAAmD;AAC/C,YAAI9zB,KAAK,IAAT;;AAGAA,WAAGC,OAAH,GAAa,YAAY;AACrB6zB,wBAAYv0B,MAAZ,GAAqBpC,IAArB,CAA0B,UAAU62B,KAAV,EAAiB;AACvCh0B,mBAAGg0B,KAAH,GAAWA,KAAX;;AAEA,oBAAI,CAACh0B,GAAGL,KAAJ,IAAaK,GAAG8Y,QAAhB,IAA4B9Y,GAAGg0B,KAAH,CAASxiC,MAAzC,EACIwO,GAAGL,KAAH,GAAWK,GAAGg0B,KAAH,CAAS,CAAT,EAAYp/B,EAAvB;AACP,aALD;AAMH,SAPD;AAQH;AACJ,CA3BD,EA2BGrG,GA3BH;;;ACAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,YADf,EAC6B;AACrB9E,qBAAa,yCADQ;AAErBC,oBAAY0hC;AAFS,KAD7B;;AAMAA,qBAAiBnlC,OAAjB,GAA2B,CAAC,YAAD,EAAe,cAAf,CAA3B;;AAEA,aAASmlC,gBAAT,CAA0BhlC,UAA1B,EAAsC6T,YAAtC,EAAoD;AAChD,YAAI9C,KAAK,IAAT;;AAEAA,WAAGuO,cAAH,GAAoBA,cAApB;AACAvO,WAAGk0B,YAAH,GAAkBA,YAAlB;AACAl0B,WAAGm0B,aAAH,GAAmBA,aAAnB;AACAn0B,WAAGo0B,MAAH,GAAYA,MAAZ;;AAEA,aAAKn0B,OAAL,GAAe,YAAW;AACtBD,eAAGq0B,UAAH,GAAgB9lC,IAAI8lC,UAApB;AACAr0B,eAAGs0B,wBAAH,GAA8B/lC,IAAI+lC,wBAAlC;AACAt0B,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACH,SAJD;;AAMA,iBAASgf,cAAT,GAA0B;AACtBzL,yBAAazQ,IAAb,CAAkB,iBAAlB,EAAqC,EAACI,MAAM,IAAP,EAArC;AACH;;AAED,iBAASyhC,YAAT,GAAwB;AACpBpxB,yBAAazQ,IAAb,CAAkB,kBAAlB,EAAsC,EAACI,MAAM,IAAP,EAAtC;AACH;;AAED,iBAAS0hC,aAAT,CAAuBzpB,CAAvB,EAA0B;AACvBzb,uBAAWslC,KAAX,CAAiB,qBAAjB;AACF;;AAED,iBAASH,MAAT,GAAkB;AACd,gBAAIp0B,GAAGzQ,WAAH,CAAeilC,iBAAnB,EAAsC;AAClC1Z,6BAAa2Z,KAAb;AACA7iC,yBAAS2I,MAAT,GAAkB,0DAAlB;AACA3I,yBAAS2I,MAAT,GAAkB,6DAAlB;AACA3I,yBAAS2I,MAAT,GAAkB,0DAAlB;AACAnJ,yBAASyN,IAAT,GAAgB,sBAAsBmB,GAAGzQ,WAAH,CAAe6e,SAArC,GAAiD,YAAjE;AACA;AACH;;AAED0M,yBAAa4Z,UAAb,CAAwB,qBAAxB;AACA5Z,yBAAa4Z,UAAb,CAAwB,gBAAxB;AACA9iC,qBAAS2I,MAAT,GAAkB,0DAAlB;AACA3I,qBAAS2I,MAAT,GAAkB,6DAAlB;AACA3I,qBAAS2I,MAAT,GAAkB,0DAAlB;AACAnJ,qBAASyN,IAAT,GAAgB,kBAAhB;AACH;AACJ;AACJ,CAtDD,EAsDGtQ,GAtDH;;;ACAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,SADf,EAC0B;AAClB9E,qBAAa,2CADK;AAElBC,oBAAYoiC;AAFM,KAD1B;;AAMAA,sBAAkB7lC,OAAlB,GAA4B,CAAC,YAAD,EAAe,QAAf,EAAyB,UAAzB,CAA5B;;AAEA,aAAS6lC,iBAAT,CAA2B1lC,UAA3B,EAAuCuB,MAAvC,EAA+CtB,QAA/C,EAAyD;AACrD,YAAI8Q,KAAK,IAAT;;AAEAA,WAAG40B,SAAH,GAAe,EAAf;;AAEA50B,WAAG60B,gBAAH,GAAsB,IAAtB;AACA70B,WAAG80B,aAAH,GAAmBA,aAAnB;AACA90B,WAAG+0B,gBAAH,GAAsBA,gBAAtB;AACA/0B,WAAGg1B,YAAH,GAAkBA,YAAlB;AACAh1B,WAAGi1B,aAAH,GAAmBA,aAAnB;AACAj1B,WAAGk1B,aAAH,GAAmBA,aAAnB;AACAl1B,WAAGm1B,gBAAH,GAAsBA,gBAAtB;AACAn1B,WAAGo1B,kBAAH,GAAwBA,kBAAxB;;AAEA,aAAKn1B,OAAL,GAAe,YAAW;AACtBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;;AAEAN,uBAAWO,GAAX,CAAe,qBAAf,EAAsC,YAAW;AAC7C6lC;AACAr1B,mBAAG60B,gBAAH,GAAsB,CAAC70B,GAAG60B,gBAA1B;AACH,aAHD;;AAKA70B,eAAG40B,SAAH,GAAe,CACX;AACI5kC,sBAAMf,WAAWI,SAAX,CAAqBimC,QAD/B;AAEIC,sBAAM,gBAFV;AAGIC,0BAAU,IAHd;AAIIC,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqBimC,QADvB;AAEL9hC,2BAAO,CACH;AACIuD,+BAAO,kCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBimC,QAF/B;AAGIE,kCAAU;AAHd,qBADG;AAFF;AAJb,aADW,EAgBX;AACIxlC,sBAAMf,WAAWI,SAAX,CAAqBqmC,UAD/B;AAEIH,sBAAM,mBAFV;AAGIC,0BAAUx1B,GAAGzQ,WAAH,CAAe0B,WAAf,IAA8B+O,GAAGzQ,WAAH,CAAewB,OAA7C,IAAwDiP,GAAGzQ,WAAH,CAAeomC,SAHrF;AAIIF,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqBqmC,UADvB;AAELliC,2BAAO,CACH;AACIuD,+BAAO,8BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBumC,yBAF/B;AAGIJ,kCAAUx1B,GAAGzQ,WAAH,CAAe0B,WAAf,IAA8B+O,GAAGzQ,WAAH,CAAewB;AAH3D,qBADG,EAMH;AACIgG,+BAAO,uCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBwmC,yBAF/B;AAGIL,kCAAUx1B,GAAGzQ,WAAH,CAAeumC,yBAAf,KAA6C91B,GAAGzQ,WAAH,CAAeomC,SAAf,IAA4B31B,GAAGzQ,WAAH,CAAewB,OAAxF;AAHd,qBANG,EAWH;AACIgG,+BAAO,iCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB0mC,gCAF/B;AAGIP,kCAAUx1B,GAAGzQ,WAAH,CAAewB;AAH7B,qBAXG,EAgBH;AACIgG,+BAAO,uBADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB2mC,WAF/B;AAGIR,kCAAUx1B,GAAGzQ,WAAH,CAAe0mC,sBAAf,IAAyCj2B,GAAGzQ,WAAH,CAAewB,OAAxD,IAAmE,CAACiP,GAAGzQ,WAAH,CAAe2mC;AAHjG,qBAhBG,EAqBH;AACIn/B,+BAAO,6BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB8mC,gBAF/B;AAGIX,kCAAUx1B,GAAGzQ,WAAH,CAAewB;AAH7B,qBArBG;AAFF;AAJb,aAhBW,EAmDX;AACIf,sBAAMf,WAAWI,SAAX,CAAqB+mC,cAD/B;AAEIb,sBAAM,aAFV;AAGIC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAH7B;AAII0kC,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqB+mC,cADvB;AAEL5iC,2BAAO,CACH;AACIuD,+BAAO,kCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBgnC,QAF/B;AAGIb,kCAAU;AAHd,qBADG,EAMH;AACIz+B,+BAAO,gCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBinC,MAF/B;AAGId,kCAAU;AAHd,qBANG,EAWH;AACIz+B,+BAAO,iCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBknC,OAF/B;AAGIf,kCAAU;AAHd,qBAXG,EAgBH;AACIz+B,+BAAO,kCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBmnC,QAF/B;AAGIhB,kCAAU;AAHd,qBAhBG,EAqBH;AACIiB,iCAAQ;AADZ,qBArBG,EAwBH;AACI1/B,+BAAO,kCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBqnC,QAF/B;AAGIlB,kCAAU;AAHd,qBAxBG,EA6BH;AACIz+B,+BAAO,wCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBsnC,cAF/B;AAGInB,kCAAU;AAHd,qBA7BG,EAkCH;AACIz+B,+BAAO,mCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBunC,QAF/B;AAGIpB,kCAAU;AAHd,qBAlCG,EAuCH;AACIiB,iCAAQ;AADZ,qBAvCG,EA0CH;AACI1/B,+BAAO,0BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBwnC,UAF/B;AAGIrB,kCAAU;AAHd,qBA1CG,EA+CH;AACIz+B,+BAAO,4CADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBynC,kBAF/B;AAGItB,kCAAU;AAHd,qBA/CG,EAoDH;AACIiB,iCAAS;AADb,qBApDG,EAuDH;AACI1/B,+BAAO,mCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB0nC,QAF/B;AAGIvB,kCAAU;AAHd,qBAvDG,EA4DH;AACIz+B,+BAAO,2CADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB8F,YAF/B;AAGIqgC,kCAAU;AAHd,qBA5DG,EAiEH;AACIz+B,+BAAO,6CADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB2nC,gBAF/B;AAGIxB,kCAAU;AAHd,qBAjEG,EAsEH;AACIz+B,+BAAO,uCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB4nC,gBAF/B;AAGIzB,kCAAU;AAHd,qBAtEG,EA2EH;AACIz+B,+BAAO,6BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB6nC,gBAArB,IAAyC,MAFnD;AAGI1B,kCAAU;AAHd,qBA3EG,EAgFH;AACIiB,iCAAS;AADb,qBAhFG,EAmFH;AACI1/B,+BAAO,4BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB8nC,eAF/B;AAGI3B,kCAAU;AAHd,qBAnFG,EAwFH;AACIiB,iCAAS;AADb,qBAxFG,EA2FH;AACI1/B,+BAAO,yBADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqB+nC,YAF/B;AAGI5B,kCAAU;AAHd,qBA3FG,EAgGH;AACIz+B,+BAAO,kCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBgoC,QAF/B;AAGI7B,kCAAU;AAHd,qBAhGG;AAFF;AAJb,aAnDW,EAiKX;AACIxlC,sBAAMf,WAAWI,SAAX,CAAqBioC,cAD/B;AAEI/B,sBAAM,QAFV;AAGIC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAH7B;AAII0kC,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqBioC,cADvB;AAEL9jC,2BAAO,CACH;AACIuD,+BAAO,2BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBkoC,OAF/B;AAGI/B,kCAAU;AAHd,qBADG,EAMH;AACIz+B,+BAAO,mBADX;AAEI/G,8BAAM,SAFV;AAGIwlC,kCAAU;AAHd,qBANG;AAFF;AAJb,aAjKW,EAqLX;AACIxlC,sBAAMf,WAAWI,SAAX,CAAqBmoC,SAD/B;AAEIjC,sBAAM,eAFV;AAGIC,0BAAU,IAHd;AAIIC,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqBmoC,SADvB;AAELhkC,2BAAO,CACH;AACIuD,+BAAO,yBADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBknC,OAF/B;AAGIf,kCAAUx1B,GAAGzQ,WAAH,CAAewB;AAH7B,qBADG,EAMH;AACIgG,+BAAO,0BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBgnC,QAF/B;AAGIb,kCAAUx1B,GAAGzQ,WAAH,CAAewB;AAH7B,qBANG,EAWH;AACIgG,+BAAO,iCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBooC,iBAF/B;AAGIjC,kCAAUx1B,GAAGzQ,WAAH,CAAewB;AAH7B,qBAXG,EAgBH;AACIgG,+BAAO,sBADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBqoC,OAF/B;AAGIlC,kCAAU;AAHd,qBAhBG;AAFF;AAJb,aArLW,EAmNX;AACIxlC,sBAAMf,WAAWI,SAAX,CAAqBsoC,WAD/B;AAEIpC,sBAAM,aAFV;AAGIC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAH7B;AAII0kC,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqBsoC,WADvB;AAELnkC,2BAAO,CACH;AACIuD,+BAAO,gCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBioC,cAF/B;AAGI9B,kCAAU;AAHd,qBADG;AAFF;AAJb,aAnNW,EAkOX;AACIxlC,sBAAM,OADV;AAEIulC,sBAAM,UAFV;AAGIC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAAf,IAA0BiP,GAAGzQ,WAAH,CAAeqoC,cAHvD;AAIInC,yBAAS;AACLnzB,2BAAO,OADF;AAEL9O,2BAAO,CACH;AACIuD,+BAAO,+BADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBioC,cAF/B;AAGI9B,kCAAU;AAHd,qBADG,EAMH;AACIz+B,+BAAO,+CADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBwoC,sBAF/B;AAGIrC,kCAAU;AAHd,qBANG;AAFF;AAJb,aAlOW,EAsPX;AACIxlC,sBAAM,SADV;AAEIulC,sBAAM,sCAFV;AAGIuC,yBAAS,IAHb;AAIItC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAAf,IAA0BiP,GAAGzQ,WAAH,CAAewoC,eAJvD;AAKItC,yBAAS;AACLnzB,2BAAO,SADF;AAEL9O,2BAAO,CACH;AACIuD,+BAAO,gCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBioC,cAF/B;AAGI9B,kCAAU;AAHd,qBADG,EAMH;AACGz+B,+BAAO,gDADV;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBwoC,sBAF/B;AAGIrC,kCAAU;AAHd,qBANG;AAFF;AALb,aAtPW,EA2QX;AACIxlC,sBAAM,aADV;AAEIulC,sBAAM,mCAFV;AAGIuC,yBAAS,IAHb;AAIItC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAAf,IAA0BiP,GAAGzQ,WAAH,CAAeyoC,oBAJvD;AAKIvC,yBAAS;AACLnzB,2BAAO,cADF;AAEL9O,2BAAO,CACH;AACIuD,+BAAO,qCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBioC,cAF/B;AAGI9B,kCAAU;AAHd,qBADG,EAMH;AACIz+B,+BAAO,8CADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBwoC,sBAF/B;AAGIrC,kCAAU;AAHd,qBANG;AAFF;AALb,aA3QW,EAgSX;AACIxlC,sBAAM,iBADV;AAEIulC,sBAAM,uCAFV;AAGIuC,yBAAS,IAHb;AAIItC,0BAAUx1B,GAAGzQ,WAAH,CAAewB,OAAf,IAA0BiP,GAAGzQ,WAAH,CAAe0oC,wBAJvD;AAKIxC,yBAAS;AACLnzB,2BAAOrT,WAAWI,SAAX,CAAqB6oC,eADvB;AAEL1kC,2BAAO,CACH;AACIuD,+BAAO,yCADX;AAEI/G,8BAAMf,WAAWI,SAAX,CAAqBioC,cAF/B;AAGI9B,kCAAU;AAHd,qBADG;AAFF;AALb,aAhSW,CAAf;AAiTH,SAzTD;;AA2TA,iBAASP,aAAT,CAAuBriC,IAAvB,EAA6B;AACzB,gBAAI6/B,WAAW,KAAf;AACA7/B,iBAAK6iC,OAAL,CAAajiC,KAAb,CAAmBksB,OAAnB,CAA2B,UAAS9sB,IAAT,EAAe;AACtC,oBAAIpC,OAAO2nC,QAAP,CAAgBvlC,KAAKmE,KAArB,CAAJ,EAAiC;AAC7B07B,+BAAW,IAAX;AACA;AACH;AACJ,aALD;;AAOA,gBAAIA,QAAJ,EAAc;AACV,oBAAIzyB,GAAG60B,gBAAP,EACI,OAAO,wBAAP,CADJ,KAGI,OAAO,mBAAP;AACP;;AAED,mBAAO,EAAP;AACH;;AAED,iBAASG,YAAT,CAAsBpiC,IAAtB,EAA4B;AACxB,mBAAOpC,OAAO2nC,QAAP,CAAgBvlC,KAAKmE,KAArB,IAA8B,kBAA9B,GAAmD,EAA1D;AACH;;AAED,iBAASo+B,gBAAT,CAA0BviC,IAA1B,EAAgC;AAC5B,mBAAOpC,OAAO2nC,QAAP,CAAgBvlC,KAAKmE,KAArB,IAA8B,uBAA9B,GAAwD,EAA/D;AACH;;AAED,iBAAS+9B,aAAT,CAAuBsD,QAAvB,EAAiC;AAC7B,gBAAIA,SAAS3C,OAAT,CAAiBjiC,KAAjB,CAAuBhC,MAA3B,EAAmC;AAC/B6mC,oCAAoBD,QAApB;AACAA,yBAAS3C,OAAT,CAAiB6C,MAAjB,GAA2B,CAACF,SAAS3C,OAAT,CAAiB6C,MAA7C;AACA;AACH,aAJD,MAIO;AACHjD;AACA7kC,uBAAOC,EAAP,CAAU2nC,SAASrhC,KAAnB;AACH;AACJ;;AAED,iBAASm+B,aAAT,CAAuBkD,QAAvB,EAAiC;AAC7B,gBAAIp4B,GAAG60B,gBAAH,IAAuBuD,SAAS3C,OAAT,CAAiBjiC,KAAjB,CAAuBhC,MAAlD,EAA0D;AACtD6mC,oCAAoBD,QAApB;AACAA,yBAAS3C,OAAT,CAAiB6C,MAAjB,GAA0B,CAACF,SAAS3C,OAAT,CAAiB6C,MAA5C;AACA;AACH;AACJ;;AAED,iBAASlD,kBAAT,CAA4BgD,QAA5B,EAAsC;AAClC,gBAAIp4B,GAAG60B,gBAAP,EAAyB;AACrB3lC,yBAAS,YAAY;AACjB,wBAAIkpC,SAAS3C,OAAT,CAAiBjiC,KAAjB,CAAuBhC,MAA3B,EACI4mC,SAAS3C,OAAT,CAAiB6C,MAAjB,GAA0B,KAA1B;AACP,iBAHD,EAGG,GAHH;AAIH;AACJ;;AAED,iBAASvD,gBAAT,CAA0BwD,OAA1B,EAAmC;AAC/Bv4B,eAAG60B,gBAAH,IAAuBQ,kBAAvB;AACA7kC,mBAAOC,EAAP,CAAU8nC,QAAQxhC,KAAlB;AACH;;AAED,iBAASshC,mBAAT,CAA6BG,WAA7B,EAA0C;AACtC,iBAAI,IAAI95B,IAAI,CAAZ,EAAeA,IAAIsB,GAAG40B,SAAH,CAAapjC,MAAhC,EAAwCkN,GAAxC,EAA6C;AACzC,oBAAI05B,WAAWp4B,GAAG40B,SAAH,CAAal2B,CAAb,CAAf;;AAEA,oBAAG05B,SAAS3C,OAAT,CAAiBjiC,KAAjB,CAAuBhC,MAAvB,IAAiCgnC,YAAYxoC,IAAZ,KAAqBooC,SAASpoC,IAAlE,EACIooC,SAAS3C,OAAT,CAAiB6C,MAAjB,GAA0B,KAA1B;AACP;AACJ;;AAED,iBAASjD,gBAAT,GAA4B;AACxB,iBAAI,IAAI32B,IAAI,CAAZ,EAAeA,IAAIsB,GAAG40B,SAAH,CAAapjC,MAAhC,EAAwCkN,GAAxC,EAA6C;AACzC,oBAAI05B,WAAWp4B,GAAG40B,SAAH,CAAal2B,CAAb,CAAf;;AAEA,oBAAG05B,SAAS3C,OAAT,CAAiBjiC,KAAjB,CAAuBhC,MAA1B,EACI4mC,SAAS3C,OAAT,CAAiB6C,MAAjB,GAA0B,KAA1B;AACP;AACJ;AACJ;AACJ,CAjaD,EAiaG/pC,GAjaH;;;ACAA,CAAC,YAAW;AACR;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,aADf,EAEQ;AACI7E,oBAAYkmC,qBADhB;AAEInmC,qBAAa;AAFjB,KAFR,EAMK2d,MANL,CAMY,WANZ,EAOQ,CACI,MADJ,EACY,UAASyoB,IAAT,EAAe;AACnB,eAAO,UAASC,IAAT,EAAeC,MAAf,EAAuB;AAC1B,gBAAIA,MAAJ,EACID,OAAOA,KAAKlwB,OAAL,CAAa,IAAIowB,MAAJ,CAAW,MAAMD,MAAN,GAAe,GAA1B,EAA+B,IAA/B,CAAb,EACH,0CADG,CAAP;;AAGJ,mBAAOF,KAAKI,WAAL,CAAiBH,IAAjB,CAAP;AACH,SAND;AAOH,KATL,CAPR;;AAmBAF,0BAAsB3pC,OAAtB,GAAgC,CAAC,UAAD,EAAa,gBAAb,CAAhC;;AAEA,aAAS2pC,qBAAT,CAA+BvpC,QAA/B,EAAyCE,cAAzC,EAAyD;AACrD,YAAI4Q,KAAK,IAAT;;AAEA;AACAA,WAAGiQ,MAAH;AACAjQ,WAAG0S,QAAH;AACA1S,WAAGsjB,WAAH,GAAiB;AACb,eAAG,yBADU;AAEb,eAAG;AAFU,SAAjB;;AAKA;AACAtjB,WAAG+4B,cAAH,GAAoBA,cAApB;AACA/4B,WAAGg5B,WAAH,GAAiBA,WAAjB;;AAEA,iBAASA,WAAT,CAAqBjqB,SAArB,EAAgC;AAC5B3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EAAkC5R,IAAlC,CAAuC,UAASjD,OAAT,EAAkB;AACrD3L,oBAAI2L,OAAJ,CAAYC,gBAAZ,CAA6BD,QAAQtF,EAArC,EAAyCsF,QAAQpH,IAAjD,EAAuDoH,QAAQnH,MAA/D,EAAuEmH,QAAQ1G,KAAR,CAAchC,MAAd,GAAuB,CAA9F;AACAwO,mBAAG0S,QAAH,GAAc,IAAd;AACA1S,mBAAGiQ,MAAH,GAAY,IAAZ;AACH,aAJD;AAKH;;AAED,iBAAS8oB,cAAT,GAA0B;AACtB,gBAAI/4B,GAAGiQ,MAAH,CAAUze,MAAV,GAAmB,CAAvB,EAA0B;AACtBwO,mBAAG0S,QAAH,GAAcjhB,SAAd;AACA;AACH;;AAEDrC,2BAAe8gB,WAAf,CAA2BlQ,GAAGiQ,MAA9B,EAAsC9S,IAAtC,CAA2C,UAASxM,IAAT,EAAe;AACtDzB,yBAAS,YAAW;AAChB8Q,uBAAG0S,QAAH,GAAc/hB,IAAd;AACH,iBAFD;AAGH,aAJD;AAKH;AACJ;AAEJ,CA5DD,EA4DGpC,GA5DH;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjFA,CAAC,YAAY;AACT;;AACAoD,MAAEC,QAAF,EAAYC,KAAZ,CAAkB,YAAY;AAC1B,YAAI;AACA;AACA;AACA,gBAAIonC,uBAAuBtnC,EAAEunC,UAAF,CAAaC,eAAxC;;AAEA;AACAF,iCAAqB/pB,MAArB,CAA4BkqB,cAA5B,GAA6C,UAAUrkB,YAAV,EAAyBuf,wBAAzB,EAAmD;AAC5F3xB,uBAAO,MAAP,EAAeoS,YAAf;;AAEA;AACApjB,kBAAE,oCAAF,EAAwC0nC,IAAxC,CAA6C/E,wBAA7C;AACH,aALD;;AAOA;AACA3iC,cAAEunC,UAAF,CAAaI,GAAb,CAAiBC,KAAjB,GAAyBh+B,IAAzB,CAA8B,YAAY,CAAG,CAA7C;;AAEA;AACA5J,cAAEunC,UAAF,CAAaI,GAAb,CAAiBE,YAAjB,CAA8B,YAAY;AACtC9F,2BAAW,YAAY;AACnB/hC,sBAAEunC,UAAF,CAAaI,GAAb,CAAiBC,KAAjB;AACH,iBAFD,EAEG,IAFH,EADsC,CAG5B;AACb,aAJD;AAMH,SAvBD,CAuBE,OAAO7uB,CAAP,EAAU,CAAG;AAClB,KAzBD;AA0BH,CA5BD;ACAA;;AACA,CAAC,YAAY;;AAET;AACA,QAAI+uB,qBAAqB;AACrBC,cAAM,MADe;AAErBC,gBAAQ,MAFa;AAGrBC,cAAM,MAHe;AAIrBC,aAAK;AAJgB,KAAzB;;AAOA;AACAtrC,QAAIurC,mBAAJ,GAA0B,UAAU9/B,cAAV,EAA0B;;AAEhD,YAAI8Y,OAAO,IAAX;;AAEAA,aAAK2mB,kBAAL,GAA0BA,kBAA1B;;AAEA;AACA,YAAIM,OAAOjjB,GAAGkjB,UAAH,CAAchgC,eAAeigC,SAAf,IAA4B,MAA1C,CAAX;;AAEA;AACA,YAAIA,YAAYtoC,EAAE,OAAOqI,eAAeigC,SAAf,IAA4B,YAAnC,CAAF,CAAhB;AACA,YAAIC,UAAUvoC,EAAE,OAAOqI,eAAekgC,OAAf,IAA0B,UAAjC,CAAF,CAAd;AACA,YAAIC,UAAUxoC,EAAE,OAAOqI,eAAemgC,OAAf,IAA0B,UAAjC,CAAF,CAAd;;AAEA;AACA,YAAIC,SAASpgC,eAAeqgC,SAAf,IAA4B,YAAzC;AACA,YAAIC,gBAAgBtgC,eAAeugC,gBAAf,IAAmC,oBAAvD;AACA,YAAIC,YAAYxgC,eAAeygC,YAAf,IAA+B,eAA/C;AACA,YAAIC,eAAe1gC,eAAe0gC,YAAf,IAA+B,sBAAlD;;AAEA;AACA5nB,aAAK6nB,UAAL,GAAkB,UAAUZ,IAAV,EAAgB;AAC9B,oBAAQA,IAAR;AACI,qBAAKN,mBAAmBC,IAAxB;AACIkB,8BAAUV,OAAV;AACAW,8BAAUV,OAAV;AACAU,8BAAUZ,SAAV;AACA;AACJ,qBAAKR,mBAAmBE,MAAxB;AACIiB,8BAAUX,SAAV;AACAY,8BAAUX,OAAV;AACAW,8BAAUV,OAAV;AACA;AACJ,qBAAKV,mBAAmBG,IAAxB;AACIgB,8BAAUT,OAAV;AACAU,8BAAUZ,SAAV;AACAY,8BAAUX,OAAV;AACA;AACJ,qBAAKT,mBAAmBI,GAAxB;AACIe,8BAAUT,OAAV;AACAU,8BAAUZ,SAAV;AACAY,8BAAUX,OAAV;AACA;AApBR;;AAuBAH,iBAAKA,IAAL;AACH,SAzBD;;AA2BA;AACA;AACA,YAAIa,YAAY,SAAZA,SAAY,CAAUn2B,OAAV,EAAmB;AAC/B;AACA;AACA;AACAA,oBAAQ0S,IAAR;AACH,SALD;;AAOA;AACA,YAAI0jB,YAAY,SAAZA,SAAY,CAAUp2B,OAAV,EAAmB;AAC/B;AACA;AACA;AACAA,oBAAQ2S,IAAR;AACH,SALD;;AAOA;AACAzlB,UAAE,MAAMyoC,MAAR,EAAgBhzB,KAAhB,CAAsB,YAAY;;AAE9B;AACA,gBAAI2yB,UAAUN,mBAAmBG,IAA7B,IAAqCG,UAAUN,mBAAmBI,GAAtE,EAA2E;AACvE;AACH;;AAED;AACAE,iBAAKN,mBAAmBI,GAAxB;AACAe,sBAAUT,OAAV;AACAU,sBAAUX,OAAV;AACH,SAXD;;AAaA;AACAvoC,UAAE,MAAM2oC,aAAR,EAAuBlzB,KAAvB,CAA6B,YAAY;;AAErC;AACA,gBAAI2yB,UAAUN,mBAAmBC,IAAjC,EAAuC;AACnC;AACH;;AAED;AACAK,iBAAKN,mBAAmBC,IAAxB;AACAkB,sBAAUV,OAAV;AACAW,sBAAUV,OAAV;AACH,SAXD;;AAaA;AACAxoC,UAAE,MAAM6oC,SAAR,EAAmBpzB,KAAnB,CAAyB,YAAY;;AAEjC;AACA,gBAAI2yB,UAAUN,mBAAmBG,IAA7B,IAAqCG,UAAUN,mBAAmBI,GAAtE,EAA2E;AACvE;AACH;;AAED;AACAE,iBAAKN,mBAAmBE,MAAxB;AACAiB,sBAAUX,SAAV;AACAY,sBAAUX,OAAV;AACH,SAXD;;AAaA;AACAvoC,UAAE,MAAM+oC,YAAR,EAAsBtzB,KAAtB,CAA4B,YAAY;AACpC;AACA,gBAAI2yB,UAAUN,mBAAmBE,MAAjC,EAAyC;AACrC;AACH;;AAED;AACAI,iBAAKN,mBAAmBC,IAAxB;AACAkB,sBAAUV,OAAV;AACAW,sBAAUZ,SAAV;AACH,SAVD;AAWH,KAvHD;;AAyHA;AACA1rC,QAAIusC,SAAJ,GAAgB,UAAUC,KAAV,EAAiB;;AAE7B;AACA,YAAIjhC,QAAQnI,EAAE,MAAMopC,KAAR,CAAZ;;AAEA;AACAjhC,cAAMkhC,SAAN,CAAgB;AACZ,0BAAc,IADF;AAEZ,wBAAY;AACR,4BAAY;AACR,gCAAY,kCADJ;AAER,4BAAQ;AAFA;AADJ;AAFA,SAAhB;;AAUA;AACAlhC,cAAMhI,EAAN,CAAS,SAAT,EAAoB,YAAY;AAC5B4hC,uBAAW,YAAY;AAAEj6B,sBAAMC,WAAN;AAAsB,aAA/C,EAAiD,IAAjD;AACH,SAFD;AAGH,KApBD;AAqBH,CA1JD;;;ACDA,CAAC,YAAY;AACT;;AACArC,QAAIC,MAAJ,CAAW,sBAAX,EAAmC2jC,cAAnC;;AAEA,aAASA,cAAT,GAA0B;AACtB;AACA;AACA,YAAIzyB,OAAO,SAAPA,IAAO,CAAU0yB,aAAV,EAAyBC,kBAAzB,EAA6CC,oBAA7C,EAAmE;;AAE1EzpC,cAAEC,QAAF,EAAYC,KAAZ,CAAkB,YAAY;;AAE1BF,kBAAER,MAAF,EAAUqX,IAAV,CAAe,QAAf,EAAyB,UAAU7Y,KAAV,EAAiB;AACtCwrC;AACH,iBAFD;;AAIAxpC,kBAAER,MAAF,EAAUqX,IAAV,CAAe,qBAAf,EAAsC,UAAU7Y,KAAV,EAAiB;AACnDyrC;AACH,iBAFD;;AAIAF,8BAAc1yB,IAAd,CAAmB,UAAnB,EAA+B,UAAU7Y,KAAV,EAAiB;AAC5CyrC;AACH,iBAFD;;AAIAF,8BAAc1yB,IAAd,CAAmB,SAAnB,EAA8B,UAAU7Y,KAAV,EAAiB;;AAE3C,wBAAI0rC,iBAAiB1pC,EAAER,MAAF,EAAUmqC,aAAV,CAAwB,OAAxB,CAArB;AACA,wBAAID,mBAAmB,IAAvB,EAA6B;AACzBF;AACH;AACJ,iBAND;;AAQAxpC,kBAAER,MAAF,EAAUmqC,aAAV;AACH,aAvBD;AAwBH,SA1BD;;AA4BA,eAAO;AACH9yB,kBAAMA;AADH,SAAP;AAGH;AACJ,CAvCD,EAuCGrX,MAvCH,EAuCWS,QAvCX;;;ACAA,CAAC,YAAY;AACT;;AACAyF,QAAIC,MAAJ,CAAW,oBAAX,EAAiC,YAAY;;AAEzC,iBAASkgB,iBAAT,CAA2B+jB,aAA3B,EAA0C;AACtC;AACAA,0BAAc7jB,QAAd,CAAuB,UAAUC,GAAV,EAAe;;AAElC;AACA,oBAAIC,WAAYD,IAAIE,KAAL,GAAcF,IAAIE,KAAlB,GAA0BF,IAAIG,OAA7C;AACA,oBAAIF,YAAY,EAAZ,IAAkBA,WAAW,EAA7B,KACEA,WAAW,EAAX,IAAiBA,WAAW,EAD9B,CAAJ,EAEI,OAAO,KAAP,CAFJ,KAGK,IAAIA,YAAY,EAAZ,IAAkBjmB,EAAE,IAAF,EAAQqb,GAAR,GAAclB,OAAd,CAAsB,GAAtB,KAA8B,CAAC,CAArD,EAAwD;AACzD,2BAAO,KAAP;AACH;AACJ,aAVD;AAWH;;AAED,iBAAS0vB,aAAT,CAAuBD,aAAvB,EAAsC;AAClCA,0BAAc7jB,QAAd,CAAuB,UAAU/nB,KAAV,EAAiB;AACpC,uBAAOA,MAAMioB,QAAN,IAAkB,EAAlB,IAAwBjoB,MAAMioB,QAAN,IAAkB,EAAjD;AACH,aAFD;AAGH;;AAED,eAAO;AACHJ,+BAAmBA,iBADhB;AAEHgkB,2BAAeA;AAFZ,SAAP;AAIH,KA3BD;AA4BH,CA9BD,EA8BGrqC,MA9BH,EA8BWS,QA9BX;;;ACAA,CAAC,YAAY;AACT;AACA;;AACAyF,QAAIC,MAAJ,CAAW,uBAAX,EAAoC,YAAY;;AAE5C;AACA,YAAI4d,YAAY,SAAZA,SAAY,CAAU/W,YAAV,EAAwB;AACpC;AACAwE,mBAAOC,KAAP,CAAazE,YAAb,EAA2B,OAA3B,EAAoC5P,IAAIe,YAAJ,CAAiB,OAAjB,CAApC;AACH,SAHD;;AAKA;AACA,YAAImsC,0BAA0B,SAA1BA,uBAA0B,GAAY;AACtCvmB,sBAAU3mB,IAAIe,YAAJ,CAAiB,aAAjB,CAAV,EAA2Cf,IAAIe,YAAJ,CAAiB,OAAjB,CAA3C;AACH,SAFD;;AAIA;AACA,YAAIosC,aAAa,SAAbA,UAAa,CAAUC,WAAV,EAAuB;;AAEpC,gBAAIA,uBAAuBC,KAA3B,EAAkC;;AAE9B;AACA,oBAAID,YAAYnqC,MAAZ,IAAsB,CAA1B,EACI;;AAEJ;AACAG,kBAAE8G,IAAF,CAAOkjC,WAAP,EAAoB,UAAUj9B,CAAV,EAAa9L,IAAb,EAAmB;AACnC+P,2BAAOF,OAAP,CAAe7P,IAAf,EAAqBrE,IAAIe,YAAJ,CAAiB,OAAjB,CAArB;AACH,iBAFD;AAGH;AACJ,SAbD;;AAeA;AACA,YAAIusC,iBAAiB,SAAjBA,cAAiB,CAAUlrC,IAAV,EAAgBmrC,QAAhB,EAA0B;;AAE3C;AACAA,qBAAS7rC,OAAT,CAAiBU,IAAjB;AACH,SAJD;;AAMA;AACA,YAAIorC,SAAS,SAATA,MAAS,CAAU3+B,QAAV,EAAoB0+B,QAApB,EAA8BE,UAA9B,EAA0C;AACnD,gBAAI5+B,QAAJ,EAAc;AACV,oBAAI6+B,SAASD,aAAaA,WAAW/pB,QAAX,IAAuB,MAApC,GAA6C,KAA1D;;AAEA,oBAAI,CAACgqB,MAAL,EAAa;AACT,4BAAQ7+B,SAASY,MAAjB;AACI,6BAAK,SAAL;AACI,gCAAIZ,SAAS8+B,MAAb,EAAqB;AACjBR,2CAAWt+B,SAAS8+B,MAApB;AACH;AACDL,2CAAez+B,SAASzM,IAAxB,EAA8BmrC,QAA9B;AACA;AACJ,6BAAK,OAAL;AACI5mB,sCAAU9X,SAASe,YAAnB;AACA29B,qCAASprC,MAAT;AACA;AACJ,6BAAK,aAAL;AACI+qC;AACAK,qCAASprC,MAAT;AACA;AAdR,qBAeC;AACJ,iBAjBD,MAmBImrC,eAAez+B,QAAf,EAAyB0+B,QAAzB;AACP,aAvBD,MAuBO;AACH;AACAL;AACH;AACJ,SA5BD;;AA8BA,eAAO;AACHM,oBAAQA;AADL,SAAP;AAGH,KAtED;AAuEH,CA1ED;;;ACAA,CAAC,YAAY;AACT;AACA;;AACA1kC,QAAIC,MAAJ,CAAW,YAAX,EAAyB,CAAC,uBAAD,CAAzB,EAAoD,UAAU6kC,OAAV,EAAmB;;AAEnE;;;AAGA;AACA,YAAIC,YAAY;AACZngC,iBAAK,KADO;AAEZC,kBAAM,MAFM;AAGZC,oBAAQ,QAHI;AAIZE,iBAAK;AAJO,SAAhB;;AAOA;AACA,YAAIggC,eAAe;AACf9+B,kBAAM,MADS;AAEf++B,iBAAK;AAFU,SAAnB;;AAKA;AACA,YAAI7I,cAAc;AACd8I,4BAAgB,kDADF;AAEdC,sBAAU,qBAFI;AAGdC,uBAAW,YAHG;AAIdl/B,kBAAM;AAJQ,SAAlB;;AAOA;;;AAGA;AACA,YAAIm/B,WAAW,SAAXA,QAAW,CAAU1iC,cAAV,EAA0B8hC,QAA1B,EAAoC;;AAE/C;AACA,gBAAIa,YAAYC,8BAA8B5iC,cAA9B,CAAhB;;AAEA;AACArI,cAAEkrC,IAAF,CAAO;AACHlsC,sBAAMgsC,UAAUhsC,IADb;AAEHmC,sBAAM6pC,UAAUG,QAFb;AAGH7qB,0BAAU0qB,UAAU1qB,QAHjB;AAIH/U,uBAAOy/B,UAAUz/B,KAJd;AAKH/F,qBAAKwlC,UAAUxlC,GALZ;AAMH4lC,uBAAOJ,UAAUI,KANd;AAOHC,4BAAY,oBAAUC,GAAV,EAAe;AACvBA,wBAAIC,gBAAJ,CAAqB,eAArB,EAAsC,eAAtC;AACAD,wBAAIC,gBAAJ,CAAqB,iBAArB,EAAwC,sBAAxC;AACH,iBAVE;AAWH7/B,yBAAS,iBAAUD,QAAV,EAAoB;AACzB++B,4BAAQJ,MAAR,CAAe3+B,QAAf,EAAyB0+B,QAAzB,EAAmCa,SAAnC,EADyB,CACsB;AAClD,iBAbE;AAcHr/B,sBAAM,gBAAY;AACd6+B,4BAAQJ,MAAR,CAAe3+B,QAAf,EAAyB0+B,QAAzB,EADc,CACsB;AACvC;AAhBE,aAAP;AAkBH,SAxBD;;AA0BA;AACA,YAAIc,gCAAgC,SAAhCA,6BAAgC,CAAU5iC,cAAV,EAA0B;AAC1D,mBAAO;AACHkD,uBAAOlD,eAAekD,KAAf,IAAwB,KAD5B,EACmC;AACtC4/B,0BAAU9iC,eAAelH,IAAf,IAAuBspC,UAAUngC,GAFxC,EAE6C;AAChDgW,0BAAUjY,eAAeiY,QAAf,IAA2BoqB,aAAa9+B,IAH/C,EAGqD;AACxDw/B,uBAAO/iC,eAAe+iC,KAAf,IAAwB,IAJ5B,EAIkC;AACrCI,6BAAanjC,eAAemjC,WAAf,IAA8B,KALxC,EAK+C;AAClD1J,6BAAaz5B,eAAey5B,WAAf,IAA8BA,YAAYl2B,IANpD,EAM0D;AAC7DpG,qBAAK6C,eAAe7C,GAPjB;AAQHxG,sBAAMqJ,eAAerJ;AARlB,aAAP;AAUH,SAXD;;AAaA;;;AAGA;AACA,YAAIysC,oBAAoB,SAApBA,iBAAoB,CAAUC,eAAV,EAA2BrjC,cAA3B,EAA2C;AAC/D,gBAAI8hC,WAAW,IAAInqC,EAAE2rC,QAAN,EAAf;AACAtjC,2BAAelH,IAAf,GAAsBuqC,eAAtB;AACAX,qBAAS1iC,cAAT,EAAyB8hC,QAAzB;AACA,mBAAOA,SAAS5rC,OAAT,EAAP;AACH,SALD;;AAOA;AACA,YAAI+L,MAAM,SAANA,GAAM,CAAUjC,cAAV,EAA0B;AAChC,mBAAOojC,kBAAkBhB,UAAUngC,GAA5B,EAAiCjC,cAAjC,CAAP;AACH,SAFD;;AAIA;AACA,YAAIkC,OAAO,SAAPA,IAAO,CAAUlC,cAAV,EAA0B;AACjC,mBAAOojC,kBAAkBhB,UAAUlgC,IAA5B,EAAkClC,cAAlC,CAAP;AACH,SAFD;;AAIA;AACA,YAAIqC,MAAM,SAANA,GAAM,CAAUrC,cAAV,EAA0B;AAChC,mBAAOojC,kBAAkBhB,UAAU//B,GAA5B,EAAiCrC,cAAjC,CAAP;AACH,SAFD;;AAIA;AACA,YAAIoC,UAAU,SAAVA,OAAU,CAAUpC,cAAV,EAA0B;AACpC,mBAAOojC,kBAAkBhB,UAAUjgC,MAA5B,EAAoCnC,cAApC,CAAP;AACH,SAFD;;AAIA,eAAO;AACHiC,iBAAKA,GADF;AAEHC,kBAAMA,IAFH;AAGHG,iBAAKA,GAHF;AAIHF,oBAAQC;AAJL,SAAP;AAMH,KA5GD;AA8GH,CAjHD;ACAA;;AACA,CAAC,YAAY;AACT;AACA7N,QAAIgvC,QAAJ,GAAe,UAAU/vB,GAAV,EAAe;;AAE1B,YAAIsF,OAAO,IAAX;;AAEA;AACA,YAAItF,IAAI/Z,KAAJ,YAAqBmoC,KAAzB,EAAgC;;AAE5B;AACA9oB,iBAAKrf,KAAL,GAAaqjB,GAAG0mB,eAAH,CAAmBhwB,IAAI/Z,KAAvB,CAAb;;AAEA;AACAqf,iBAAK2qB,OAAL,GAAe,IAAf;;AAEA;AACA,gBAAIjwB,IAAIkX,QAAR,EAAkB;;AAEd;AACA5R,qBAAK4qB,cAAL,GAAsB,IAAtB;;AAEA;AACAlwB,oBAAIkX,QAAJ,CAAa,UAAUiZ,iBAAV,EAA6B;;AAEtC;AACA7qB,yBAAKrf,KAAL,CAAWkqC,iBAAX;;AAEA;AACA7qB,yBAAK4qB,cAAL,GAAsB,KAAtB;AACH,iBAPD;AAQH;AAEJ,SAzBD,MAyBO;;AAEH;AACA5qB,iBAAKrf,KAAL,GAAaqjB,GAAGkjB,UAAH,CAAcxsB,IAAI/Z,KAAJ,KAAchC,SAAd,GAA0B,IAA1B,GAAiC+b,IAAI/Z,KAAnD,CAAb;;AAEA;AACAqf,iBAAK2qB,OAAL,GAAe,KAAf;AACH;;AAED;AACA3qB,aAAKgG,QAAL,GAAgBtL,IAAIsL,QAAJ,IAAgB,KAAhC;;AAEA;AACA,YAAI,CAACtL,IAAIowB,UAAL,IAAmB9qB,KAAKgG,QAA5B,EAAsC;;AAElCtL,gBAAIowB,UAAJ,GAAiB,YAAY;AACzB,oBAAI,EAAG9qB,KAAK2qB,OAAL,IAAgB3qB,KAAKrf,KAAL,EAAhB,IAAgCqf,KAAKrf,KAAL,GAAajC,MAAb,GAAsB,CAAvD,IAA8D,CAACshB,KAAK2qB,OAAN,IAAiB3qB,KAAKrf,KAAL,EAAjF,CAAJ,EAAqG;AACjG,2BAAOlF,IAAIe,YAAJ,CAAiB,YAAjB,CAAP;AACH;AACJ,aAJD;AAKH;;AAED;AACA,YAAIke,IAAIowB,UAAJ,IAAkB9qB,KAAKgG,QAA3B,EAAqC;;AAEjC,gBAAI+kB,qBAAqBrwB,IAAIowB,UAA7B;;AAEApwB,gBAAIowB,UAAJ,GAAiB,YAAY;AACzB,oBAAI,EAAG9qB,KAAK2qB,OAAL,IAAgB3qB,KAAKrf,KAAL,EAAhB,IAAgCqf,KAAKrf,KAAL,GAAajC,MAAb,GAAsB,CAAvD,IAA8D,CAACshB,KAAK2qB,OAAN,IAAiB3qB,KAAKrf,KAAL,EAAjF,CAAJ,EAAqG;AACjG,2BAAOlF,IAAIe,YAAJ,CAAiB,YAAjB,CAAP;AACH;;AAED,uBAAOuuC,oBAAP;AACH,aAND;AAOH;;AAED;AACA/qB,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAQ,CAACvwB,IAAIowB,UAAL,IAAmB,CAACpwB,IAAIowB,UAAJ,EAA5B;AACH,SAFc,CAAf;;AAIA;AACA9qB,aAAKkrB,UAAL,GAAkBlnB,GAAGinB,QAAH,CAAY,YAAY;AACtC,mBAAO,EAAE,CAACvwB,IAAIowB,UAAL,IAAmB,CAACpwB,IAAIowB,UAAJ,EAAtB,CAAP;AACH,SAFiB,CAAlB;;AAIA;AACA9qB,aAAKlQ,KAAL,GAAakU,GAAGinB,QAAH,CAAY,YAAY;AACjC,gBAAI,CAACvwB,IAAIowB,UAAT,EACI,OAAO,EAAP;;AAEJ,mBAAOpwB,IAAIowB,UAAJ,EAAP;AACH,SALY,CAAb;;AAOA;AACA9qB,aAAKmrB,QAAL,GAAgBnnB,GAAGinB,QAAH,CAAY,YAAY;AACpC,mBAAO,CAACjrB,KAAKlQ,KAAL,EAAR;AACH,SAFe,CAAhB;;AAIA;AACAkQ,aAAKorB,GAAL,GAAWpnB,GAAGinB,QAAH,CAAY,YAAY;AAC/B,gBAAIjrB,KAAKgrB,OAAL,EAAJ,EAAoB;AAChB;AACA,uBAAO,wBAAP;AACH,aAHD,MAGO;AACH;AACA,uBAAO,sBAAP;AACH;AACJ,SARU,CAAX;;AAUA;AACAhrB,aAAKqrB,aAAL,GAAqBrnB,GAAGinB,QAAH,CAAY,YAAY;AACzC,gBAAIjrB,KAAKgrB,OAAL,EAAJ,EAAoB;AAChB,uBAAO;AACHI,yBAAK,eADF;AAEHE,+BAAW;AAFR,iBAAP;AAIH,aALD,MAKO;AACH,uBAAO;AACHF,yBAAK,sBADF;AAEHE,+BAAW;AAFR,iBAAP;AAIH;AACJ,SAZoB,CAArB;;AAcA;AACAtrB,aAAK+J,SAAL,GAAiB/F,GAAGinB,QAAH,CAAY,YAAY;AACrC,mBAAOjrB,KAAK4qB,cAAZ;AACH,SAFgB,CAAjB;AAGH,KAvHD;AAyHH,CA3HD;ACDA;;AACA,CAAC,YAAY;AACTnvC,QAAI8vC,QAAJ,GAAe,UAAUC,UAAV,EAAsBtE,UAAtB,EAAkC;;AAE7C,YAAIlnB,OAAO,IAAX;;AAEAA,aAAKyrB,cAAL,GAAsBD,UAAtB;;AAEA;AACA,YAAIE,mBAAmB,SAAnBA,gBAAmB,CAAUC,IAAV,EAAgB;AACnC3rB,iBAAKyrB,cAAL,CAAoB3jC,WAApB,CAAgC,QAAhC;AACA,gBAAI6jC,IAAJ,EAAU;AACN3rB,qBAAKyrB,cAAL,CAAoB1jC,QAApB,CAA6B,QAA7B;AACH;AACJ,SALD;;AAOA;AACA2jC,yBAAiBxE,WAAWvmC,KAAX,EAAjB;;AAEA;AACAqf,aAAKyrB,cAAL,CAAoBn3B,KAApB,CAA0B,YAAY;AAClC4yB,uBAAWvmC,KAAX,CAAiB,CAACumC,WAAWvmC,KAAX,EAAlB;AACA;AACA+qC,6BAAiBxE,WAAWvmC,KAAX,EAAjB;AACH,SAJD;AAKH,KAvBD;AAwBH,CAzBD;;;ACDA,CAAC,YAAY;AACT;;AACA4D,QAAIC,MAAJ,CAAW,OAAX,EAAoB,CAAC,yBAAD,CAApB,EAAiDiL,KAAjD;;AAEA;AACA,aAASA,KAAT,CAAehL,qBAAf,EAAsC;;AAElC,eAAO;AACH+L,qBAASA;;AAGb;AAJO,SAAP,CAKA,SAASA,OAAT,CAAiBo7B,OAAjB,EAA0B;;AAEtB;AACA,gBAAI1kC,iBAAiB0kC,WAAW,EAAhC;;AAEA,gBAAIr8B,UAAUrI,eAAeqI,OAAf,IAA0B,EAAxC;AACA,gBAAIs8B,oBAAoB3kC,eAAe2kC,iBAAf,IAAoCpwC,IAAIe,YAAJ,CAAiBsvC,EAA7E;AACA,gBAAIC,mBAAmB7kC,eAAe6kC,gBAAf,IAAmCtwC,IAAIe,YAAJ,CAAiBwvC,MAA3E;AACA,gBAAIC,eAAe/kC,eAAesI,KAAf,IAAwB,EAA3C;AACAwQ,iBAAKxP,OAAL,GAAetJ,eAAesJ,OAAf,IAA0B,YAAY,CAAG,CAAxD;AACAwP,iBAAKzP,MAAL,GAAcrJ,eAAeqJ,MAAf,IAAyB,YAAY,CAAG,CAAtD;;AAEA,gBAAI,CAAC1R,EAAE,kCAAF,EAAsCqtC,MAA3C,EAAmD;AAC/C;AACArtC,kBAAEC,SAASsV,IAAX,EAAiB7O,MAAjB,CAAwBd,sBAAsBE,KAAtB,EAAxB;AACH;;AAED;AACA,gBAAIwnC,aAAattC,EAAE,qBAAF,CAAjB;AACA,gBAAIutC,YAAYvtC,EAAE,oBAAF,CAAhB;AACA,gBAAI2Q,QAAQ3Q,EAAE,qBAAF,CAAZ;AACA,gBAAIwtC,eAAextC,EAAE,gBAAF,CAAnB;AACA,gBAAIytC,iBAAiBztC,EAAE,uBAAF,CAArB;;AAEA;AACAstC,uBAAWtG,IAAX,CAAgBgG,iBAAhB;AACAM,uBAAWI,GAAX,GAAiBvtC,EAAjB,CAAoB,OAApB,EAA6B,YAAY;AACrCghB,qBAAKxP,OAAL;AACA67B,6BAAa58B,KAAb,CAAmB,MAAnB;AACH,aAHD;;AAKA28B,sBAAUvG,IAAV,CAAekG,gBAAf;AACAK,sBAAUG,GAAV,GAAgBvtC,EAAhB,CAAmB,OAAnB,EAA4B,YAAY;AACpCghB,qBAAKzP,MAAL;AACA87B,6BAAa58B,KAAb,CAAmB,MAAnB;AACH,aAHD;;AAKAD,kBAAMq2B,IAAN,CAAWoG,YAAX;AACAK,2BAAezG,IAAf,CAAoBt2B,OAApB;;AAEA;AACA88B,yBAAa58B,KAAb;AACH;AACJ;AACJ,CAxDD,EAwDGpR,MAxDH,EAwDWS,QAxDX;ACAA;;AACA,CAAC,YAAY;AACTrD,QAAI+wC,cAAJ,GAAqB,UAAUC,SAAV,EAAqB;AACtC,YAAIzsB,OAAO,IAAX;;AAEA;AACA,YAAI0sB,qBAAqB7tC,EAAE,2BAA2B4tC,SAA7B,CAAzB;;AAEA;AACA,YAAIE,mBAAmB,SAAnBA,gBAAmB,CAAUC,YAAV,EAAwB3F,IAAxB,EAA8B;AACjD,gBAAI4F,QAAQ5F,QAAQ,SAApB;;AAEA,gBAAItiB,OAAOioB,YAAX;;AAEA,gBAAIC,UAAU,SAAd,EAAyB;;AAErB;AACAloB,qBAAKC,QAAL,CAAc,UAAUC,GAAV,EAAe;AACzB,wBAAIC,WAAYD,IAAIE,KAAL,GAAcF,IAAIE,KAAlB,GAA0BF,IAAIG,OAA7C;AACA,wBAAIF,YAAY,EAAZ,IAAkBA,WAAW,EAA7B,KACEA,WAAW,EAAX,IAAiBA,WAAW,EAD9B,CAAJ,EAEI,OAAO,KAAP;AACP,iBALD;AAMH,aATD,MAUK;AACD;AACAH,qBAAKmoB,OAAL,CAAa,UAAUl1B,CAAV,EAAa;AACtB,qBAAC,CAAD,KAAO/Y,EAAEkuC,OAAF,CAAUn1B,EAAEoN,OAAZ,EAAqB,CAAC,EAAD,EAAK,CAAL,EAAQ,CAAR,EAAW,EAAX,EAAe,EAAf,EAAmB,GAAnB,EAAwB,GAAxB,CAArB,CAAP,IAA6D,cAAcG,IAAd,CAAmBvN,EAAEoN,OAArB,MAAkC,CAAC,CAAD,KAAOpN,EAAEo1B,OAAT,IAAoB,CAAC,CAAD,KAAOp1B,EAAEq1B,OAA/D,CAA7D,IAAwI,MAAMr1B,EAAEoN,OAAR,IAAmB,MAAMpN,EAAEoN,OAAnK,IAA8K,CAACpN,EAAEs1B,QAAF,IAAc,KAAKt1B,EAAEoN,OAArB,IAAgC,KAAKpN,EAAEoN,OAAxC,MAAqD,KAAKpN,EAAEoN,OAAP,IAAkB,MAAMpN,EAAEoN,OAA/E,KAA2FpN,EAAEyQ,cAAF,EAAzQ;AACH,iBAFD;AAGH;AACJ,SArBD;;AAuBA;AACArI,aAAKmtB,SAAL,GAAiB,UAAUC,MAAV,EAAkB;AAC/BV,+BAAmB7G,IAAnB,CAAwBuH,MAAxB;AACH,SAFD;;AAIA;AACAptB,aAAKqtB,IAAL,GAAY,UAAUC,gBAAV,EAA4BrG,IAA5B,EAAkC;;AAE1C;AACA,gBAAIsG,yBAAyB1uC,EAAE,sBAAsB4tC,SAAxB,CAA7B;AACA,gBAAIe,0BAA0B3uC,EAAE,sBAAsB4tC,SAAtB,GAAkC,OAApC,CAA9B;AACA,gBAAIgB,sBAAsB5uC,EAAE,sBAAsB4tC,SAAtB,GAAkC,QAApC,CAA1B;AACA,gBAAIiB,gBAAgB7uC,EAAE,sBAAsB4tC,SAAtB,GAAkC,UAApC,CAApB;;AAEA;AACA,gBAAIG,eAAe/tC,EAAE,eAAe4tC,SAAjB,CAAnB;AACAE,6BAAiBC,YAAjB,EAA+B3F,IAA/B;;AAEA;AACAyF,+BAAmBp4B,KAAnB,CAAyB,YAAY;AACjCi5B,uCAAuBj5B,KAAvB;AACH,aAFD;;AAIAzV,cAAEC,QAAF,EAAYC,KAAZ,CAAkB,YAAY;AAC1B;AACAuuC,iCAAiBzuC,EAAE,8BAA8B4tC,SAAhC,EAA2CvyB,GAA3C,EAAjB;AACH,aAHD;;AAKA;AACAszB,oCAAwBl5B,KAAxB,CAA8B,YAAY;AACtC;AACA,oBAAI,CAAC,CAACg5B,gBAAN,EAAwB;;AAEpB;AACA,wBAAIzH,OAAOhnC,EAAE,sBAAsB4tC,SAAtB,GAAkC,0BAApC,EACN5G,IADM,EAAX;AAEA7lB,yBAAKmtB,SAAL,CAAetH,IAAf;AACAyH,qCAAiBI,cAAcxzB,GAAd,EAAjB;AACH;;AAEDuzB,oCAAoBn5B,KAApB;;AAEA;AACH,aAdD;AAeH,SAtCD;AAuCH,KA3ED;AA4EH,CA7ED;ACDA;;AACA,CAAC,YAAY;AACT7Y,QAAIkyC,YAAJ,GAAmB,YAAY;;AAE3B,YAAI3tB,OAAO,IAAX;;AAEA;AACAA,aAAKjf,GAAL,GAAW,EAAX;AACAif,aAAK/e,KAAL,GAAa,EAAb;AACA+e,aAAK7e,IAAL,GAAY,EAAZ;;AAEA;AACA6e,aAAK4tB,cAAL,GAAsB,UAAU3sC,KAAV,EAAiBE,IAAjB,EAAuB;AACzC,mBAAO,IAAI7B,IAAJ,CAAS6B,IAAT,EAAeF,KAAf,EAAsB,CAAtB,EAAyBD,OAAzB,EAAP;AACH,SAFD;;AAIA;AACAgf,aAAKqtB,IAAL,GAAY,UAAUQ,WAAV,EAAuB;;AAE/B;AACA7tB,iBAAKjf,GAAL,GAAWlC,EAAE,UAAUgvC,WAAZ,CAAX;AACA7tB,iBAAK/e,KAAL,GAAapC,EAAE,YAAYgvC,WAAd,CAAb;AACA7tB,iBAAK7e,IAAL,GAAYtC,EAAE,WAAWgvC,WAAb,CAAZ;;AAEA;AACA7tB,iBAAK/e,KAAL,CAAWuH,MAAX,CAAkB,YAAY;;AAE1B,oBAAIslC,kBAAkB9tB,KAAKjf,GAAL,CAASmZ,GAAT,EAAtB;AACA,oBAAI6zB,UAAU/tB,KAAK4tB,cAAL,CAAoB5tB,KAAK/e,KAAL,CAAWiZ,GAAX,EAApB,EAAsC8F,KAAK7e,IAAL,CAAU+Y,GAAV,EAAtC,CAAd;;AAEA8F,qBAAKjf,GAAL,CAASitC,KAAT,GAL0B,CAKR;AAClB;AACA,qBAAK,IAAIpiC,IAAI,CAAb,EAAgBA,KAAKmiC,OAArB,EAA8BniC,GAA9B,EAAmC;AAC/BoU,yBAAKjf,GAAL,CAASwE,MAAT,CAAgB,mBAAmBqG,CAAnB,GAAuB,GAAvB,GAA6BA,CAA7B,GAAiC,WAAjD;AACH;AACD,oBAAIkiC,kBAAkBC,OAAtB,EAA+B;AAC3B/tB,yBAAKjf,GAAL,CAASmZ,GAAT,CAAa6zB,OAAb,EAD2B,CACJ;AAC1B,iBAFD,MAGK;AACD/tB,yBAAKjf,GAAL,CAASmZ,GAAT,CAAa4zB,eAAb,EADC,CAC8B;AAClC;AACJ,aAhBD;AAiBH,SAzBD;;AA2BA;AACA9tB,aAAKhf,OAAL,GAAe,YAAY;;AAEvB;AACA,gBAAI,CAAC,CAACgf,KAAKjf,GAAL,CAASmZ,GAAT,EAAD,IAAmB8F,KAAKjf,GAAL,CAASmZ,GAAT,MAAkB,EAAtC,MAA8C,CAAC8F,KAAK/e,KAAL,CAAWiZ,GAAX,EAAD,IAAqB8F,KAAK/e,KAAL,CAAWiZ,GAAX,MAAoB,EAAvF,MACI,CAAC8F,KAAK7e,IAAL,CAAU+Y,GAAV,EAAD,IAAoB8F,KAAK7e,IAAL,CAAU+Y,GAAV,MAAmB,EAD3C,CAAJ,EACoD;AAChD,uBAAO,IAAP;AACH;;AAED,mBAAO;AACHnZ,qBAAKif,KAAKjf,GAAL,CAASmZ,GAAT,EADF;AAEHjZ,uBAAO+e,KAAK/e,KAAL,CAAWiZ,GAAX,EAFJ;AAGH/Y,sBAAM6e,KAAK7e,IAAL,CAAU+Y,GAAV;AAHH,aAAP;AAKH,SAbD;;AAeA;AACA8F,aAAKiuB,OAAL,GAAe,UAAUC,OAAV,EAAmB;AAC9BluB,iBAAKjf,GAAL,CAASmZ,GAAT,CAAag0B,QAAQntC,GAArB;AACAif,iBAAK/e,KAAL,CAAWiZ,GAAX,CAAeg0B,QAAQjtC,KAAvB;AACA+e,iBAAK7e,IAAL,CAAU+Y,GAAV,CAAcg0B,QAAQ/sC,IAAtB;AACH,SAJD;;AAMA;AACA6e,aAAKmuB,QAAL,GAAgB,YAAY;AACxB,gBAAIttB,IAAI,IAAIvhB,IAAJ,EAAR;;AAEA0gB,iBAAKiuB,OAAL,CAAa;AACTltC,qBAAK8f,EAAE7f,OAAF,EADI;AAETC,uBAAO4f,EAAE3f,QAAF,KAAe,CAFb;AAGTC,sBAAM0f,EAAEzf,WAAF;AAHG,aAAb;AAKH,SARD;;AAUA;AACH,KA7ED;AA8EH,CA/ED;ACDA;;AACA,CAAC,YAAY;AACT3F,QAAI2yC,YAAJ,GAAmB,UAAU3B,SAAV,EAAqB;;AAEpC,YAAI4B,UAAUxvC,EAAE,MAAM4tC,SAAR,CAAd;;AAEA;AACA4B,gBAAQzpB,QAAR,CAAiB,UAAUC,GAAV,EAAe;AAC5B,gBAAIC,WAAYD,IAAIE,KAAL,GAAcF,IAAIE,KAAlB,GAA0BF,IAAIG,OAA7C;AACA,gBAAIF,YAAY,EAAZ,IAAkBA,WAAW,EAA7B,KACEA,WAAW,EAAX,IAAiBA,WAAW,EAD9B,CAAJ,EAEI,OAAO,KAAP;AACP,SALD;AAMH,KAXD;AAYH,CAbD;ACDA;;AACA,CAAC,YAAY;AACT;AACArpB,QAAI6yC,MAAJ,GAAa,UAAUpnC,cAAV,EAA0B;AACnC,YAAI8Y,OAAO,IAAX;;AAEA;AACA,YAAI,CAAC9Y,cAAL,EAAqBA,iBAAiB,EAAjB;;AAErB;AACA8Y,aAAKuuB,cAAL,GAAsBvqB,GAAGkjB,UAAH,CAAchgC,eAAesnC,cAAf,IAAiC,IAA/C,CAAtB;AACAxuB,aAAKyuB,OAAL,GAAezqB,GAAGkjB,UAAH,CAAclnB,KAAKuuB,cAAL,EAAd,CAAf;AACAvuB,aAAKjL,IAAL,GAAYiP,GAAGkjB,UAAH,CAAchgC,eAAe6N,IAAf,IAAuB,CAArC,CAAZ,CATmC,CASkB;AACrDiL,aAAK2D,QAAL,GAAgBK,GAAGkjB,UAAH,CAAchgC,eAAeyc,QAAf,IAA2B,EAAzC,CAAhB,CAVmC,CAU2B;AAC9D3D,aAAKniB,IAAL,GAAYmmB,GAAG0mB,eAAH,CAAmB,EAAnB,CAAZ,CAXmC,CAWC;AACpC1qB,aAAK0uB,GAAL,GAAW1qB,GAAGkjB,UAAH,CAAc,IAAd,CAAX;;AAEA;AACA;AACAlnB,aAAK2uB,WAAL,GAAmB3qB,GAAGinB,QAAH,CAAY,YAAY;AACvC,mBAAOjrB,KAAKjL,IAAL,EAAP;AACH,SAFkB,EAEhBiL,IAFgB,CAAnB;;AAIA;AACAA,aAAK4uB,cAAL,GAAsB5qB,GAAGinB,QAAH,CAAY,YAAY;AAC1C,mBAAOjrB,KAAKyuB,OAAL,EAAP;AACH,SAFqB,EAEnBzuB,IAFmB,CAAtB;;AAIA;AACAA,aAAK6uB,gBAAL,GAAwB7qB,GAAGinB,QAAH,CAAY,YAAY;AAC5C,mBAAOjrB,KAAK0uB,GAAL,EAAP;AACH,SAFuB,EAErB1uB,IAFqB,CAAxB;;AAIA;AACAA,aAAK8uB,SAAL,GAAiB9qB,GAAGinB,QAAH,CAAY,YAAY;AACrC,mBAAOjrB,KAAK0uB,GAAL,KAAa,gCAAb,GAAgD,kCAAvD;AACH,SAFgB,EAEd1uB,IAFc,CAAjB;;AAIA;AACA;AACAA,aAAK8C,IAAL,GAAY,UAAUisB,UAAV,EAAsB;;AAE9B;AACAlwC,cAAE8G,IAAF,CAAOopC,WAAW7jC,MAAlB,EAA0B,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACzCkgB,qBAAKniB,IAAL,CAAUqR,IAAV,CAAepP,IAAf;AACH,aAFD;;AAIA;AACA,gBAAIkvC,aAAaD,WAAWE,KAA5B;;AAEA;AACA,gBAAIrrB,YAAYnoB,IAAIgoB,YAAJ,CAAiBurB,UAAjB,EAA6BhvB,KAAK2D,QAAL,EAA7B,CAAhB;AACH,SAZD;;AAcA;AACA3D,aAAKkvB,KAAL,GAAa,UAAUC,WAAV,EAAuB;AAChC,gBAAInvB,KAAKyuB,OAAL,OAAmBU,WAAvB,EAAoC;AAChCnvB,qBAAK0uB,GAAL,CAAS,CAAC1uB,KAAK0uB,GAAL,EAAV;AACH,aAFD,MAGK;AACD1uB,qBAAKyuB,OAAL,CAAaU,WAAb;AACAnvB,qBAAK0uB,GAAL,CAAS,IAAT;AACH;AACJ,SARD;AASH,KA7DD;AA8DH,CAhED;ACDA;;AACA,CAAC,YAAY;AACTjzC,YAAI2zC,WAAJ,GAAkB,UAAU5D,UAAV,EAAsB6D,IAAtB,EAA4B;;AAE1C,oBAAIrvB,OAAO,IAAX;;AAEAA,qBAAKyrB,cAAL,GAAsBD,UAAtB;;AAEAxrB,qBAAKyrB,cAAL,CAAoBvxB,GAApB,CAAwBm1B,IAAxB;AACArvB,qBAAKyrB,cAAL,CAAoB6D,MAApB,CAA2B,EAAE76B,OAAO,MAAT,EAA3B;AACH,SARD;AASH,CAVD;;;ACDC,WAAU5V,CAAV,EAAa;;AAEV;AACAA,MAAE0wC,EAAF,CAAKC,KAAL,GAAa,UAAU7uC,KAAV,EAAiB;AAC1B,YAAIqf,OAAO,IAAX;;AAEA,YAAIrf,KAAJ,EAAW;AACPqf,iBAAKyvB,UAAL,CAAgB,UAAhB;AACH,SAFD,MAEO;AACHzvB,iBAAKyvB,UAAL,CAAgB,WAAhB;AACH;AACJ,KARD;;AAUA5wC,MAAE0wC,EAAF,CAAKG,SAAL,GAAiB,YAAY;AACzB,YAAI1vB,OAAO,IAAX;;AAEA,eAAOA,KAAKyvB,UAAL,CAAgB,WAAhB,CAAP;AACH,KAJD;;AAMA5wC,MAAE0wC,EAAF,CAAKI,eAAL,GAAuB,YAAY;AAC/B,YAAI3vB,OAAO,IAAX;AACAnhB,UAAE,IAAF,EAAQ+wC,WAAR,CAAoB,UAApB;AACA/wC,UAAE,IAAF,EAAQ2G,IAAR,CAAa,sBAAb,EAAqCid,IAArC,CAA0C,UAA1C,EAAsD,IAAtD;AACH,KAJD;;AAMA5jB,MAAE0wC,EAAF,CAAKM,cAAL,GAAsB,YAAY;AAC9B,YAAI7vB,OAAO,IAAX;AACAnhB,UAAE,IAAF,EAAQ+wC,WAAR,CAAoB,UAApB;AACA/wC,UAAE,IAAF,EAAQ2G,IAAR,CAAa,sBAAb,EAAqCid,IAArC,CAA0C,UAA1C,EAAsD,KAAtD;AACH,KAJD;AAKH,CA9BA,EA8BCqtB,MA9BD,CAAD;;;ACAA,CAAC,YAAY;AACT;;AACAp0C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EACwC;AAChC7E,oBAAYswC,+BADoB;AAEhCvwC,qBAAa;AAFmB,KADxC;;AAMAuwC,oCAAgC/zC,OAAhC,GAA0C,CAAC,QAAD,CAA1C;;AAEA,aAAS+zC,+BAAT,CAAyChjC,MAAzC,EAAiD;AAC7C,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU,KAHF;AAIRvC,6BAAa;AAJL,aAAZ;AAMH,SAPD;AAQH;AACJ,CAxBD;;;;;ACAA,CAAC,YAAY;AACT;;AACAn1B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYuwC,mCADwB;AAEpCxwC,qBAAa,yEAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASA6c,wCAAoCh0C,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,gBAAzB,EAA2C,cAA3C,EAA2D,kBAA3D,CAA9C;;AAEA,aAASg0C,mCAAT,CAA6CjjC,MAA7C,EAAqD5Q,UAArD,EAAiEwpB,cAAjE,EAAiF8D,YAAjF,EAA+FxgB,gBAA/F,EAAiH;AAC7G,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG+iC,aAAH;AACA/iC,WAAGgqB,OAAH;AACAhqB,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;AACArZ,WAAGgjC,gBAAH,GAAsBA,gBAAtB;AACAhjC,WAAGzQ,WAAH,GAAiB,EAAjB;;AAEAyQ,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;;AAEA,gBAAIyQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB8lB,+BAAexc,GAAf,CAAmB+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAlC,EAAsCuI,IAAtC,CAA2C,UAAUvK,IAAV,EAAgB;AACvDoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;;AAED,gBAAIrE,IAAIgB,WAAJ,CAAgBqoC,cAApB,EAAoC;AAChChb;AACH;AACJ,SAdD;;AAgBA,iBAASA,WAAT,GAAuB;AACnBL,yBAAaK,WAAb,GAA2Bzf,IAA3B,CAAgC,UAAUigB,IAAV,EAAgB;AAC5Cpd,mBAAG4c,WAAH,GAAiBQ,IAAjB;AACH,aAFD;AAGH;;AAGD,iBAAS4lB,gBAAT,GAA4B;AACxBhjC,eAAG6c,SAAH,GAAe,IAAf;;AAEA,gBAAI,SAAS7c,GAAGpN,IAAH,CAAQqwC,YAAjB,KAAkC,QAAlC,IAA8CjjC,GAAGpN,IAAH,CAAQqwC,YAAR,CAAqBzxC,MAArB,GAA8B,CAAhF,EAAmF;AAC/EwO,mBAAG6c,SAAH,GAAe,KAAf;AACA;AACH;;AAEDN,yBAAasB,WAAb,CAAyB7d,GAAGpN,IAAH,CAAQqwC,YAAjC,EAA+C9lC,IAA/C,CAAoD,UAAU+lC,QAAV,EAAoB;AACpEljC,mBAAG+iC,aAAH,GAAmBG,QAAnB;AACH,aAFD,EAEGxlB,OAFH,CAEW,YAAY;AAAE1d,mBAAG6c,SAAH,GAAe,KAAf;AAAuB,aAFhD;AAGH;;AAED,iBAASxD,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJgQ,eAAGpN,IAAH,CAAQuwC,cAAR,GAAyBnjC,GAAGpN,IAAH,CAAQqwC,YAAR,IAAwBjjC,GAAGpN,IAAH,CAAQqwC,YAAR,CAAqBruC,EAA7C,GAAkDoL,GAAGpN,IAAH,CAAQqwC,YAAR,CAAqBruC,EAAvE,GAA4E,IAArG;;AAEA,gBAAIoL,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB8lB,+BAAe9U,MAAf,CAAsB3D,GAAGpN,IAAzB,EAA+BuK,IAA/B,CAAoC,YAAY;AAC5CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHzN,+BAAejZ,MAAf,CAAsBQ,GAAGpN,IAAzB,EAA+BuK,IAA/B,CAAoC,YAAY;AAC5CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAlFD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAY6wC,mCADwB;AAEpC9wC,qBAAa,yEAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAmd,wCAAoCt0C,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,gBAAzB,EAA2C,kBAA3C,CAA9C;;AAEA,aAASs0C,mCAAT,CAA6CvjC,MAA7C,EAAqD5Q,UAArD,EAAiEwpB,cAAjE,EAAiF1c,gBAAjF,EAAmG;AAC/F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;AACAjnB,WAAGzQ,WAAH,GAAiB,EAAjB;;AAEA;AACAyQ,WAAGzH,MAAH,GAAYA,MAAZ;AACAyH,WAAGmP,aAAH,GAAmBA,aAAnB;;AAEAnP,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACAgQ;AACH,SAHD;;AAKA,iBAASA,MAAT,GAAkB;AACdkZ,2BAAelZ,MAAf,CAAsB,IAAtB,EAA4B,IAA5B,EAAkCpC,IAAlC,CAAuC,UAAU3J,KAAV,EAAiB;AACpDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAED,iBAAS+E,MAAT,GAAkB;AACdkgB,2BAAelgB,MAAf,CAAsByH,GAAGinB,YAAH,CAAgBryB,EAAtC,EAA0CuI,IAA1C,CAA+C,YAAY;AACvDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;;AAED,iBAASl0B,aAAT,CAAuBvc,IAAvB,EAA6B;AACzB6lB,2BAAetJ,aAAf,CAA6Bvc,KAAKgC,EAAlC,EAAsCuI,IAAtC,CAA2C,UAAUxM,IAAV,EAAgB;AACvDoL,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAla;AACH,aAHD;AAIH;AACJ;AACJ,CArDD,EAqDGhR,GArDH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACKqV,SADL,CACe,UADf,EAC2B,CAAC,YAAY;AAChC,eAAO;AACHI,mBAAO;AACHo/B,0BAAU;AADP,aADJ;AAIHt/B,kBAAM,cAAUE,KAAV,EAAiBO,OAAjB,EAA0B8+B,UAA1B,EAAsC;AACxC9+B,wBAAQ+D,IAAR,CAAa,QAAb,EAAuB,UAAUg7B,WAAV,EAAuB;AAC1C,wBAAIC,SAAS,IAAIC,UAAJ,EAAb;AACAD,2BAAOE,MAAP,GAAgB,UAAUC,SAAV,EAAqB;AACjC1/B,8BAAMuC,MAAN,CAAa,YAAY;AACrBvC,kCAAMo/B,QAAN,GAAiBM,UAAU58B,MAAV,CAAiBhJ,MAAlC;AACH,yBAFD;AAGH,qBAJD;AAKAylC,2BAAOI,aAAP,CAAqBL,YAAYx8B,MAAZ,CAAmBhU,KAAnB,CAAyB,CAAzB,CAArB;AACH,iBARD;AASH;AAdE,SAAP;AAgBH,KAjBsB,CAD3B,EAmBKoE,SAnBL,CAmBe,oBAnBf,EAmBqC;AAC7B7E,oBAAYuxC,4BADiB;AAE7BxxC,qBAAa,kEAFgB;AAG7BoN,kBAAU;AACNumB,oBAAQ;AADF;AAHmB,KAnBrC;;AA2BA6d,iCAA6Bh1C,OAA7B,GAAuC,CAAC,QAAD,CAAvC;;AAEA,aAASg1C,4BAAT,CAAsCjkC,MAAtC,EAA8C;AAC1C,YAAIG,KAAK,IAAT;AACAA,WAAGpN,IAAH;AACAoN,WAAG+jC,MAAH;;AAEA;AACA/jC,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGpN,IAAH,GAAUpE,QAAQ4tB,IAAR,CAAapc,GAAGimB,MAAH,CAAUrzB,IAAvB,CAAV;AACH,SAFD;;AAIAsN;;AAEA,iBAASmZ,IAAT,GAAgB;AACZ1nB,cAAE,oBAAF,EAAwBiX,IAAxB,CAA6B,QAA7B,EAAuC,2BAA2B5I,GAAGpN,IAAH,CAAQgC,EAA1E;;AAEAjD,cAAE,oBAAF,EAAwBqyC,MAAxB;AACH;;AAED,iBAAS9jC,iBAAT,GAA6B;AACzB,gBAAI+jC,YAAYpkC,OAAOS,MAAP,CAAc,cAAd,EAA8B,YAAY;AACtD,oBAAIN,GAAG+jC,MAAP,EACI/jC,GAAGpN,IAAH,CAAQkG,SAAR,GAAoBkH,GAAG+jC,MAAvB;AACP,aAHe,CAAhB;AAIH;AACJ;AACJ,CA1DD,EA0DGx1C,GA1DH;ACAA;;AACA,CAAC,YAAY;AACT;AACAA,QAAI21C,oCAAJ,GAA2C,UAAUC,mBAAV,EAA+B;AACtE,YAAIrxB,OAAO,IAAX;;AAEAA,aAAK9Y,cAAL,GAAsB8c,GAAGkjB,UAAH,CAAc,EAAd,CAAtB;;AAEA;AACAzrC,YAAI61C,uCAAJ,GAA8C,UAAUxvC,EAAV,EAAc;AACxD,gBAAIyvC,MAAMvxB,KAAK9Y,cAAL,EAAV;;AAEA,iBAAK,IAAIpH,IAAT,IAAiBkgB,KAAK9Y,cAAL,EAAjB,EAAwC;AACpC,oBAAIpH,QAAQgC,EAAZ,EAAgB;;AAEZ,wBAAI0vC,qBAAqB3yC,EAAE,oBAAoBiD,EAAtB,CAAzB;AACA;AACA,wBAAI4Y,MAAM62B,IAAIzvC,EAAJ,CAAV;;AAEA,wBAAI4tC,YAAY8B,mBAAmB,CAAnB,EAAsB3kB,OAAtC;;AAEA,wBAAI6iB,SAAJ,EAAe;AACXh1B,4BAAI+2B,OAAJ,GAAc,IAAd;AACH,qBAFD,MAEO;AACH;AACA/2B,4BAAI+2B,OAAJ,GAAc,IAAd;AACH;;AAED/2B,wBAAI+2B,OAAJ,GAAc/B,SAAd;AACA6B,wBAAIzvC,EAAJ,IAAU4Y,GAAV,CAhBY,CAgBG;AAClB;AACJ;;AAED;AACAsF,iBAAK9Y,cAAL,CAAoBqqC,GAApB;AACH,SA1BD;;AA4BA;AACA1yC,UAAE8G,IAAF,CAAO0rC,mBAAP,EAA4B,UAAUzlC,CAAV,EAAa9L,IAAb,EAAmB;;AAE3C,gBAAIyxC,MAAMvxB,KAAK9Y,cAAL,EAAV;;AAEA;AACAqqC,gBAAIzxC,KAAKgC,EAAL,CAAQ8M,QAAR,EAAJ,IAA0B;AACtB8iC,0BAAU5xC,KAAKovC,KADO;AAEtBptC,oBAAIhC,KAAKgC,EAFa;AAGtB2vC,yBAAS3xC,KAAK2xC;AAHQ,aAA1B;;AAMA;AACAzxB,iBAAK9Y,cAAL,CAAoBqqC,GAApB;AACH,SAbD;;AAeA;AACAvxB,aAAKuG,IAAL,GAAY,YAAY;;AAEpB,gBAAInoB,QAAQ,EAAZ;AACA,iBAAK,IAAI0B,IAAT,IAAiBkgB,KAAK9Y,cAAL,EAAjB,EAAwC;;AAEpC,oBAAIwT,MAAMsF,KAAK9Y,cAAL,GAAsBpH,IAAtB,CAAV;;AAEA;AACA1B,sBAAM8Q,IAAN,CAAW;AACPpN,wBAAI4Y,IAAI5Y,EADD;AAEP2vC,6BAAS/2B,IAAI+2B,OAFN;AAGPvC,2BAAOx0B,IAAIw0B;AAHJ,iBAAX;AAKH;;AAED;AACAlvB,iBAAK2xB,aAAL,GAAqBvzC,KAArB;;AAEA;AACAS,cAAEkrC,IAAF,CAAO;AACHlsC,sBAAM+M,KAAKC,SAAL,CAAe,EAAE,QAAQzM,KAAV,EAAf,CADH;AAEHgM,uBAAO,KAFJ;AAGHpK,sBAAM,MAHH;AAIHqqC,6BAAa,IAJV;AAKH1J,6BAAa,kBALV;AAMHt8B,qBAAK,gCANF;AAOHkG,yBAAS,iBAAUqnC,UAAV,EAAsB;AAC3Bn2C,wBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH;AATE,aAAP;AAWH,SA9BD;AA+BH,KAlFD;AAmFH,CArFD;;;ACDA,CAAC,YAAY;AACT;;AACAlrB,QAAIo2C,cAAJ,GAAqB,YAAY;;AAE7B;AACA,YAAIC,YAAYjzC,EAAE,aAAF,CAAhB;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,GAAY;AACnB5xC,gBAAIs2C,sBAAJ,GAA6B1E,IAA7B;AACA5xC,gBAAIu2C,oBAAJ,GAA2B3E,IAA3B;AACAyE,sBAAU9yC,EAAV,CAAa,OAAb,EAAsBizC,gBAAtB;AACH,SAJD;;AAMA,YAAIA,mBAAmB,SAAnBA,gBAAmB,GAAY;AAC/Bx2C,gBAAIy2C,4BAAJ,GAAmC7E,IAAnC;AACH,SAFD;;AAIA,eAAO;AACHA,kBAAMA;AADH,SAAP;AAGH,KAlBD;AAmBH,CArBD,EAqBGhvC,MArBH,EAqBWS,QArBX;;;ACAA,CAAC,YAAY;AACT;;AAEArD,YAAIy2C,4BAAJ,GAAmC,YAAY;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACH,SAtBD;AAuBH,CA1BD;;;ACAA,CAAC,YAAY;AACT;;AACAz2C,QAAIs2C,sBAAJ,GAA6B,YAAY;;AAErC;AACA,YAAII,kBAAkB5tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI6pC,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI8pC,gBAAgB9tC,IAAIgE,OAAJ,CAAY,eAAZ,CAApB;AACA,YAAI+pC,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;AACA,YAAIgqC,qBAAqBhuC,IAAIgE,OAAJ,CAAY,oBAAZ,CAAzB;AACA,YAAIiqC,iBAAiBjuC,IAAIgE,OAAJ,CAAY,gBAAZ,CAArB;;AAEA;AACA,YAAIkqC,qBAAqB5zC,EAAE,eAAF,CAAzB;AACA,YAAI6zC,sBAAsB7zC,EAAE,oBAAF,CAA1B;AACA,YAAI8zC,gBAAgB9zC,EAAE,oBAAF,CAApB;AACA,YAAI+zC,eAAe/zC,EAAE,mBAAF,CAAnB;AACA,YAAIuzB,cAAcvzB,EAAE,sBAAF,CAAlB;AACA,YAAIwzB,SAASxzB,EAAE,wBAAF,CAAb;AACA,YAAIg0C,gBAAgBh0C,EAAE,oBAAF,CAApB;AACA,YAAIi0C,sBAAsBj0C,EAAE,+BAAF,CAA1B;AACA,YAAIwtB,WAAWxtB,EAAE,mBAAF,CAAf;AACA,YAAI4tB,SAAS5tB,EAAE,iBAAF,CAAb;AACA,YAAIk0C,mBAAmBl0C,EAAE,4BAAF,CAAvB;AACA,YAAIm0C,iBAAiBn0C,EAAE,0BAAF,CAArB;AACA,YAAIo0C,qBAAqBp0C,EAAE,kCAAF,CAAzB;AACA,YAAIq0C,uBAAuBr0C,EAAE,gCAAF,CAA3B;;AAEA,YAAIs0C,gBAAgBt0C,EAAE,cAAF,CAApB;AACA,YAAIu0C,iBAAiBv0C,EAAE,eAAF,CAArB;AACA,YAAIw0C,iBAAiBx0C,EAAE,eAAF,CAArB;AACA,YAAIy0C,iBAAiBz0C,EAAE,iBAAF,CAArB;AACA,YAAI00C,iBAAiB10C,EAAE,iBAAF,CAArB;AACA,YAAI20C,kBAAkB30C,EAAE,oBAAF,CAAtB;AACA,YAAI40C,eAAe50C,EAAE,iBAAF,CAAnB;AACA,YAAI60C,iBAAiB70C,EAAE,sBAAF,CAArB;;AAEA,YAAI80C,uBAAuB90C,EAAE,yBAAF,CAA3B;;AAEA,YAAIs4B,cAAct4B,EAAE,eAAF,CAAlB;;AAEA;AACA,YAAIpC,cAAchB,IAAIgB,WAAtB;;AAEA,YAAIm3C,eAAe,KAAnB;;AAEA,YAAIvG,OAAO,SAAPA,IAAO,GAAY;;AAEnBxuC,cAAE,aAAF,EAAiBG,EAAjB,CAAoB,OAApB,EAA6B,UAAS4Y,CAAT,EAAY;AACrC86B,oCAAoB1E,KAApB;AACA0E,oCAAoB58B,IAApB,CAAyB,UAAzB,EAAqC,UAArC;AACA89B,+BAAe,CAACA,YAAhB;AACAC;AACH,aALD;;AAOA,gBAAIC,QAAQ,IAAIx0C,IAAJ,EAAZ;;AAEA;AACA+sB,qBAAS0nB,gBAAT,CAA0B;AACtBC,qBAAKF,KADiB;AAEtBG,0BAAU;AAFY,aAA1B;AAIAxnB,mBAAOsnB,gBAAP,CAAwB;AACpBC,qBAAKF,KADe;AAEpBG,0BAAU;AAFU,aAAxB;;AAKA;AACAlB,6BAAiBgB,gBAAjB,CAAkC;AAC9BC,qBAAKF,KADyB;AAE9BG,0BAAU;AAFoB,aAAlC;AAIAjB,2BAAee,gBAAf,CAAgC;AAC5BC,qBAAKF,KADuB;AAE5BG,0BAAU;AAFkB,aAAhC;;AAKA;;AAEAC;;AAEA;AACA/2B;;AAEAte,cAAE,6BAAF,EAAiCG,EAAjC,CAAoC,cAApC,EAAoD,UAAUnC,KAAV,EAAiB;AACjE,oBAAIA,MAAMqX,MAAN,CAAapS,EAAb,IAAmB,qBAAnB,IAA4CjF,MAAMqX,MAAN,CAAavT,KAAzD,IAAkE9D,MAAMqX,MAAN,CAAavT,KAAb,CAAmBjC,MAAnB,IAA6B,CAAnG,EACI;AACJjD,oBAAIu2C,oBAAJ,GAA2BmC,QAA3B,CAAoCn3B,YAAY,CAAZ,CAApC;AACH,aAJD;;AAMAs2B,2BAAe/G,GAAf,GAAqBvtC,EAArB,CAAwB,OAAxB,EAAiC,YAAW;AACxCvD,oBAAI24C,wBAAJ,GAA+BjgC,QAA/B,CAAwC6I,YAAY,CAAZ,CAAxC;AACH,aAFD;;AAIAu2B,2BAAehH,GAAf,GAAqBvtC,EAArB,CAAwB,OAAxB,EAAiC,YAAW;AACxC,oBAAIme,SAASH,YAAY,CAAZ,CAAb;AACAG,uBAAOk3B,WAAP,GAAqB,IAArB;AACA54C,oBAAI24C,wBAAJ,GAA+BjgC,QAA/B,CAAwCgJ,MAAxC;AACH,aAJD;;AAMAq2B,4BAAgBjH,GAAhB,GAAsBvtC,EAAtB,CAAyB,OAAzB,EAAkC,YAAW;AACzCvD,oBAAI64C,yBAAJ,GAAgCngC,QAAhC,CAAyC6I,YAAY,CAAZ,CAAzC;AACH,aAFD;;AAIAy2B,yBAAalH,GAAb,GAAmBvtC,EAAnB,CAAsB,OAAtB,EAA+B,YAAW;AACtCV,yBAASyN,IAAT,GAAgB,iBAAhB;AACH,aAFD;AAGH,SA7DD;;AA+DA,YAAImoC,kBAAkB,SAAlBA,eAAkB,GAAY;AAC9BvB,0BAAcz4B,GAAd,CAAkBzd,YAAYqF,EAA9B;AACA,gBAAG,CAACrF,YAAYwB,OAAb,IAAwB,CAACxB,YAAY0B,WAAxC,EACIw0C,cAAc78B,IAAd,CAAmB,UAAnB,EAA+B,IAA/B;AACJ48B,gCAAoB58B,IAApB,CAAyB,UAAzB,EAAqC,IAArC;AACA+9B;AACAU;AACAC;;AAEArB,0BAAcn0C,EAAd,CAAiB,OAAjB,EAA0By1C,WAA1B;AACApB,2BAAer0C,EAAf,CAAkB,OAAlB,EAA2B01C,WAA3B;;AAEAhB,2BAAe10C,EAAf,CAAkB,OAAlB,EAA2B,UAAS4Y,CAAT,EAAY;AACnC/Y,kBAAE,iBAAF,EAAqB81C,OAArB,CAA6B,EAAClgC,OAAM,QAAP,EAA7B,EAA8C,GAA9C;AACH,aAFD;AAGH,SAfD;;AAiBA,YAAIggC,cAAc,SAAdA,WAAc,GAAY;AAC1B,gBAAIt3B,SAASH,YAAY,CAAZ,CAAb;AACAvhB,gBAAIm5C,wBAAJ,GAA+BvH,IAA/B,CAAoClwB,MAApC;AACH,SAHD;;AAKA,YAAI03B,wBAAwB,SAAxBA,qBAAwB,GAAY;AACpC,gBAAIC,iBAAiBrC,mBAAmBv4B,GAAnB,EAArB;;AAEAw4B,gCAAoB1E,KAApB;;AAEA,gBAAI,CAAC8G,cAAL,EAAqB;AACjBpC,oCAAoB58B,IAApB,CAAyB,UAAzB,EAAqC,UAArC;AACA;AACH;;AAEDi/B,qCAAyBD,cAAzB,EAAyC,IAAzC;AACH,SAXD;;AAaA,YAAIjB,mBAAmB,SAAnBA,gBAAmB,GAAY;AAC/BpB,+BAAmBuC,MAAnB,CAA0B,QAA1B;AACAvC,+BAAmBzE,KAAnB;AACAyE,+BAAmBwC,OAAnB,CAA2B,sBAAsBx5C,IAAIe,YAAJ,CAAiB04C,OAAvC,GAAiD,WAA5E;AACA1C,2BAAe/lC,MAAf,CAAsB,IAAtB,EAA4BmnC,YAA5B,EAA0CnrC,IAA1C,CAA+C,UAAS6iB,OAAT,EAAkB;AAC7D,qBAAI,IAAI1f,IAAI,CAAZ,EAAeA,IAAI0f,QAAQ5sB,MAA3B,EAAmCkN,GAAnC,EAAwC;AACpC,wBAAIwQ,SAASkP,QAAQ1f,CAAR,CAAb;AACA6mC,uCAAmBltC,MAAnB,CACI,oBAAoB6W,OAAOta,EAA3B,GAA+B,IAA/B,GAAsCsa,OAAOlf,IAA7C,GAAoD,WADxD;AAGH;AACJ,aAPD;AAQAu1C,+BAAmBzzC,EAAnB,CAAsB,QAAtB,EAAgC61C,qBAAhC;AACApC,+BAAmBzzC,EAAnB,CAAsB,QAAtB,EAAgC,UAAUnC,KAAV,EAAiB;AAC7CpB,oBAAIu2C,oBAAJ,GAA2BmC,QAA3B,CAAoCn3B,YAAY,CAAZ,CAApC;AACH,aAFD;AAIH,SAjBD;;AAmBA,YAAIu3B,oBAAoB,SAApBA,iBAAoB,GAAY;AAChC1B,0BAAcoC,OAAd,CAAsB,sBAAsBx5C,IAAIe,YAAJ,CAAiB04C,OAAvC,GAAiD,WAAvE;AACArC,0BAAc34B,GAAd,CAAkBrb,EAAE,uCAAF,EAA2Cqb,GAA3C,EAAlB;AACH,SAHD;;AAMA,YAAIs6B,yBAAyB,SAAzBA,sBAAyB,GAAY;AACrCvB,+BAAmBgC,OAAnB,CAA2B,sBAAsBx5C,IAAIe,YAAJ,CAAiB04C,OAAvC,GAAiD,WAA5E;AACAjC,+BAAmB/4B,GAAnB,CAAuBrb,EAAE,iDAAF,EAAqDqb,GAArD,EAAvB;;AAEAq4B,+BAAmB3zB,oBAAnB,GAA0CnW,IAA1C,CAA+C,UAAU0sC,WAAV,EAAuB;AAClEt2C,kBAAE8G,IAAF,CAAOwvC,WAAP,EAAoB,UAAUvvC,KAAV,EAAiB9F,IAAjB,EAAuB;AACvCmzC,uCAAmB1tC,MAAnB,CAA0B,mBAAmBzF,KAAKgC,EAAxB,GAA6B,GAA7B,GAAmChC,KAAK5C,IAAxC,GAA+C,WAAzE;AACH,iBAFD;AAGH,aAJD;AAMH,SAVD;;AAYA,YAAI63C,2BAA2B,SAA3BA,wBAA2B,CAAUD,cAAV,EAA0BM,YAA1B,EAAwC;AACnEjD,4BAAgBn0B,OAAhB,CAAwB82B,cAAxB,EACKrsC,IADL,CACU,UAAUwjB,QAAV,EAAoB;;AAEtB;AACAymB,oCAAoBntC,MAApB,CAA2B,sBAAsB9J,IAAIe,YAAJ,CAAiB04C,OAAvC,GAAiD,WAA5E;;AAEAr2C,kBAAE8G,IAAF,CAAOsmB,QAAP,EAAiB,UAAUrmB,KAAV,EAAiBsY,OAAjB,EAA0B;AACvCw0B,wCAAoBntC,MAApB,CAA2B,mBAAmB2Y,QAAQpc,EAA3B,GAAgC,GAAhC,GAAsCoc,QAAQhhB,IAA9C,GAAqD,WAAhF;AACH,iBAFD;;AAIAw1C,oCAAoB2C,UAApB,CAA+B,UAA/B;;AAEA,oBAAGD,YAAH,EAAiB;AACb1C,wCAAoBx4B,GAApB,CAAwBk7B,YAAxB;AACH;AACJ,aAfL;AAgBH,SAjBD;;AAmBA,YAAIp4B,cAAc,SAAdA,WAAc,CAAU2xB,WAAV,EAAuB;AACrC,gBAAIrc,kBAAkBwgB,oBAAoB54B,GAApB,EAAtB;AACA,gBAAI/N,UAAUkgB,SAASipB,UAAT,EAAd;AACA,gBAAIlpC,QAAQqgB,OAAO6oB,UAAP,EAAZ;;AAEA,gBAAIC,kBAAkBxC,iBAAiBuC,UAAjB,EAAtB;AACA,gBAAIE,gBAAgBxC,eAAesC,UAAf,EAApB;;AAEA,mBAAO;AACHvgC,sBAAM45B,WADH;AAEHxxB,wBAAQiV,YAAYlY,GAAZ,KAAoBkY,YAAYlY,GAAZ,EAApB,GAAwC,EAF7C;AAGHgS,2BAAWymB,cAAcz4B,GAAd,EAHR;AAIHiN,0BAAUsrB,mBAAmBv4B,GAAnB,EAJP;AAKHiS,2BAAWumB,oBAAoBx4B,GAApB,EALR;AAMHtZ,2BAAWiyC,cAAc34B,GAAd,EANR;AAOHja,wBAAQ2yC,aAAa14B,GAAb,EAPL;AAQH0D,+BAAe1E,MAAMoZ,eAAN,IAAyB,IAAzB,GAAgCA,eAR5C;AASHlG,yBAASjgB,QAAQpL,GATd;AAUHurB,2BAAWngB,QAAQlL,KAVhB;AAWHsrB,0BAAUpgB,QAAQhL,IAXf;AAYHqrB,uBAAOpgB,MAAMrL,GAZV;AAaH2rB,yBAAStgB,MAAMnL,KAbZ;AAcH0rB,wBAAQvgB,MAAMjL,IAdX;AAeHs0C,gCAAgBF,gBAAgBx0C,GAf7B;AAgBH20C,kCAAkBH,gBAAgBt0C,KAhB/B;AAiBH00C,iCAAiBJ,gBAAgBp0C,IAjB9B;AAkBHy0C,8BAAcJ,cAAcz0C,GAlBzB;AAmBH80C,gCAAgBL,cAAcv0C,KAnB3B;AAoBH60C,+BAAeN,cAAcr0C,IApB1B;AAqBHkxB,wBAAQA,OAAOnY,GAAP,EArBL;AAsBH3Z,4BAAYozC,qBAAqBz5B,GAArB,EAtBT;AAuBHu0B,yBAAS,EAvBN;AAwBHsH,0BAAU,KAxBP;AAyBHC,kCAAkB/C,mBAAmB/4B,GAAnB,EAzBf;AA0BH+7B,gCAAgB/C,qBAAqBh5B,GAArB;AA1Bb,aAAP;AA4BH,SApCD;;AAsCA,YAAIiD,SAAS,SAATA,MAAS,GAAY;AACrBga,wBAAY3xB,IAAZ,CAAiB,UAAjB,EAA6BC,MAA7B;AACAhK,gBAAIu2C,oBAAJ,GAA2BmC,QAA3B,CAAoCn3B,YAAY,CAAZ,CAApC;AACH,SAHD;;AAKA,YAAIk5B,iBAAiB,SAAjBA,cAAiB,CAAU/4B,MAAV,EAAkB;AACnCu1B,gCAAoB1E,KAApB;AACA0E,gCAAoB58B,IAApB,CAAyB,UAAzB,EAAqC,UAArC;;AAEA,gBAAIqH,OAAOgP,SAAX,EAAsB;AAClB4oB,yCAAyB53B,OAAOgK,QAAhC,EAA0ChK,OAAOgP,SAAjD;AACH;;AAEDiG,wBAAYlY,GAAZ,CAAgBiD,OAAOA,MAAvB;AACAw1B,0BAAcz4B,GAAd,CAAkBiD,OAAO+O,SAAzB;AACAumB,+BAAmBv4B,GAAnB,CAAuBiD,OAAOgK,QAA9B;AACA0rB,0BAAc34B,GAAd,CAAkBiD,OAAOvc,SAAzB;AACAgyC,yBAAa14B,GAAb,CAAiBiD,OAAOg5B,QAAxB;AACArD,gCAAoB54B,GAApB,CAAwBiD,OAAOS,aAA/B;AACAyU,mBAAOnY,GAAP,CAAWiD,OAAOkV,MAAlB;AACAshB,iCAAqBz5B,GAArB,CAAyBiD,OAAO5c,UAAhC;AACA0yC,+BAAmB/4B,GAAnB,CAAuBiD,OAAO64B,gBAA9B;;AAEA9C,iCAAqBh5B,GAArB,CAAyBiD,OAAO84B,cAAhC;;AAEAxpB,mBAAO2pB,eAAP,CAAuB,IAAI92C,IAAJ,CAAS6d,OAAOwP,MAAhB,EAAwBxP,OAAOuP,OAAP,GAAiB,CAAzC,EAA4CvP,OAAOqP,KAAnD,CAAvB;AACAH,qBAAS+pB,eAAT,CAAyB,IAAI92C,IAAJ,CAAS6d,OAAOoP,QAAhB,EAA2BpP,OAAOmP,SAAP,GAAmB,CAA9C,EAAiDnP,OAAOiP,OAAxD,CAAzB;;AAEA4mB,2BAAeoD,eAAf,CAA+B,IAAI92C,IAAJ,CAAS6d,OAAO24B,aAAhB,EAA+B34B,OAAO04B,cAAP,GAAwB,CAAvD,EAA0D14B,OAAOy4B,YAAjE,CAA/B;AACA7C,6BAAiBqD,eAAjB,CAAiC,IAAI92C,IAAJ,CAAS6d,OAAOw4B,eAAhB,EAAiCx4B,OAAOu4B,gBAAP,GAA0B,CAA3D,EAA8Dv4B,OAAOs4B,cAArE,CAAjC;AAEH,SA1BD;;AA4BA,YAAIf,cAAc,SAAdA,WAAc,GAAY;AAC1BtiB,wBAAYlY,GAAZ,CAAgB,EAAhB;AACAy4B,0BAAcz4B,GAAd,CAAkBzd,YAAYqF,EAA9B;AACA2wC,+BAAmBv4B,GAAnB,CAAuBrb,EAAE,sCAAF,EAA0Cqb,GAA1C,EAAvB;AACAw4B,gCAAoB1E,KAApB;AACA0E,gCAAoB58B,IAApB,CAAyB,UAAzB,EAAqC,IAArC;AACA+8B,0BAAc34B,GAAd,CAAkBrb,EAAE,uCAAF,EAA2Cqb,GAA3C,EAAlB;AACA04B,yBAAa14B,GAAb,CAAiBrb,EAAE,sCAAF,EAA0Cqb,GAA1C,EAAjB;AACA44B,gCAAoB54B,GAApB,CAAwBrb,EAAE,kDAAF,EAAsDqb,GAAtD,EAAxB;AACAmY,mBAAOnY,GAAP,CAAW,EAAX;AACAy5B,iCAAqBz5B,GAArB,CAAyBrb,EAAE,4CAAF,EAAgDqb,GAAhD,EAAzB;AACA+4B,+BAAmB/4B,GAAnB,CAAuBrb,EAAE,iDAAF,EAAqDqb,GAArD,EAAvB;AACAg5B,iCAAqBh5B,GAArB,CAAyBrb,EAAE,mDAAF,EAAuDqb,GAAvD,EAAzB;;AAEAuS,mBAAO5uB,IAAP,CAAY,iBAAZ,EAA+B8C,KAA/B,CAAqC,EAArC;AACA0rB,qBAASxuB,IAAT,CAAc,iBAAd,EAAiC8C,KAAjC,CAAuC,EAAvC;AACAoyC,6BAAiBl1C,IAAjB,CAAsB,iBAAtB,EAAyC8C,KAAzC,CAA+C,EAA/C;AACAqyC,2BAAen1C,IAAf,CAAoB,iBAApB,EAAuC8C,KAAvC,CAA6C,EAA7C;;AAEAwc;AACH,SApBD;;AAsBA,eAAO;AACHkwB,kBAAMA,IADH;AAEHwH,mCAAuBA,qBAFpB;AAGH13B,oBAAQA,MAHL;AAIHH,yBAAaA,WAJV;AAKHk5B,4BAAgBA;AALb,SAAP;AAOH,KA1SD;AA2SH,CA7SD;;;ACAA,CAAC,YAAY;AACT;;AACAz6C,QAAIu2C,oBAAJ,GAA2B,YAAY;;AAEnC;AACA,YAAIM,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;AACA,YAAI8tC,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;AACA,YAAIid,qBAAqBjhB,IAAIgE,OAAJ,CAAY,qBAAZ,CAAzB;AACA,YAAI+tC,eAAe/xC,IAAIgE,OAAJ,CAAY,OAAZ,CAAnB;AACA,YAAI6pC,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACA,YAAI4uB,cAAct4B,EAAE,eAAF,CAAlB;AACA,YAAI03C,iBAAiB13C,EAAE,sBAAF,CAArB;AACA,YAAI23C,aAAa33C,EAAE,eAAF,CAAjB;AACA,YAAI43C,iBAAiB53C,EAAE,mBAAF,CAArB;AACA,YAAI63C,oBAAoB73C,EAAE,mCAAF,CAAxB;AACA,YAAI83C,cAAc93C,EAAE,qBAAF,CAAlB;AACA,YAAI+3C,cAAc/3C,EAAE,YAAF,CAAlB;AACA,YAAIg4C,eAAeh4C,EAAE,kBAAF,CAAnB;;AAEA;AACA,YAAIi4C,eAAej4C,EAAE,sBAAF,CAAnB;;AAEA,YAAIoB,SAAS;AACT82C,2BAAe;AADN,SAAb;;AAIA;AACA,YAAIpI,cAAc9vC,EAAE,eAAF,CAAlB;;AAEA,YAAImwC,aAAanwC,EAAE,qBAAF,CAAjB;;AAEA;;AAEA,YAAIs1C,WAAW,SAAXA,QAAW,CAAUh3B,MAAV,EAAkB;AAC7BA,qBAAS65B,eAAe75B,MAAf,CAAT;AACAwxB,wBAAYz0B,GAAZ,CAAgBiD,OAAOpI,IAAvB;AACAiT,yBAAaS,OAAb,CAAqB,QAArB,EAA+B7d,KAAKC,SAAL,CAAesS,MAAf,CAA/B;;AAEA,gBAAI85B,kBAAkB3zB,OAAO6G,MAAP,CAAc,mFAC9B,6GAD8B,GAE9B,oIAF8B,GAG9B,qGAHgB,EAKlBrZ,mBAAmBqM,OAAOpI,IAA1B,CALkB,EAKejE,mBAAmBqM,OAAOA,MAA1B,CALf,EAKkDrM,mBAAmBqM,OAAO+O,SAA1B,CALlD,EAMlBpb,mBAAmBqM,OAAOgK,QAA1B,CANkB,EAMmBrW,mBAAmBqM,OAAOgP,SAA1B,CANnB,EAMyDrb,mBAAmBqM,OAAOvc,SAA1B,CANzD,EAM+FkQ,mBAAmBqM,OAAOld,MAA1B,CAN/F,EAOlBkd,OAAOS,aAPW,EAOIT,OAAOiP,OAPX,EAOoBjP,OAAOmP,SAP3B,EAOsCnP,OAAOoP,QAP7C,EAOuDpP,OAAOqP,KAP9D,EAOqErP,OAAOuP,OAP5E,EAOqFvP,OAAOwP,MAP5F,EAOoG7b,mBAAmBqM,OAAOkV,MAA1B,CAPpG,EAQlBlV,OAAOsxB,OARW,EAQFtxB,OAAO44B,QARL,EAQe54B,OAAO5c,UARtB,EAQkC4c,OAAOs4B,cARzC,EAQyDt4B,OAAOu4B,gBARhE,EAQkFv4B,OAAOw4B,eARzF,EASlBx4B,OAAOy4B,YATW,EASGz4B,OAAO04B,cATV,EAS0B14B,OAAO24B,aATjC,EASgD34B,OAAO64B,gBATvD,EASyEllC,mBAAmBqM,OAAO84B,cAA1B,CATzE,CAAtB;;AAWA3D,uBAAWxvB,IAAX,CAAgBm0B,eAAhB,EAAiCV,cAAjC,EAAiDW,YAAjD;AACAC,qCAAyBh6B,MAAzB;AACAi6B;AACH,SAnBD;;AAqBA,iBAAS/J,IAAT,GAAgB;AACZ;AACAxuC,cAAE,aAAF,EAAiBwa,UAAjB,CAA4B;AACxBg+B,2BAAW,OADa;AAExBC,wBAAQ;AAFgB,aAA5B;;AAKAd,uBAAWx3C,EAAX,CAAc,OAAd,EAAuBu4C,UAAvB;AACAd,2BAAez3C,EAAf,CAAkB,OAAlB,EAA2Bw4C,UAA3B;;AAEAV,yBAAatH,KAAb,CAAmB,KAAnB;AACAsH,yBAAa93C,EAAb,CAAgB,kBAAhB,EAAoCy4C,yBAApC;AACAX,yBAAa93C,EAAb,CAAgB,oBAAhB,EAAsCy4C,yBAAtC;AACAf,8BAAkBnK,GAAlB,GAAwBvtC,EAAxB,CAA2B,OAA3B,EAAoCynB,cAApC;;AAEA5nB,cAAE,uBAAF,EAA2B64C,OAA3B,CAAmC;AAC/BnR,sBAAM,IADyB;AAE/BoR,yBAAS,mBAAY;AACjB,wBAAIA,UAAU94C,EAAE,IAAF,EAAQiX,IAAR,CAAa,sBAAb,CAAd;AACA,2BAAOjX,EAAE84C,OAAF,EAAWC,QAAX,CAAoB,eAApB,EAAqCrR,IAArC,EAAP;AACH,iBAL8B;AAM/B/2B,uBAAO,iBAAY;AACf,wBAAIA,QAAQ3Q,EAAE,IAAF,EAAQiX,IAAR,CAAa,sBAAb,CAAZ;AACA,2BAAOjX,EAAE2Q,KAAF,EAASooC,QAAT,CAAkB,kBAAlB,EAAsCrR,IAAtC,EAAP;AACH;AAT8B,aAAnC;AAWAsR;AACAT;AACH;;AAED;;AAEA;;AAEA,YAAIS,uBAAuB,SAAvBA,oBAAuB,GAAY;AACnCh5C,cAAE8G,IAAF,CAAOwxB,YAAY3xB,IAAZ,CAAiB,YAAjB,CAAP,EAAuC,UAAUI,KAAV,EAAiB9F,IAAjB,EAAuB;AAC1DjB,kBAAE8G,IAAF,CAAO9G,EAAEiB,IAAF,EAAQ0F,IAAR,CAAa,GAAb,CAAP,EAA0B,UAAUI,KAAV,EAAiBoO,CAAjB,EAAoB;AAC1CnV,sBAAEmV,CAAF,EAAKu4B,GAAL,GAAWvtC,EAAX,CAAc,OAAd,EAAuB,YAAY;AAC/ByvC,gCAAQ5vC,EAAEmV,CAAF,EAAK8jC,MAAL,GAAcj6C,IAAd,CAAmB,QAAnB,CAAR;AACH,qBAFD;AAGH,iBAJD;AAKH,aAND;AAOH,SARD;;AAUA,YAAIu5C,oBAAoB,SAApBA,iBAAoB,GAAY;AAChC,gBAAIW,eAAelB,aAAa38B,GAAb,EAAnB;AACA,gBAAIg1B,QAAQ0H,YAAY18B,GAAZ,EAAZ;;AAEArb,cAAE8G,IAAF,CAAO9G,EAAEs4B,WAAF,EAAe3xB,IAAf,CAAoB,YAApB,CAAP,EAA0C,UAAUI,KAAV,EAAiBoyC,EAAjB,EAAqB;AAC3Dn5C,kBAAE8G,IAAF,CAAO9G,EAAEm5C,EAAF,EAAMxyC,IAAN,CAAW,GAAX,CAAP,EAAwB,UAAUI,KAAV,EAAiBoO,CAAjB,EAAoB;AACxC,wBAAInV,EAAEmV,CAAF,EAAK8jC,MAAL,GAAcj6C,IAAd,CAAmB,QAAnB,KAAgCk6C,YAApC,EAAkD;AAC9Cl5C,0BAAEmV,CAAF,EAAKxO,IAAL,CAAU,GAAV,EAAe6e,IAAf;AACA,4BAAI6qB,SAAS,KAAb,EAAoB;AAChBrwC,8BAAEmV,CAAF,EAAKxO,IAAL,CAAU,GAAV,EAAesC,WAAf,CAA2B,eAA3B,EAA4CC,QAA5C,CAAqD,aAArD;AACH,yBAFD,MAGK;AACDlJ,8BAAEmV,CAAF,EAAKxO,IAAL,CAAU,GAAV,EAAesC,WAAf,CAA2B,aAA3B,EAA0CC,QAA1C,CAAmD,eAAnD;AACH;AACJ,qBARD,MASK;AACDlJ,0BAAEmV,CAAF,EAAKxO,IAAL,CAAU,GAAV,EAAe8e,IAAf;AACH;AACJ,iBAbD;AAcH,aAfD;AAgBH,SApBD;;AAsBA,YAAImqB,UAAU,SAAVA,OAAU,CAAUwJ,KAAV,EAAiB;AAC3B,gBAAI/I,QAAQ0H,YAAY18B,GAAZ,EAAZ;AACA,gBAAIiD,SAAS1hB,IAAIs2C,sBAAJ,GAA6B/0B,WAA7B,CAAyC2xB,YAAYz0B,GAAZ,EAAzC,CAAb;;AAEAiD,mBAAOsxB,OAAP,GAAiBwJ,KAAjB;AACA96B,mBAAO44B,QAAP,GAAkB7G,SAAS,KAAT,GAAiB,KAAjB,GAAyB,IAA3C;AACA2H,yBAAa38B,GAAb,CAAiB+9B,KAAjB;AACArB,wBAAY18B,GAAZ,CAAiBg1B,SAAS,KAAT,GAAiB,MAAjB,GAA0B,KAA3C;;AAEAiF,qBAASh3B,MAAT;AAEH,SAXD;;AAaA,YAAIg6B,2BAA2B,SAA3BA,wBAA2B,CAAUh6B,MAAV,EAAkB;AAC7C,gBAAI+6B,QAAQr5C,EAAE,6BAAF,CAAZ;;AAEAq5C,kBAAM1yC,IAAN,CAAW,IAAX,EAAiBC,MAAjB;;AAEA2sC,4BAAgBl1B,sBAAhB,CAAuCC,MAAvC,EAA+C1U,IAA/C,CAAoD,UAAU5K,IAAV,EAAgB;;AAEhE,oBAAIs6C,iBAAiB,KAArB;;AAEAt5C,kBAAE8G,IAAF,CAAO9H,KAAK2kC,QAAZ,EAAsB,UAAU58B,KAAV,EAAiB9F,IAAjB,EAAuB;AACzCo4C,0BAAM3yC,MAAN,CACI,SAAS,MAAT,GAAkBzF,KAAKgkC,QAAvB,GAAkC,OAAlC,GAA4C,MAA5C,GAAqDrf,WAAWrD,KAAKg3B,KAAL,CAAWt4C,KAAK+9B,KAAL,GAAa,GAAxB,IAA+B,GAA1C,EAA+Cwa,OAA/C,CAAuD,CAAvD,CAArD,GAAiH,OAAjH,GAA2H,OAD/H;AAGA,wBAAIv4C,KAAKw4C,SAAT,EAAoB;AAChBz5C,0BAAE,2BAAF,EAA+BgnC,IAA/B,CAAoCpqC,IAAIe,YAAJ,CAAiB,UAAjB,IAA+B,IAA/B,GAAsCioB,WAAWrD,KAAKg3B,KAAL,CAAWt4C,KAAK+9B,KAAL,GAAa,GAAxB,IAA+B,GAA1C,EAA+Cwa,OAA/C,CAAuD,CAAvD,CAAtC,GAAkG,GAAlG,GAAwGv4C,KAAKgkC,QAAjJ;AACAqU,yCAAiB,IAAjB;AACH;AACJ,iBARD;;AAUA,oBAAI,CAACA,cAAL,EACIt5C,EAAE,2BAAF,EAA+BgnC,IAA/B,CAAoCpqC,IAAIe,YAAJ,CAAiB,UAAjB,IAA+B,SAA/B,GAA2CqB,KAAK06C,eAApF;;AAEJ15C,kBAAE,cAAF,EAAkB0nC,IAAlB,CAAuB9qC,IAAIe,YAAJ,CAAiB,OAAjB,IAA4B,IAA5B,GAAmCioB,WAAWrD,KAAKg3B,KAAL,CAAWv6C,KAAK26C,0BAAL,GAAkC,GAA7C,IAAoD,GAA/D,EAAoEH,OAApE,CAA4E,CAA5E,CAAnC,GAAoH,GAApH,GAA0Hx6C,KAAK06C,eAA/H,GAAiJ,+BAAjJ,GAAmL9zB,WAAWrD,KAAKg3B,KAAL,CAAWv6C,KAAK46C,aAAL,GAAqB,GAAhC,IAAuC,GAAlD,EAAuDJ,OAAvD,CAA+D,CAA/D,CAAnL,GAAuP,cAA9Q;AACAx5C,kBAAE,yBAAF,EAA6B0nC,IAA7B,CAAkC9qC,IAAIe,YAAJ,CAAiB,OAAjB,IAA4B,IAA5B,GAAmCioB,WAAWrD,KAAKg3B,KAAL,CAAWv6C,KAAK66C,UAAL,GAAkB,GAA7B,IAAoC,GAA/C,EAAoDL,OAApD,CAA4D,CAA5D,CAAnC,GAAoG,GAApG,GAA0Gx6C,KAAK06C,eAAjJ;AACH,aAnBD;AAoBH,SAzBD;;AA2BA,YAAIrB,eAAe,SAAfA,YAAe,GAAY;AAC3B;AACAX,2BAAe/wC,IAAf,CAAoB,gBAApB,EAAsCiqC,UAAtC;AACA;AACA8G,2BAAe/wC,IAAf,CAAoB,gBAApB,EAAsCgqC,KAAtC,CAA4CsH,aAAapH,SAAb,EAA5C;;AAEAvY,wBAAY3xB,IAAZ,CAAiB,YAAjB,EAA+BC,MAA/B;;AAEA,gBAAI8wC,eAAeqB,QAAf,CAAwB,IAAxB,EAA8Bl5C,MAA9B,IAAwC,CAA5C,EAA+C;AAC3Cy4B,4BAAY5xB,MAAZ,CAAmB,6CAA6C9J,IAAIe,YAAJ,CAAiBm8C,+BAA9D,GAAgG,YAAnH;AACH;;AAEDxhB,wBAAY5xB,MAAZ,CAAmBgxC,eAAeqB,QAAf,CAAwB,IAAxB,CAAnB;;AAEA/4C,cAAE8G,IAAF,CAAOwxB,YAAY3xB,IAAZ,CAAiB,YAAjB,CAAP,EAAuC,UAAUI,KAAV,EAAiB9F,IAAjB,EAAuB;AAC1DjB,kBAAEiB,IAAF,EAAQ0F,IAAR,CAAa,gBAAb,EAA+BxG,EAA/B,CAAkC,QAAlC,EAA4C45C,eAA5C;;AAEA/5C,kBAAEiB,IAAF,EAAQ0F,IAAR,CAAa,gBAAb,EAA+B+mC,GAA/B,GAAqCvtC,EAArC,CAAwC,OAAxC,EAAiD65C,SAAjD;;AAEAh6C,kBAAEiB,IAAF,EAAQ0F,IAAR,CAAa,kBAAb,EAAiC+mC,GAAjC,GAAuCvtC,EAAvC,CAA0C,OAA1C,EAAmD85C,aAAnD;AACH,aAND;;AAQA,gBAAIC,cAAcl6C,EAAE,uBAAF,EAA2Bqb,GAA3B,OAAqC,MAAvD;AACA,gBAAI8+B,kBAAkBn6C,EAAE,2BAAF,EAA+Bqb,GAA/B,OAAyC,MAA/D;;AAEAs8B,uBAAW1gC,IAAX,CAAgB,UAAhB,EAA4B,UAA5B;AACA2gC,2BAAe3gC,IAAf,CAAoB,UAApB,EAAgC,UAAhC;;AAEA,gBAAIijC,WAAJ,EAAiB;AACbvC,2BAAW1gC,IAAX,CAAgB,UAAhB,EAA4B,KAA5B;AACH;AACD,gBAAIkjC,eAAJ,EAAqB;AACjBvC,+BAAe3gC,IAAf,CAAoB,UAApB,EAAgC,KAAhC;AACH;;AAED,gBAAIzD,YAAYxT,EAAE,oBAAF,CAAhB;AACA,gBAAIo6C,kBAAkBp6C,EAAE,kBAAF,CAAtB;AACA,gBAAIq6C,WAAW7mC,UAAU6H,GAAV,KAAkB,CAAlB,GAAsBy0B,YAAYz0B,GAAZ,EAAtB,GAA0C,CAAzD;;AAEA,gBAAI2rB,OAAOqT,WAAW,KAAX,GAAmB7mC,UAAU6H,GAAV,EAA9B;AACA++B,4BAAgBjL,KAAhB;AACAiL,4BAAgBpT,IAAhB,CAAqBA,IAArB;;AAEA0Q,2BAAeqB,QAAf,CAAwB,IAAxB,EAA8BnyC,MAA9B;AACH,SA5CD;;AA8CA,YAAImzC,kBAAkB,SAAlBA,eAAkB,GAAY;AAC9BlC,8BAAkB5gC,IAAlB,CAAuB,UAAvB,EAAmC,KAAnC;;AAEAjX,cAAE8G,IAAF,CAAOwxB,YAAY3xB,IAAZ,CAAiB,uBAAjB,CAAP,EAAkD,UAAUI,KAAV,EAAiB4pC,KAAjB,EAAwB;AACtE,oBAAI2J,cAAct6C,EAAE2wC,KAAF,EAAS4J,OAAT,CAAiB,IAAjB,CAAlB;;AAEA,oBAAI5oB,cAAc2oB,YAAYt7C,IAAZ,CAAiB,eAAjB,CAAlB;;AAEA,oBAAI2yB,eAAe,eAAf,IAAkCA,eAAe,WAArD,EAAkE;AAC9DkmB,sCAAkB5gC,IAAlB,CAAuB,UAAvB,EAAmC,IAAnC;AACH;AACJ,aARD;AASH,SAZD;;AAcA,iBAASujC,UAAT,CAAoBxkC,GAApB,EAAyB;AACrB,gBAAI08B,MAAMlxC,SAASsuC,YAAYz0B,GAAZ,EAAT,IAA8BrF,GAAxC;;AAEA,gBAAIqF,MAAMq3B,MAAM,CAAN,GAAUA,GAAV,GAAgB,CAA1B;;AAEA5C,wBAAYz0B,GAAZ,CAAgBA,GAAhB;AACH;;AAED,iBAASq9B,UAAT,GAAsB;AAClB8B,uBAAW,CAAX;AACAlF,qBAAS14C,IAAIs2C,sBAAJ,GAA6B/0B,WAA7B,CAAyC2xB,YAAYz0B,GAAZ,EAAzC,CAAT;AACH;;AAED,iBAASs9B,UAAT,GAAsB;AAClB6B,uBAAW,CAAC,CAAZ;AACAlF,qBAAS14C,IAAIs2C,sBAAJ,GAA6B/0B,WAA7B,CAAyC2xB,YAAYz0B,GAAZ,EAAzC,CAAT;AACH;;AAED,YAAI2+B,YAAY,SAAZA,SAAY,GAAY;;AAExB,gBAAI58B,YAAYpd,EAAE,IAAF,EAAQhB,IAAR,CAAa,IAAb,CAAhB;;AAEA;AACAu0C,4BAAgBt1B,SAAhB,CAA0Bb,SAA1B,EAAqCxT,IAArC,CAA0C,UAAUvI,KAAV,EAAiB;;AAEvD,oBAAIo5C,eAAez6C,EAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCoa,MAApC,CAA2CvZ,MAA9D;;AAEA,qBAAK,IAAIkN,IAAI,CAAb,EAAgBA,IAAI0tC,YAApB,EAAkC1tC,GAAlC,EAAuC;AACnC/M,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCyY,WAApC,CAAgD,CAAhD;AACH;;AAGDzX,kBAAE8G,IAAF,CAAOzF,KAAP,EAAc,UAAU0F,KAAV,EAAiBQ,IAAjB,EAAuB;;AAEjC,wBAAImzC,MAAM16C,EAAE,SAAF,EAAaiX,IAAb,CAAkB,KAAlB,EAAyB1P,KAAK8qB,IAA9B,CAAV;AACA,wBAAIsoB,WAAW36C,EAAE,uBAAF,CAAf;AACA26C,6BAASj0C,MAAT,CAAgBg0C,GAAhB;AACA;AACA16C,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCmY,QAApC,CAA6CwjC,QAA7C;AACH,iBAPD;;AASA;AACA7C,4BAAYlnC,KAAZ;;AAEAmxB,2BAAW,YAAY;;AAEnB;AACA/hC,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCsgC,MAApC;;AAEA;AACAt/B,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoC47C,QAApC,CAA6C,CAA7C;AACH,iBAPD,EAOG,IAPH;AAQH,aA7BD;AA8BH,SAnCD;;AAqCA,iBAAShC,yBAAT,GAAqC;AACjC54C,cAAE8G,IAAF,CAAOwxB,YAAY3xB,IAAZ,CAAiB,gBAAjB,CAAP,EAA2C,UAAUI,KAAV,EAAiB4pC,KAAjB,EAAwB;AAC/D3wC,kBAAE2wC,KAAF,EAASA,KAAT,CAAesH,aAAapH,SAAb,EAAf;AACH,aAFD;AAGH;;AAED,iBAASjpB,cAAT,GAA0B;AACtB,gBAAIizB,2BAA2B3iB,aAA/B;;AAEA,gBAAI,CAAC2iB,yBAAyBh7C,MAA9B,EAAsC;AAClC8mB,mCAAmBpD,SAAnB,CAA6B3mB,IAAIe,YAAJ,CAAiBm9C,gCAA9C;AACA;AACH;;AAEDrD,yBAAa9lC,OAAb,CAAqB;AACjBjB,yBAAS9T,IAAIe,YAAJ,CAAiBo9C,0BADT;AAEjBpqC,uBAAO/T,IAAIe,YAAJ,CAAiBq9C,YAFP;AAGjBrpC,yBAASspC;AAHQ,aAArB;AAKH;;AAED;AACA,iBAAS/iB,WAAT,GAAuB;AACnB,gBAAInX,WAAW,EAAf;AACA/gB,cAAE8G,IAAF,CAAOwxB,YAAY3xB,IAAZ,CAAiB,uBAAjB,CAAP,EAAkD,UAAUI,KAAV,EAAiB4pC,KAAjB,EAAwB;AACtE,oBAAI2J,cAAct6C,EAAE2wC,KAAF,EAAS4J,OAAT,CAAiB,IAAjB,CAAlB;AACAx5B,yBAAS1Q,IAAT,CAAc;AACVpN,wBAAIq3C,YAAYt7C,IAAZ,CAAiB,IAAjB,CADM;AAEVk8C,gCAAYt1B,WAAW00B,YAAYt7C,IAAZ,CAAiB,eAAjB,CAAX,CAFF;AAGVm8C,8BAAU/5C,OAAO82C;AAHP,iBAAd;AAKH,aAPD;;AASA,mBAAOn3B,QAAP;AACH;;AAED,YAAIq6B,mBAAmB,SAAnBA,gBAAmB,GAAY;AAC/B9F,qBAAS14C,IAAIs2C,sBAAJ,GAA6B/0B,WAA7B,CAAyC2xB,YAAYz0B,GAAZ,EAAzC,CAAT;AACH,SAFD;;AAIA,YAAI4+B,gBAAgB,SAAhBA,aAAgB,CAAUlhC,CAAV,EAAa;AAC7B;AACA;AACA;;AAEA;AACH,SAND;;AAQA,iBAASkiC,qBAAT,GAAiC;AAC7B,gBAAIl6B,WAAWmX,aAAf;AACAsf,8BAAkB12B,mBAAlB,CAAsCC,QAAtC,EACKnX,IADL,CACU,UAAUyC,MAAV,EAAkB;AACpBzP,oBAAIs2C,sBAAJ,GAA6B50B,MAA7B;AACAqI,mCAAmBtD,WAAnB,CAA+BzmB,IAAIe,YAAJ,CAAiB09C,wBAAhD;AACH,aAJL;AAKH;;AAED;;AAEA,iBAASlD,cAAT,CAAwB75B,MAAxB,EAAgC;AAC5BA,mBAAOpI,IAAP,GAAcoI,OAAOpI,IAAP,IAAe,CAAf,GAAmBoI,OAAOpI,IAA1B,GAAiC,CAA/C;AACAoI,mBAAO+O,SAAP,GAAmB/O,OAAO+O,SAAP,GAAmB/O,OAAO+O,SAA1B,GAAsC,EAAzD;AACA/O,mBAAOgK,QAAP,GAAkBhK,OAAOgK,QAAP,GAAkBhK,OAAOgK,QAAzB,GAAoC,EAAtD;AACAhK,mBAAOgP,SAAP,GAAmBhP,OAAOgP,SAAP,GAAmBhP,OAAOgP,SAA1B,GAAsC,IAAzD;AACAhP,mBAAOvc,SAAP,GAAmBuc,OAAOvc,SAAP,GAAmBuc,OAAOvc,SAA1B,GAAsC,EAAzD;AACAuc,mBAAOg5B,QAAP,GAAkBh5B,OAAOg5B,QAAP,GAAkBh5B,OAAOg5B,QAAzB,GAAoC,EAAtD;AACAh5B,mBAAOA,MAAP,GAAgBA,OAAOA,MAAP,GAAgBA,OAAOA,MAAvB,GAAgC,EAAhD;AACAA,mBAAOS,aAAP,GAAuBT,OAAOS,aAAP,GAAuBT,OAAOS,aAA9B,GAA8C,IAArE;AACAT,mBAAOkV,MAAP,GAAgBlV,OAAOkV,MAAP,GAAgBlV,OAAOkV,MAAvB,GAAgC,EAAhD;AACAlV,mBAAO5c,UAAP,GAAoB4c,OAAO5c,UAAP,GAAoB4c,OAAO5c,UAA3B,GAAwC,EAA5D;AACA4c,mBAAOsxB,OAAP,GAAiBtxB,OAAOsxB,OAAP,GAAiBtxB,OAAOsxB,OAAxB,GAAkC,EAAnD;AACAtxB,mBAAO44B,QAAP,GAAkB54B,OAAO44B,QAAP,GAAkB,IAAlB,GAAyB,KAA3C;;AAEA,mBAAO54B,MAAP;AACH;;AAED,eAAO;AACHg3B,sBAAUA,QADP;AAEH9G,kBAAMA,IAFH;AAGH2J,4BAAgBA;AAHb,SAAP;AAKH,KApWD;AAqWH,CAvWD;;;ACAA,CAAC,YAAY;AACT;;AACAv7C,YAAIm5C,wBAAJ,GAA+B,YAAY;AACvC,oBAAI50B,OAAO,IAAX;;AAEA,oBAAIqyB,gBAAgB9tC,IAAIgE,OAAJ,CAAY,eAAZ,CAApB;AACA,oBAAIid,qBAAqBjhB,IAAIgE,OAAJ,CAAY,qBAAZ,CAAzB;;AAEA;AACA,oBAAIkH,QAAQ5Q,EAAE,oBAAF,CAAZ;;AAEA;AACA,oBAAIs7C,eAAet7C,EAAE,iBAAF,CAAnB;AACA,oBAAIu7C,gBAAev7C,EAAE,cAAF,CAAnB;AACA,oBAAIw7C,YAAYx7C,EAAE,cAAF,CAAhB;AACA,oBAAIy7C,eAAez7C,EAAE,eAAF,CAAnB;;AAEA;;AAEA,oBAAIwuC,OAAO,SAAPA,IAAO,CAAUlwB,MAAV,EAAkB;AACzBm9B,qCAAapgC,GAAb,CAAiBtP,KAAKC,SAAL,CAAesS,MAAf,CAAjB;AACAk9B,kCAAUngC,GAAV,CAAc,EAAd;AACAkgC,sCAAc7N,GAAd,GAAoBvtC,EAApB,CAAuB,OAAvB,EAAgCu7C,UAAhC;AACAJ,qCAAarkC,IAAb,CAAkB,UAAlB,EAA8B,IAA9B;AACAqkC,qCAAa5N,GAAb,GAAmBvtC,EAAnB,CAAsB,OAAtB,EAA+Bw7C,SAA/B;AACAC;AACH,iBAPD;;AASA,oBAAIC,WAAW,SAAXA,QAAW,GAAY;AACvB,4BAAIL,UAAUngC,GAAV,EAAJ,EACIigC,aAAarkC,IAAb,CAAkB,UAAlB,EAA8B,KAA9B,EADJ,KAGIqkC,aAAarkC,IAAb,CAAkB,UAAlB,EAA8B,IAA9B;AACP,iBALD;;AAOA,oBAAI0kC,YAAY,SAAZA,SAAY,GAAW;AACvB,4BAAIG,WAAW;AACXz9C,sCAAMm9C,UAAUngC,GAAV,EADK;AAEX0gC,6CAAan/C,IAAIu2C,oBAAJ,GAA2BgF,cAA3B,CAA0CpsC,KAAKsd,KAAL,CAAWoyB,aAAapgC,GAAb,EAAX,CAA1C;AAFF,yBAAf;;AAKAm4B,sCAAc3lC,MAAd,CAAqBiuC,QAArB,EAA+BlyC,IAA/B,CAAoC,UAAS5K,IAAT,EAAe;AAC/CgB,kCAAEC,QAAF,EAAYwI,OAAZ,CAAoB,uBAApB;AACAizC;AACA/0B,mDAAmBtD,WAAnB,CAA+BzmB,IAAIe,YAAJ,CAAiBq+C,uBAAhD;AACH,yBAJD;AAKH,iBAXD;;AAaA,oBAAIJ,YAAY,SAAZA,SAAY,GAAY;AACxBhrC,8BAAMA,KAAN;AACH,iBAFD;;AAIA,oBAAI8qC,aAAa,SAAbA,UAAa,GAAY;AACzB9qC,8BAAMA,KAAN,CAAY,MAAZ;AACA;AACH,iBAHD;;AAKA,oBAAIqrC,aAAa,SAAbA,UAAa,GAAY,CAC5B,CADD;;AAGA;;AAGA,uBAAO;AACHzN,8BAAMA,IADH;AAEHoN,mCAAWA,SAFR;AAGHF,oCAAYA,UAHT;AAIHG,kCAAUA;AAJP,iBAAP;AAMH,SAnED;AAoEH,CAtED;;;ACAA,CAAC,YAAY;AACT;;AACAj/C,QAAIs/C,mBAAJ,GAA0B,YAAY;;AAElC;AACA,YAAItrC,QAAQ5Q,EAAE,oBAAF,CAAZ;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,CAAU2N,qBAAV,EAAiC;;AAExCh7B,iBAAKg7B,qBAAL,GAA6BA,qBAA7B;;AAEAC,qBAASC,YAAT,GAAwB,KAAxB;AACAD,qBAASljC,OAAT,CAAiBojC,iBAAjB,GAAqC,KAArC;;AAEA,gBAAIC,UAAJ;;AAEA,gBAAI,CAACt8C,SAASo5B,cAAT,CAAwB,WAAxB,EAAqCmjB,QAA1C,EAAoD;AAChDD,6BAAa,IAAIH,QAAJ,CAAa,YAAb,CAAb;AACH,aAFD,MAEO;AACHG,6BAAat8C,SAASo5B,cAAT,CAAwB,WAAxB,EAAqCmjB,QAAlD;AACH;;AAEDD,uBAAWrjC,OAAX,CAAmBujC,cAAnB,GAAoC,IAApC;AACAF,uBAAWrjC,OAAX,CAAmBwjC,WAAnB,GAAiC,CAAjC;AACAH,uBAAWrjC,OAAX,CAAmByjC,QAAnB,GAA8B,CAA9B;AACAJ,uBAAWrjC,OAAX,CAAmB0jC,aAAnB,GAAmC,2CAAnC;;AAEAL,uBAAWp8C,EAAX,CAAc,kBAAd,EAAkC,UAAUoH,IAAV,EAAgB;AAC9C,oBAAIue,OAAO,IAAX;AACAlpB,oBAAI0mB,WAAJ,CAAgB1mB,IAAIe,YAAJ,CAAiBk/C,oBAAjC;AACA/2B,qBAAKg3B,UAAL,CAAgBv1C,IAAhB;AACH,aAJD;;AAMA;AACAg1C,uBAAWp8C,EAAX,CAAc,WAAd,EAA2B,UAAUoH,IAAV,EAAgB;AACvC,oBAAIue,OAAO,IAAX;AACH,aAFD;;AAIA;AACAy2B,uBAAW7O,GAAX,GAAiBvtC,EAAjB,CAAoB,SAApB,EAA+B,UAAUoH,IAAV,EAAgB;;AAE3C,oBAAIA,KAAK+jC,GAAL,CAAS7/B,QAAT,IAAqBlE,KAAK+jC,GAAL,CAAS7/B,QAAT,IAAqB,EAA9C,EAAkD;AAC9C,wBAAIA,WAAWsxC,KAAK,MAAMx1C,KAAK+jC,GAAL,CAAS7/B,QAAf,GAA0B,GAA/B,CAAf;;AAEAzL,sBAAE8G,IAAF,CAAO2E,SAASuxC,KAAhB,EAAuB,UAAUj2C,KAAV,EAAiBsrB,IAAjB,EAAuB;AAC1C,4BAAI4qB,aAAa,EAAE5qB,MAAMA,IAAR,EAAch0B,MAAMkJ,KAAKlJ,IAAzB,EAAjB;;AAEA,4BAAI,CAAC,CAAC8iB,KAAKg7B,qBAAX,EAAkC;AAC9Bh7B,iCAAKg7B,qBAAL,CAA2Bc,UAA3B;AACH;AACD,+BAN0C,CAMlC;AACX,qBAPD;AAQH;;AAEDrsC,sBAAMA,KAAN,CAAY,MAAZ;AACH,aAhBD;AAiBH,SAjDD;;AAmDA,eAAO;AACH49B,kBAAMA;AADH,SAAP;AAGH,KA3DD;AA4DH,CA9DD;ACAA;;AACA,CAAC,YAAY;AACT;AACA5xC,QAAIsgD,uBAAJ,GAA8B,UAAUj6C,EAAV,EAAc5E,IAAd,EAAoB8+C,KAApB,EAA2BC,YAA3B,EAAyC;;AAEnE;AACA,YAAIC,gBAAgB33C,IAAIgE,OAAJ,CAAY,eAAZ,CAApB;;AAEA,YAAIyX,OAAO,IAAX;;AAEA;AACAA,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ;AADU,SAAjB,CAAZ;;AAIA;AACA8iB,aAAKle,EAAL,GAAU,IAAIrG,IAAIgvC,QAAR,CAAiB;AACvB9pC,mBAAOmB,MAAM;AADU,SAAjB,CAAV;;AAIA;;AAEAke,aAAKuG,IAAL,GAAY,YAAY;AACpB21B,0BAAc3+B,mBAAd,CAAkC;AAC9Bzb,oBAAIke,KAAKle,EAAL,CAAQnB,KAAR,EAD0B;AAE9BulB,0BAAUlG,KAAKm8B,cAAL;AAFoB,aAAlC,EAIC1zC,IAJD,CAIM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAND;AAOH,SARD;;AAUA3G,aAAKm8B,cAAL,GAAsBn4B,GAAG0mB,eAAH,CAAmB,EAAnB,CAAtB;;AAEAwR,sBAAc5+B,gBAAd,CAA+Bxb,EAA/B,EAAmC2G,IAAnC,CAAwC,UAAU5K,IAAV,EAAgB;AACpDgB,cAAE8G,IAAF,CAAO9H,IAAP,EAAa,UAAU+N,CAAV,EAAa9L,IAAb,EAAmB;AAC5BkgB,qBAAKm8B,cAAL,CAAoBjtC,IAApB,CAAyBpP,KAAKgC,EAA9B;AACH,aAFD;;AAIA,gBAAIs6C,uBAAuB3gD,IAAI2zC,WAAJ,CAAgB4M,KAAhB,EAAuBh8B,KAAKm8B,cAAL,EAAvB,CAA3B;;AAEA;AACAF;AACH,SATD;AAUH,KAzCD;AA0CH,CA5CD;ACDA;;AACA,CAAC,YAAY;AACT;AACA;AACAxgD,QAAI4gD,uBAAJ,GAA8B,YAAY;AACtC;AACA,YAAIC,aAAaz9C,EAAE,eAAF,CAAjB;AACA,YAAI09C,WAAW19C,EAAE,aAAF,CAAf;AACA,YAAI29C,aAAa39C,EAAE,eAAF,CAAjB;AACA,YAAI49C,aAAa59C,EAAE,eAAF,CAAjB;AACA,YAAI69C,sBAAsB79C,EAAE,iBAAF,CAA1B;;AAEA;AACA,YAAI89C,cAAc99C,EAAE,qBAAF,CAAlB;AACA,YAAI+9C,qBAAqB/9C,EAAE,mBAAF,CAAzB;AACA,YAAIg+C,aAAah+C,EAAE,mBAAF,CAAjB;AACA,YAAIi+C,kBAAkBj+C,EAAE,kBAAF,CAAtB;AACA,YAAIk+C,2BAA2Bl+C,EAAE,6BAAF,CAA/B;;AAEA,YAAIm9C,QAAQn9C,EAAE,uBAAF,CAAZ;;AAEA;AACA,YAAImI,QAAQnI,EAAE,SAAF,CAAZ;;AAEA;AACApD,YAAIuhD,WAAJ,GAAkB,UAAUl7C,EAAV,EAAc5E,IAAd,EAAoB;;AAElCzB,gBAAIyoB,iBAAJ,CAAsBo4B,UAAtB,EAAkCC,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAIyhD,oBAAR,CAA6Bp7C,EAA7B,EAAiC5E,IAAjC,CAAjB,EAAyDo/C,WAAW,CAAX,CAAzD;;AAEA;AACAK,wBAAYroC,KAAZ,CAAkB,YAAY;AAC1B7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCD,UAAhC;AACH,aAFD;AAGH,SATD;;AAWA;AACA7gD,YAAI0hD,WAAJ,GAAkB,UAAUr7C,EAAV,EAAc5E,IAAd,EAAoB;AAClCzB,gBAAIyoB,iBAAJ,CAAsBs4B,UAAtB,EAAkCD,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAI2hD,oBAAR,CAA6Bt7C,EAA7B,EAAiC5E,IAAjC,CAAjB,EAAyDs/C,WAAW,CAAX,CAAzD;;AAEA;AACAI,+BAAmBtoC,KAAnB,CAAyB,YAAY;AACjC7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCC,UAAhC;AACH,aAFD;AAGH,SARD;;AAUA;AACA/gD,YAAI4hD,gBAAJ,GAAuB,UAAUv7C,EAAV,EAAc5E,IAAd,EAAoB;;AAEvC,gBAAI++C,eAAe,SAAfA,YAAe,GAAY;AAC3BxgD,oBAAIyoB,iBAAJ,CAAsBw4B,mBAAtB,EAA2CH,QAA3C;AACH,aAFD;;AAIAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAIsgD,uBAAR,CAAgCj6C,EAAhC,EAAoC5E,IAApC,EAA0C8+C,KAA1C,EAAiDC,YAAjD,CAAjB,EAAiFS,oBAAoB,CAApB,CAAjF;;AAEAK,qCAAyBzoC,KAAzB,CAA+B,YAAY;;AAEvC;AACAzV,kBAAE,8BAAF,EAAkCusC,GAAlC,CAAsC,SAAtC,EAAiD,MAAjD;;AAEA3vC,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCG,mBAAhC;AACH,aAND;AAOH,SAfD;;AAiBA;AACA11C,cAAMkhC,SAAN,CAAgB;AACZ,0BAAc,IADF;AAEZ,wBAAY;AACR,4BAAY;AACR,gCAAY,kCADJ;AAER,4BAAQ;AAFA;AADJ;AAFA,SAAhB;;AAUA;AACA2U,mBAAWvoC,KAAX,CAAiB,YAAY;;AAEzB;AACA7Y,gBAAIyoB,iBAAJ,CAAsBu4B,UAAtB,EAAkCF,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAI6hD,oBAAR,EAAjB,EAAiDb,WAAW,CAAX,CAAjD;;AAEA;AACAK,4BAAgBxoC,KAAhB,CAAsB,YAAY;AAC9B7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCE,UAAhC;AACH,aAFD;AAGH,SAVD;AAWH,KApFD;AAqFA;AACH,CAzFD,EAyFGp+C,MAzFH,EAyFWS,QAzFX;ACDA;;AACA,CAAC,YAAY;AACT;AACArD,QAAI6hD,oBAAJ,GAA2B,UAAUpgD,IAAV,EAAgB;;AAEvC;AACA,YAAIg/C,gBAAgB33C,IAAIgE,OAAJ,CAAY,eAAZ,CAApB;;AAEA,YAAIyX,OAAO,IAAX;;AAEA;AACAA,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ,EADU;AAEzB8oB,sBAAU,IAFe;AAGzB8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK9iB,IAAT,EAAe;AACX;AACA,wBAAIyD,QAAQqf,KAAK9iB,IAAL,CAAUyD,KAAV,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAXwB,SAAjB,CAAZ;;AAcA;AACAv9B,aAAKuG,IAAL,GAAY,YAAY;AACpB21B,0BAAcxvC,MAAd,CAAqB;AACjBxP,sBAAM8iB,KAAK9iB,IAAL,CAAUyD,KAAV;AADW,aAArB,EAGC8H,IAHD,CAGM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aALD;AAMH,SAPD;;AASA;AACA3G,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAOjrB,KAAK9iB,IAAL,CAAU8tC,OAAV,EAAP;AACH,SAFc,EAEZhrB,IAFY,CAAf;AAGH,KApCD;AAqCH,CAvCD,EAuCGvkB,GAvCH;ACDA;;AACA,CAAC,YAAY;AACT;AACAA,QAAIyhD,oBAAJ,GAA2B,UAAUp7C,EAAV,EAAc5E,IAAd,EAAoB;;AAE3C;AACA,YAAIg/C,gBAAgB33C,IAAIgE,OAAJ,CAAY,eAAZ,CAApB;;AAEA,YAAIyX,OAAO,IAAX;;AAEA;AACAA,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ;AADU,SAAjB,CAAZ;;AAIA;AACA8iB,aAAKw9B,SAAL,GAAiB,UAAUxpC,CAAV,EAAa;AAC1BkoC,0BAAc7yC,MAAd,CAAqB;AACjBvH,oBAAIke,KAAKle,EAAL;AADa,aAArB,EAGC2G,IAHD,CAGM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiB43B,mBAA7B;AACH,aALD;AAMH,SAPD;;AASA;AACApU,aAAKle,EAAL,GAAUkiB,GAAGkjB,UAAH,CAAcplC,EAAd,CAAV;AACH,KAxBD;AAyBH,CA3BD;ACDA;;AACA,CAAC,YAAY;AACT;AACArG,QAAI2hD,oBAAJ,GAA2B,UAAUt7C,EAAV,EAAc5E,IAAd,EAAoB;;AAE3C;AACA,YAAIg/C,gBAAgB33C,IAAIgE,OAAJ,CAAY,eAAZ,CAApB;;AAEA,YAAIyX,OAAO,IAAX;;AAEA;AACAA,aAAKle,EAAL,GAAUkiB,GAAGkjB,UAAH,CAAcplC,EAAd,CAAV;;AAEA;AACAke,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ,EADU;AAEzB8oB,sBAAU,IAFe;AAGzB8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK9iB,IAAT,EAAe;AACX;AACA,wBAAIyD,QAAQqf,KAAK9iB,IAAL,CAAUyD,KAAV,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAXwB,SAAjB,CAAZ;;AAcA;AACAv9B,aAAKm9B,WAAL,GAAmB,UAAUnpC,CAAV,EAAa;AAC5BkoC,0BAAcrrC,MAAd,CAAqB;AACjB/O,oBAAIke,KAAKle,EAAL,EADa;AAEjB5E,sBAAM8iB,KAAK9iB,IAAL,CAAUyD,KAAV;AAFW,aAArB,EAIC8H,IAJD,CAIM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAND;AAOH,SARD;;AAUA;AACA3G,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAOjrB,KAAK9iB,IAAL,CAAU8tC,OAAV,EAAP;AACH,SAFc,EAEZhrB,IAFY,CAAf;AAIH,KAzCD;AA0CH,CA5CD;;;ACDA,CAAC,YAAY;AACT;AACA;;AACAvkB,QAAIgiD,uBAAJ,GAA8B,YAAY;AACtC,YAAIz9B,OAAO,IAAX;;AAEA,YAAI09B,yBAAyBn5C,IAAIgE,OAAJ,CAAY,iBAAZ,CAA7B;;AAEA;AACAyX,aAAK29B,aAAL,GAAqB,IAAIliD,IAAIgvC,QAAR,CAAiB;AAClC9pC,mBAAO,EAD2B;AAElCqlB,sBAAU,IAFwB;AAGlC8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK7E,QAAT,EAAmB;AACf;AACA,wBAAIxa,QAAQqf,KAAK29B,aAAL,CAAmBh9C,KAAnB,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAXiC,SAAjB,CAArB;;AAcA;AACAv9B,aAAK5E,QAAL,GAAgB,IAAI3f,IAAIgvC,QAAR,CAAiB;AAC7B9pC,mBAAO,EADsB;AAE7BqlB,sBAAU,IAFmB;AAG7B8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK7E,QAAT,EAAmB;AACf;AACA,wBAAIxa,QAAQqf,KAAK29B,aAAL,CAAmBh9C,KAAnB,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAX4B,SAAjB,CAAhB;;AAcA;AACAv9B,aAAK49B,KAAL,GAAa55B,GAAGinB,QAAH,CAAY,YAAY;AACjC,mBAAOjrB,KAAK5E,QAAL,CAAc4vB,OAAd,MAA2BhrB,KAAK29B,aAAL,CAAmB3S,OAAnB,EAAlC;AACH,SAFY,EAEVhrB,IAFU,CAAb;;AAIA;AACAA,aAAKvE,cAAL,GAAsB,YAAY;AAC9BiiC,mCAAuBjiC,cAAvB,CAAsC;AAClCL,0BAAU4E,KAAK5E,QAAL,CAAcza,KAAd,EADwB;AAElCg9C,+BAAe39B,KAAK29B,aAAL,CAAmBh9C,KAAnB;AAFmB,aAAtC,EAIC8H,IAJD,CAIM,UAAU5K,IAAV,EAAgB;AAClB;AACApC,oBAAIymB,WAAJ,CAAgBzmB,IAAIe,YAAJ,CAAiBmqB,iBAAjC;AACAia,2BAAW,YAAY;AACnBtiC,6BAASyN,IAAT,GAAgB,GAAhB;AACH,iBAFD,EAEG,IAFH;AAGH,aAVD,EAWCvB,IAXD,CAWM,YAAY;AACd;AACAwV,qBAAK5E,QAAL,CAAcza,KAAd,CAAoB,EAApB;AACAqf,qBAAK29B,aAAL,CAAmBh9C,KAAnB,CAAyB,EAAzB;AACH,aAfD;AAgBH,SAjBD;AAkBH,KA3DD;AA4DH,CA/DD,EA+DGlF,GA/DH;ACAA;;AACA,CAAC,YAAY;AACT;AACAA,QAAIoiD,wBAAJ,GAA+B,UAAUC,gBAAV,EAA4B;AACvD,YAAI99B,OAAO,IAAX;;AAEA;AACAA,aAAK4G,QAAL,GAAgB5C,GAAGkjB,UAAH,EAAhB,CAJuD,CAItB;AACjClnB,aAAK+9B,SAAL,GAAiB/5B,GAAG0mB,eAAH,CAAmB,EAAnB,CAAjB;;AAEA;AACA1qB,aAAK49B,KAAL,GAAa55B,GAAGinB,QAAH,CAAY,YAAY;AACjC,mBAAO,IAAP;AACH,SAFY,EAEVjrB,IAFU,CAAb;;AAIA;AACAvkB,YAAIuiD,YAAJ,GAAmBvxC,MAAnB,GAA4BhE,IAA5B,CAAiC,UAAUrK,KAAV,EAAiB;AAC9CS,cAAE8G,IAAF,CAAOvH,MAAM8M,MAAb,EAAqB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACpCkgB,qBAAK+9B,SAAL,CAAe7uC,IAAf,CAAoB,EAAEhS,MAAM4C,KAAK8mB,QAAb,EAAuB9kB,IAAIhC,KAAKgC,EAAhC,EAApB;AACH,aAFD;;AAIAke,iBAAK4G,QAAL,CAAcvmB,SAASy9C,gBAAT,CAAd,EAL8C,CAKH;AAC9C,SAND;;AAQA;AACA99B,aAAKuG,IAAL,GAAY,YAAY;AACpB9qB,gBAAIwiD,eAAJ,GAAsBviC,mBAAtB,CAA0C;AACtCmL,4BAAY7G,KAAK4G,QAAL;AAD0B,aAA1C,EAGCne,IAHD,CAGM,UAAU5K,IAAV,EAAgB;AAClB;AACApC,oBAAIymB,WAAJ,CAAgBzmB,IAAIe,YAAJ,CAAiBmqB,iBAAjC;AACAia,2BAAW,YAAY;AACnBtiC,6BAASyN,IAAT,GAAgB,GAAhB;AACH,iBAFD,EAEG,IAFH;AAGH,aATD;AAUH,SAXD;AAYH,KAlCD;AAmCH,CArCD,EAqCGtQ,GArCH;ACDA;;AACA,CAAC,YAAY;AACT;AACAA,QAAIyiD,wBAAJ,GAA+B,YAAY;AACvC,YAAIl+B,OAAO,IAAX;AACA,YAAIi+B,kBAAkB15C,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACAyX,aAAKnE,IAAL,GAAY,IAAIpgB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAO,EADkB;AAEzBqlB,sBAAU,IAFe;AAGzB8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAKnE,IAAT,EAAe;AACX;AACA,wBAAIlb,QAAQqf,KAAKnE,IAAL,CAAUlb,KAAV,EAAZ;AACA,wBAAI,CAACA,KAAD,IAAUA,SAAS,EAAvB,EAA2B;AACvB,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAXwB,SAAjB,CAAZ;;AAcA;AACAv9B,aAAK49B,KAAL,GAAa55B,GAAGinB,QAAH,CAAY,YAAY;AACjC,mBAAO,CAAC,CAACjrB,KAAKnE,IAAL,CAAUlb,KAAV,EAAT;AACH,SAFY,EAEVqf,IAFU,CAAb;;AAIA;AACAA,aAAKm+B,OAAL,GAAe,YAAY;AACvBF,4BAAgBriC,eAAhB,CAAgCoE,KAAKnE,IAAL,CAAUlb,KAAV,EAAhC,EAAmD8H,IAAnD,CAAwD,UAAU5K,IAAV,EAAgB;;AAEpE;AACApC,oBAAIymB,WAAJ,CAAgBzmB,IAAIe,YAAJ,CAAiB4hD,wBAAjC;;AAEA;AACAxd,2BAAW,YAAY;AACnBtiC,6BAASyN,IAAT,GAAgB,iBAAhB;AACH,iBAFD,EAEG,IAFH;AAGH,aATD,EAUCvB,IAVD,CAUM,YAAY;AACd;AACAwV,qBAAKnE,IAAL,CAAUlb,KAAV,CAAgB,EAAhB;AACH,aAbD;AAcH,SAfD;AAgBH,KAzCD;AA0CH,CA5CD,EA4CGlF,GA5CH;;;ACDA,CAAC,YAAY;AACT;AACA;;AACAA,QAAI4iD,cAAJ,GAAqB,YAAY;;AAE7B;AACA,YAAIljC,WAAWtc,EAAE,aAAF,CAAf;AACA,YAAIuc,WAAWvc,EAAE,iBAAF,CAAf;AACA,YAAIy/C,eAAez/C,EAAE,oBAAF,CAAnB;AACA,YAAI0/C,eAAe1/C,EAAE,cAAF,CAAnB;AACA,YAAI2/C,cAAc3/C,EAAE,eAAF,CAAlB;AACA,YAAI4/C,mCAAmC5/C,EAAE,qCAAF,CAAvC;AACA,YAAI6/C,kCAAkC7/C,EAAE,sCAAF,CAAtC;;AAEA;AACA,YAAI8/C,iBAAiBp6C,IAAIgE,OAAJ,CAAY,sBAAZ,CAArB;AACA,YAAIq2C,iBAAiBr6C,IAAIgE,OAAJ,CAAY,iBAAZ,CAArB;AACA,YAAIs2C,yBAAyBt6C,IAAIgE,OAAJ,CAAY,yBAAZ,CAA7B;;AAEA,YAAI2uB,UAAU,KAAd;AACA,YAAI5b,YAAY,IAAhB;AACA,YAAIwjC,aAAa;AACbC,kBAAM;AACF53B,0BAAU,IADR;AAEF63B,2BAAW,IAFT;AAGFr1B,6BAAa;AAHX,aADO;AAMbvf,mBAAO;AACH60C,+BAAe,cADZ,EAC4B;AAC/BC,wCAAwB,IAFrB,CAE0B;AAF1B;AANM,SAAjB;;AAYA;AACA,YAAIC,SAAS,SAATA,MAAS,GAAY;AACrBjoB,sBAAU,IAAV;AACAsnB,wBAAYn6B,IAAZ;AACAk6B,yBAAazoC,IAAb,CAAkB,UAAlB,EAA8B,IAA9B;;AAEA8oC,2BAAexvC,KAAf,CAAqB+L,SAASjB,GAAT,EAArB,EAAqCkB,SAASlB,GAAT,EAArC,EACK7P,IADL,CACU,YAAY;AACd6sB,0BAAU,KAAV;AACA54B,yBAASoK,MAAT;AACA61C,6BAAazoC,IAAb,CAAkB,UAAlB,EAA8B,KAA9B;AACA0oC,4BAAYl6B,IAAZ;AACH,aANL,EAMO,UAAS3b,GAAT,EAAc;AACbuuB,0BAAU,KAAV;AACAqnB,6BAAazoC,IAAb,CAAkB,UAAlB,EAA8B,KAA9B;AACA0oC,4BAAYl6B,IAAZ;AACH,aAVL;AAWH,SAhBD;;AAkBA,YAAI86B,iCAAiC,SAAjCA,8BAAiC,GAAY;AAC7CloB,sBAAU,IAAV;AACAwnB,4CAAgCr6B,IAAhC;AACAo6B,6CAAiC3oC,IAAjC,CAAsC,UAAtC,EAAkD,IAAlD;;AAEA,gBAAMupC,eAAe,IAAIC,KAAKC,uBAAT,CAAiCT,UAAjC,CAArB;AACA,gBAAMU,eAAe;AACjBC,wBAAQ,CAAC,WAAD,CADS,CACK;AADL,aAArB;;AAIAJ,yBAAaK,UAAb,CAAwBF,YAAxB,EACKn1C,IADL,CACU,oBAAY;AACd,oBAAIxM,OAAO;AACP4iC,8BAAUn2B,SAASxE,OAAT,CAAiB5I,IADpB;AAEPie,8BAAU7Q,SAASxE,OAAT,CAAiBqV,QAFpB;AAGPG,+BAAWA;AAHJ,iBAAX;;AAMAsjC,+BAAevjC,6BAAf,CAA6Cxd,IAA7C,EACKwM,IADL,CACU,YAAY;AACd6sB,8BAAU,KAAV;AACA54B,6BAASoK,MAAT;AACA+1C,qDAAiC3oC,IAAjC,CAAsC,UAAtC,EAAkD,KAAlD;AACA4oC,oDAAgCp6B,IAAhC;AACH,iBANL,EAMO,UAAS3b,GAAT,EAAc;AACbuuB,8BAAU,KAAV;AACAunB,qDAAiC3oC,IAAjC,CAAsC,UAAtC,EAAkD,KAAlD;AACA4oC,oDAAgCp6B,IAAhC;AACH,iBAVL;AAWH,aAnBL,EAoBKoD,KApBL,CAoBW,iBAAS;AACZwP,0BAAU,KAAV;AACAunB,iDAAiC3oC,IAAjC,CAAsC,UAAtC,EAAkD,KAAlD;AACA4oC,gDAAgCp6B,IAAhC;;AAEA2U,wBAAQnpB,KAAR,CAAc,cAAd,EAA8BA,KAA9B;AACP,aA1BD;AA2BH,SArCD;;AAuCA,YAAI6vC,sBAAsB,SAAtBA,mBAAsB,GAAY;AAClC;AACA9gD,cAAE,8BAAF,EAAkC+lB,QAAlC,CAA2C,UAAUhN,CAAV,EAAa;AACpD,oBAAIA,EAAEmN,KAAF,IAAW,EAAX,IAAiB,CAACmS,OAAtB,EAA+B;AAC3BioB;AACH;AACJ,aAJD;;AAMAR,2BAAejpC,IAAf,CAAoB0F,QAApB,EAA8B,YAAY;AACtC;AACAkjC,6BAAaj6B,IAAb;AAEH,aAJD,EAIG,YAAY;AACX;AACAi6B,6BAAah6B,IAAb;AACH,aAPD;AAQH,SAhBD;;AAkBA,YAAMs7B,sBAAsB,SAAtBA,mBAAsB,GAAY;AACpC,gBAAMv7C,MAAMhG,OAAOC,QAAP,CAAgByN,IAA5B;AACA,gBAAM8zC,QAAQx7C,IAAI7F,KAAJ,CAAU,GAAV,CAAd;;AAEA,mBAAOqhD,MAAMA,MAAM7mC,OAAN,CAAc,QAAd,IAA0B,CAAhC,CAAP;AACH,SALD;;AAOA;AACA,YAAIq0B,OAAO,SAAPA,IAAO,GAAY;AACnBmR,wBAAYl6B,IAAZ;AACAg6B,yBAAah6B,IAAb;AACAo6B,4CAAgCp6B,IAAhC;AACAm6B,6CAAiCn6B,IAAjC;AACAq7B;AACApB,yBAAav/C,EAAb,CAAgB,OAAhB,EAAyBmgD,MAAzB;;AAEA7jC,wBAAYskC,qBAAZ;;AAEA,gBAAGtkC,aAAa,IAAb,IAAqB,CAACpC,MAAMoC,SAAN,CAAtB,IAA0CA,YAAY,CAAZ,KAAkB,CAA/D,EAAkE;AAC9D4b,0BAAU,IAAV;;AAEA2nB,uCAAuB7iC,sBAAvB,CAA8CV,SAA9C,EAAyDjR,IAAzD,CAA8D,UAASC,QAAT,EAAmB;AAC7E4sB,8BAAU,KAAV;AACA4nB,+BAAWC,IAAX,CAAgB53B,QAAhB,GAA2B7c,SAAS6c,QAApC;AACA23B,+BAAWC,IAAX,CAAgBC,SAAhB,GAA4B,uCAAuC10C,SAAS8c,QAA5E;AACA03B,+BAAWn1B,WAAX,GAAyB,qBAAqBrO,SAArB,GAAiC,YAA1D;;AAEAmjC,qDAAiCp6B,IAAjC;AACAo6B,qDAAiCz/C,EAAjC,CAAoC,OAApC,EAA6CogD,8BAA7C;AACH,iBARD,EAQG,UAASz2C,GAAT,EAAc;AACbuuB,8BAAU,KAAV;AACA54B,6BAASyN,IAAT,GAAgB,kBAAhB;AACH,iBAXD;AAYH;AACJ,SA1BD;;AA4BA,eAAO;AACHshC,kBAAMA;AADH,SAAP;AAGH,KAjJD;AAkJH,CArJD;ACAA;;AACA,CAAC,YAAY;AACT;AACA5xC,QAAIqkD,eAAJ,GAAsB,UAAU3kC,QAAV,EAAoB;AACtC,YAAI6E,OAAO,IAAX;;AAEA;AACAA,aAAK+/B,sBAAL,GAA8B,UAAUnoC,CAAV,EAAa;AACvC,gBAAIA,EAAEmN,KAAF,IAAW,EAAf,EAAmB;AACflmB,kBAAE,aAAF,EAAiByV,KAAjB,GADe,CACW;AAC7B;AACJ,SAJD;;AAMA;AACAzV,UAAE,iBAAF,EAAqB+lB,QAArB,CAA8B5E,KAAK+/B,sBAAnC;;AAEA;AACA//B,aAAK7E,QAAL,GAAgB6I,GAAGkjB,UAAH,CAAc/rB,QAAd,CAAhB;;AAEA;AACA6E,aAAK5E,QAAL,GAAgB,IAAI3f,IAAIgvC,QAAR,CAAiB;AAC7B9pC,mBAAO,EADsB;AAE7BqlB,sBAAU,IAFmB;AAG7B8kB,wBAAY,sBAAY;;AAEpB;AACA,oBAAI9qB,KAAK7E,QAAT,EAAmB;AACf,wBAAIxa,QAAQqf,KAAK5E,QAAL,CAAcza,KAAd,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAZ4B,SAAjB,CAAhB;;AAeA;AACAv9B,aAAK49B,KAAL,GAAa55B,GAAGinB,QAAH,CAAY,YAAY;AACjC,mBAAOjrB,KAAK5E,QAAL,CAAc4vB,OAAd,EAAP;AACH,SAFY,EAEVhrB,IAFU,CAAb;;AAIA;AACAA,aAAK5Q,KAAL,GAAa,YAAY;AACrB3T,gBAAIwiD,eAAJ,GAAsB7uC,KAAtB,CAA4B;AACxB+L,0BAAU6E,KAAK7E,QAAL,EADc;AAExBC,0BAAU4E,KAAK5E,QAAL,CAAcza,KAAd;AAFc,aAA5B,EAIC8H,IAJD,CAIM,UAAU5K,IAAV,EAAgB;AAClBS,yBAASyN,IAAT,GAAgB,GAAhB,CADkB,CACG;AACxB,aAND,EAOCvB,IAPD,CAOM,YAAY;AACd;AACAwV,qBAAK5E,QAAL,CAAcza,KAAd,CAAoB,EAApB;AACH,aAVD;AAWH,SAZD;AAaH,KAnDD;AAoDH,CAtDD,EAsDGlF,GAtDH;;;ACDA,CAAC,YAAY;AACT;AACA;;AACAA,QAAIukD,sBAAJ,GAA6B,YAAY;AACrC,YAAIhgC,OAAO,IAAX;;AAEA,iBAASqtB,IAAT,CAAc4S,gBAAd,EAAgCC,eAAhC,EAAiDC,gBAAjD,EAAmE;AAC/D;AACA5iB,mBAAOC,IAAP,CAAY;AACR7rB,yBAAS,qBADD;AAER9T,sBAAMoiD,gBAFE;AAGRviB,sBAAM,OAHE;AAIRC,uBAAO,CAAC,OAAD,CAJC;AAKRC,wBAAQ,CAACniC,IAAIe,YAAJ,CAAiBqhC,KAAlB,CALA;AAMRC,6BAAa,KANL;AAORC,+BAAe,aAPP;AAQRC,4BAAY,CAAC,SAAD,CARJ;AASRC,2BAAW,CATH;AAURC,2BAAW,KAVH;AAWRC,wBAAQ,IAXA;AAYRC,2BAAW;AAZH,aAAZ;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH;;AAED,eAAO;AACHiP,kBAAMA;AADH,SAAP;AAGH,KA3DD;AA4DH,CA/DD;;;ACAA,CAAC,YAAY;AACT;;AACA5xC,QAAI2kD,+BAAJ,GAAsC,YAAY;;AAE9C;AACA,YAAI9N,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;AACA,YAAI+Z,aAAa/d,IAAIgE,OAAJ,CAAY,YAAZ,CAAjB;;AAEA;AACA,YAAI83C,mBAAmBxhD,EAAE,sBAAF,CAAvB;;AAIA,YAAIwuC,OAAO,SAAPA,IAAO,GAAW;AAClB,gBAAIlwB,SAASvS,KAAKsd,KAAL,CAAWF,aAAaC,OAAb,CAAqB,QAArB,CAAX,CAAb;AACAksB,qBAASh3B,MAAT;AACH,SAHD;;AAKA;AACA,YAAIg3B,WAAW,SAAXA,QAAW,CAAUh3B,MAAV,EAAkB;AAC7B;AACA,gBAAImjC,cAAc,qCAAqCh+B,WAAWC,WAAX,CAAuBpF,MAAvB,CAAvD;AACA;AACAm1B,uBAAWxvB,IAAX,CAAgBw9B,WAAhB,EAA6BD,gBAA7B;AACH,SALD;;AAOA,eAAO;AACHlM,sBAAUA,QADP;AAEH9G,kBAAMA;AAFH,SAAP;AAIH,KA5BD;AA6BH,CA/BD;;;ACAA,CAAC,YAAY;AACT;;AACA9oC,QAAIC,MAAJ,CAAW,mBAAX,EAAgC+7C,gBAAhC;;AAEA,aAASA,gBAAT,GAA4B;;AAExB,YAAIC,uBAAuB,8GACJ,2CADI,GAEA,0BAFA,GAGI,0FAHJ,GAII,uCAJJ,GAKA,QALA,GAMA,0BANA,GAOI,sCAPJ,GAQI,6CARJ,GASA,QATA,GAUJ,MAVI,GAWT,OAXlB;;AAcA,iBAASC,mBAAT,CAA6Bx+B,YAA7B,EAA2C;AACvC,oBAAQA,aAAajiB,IAArB;AACI,qBAAK,kBAAL;AACI,2BAAO,4BAAP;AACJ;AACI,2BAAO,EAAP;AAJR;AAMH;;AAED,iBAAS0gD,qBAAT,CAA+Bz+B,YAA/B,EAA6C;AACzC,oBAAQA,aAAajiB,IAArB;AACI,qBAAK,kBAAL;AACI,2BAAO,EAAP,CAFR,CAEmB;AACf;AACI,2BAAO,EAAP;AAJR;AAMH;;AAED,YAAI2E,QAAQ,SAARA,KAAQ,CAAUsd,YAAV,EAAwB;;AAEhC,gBAAI7d,WAAW,IAAIQ,CAAJ,CAAM47C,oBAAN,CAAf;;AAEAv+B,yBAAa0+B,QAAb,GAAwB1+B,aAAa0+B,QAArC;AACA1+B,yBAAa2+B,SAAb,GAAyB3+B,aAAa4+B,QAAb,GAAwB,mBAAxB,GAA8C,qBAAvE;AACA5+B,yBAAa6+B,gBAAb,GAAgCL,oBAAoBx+B,YAApB,CAAhC;AACAA,yBAAa8+B,kBAAb,GAAkCL,sBAAsBz+B,YAAtB,CAAlC;;AAEA,mBAAO7d,SAASS,MAAT,CAAgBod,YAAhB,CAAP;AACH,SAVD;;AAYA,eAAO;AACHtd,mBAAOA;AADJ,SAAP;AAGH;AACJ,CAtDD;;;ACAA,CAAC,YAAY;AACT;;AACAlJ,gBAAIulD,yBAAJ,GAAgC,YAAY;;AAExC,4BAAIvjC,uBAAuBlZ,IAAIgE,OAAJ,CAAY,sBAAZ,CAA3B;;AAEA,4BAAIyX,OAAO,IAAX;AACAA,6BAAKjL,IAAL;AACAiL,6BAAKrC,WAAL;;AAEA,4BAAIsjC,OAAOpiD,EAAE,yBAAF,CAAX;;AAEAoiD,6BAAK1U,GAAL,GAAWvtC,EAAX,CAAc,OAAd,EAAuB,2BAAvB,EAAoD,YAAY;AAC5D,wCAAI8C,KAAKjD,EAAE,IAAF,EAAQiX,IAAR,CAAa,IAAb,CAAT;AACA,wCAAIorC,eAAeriD,EAAE,IAAF,EAAQiX,IAAR,CAAa,OAAb,KAAyB,MAA5C;AACAra,wCAAI2L,OAAJ,CAAYC,gBAAZ,CAA6BvF,EAA7B,EAAiCnD,SAAjC,EAA4CA,SAA5C,EAAuDuiD,YAAvD;AACH,yBAJD;;AAMAlhC,6BAAKmhC,iBAAL,GAAyB,YAAY;;AAEjCnhC,yCAAKjL,IAAL,GAAY,CAAZ;AACAiL,yCAAKrC,WAAL,GAAmB,EAAnB;;AAEA,wCAAIyjC,yBAAyB,SAAzBA,sBAAyB,CAAUn9C,KAAV,EAAiB;AAC1CpF,kDAAE,0BAAF,EAA8B4jB,IAA9B,CAAmC,UAAnC,EAA+C,CAACxe,KAAhD;AACH,qCAFD;;AAIAg9C,yCAAK1a,IAAL,CAAU,EAAV;AACA0a,yCAAK17C,MAAL,CAAY,sLACR9J,IAAIe,YAAJ,CAAiB,SAAjB,CADQ,GACsB,mCADlC;;AAGA;AACA,wCAAIy6C,kBAAkB,0CAA0CnmC,mBAAmBkP,KAAKjL,IAAxB,CAA1C,GAA0E,eAA1E,GAA4FjE,mBAAmBkP,KAAKrC,WAAxB,CAAlH;;AAEA,wCAAI20B,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;;AAEA+pC,+CAAWxvB,IAAX,CAAgBm0B,eAAhB,EAAiCgK,IAAjC,EAAuC,YAAY;;AAE/CA,qDAAKnJ,MAAL,GAAcA,MAAd,GAAuB1M,GAAvB,CAA2B,QAA3B,EAAqC,OAArC;AACA3tB,qEAAqBC,oBAArB,CAA0CsC,KAAKjL,IAA/C,EAAqDiL,KAAKrC,WAA1D,EAAuElV,IAAvE,CAA4E,UAAU5K,IAAV,EAAgB;AACxFujD,mFAAuBvjD,KAAKk7C,WAA5B;AACA/4B,iEAAKjL,IAAL;AACAlW,8DAAE,oCAAF,EAAwC0nC,IAAxC,CAA6C1oC,KAAKoxC,KAAlD;AACH,iDAJD;AAKH,qCARD;;AAUApwC,sCAAE,0BAAF,EAA8ByV,KAA9B,CAAoC,UAAUzX,KAAV,EAAiB;AACjDA,sDAAMwkD,wBAAN,GADiD,CACf;AAClC5jC,qEAAqBC,oBAArB,CAA0CsC,KAAKjL,IAA/C,EAAqDiL,KAAKrC,WAA1D,EAAuElV,IAAvE,CAA4E,UAAU5K,IAAV,EAAgB;AACxFujD,mFAAuBvjD,KAAKk7C,WAA5B;AACAl6C,8DAAE8G,IAAF,CAAO9H,KAAKqN,MAAZ,EAAoB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;;AAEnCA,6EAAKwhD,oBAAL,GAA4BxhD,KAAKwhD,oBAAL,GAA4BxhD,KAAKwhD,oBAAjC,GAAwD,eAApF;;AAEA,4EAAIC,yBAAyBh9C,IAAIgE,OAAJ,CAAY,mBAAZ,CAA7B;AACA04C,6EAAK17C,MAAL,CAAYg8C,uBAAuB58C,KAAvB,CAA6B7E,IAA7B,CAAZ;AACA;AACH,6DAPD;AAQAjB,8DAAE,oCAAF,EAAwC0nC,IAAxC,CAA6C1oC,KAAKoxC,KAAlD;AACAjvB,iEAAKjL,IAAL;AACH,iDAZD;AAaA;AACA;AACA;AACH,qCAlBD;;AAoBA;AACA;AACA;;AAEA;;AAEA;AACH,yBAvDD;;AAyDA,+BAAOiL,IAAP;AACH,aA1ED;AA2EH,CA7ED;;;ACAA,CAAC,YAAY;AACT;;AACAvkB,QAAI+lD,uBAAJ,GAA8B,YAAY;;AAEtC;AACA,YAAIlP,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;;AAEA;AACA,YAAIk5C,qBAAqB5iD,EAAE,wBAAF,CAAzB;AACA,YAAI6iD,gBAAgB7iD,EAAE,qBAAF,CAApB;AACA,YAAI8iD,sBAAsB9iD,EAAE,kBAAF,CAA1B;;AAEA;AACA,YAAI8vC,cAAc9vC,EAAE,eAAF,CAAlB;;AAGA,YAAIwuC,OAAO,SAAPA,IAAO,GAAY;AACnBsB,wBAAYz0B,GAAZ,CAAgB,CAAhB;AACAi6B,qBAAS,CAAT;AACH,SAHD;;AAKA,YAAIA,WAAW,SAAXA,QAAW,CAASxF,WAAT,EAAsB;;AAEjC,gBAAIsI,kBAAkB3zB,OAAO6G,MAAP,CAAc,8BAAd,EAA8CwkB,WAA9C,CAAtB;;AAEA2D,uBAAWxvB,IAAX,CAAgBm0B,eAAhB,EAAiCyK,aAAjC,EAAgDE,WAAhD;AACH,SALD;;AAOA,YAAIA,cAAc,SAAdA,WAAc,GAAY;AAC1BD,gCAAoBp8C,MAApB,CAA2Bm8C,cAAc9J,QAAd,CAAuB,IAAvB,CAA3B;AACA,gBAAImB,cAAc2I,cAAc9J,QAAd,CAAuB,OAAvB,EAAgC19B,GAAhC,EAAlB;;AAEA,gBAAI6+B,YAAYx1B,gBAAZ,EAAJ,EAAoC;AAChCk+B,mCAAmBp9B,IAAnB;AACH,aAFD,MAEO;AACHo9B,mCAAmBn9B,IAAnB;AACH;;AAEDo9B,0BAAc9J,QAAd,CAAuB,OAAvB,EAAgCnyC,MAAhC;AACAi8C,0BAAc9J,QAAd,CAAuB,IAAvB,EAA6BnyC,MAA7B;;AAEAkpC,wBAAYz0B,GAAZ,CAAgB7Z,SAASsuC,YAAYz0B,GAAZ,EAAT,IAA8B,CAA9C;;AAEAunC,+BAAmBlV,GAAnB,GAAyBvtC,EAAzB,CAA4B,OAA5B,EAAqC6iD,eAArC;AACH,SAhBD;;AAkBA,YAAIA,kBAAkB,SAAlBA,eAAkB,GAAU;AAC5B1N,qBAASxF,YAAYz0B,GAAZ,EAAT;AACH,SAFD;;AAIA,eAAO;AACHmzB,kBAAMA,IADH;AAEH8G,sBAAUA;AAFP,SAAP;AAIH,KApDD;AAqDH,CAvDD;;;ACAA,CAAC,YAAY;AACT;;AACA14C,QAAIqmD,gBAAJ,GAAuB,YAAY;;AAE/B,YAAIC,cAAcljD,EAAE,eAAF,CAAlB;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,GAAY;AACnB0U,wBAAYxV,GAAZ,GAAkBvtC,EAAlB,CAAqB,OAArB,EAA8BgjD,oBAA9B;AACAvmD,gBAAI+lD,uBAAJ,GAA8BnU,IAA9B;AACH,SAHD;;AAKA,YAAI2U,uBAAuB,SAAvBA,oBAAuB,GAAY;AACnCvmD,gBAAIwmD,6BAAJ,GAAoC5U,IAApC;AACH,SAFD;;AAIA,eAAO;AACHA,kBAAMA;AADH,SAAP;AAGH,KAhBD;AAiBH,CAnBD;;;ACAA,CAAC,YAAY;AACT;;AACA5xC,QAAIwmD,6BAAJ,GAAoC,YAAY;;AAE5C;AACA,YAAInkC,kBAAkBvZ,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI25C,cAAc39C,IAAIgE,OAAJ,CAAY,oBAAZ,CAAlB;;AAEA;AACA,YAAI45C,eAAe;AACfC,6BAAiB,CADF;AAEfC,wBAAY,CAFG;AAGfC,2BAAe;AAHA,SAAnB;AAKAtiC,aAAKuiC,eAAL,GAAuB,EAAvB;AACAviC,aAAKwiC,UAAL,GAAkB,GAAlB;AACAxiC,aAAKyiC,aAAL,GAAqB,GAArB;;AAEA;AACA,YAAIC,4BAA4B7jD,EAAE,wBAAF,CAAhC;AACA,YAAI8jD,iBAAiB9jD,EAAE,kBAAF,CAArB;AACA,YAAI+jD,oBAAoB/jD,EAAE,eAAF,CAAxB;AACA,YAAIgkD,0BAA0BhkD,EAAE,4BAAF,CAA9B;AACA,YAAIikD,qBAAqBjkD,EAAE,sBAAF,CAAzB;AACA,YAAIkkD,iBAAiBlkD,EAAE,mBAAF,CAArB;;AAEA;AACA,YAAImkD,YAAYnkD,EAAE,sBAAF,CAAhB;AACA,YAAIokD,aAAapkD,EAAE,uBAAF,CAAjB;AACA,YAAIqkD,aAAarkD,EAAE,aAAF,CAAjB;;AAEA;AACA,YAAIskD,aAAatkD,EAAE,cAAF,CAAjB;;AAEA,iBAASwuC,IAAT,GAAgB;;AAEZ+V;;AAEAR,8BAAkB5jD,EAAlB,CAAqB,QAArB,EAA+BqkD,aAA/B;AACAN,2BAAe/jD,EAAf,CAAkB,QAAlB,EAA4BqkD,aAA5B;AACAN,2BAAe7oC,GAAf,CAAmB,CAAnB;AACAmpC;AACDR,oCAAwBtW,GAAxB,GAA8BvtC,EAA9B,CAAiC,OAAjC,EAA0CskD,aAA1C;;AAECpB,wBAAYxZ,aAAZ,CAA0Bqa,cAA1B;AACAL,sCAA0BjzC,KAA1B;AACH;;AAED,iBAAS2zC,cAAT,GAA0B;AACtB,gBAAIG,qBAAqB1kD,EAAE,uBAAF,CAAzB;AACA,gBAAIkC,MAAMwiD,mBAAmB1lD,IAAnB,CAAwB,KAAxB,CAAV;AACA,gBAAIoD,QAAQsiD,mBAAmB1lD,IAAnB,CAAwB,OAAxB,CAAZ;AACA,gBAAIsD,OAAOoiD,mBAAmB1lD,IAAnB,CAAwB,MAAxB,CAAX;;AAEA,gBAAIwuB,WAAW,IAAI/sB,IAAJ,CAASe,SAASc,IAAT,CAAT,EAAyBF,QAAQ,CAAjC,EAAoCF,GAApC,CAAf;;AAEA,gBAAIsrB,WAAW,IAAI/sB,IAAJ,EAAf,EAA2B;AACvB+sB,2BAAW,IAAI/sB,IAAJ,EAAX;AACH;;AAEDqjD,2BAAe5O,gBAAf,CAAgC,EAAEyP,KAAKn3B,QAAP,EAAhC;AACAs2B,2BAAevM,eAAf,CAA+B/pB,QAA/B;AACH;;AAED,iBAASo3B,cAAT,CAAwB9iD,KAAxB,EAA+B;AAC3B,gBAAI+iD,OAAJ;AACA,oBAAQ/iD,KAAR;AACI,qBAAK,kBAAL;AACI,2BAAO,CAAP;AACA;AACJ,qBAAK,mBAAL;AACI,2BAAO,CAAP;AACA;AACJ,qBAAK,gBAAL;AACI,2BAAO,CAAP;AACA;AATR;AAWH;;AAED,iBAASgjD,UAAT,GAAsB;AAClB,gBAAI5lC,UAAU;AACV2lC,yBAASD,eAAeb,kBAAkB1oC,GAAlB,EAAf,CADC;AAEV8a,oBAAI2tB,eAAerN,UAAf,EAFM;AAGVsO,yBAASvjD,SAASyiD,mBAAmBjd,IAAnB,EAAT,CAHC;AAIVge,0BAAUxjD,SAAS0iD,eAAe7oC,GAAf,EAAT;AAJA,aAAd;AAMA,mBAAO6D,OAAP;AACH;;AAED,iBAASulC,aAAT,GAAyB;AACrB,gBAAIvlC,UAAU4lC,YAAd;AACA7lC,4BAAgBpR,MAAhB,CAAuBqR,OAAvB,EAAgCtV,IAAhC,CAAqC,UAAU5K,IAAV,EAAgB;AACjD,oBAAIimD,OAAOZ,WAAWhpC,GAAX,EAAX;;AAEA,oBAAI3J,SAASuzC,OAAO,4BAAP,GAAsCjmD,KAAKiE,EAAL,CAAQ8M,QAAR,EAAnD;AACA,oBAAIrE,UAAUu5C,OAAO,6BAAP,GAAuCjmD,KAAKiE,EAAL,CAAQ8M,QAAR,EAArD;;AAEAo0C,0BAAU9oC,GAAV,CAAc3J,MAAd;AACA0yC,2BAAW/oC,GAAX,CAAe3P,OAAf;;AAEA44C,2BAAWjS,MAAX;AACH,aAVD;AAWH;;AAED,iBAASmS,aAAT,GAAyB;AACrB,gBAAIK,UAAUD,eAAeb,kBAAkB1oC,GAAlB,EAAf,CAAd;;AAEA,gBAAI,CAAC6oC,eAAe7oC,GAAf,EAAL,EAA2B;AACvB6oC,+BAAe7oC,GAAf,CAAmB,CAAnB;AACH;;AAED,gBAAI6pC,SAAS1jD,SAAS0iD,eAAe7oC,GAAf,EAAT,CAAb;;AAEA,oBAAQwpC,OAAR;AACI,qBAAKvB,aAAaC,eAAlB;AACIU,uCAAmBjd,IAAnB,CAAwB,CAAC7lB,KAAKuiC,eAAL,GAAuBwB,MAAxB,EAAgCn1C,QAAhC,EAAxB;AACA;AACJ,qBAAKuzC,aAAaE,UAAlB;AACIS,uCAAmBjd,IAAnB,CAAwB,CAAC7lB,KAAKwiC,UAAL,GAAkBuB,MAAnB,EAA2Bn1C,QAA3B,EAAxB;AACA;AACJ,qBAAKuzC,aAAaG,aAAlB;AACIQ,uCAAmBjd,IAAnB,CAAwB,CAAC7lB,KAAKyiC,aAAL,GAAqBsB,MAAtB,EAA8Bn1C,QAA9B,EAAxB;AACA;AATR;AAWH;;AAED,eAAO;AACHy+B,kBAAMA;AADH,SAAP;AAGH,KA/HD;AAgIH,CAlID;;;ACAA,CAAC,YAAY;AACT;;AACA5xC,QAAIuoD,uCAAJ,GAA8C,YAAY;;AAEtD;AACA,YAAI7R,kBAAkB5tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACA;AACA,YAAI6T,SAASvd,EAAE,2CAAF,CAAb;AACA,YAAIqf,UAAUrf,EAAE,4CAAF,CAAd;AACA,YAAIiH,UAAUjH,EAAE,4CAAF,CAAd;;AAEA;AACA,YAAIolD,YAAYplD,EAAE,2CAAF,CAAhB;;AAEA,iBAASwuC,IAAT,GAAgB;AACZ4W,sBAAUjlD,EAAV,CAAa,OAAb,EAAsBme,MAAtB;AACAe,oBAAQpI,IAAR,CAAa,UAAb,EAAyB,IAAzB;AACA+9B;AACH;;AAED,iBAAS12B,MAAT,CAAgBwxB,WAAhB,EAA6B;AACzBlzC,gBAAIyoD,qCAAJ,GAA4ChN,YAA5C,CAAyDl6B,YAAY,CAAZ,CAAzD,EAAyE,IAAzE;AACH;;AAED,iBAASA,WAAT,CAAqB2xB,WAArB,EAAkC;AAC9B,mBAAO;AACHziB,2BAAWpmB,QAAQoU,GAAR,EADR;AAEHiN,0BAAU/K,OAAOlC,GAAP,EAFP;AAGHiS,2BAAWjO,QAAQhE,GAAR,EAHR;AAIHiqC,sBAAMxV;AAJH,aAAP;AAMH;;AAED,iBAASkF,gBAAT,GAA4B;AACxBz3B,mBAAOlC,GAAP,CAAWrb,EAAE,sCAAF,EAA0Cqb,GAA1C,EAAX;AACAkC,mBAAOpd,EAAP,CAAU,QAAV,EAAoBolD,mBAApB;AACH;;AAED,iBAASA,mBAAT,GAA+B;AAC3BlmC,oBAAQ8vB,KAAR;;AAEA,gBAAI,CAAC5xB,OAAOlC,GAAP,EAAL,EAAmB;AACfgE,wBAAQpI,IAAR,CAAa,UAAb,EAAyB,UAAzB;AACA;AACH;;AAEDi/B;AACH;;AAED,iBAASA,wBAAT,GAAoC;AAChC;AACA5C,4BAAgBn0B,OAAhB,CAAwB5B,OAAOlC,GAAP,EAAxB,EACCzR,IADD,CACM,UAAUwjB,QAAV,EAAoB;;AAEtB,oBAAIA,SAASvtB,MAAb,EAAqB;AACjB;AACAwf,4BAAQ3Y,MAAR,CAAe,sBAAsB9J,IAAIe,YAAJ,CAAiB04C,OAAvC,GAAiD,WAAhE;;AAEAr2C,sBAAE8G,IAAF,CAAOsmB,QAAP,EAAiB,UAAUrmB,KAAV,EAAiBy+C,IAAjB,EAAuB;AACpCnmC,gCAAQ3Y,MAAR,CAAe,mBAAmB8+C,KAAKviD,EAAxB,GAA6B,GAA7B,GAAmCuiD,KAAKnnD,IAAxC,GAA+C,WAA9D;AACH,qBAFD;;AAIA;AACAghB,4BAAQm3B,UAAR,CAAmB,UAAnB;AACH;AACJ,aAdD;AAeH;;AAED,eAAO;AACHl4B,oBAAQA,MADL;AAEHkwB,kBAAMA,IAFH;AAGHrwB,yBAAaA;AAHV,SAAP;AAKH,KAzED;AA0EH,CA5ED;;;ACAA,CAAC,YAAY;AACT;;AACAvhB,QAAIyoD,qCAAJ,GAA4C,YAAY;;AAEpD;AACA,YAAI5R,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;AACA,YAAI+Z,aAAa/d,IAAIgE,OAAJ,CAAY,YAAZ,CAAjB;AACA,YAAI+7C,4BAA4B//C,IAAIgE,OAAJ,CAAY,sCAAZ,CAAhC;AACA,YAAI8tC,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;AACA,YAAIid,qBAAqBjhB,IAAIgE,OAAJ,CAAY,qBAAZ,CAAzB;AACA,YAAI25C,cAAc39C,IAAIgE,OAAJ,CAAY,oBAAZ,CAAlB;AACA,YAAIkH,QAAQlL,IAAIgE,OAAJ,CAAY,OAAZ,CAAZ;AACA,YAAI6pC,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACA,YAAIlE,MAAM,mCAAV;AACA,YAAIpE,SAAS,EAAEskD,UAAU,CAAZ,EAAeC,WAAW,CAA1B,EAAb;;AAEA;AACA,YAAIC,oBAAoB5lD,EAAE,qCAAF,CAAxB;AACA,YAAI6lD,gCAAgC7lD,EAAE,mCAAF,CAApC;;AAEA;AACA,YAAIi4C,eAAej4C,EAAE,sBAAF,CAAnB;;AAEA;AACA,YAAI8lD,YAAY9lD,EAAE,yBAAF,CAAhB;AACA,YAAI+lD,cAAc/lD,EAAE,2BAAF,CAAlB;AACA,YAAIgmD,sBAAsBhmD,EAAE,2CAAF,CAA1B;;AAEA;AACA,YAAI83C,cAAc93C,EAAE,qBAAF,CAAlB;;AAEA;AACA,YAAI8vC,cAAc9vC,EAAE,uCAAF,CAAlB;;AAEA;;AAEA,iBAASwuC,IAAT,GAAgB;;AAEZ;AACAxuC,cAAE,aAAF,EAAiBwa,UAAjB,CAA4B;AACxBg+B,2BAAW,OADa;AAExBC,wBAAQ;AAFgB,aAA5B;;AAKAR,yBAAatH,KAAb,CAAmB,KAAnB;AACAsH,yBAAa93C,EAAb,CAAgB,kBAAhB,EAAoCy4C,yBAApC;AACAX,yBAAa93C,EAAb,CAAgB,oBAAhB,EAAsCy4C,yBAAtC;AACAkN,sBAAU3lD,EAAV,CAAa,OAAb,EAAsB8lD,YAAtB;AACAF,wBAAY5lD,EAAZ,CAAe,OAAf,EAAwB+lD,cAAxB;AACH;;AAED,iBAAS7N,YAAT,CAAsB/5B,MAAtB,EAA8B6nC,SAA9B,EAAyC;;AAErC,gBAAIA,SAAJ,EAAe;AACXN,8CAA8B9M,QAA9B,CAAuC,IAAvC,EAA6CnyC,MAA7C;AACH;;AAEDkpC,wBAAYz0B,GAAZ,CAAgBiD,OAAOgnC,IAAvB;;AAEA;AACA7R,uBAAWxvB,IAAX,CAAgBze,MAAMie,WAAWC,WAAX,CAAuBpF,MAAvB,CAAtB,EAAsDsnC,iBAAtD,EAAyE,YAAY;;AAEjF;AACAA,kCAAkBj/C,IAAlB,CAAuB,gBAAvB,EAAyCiqC,UAAzC;AACA;AACAgV,kCAAkBj/C,IAAlB,CAAuB,gBAAvB,EAAyCgqC,KAAzC,CAA+CsH,aAAapH,SAAb,EAA/C;AACA;AACAgV,8CAA8Bn/C,MAA9B,CAAqCk/C,kBAAkB7M,QAAlB,CAA2B,IAA3B,CAArC;AACA;AACA,oBAAImB,cAAc0L,kBAAkB7M,QAAlB,CAA2B,OAA3B,EAAoC19B,GAApC,EAAlB;AACA;AACA,oBAAI6+B,YAAYx1B,gBAAZ,EAAJ,EAAoC;AAChCshC,wCAAoBxgC,IAApB;AACH,iBAFD,MAEO;AACHwgC,wCAAoBvgC,IAApB;AACH;AACD;AACAmgC,kCAAkB7M,QAAlB,CAA2B,OAA3B,EAAoCnyC,MAApC;AACAg/C,kCAAkB7M,QAAlB,CAA2B,IAA3B,EAAiCnyC,MAAjC;AACA;AACAkpC,4BAAYz0B,GAAZ,CAAgB7Z,SAASsuC,YAAYz0B,GAAZ,EAAT,IAA8B,CAA9C;AACA;AACA2qC,oCAAoBtY,GAApB,GAA0BvtC,EAA1B,CAA6B,OAA7B,EAAsCi7C,gBAAtC;AACA;AACAiI,4BAAYx9B,iBAAZ,CAA8BggC,8BAA8Bl/C,IAA9B,CAAmC,gBAAnC,CAA9B;AACA;AACAq/C,oCAAoBI,MAApB,CAA2B,OAA3B;;AAEAP,8CAA8Bl/C,IAA9B,CAAmC,kBAAnC,EAAuD+mC,GAAvD,GAA6DvtC,EAA7D,CAAgE,OAAhE,EAAyEkmD,qBAAzE;AACAR,8CAA8Bl/C,IAA9B,CAAmC,gBAAnC,EAAqD+mC,GAArD,GAA2DvtC,EAA3D,CAA8D,OAA9D,EAAuEkmD,qBAAvE;;AAEAC;AACH,aAhCD;AAiCH;;AAED,iBAASA,yBAAT,GAAqC;AACjCtmD,cAAE8G,IAAF,CAAO++C,8BAA8Bl/C,IAA9B,CAAmC,IAAnC,CAAP,EAAiD,UAAUI,KAAV,EAAiB9F,IAAjB,EAAuB;;AAEpE,oBAAIslD,mBAAmBvmD,EAAEiB,IAAF,EAAQ0F,IAAR,CAAa,uBAAb,CAAvB;AACA4/C,iCAAiB7Y,GAAjB,CAAqB,OAArB;AACA6Y,iCAAiBpmD,EAAjB,CAAoB,OAApB,EAA6B65C,SAA7B;;AAEA,oBAAIwM,oBAAoBxmD,EAAEiB,IAAF,EAAQ0F,IAAR,CAAa,yBAAb,CAAxB;AACA6/C,kCAAkB9Y,GAAlB,CAAsB,OAAtB;AACA8Y,kCAAkBrmD,EAAlB,CAAqB,OAArB,EAA8B85C,aAA9B;AACH,aATD;AAUH;;AAED;;AAEA;AACA,iBAASrB,yBAAT,GAAqC;AACjC54C,cAAE8G,IAAF,CAAO++C,8BAA8Bl/C,IAA9B,CAAmC,gBAAnC,CAAP,EAA6D,UAAUI,KAAV,EAAiB4pC,KAAjB,EAAwB;AACjF3wC,kBAAE2wC,KAAF,EAASA,KAAT,CAAesH,aAAapH,SAAb,EAAf;AACH,aAFD;AAGH;;AAED,iBAASwV,qBAAT,CAA+BroD,KAA/B,EAAsC;AAClC,gBAAIqX,SAASrV,EAAEhC,MAAMyoD,aAAR,CAAb;AACA,gBAAI,CAAC,CAACpxC,OAAOgG,GAAP,GAAaqrC,IAAb,EAAN,EAA2B;AACvBrxC,uBAAOpM,WAAP,CAAmB,+BAAnB;AACH;AACJ;;AAED;AACA,YAAIgxC,gBAAgB,SAAhBA,aAAgB,CAAUlhC,CAAV,EAAa;AAC7B,gBAAIqE,YAAYpd,EAAE,IAAF,EAAQhB,IAAR,CAAa,IAAb,CAAhB;AACA,gBAAI2yB,cAAc3xB,EAAE,IAAF,EAAQhB,IAAR,CAAa,cAAb,CAAlB;AACA,gBAAI2nD,gBAAgB3mD,EAAE,IAAF,EAAQhB,IAAR,CAAa,gBAAb,CAApB;;AAEA,qBAAS4nD,cAAT,CAAwB3jD,EAAxB,EAA4B;;AAExB,oBAAI4jD,gBAAgBhB,8BAA8Bl/C,IAA9B,CAAmC,gBAAgB1D,EAAhB,GAAqB,GAAxD,CAApB;;AAEAu0C,kCAAkBn3B,cAAlB,CAAiCpd,EAAjC,EAAqCuI,IAArC,CAA0C,UAAUxM,IAAV,EAAgB;AACtD6nD,kCAAcC,WAAd,CAA0B9nD,IAA1B;AACAsnD;;AAEA,wBAAIS,eAAelB,8BAA8Bl/C,IAA9B,CAAmC,gBAAgB1D,EAAhB,GAAqB,GAAxD,CAAnB;AACA,wBAAI+jD,SAASD,aAAapgD,IAAb,CAAkB,gBAAlB,CAAb;AACAqgD,2BAAOpW,UAAP;AACAoW,2BAAOrW,KAAP,CAAasH,aAAapH,SAAb,EAAb;AACH,iBARD;AASH;;AAEDj0C,gBAAIqqD,sBAAJ,GAA6BzY,IAA7B,CAAkCpxB,SAAlC,EAA6CuU,WAA7C,EAA0Dg1B,aAA1D,EAAyEC,cAAzE;AACH,SArBD;;AAuBA,iBAAS5M,SAAT,GAAqB;;AAEjB,gBAAI58B,YAAYpd,EAAE,IAAF,EAAQhB,IAAR,CAAa,IAAb,CAAhB;;AAEA;AACAu0C,4BAAgBt1B,SAAhB,CAA0Bb,SAA1B,EAAqCxT,IAArC,CAA0C,UAAUvI,KAAV,EAAiB;;AAEvD,oBAAIo5C,eAAez6C,EAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCoa,MAApC,CAA2CvZ,MAA9D;;AAEA,qBAAK,IAAIkN,IAAI,CAAb,EAAgBA,IAAI0tC,YAApB,EAAkC1tC,GAAlC,EAAuC;AACnC/M,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCyY,WAApC,CAAgD,CAAhD;AACH;;AAGDzX,kBAAE8G,IAAF,CAAOzF,KAAP,EAAc,UAAU0F,KAAV,EAAiBQ,IAAjB,EAAuB;;AAEjC,wBAAImzC,MAAM16C,EAAE,SAAF,EAAaiX,IAAb,CAAkB,KAAlB,EAAyB1P,KAAK8qB,IAA9B,CAAV;AACA,wBAAIsoB,WAAW36C,EAAE,uBAAF,CAAf;AACA26C,6BAASj0C,MAAT,CAAgBg0C,GAAhB;AACA;AACA16C,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCmY,QAApC,CAA6CwjC,QAA7C;AACH,iBAPD;;AASA;AACA7C,4BAAYlnC,KAAZ;;AAEAmxB,2BAAW,YAAY;;AAEnB;AACA/hC,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCsgC,MAApC;;AAEA;AACAt/B,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoC47C,QAApC,CAA6C,CAA7C;AACH,iBAPD,EAOG,IAPH;AAQH,aA7BD;AA8BH;AACD;;AAEA;AACA,iBAASqL,YAAT,GAAwB;AACpB,gBAAIiB,mBAAmBhvB,YAAY92B,OAAOskD,QAAnB,CAAvB;;AAEA,gBAAI,CAACwB,iBAAiBrnD,MAAtB,EAA8B;AAC1B8mB,mCAAmBpD,SAAnB,CAA6B3mB,IAAIe,YAAJ,CAAiBwpD,8BAA9C;AACA;AACH;;AAED,gBAAIC,2BAA2BC,EAAEC,IAAF,CAAOJ,gBAAP,EAAyB,UAAU3+C,OAAV,EAAmB;AACvE,uBAAO,CAACA,QAAQg/C,MAAhB;AACH,aAF8B,CAA/B;;AAIA,gBAAIH,wBAAJ,EAA8B;AAC1BxqD,oBAAI4qD,yBAAJ,GAAgChZ,IAAhC,CAAqCiZ,UAArC,EAAiDC,gBAAjD;AACA9qD,oBAAI4qD,yBAAJ,GAAgChiC,IAAhC;AACA;AACH;;AAED5U,kBAAMe,OAAN,CAAc;AACVjB,yBAAS9T,IAAIe,YAAJ,CAAiBgqD,oBADhB;AAEVh3C,uBAAO/T,IAAIe,YAAJ,CAAiBiqD,0BAFd;AAGVj2C,yBAASk2C;AAHC,aAAd;AAKH;;AAED,iBAASA,2BAAT,GAAuC;AACnCC,4BAAgB5vB,YAAY92B,OAAOskD,QAAnB,CAAhB,EAA8CtkD,OAAOskD,QAArD;AACH;;AAED;AACA,iBAASQ,cAAT,GAA0B;AACtB,gBAAI6B,qBAAqB7vB,YAAY92B,OAAOukD,SAAnB,CAAzB;;AAEA,gBAAI,CAACoC,mBAAmBloD,MAAxB,EAAgC;AAC5B8mB,mCAAmBpD,SAAnB,CAA6B3mB,IAAIe,YAAJ,CAAiBm9C,gCAA9C;AACA;AACH;;AAEDlqC,kBAAMe,OAAN,CAAc;AACVjB,yBAAS9T,IAAIe,YAAJ,CAAiBqqD,sBADhB;AAEVr3C,uBAAO/T,IAAIe,YAAJ,CAAiBsqD,4BAFd;AAGVt2C,yBAASu2C;AAHC,aAAd;AAKH;;AAED,iBAASA,6BAAT,GAAyC;AACrCJ,4BAAgB5vB,YAAY92B,OAAOukD,SAAnB,CAAhB,EAA+CvkD,OAAOukD,SAAtD;AACH;;AAED;AACA,iBAASvK,gBAAT,GAA4B;AACxB4K,gCAAoBI,MAApB,CAA2B,SAA3B;AACA/N,yBAAaz7C,IAAIuoD,uCAAJ,GAA8ChnC,WAA9C,CAA0D2xB,YAAYz0B,GAAZ,EAA1D,CAAb;AACH;;AAED;;AAEA;AACA,iBAAS6c,WAAT,CAAqBijB,QAArB,EAA+B;AAC3B,gBAAIp6B,WAAW,EAAf;AACA/gB,cAAE8G,IAAF,CAAO++C,8BAA8Bl/C,IAA9B,CAAmC,uBAAnC,CAAP,EAAoE,UAAUI,KAAV,EAAiB4pC,KAAjB,EAAwB;AACxF,oBAAI2J,cAAct6C,EAAE2wC,KAAF,EAAS4J,OAAT,CAAiB,IAAjB,CAAlB;AACAx5B,yBAAS1Q,IAAT,CAAc;AACVpN,wBAAIq3C,YAAYt7C,IAAZ,CAAiB,IAAjB,CADM;AAEVuoD,4BAAQjN,YAAY3zC,IAAZ,CAAiB,kBAAjB,EAAqC0U,GAArC,EAFE;AAGV8/B,8BAAUA;AAHA,iBAAd;AAKH,aAPD;;AASA,mBAAOp6B,QAAP;AACH;;AAED;AACA,iBAAS+mC,eAAT,CAAyB/mC,QAAzB,EAAmConC,QAAnC,EAA6C;AACzC3Q,8BAAkB12B,mBAAlB,CAAsCC,QAAtC,EACCnX,IADD,CACM,UAAUyC,MAAV,EAAkB;AACpBzP,oBAAIuoD,uCAAJ,GAA8C7mC,MAA9C;;AAEA,wBAAQ6pC,QAAR;AACI,yBAAK/mD,OAAOukD,SAAZ;AACIh/B,2CAAmBtD,WAAnB,CAA+BzmB,IAAIe,YAAJ,CAAiByqD,qBAAhD;AACA;AACJ,yBAAKhnD,OAAOskD,QAAZ;AACI/+B,2CAAmBtD,WAAnB,CAA+BzmB,IAAIe,YAAJ,CAAiB0qD,oBAAhD;AACA;AANR;AAQH,aAZD;AAaH;;AAED;AACA,iBAASZ,UAAT,CAAoBthD,OAApB,EAA6B;;AAEzB0/C,0CAA8Bl/C,IAA9B,CAAmC,kBAAnC,EAAuD2X,MAAvD,CAA8D,UAAUvX,KAAV,EAAiB;AAC3E,uBAAO,CAAC/G,EAAE,IAAF,EAAQqb,GAAR,GAAcqrC,IAAd,EAAR;AACH,aAFD,EAEG5/C,IAFH,CAEQ,UAAUC,KAAV,EAAiBuhD,QAAjB,EAA2B;AAC/BtoD,kBAAEsoD,QAAF,EAAYjtC,GAAZ,CAAgBlV,OAAhB;AACH,aAJD;;AAMA8/C;AACH;;AAED;AACA,iBAASyB,gBAAT,GAA4B;;AAExB7B,0CAA8Bl/C,IAA9B,CAAmC,kBAAnC,EAAuD2X,MAAvD,CAA8D,UAAUvX,KAAV,EAAiB;AAC3E,uBAAO,CAAC/G,EAAE,IAAF,EAAQqb,GAAR,GAAcqrC,IAAd,EAAR;AACH,aAFD,EAEG5/C,IAFH,CAEQ,UAAUC,KAAV,EAAiBuhD,QAAjB,EAA2B;AAC/B,oBAAI3N,WAAW36C,EAAEsoD,QAAF,EAAY/N,OAAZ,CAAoB,IAApB,CAAf;;AAEA,oBAAI,CAAC,CAACI,SAASh0C,IAAT,CAAc,uBAAd,EAAuC9G,MAA7C,EAAqD;AACjDG,sBAAEsoD,QAAF,EAAYp/C,QAAZ,CAAqB,+BAArB;AACH;AACJ,aARD;AASH;;AAED,eAAO;AACHslC,kBAAMA,IADH;AAEH6J,0BAAcA;AAFX,SAAP;AAIH,KAlTD;AAmTH,CArTD;;;ACAA,CAAC,YAAY;AACT;;AACAz7C,QAAI2rD,iCAAJ,GAAwC,YAAY;;AAEhD,iBAAS/Z,IAAT,GAAiB;AACb5xC,gBAAIuoD,uCAAJ,GAA8C3W,IAA9C;AACA5xC,gBAAIyoD,qCAAJ,GAA4C7W,IAA5C;AACA5xC,gBAAIuoD,uCAAJ,GAA8C7mC,MAA9C;AACH;;AAED,eAAO;AACHkwB,kBAAMA;AADH,SAAP;AAGH,KAXD;AAYH,CAdD;;;ACAA,CAAC,YAAY;AACT;;AACA5xC,QAAI4qD,yBAAJ,GAAgC,YAAY;;AAExC;AACA,YAAI7gC,qBAAqBjhB,IAAIgE,OAAJ,CAAY,qBAAZ,CAAzB;;AAEA;AACA,YAAI8+C,qBAAqBxoD,EAAE,2BAAF,CAAzB;AACA,YAAIyoD,gBAAgBzoD,EAAE,iBAAF,CAApB;AACA,YAAI0oD,sBAAsB1oD,EAAE,yBAAF,CAA1B;AACA,YAAI2oD,WAAW3oD,EAAE,qCAAF,CAAf;;AAEA;;AAEA,iBAASwuC,IAAT,CAAcoa,kBAAd,EAAkCC,cAAlC,EAAkD;AAC9CJ,0BAAcptC,GAAd,CAAkB,EAAlB;AACAqtC,gCAAoBhb,GAApB,GAA0BvtC,EAA1B,CAA6B,OAA7B,EAAsCsnD,UAAtC;AACAkB,qBAASjb,GAAT,GAAevtC,EAAf,CAAkB,OAAlB,EAA2BuR,MAA3B;AACAyP,iBAAKynC,kBAAL,GAA0BA,kBAA1B;AACAznC,iBAAK0nC,cAAL,GAAsBA,cAAtB;AACH;;AAED,iBAASrjC,IAAT,GAAgB;AACZgjC,+BAAmB53C,KAAnB;AACH;;AAED;;AAEA,iBAAS62C,UAAT,GAAsB;AAClB,gBAAI,CAACgB,cAAcptC,GAAd,EAAL,EAA0B;AACtBsL,mCAAmBpD,SAAnB,CAA6B3mB,IAAIe,YAAJ,CAAiBmrD,mBAA9C;AACA;AACH;;AAEDN,+BAAmB53C,KAAnB,CAAyB,MAAzB;;AAEA,gBAAI,CAAC,CAACuQ,KAAKynC,kBAAX,EAA+B;AAC3BznC,qBAAKynC,kBAAL,CAAwBH,cAAcptC,GAAd,EAAxB;AACH;AACJ;;AAED,iBAAS3J,MAAT,GAAkB;AACd82C,+BAAmB53C,KAAnB,CAAyB,MAAzB;;AAEA,gBAAI,CAAC,CAACuQ,KAAK0nC,cAAX,EAA2B;AACvB1nC,qBAAK0nC,cAAL;AACH;AACJ;;AAED,eAAO;AACHra,kBAAMA,IADH;AAEHhpB,kBAAMA;AAFH,SAAP;AAIH,KApDD;AAqDH,CAvDD;;;ACAA,CAAC,YAAY;AACT;;AACA5oB,QAAImsD,+BAAJ,GAAsC,YAAY;;AAE9C;AACA,YAAIzV,kBAAkB5tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACA;AACA,YAAI6T,SAASvd,EAAE,kCAAF,CAAb;AACA,YAAIqf,UAAUrf,EAAE,mCAAF,CAAd;AACA,YAAIiH,UAAUjH,EAAE,mCAAF,CAAd;;AAEA;AACA,YAAIolD,YAAYplD,EAAE,kCAAF,CAAhB;;AAEA,iBAASwuC,IAAT,GAAgB;AACZ4W,sBAAUjlD,EAAV,CAAa,OAAb,EAAsBme,MAAtB;AACAe,oBAAQpI,IAAR,CAAa,UAAb,EAAyB,IAAzB;AACA+9B;AACH;;AAED,iBAAS12B,MAAT,CAAgBwxB,WAAhB,EAA6B;AACzBlzC,gBAAIosD,6BAAJ,GAAoC3Q,YAApC,CAAiDl6B,YAAY,CAAZ,CAAjD,EAAiE,IAAjE;AACH;;AAED,iBAASA,WAAT,CAAqB2xB,WAArB,EAAkC;AAC9B,mBAAO;AACHziB,2BAAWpmB,QAAQoU,GAAR,EADR;AAEHiN,0BAAU/K,OAAOlC,GAAP,EAFP;AAGHiS,2BAAWjO,QAAQhE,GAAR,EAHR;AAIHiqC,sBAAMxV;AAJH,aAAP;AAMH;;AAED,iBAASkF,gBAAT,GAA4B;AACxBz3B,mBAAOlC,GAAP,CAAWrb,EAAE,sCAAF,EAA0Cqb,GAA1C,EAAX;AACAkC,mBAAOpd,EAAP,CAAU,QAAV,EAAoBolD,mBAApB;AACH;;AAED,iBAASA,mBAAT,GAA+B;AAC3BlmC,oBAAQ8vB,KAAR;;AAEA,gBAAI,CAAC5xB,OAAOlC,GAAP,EAAL,EAAmB;AACfgE,wBAAQpI,IAAR,CAAa,UAAb,EAAyB,UAAzB;AACA;AACH;;AAEDi/B;AACH;;AAED,iBAASA,wBAAT,GAAoC;AAChC;AACA5C,4BAAgBn0B,OAAhB,CAAwB5B,OAAOlC,GAAP,EAAxB,EACCzR,IADD,CACM,UAAUwjB,QAAV,EAAoB;;AAEtB,oBAAIA,SAASvtB,MAAb,EAAqB;AACjB;AACAwf,4BAAQ3Y,MAAR,CAAe,sBAAsB9J,IAAIe,YAAJ,CAAiB04C,OAAvC,GAAiD,WAAhE;;AAEAr2C,sBAAE8G,IAAF,CAAOsmB,QAAP,EAAiB,UAAUrmB,KAAV,EAAiBy+C,IAAjB,EAAuB;AACpCnmC,gCAAQ3Y,MAAR,CAAe,mBAAmB8+C,KAAKviD,EAAxB,GAA6B,GAA7B,GAAmCuiD,KAAKnnD,IAAxC,GAA+C,WAA9D;AACH,qBAFD;;AAIA;AACAghB,4BAAQm3B,UAAR,CAAmB,UAAnB;AACH;AACJ,aAdD;AAeH;;AAED,eAAO;AACHl4B,oBAAQA,MADL;AAEHkwB,kBAAMA,IAFH;AAGHrwB,yBAAaA;AAHV,SAAP;AAKH,KAzED;AA0EH,CA5ED;;;ACAA,CAAC,YAAY;AACT;;AACAvhB,QAAIosD,6BAAJ,GAAoC,YAAY;;AAE5C;AACA,YAAIvV,aAAa/tC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAjB;AACA,YAAI+Z,aAAa/d,IAAIgE,OAAJ,CAAY,YAAZ,CAAjB;AACA,YAAI8tC,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;AACA,YAAIid,qBAAqBjhB,IAAIgE,OAAJ,CAAY,qBAAZ,CAAzB;AACA,YAAI25C,cAAc39C,IAAIgE,OAAJ,CAAY,oBAAZ,CAAlB;AACA,YAAIkH,QAAQlL,IAAIgE,OAAJ,CAAY,OAAZ,CAAZ;AACA,YAAI6pC,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACA,YAAIlE,MAAM,qCAAV;AACA,YAAIpE,SAAS,EAAEskD,UAAU,CAAZ,EAAeC,WAAW,CAA1B,EAAb;;AAEA;AACA,YAAIC,oBAAoB5lD,EAAE,4BAAF,CAAxB;AACA,YAAIipD,wBAAwBjpD,EAAE,0BAAF,CAA5B;;AAEA;AACA,YAAIgmD,sBAAsBhmD,EAAE,kCAAF,CAA1B;;AAEA;AACA,YAAI83C,cAAc93C,EAAE,qBAAF,CAAlB;;AAEA;AACA,YAAI8vC,cAAc9vC,EAAE,8BAAF,CAAlB;;AAEA;;AAEA,iBAASwuC,IAAT,GAAgB;;AAEZ;AACAxuC,cAAE,aAAF,EAAiBwa,UAAjB,CAA4B;AACxBg+B,2BAAW,OADa;AAExBC,wBAAQ;AAFgB,aAA5B;AAIH;;AAED,iBAASJ,YAAT,CAAsB/5B,MAAtB,EAA8B6nC,SAA9B,EAAyC;;AAErC,gBAAIA,SAAJ,EAAe;AACX8C,sCAAsBlQ,QAAtB,CAA+B,IAA/B,EAAqCnyC,MAArC;AACH;;AAEDkpC,wBAAYz0B,GAAZ,CAAgBiD,OAAOgnC,IAAvB;;AAEA;AACA7R,uBAAWxvB,IAAX,CAAgBze,MAAMie,WAAWC,WAAX,CAAuBpF,MAAvB,CAAtB,EAAsDsnC,iBAAtD,EAAyE,YAAY;;AAEjF;AACAqD,sCAAsBviD,MAAtB,CAA6Bk/C,kBAAkB7M,QAAlB,CAA2B,IAA3B,CAA7B;AACA;AACA,oBAAImB,cAAc0L,kBAAkB7M,QAAlB,CAA2B,OAA3B,EAAoC19B,GAApC,EAAlB;AACA;AACA,oBAAI6+B,YAAYx1B,gBAAZ,EAAJ,EAAoC;AAChCshC,wCAAoBxgC,IAApB;AACH,iBAFD,MAEO;AACHwgC,wCAAoBvgC,IAApB;AACH;AACD;AACAmgC,kCAAkB7M,QAAlB,CAA2B,OAA3B,EAAoCnyC,MAApC;AACAg/C,kCAAkB7M,QAAlB,CAA2B,IAA3B,EAAiCnyC,MAAjC;AACA;AACAkpC,4BAAYz0B,GAAZ,CAAgB7Z,SAASsuC,YAAYz0B,GAAZ,EAAT,IAA8B,CAA9C;AACA;AACA2qC,oCAAoBtY,GAApB,GAA0BvtC,EAA1B,CAA6B,OAA7B,EAAsCi7C,gBAAtC;AACA;AACAiI,4BAAYx9B,iBAAZ,CAA8BojC,sBAAsBtiD,IAAtB,CAA2B,gBAA3B,CAA9B;AACA;AACAq/C,oCAAoBI,MAApB,CAA2B,OAA3B;;AAEAE;AACH,aAzBD;AA0BH;;AAED,iBAASA,yBAAT,GAAqC;AACjCtmD,cAAE8G,IAAF,CAAOmiD,sBAAsBtiD,IAAtB,CAA2B,IAA3B,CAAP,EAAyC,UAAUI,KAAV,EAAiB9F,IAAjB,EAAuB;;AAE5D,oBAAIslD,mBAAmBvmD,EAAEiB,IAAF,EAAQ0F,IAAR,CAAa,uBAAb,CAAvB;AACA4/C,iCAAiB7Y,GAAjB,CAAqB,OAArB;AACA6Y,iCAAiBpmD,EAAjB,CAAoB,OAApB,EAA6B65C,SAA7B;;AAEA,oBAAIwM,oBAAoBxmD,EAAEiB,IAAF,EAAQ0F,IAAR,CAAa,yBAAb,CAAxB;AACA6/C,kCAAkB9Y,GAAlB,CAAsB,OAAtB;AACA8Y,kCAAkBrmD,EAAlB,CAAqB,OAArB,EAA8B85C,aAA9B;AACH,aATD;AAUH;;AAED;;AAEA;AACA,YAAIA,gBAAgB,SAAhBA,aAAgB,CAAUlhC,CAAV,EAAa;AAC7B,gBAAIqE,YAAYpd,EAAE,IAAF,EAAQhB,IAAR,CAAa,IAAb,CAAhB;AACA,gBAAI2yB,cAAc3xB,EAAE,IAAF,EAAQhB,IAAR,CAAa,cAAb,CAAlB;AACA,gBAAI2nD,gBAAgB3mD,EAAE,IAAF,EAAQhB,IAAR,CAAa,gBAAb,CAApB;;AAEApC,gBAAIqqD,sBAAJ,GAA6BzY,IAA7B,CAAkCpxB,SAAlC,EAA6CuU,WAA7C,EAA0Dg1B,aAA1D;AACH,SAND;;AAQA,iBAAS3M,SAAT,GAAqB;;AAEjB,gBAAI58B,YAAYpd,EAAE,IAAF,EAAQhB,IAAR,CAAa,IAAb,CAAhB;;AAEA;AACAu0C,4BAAgBt1B,SAAhB,CAA0Bb,SAA1B,EAAqCxT,IAArC,CAA0C,UAAUvI,KAAV,EAAiB;;AAEvD,oBAAIo5C,eAAez6C,EAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCoa,MAApC,CAA2CvZ,MAA9D;;AAEA,qBAAK,IAAIkN,IAAI,CAAb,EAAgBA,IAAI0tC,YAApB,EAAkC1tC,GAAlC,EAAuC;AACnC/M,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCyY,WAApC,CAAgD,CAAhD;AACH;;AAGDzX,kBAAE8G,IAAF,CAAOzF,KAAP,EAAc,UAAU0F,KAAV,EAAiBQ,IAAjB,EAAuB;;AAEjC,wBAAImzC,MAAM16C,EAAE,SAAF,EAAaiX,IAAb,CAAkB,KAAlB,EAAyB1P,KAAK8qB,IAA9B,CAAV;AACA,wBAAIsoB,WAAW36C,EAAE,uBAAF,CAAf;AACA26C,6BAASj0C,MAAT,CAAgBg0C,GAAhB;AACA;AACA16C,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCmY,QAApC,CAA6CwjC,QAA7C;AACH,iBAPD;;AASA;AACA7C,4BAAYlnC,KAAZ;;AAEAmxB,2BAAW,YAAY;;AAEnB;AACA/hC,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoCsgC,MAApC;;AAEA;AACAt/B,sBAAE,aAAF,EAAiBhB,IAAjB,CAAsB,YAAtB,EAAoC47C,QAApC,CAA6C,CAA7C;AACH,iBAPD,EAOG,IAPH;AAQH,aA7BD;AA8BH;AACD;;AAEA;AACA,iBAASQ,gBAAT,GAA4B;AACxB4K,gCAAoBI,MAApB,CAA2B,SAA3B;AACA/N,yBAAaz7C,IAAImsD,+BAAJ,GAAsC5qC,WAAtC,CAAkD2xB,YAAYz0B,GAAZ,EAAlD,CAAb;AACH;;AAED;;AAEA;AACA,iBAAS6tC,oBAAT,CAA8BnoC,QAA9B,EAAwC;AACpC,gBAAIooC,0BAA0B9B,EAAEC,IAAF,CAAOvmC,QAAP,EAAiB,UAAUxY,OAAV,EAAmB;AAC9D,uBAAO,CAACA,QAAQ2yC,UAAhB;AACH,aAF6B,CAA9B;;AAIA,gBAAI,CAACiO,uBAAL,EAA8B;AAC1B,uBAAO,KAAP;AACH;;AAEDxiC,+BAAmBpD,SAAnB,CAA6B3mB,IAAIe,YAAJ,CAAiByrD,eAA9C;;AAEAH,kCAAsBtiD,IAAtB,CAA2B,gBAA3B,EAA6C2X,MAA7C,CAAoD,UAAUvX,KAAV,EAAiB;AACjE,uBAAO,CAAC/G,EAAE,IAAF,EAAQqb,GAAR,GAAcqrC,IAAd,EAAR;AACH,aAFD,EAEG5/C,IAFH,CAEQ,UAAUC,KAAV,EAAiB4yB,KAAjB,EAAwB;AAC5B,oBAAIghB,WAAW36C,EAAE25B,KAAF,EAAS4gB,OAAT,CAAiB,IAAjB,CAAf;;AAEA,oBAAI,CAAC,CAACI,SAASh0C,IAAT,CAAc,uBAAd,EAAuC9G,MAA7C,EAAqD;AACjDG,sBAAE25B,KAAF,EAASzwB,QAAT,CAAkB,+BAAlB;AACH;AACJ,aARD;;AAUA,mBAAO,IAAP;AACH;;AAED,eAAO;AACHslC,kBAAMA,IADH;AAEH6J,0BAAcA;AAFX,SAAP;AAIH,KA/KD;AAgLH,CAlLD;;;ACAA,CAAC,YAAY;AACT;;AACAz7C,QAAIysD,yBAAJ,GAAgC,YAAY;;AAExC,iBAAS7a,IAAT,GAAiB;AACb5xC,gBAAImsD,+BAAJ,GAAsCva,IAAtC;AACA5xC,gBAAIosD,6BAAJ,GAAoCxa,IAApC;AACA5xC,gBAAImsD,+BAAJ,GAAsCzqC,MAAtC;AACH;;AAED,eAAO;AACHkwB,kBAAMA;AADH,SAAP;AAGH,KAXD;AAYH,CAdD;;;ACAA,CAAC,YAAY;AACT;;AACA5xC,QAAI24C,wBAAJ,GAA+B,YAAY;;AAEvC,YAAIp0B,OAAO,IAAX;;AAEA,iBAAS7L,QAAT,CAAkBgJ,MAAlB,EAA0B;;AAEtB,gBAAIgrC,cAAc7kC,OAAO6G,MAAP,CAAc,uFAC9B,6GAD8B,GAE9B,oIAF8B,GAG9B,sHAHgB,EAKlBrZ,mBAAmBqM,OAAOpI,IAA1B,CALkB,EAKejE,mBAAmBqM,OAAOA,MAA1B,CALf,EAKkDrM,mBAAmBqM,OAAO+O,SAA1B,CALlD,EAMlBpb,mBAAmBqM,OAAOgK,QAA1B,CANkB,EAMmBrW,mBAAmBqM,OAAOgP,SAA1B,CANnB,EAMyDrb,mBAAmBqM,OAAOvc,SAA1B,CANzD,EAM+FkQ,mBAAmBqM,OAAOld,MAA1B,CAN/F,EAOlBkd,OAAOS,aAPW,EAOIT,OAAOiP,OAPX,EAOoBjP,OAAOmP,SAP3B,EAOsCnP,OAAOoP,QAP7C,EAOuDpP,OAAOqP,KAP9D,EAOqErP,OAAOuP,OAP5E,EAOqFvP,OAAOwP,MAP5F,EAOoG7b,mBAAmBqM,OAAOkV,MAA1B,CAPpG,EAQlBlV,OAAOsxB,OARW,EAQFtxB,OAAO44B,QARL,EAQe54B,OAAO5c,UARtB,EAQkC4c,OAAOs4B,cARzC,EAQyDt4B,OAAOu4B,gBARhE,EAQkFv4B,OAAOw4B,eARzF,EASlBx4B,OAAOy4B,YATW,EASGz4B,OAAO04B,cATV,EAS0B14B,OAAO24B,aATjC,EASgD34B,OAAO64B,gBATvD,EASyEllC,mBAAmBqM,OAAO84B,cAA1B,CATzE,EASoH94B,OAAOk3B,WAT3H,CAAlB;;AAWA/1C,qBAASyN,IAAT,GAAgBo8C,WAAhB;AACH;;AAED,eAAO;AACHh0C,sBAAUA;AADP,SAAP;AAGH,KAvBD;AAwBH,CA1BD;ACAA;;AACA,CAAC,YAAY;AACT;AACA1Y,QAAI2sD,6BAAJ,GAAoC,YAAY;AAC5C,YAAIpoC,OAAO,IAAX;;AAEA,YAAI1D,kBAAkB/X,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA;AACAyX,aAAKtD,IAAL,GAAY,IAAIjhB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAO,EADkB;AAEzBqlB,sBAAU;AAFe,SAAjB,CAAZ;;AAKA;AACAhG,aAAKqoC,MAAL,GAAc,YAAY;AACtB/rC,4BAAgBG,cAAhB,CAA+BuD,KAAKtD,IAAL,CAAU/b,KAAV,EAA/B,EACK8H,IADL,CACU,YAAY;AACdnK,yBAASyN,IAAT,GAAgB,GAAhB;AACH,aAHL;AAIH,SALD;;AAOA;AACAiU,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,CAAC,CAACjrB,KAAKtD,IAAL,CAAU/b,KAAV,EAAT;AACH,SAFc,EAEZqf,IAFY,CAAf;AAGH,KAvBD;AAwBH,CA1BD;ACDA;;AACA,CAAC,YAAY;AACT;AACAvkB,QAAI6sD,iBAAJ,GAAwB,YAAY;AAChC,YAAItoC,OAAO,IAAX;;AAEA,YAAI1D,kBAAkB/X,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAIggD,kBAAkBhkD,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAGA;AACA;AACA;AACAyX,aAAKwoC,gBAAL,GAAwBxkC,GAAGkjB,UAAH,CAAc,KAAd,CAAxB;;AAEA;AACAlnB,aAAKwgB,OAAL,GAAe,IAAI/kC,IAAIgvC,QAAR,CAAiB;AAC5B9pC,mBAAO,EADqB;AAE5BqlB,sBAAU;AAFkB,SAAjB,CAAf;;AAKA;AACAhG,aAAKnE,IAAL,GAAY,IAAIpgB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAO,EADkB;AAEzBqlB,sBAAU;AAFe,SAAjB,CAAZ;;AAKAhG,aAAKyoC,KAAL,GAAa,IAAIhtD,IAAIgvC,QAAR,CAAiB;AAC1B9pC,mBAAO,EADmB;AAE1BqlB,sBAAU;AAFgB,SAAjB,CAAb;;AAKAnnB,UAAE,eAAF,EAAmBG,EAAnB,CAAsB,kBAAtB,EAA0C,YAAY;AAClDghB,iBAAKwoC,gBAAL,CAAsB3pD,EAAE,eAAF,EAAmB6wC,SAAnB,EAAtB;AACH,SAFD;;AAIA7wC,UAAE,eAAF,EAAmBG,EAAnB,CAAsB,oBAAtB,EAA4C,YAAY;AACpDghB,iBAAKwoC,gBAAL,CAAsB3pD,EAAE,eAAF,EAAmB6wC,SAAnB,EAAtB;AACH,SAFD;;AAIA;AACA1vB,aAAKqtB,IAAL,GAAY,YAAY;AACpB;AACA/wB,4BAAgBC,YAAhB,CAA6B;AACzBikB,yBAASxgB,KAAKwgB,OAAL,CAAa7/B,KAAb,EADgB;AAEzBkb,sBAAMmE,KAAKnE,IAAL,CAAUlb,KAAV,EAFmB;AAGzB8nD,uBAAOzoC,KAAKyoC,KAAL,CAAW9nD,KAAX;AAHkB,aAA7B,EAIG8H,IAJH,CAIQ,UAAU5K,IAAV,EAAgB;AACpB;AACAgB,kBAAE,cAAF,EAAkBylB,IAAlB,CAAuB,MAAvB;AACAzlB,kBAAE,sBAAF,EAA0BwlB,IAA1B,CAA+B,MAA/B;AACH,aARD;AASH,SAXD;;AAaA;AACAxlB,UAAE,gBAAF,EAAoB6pD,KAApB,CAA0B,YAAY;AAClC;AACA,gBAAIra,UAAUxvC,EAAE,IAAF,CAAd;AACA,gBAAI8B,QAAQ0tC,QAAQn0B,GAAR,EAAZ;;AAEA;AACAm0B,oBAAQn0B,GAAR,CAAYvZ,MAAMgV,OAAN,CAAc,MAAd,EAAsB,GAAtB,CAAZ;AACH,SAPD;;AASAqK,aAAK2oC,WAAL,GAAmB3kC,GAAGinB,QAAH,CAAY,YAAY;AACvC,mBAAOjrB,KAAKwoC,gBAAL,MAA2B,CAAC,CAACxoC,KAAKnE,IAAL,CAAUlb,KAAV,EAA7B,IAAkD,CAAC,CAACqf,KAAKwgB,OAAL,CAAa7/B,KAAb,EAApD,IAA4ElF,IAAIwpB,SAAJ,CAAcjF,KAAKnE,IAAL,CAAUlb,KAAV,EAAd,CAA5E,IAAgH,CAAC,CAACqf,KAAKyoC,KAAL,CAAW9nD,KAAX,EAAzH;AACH,SAFkB,EAEhBqf,IAFgB,CAAnB;;AAKA;AACA;AACA;AACAA,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAO,EADkB;AAEzBqlB,sBAAU;AAFe,SAAjB,CAAZ;;AAKAhG,aAAKja,OAAL,GAAe,IAAItK,IAAIgvC,QAAR,CAAiB;AAC5B9pC,mBAAO,EADqB;AAE5BqlB,sBAAU;AAFkB,SAAjB,CAAf;;AAKAhG,aAAK7E,QAAL,GAAgB,IAAI1f,IAAIgvC,QAAR,CAAiB;AAC7B9pC,mBAAO,EADsB;AAE7BqlB,sBAAU;AAFmB,SAAjB,CAAhB;;AAKAhG,aAAK5E,QAAL,GAAgB,IAAI3f,IAAIgvC,QAAR,CAAiB;AAC7B9pC,mBAAO,EADsB;AAE7BqlB,sBAAU;AAFmB,SAAjB,CAAhB;;AAMAhG,aAAK4oC,WAAL,GAAmB,IAAIntD,IAAIgvC,QAAR,CAAiB;AAChC9pC,mBAAO,EADyB;AAEhCqlB,sBAAU;AAFsB,SAAjB,CAAnB;;AAKA;AACAhG,aAAK6oC,eAAL,GAAuB,IAAI7kC,GAAGkjB,UAAP,EAAvB;AACAlnB,aAAK0P,SAAL,GAAiB1L,GAAG0mB,eAAH,CAAmB,EAAnB,CAAjB;AACA6d,wBAAgB97C,MAAhB,GACKhE,IADL,CACU,UAAUrK,KAAV,EAAiB;AACnBS,cAAE8G,IAAF,CAAOvH,KAAP,EAAc,UAAUwN,CAAV,EAAa9L,IAAb,EAAmB;AAC7BkgB,qBAAK0P,SAAL,CAAexgB,IAAf,CAAoB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAApB;AACAke,qBAAK6oC,eAAL,CAAqB,GAArB;AACH,aAHD;AAIH,SANL;;AAQA;AACA7oC,aAAKrD,QAAL,GAAgB,YAAY;AACxB;AACAL,4BAAgBK,QAAhB,CAAyB;AACrB6jB,yBAASxgB,KAAKwgB,OAAL,CAAa7/B,KAAb,EADY;AAErBkb,sBAAMmE,KAAKnE,IAAL,CAAUlb,KAAV,EAFe;AAGrBzD,sBAAM8iB,KAAK9iB,IAAL,CAAUyD,KAAV,EAHe;AAIrBya,0BAAU4E,KAAK5E,QAAL,CAAcza,KAAd,EAJW;AAKrBoF,yBAASia,KAAKja,OAAL,CAAapF,KAAb,EALY;AAMrBlD,sBAAMuiB,KAAK7E,QAAL,CAAcxa,KAAd,EANe;AAOrBP,2BAAW4f,KAAK6oC,eAAL;AAPU,aAAzB,EAQGpgD,IARH,CAQQ,UAAU5K,IAAV,EAAgB;;AAEpB;AACApC,oBAAIymB,WAAJ,CAAgBzmB,IAAIe,YAAJ,CAAiBssD,oBAAjC;;AAEAloB,2BAAW,YAAY;AACnBtiC,6BAASyN,IAAT,GAAgB,iBAAhB;AACH,iBAFD,EAEG,IAFH;AAGH,aAhBD;AAiBH,SAnBD;;AAqBA;AACAiU,aAAK+oC,eAAL,GAAuB/kC,GAAGinB,QAAH,CAAY,YAAY;AAC3C,mBAAO,MAAMjrB,KAAKwgB,OAAL,CAAa7/B,KAAb,GAAqB6iB,WAArB,EAAb;AACH,SAFsB,EAEpBxD,IAFoB,CAAvB;;AAIA;AACAA,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,CAAC,CAACjrB,KAAK9iB,IAAL,CAAUyD,KAAV,EAAF,IAAuB,CAAC,CAACqf,KAAK7E,QAAL,CAAcxa,KAAd,EAAzB,IAAkD,CAAC,CAACqf,KAAKja,OAAL,CAAapF,KAAb,EAApD,IAA4E,CAAC,CAACqf,KAAK5E,QAAL,CAAcza,KAAd,EAArF;AACH,SAFc,EAEZqf,IAFY,CAAf;AAGH,KAzID;AA0IH,CA5ID;ACDA;;AACA,CAAC,YAAY;AACT;AACA;AACAvkB,QAAIutD,sBAAJ,GAA6B,YAAY;AACrC;AACA,YAAI1M,aAAaz9C,EAAE,cAAF,CAAjB;AACA,YAAI09C,WAAW19C,EAAE,YAAF,CAAf;AACA,YAAI29C,aAAa39C,EAAE,cAAF,CAAjB;AACA,YAAI49C,aAAa59C,EAAE,cAAF,CAAjB;;AAEA;AACA,YAAI89C,cAAc99C,EAAE,oBAAF,CAAlB;AACA,YAAI+9C,qBAAqB/9C,EAAE,kBAAF,CAAzB;AACA,YAAIg+C,aAAah+C,EAAE,kBAAF,CAAjB;AACA,YAAIi+C,kBAAkBj+C,EAAE,iBAAF,CAAtB;;AAEA;AACApD,YAAIusC,SAAJ,CAAc,OAAd;;AAEA;AACAvsC,YAAIwtD,UAAJ,GAAiB,UAAUnnD,EAAV,EAAc5E,IAAd,EAAoB;;AAEjCzB,gBAAIyoB,iBAAJ,CAAsBo4B,UAAtB,EAAkCC,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAIytD,mBAAR,CAA4BpnD,EAA5B,EAAgC5E,IAAhC,CAAjB,EAAwDo/C,WAAW,CAAX,CAAxD;;AAEA;AACAK,wBAAYroC,KAAZ,CAAkB,YAAY;AAC1B7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCD,UAAhC;AACH,aAFD;AAGH,SATD;;AAWA;AACA7gD,YAAI0tD,UAAJ,GAAiB,UAAUrnD,EAAV,EAAc5E,IAAd,EAAoB;AACjCzB,gBAAIyoB,iBAAJ,CAAsBs4B,UAAtB,EAAkCD,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAI2tD,mBAAR,CAA4BtnD,EAA5B,EAAgC5E,IAAhC,CAAjB,EAAwDs/C,WAAW,CAAX,CAAxD;;AAEA;AACAI,+BAAmBtoC,KAAnB,CAAyB,YAAY;AACjC7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCC,UAAhC;AACH,aAFD;AAGH,SARD;;AAUA;AACAK,mBAAWvoC,KAAX,CAAiB,YAAY;;AAEzB;AACA7Y,gBAAIyoB,iBAAJ,CAAsBu4B,UAAtB,EAAkCF,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAI4tD,mBAAR,EAAjB,EAAgD5M,WAAW,CAAX,CAAhD;;AAEA;AACAK,4BAAgBxoC,KAAhB,CAAsB,YAAY;AAC9B7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCE,UAAhC;AACH,aAFD;AAGH,SAVD;AAWH,KAnDD;AAoDA;AACH,CAxDD,EAwDGp+C,MAxDH,EAwDWS,QAxDX;ACDA;;AACA,CAAC,YAAY;AACT;AACArD,QAAI4tD,mBAAJ,GAA0B,UAAUnsD,IAAV,EAAgB;;AAEtC,YAAI8iB,OAAO,IAAX;;AAEA;AACAA,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ,EADU;AAEzB8oB,sBAAU,IAFe;AAGzB8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK9iB,IAAT,EAAe;AACX;AACA,wBAAIyD,QAAQqf,KAAK9iB,IAAL,CAAUyD,KAAV,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAXwB,SAAjB,CAAZ;;AAcA;AACAv9B,aAAKuG,IAAL,GAAY,YAAY;AACpB9qB,gBAAI0iB,YAAJ,GAAmBzR,MAAnB,CAA0B;AACtBxP,sBAAM8iB,KAAK9iB,IAAL,CAAUyD,KAAV;AADgB,aAA1B,EAGC8H,IAHD,CAGM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aALD;AAMH,SAPD;;AASA;AACA3G,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAOjrB,KAAK9iB,IAAL,CAAU8tC,OAAV,EAAP;AACH,SAFc,EAEZhrB,IAFY,CAAf;AAGH,KAjCD;AAkCH,CApCD,EAoCGvkB,GApCH;ACDA;;AACA,CAAC,YAAY;AACT;AACAA,QAAIytD,mBAAJ,GAA0B,UAAUpnD,EAAV,EAAc5E,IAAd,EAAoB;;AAE1C,YAAI8iB,OAAO,IAAX;;AAEA;AACAA,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ;AADU,SAAjB,CAAZ;;AAIA;AACA8iB,aAAKipC,UAAL,GAAkB,UAAUj1C,CAAV,EAAa;AAC3BvY,gBAAI0iB,YAAJ,GAAmB9U,MAAnB,CAA0B;AACtBvH,oBAAIke,KAAKle,EAAL;AADkB,aAA1B,EAGC2G,IAHD,CAGM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiB43B,mBAA7B;AACH,aALD;AAMH,SAPD;;AASA;AACApU,aAAKle,EAAL,GAAUkiB,GAAGkjB,UAAH,CAAcplC,EAAd,CAAV;AACH,KArBD;AAsBH,CAxBD;ACDA;;AACA,CAAC,YAAY;AACT;AACArG,QAAI2tD,mBAAJ,GAA0B,UAAUtnD,EAAV,EAAc5E,IAAd,EAAoB;;AAE1C,YAAI8iB,OAAO,IAAX;;AAEA;AACAA,aAAKle,EAAL,GAAUkiB,GAAGkjB,UAAH,CAAcplC,EAAd,CAAV;;AAEA;AACAke,aAAK9iB,IAAL,GAAY,IAAIzB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAOzD,QAAQ,EADU;AAEzB8oB,sBAAU,IAFe;AAGzB8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK9iB,IAAT,EAAe;AACX;AACA,wBAAIyD,QAAQqf,KAAK9iB,IAAL,CAAUyD,KAAV,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;AACJ;AACJ;AAXwB,SAAjB,CAAZ;;AAcA;AACAv9B,aAAKmpC,UAAL,GAAkB,UAAUn1C,CAAV,EAAa;AAC3BvY,gBAAI0iB,YAAJ,GAAmBtN,MAAnB,CAA0B;AACtB/O,oBAAIke,KAAKle,EAAL,EADkB;AAEtB5E,sBAAM8iB,KAAK9iB,IAAL,CAAUyD,KAAV;AAFgB,aAA1B,EAIC8H,IAJD,CAIM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAND;AAOH,SARD;;AAUA;AACA3G,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAOjrB,KAAK9iB,IAAL,CAAU8tC,OAAV,EAAP;AACH,SAFc,EAEZhrB,IAFY,CAAf;AAIH,KAtCD;AAuCH,CAzCD;ACDA;;AACA,CAAC,YAAY;;AAETvkB,QAAI6tD,gCAAJ,GAAuC,YAAY;;AAE/C,YAAItpC,OAAO,IAAX;;AAEA;AACAA,aAAKliB,KAAL,GAAakmB,GAAG0mB,eAAH,CAAmB,EAAnB,CAAb;;AAEAjvC,YAAI0iB,YAAJ,GAAmB1R,MAAnB,GAA4BhE,IAA5B,CAAiC,UAAU5K,IAAV,EAAgB;AAC7CgB,cAAE8G,IAAF,CAAO9H,KAAKqN,MAAZ,EAAoB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACnCkgB,qBAAKliB,KAAL,CAAWoR,IAAX,CAAgB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAhB;AACH,aAFD;AAGH,SAJD;;AAMAke,aAAKupC,YAAL,GAAoBvlC,GAAGkjB,UAAH,CAAc,EAAd,CAApB;;AAEA;AACAlnB,aAAK4R,QAAL,GAAgB5N,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;;AAEAjvC,YAAI+tD,eAAJ,GAAsB/8C,MAAtB,GAA+BhE,IAA/B,CAAoC,UAAU5K,IAAV,EAAgB;AAChDgB,cAAE8G,IAAF,CAAO9H,KAAKqN,MAAZ,EAAoB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACnCkgB,qBAAK4R,QAAL,CAAc1iB,IAAd,CAAmB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMAke,aAAKypC,eAAL,GAAuBzlC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;;AAEA;AACAlnB,aAAKgV,EAAL,GAAU,IAAIv5B,IAAIkyC,YAAR,EAAV;AACA3tB,aAAKgV,EAAL,CAAQqY,IAAR,CAAa,IAAb;AACArtB,aAAKgV,EAAL,CAAQmZ,QAAR;;AAEA;AACAnuB,aAAK+U,IAAL,GAAY,IAAIt5B,IAAIkyC,YAAR,EAAZ;AACA3tB,aAAK+U,IAAL,CAAUsY,IAAV,CAAe,MAAf;AACArtB,aAAK+U,IAAL,CAAUoZ,QAAV;;AAEA;AACAnuB,aAAK0pC,gBAAL,GAAwB1lC,GAAGkjB,UAAH,CAAc,EAAd,CAAxB;;AAEA,YAAIsF,iBAAiB,IAAI/wC,IAAI+wC,cAAR,CAAuB,iBAAvB,CAArB;AACAA,uBAAea,IAAf,CAAoB,UAAUsc,QAAV,EAAoB;AACpC3pC,iBAAK0pC,gBAAL,CAAsBC,QAAtB;AACH,SAFD;;AAIA3pC,aAAK4pC,SAAL,GAAiB,IAAInuD,IAAIgvC,QAAR,CAAiB;AAC9B9pC,mBAAO,EADuB;AAE9BqlB,sBAAU,IAFoB;AAG9B8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK4pC,SAAT,EAAoB;AAChB;AACA,wBAAIjpD,QAAQqf,KAAK4pC,SAAL,CAAejpD,KAAf,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;;AAED;AACA,wBAAIsM,eAAeplC,WAAW9jB,KAAX,EAAkB03C,OAAlB,CAA0B,CAA1B,CAAnB;AACA,wBAAIwR,gBAAgB,CAApB,EAAuB;AACnB,+BAAOpuD,IAAIe,YAAJ,CAAiBstD,sBAAxB;AACH;AACJ;AACJ;AAjB6B,SAAjB,CAAjB;;AAoBA;AACA9pC,aAAKhb,OAAL,GAAe,IAAIvJ,IAAIgvC,QAAR,CAAiB;AAC5B9pC,mBAAO,EADqB;AAE5BqlB,sBAAU;AAFkB,SAAjB,CAAf;;AAKA;AACAhG,aAAKuG,IAAL,GAAY,YAAY;AACpB9qB,gBAAI8iB,wBAAJ,GAA+B7R,MAA/B,CAAsC;AAClCq9C,wBAAQ/pC,KAAKupC,YAAL,EAD0B;AAElC3oD,2BAAWof,KAAKypC,eAAL,EAFuB;AAGlC10B,sBAAM/U,KAAK+U,IAAL,CAAU/zB,OAAV,EAH4B;AAIlCg0B,oBAAIhV,KAAKgV,EAAL,CAAQh0B,OAAR,EAJ8B;AAKlC4oD,2BAAW5pC,KAAK4pC,SAAL,CAAejpD,KAAf,EALuB;AAMlCJ,4BAAYyf,KAAK0pC,gBAAL,EANsB;AAOlC1kD,yBAASgb,KAAKhb,OAAL,CAAarE,KAAb;AAPyB,aAAtC,EASC8H,IATD,CASM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAXD;AAYH,SAbD;;AAgBA;AACA3G,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,CAAC,CAACjrB,KAAKupC,YAAL,EAAF,IAAyB,CAAC,CAACvpC,KAAK0pC,gBAAL,EAA3B,IACA,CAAC,CAAC1pC,KAAKypC,eAAL,EADF,IAC4BzpC,KAAK4pC,SAAL,CAAe5e,OAAf,EADnC;AAEH,SAHc,EAGZhrB,IAHY,CAAf;AAIH,KA5FD;AA6FH,CA/FD,EA+FGvkB,GA/FH;ACDA;;AACA,CAAC,YAAY;;AAETA,QAAIuuD,gCAAJ,GAAuC,UAAUloD,EAAV,EAAcwc,IAAd,EAAoB1V,OAApB,EAA6BghD,SAA7B,EAAwC;;AAE3E,YAAI5pC,OAAO,IAAX;;AAEAA,aAAK1B,IAAL,GAAY,IAAI7iB,IAAIgvC,QAAR,CAAiB;AACzB9pC,mBAAO2d,QAAQ;AADU,SAAjB,CAAZ;;AAIA0B,aAAKpX,OAAL,GAAe,IAAInN,IAAIgvC,QAAR,CAAiB;AAC5B9pC,mBAAOiI,WAAW;AADU,SAAjB,CAAf;;AAIAoX,aAAK4pC,SAAL,GAAiB,IAAInuD,IAAIgvC,QAAR,CAAiB;AAC9B9pC,mBAAOipD,aAAa;AADU,SAAjB,CAAjB;;AAIA5pC,aAAKiqC,sBAAL,GAA8B,UAAUj2C,CAAV,EAAa;AACvCvY,gBAAI8iB,wBAAJ,GAA+BlV,MAA/B,CAAsC;AAClCvH,oBAAIke,KAAKle,EAAL;AAD8B,aAAtC,EAGC2G,IAHD,CAGM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiB43B,mBAA7B;AACH,aALD;AAMH,SAPD;;AASA;AACApU,aAAKle,EAAL,GAAUkiB,GAAGkjB,UAAH,CAAcplC,EAAd,CAAV;AACH,KA3BD;AA4BH,CA9BD;ACDA;;AACA,CAAC,YAAY;;AAETrG,QAAIyuD,gCAAJ,GAAuC,UAAUpoD,EAAV,EAAcm6C,YAAd,EAA4B;;AAE/D,YAAIj8B,OAAO,IAAX;;AAEA;AACAA,aAAKliB,KAAL,GAAakmB,GAAG0mB,eAAH,CAAmB,EAAnB,CAAb;;AAEA1qB,aAAKupC,YAAL,GAAoBvlC,GAAGkjB,UAAH,CAAc,EAAd,CAApB;;AAEA;AACAlnB,aAAK4R,QAAL,GAAgB5N,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;;AAEA1qB,aAAKypC,eAAL,GAAuBzlC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;;AAEA;AACAlnB,aAAKgV,EAAL,GAAU,IAAIv5B,IAAIkyC,YAAR,EAAV;AACA3tB,aAAKgV,EAAL,CAAQqY,IAAR,CAAa,QAAb;;AAEA;AACArtB,aAAK+U,IAAL,GAAY,IAAIt5B,IAAIkyC,YAAR,EAAZ;AACA3tB,aAAK+U,IAAL,CAAUsY,IAAV,CAAe,UAAf;;AAEA;AACArtB,aAAK0pC,gBAAL,GAAwB1lC,GAAGkjB,UAAH,CAAc,EAAd,CAAxB;;AAEA;AACAlnB,aAAKhb,OAAL,GAAe,IAAIvJ,IAAIgvC,QAAR,CAAiB;AAC5B9pC,mBAAO,EADqB;AAE5BqlB,sBAAU;AAFkB,SAAjB,CAAf;;AAKA;AACAhG,aAAKle,EAAL,GAAU,IAAIrG,IAAIgvC,QAAR,CAAiB;AACvB9pC,mBAAOmB,MAAM;AADU,SAAjB,CAAV;;AAIA;AACAke,aAAKmqC,aAAL,GAAqB,YAAY;AAC7B,mBAAO1uD,IAAI+tD,eAAJ,GAAsB/8C,MAAtB,GAA+BhE,IAA/B,CAAoC,UAAU5K,IAAV,EAAgB;AACvDgB,kBAAE8G,IAAF,CAAO9H,KAAKqN,MAAZ,EAAoB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACnCkgB,yBAAK4R,QAAL,CAAc1iB,IAAd,CAAmB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAnB;AACH,iBAFD;AAGH,aAJM,CAAP;AAKH,SAND;;AAQA;AACAke,aAAKoqC,UAAL,GAAkB,YAAY;AAC1B,mBAAO3uD,IAAI0iB,YAAJ,GAAmB1R,MAAnB,GAA4BhE,IAA5B,CAAiC,UAAU5K,IAAV,EAAgB;AACpDgB,kBAAE8G,IAAF,CAAO9H,KAAKqN,MAAZ,EAAoB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACnCkgB,yBAAKliB,KAAL,CAAWoR,IAAX,CAAgB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAhB;AACH,iBAFD;AAGH,aAJM,CAAP;AAKH,SAND;;AAQA;AACAjD,UAAEkF,IAAF,CAAOic,KAAKmqC,aAAL,EAAP,EAA6BnqC,KAAKoqC,UAAL,EAA7B,EACC//C,IADD,CACM,YAAY;;AAEd;AACA5O,gBAAI8iB,wBAAJ,GAA+BpV,GAA/B,CAAmCrH,EAAnC,EAAuC2G,IAAvC,CAA4C,UAAU5K,IAAV,EAAgB;AACxDmiB,qBAAKupC,YAAL,CAAkB1rD,KAAKksD,MAAvB;AACA/pC,qBAAK0pC,gBAAL,CAAsB7rD,KAAKwsD,WAA3B;AACArqC,qBAAKypC,eAAL,CAAqB5rD,KAAK+C,SAA1B;AACAof,qBAAKgV,EAAL,CAAQiZ,OAAR,CAAgBpwC,KAAKm3B,EAArB;AACAhV,qBAAK+U,IAAL,CAAUkZ,OAAV,CAAkBpwC,KAAKk3B,IAAvB;AACA/U,qBAAK4pC,SAAL,CAAejpD,KAAf,CAAqB9C,KAAK+rD,SAA1B;AACA5pC,qBAAKhb,OAAL,CAAarE,KAAb,CAAmB9C,KAAKmH,OAAxB;AACH,aARD;;AAUAi3C,2BAbc,CAaE;AACnB,SAfD;;AAiBA,YAAIzP,iBAAiB,IAAI/wC,IAAI+wC,cAAR,CAAuB,WAAvB,CAArB;AACAA,uBAAea,IAAf,CAAoB,UAAUsc,QAAV,EAAoB;AACpC3pC,iBAAK0pC,gBAAL,CAAsBC,QAAtB;AACH,SAFD;;AAIA3pC,aAAK4pC,SAAL,GAAiB,IAAInuD,IAAIgvC,QAAR,CAAiB;AAC9B9pC,mBAAO,EADuB;AAE9BqlB,sBAAU,IAFoB;AAG9B8kB,wBAAY,sBAAY;AACpB,oBAAI9qB,KAAK4pC,SAAT,EAAoB;AAChB;AACA,wBAAIjpD,QAAQqf,KAAK4pC,SAAL,CAAejpD,KAAf,EAAZ;AACA,wBAAI,CAACA,KAAL,EAAY;AACR,+BAAOlF,IAAIe,YAAJ,CAAiB+gD,UAAxB;AACH;;AAED;AACA,wBAAIsM,eAAeplC,WAAW9jB,KAAX,EAAkB03C,OAAlB,CAA0B,CAA1B,CAAnB;AACA,wBAAIwR,gBAAgB,CAApB,EAAuB;AACnB,+BAAOpuD,IAAIe,YAAJ,CAAiBstD,sBAAxB;AACH;AACJ;AACJ;AAjB6B,SAAjB,CAAjB;;AAoBA;AACA9pC,aAAKsqC,sBAAL,GAA8B,YAAY;AACtC7uD,gBAAI8iB,wBAAJ,GAA+B1N,MAA/B,CAAsC;AAClC/O,oBAAIke,KAAKle,EAAL,CAAQnB,KAAR,EAD8B;AAElCopD,wBAAQ/pC,KAAKupC,YAAL,EAF0B;AAGlC3oD,2BAAWof,KAAKypC,eAAL,EAHuB;AAIlC10B,sBAAM/U,KAAK+U,IAAL,CAAU/zB,OAAV,EAJ4B;AAKlCg0B,oBAAIhV,KAAKgV,EAAL,CAAQh0B,OAAR,EAL8B;AAMlC4oD,2BAAW5pC,KAAK4pC,SAAL,CAAejpD,KAAf,EANuB;AAOlCJ,4BAAYyf,KAAK0pC,gBAAL,EAPsB;AAQlC1kD,yBAASgb,KAAKhb,OAAL,CAAarE,KAAb;AARyB,aAAtC,EAUC8H,IAVD,CAUM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAZD;AAaH,SAdD;;AAgBA;AACA3G,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,CAAC,CAACjrB,KAAKupC,YAAL,EAAF,IACA,CAAC,CAACvpC,KAAKypC,eAAL,EADF,IAC4BzpC,KAAK4pC,SAAL,CAAe5e,OAAf,EADnC;AAEH,SAHc,EAGZhrB,IAHY,CAAf;AAIH,KAvHD;AAwHH,CA1HD,EA0HGvkB,GA1HH;ACDA;;AACA,CAAC,YAAY;AACTA,QAAI8uD,0BAAJ,GAAiC,YAAY;AACzC;AACA,YAAIhO,WAAW19C,EAAE,wBAAF,CAAf;AACA,YAAI49C,aAAa59C,EAAE,2BAAF,CAAjB;AACA,YAAI29C,aAAa39C,EAAE,2BAAF,CAAjB;AACA,YAAIy9C,aAAaz9C,EAAE,2BAAF,CAAjB;;AAEA;AACA,YAAI2rD,qBAAqB3rD,EAAE,gCAAF,CAAzB;AACA,YAAI+9C,qBAAqB/9C,EAAE,8BAAF,CAAzB;AACA,YAAIg+C,aAAah+C,EAAE,8BAAF,CAAjB;AACA,YAAIi+C,kBAAkBj+C,EAAE,6BAAF,CAAtB;;AAEA;AACApD,YAAIusC,SAAJ,CAAc,mBAAd;;AAEA;AACA6U,mBAAWvoC,KAAX,CAAiB,YAAY;;AAEzB;AACAzV,cAAE,uCAAF,EAA2CiX,IAA3C,CAAgD,UAAhD,EAA4D,UAA5D;;AAEA;AACAra,gBAAIyoB,iBAAJ,CAAsBu4B,UAAtB,EAAkCF,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAI6tD,gCAAR,EAAjB,EAA6D7M,WAAW,CAAX,CAA7D;;AAEA;AACAK,4BAAgBxoC,KAAhB,CAAsB,YAAY;AAC9B7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCE,UAAhC;AACH,aAFD;AAGH,SAbD;;AAeA;AACAhhD,YAAI6uD,sBAAJ,GAA6B,UAAUxoD,EAAV,EAAc;;AAEvC,gBAAIm6C,eAAe,SAAfA,YAAe,GAAY;AAC3BxgD,oBAAIyoB,iBAAJ,CAAsBs4B,UAAtB,EAAkCD,QAAlC;;AAEA;AACA19C,kBAAE,iCAAF,EAAqCiX,IAArC,CAA0C,UAA1C,EAAsD,UAAtD;AACH,aALD;;AAOAkO,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAIyuD,gCAAR,CAAyCpoD,EAAzC,EAA6Cm6C,YAA7C,CAAjB,EAA6EO,WAAW,CAAX,CAA7E;;AAEA;AACAI,+BAAmBtoC,KAAnB,CAAyB,YAAY;AACjC7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCC,UAAhC;AACH,aAFD;AAGH,SAfD;;AAiBA;AACA/gD,YAAIgvD,uBAAJ,GAA8B,UAAU3oD,EAAV,EAAcwc,IAAd,EAAoB1V,OAApB,EAA6BghD,SAA7B,EAAwC;;AAElEnuD,gBAAIyoB,iBAAJ,CAAsBo4B,UAAtB,EAAkCC,QAAlC;AACAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAIuuD,gCAAR,CAAyCloD,EAAzC,EAA6Cwc,IAA7C,EAAmD1V,OAAnD,EAA4DghD,SAA5D,CAAjB,EAAyFtN,WAAW,CAAX,CAAzF;;AAEAkO,+BAAmBl2C,KAAnB,CAAyB,YAAY;AACjC7Y,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCD,UAAhC;AACH,aAFD;AAGH,SARD;AASH,KA5DD;AA6DH,CA9DD,EA8DGj+C,MA9DH,EA8DWS,QA9DX;ACDA;;AACA,CAAC,YAAY;AACT;AACArD,QAAIivD,yBAAJ,GAAgC,YAAY;AACxC,YAAI1qC,OAAO,IAAX;;AAEA;AACAA,aAAKiM,QAAL,GAAgBjI,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;AACA1qB,aAAKkG,QAAL,GAAgBlC,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;;AAEA;AACA,YAAI5pC,OAAO,IAAIxB,IAAJ,EAAX;AACA,YAAIqrD,cAAc7pD,KAAKM,WAAL,EAAlB;;AAEA;AACA4e,aAAK+jC,MAAL,GAAc//B,GAAG0mB,eAAH,CAAmB,CAC7B,EAAE5oC,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAD6B,EACP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADO,EACe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADf,EACqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADrC,EAE7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAF6B,EAEP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFO,EAEe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFf,EAEqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFrC,EAG7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAH6B,EAGP,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHO,EAGiB,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHjB,EAGyC,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHzC,CAAnB,CAAd;;AAMA;AACA8iB,aAAK4qC,KAAL,GAAa5mC,GAAG0mB,eAAH,CAAmB,CAC5B,EAAE5oC,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAD4B,EAE5B,EAAE9M,IAAI6oD,WAAN,EAAmBztD,MAAMytD,YAAY/7C,QAAZ,EAAzB,EAF4B,EAG5B,EAAE9M,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAH4B,CAAnB,CAAb;;AAMA;AACAoR,aAAK6qC,eAAL,GAAuB7mC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;AACAlnB,aAAK8qC,eAAL,GAAuB9mC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;AACAlnB,aAAK+qC,aAAL,GAAqB/mC,GAAGkjB,UAAH,CAAc,EAAd,CAArB;AACAlnB,aAAKgrC,YAAL,GAAoBhnC,GAAGkjB,UAAH,CAAcyjB,WAAd,CAApB;;AAEA;AACAlvD,YAAI02C,eAAJ,GAAsB1lC,MAAtB,GAA+BhE,IAA/B,CAAoC,UAAUrK,KAAV,EAAiB;AACjDS,cAAE8G,IAAF,CAAOvH,MAAM8M,MAAb,EAAqB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACpCkgB,qBAAKiM,QAAL,CAAc/c,IAAd,CAAmB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMA;AACArG,YAAIwiD,eAAJ,GAAsBhjC,cAAtB,GAAuCxS,IAAvC,CAA4C,UAAUrK,KAAV,EAAiB;AACzDS,cAAE8G,IAAF,CAAOvH,MAAM8M,MAAb,EAAqB,UAAUU,CAAV,EAAa9L,IAAb,EAAmB;AACpCkgB,qBAAKkG,QAAL,CAAchX,IAAd,CAAmB,EAAEhS,MAAM4C,KAAKmrD,QAAb,EAAuBnpD,IAAIhC,KAAKgC,EAAhC,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMA;AACAke,aAAKxa,IAAL,GAAY,YAAY;;AAEpB;AACA,gBAAInB,MAAM,6BAA6ByM,mBAAmBkP,KAAKgrC,YAAL,EAAnB,CAAvC;;AAEA,gBAAI,CAAC,CAAChrC,KAAK6qC,eAAL,EAAN,EAA8B;AAC1BxmD,uBAAO,cAAcyM,mBAAmBkP,KAAK6qC,eAAL,EAAnB,CAArB;AACH;;AAED,gBAAI,CAAC,CAAC7qC,KAAK+qC,aAAL,EAAN,EAA4B;AACxB1mD,uBAAO,YAAYyM,mBAAmBkP,KAAK+qC,aAAL,EAAnB,CAAnB;AACH;;AAED,gBAAI,CAAC,CAAC/qC,KAAK8qC,eAAL,EAAN,EAA8B;AAC1BzmD,uBAAO,cAAcyM,mBAAmBkP,KAAK8qC,eAAL,EAAnB,CAArB;AACH;;AAEDxsD,qBAASyN,IAAT,GAAgB1H,GAAhB;AACH,SAlBD;;AAoBA;AACA2b,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,IAAP,CADmC,CACtB;AAChB,SAFc,EAEZjrB,IAFY,CAAf;AAGH,KAtED;AAuEH,CAzED;;;ACDA,CAAC,YAAY;AACT;;AACAvkB,QAAIyvD,iBAAJ,GAAwB,YAAY;;AAEhC;AACA,YAAIjN,kBAAkB15C,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI0Z,eAAe1d,IAAIgE,OAAJ,CAAY,qBAAZ,CAAnB;;AAEA;AACA,YAAI4iD,oBAAoBtsD,EAAE,sBAAF,CAAxB;AACA,YAAIusD,kBAAkBvsD,EAAE,oBAAF,CAAtB;AACA,YAAIwsD,mBAAmBxsD,EAAE,qBAAF,CAAvB;AACA,YAAIysD,uBAAuBzsD,EAAE,yBAAF,CAA3B;AACA,YAAI0sD,UAAU1sD,EAAE,yBAAF,CAAd;AACA,YAAI2sD,YAAY3sD,EAAE,2BAAF,CAAhB;;AAEA,YAAIm/C,eAAez5C,IAAIgE,OAAJ,CAAY,cAAZ,CAAnB;;AAEA,YAAIkjD,eAAJ;;AAEA,YAAIpe,OAAO,SAAPA,IAAO,GAAY;;AAEnB+d,4BAAgB3b,UAAhB;AACA+b,sBAAUjf,GAAV,GAAgBvtC,EAAhB,CAAmB,OAAnB,EAA4Bu7C,UAA5B;AACAgR,oBAAQhf,GAAR,GAAcvtC,EAAd,CAAiB,OAAjB,EAA0BunB,IAA1B;;AAGAy3B,yBAAavxC,MAAb,GAAsBhE,IAAtB,CAA2B,UAAUy4B,KAAV,EAAiB;;AAExCriC,kBAAE8G,IAAF,CAAOu7B,KAAP,EAAc,YAAY;AACtBmqB,qCAAiB9lD,MAAjB,CAAwB1G,EAAE,YAAF,EAAgBqb,GAAhB,CAAoB,KAAKpY,EAAzB,EAA6B+jC,IAA7B,CAAkC,KAAKjf,QAAvC,CAAxB;AACH,iBAFD;;AAIAq3B,gCAAgBliC,WAAhB,GAA8BtT,IAA9B,CAAmC,UAASkT,QAAT,EAAmB;AAClD8vC,sCAAkB9vC,QAAlB;;AAEA0vC,qCAAiBnxC,GAAjB,CAAqBuxC,gBAAgB5kC,UAArC;AACAykC,yCAAqBpxC,GAArB,CAAyBuxC,gBAAgBxrC,OAAzC;AACAmrC,oCAAgB5b,KAAhB,CAAsBic,gBAAgBhlC,cAAtC;;AAEA0kC,sCAAkB17C,KAAlB,CAAwB,MAAxB;AACH,iBARD;AASH,aAfD;AAgBH,SAvBD;;AAyBA,YAAI8qC,aAAa,SAAbA,UAAa,GAAY;AACzB4Q,8BAAkB17C,KAAlB,CAAwB,MAAxB;AACH,SAFD;;AAIA,YAAI8W,OAAO,SAAPA,IAAO,GAAY;;AAEnB,gBAAIu3B,mBAAmBuN,iBAAiBnxC,GAAjB,EAAvB;AACA,gBAAIwxC,cAAc;AACd7kC,4BAAYi3B,gBADE;AAEdp3B,gCAAgB0kC,gBAAgB1b,SAAhB,EAFF;AAGdzvB,yBAASqrC,qBAAqBpxC,GAArB;AAHK,aAAlB;;AAMA+jC,4BAAgBniC,cAAhB,CAA+B4vC,WAA/B,EAA4CjjD,IAA5C,CAAiD,UAAU5K,IAAV,EAAgB;;AAE7DpC,oBAAIgB,WAAJ,CAAgBkf,QAAhB,CAAyB8K,cAAzB,GAA0C5oB,KAAK6oB,cAAL,CAAoB9X,QAApB,EAA1C;AACAqT,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiBmqB,iBAA1C;AACA4zB;;AAEA9+C,oBAAIgB,WAAJ,CAAgBkf,QAAhB,CAAyBiL,QAAzB,GAAoCk3B,gBAApC;;AAEA,oBAAGjgD,KAAKoiB,OAAL,IAAgBwrC,gBAAgBxrC,OAAnC,EAA4C;AACxC3hB,6BAASoK,MAAT,CAAgB,IAAhB;AACH;AACJ,aAXD;AAYH,SArBD;;AAuBA,eAAO;AACH2kC,kBAAMA;AADH,SAAP;AAGH,KAzED;AA0EH,CA5ED;ACAA;;AACA,CAAC,YAAY;AACT;AACA5xC,YAAIkwD,6BAAJ,GAAoC,YAAY;AAC5C,oBAAI3rC,OAAO,IAAX;;AAEA;AACA;AACA,oBAAIlf,OAAO,IAAIxB,IAAJ,EAAX;AACA,oBAAIqrD,cAAc7pD,KAAKM,WAAL,EAAlB;AACA,oBAAIwqD,eAAe9qD,KAAKI,QAAL,KAAkB,CAArC;;AAEA;AACA8e,qBAAK+jC,MAAL,GAAc//B,GAAG0mB,eAAH,CAAmB,CAC7B,EAAE5oC,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAD6B,EACP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADO,EACe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADf,EACqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADrC,EAE7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAF6B,EAEP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFO,EAEe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFf,EAEqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFrC,EAG7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAH6B,EAGP,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHO,EAGiB,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHjB,EAGyC,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHzC,CAAnB,CAAd;;AAMA;AACA8iB,qBAAK4qC,KAAL,GAAa5mC,GAAG0mB,eAAH,CAAmB,CAC5B,EAAE5oC,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAD4B,EAE5B,EAAE9M,IAAI6oD,WAAN,EAAmBztD,MAAMytD,YAAY/7C,QAAZ,EAAzB,EAF4B,EAG5B,EAAE9M,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAH4B,CAAnB,CAAb;;AAMA;AACAoR,qBAAK+qC,aAAL,GAAqB/mC,GAAGkjB,UAAH,CAAc0kB,YAAd,CAArB;AACA5rC,qBAAKgrC,YAAL,GAAoBhnC,GAAGkjB,UAAH,CAAcyjB,WAAd,CAApB;;AAGA;AACA3qC,qBAAKxa,IAAL,GAAY,YAAY;;AAEpB;AACA,4BAAInB,MAAM,mCAAmCyM,mBAAmBkP,KAAK+qC,aAAL,EAAnB,CAAnC,GACJ,QADI,GACOj6C,mBAAmBkP,KAAKgrC,YAAL,EAAnB,CADjB;;AAGA1sD,iCAASyN,IAAT,GAAgB1H,GAAhB;AACH,iBAPD;;AASA;AACA2b,qBAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,+BAAO,IAAP;AACH,iBAFc,EAEZjrB,IAFY,CAAf;AAGH,SA1CD;AA2CH,CA7CD,EA6CG3hB,MA7CH,EA6CWS,QA7CX;ACDA;;AACA,CAAC,YAAY;AACT;AACArD,QAAIowD,gCAAJ,GAAuC,YAAY;;AAE/C;AACA,YAAI1Z,kBAAkB5tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI01C,kBAAkB15C,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA,YAAIyX,OAAO,IAAX;;AAEA;AACAA,aAAKiM,QAAL,GAAgBjI,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;AACA1qB,aAAKkG,QAAL,GAAgBlC,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;;AAEA;AACA,YAAI5pC,OAAO,IAAIxB,IAAJ,EAAX;AACA,YAAIqrD,cAAc7pD,KAAKM,WAAL,EAAlB;AACA,YAAIwqD,eAAe9qD,KAAKI,QAAL,KAAkB,CAArC;;AAEA;AACA8e,aAAK+jC,MAAL,GAAc//B,GAAG0mB,eAAH,CAAmB,CAC7B,EAAE5oC,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAD6B,EACP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADO,EACe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADf,EACqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADrC,EAE7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAF6B,EAEP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFO,EAEe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFf,EAEqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFrC,EAG7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAH6B,EAGP,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHO,EAGiB,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHjB,EAGyC,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHzC,CAAnB,CAAd;;AAMA;AACA8iB,aAAK4qC,KAAL,GAAa5mC,GAAG0mB,eAAH,CAAmB,CAC5B,EAAE5oC,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAD4B,EAE5B,EAAE9M,IAAI6oD,WAAN,EAAmBztD,MAAMytD,YAAY/7C,QAAZ,EAAzB,EAF4B,EAG5B,EAAE9M,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAH4B,CAAnB,CAAb;;AAMA;AACAoR,aAAK6qC,eAAL,GAAuB7mC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;AACAlnB,aAAK8qC,eAAL,GAAuB9mC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;AACAlnB,aAAK+qC,aAAL,GAAqB/mC,GAAGkjB,UAAH,CAAc0kB,YAAd,CAArB;AACA5rC,aAAKgrC,YAAL,GAAoBhnC,GAAGkjB,UAAH,CAAcyjB,WAAd,CAApB;;AAEA;AACAxY,wBAAgB1lC,MAAhB,GAAyBhE,IAAzB,CAA8B,UAAUrK,KAAV,EAAiB;AAC3CS,cAAE8G,IAAF,CAAOvH,KAAP,EAAc,UAAUwN,CAAV,EAAa9L,IAAb,EAAmB;AAC7BkgB,qBAAKiM,QAAL,CAAc/c,IAAd,CAAmB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMA;AACAm8C,wBAAgBhjC,cAAhB,GAAiCxS,IAAjC,CAAsC,UAAUrK,KAAV,EAAiB;AACnDS,cAAE8G,IAAF,CAAOvH,KAAP,EAAc,UAAUwN,CAAV,EAAa9L,IAAb,EAAmB;AAC7BkgB,qBAAKkG,QAAL,CAAchX,IAAd,CAAmB,EAAEhS,MAAM4C,KAAKmrD,QAAb,EAAuBnpD,IAAIhC,KAAKgC,EAAhC,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMA;AACAke,aAAKxa,IAAL,GAAY,YAAY;;AAEpB;AACA,gBAAInB,MAAM,+BAA+ByM,mBAAmBkP,KAAK+qC,aAAL,EAAnB,CAA/B,GACJ,QADI,GACOj6C,mBAAmBkP,KAAKgrC,YAAL,EAAnB,CADjB;;AAGA,gBAAI,CAAC,CAAChrC,KAAK6qC,eAAL,EAAN,EAA8B;AAC1BxmD,uBAAO,cAAcyM,mBAAmBkP,KAAK6qC,eAAL,EAAnB,CAArB;AACH;;AAED,gBAAI,CAAC,CAAC7qC,KAAK8qC,eAAL,EAAN,EAA8B;AAC1BzmD,uBAAO,cAAcyM,mBAAmBkP,KAAK8qC,eAAL,EAAnB,CAArB;AACH;;AAEDxsD,qBAASyN,IAAT,GAAgB1H,GAAhB;AACH,SAfD;;AAiBA;AACA2b,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,CAAC,CAACjrB,KAAK6qC,eAAL,EAAF,IAA4B,CAAC,CAAC7qC,KAAK8qC,eAAL,EAArC;AACH,SAFc,EAEZ9qC,IAFY,CAAf;AAGH,KAzED;AA0EH,CA5ED;ACDA;;AACA,CAAC,YAAY;AACT;AACAvkB,QAAIqwD,+BAAJ,GAAsC,YAAY;;AAE9C;AACA,YAAI3Z,kBAAkB5tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI01C,kBAAkB15C,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;;AAEA,YAAIyX,OAAO,IAAX;;AAEA;AACAA,aAAKiM,QAAL,GAAgBjI,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;AACA1qB,aAAKkG,QAAL,GAAgBlC,GAAG0mB,eAAH,CAAmB,EAAnB,CAAhB;;AAEA;AACA,YAAI5pC,OAAO,IAAIxB,IAAJ,EAAX;AACA,YAAIqrD,cAAc7pD,KAAKM,WAAL,EAAlB;AACA,YAAIwqD,eAAe9qD,KAAKI,QAAL,KAAkB,CAArC;;AAEA;AACA8e,aAAK+jC,MAAL,GAAc//B,GAAG0mB,eAAH,CAAmB,CAC7B,EAAE5oC,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAD6B,EACP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADO,EACe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADf,EACqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EADrC,EAE7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAF6B,EAEP,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFO,EAEe,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFf,EAEqC,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAFrC,EAG7B,EAAE4E,IAAI,CAAN,EAAS5E,MAAM,GAAf,EAH6B,EAGP,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHO,EAGiB,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHjB,EAGyC,EAAE4E,IAAI,EAAN,EAAU5E,MAAM,IAAhB,EAHzC,CAAnB,CAAd;;AAMA;AACA8iB,aAAK4qC,KAAL,GAAa5mC,GAAG0mB,eAAH,CAAmB,CAC5B,EAAE5oC,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAD4B,EAE5B,EAAE9M,IAAI6oD,WAAN,EAAmBztD,MAAMytD,YAAY/7C,QAAZ,EAAzB,EAF4B,EAG5B,EAAE9M,IAAI6oD,cAAc,CAApB,EAAuBztD,MAAM,CAACytD,cAAc,CAAf,EAAkB/7C,QAAlB,EAA7B,EAH4B,CAAnB,CAAb;;AAMA;AACAoR,aAAK6qC,eAAL,GAAuB7mC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;AACAlnB,aAAK8qC,eAAL,GAAuB9mC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;AACAlnB,aAAK+qC,aAAL,GAAqB/mC,GAAGkjB,UAAH,CAAc0kB,YAAd,CAArB;AACA5rC,aAAKgrC,YAAL,GAAoBhnC,GAAGkjB,UAAH,CAAcyjB,WAAd,CAApB;;AAEA;AACAxY,wBAAgB1lC,MAAhB,GAAyBhE,IAAzB,CAA8B,UAAUrK,KAAV,EAAiB;AAC3CS,cAAE8G,IAAF,CAAOvH,KAAP,EAAc,UAAUwN,CAAV,EAAa9L,IAAb,EAAmB;AAC7BkgB,qBAAKiM,QAAL,CAAc/c,IAAd,CAAmB,EAAEhS,MAAM4C,KAAK5C,IAAb,EAAmB4E,IAAIhC,KAAKgC,EAA5B,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMA;AACAm8C,wBAAgBhjC,cAAhB,GAAiCxS,IAAjC,CAAsC,UAAUrK,KAAV,EAAiB;AACnDS,cAAE8G,IAAF,CAAOvH,KAAP,EAAc,UAAUwN,CAAV,EAAa9L,IAAb,EAAmB;AAC7BkgB,qBAAKkG,QAAL,CAAchX,IAAd,CAAmB,EAAEhS,MAAM4C,KAAKmrD,QAAb,EAAuBnpD,IAAIhC,KAAKgC,EAAhC,EAAnB;AACH,aAFD;AAGH,SAJD;;AAMA;AACAke,aAAKxa,IAAL,GAAY,YAAY;;AAEpB;AACA,gBAAInB,MAAM,+BAA+ByM,mBAAmBkP,KAAK+qC,aAAL,EAAnB,CAA/B,GACJ,QADI,GACOj6C,mBAAmBkP,KAAKgrC,YAAL,EAAnB,CADjB;;AAGA,gBAAI,CAAC,CAAChrC,KAAK6qC,eAAL,EAAN,EAA8B;AAC1BxmD,uBAAO,cAAcyM,mBAAmBkP,KAAK6qC,eAAL,EAAnB,CAArB;AACH;;AAED,gBAAI,CAAC,CAAC7qC,KAAK8qC,eAAL,EAAN,EAA8B;AAC1BzmD,uBAAO,cAAcyM,mBAAmBkP,KAAK8qC,eAAL,EAAnB,CAArB;AACH;;AAEDxsD,qBAASyN,IAAT,GAAgB1H,GAAhB;AACH,SAfD;;AAiBA;AACA2b,aAAKgrB,OAAL,GAAehnB,GAAGinB,QAAH,CAAY,YAAY;AACnC,mBAAO,CAAC,CAACjrB,KAAK6qC,eAAL,EAAF,IAA4B,CAAC,CAAC7qC,KAAK8qC,eAAL,EAArC;AACH,SAFc,EAEZ9qC,IAFY,CAAf;AAGH,KAzED;AA0EH,CA5ED;ACDA;;AACA,CAAC,YAAY;AACT;AACA;AACAvkB,QAAIswD,yBAAJ,GAAgC,YAAY;;AAExC;AACAtwD,YAAIusC,SAAJ,CAAc,iBAAd;AACH,KAJD;AAKH,CARD,EAQG3pC,MARH,EAQWS,QARX;ACDA;;AACA,CAAC,YAAY;AACT;AACArD,QAAIuwD,mBAAJ,GAA0B,UAAU5tD,KAAV,EAAiB;;AAGvC;AACA4hB,aAAKisC,eAAL,GAAuBjoC,GAAGkjB,UAAH,CAAc,EAAd,CAAvB;;AAEA;AACAroC,UAAE8G,IAAF,CAAOvH,KAAP,EAAc,UAAUwN,CAAV,EAAa9L,IAAb,EAAmB;;AAE7B,gBAAIyxC,MAAMvxB,KAAKisC,eAAL,EAAV;;AAEA;AACA1a,gBAAIzxC,KAAKgC,EAAL,CAAQ8M,QAAR,EAAJ,IAA0B;AACtB9M,oBAAIhC,KAAKgC,EADa;AAEtBmF,wBAAQ,UAFc;AAGtBjC,yBAAS,EAHa;AAItB4+C,yBAAS9jD,KAAK8jD,OAJQ;AAKtBsI,iCAAiBpsD,KAAK8jD,OALA;AAMtBxxB,6BAAatyB,KAAKsyB,WANI;AAOtBu3B,0BAAU7pD,KAAK6pD;AAPO,aAA1B;;AAUA;AACA3pC,iBAAKisC,eAAL,CAAqB1a,GAArB;AACH,SAjBD;;AAmBA;AACA91C,YAAI0wD,eAAJ,GAAsB,UAAUrqD,EAAV,EAAc;AAChCjD,cAAE,aAAF,EAAiBqb,GAAjB,CAAqBpY,EAArB,EADgC,CACN;;AAE1B;AACArG,gBAAIipB,iBAAJ,CAAsB,eAAtB;;AAEA;AACA7lB,cAAE,gBAAF,EAAoBqb,GAApB,CAAwBrb,EAAE,cAAciD,EAAhB,EAAoB+jC,IAApB,EAAxB;AACAhnC,cAAE,yBAAF,EAA6BgnC,IAA7B,CAAkChnC,EAAE,aAAaiD,EAAf,EAAmB+jC,IAAnB,EAAlC;;AAEA;AACAhnC,cAAE,0BAAF,EAA8ByV,KAA9B;AACH,SAZD;;AAcA;AACA7Y,YAAI2wD,eAAJ,GAAuB,YAAY;AAC/B,gBAAItqD,KAAKjD,EAAE,aAAF,EAAiBqb,GAAjB,EAAT,CAD+B,CACE;AACjC,gBAAIvZ,QAAQ9B,EAAE,gBAAF,EAAoBqb,GAApB,EAAZ,CAF+B,CAEQ;;AAEvC,gBAAI,CAAChB,MAAMvY,KAAN,CAAL,EAAmB;AACf,oBAAIo5C,aAAat1B,WAAW9jB,KAAX,EAAkB03C,OAAlB,CAA0B,CAA1B,CAAjB;;AAEA;AACAx5C,kBAAE,cAAciD,EAAhB,EAAoB+jC,IAApB,CAAyBkU,UAAzB;;AAEA;AACA,oBAAIxI,MAAMvxB,KAAKisC,eAAL,EAAV;AACA1a,oBAAIzvC,GAAG8M,QAAH,EAAJ,EAAmBg1C,OAAnB,GAA6B7J,UAA7B;AACA/5B,qBAAKisC,eAAL,CAAqB1a,GAArB;;AAEA;AACA1yC,kBAAE,qBAAF,EAAyByV,KAAzB;AACH;;AAED0L,iBAAKqsC,gBAAL;AACH,SApBD;;AAsBA;AACArsC,aAAKqsC,gBAAL,GAAwB,YAAY;AAChC;AACAC,oBAAQC,MAAR,CAAe9wD,IAAIe,YAAJ,CAAiBgwD,MAAhC,EAAwC,UAAUthD,MAAV,EAAkB;AACtD,oBAAIA,MAAJ,EAAY;;AAER,wBAAIpJ,KAAKjD,EAAE,aAAF,EAAiBqb,GAAjB,EAAT,CAFQ,CAEyB;AACjC;AACA,wBAAIq3B,MAAMvxB,KAAKisC,eAAL,EAAV;AACA1a,wBAAIzvC,GAAG8M,QAAH,EAAJ,EAAmB5J,OAAnB,GAA6BkG,MAA7B;AACA8U,yBAAKisC,eAAL,CAAqB1a,GAArB;AAEH,iBARD,MAQO,CAAG;AACb,aAVD;AAWH,SAbD;;AAeA;AACA;AACA91C,YAAIgxD,sBAAJ,GAA6B,UAAU3qD,EAAV,EAAc;AACvC,gBAAI4qD,oBAAoB7tD,EAAE,aAAaiD,EAAf,CAAxB;;AAEA,gBAAIyvC,MAAMvxB,KAAKisC,eAAL,EAAV;AACA;AACAS,8BAAkB5kD,WAAlB,CAA8B,sBAA9B;AACA4kD,8BAAkB5kD,WAAlB,CAA8B,oBAA9B;AACA4kD,8BAAkB5kD,WAAlB,CAA8B,kBAA9B;;AAEA;AACA,gBAAI6kD,sBAAsB9tD,EAAE,qBAAqBiD,EAAvB,CAA1B;AACA6qD,gCAAoBlqC,IAApB,CAAyB,UAAzB,EAAqC,IAArC;;AAEA,oBAAQiqC,kBAAkBxyC,GAAlB,EAAR;AACI,qBAAK,UAAL;AACIwyC,sCAAkB3kD,QAAlB,CAA2B,sBAA3B;AACA4kD,wCAAoBlqC,IAApB,CAAyB,UAAzB,EAAqC,KAArC,EAFJ,CAEiD;AAC7C;AACJ,qBAAK,QAAL;AACI;AACAiqC,sCAAkB3kD,QAAlB,CAA2B,oBAA3B;AACAlJ,sBAAE,aAAF,EAAiBqb,GAAjB,CAAqBpY,EAArB,EAHJ,CAG8B;AAC1BwqD,4BAAQC,MAAR,CAAe9wD,IAAIe,YAAJ,CAAiBgwD,MAAhC,EAAwC,UAAUthD,MAAV,EAAkB;AACtD,4BAAIA,MAAJ,EAAY;;AAER,gCAAIpJ,KAAKjD,EAAE,aAAF,EAAiBqb,GAAjB,EAAT,CAFQ,CAEyB;AACjC;AACA,gCAAIq3B,MAAMvxB,KAAKisC,eAAL,EAAV;AACA1a,gCAAIzvC,GAAG8M,QAAH,EAAJ,EAAmB5J,OAAnB,GAA6BkG,MAA7B;AACA8U,iCAAKisC,eAAL,CAAqB1a,GAArB;AAEH,yBARD,MAQO,CAAG;;AAEV1yC,0BAAE+tD,SAAF,CAAY;AACR5sD,kCAAM,SADE;AAERyiC,kCAAM,aAFE;AAGRlzB,qCAAS9T,IAAIe,YAAJ,CAAiBqwD,0CAHlB;AAIRC,uCAAW,UAJH;AAKRC,mCAAO;AALC,yBAAZ;AAOH,qBAlBD;AAmBA;AACJ,qBAAK,MAAL;AACIL,sCAAkB3kD,QAAlB,CAA2B,kBAA3B;AACA;AA/BR;;AAkCAwpC,gBAAIzvC,GAAG8M,QAAH,EAAJ,EAAmB3H,MAAnB,GAA4BylD,kBAAkBxyC,GAAlB,EAA5B;AACA;AACA8F,iBAAKisC,eAAL,CAAqB1a,GAArB;AACH,SAlDD;;AAoDA;AACAvxB,aAAKuG,IAAL,GAAY,YAAY;AACpB;AACA,gBAAInoB,QAAQ,EAAZ;AACA,gBAAI4uD,+BAA+BhtC,KAAKisC,eAAL,EAAnC;AACA,iBAAK,IAAInsD,IAAT,IAAiBktD,4BAAjB,EAA+C;;AAE3C,oBAAItyC,MAAMsyC,6BAA6BltD,IAA7B,CAAV;;AAEA;AACA,oBAAI4a,IAAIzT,MAAJ,IAAc,UAAd,IAA4ByT,IAAIzT,MAAJ,IAAc,QAA9C,EAAwD;AACpD7I,0BAAM8Q,IAAN,CAAW;AACP,kCAAUwL,IAAIzT,MADP;AAEP,wCAAgByT,IAAIkpC,OAFb;AAGP,8BAAMlpC,IAAI5Y,EAHH;AAIP,mCAAW4Y,IAAI1V;AAJR,qBAAX;AAMH;AACJ;;AAED;AACAgb,iBAAK2xB,aAAL,GAAqBvzC,KAArB;;AAEA;AACAS,cAAEkrC,IAAF,CAAO;AACHlsC,sBAAM+M,KAAKC,SAAL,CAAe,EAAE,QAAQzM,KAAV,EAAf,CADH;AAEHgM,uBAAO,KAFJ;AAGHpK,sBAAM,MAHH;AAIHqqC,6BAAa,IAJV;AAKH1J,6BAAa,kBALV;AAMHt8B,qBAAK,gCANF;AAOHkG,yBAAS,iBAAUqnC,UAAV,EAAsB;AAC3B;AACA/yC,sBAAE,mBAAF,EAAuB0nC,IAAvB,CAA4BqL,UAA5B;;AAEA;AACA/yC,sBAAE,wBAAF,EAA4ByV,KAA5B;AACH;AAbE,aAAP;AAeH,SAtCD;;AAwCA;AACA7Y,YAAIwxD,yBAAJ,GAAgC,YAAY;AACxC;AACApuD,cAAEkrC,IAAF,CAAO;AACHlsC,sBAAM+M,KAAKC,SAAL,CAAe,EAAE,QAAQmV,KAAK2xB,aAAf,EAAf,CADH;AAEHvnC,uBAAO,KAFJ;AAGHpK,sBAAM,MAHH;AAIHqqC,6BAAa,IAJV;AAKH1J,6BAAa,kBALV;AAMHt8B,qBAAK,uCANF;AAOHkG,yBAAS,iBAAUqnC,UAAV,EAAsB;AAC3B;;AAEA;AACAn2C,wBAAIymB,WAAJ,CAAgBzmB,IAAIe,YAAJ,CAAiBmqB,iBAAjC;AACAia,+BAAW,YAAY;AACnBtiC,iCAASyN,IAAT,GAAgB,+BAAhB;AACH,qBAFD,EAEG,IAFH;AAGH;AAfE,aAAP;AAiBH,SAnBD;AAoBH,KApMD;AAqMH,CAvMD;ACDA;;AACA,CAAC,YAAY;AACT;AACAtQ,QAAIyxD,8BAAJ,GAAqC,UAAUprD,EAAV,EAAc2+B,QAAd,EAAwBub,KAAxB,EAA+BC,YAA/B,EAA6C;;AAE9E;AACA,YAAI5F,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;;AAEA,YAAIyX,OAAO,IAAX;;AAEAA,aAAKle,EAAL,GAAU,IAAIrG,IAAIgvC,QAAR,CAAiB;AACvB9pC,mBAAOmB;AADgB,SAAjB,CAAV;;AAIAke,aAAKygB,QAAL,GAAgB,IAAIhlC,IAAIgvC,QAAR,CAAiB;AAC7B9pC,mBAAO8/B;AADsB,SAAjB,CAAhB;;AAIA;AACAzgB,aAAKuG,IAAL,GAAY,YAAY;AACpB8vB,8BAAkB/2B,YAAlB,CAA+B;AAC3Bxd,oBAAIke,KAAKle,EAAL,CAAQnB,KAAR,EADuB;AAE3BwsD,wBAAQntC,KAAKotC,YAAL;AAFmB,aAA/B,EAIC3kD,IAJD,CAIM,UAAU5K,IAAV,EAAgB;AAClBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAND;AAOH,SARD;;AAUA;AACA3G,aAAKotC,YAAL,GAAoBppC,GAAG0mB,eAAH,CAAmB,EAAnB,CAApB;;AAEA2L,0BAAkBh3B,iBAAlB,CAAoCvd,EAApC,EAAwC2G,IAAxC,CAA6C,UAAU5K,IAAV,EAAgB;AACzDgB,cAAE8G,IAAF,CAAO9H,IAAP,EAAa,UAAU+N,CAAV,EAAa9L,IAAb,EAAmB;AAC5BkgB,qBAAKotC,YAAL,CAAkBl+C,IAAlB,CAAuBpP,KAAKgC,EAA5B;AACH,aAFD;;AAIA,gBAAIs6C,uBAAuB3gD,IAAI2zC,WAAJ,CAAgB4M,KAAhB,EAAuBh8B,KAAKotC,YAAL,EAAvB,CAA3B;;AAEA;AACAnR;AACH,SATD;AAUH,KAvCD;AAwCH,CA1CD,EA0CGxgD,GA1CH;;;ACDA,CAAC,YAAY;AACT;;AACAA,QAAI4xD,2BAAJ,GAAkC,YAAY;AAC1C,YAAIrtC,OAAO,IAAX;;AAEA,iBAASqtB,IAAT,CAAc5P,UAAd,EAA0ByiB,eAA1B,EAA2CC,gBAA3C,EAA6D;AACzD;AACA5iB,mBAAOC,IAAP,CAAY;AACR7rB,yBAAS,qBADD;AAER9T,sBAAM4/B,UAFE;AAGRC,sBAAM,OAHE;AAIRC,uBAAO,CAAC,OAAD,CAJC;AAKRC,wBAAQ,CAACniC,IAAIe,YAAJ,CAAiBqhC,KAAlB,CALA;AAMRC,6BAAa,KANL;AAORC,+BAAe,aAPP;AAQRC,4BAAY,CAAC,SAAD,CARJ;AASRC,2BAAW,CATH;AAURC,2BAAW,KAVH;AAWRC,wBAAQ,IAXA;AAYRC,2BAAW;AAZH,aAAZ;;AAeA,gBAAI8hB,gBAAgBxhD,MAAhB,IAA0B,CAA9B,EAAiC;AAC7BG,kBAAEy/B,IAAF,CAAO,qBAAP,EAA8B4hB,eAA9B,EAA+C;AAC3C3hB,4BAAQ;AACJC,6BAAK;AACDna,kCAAM,IADL;AAEDoa,qCAAS;AACLC,uCAAO,MADF;AAELC,2CAAW;AAFN;AAFR;AADD,qBADmC;AAU3CC,4BAAQ;AACJva,8BAAM;AADF;AAVmC,iBAA/C;AAcH;;AAED,gBAAI87B,iBAAiBzhD,MAAjB,IAA2B,CAA/B,EAAkC;AAC9BG,kBAAEy/B,IAAF,CAAO,qBAAP,EAA8B6hB,gBAA9B,EAAgD;AAC5C5hB,4BAAQ;AACJC,6BAAK;AACDna,kCAAM,IADL;AAEDoa,qCAAS;AACLC,uCAAO,MADF;AAELC,2CAAW;AAFN;AAFR;AADD,qBADoC;AAU5CC,4BAAQ;AACJva,8BAAM;AADF;AAVoC,iBAAhD;AAcH;AACJ;;AAED,eAAO;AACHgpB,kBAAMA;AADH,SAAP;AAGH,KA1DD;AA2DH,CA7DD;ACAA;;AACA,CAAC,YAAY;AACT;AACA5xC,QAAI6xD,sBAAJ,GAA6B,YAAY;;AAErC;AACA,YAAI/Q,WAAW19C,EAAE,iBAAF,CAAf;AACA,YAAI0uD,oBAAoB1uD,EAAE,mBAAF,CAAxB;;AAEA;AACA,YAAI2uD,SAAS3uD,EAAE,qBAAF,CAAb;;AAEA;AACA,YAAI4uD,wBAAwB5uD,EAAE,+BAAF,CAA5B;;AAEA;AACApD,YAAIusC,SAAJ,CAAc,YAAd;;AAEA;AACAvsC,YAAIiyD,uBAAJ,GAA8B,UAAU5rD,EAAV,EAAc2+B,QAAd,EAAwB;;AAElD,gBAAIwb,eAAe,SAAfA,YAAe,GAAY;AAC3BxgD,oBAAIyoB,iBAAJ,CAAsBqpC,iBAAtB,EAAyChR,QAAzC;AACH,aAFD;;AAIAv4B,eAAGi5B,aAAH,CAAiB,IAAIxhD,IAAIyxD,8BAAR,CAAuCprD,EAAvC,EAA2C2+B,QAA3C,EAAqD+sB,MAArD,EAA6DvR,YAA7D,CAAjB,EAA6FsR,kBAAkB,CAAlB,CAA7F;;AAEAE,kCAAsBn5C,KAAtB,CAA4B,YAAY;;AAEpC;AACAzV,kBAAE,4BAAF,EAAgCusC,GAAhC,CAAoC,SAApC,EAA+C,MAA/C;;AAEA3vC,oBAAIyoB,iBAAJ,CAAsBq4B,QAAtB,EAAgCgR,iBAAhC;AACH,aAND;AAOH,SAfD;AAgBH,KAhCD;AAiCH,CAnCD,EAmCGlvD,MAnCH,EAmCWS,QAnCX;;;ACDA,CAAC,YAAY;AACT;;AACArD,QAAIkyD,kBAAJ,GAAyB,YAAY;;AAEjC,YAAIC,+BAA+BrpD,IAAIgE,OAAJ,CAAY,8BAAZ,CAAnC;;AAEA;AACA,YAAIslD,wBAAwBhvD,EAAE,2BAAF,CAA5B;AACA,YAAIivD,mBAAmBjvD,EAAE,qBAAF,CAAvB;;AAEA;AACA,YAAIsoD,WAAWtoD,EAAE,gBAAF,CAAf;;AAEA,YAAIkvD,cAAc,SAAdA,WAAc,CAAUh9B,GAAV,EAAei9B,WAAf,EAA4B;AAC1CnvD,cAAE,aAAF,EAAiBiJ,WAAjB,CAA6B,QAA7B;;AAEA;AACA,gBAAIR,UAAUzI,EAAEmvD,WAAF,CAAd;AACA1mD,oBAAQS,QAAR,CAAiB,QAAjB;;AAEA,gBAAI89B,OAAOshB,SAASjtC,GAAT,EAAX;;AAEA2rB,oBAAQ9U,GAAR;;AAEAo2B,qBAASjtC,GAAT,CAAa2rB,IAAb;AACH,SAZD;;AAcA,YAAIooB,kBAAkB,SAAlBA,eAAkB,GAAY;AAC9BL,yCAA6B/tC,eAA7B,CAA6C;AACzCquC,kCAAkBL,sBAAsB3zC,GAAtB,EADuB;AAEzCgG,4BAAY4tC,iBAAiB5zC,GAAjB,EAF6B;AAGzC4F,2BAAWqnC,SAASjtC,GAAT;AAH8B,aAA7C,EAIGzR,IAJH,CAIQ,UAAU5K,IAAV,EAAgB;AACpBpC,oBAAIooB,OAAJ,CAAYpoB,IAAIe,YAAJ,CAAiBmqB,iBAA7B;AACH,aAND;AAOH,SARD;;AAUA,eAAO;AACHonC,yBAAaA,WADV;AAEHE,6BAAiBA;AAFd,SAAP;AAIH,KAvCD;AAwCH,CA1CD;;;ACAA,CAAC,YAAY;AACT;;AACAxyD,QAAI64C,yBAAJ,GAAgC,YAAY;;AAExC,YAAIt0B,OAAO,IAAX;;AAEA,iBAAS7L,QAAT,CAAkBgJ,MAAlB,EAA0B;AACtB,gBAAIgrC,cAAc7kC,OAAO6G,MAAP,CAAc,wFAC5B,6GAD4B,GAE5B,oIAF4B,GAG5B,qGAHc,EAKdrZ,mBAAmBqM,OAAOpI,IAA1B,CALc,EAKmBjE,mBAAmBqM,OAAOA,MAA1B,CALnB,EAKsDrM,mBAAmBqM,OAAO+O,SAA1B,CALtD,EAMdpb,mBAAmBqM,OAAOgK,QAA1B,CANc,EAMuBrW,mBAAmBqM,OAAOgP,SAA1B,CANvB,EAM6Drb,mBAAmBqM,OAAOvc,SAA1B,CAN7D,EAMmGkQ,mBAAmBqM,OAAOld,MAA1B,CANnG,EAOdkd,OAAOS,aAPO,EAOQT,OAAOiP,OAPf,EAOwBjP,OAAOmP,SAP/B,EAO0CnP,OAAOoP,QAPjD,EAO2DpP,OAAOqP,KAPlE,EAOyErP,OAAOuP,OAPhF,EAOyFvP,OAAOwP,MAPhG,EAOwG7b,mBAAmBqM,OAAOkV,MAA1B,CAPxG,EAQdlV,OAAOsxB,OARO,EAQEtxB,OAAO44B,QART,EAQmB54B,OAAO5c,UAR1B,EAQsC4c,OAAOs4B,cAR7C,EAQ6Dt4B,OAAOu4B,gBARpE,EAQsFv4B,OAAOw4B,eAR7F,EASdx4B,OAAOy4B,YATO,EASOz4B,OAAO04B,cATd,EAS8B14B,OAAO24B,aATrC,EASoD34B,OAAO64B,gBAT3D,EAS6EllC,mBAAmBqM,OAAO84B,cAA1B,CAT7E,CAAlB;;AAWA33C,qBAASyN,IAAT,GAAgBo8C,WAAhB;AAEH;;AAED,eAAO;AACHh0C,sBAAUA;AADP,SAAP;AAGH,KAvBD;AAwBH,CA1BD;;;ACAA,CAAC,YAAY;AACT;;AACA1Y,QAAI0yD,uBAAJ,GAA8B,YAAY;;AAEtC;AACA,YAAI9X,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;AACA,YAAI0Z,eAAe1d,IAAIgE,OAAJ,CAAY,qBAAZ,CAAnB;;AAEA;AACA,YAAI6lD,sBAAsBvvD,EAAE,yBAAF,CAA1B;AACA,YAAIstC,aAAattC,EAAE,2BAAF,CAAjB;AACA,YAAIutC,YAAYvtC,EAAE,0BAAF,CAAhB;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,CAAUvrC,EAAV,EAAcnB,KAAd,EAAqB0tD,YAArB,EAAmC;AAC1CruC,iBAAKsuC,SAAL,GAAiBxsD,EAAjB;AACAke,iBAAKrf,KAAL,GAAaA,KAAb;AACAqf,iBAAKquC,YAAL,GAAoBA,YAApB;;AAEAD,gCAAoB3+C,KAApB;AACA08B,uBAAWI,GAAX,GAAiBvtC,EAAjB,CAAoB,OAApB,EAA6BynB,cAA7B;AACA2lB,sBAAUG,GAAV,GAAgBvtC,EAAhB,CAAmB,OAAnB,EAA4Bu7C,UAA5B;AACH,SARD;;AAUA,YAAIA,aAAa,SAAbA,UAAa,GAAY;;AAEzB,gBAAI,CAAC,CAACv6B,KAAKquC,YAAX,EAAyB;AACrBruC,qBAAKquC,YAAL;AACH;AACDD,gCAAoB3+C,KAApB,CAA0B,MAA1B;AACH,SAND;;AAQA,YAAIgX,iBAAiB,SAAjBA,cAAiB,GAAY;AAC7B4vB,8BAAkB32B,eAAlB,CAAkC;AAC9B5d,oBAAIke,KAAKsuC,SADqB;AAE9BtU,0BAAU,CAFoB;AAG9BD,4BAAY/5B,KAAKrf;AAHa,aAAlC,EAIG8H,IAJH,CAIQ,UAAU5K,IAAV,EAAgB;AACpB08C;AACAt4B,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiB09C,wBAA1C;AACH,aAPD;AAQH,SATD;;AAWA,eAAO;AACH7M,kBAAMA;AADH,SAAP;AAGH,KA3CD;AA4CH,CA9CD;;;ACAA,CAAC,YAAY;AACT;;AACA3xC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sBADf,EACuC;AAC/B7E,oBAAY8uD,8BADmB;AAE/B/uD,qBAAa;AAFkB,KADvC;;AAMA+uD,mCAA+BvyD,OAA/B,GAAyC,CAAC,QAAD,CAAzC;;AAEA,aAASuyD,8BAAT,CAAwCxhD,MAAxC,EAAgD;AAC5C,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,4BADf,EAC6C;AACrC7E,oBAAY+uD,oCADyB;AAErChvD,qBAAa;AAFwB,KAD7C;;AAMAgvD,yCAAqCxyD,OAArC,GAA+C,EAA/C;;AAEA,aAASwyD,oCAAT,GAAgD;AAC5C,YAAIthD,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gCADf,EACiD;AACzC7E,oBAAYgvD,wCAD6B;AAEzCjvD,qBAAa,8EAF4B;AAGzCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH+B,KADjD;;AASAs7B,6CAAyCzyD,OAAzC,GAAmD,CAAC,YAAD,EAAe,sBAAf,EAAuC,kBAAvC,CAAnD;;AAEA,aAASyyD,wCAAT,CAAkDtyD,UAAlD,EAA8D4xB,oBAA9D,EAAoF9kB,gBAApF,EAAsG;AAClG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBkuB,qCAAqB5kB,GAArB,CAAyB+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAxC,EAA4CuI,IAA5C,CAAiD,UAAUvK,IAAV,EAAgB;AAC7DoN,uBAAGpN,IAAH,GAAUA,IAAV;;AAEA,wBAAI,CAACoN,GAAGpN,IAAH,CAAQ2mC,KAAT,IAAkB,CAACv5B,GAAGpN,IAAH,CAAQ4uD,GAA/B,EAAoC;AAChC;AACAxhD,2BAAGpN,IAAH,CAAQ2mC,KAAR,GAAgB;AACZtlC,kCAAM,IADM;AAEZJ,iCAAK,EAFO;AAGZE,mCAAO;AAHK,yBAAhB;AAKAiM,2BAAGpN,IAAH,CAAQ4uD,GAAR,GAAc;AACVvtD,kCAAM,IADI;AAEVJ,iCAAK,EAFK;AAGVE,mCAAO;AAHG,yBAAd;AAKH;AACJ,iBAhBD;AAiBH,aAlBD,MAkBO;AACH;AACAiM,mBAAGpN,IAAH,GAAU;AACN2mC,2BAAO;AACHtlC,8BAAM,IADH;AAEHJ,6BAAK,EAFF;AAGHE,+BAAO;AAHJ,qBADD;AAMNytD,yBAAK;AACDvtD,8BAAM,IADL;AAEDJ,6BAAK,EAFJ;AAGDE,+BAAO;AAHN;AANC,iBAAV;AAYH;AACJ,SAlCD;;AAoCA,iBAASslB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQuyB,MAAT,IAAmB,CAACnlB,GAAGpN,IAAH,CAAQ6uD,UAA5B,IAA0C,CAACzhD,GAAGpN,IAAH,CAAQ8uD,kBAAnD,IAAyE,CAAC1hD,GAAGpN,IAAH,CAAQ+uD,cAAtF,EACI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAI3hD,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBkuB,qCAAqBld,MAArB,CAA4B3D,GAAGpN,IAA/B,EAAqCuK,IAArC,CAA0C,YAAY;AAClDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHrF,qCAAqBrhB,MAArB,CAA4BQ,GAAGpN,IAA/B,EAAqCuK,IAArC,CAA0C,YAAY;AAClDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAtFD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gCADf,EACiD;AACzC7E,oBAAYqvD,wCAD6B;AAEzCtvD,qBAAa,8EAF4B;AAGzCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH+B,KADjD;;AASA27B,6CAAyC9yD,OAAzC,GAAmD,CAAC,YAAD,EAAe,sBAAf,EAAuC,kBAAvC,CAAnD;;AAEA,aAAS8yD,wCAAT,CAAkD3yD,UAAlD,EAA8D4xB,oBAA9D,EAAoF9kB,gBAApF,EAAsG;AAClG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACdshB,iCAAqBthB,MAArB,GAA8BpC,IAA9B,CAAmC,UAAU3J,KAAV,EAAiB;AAChDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACdsoB,iCAAqBtoB,MAArB,CAA4ByH,GAAGinB,YAAH,CAAgBryB,EAA5C,EAAgDuI,IAAhD,CAAqD,YAAY;AAC7DpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kCADf,EACmD;AAC3C7E,oBAAYsvD,0CAD+B;AAE3CvvD,qBAAa;AAF8B,KADnD;;AAMAuvD,+CAA2C/yD,OAA3C,GAAqD,EAArD;;AAEA,aAAS+yD,0CAAT,GAAsD;AAClD,YAAI7hD,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sCADf,EACuD;AAC/C7E,oBAAYuvD,8CADmC;AAE/CxvD,qBAAa,oFAFkC;AAG/CoN,kBAAU;AACNumB,oBAAQ;AADF;AAHqC,KADvD;;AASA67B,mDAA+ChzD,OAA/C,GAAyD,CAAC,YAAD,EAAe,2BAAf,EAA4C,kBAA5C,CAAzD;;AAEA,aAASgzD,8CAAT,CAAwD7yD,UAAxD,EAAoEyyB,yBAApE,EAA+F3lB,gBAA/F,EAAiH;AAC7G,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB+uB,0CAA0BzlB,GAA1B,CAA8B+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAA7C,EAAiDuI,IAAjD,CAAsD,UAAUvK,IAAV,EAAgB;AAClEoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SARD;;AAUA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJ,gBAAIgQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB+uB,0CAA0B/d,MAA1B,CAAiC3D,GAAGpN,IAApC,EAA0CuK,IAA1C,CAA+C,YAAY;AACvDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHxE,0CAA0BliB,MAA1B,CAAiCQ,GAAGpN,IAApC,EAA0CuK,IAA1C,CAA+C,YAAY;AACvDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAlDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sCADf,EACuD;AAC/C7E,oBAAYwvD,8CADmC;AAE/CzvD,qBAAa,oFAFkC;AAG/CoN,kBAAU;AACNumB,oBAAQ;AADF;AAHqC,KADvD;;AASA87B,mDAA+CjzD,OAA/C,GAAyD,CAAC,YAAD,EAAe,2BAAf,EAA4C,kBAA5C,CAAzD;;AAEA,aAASizD,8CAAT,CAAwD9yD,UAAxD,EAAoEyyB,yBAApE,EAA+F3lB,gBAA/F,EAAiH;AAC7G,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACdmiB,sCAA0BniB,MAA1B,GAAmCpC,IAAnC,CAAwC,UAAU3J,KAAV,EAAiB;AACrDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACdmpB,sCAA0BnpB,MAA1B,CAAiCyH,GAAGinB,YAAH,CAAgBryB,EAAjD,EAAqDuI,IAArD,CAA0D,YAAY;AAClEpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,yBADf,EAC0C;AAClC7E,oBAAYyvD,iCADsB;AAElC1vD,qBAAa;AAFqB,KAD1C;;AAMA0vD,sCAAkClzD,OAAlC,GAA4C,CAAC,YAAD,EAAe,kBAAf,EAAmC,aAAnC,EAAkD,WAAlD,EAA+D,uBAA/D,CAA5C;;AAEA,aAASkzD,iCAAT,CAA2C/yD,UAA3C,EAAuD8M,gBAAvD,EAAyEilB,WAAzE,EAAsF7xB,SAAtF,EAAiG4yB,qBAAjG,EAAwH;AACpH,YAAI/hB,KAAK,IAAT;;AAEAA,WAAGpN,IAAH;AACAoN,WAAGmsB,iBAAH,GAAuBnL,YAAYhsB,iBAAnC;;AAEAgL,WAAGC,OAAH,GAAa,YAAY;AACrBgiD;;AAEAlgC,kCAAsBC,UAAtB,GAAmC7kB,IAAnC,CAAwC,UAAUxM,IAAV,EAAgB;AACpDqP,mBAAGpN,IAAH,GAAUjC,IAAV;AACAqP,mBAAGpN,IAAH,CAAQi/B,SAAR,GAAoBlhC,KAAKuxD,gBAAzB;AACH,aAHD;AAIH,SAPD;;AASAliD,WAAGqZ,IAAH,GAAU,YAAY;AAClB0I,kCAAsBE,WAAtB,CAAkCjiB,GAAGpN,IAArC,EAA2CuK,IAA3C,CAAgD,YAAY;AACxDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAroB,yBAASoK,MAAT,CAAgB,IAAhB;AACH,aAHD;AAIH,SALD;;AAOA,iBAASymD,YAAT,GAAwB;AACpBlU,qBAASC,YAAT,GAAwB,KAAxB;AACAD,qBAASljC,OAAT,CAAiBojC,iBAAjB,GAAqC,KAArC;;AAEA,gBAAIC,aAAa,IAAIH,QAAJ,CAAa,YAAb,CAAjB;;AAEAG,uBAAWrjC,OAAX,CAAmBujC,cAAnB,GAAoC,IAApC;AACAF,uBAAWrjC,OAAX,CAAmBwjC,WAAnB,GAAiC,CAAjC;AACAH,uBAAWrjC,OAAX,CAAmByjC,QAAnB,GAA8B,EAA9B;AACAJ,uBAAWrjC,OAAX,CAAmB0jC,aAAnB,GAAmC,uBAAnC;AACAL,uBAAWrjC,OAAX,CAAmBs3C,gBAAnB,GAAsC,KAAtC;;AAEAjU,uBAAW7O,GAAX,GAAiBvtC,EAAjB,CAAoB,WAApB,EAAiC,UAAUoH,IAAV,EAAgB;AAC7CkpD,sCAAsBlpD,IAAtB;AACH,aAFD;AAGH;;AAED,iBAASkpD,qBAAT,CAA+BlpD,IAA/B,EAAqC;AACjC/J,sBAAUkD,IAAV,CAAe;AACXC,6BAAa,+EADF;AAEXC,4BAAY,6BAFD;AAGXC,8BAAc,OAHH;AAIXgS,kCAAkB,IAJP;AAKXvU,yBAAS;AACLoyD,qCAAiB,2BAAY;AACzB,+BAAO;AACHnpD,kCAAMA;AADH,yBAAP;AAGH;AALI,iBALE;AAYXzG,sBAAM;AAZK,aAAf,EAaGuL,MAbH,CAcKb,IAdL,CAcU,UAAUmlD,WAAV,EAAuB;AACzBt/B,kCAAkBoH,cAAlB,CAAiClxB,IAAjC,EAAuCopD,WAAvC,EAAoDnlD,IAApD,CAAyD,UAAU6mB,IAAV,EAAgB;AACrE8pB,0CAAsB9pB,IAAtB;AACH,iBAFD;AAGH,aAlBL;AAmBH;;AAED,iBAAS8pB,qBAAT,CAA+B9pB,IAA/B,EAAqC;AACjC90B,qBAAS,YAAY;AAAE8Q,mBAAGpN,IAAH,CAAQ2vD,QAAR,GAAmBv+B,IAAnB;AAA0B,aAAjD;AACH;AACJ;AACJ,CA3ED;;;ACAA,CAAC,YAAY;AACT;;AACAx1B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,yBADf,EAC0C;AAClC7E,oBAAYiwD,iCADsB;AAElClwD,qBAAa;AAFqB,KAD1C;;AAMAkwD,sCAAkC1zD,OAAlC,GAA4C,CAAC,YAAD,EAAe,kBAAf,EAAmC,aAAnC,EAAkD,uBAAlD,CAA5C;;AAEA,aAAS0zD,iCAAT,CAA2CvzD,UAA3C,EAAuD8M,gBAAvD,EAAyEilB,WAAzE,EAAsFe,qBAAtF,EAA6G;AACzG,YAAI/hB,KAAK,IAAT;;AAEAA,WAAGyiD,cAAH,GAAoB,KAApB;AACAziD,WAAG0iD,iBAAH,GAAuB,EAAvB;;AAEA1iD,WAAG2iD,sBAAH,GAA4BA,sBAA5B;;AAEA3iD,WAAGC,OAAH,GAAa,YAAY;AACrBiiB;AACH,SAFD;;AAIAliB,WAAGqZ,IAAH,GAAU,YAAY;AAClBrZ,eAAGyiD,cAAH,GAAoB,IAApB;;AAEA1gC,kCAAsBI,qBAAtB,CAA4CniB,GAAG0iD,iBAA/C,EAAkEvlD,IAAlE,CAAuE,YAAY;AAC/E4kB,sCAAsBG,oBAAtB,GAA6C/kB,IAA7C,CAAkD,UAAUulD,iBAAV,EAA6B;AAC3E1iD,uBAAG0iD,iBAAH,GAAuBA,iBAAvB;AACA3mD,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGyiD,cAAH,GAAoB,KAApB;AACH,iBAJD;AAKH,aAND;AAOH,SAVD;;AAaA,iBAASvgC,oBAAT,GAAgC;AAC5BH,kCAAsBG,oBAAtB,GAA6C/kB,IAA7C,CAAkD,UAAUulD,iBAAV,EAA6B;AAC3E1iD,mBAAG0iD,iBAAH,GAAuB,CAACA,kBAAkBlxD,MAAnB,GACjBwvB,YAAY3qB,wBADK,GAEjBqsD,iBAFN;AAGH,aAJD;AAKH;;AAED,iBAASC,sBAAT,CAAgCC,SAAhC,EAA2C;AACvC,oBAAOA,SAAP;AACI,qBAAK5hC,YAAYvrB,oBAAZ,CAAiCotD,SAAtC;AACI,2BAAO5zD,WAAWI,SAAX,CAAqByzD,OAA5B;AACJ,qBAAK9hC,YAAYvrB,oBAAZ,CAAiCC,WAAtC;AACI,2BAAOzG,WAAWI,SAAX,CAAqBqG,WAA5B;AACJ,qBAAKsrB,YAAYvrB,oBAAZ,CAAiCE,SAAtC;AACI,2BAAO1G,WAAWI,SAAX,CAAqB0zD,OAA5B;AACJ,qBAAK/hC,YAAYvrB,oBAAZ,CAAiCK,SAAtC;AACI,2BAAO7G,WAAWI,SAAX,CAAqBwT,OAA5B;AACJ,qBAAKme,YAAYvrB,oBAAZ,CAAiCM,eAAtC;AACI,2BAAO9G,WAAWI,SAAX,CAAqB2zD,aAA5B;AACJ,qBAAKhiC,YAAYvrB,oBAAZ,CAAiCO,cAAtC;AACI,2BAAO/G,WAAWI,SAAX,CAAqB4zD,YAA5B;AACJ,qBAAKjiC,YAAYvrB,oBAAZ,CAAiCQ,SAAtC;AACI,2BAAOhH,WAAWI,SAAX,CAAqB6zD,OAA5B;AACJ,qBAAKliC,YAAYvrB,oBAAZ,CAAiCS,UAAtC;AACI,2BAAOjH,WAAWI,SAAX,CAAqBunC,QAA5B;AACJ,qBAAK5V,YAAYvrB,oBAAZ,CAAiCU,KAAtC;AACI,2BAAOlH,WAAWI,SAAX,CAAqB8zD,GAA5B;AACJ,qBAAKniC,YAAYvrB,oBAAZ,CAAiCrD,IAAtC;AACI,2BAAOnD,WAAWI,SAAX,CAAqB+C,IAA5B;AACJ,qBAAK4uB,YAAYvrB,oBAAZ,CAAiCW,KAAtC;AACI,2BAAOnH,WAAWI,SAAX,CAAqB+G,KAA5B;AACJ;AACI,2BAAO,UAAP;AAxBR;AA0BH;AACJ;AACJ,CAxED;;;ACAA,CAAC,YAAY;AACT;;AACA5H,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gCADf,EACiD;AACzC7E,oBAAY6wD,wCAD6B;AAEzC9wD,qBAAa;AAF4B,KADjD;;AAMA8wD,6CAAyCt0D,OAAzC,GAAmD,EAAnD;;AAEA,aAASs0D,wCAAT,GAAoD;AAChD,YAAIpjD,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oCADf,EACqD;AAC7C7E,oBAAY8wD,4CADiC;AAE7C/wD,qBAAa,kFAFgC;AAG7CoN,kBAAU;AACNumB,oBAAQ;AADF;AAHmC,KADrD;;AASAo9B,iDAA6Cv0D,OAA7C,GAAuD,CAAC,YAAD,EAAe,yBAAf,EAA0C,kBAA1C,CAAvD;;AAEA,aAASu0D,4CAAT,CAAsDp0D,UAAtD,EAAkEmzB,uBAAlE,EAA2FrmB,gBAA3F,EAA6G;AACzG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClByvB,wCAAwBnmB,GAAxB,CAA4B+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAA3C,EAA+CuI,IAA/C,CAAoD,UAAUvK,IAAV,EAAgB;AAChEoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SARD;;AAUA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJ,gBAAIgQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClByvB,wCAAwBze,MAAxB,CAA+B3D,GAAGpN,IAAlC,EAAwCuK,IAAxC,CAA6C,YAAY;AACrDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACH9D,wCAAwB5iB,MAAxB,CAA+BQ,GAAGpN,IAAlC,EAAwCuK,IAAxC,CAA6C,YAAY;AACrDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAlDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oCADf,EACqD;AAC7C7E,oBAAY+wD,4CADiC;AAE7ChxD,qBAAa,kFAFgC;AAG7CoN,kBAAU;AACNumB,oBAAQ;AADF;AAHmC,KADrD;;AASAq9B,iDAA6Cx0D,OAA7C,GAAuD,CAAC,YAAD,EAAe,yBAAf,EAA0C,kBAA1C,CAAvD;;AAEA,aAASw0D,4CAAT,CAAsDr0D,UAAtD,EAAkEmzB,uBAAlE,EAA2FrmB,gBAA3F,EAA6G;AACzG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACd6iB,oCAAwB7iB,MAAxB,GAAiCpC,IAAjC,CAAsC,UAAU3J,KAAV,EAAiB;AACnDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACd6pB,oCAAwB7pB,MAAxB,CAA+ByH,GAAGinB,YAAH,CAAgBryB,EAA/C,EAAmDuI,IAAnD,CAAwD,YAAY;AAChEpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,wBADf,EACyC;AACjC7E,oBAAYgxD,gCADqB;AAEjCjxD,qBAAa;AAFoB,KADzC;;AAMAixD,qCAAiCz0D,OAAjC,GAA2C,CAAC,iBAAD,CAA3C;;AAEA,aAASy0D,gCAAT,CAA0C3gC,eAA1C,EAA2D;AACvD,YAAI5iB,KAAK,IAAT;;AAEA,aAAKC,OAAL,GAAe,YAAW;AACzB2iB,4BAAgB6C,cAAhB,GAAiCtoB,IAAjC,CAAsC,UAASC,QAAT,EAAmB;AACxD4C,mBAAGrP,IAAH,GAAUyM,QAAV;AACA,aAFD;AAGA,SAJD;;AAMA4C,WAAGqZ,IAAH,GAAU,YAAW;AACpBuJ,4BAAgB8C,eAAhB,CAAgC1lB,GAAGrP,IAAnC,EAAyCwM,IAAzC,CAA8C,UAASC,QAAT,EAAmB;AAChE4C,mBAAGrP,IAAH,GAAUyM,QAAV;AACA,aAFD;AAGA,SAJD;;AAMA4C,WAAG2W,OAAH,GAAa,YAAW;AACvB3W,eAAG6c,SAAH,GAAe,IAAf;AACA+F,4BAAgB+C,kBAAhB,GAAqCxoB,IAArC,CAA0C,UAASC,QAAT,EAAmB;AAC5D4C,mBAAGrP,IAAH,GAAUyM,QAAV;AACA4C,mBAAG6c,SAAH,GAAe,KAAf;AACA,aAHD;AAIA,SAND;;AAQA7c,WAAGwjD,OAAH,GAAa,UAAUtjB,MAAV,EAAkB;AAC3B,oBAAQA,MAAR;AACI,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AACJ,qBAAK,KAAL;AACI,2BAAO,cAAP;AAxER;AA0EH,SA3ED;AA4EH;AACJ,CA9GD;;;ACAA,CAAC,UAAU3xC,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK8D,UADL,CACgB,wBADhB,EAC0CkxD,sBAD1C;;AAGAA,2BAAuB30D,OAAvB,GAAiC,CAC7B,QAD6B,EAE7B,gBAF6B,EAG7B,kBAH6B,EAI7B,mBAJ6B,EAK7B,YAL6B,EAM7B,QAN6B,EAO7B,MAP6B,EAQ7B,kBAR6B,EAS7B,UAT6B,EAU7B,YAV6B,EAW7B,aAX6B,EAY7B,kBAZ6B,EAa7B,WAb6B,EAc7B,cAd6B,EAe7B,qBAf6B,EAgB7B,uBAhB6B,CAAjC;;AAkBA,aAAS20D,sBAAT,CACI5jD,MADJ,EAEIzQ,cAFJ,EAGIigC,gBAHJ,EAII7sB,iBAJJ,EAKIsgB,UALJ,EAMInwB,MANJ,EAOIC,IAPJ,EAQIV,gBARJ,EASIhD,QATJ,EAUID,UAVJ,EAWI+xB,WAXJ,EAYIjlB,gBAZJ,EAaI5M,SAbJ,EAcI2T,YAdJ,EAeIV,mBAfJ,EAgBI2f,qBAhBJ,EAgB2B;;AAEvB,YAAI/hB,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH,GAAUpE,QAAQ4tB,IAAR,CAAaxpB,IAAb,CAAV;AACAoN,WAAGghB,WAAH,GAAiBA,WAAjB;AACAhhB,WAAGrN,MAAH,GAAYA,MAAZ;AACAqN,WAAGlN,IAAH,GAAUF,KAAKE,IAAf;AACAkN,WAAGjN,MAAH,GAAYH,KAAKG,MAAjB;AACAiN,WAAG0jD,UAAH,GAAiB1jD,GAAGjN,MAAH,KAAciN,GAAGghB,WAAH,CAAetsB,aAAf,CAA6BivD,SAA5D;AACA3jD,WAAG9N,gBAAH,GAAsBA,gBAAtB;AACA8N,WAAG4jD,kBAAH,GAAwB,IAAxB;AACA5jD,WAAG6jD,kBAAH,GAAwB,KAAxB;AACA7jD,WAAG8jD,SAAH,GAAe,CAAf;AACA9jD,WAAG+jD,SAAH,GAAe,EAAf;;AAEA/jD,WAAGzM,YAAH,GAAkB,EAAlB;AACAyM,WAAG0iD,iBAAH,GAAuB,EAAvB;;AAEA,YAAIsB,aAAa,KAAjB;;AAEA;AACAhkD,WAAGikD,QAAH,GAAcA,QAAd;AACAjkD,WAAGqD,MAAH,GAAYA,MAAZ;AACArD,WAAGqZ,IAAH,GAAUA,IAAV;AACArZ,WAAG7D,MAAH,GAAYC,OAAZ;AACA4D,WAAGkkD,cAAH,GAAoBA,cAApB;AACAlkD,WAAGmkD,YAAH,GAAkBA,YAAlB;AACAnkD,WAAG6oB,aAAH,GAAmBA,aAAnB;AACA7oB,WAAGokD,aAAH,GAAmBA,aAAnB;AACApkD,WAAGqkD,wBAAH,GAA8B91D,IAAIgB,WAAJ,CAAgBkf,QAAhB,CAAyB8K,cAAzB,KAA4C,MAA1E;AACAvZ,WAAGskD,mBAAH,GAAyBA,mBAAzB;AACAtkD,WAAGukD,YAAH,GAAkBA,YAAlB;AACAvkD,WAAGwkD,cAAH,GAAoBA,cAApB;AACAxkD,WAAGykD,kBAAH,GAAwBA,kBAAxB;AACAzkD,WAAG0kD,qBAAH,GAA2BA,qBAA3B;;AAEA,aAAKzkD,OAAL,GAAe,YAAY;AACvBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACA2Q;AACA,gBAAIvN,UAAUC,KAAKgC,EAAnB,EAAuB;AACnBovD,6BAAa,IAAb;AACAhkD,mBAAG+O,SAAH,GAAenc,KAAKgC,EAApB;AACAoL,mBAAG9N,gBAAH,GAAsB8N,GAAGpN,IAAH,CAAQY,KAAR,CAAchC,MAAd,GAAuB,CAA7C;AACAwO,mBAAG4jD,kBAAH,GAAwB5jD,GAAGpN,IAAH,CAAQS,UAAhC;AACH,aALD,MAKO;AACH,oBAAIsxD,SAASjnD,KAAKsd,KAAL,CAAWF,aAAaC,OAAb,CAAqB,qBAArB,CAAX,CAAb;AACA,oBAAI4pC,MAAJ,EAAY;AACR,wBAAI7xD,OAAOF,KAAKE,IAAhB;AACAkN,uBAAGpN,IAAH,GAAU+xD,MAAV;AACA3kD,uBAAGpN,IAAH,CAAQsyB,WAAR,GAAsB,IAAtB;AACAllB,uBAAGpN,IAAH,CAAQE,IAAR,GAAeA,IAAf;;AAEA,wBAAIA,QAAQkuB,YAAY1sB,WAAZ,CAAwBE,IAApC,EAA0C;AACtCwL,2BAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBE,SAAjB,GAA6B,IAA7B;AACAsM,2BAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBG,GAAjB,GAAuB,IAAvB;AACH;AACJ;AACJ;;AAEDvE,2BAAe45B,eAAf,CAA+BhpB,GAAGpN,IAAH,CAAQgC,EAAvC,EAA2CuI,IAA3C,CAAgD,UAAU6uB,QAAV,EAAoB;AAChEhsB,mBAAGgsB,QAAH,GAAcA,QAAd;AACH,aAFD;;AAIAjK,kCAAsBG,oBAAtB,GAA6C/kB,IAA7C,CAAkD,UAAUulD,iBAAV,EAA6B;AAC3E1iD,mBAAG0iD,iBAAH,GAAuBA,qBAAqB,CAACA,kBAAkBlxD,MAAxC,GACjBwvB,YAAY3qB,wBADK,GAEjBqsD,iBAFN;AAGH,aAJD;AAKH,SAhCD;;AAkCA7iD,eAAOS,MAAP,CAAc,uBAAd,EAAuC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACjE,gBAAID,YAAYC,QAAhB,EACI;;AAEJ,gBAAID,YAAY,IAAhB,EACI;;AAEJ,gBAAIP,GAAG4jD,kBAAH,IAAyBrjD,QAA7B,EAAuC;AACnCP,mBAAG6jD,kBAAH,GAAwB,KAAxB;AACA;AACH;;AAED7jD,eAAG6jD,kBAAH,GAAwB,IAAxB;AACH,SAbD;;AAeA,iBAASxgD,MAAT,GAAkB;AACdb,8BAAkBgB,OAAlB,CAA0B,QAA1B;AACH;;AAED,iBAASgwB,YAAT,CAAsBh1B,KAAtB,EAA6BxO,IAA7B,EAAmC;;AAE/B,gBAAI8W,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;;AAEAnV,qBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;AACA,gBAAI5N,OAAO,IAAI8M,IAAJ,CAAS,CAACxH,KAAD,CAAT,EAAkB;AACzB1L,sBAAM;AADmB,aAAlB,CAAX;;AAIA,gBAAIqE,MAAMhG,OAAO8U,GAAP,CAAWC,eAAX,CAA2BhN,IAA3B,CAAV;;AAEA4N,cAAEjI,IAAF,GAAS1H,GAAT;AACA2P,cAAEE,MAAF,GAAW,QAAX;AACAF,cAAEG,QAAF,GAAajX,IAAb;;AAEA8W,cAAEM,KAAF;;AAEA;AACAssB,uBAAW,YAAY;AACnB5sB,kBAAE6sB,UAAF,CAAaC,WAAb,CAAyB9sB,CAAzB;AACA3V,uBAAO8U,GAAP,CAAW4tB,eAAX,CAA2B18B,GAA3B;AACH,aAHD,EAGG,IAHH;AAKH;;AAED,iBAASitD,aAAT,CAAuBxxD,IAAvB,EAA6B;AACzB,gBAAIqd,SAAS;AACT20C,4BAAY,CAAChyD,KAAKgC,EAAN;AADH,aAAb;;AAIAxF,2BAAei5B,YAAf,CAA4BpY,MAA5B,EAAoC9S,IAApC,CAAyC,UAAUjE,IAAV,EAAgB;AACrD,oBAAIm6B,WAAW,cAAczgC,KAAKgC,EAAlC;AACA4+B,6BAAat6B,IAAb,EAAmBm6B,QAAnB;AACH,aAHD;AAIH;;AAED,iBAASha,IAAT,CAAcsC,IAAd,EAAoBkpC,QAApB,EAA8B;AAC1B,gBAAI,CAAClpC,KAAKmpC,MAAV,EAAkB;AACdnpC,qBAAKopC,UAAL,GAAkB,IAAlB;AACA;AACH;AACDppC,iBAAKopC,UAAL,GAAkB,KAAlB;;AAEA,gBAAIC,aAAaC,MAAMz2D,QAAQ4tB,IAAR,CAAapc,GAAGpN,IAAhB,CAAN,CAAjB;;AAGA,gBAAIoN,GAAG9N,gBAAH,KAAwB8yD,WAAWxxD,KAAX,CAAiBhC,MAAjB,GAA0B,CAA1B,IAA+B0zD,cAAvD,CAAJ,EAA4E;AACxEnpD,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB81D,qCAA7C;;AAEA;AACH;;AAED;AACA,gBAAIC,kBAAkB;AAClB1xD,2BAAWsM,GAAGpN,IAAH,CAAQc,SADD;AAElBR,2BAAW8M,GAAGpN,IAAH,CAAQM,SAFD;AAGlB8rB,2BAAWhf,GAAGpN,IAAH,CAAQosB,SAHD;AAIlBuK,2BAAWvpB,GAAGpN,IAAH,CAAQ22B,SAJD;AAKlBtP,0BAAUja,GAAGpN,IAAH,CAAQqnB,QALA;AAMlBgF,2BAAWjf,GAAGpN,IAAH,CAAQqsB,SAND;AAOlBmG,iCAAiBplB,GAAGpN,IAAH,CAAQwyB,eAPP;AAQlB/xB,4BAAY2M,GAAGpN,IAAH,CAAQS,UARF;AASlBgyD,gCAAgB,IATE;AAUlBzxD,sBAAMoM,GAAGpN,IAAH,CAAQgB,IAVI;AAWlBZ,uBAAO,EAXW;AAYlBC,0BAAU,EAZQ;AAalBM,8BAAc,EAbI;AAclB+xD,8BAAc,EAdI;AAelBC,8BAAc,EAfI;AAgBlB/xD,uBAAO,CAAC;AACJE,+BAAWsM,GAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBE,SADxB;AAEJC,yBAAKqM,GAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBG;AAFlB,iBAAD;AAhBW,aAAtB;;AAsBAmnB,yBAAaS,OAAb,CAAqB,qBAArB,EAA4C7d,KAAKC,SAAL,CAAeynD,eAAf,CAA5C;;AAEA,gBAAIplD,GAAGrN,MAAP,EAAe;AACXyyD,gCAAgBC,cAAhB,GAAiCrlD,GAAGpN,IAAH,CAAQyyD,cAAzC;AACA1hD,uBAAOqhD,UAAP;AACA;AACH;;AAEDxlD,mBAAOwlD,UAAP,EAAmBH,QAAnB;AACH;;AAED,iBAASZ,QAAT,GAAoB;AAChB,gBAAIztC,QAAQ,CAAZ;AACA,iBAAK,IAAI9X,IAAI,CAAb,EAAgBA,IAAIsB,GAAGpN,IAAH,CAAQY,KAAR,CAAchC,MAAlC,EAA0CkN,GAA1C,EAA+C;AAC3C8X,wBAAQA,SAASe,WAAWvX,GAAGpN,IAAH,CAAQY,KAAR,CAAckL,CAAd,EAAiBjL,KAA5B,KAAsC,CAA/C,CAAR;AACH;AACD,mBAAO8jB,WAAWf,KAAX,EAAkB20B,OAAlB,CAA0B,CAA1B,CAAP;AACH;;AAED,iBAAS+Z,YAAT,GAAwB;AACpB,gBAAIM,WAAW,KAAf;;AAEA,iBAAK,IAAI9mD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGpN,IAAH,CAAQY,KAAR,CAAchC,MAAlC,EAA0CkN,GAA1C,EAA+C;AAC3C,oBAAI9L,OAAOoN,GAAGpN,IAAH,CAAQY,KAAR,CAAckL,CAAd,CAAX;AACA,oBAAI+mD,UAAU,CAAC7yD,KAAKc,SAAN,IAAoBd,KAAKe,GAAL,IAAYlC,SAAZ,IAAyBmB,KAAKe,GAAL,IAAY,IAArC,IAA6Cf,KAAKe,GAAL,GAAW,CAA5E,IAAkF,CAACf,KAAKa,KAAtG;AACA,oBAAIgyD,OAAJ,EAAa;AACTD,+BAAW,IAAX;AACH;AACJ;;AAED,mBAAOA,QAAP;AACH;;AAED,iBAAS7hD,MAAT,CAAgBqhD,UAAhB,EAA4B;AACxB51D,2BAAeuU,MAAf,CAAsBqhD,UAAtB,EAAkC;AAC9BlmD,6BAAa;AADiB,aAAlC,EAEG3B,IAFH,CAEQ,UAAUvK,IAAV,EAAgB;;AAEpB,oBAAIA,KAAK8yD,qCAAT,EACItjD,oBAAoB/P,IAApB,CAAyBpD,WAAWI,SAAX,CAAqBs2D,4CAA9C,EAA4F12D,WAAWI,SAAX,CAAqBu2D,KAAjH,EAAwHzoD,IAAxH,CAA6H,YAAY;AACrI6nD,+BAAWa,mBAAX,GAAiC,IAAjC;AACAliD,2BAAOqhD,UAAP;AACH,iBAHD,EADJ,KAKK;AACDjpD,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAjX,sCAAkBe,KAAlB;AACAtU,+BAAWslC,KAAX,CAAiB,aAAjB;AACH;AACJ,aAdD,EAcG,UAAU94B,GAAV,EAAe;AACduE,mBAAGpN,IAAH,CAAQkzD,MAAR,GAAiBrqD,GAAjB;AACH,aAhBD;AAiBH;;AAED,iBAAS+D,MAAT,CAAgBwlD,UAAhB,EAA4BH,QAA5B,EAAsC;AAClCz1D,2BAAeoQ,MAAf,CAAsBwlD,UAAtB,EAAkC;AAC9BlmD,6BAAa;AADiB,aAAlC,EAEG3B,IAFH,CAEQ,UAAUvK,IAAV,EAAgB;;AAEpB,oBAAIA,KAAKmzD,2CAAT,EAAsD;AAClD3jD,wCAAoB/P,IAApB,CAAyBpD,WAAWI,SAAX,CAAqB22D,6CAA9C,EAA6F/2D,WAAWI,SAAX,CAAqBu2D,KAAlH,EAAyHzoD,IAAzH,CAA8H,YAAY;AACtI6nD,mCAAWiB,yDAAX,GAAuE,IAAvE;AACAzmD,+BAAOwlD,UAAP,EAAmBH,QAAnB;AACH,qBAHD;AAIH,iBALD,MAKO,IAAIjyD,KAAK8yD,qCAAT,EAAgD;AACnDtjD,wCAAoB/P,IAApB,CAAyBpD,WAAWI,SAAX,CAAqBs2D,4CAA9C,EAA4F12D,WAAWI,SAAX,CAAqBu2D,KAAjH,EAAwHzoD,IAAxH,CAA6H,YAAY;AACrI6nD,mCAAWa,mBAAX,GAAiC,IAAjC;AACArmD,+BAAOwlD,UAAP,EAAmBH,QAAnB;AACH,qBAHD;AAIH,iBALM,MAKA;AACH9oD,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;;AAEA,wBAAIorC,QAAJ,EAAc;AACVV,qCAAavxD,IAAb;AACA;AACH;;AAED4P,sCAAkBe,KAAlB;AACAtU,+BAAWslC,KAAX,CAAiB,aAAjB;AACH;AACJ,aAzBD,EAyBG,UAAU94B,GAAV,EAAe;AACduE,mBAAGpN,IAAH,CAAQkzD,MAAR,GAAiBrqD,GAAjB;AACH,aA3BD;AA4BH;;AAED,iBAAS0oD,YAAT,CAAsBvxD,IAAtB,EAA4B;AACxB,gBAAI8f,WAAW,EAAf;AACAA,qBAAS1Q,IAAT,CAAc;AACVpN,oBAAIhC,KAAKgC,EADC;AAEVskD,wBAAQ,EAFE;AAGVpM,0BAAU9rB,YAAYtsB,aAAZ,CAA0BwxD;AAH1B,aAAd;;AAMA72B,6BAAiB5c,mBAAjB,CAAqCC,QAArC,EAA+CvV,IAA/C,CAAoD,UAAUa,MAAV,EAAkB;AAClEjC,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB29C,wBAA9C;AACA/9C,2BAAWslC,KAAX,CAAiB,aAAjB;AACA/xB,kCAAkBe,KAAlB;AACH,aAJD;AAKH;;AAED,iBAASslB,aAAT,GAAyB;AACrB/lB,yBAAazQ,IAAb,CAAkB,uBAAlB,EAA2C,EAAEI,MAAM,IAAR,EAA3C,EAA2DuL,MAA3D,CAAkEb,IAAlE,CAAuE,UAAUvK,IAAV,EAAgB;AACnFxD,+BAAey5B,aAAf,CAA6Bj2B,IAA7B,EAAmCuK,IAAnC,CAAwC,UAAUxM,IAAV,EAAgB;AACpDqP,uBAAGgsB,QAAH,CAAYhqB,IAAZ,CAAiBrR,IAAjB;AACH,iBAFD;AAGH,aAJD;AAKH;;AAED,iBAASyL,OAAT,GAAmB;AACf,gBAAIlC,UAAU+qD,MAAMz2D,QAAQ4tB,IAAR,CAAapc,GAAGpN,IAAhB,CAAN,CAAd;;AAEAuzD,gCAAoBhpD,IAApB,CAAyB,YAAY;AACjC/N,+BAAe+M,MAAf,CAAsBjC,QAAQtF,EAA9B,EAAkCuI,IAAlC,CAAuC,UAAUC,QAAV,EAAoB;AACvD;AACArB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAxqB,+BAAWslC,KAAX,CAAiB,aAAjB;AACAtlC,+BAAWslC,KAAX,CAAiB,yBAAjB;AACA/xB,sCAAkBe,KAAlB;AACA;AACH,iBAPD;AAQH,aATD,EASG,YAAY,CAAG,CATlB;AAUH;;AAED,iBAAS4iD,iBAAT,GAA6B;AACzB,gBAAI5jD,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,mEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAO0C,KAAP,GAAeC,iBAAf;AACH,iBAFW;AAHW,aAAf,CAAZ;;AAQA,mBAAOD,MAAMvE,MAAb;AACH;;AAED,iBAASkmD,cAAT,GAA0B;AACtB,gBAAIhqD,UAAU+qD,MAAMz2D,QAAQ4tB,IAAR,CAAapc,GAAGpN,IAAhB,CAAN,CAAd;;AAEA,gBAAIuE,MAAM,6BAA6ByM,mBAAmB1J,QAAQtF,EAA3B,CAAvC;AACAzD,mBAAOkB,IAAP,CAAY8E,GAAZ,EAAiB,QAAjB;AACH;;AAED,iBAAS8tD,KAAT,CAAemB,OAAf,EAAwB;AACpB;AACAA,oBAAQtzD,IAAR,GAAekN,GAAGlN,IAAlB;;AAEA,mBAAOszD,QAAQC,QAAf;AACA,mBAAOD,QAAQE,SAAf;;AAEA,mBAAOF,OAAP;AACH;;AAED,iBAASG,eAAT,CAAyB3kD,GAAzB,EAA8B;AAC1B,gBAAI,CAAC5B,GAAGpN,IAAH,CAAQ8I,OAAT,IAAoB,CAACsE,GAAGpN,IAAH,CAAQ8I,OAAR,CAAgB9G,EAArC,IAA2C,CAACoL,GAAGpN,IAAH,CAAQM,SAAxD,EACI;;AAEJ4vB,uBAAWvjB,MAAX,CAAkBS,GAAGpN,IAAH,CAAQM,SAA1B,EAAqC8M,GAAGpN,IAAH,CAAQ8I,OAAR,CAAgB9G,EAArD,EAAyDoL,GAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBG,GAA1E,EAA+EwJ,IAA/E,CAAoF,UAAUmgB,KAAV,EAAiB;AACjGtd,mBAAGwmD,cAAH,GAAoBlpC,KAApB;AACA,oBAAIA,MAAM9rB,MAAN,IAAgB,CAACwyD,UAArB,EAAiC;AAC7BhkD,uBAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBG,GAAjB,GAAuB2pB,MAAM,CAAN,EAAS6H,MAAhC;AACH,iBAFD,MAEO;AACHj2B,6BAAS,YAAY;AACjB80D,qCAAa,KAAb;AACH,qBAFD;AAGH;AACJ,aATD;AAUH;;AAED,iBAASM,mBAAT,GAA+B;AAC3B,mBAAO,CAACtkD,GAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBC,KAAjB,IAA0B,CAA3B,KACF,CAACuM,GAAGymD,gBAAH,IAAuBh1D,SAAvB,IAAoCuO,GAAGymD,gBAAH,IAAuB,IAA3D,IAAmEzmD,GAAGymD,gBAAH,KAAwB,EAA3F,GACElvC,WAAWvX,GAAGzQ,WAAH,CAAem3D,gBAAf,CAAgCj+C,OAAhC,CAAwC,GAAxC,EAA6C,GAA7C,CAAX,CADF,GAEEzI,GAAGymD,gBAFN,KAE2B,CAHzB,CAAP;AAIH;;AAED,iBAASlC,YAAT,GAAwB;AACpB,mBAAOvkD,GAAGymD,gBAAH,IAAuBh1D,SAAvB,IAAoCuO,GAAGymD,gBAAH,IAAuB,IAA3D,IAAmEzmD,GAAGymD,gBAAH,KAAwB,EAA3F,GAAgGzmD,GAAGzQ,WAAH,CAAem3D,gBAA/G,GAAkI1mD,GAAGymD,gBAA5I;AACH;;AAED,iBAASjC,cAAT,GAA0B;AACtBrzD,mBAAOkB,IAAP,CAAY9D,IAAIgB,WAAJ,CAAgBo3D,YAAhB,GAA+B,yBAA/B,GAA2D3mD,GAAGpN,IAAH,CAAQg0D,aAA/E;AACH;;AAED,iBAAS1mD,iBAAT,GAA6B;AACzB,gBAAI2mD,UAAJ;;AAEA,gBAAI7mD,GAAG0jD,UAAP,EAAmB;AACfx0D,yBAAS,YAAY;AACjB23D,iCAAal1D,EAAE,eAAF,EAAmBiuC,OAAnB,CAA2B,UAAUl1B,CAAV,EAAa;AACjD,4BAAIA,EAAEoN,OAAF,KAAc,CAAlB,EACIpN,EAAEyQ,cAAF;AACP,qBAHY,CAAb;AAIH,iBALD;AAMH;;AAEDtb,mBAAOS,MAAP,CAAc,oBAAd,EAAoC,YAAY;AAC5CimD,gCAAgB,gBAAhB;AACH,aAFD;;AAIA1mD,mBAAOS,MAAP,CAAc,sBAAd,EAAsC,YAAY;AAC9C,oBAAI,CAAC,CAACN,GAAGpN,IAAH,CAAQM,SAAV,IAAuB,CAAC,CAAC8M,GAAG8mD,UAAhC,EAA4C;AACxC9mD,uBAAGpN,IAAH,CAAQS,UAAR,GAAqB2M,GAAG8mD,UAAH,CAAczzD,UAAd,GAA2B2M,GAAG8mD,UAAH,CAAczzD,UAAzC,GAAsD2M,GAAGpN,IAAH,CAAQS,UAAnF;AACH;;AAEDkzD,gCAAgB,eAAhB;AACH,aAND;;AAQA1mD,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/B,oBAAIq3D,UAAJ,EACIl1D,EAAE,eAAF,EAAmBm2C,MAAnB,CAA0B,SAA1B,EAAqC+e,UAArC;AACP,aAHD;AAIH;;AAED,iBAASpC,kBAAT,CAA4B7B,SAA5B,EAAuC;AACnC,gBAAI7X,QAAQ/qC,GAAG0iD,iBAAH,CAAqBpqD,IAArB,CAA0B,iBAAS;AAC3C,uBAAOyyC,MAAM/6C,IAAN,IAAc4yD,SAArB;AACH,aAFW,CAAZ;;AAIA,mBAAO7X,SAASA,MAAMz0C,SAAtB;AACH;;AAED,iBAASouD,qBAAT,CAA+B9B,SAA/B,EAA0C;AACtC,gBAAI7X,QAAQ/qC,GAAG0iD,iBAAH,CAAqBpqD,IAArB,CAA0B,iBAAS;AAC3C,uBAAOyyC,MAAM/6C,IAAN,IAAc4yD,SAArB;AACH,aAFW,CAAZ;;AAIA,mBAAO7X,SAASA,MAAMx0C,UAAtB;AACH;AACJ;AAEJ,CAlbD,EAkbGhI,GAlbH;;;ACAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,mBADf,EACoC;AAC5B7E,oBAAYw0D,qBADgB;AAE5Bz0D,qBAAa;AAFe,KADpC;;AAMAy0D,0BAAsBj4D,OAAtB,GAAgC,CAAC,YAAD,EAAe,UAAf,EAA2B,gBAA3B,EAA6C,QAA7C,CAAhC;;AAEA,aAASi4D,qBAAT,CAA+B93D,UAA/B,EAA2CC,QAA3C,EAAqDE,cAArD,EAAqEyQ,MAArE,EAA6E;;AAEzE,YAAIG,KAAK,IAAT;AACA,YAAIgnD,QAAJ;;AAEA;AACAhnD,WAAGinD,WAAH;AACAjnD,WAAGknD,SAAH;AACAlnD,WAAGzQ,WAAH,GAAiBhB,IAAIgB,WAAJ,IAAmB,EAApC;AACAyQ,WAAGmnD,SAAH,GAAe,KAAf;AACAnnD,WAAGonD,UAAH;AACApnD,WAAGqnD,OAAH;AACArnD,WAAGsnD,mBAAH,GAAyB,CAAzB;AACAtnD,WAAGunD,YAAH;AACAvnD,WAAGiQ,MAAH,GAAY;AACRu3C,uBAAW,CADH;AAERC,sBAAU,CAFF;AAGRzoC,uBAAWvtB;AAHH,SAAZ;;AAMAuO,WAAG0nD,kBAAH,GAAwBn5D,IAAIgB,WAAJ,CAAgBwB,OAAhB,IAA2BxC,IAAIgB,WAAJ,CAAgB0B,WAAnE;;AAEA;AACA+O,WAAG2nD,WAAH,GAAiBA,WAAjB;AACA3nD,WAAG4nD,eAAH,GAAqBA,eAArB;AACA5nD,WAAG6nD,eAAH,GAAqBA,eAArB;;AAEA,aAAK5nD,OAAL,GAAe,YAAY;AACvB6nD;AACAC;;AAEA9/B;AACAC;AACAhoB;AACH,SAPD;;AASA,iBAAS+nB,8BAAT,GAA0C;AACtC,gBAAIjJ,YAAYzwB,IAAIgB,WAAJ,CAAgBqF,EAAhC;AACAxF,2BAAe64B,8BAAf,CAA8CjJ,SAA9C,EAAyD7hB,IAAzD,CAA8D,UAAUxM,IAAV,EAAgB;AAC1EqP,mBAAGinD,WAAH,GAAiBt2D,IAAjB;AACAq3D,sCAAsBhoD,GAAGinD,WAAH,CAAegB,QAArC;AACH,aAHD;AAIH;;AAED,iBAAS//B,4BAAT,GAAwC;AACpC94B,2BAAe84B,4BAAf,CAA4CloB,GAAGiQ,MAA/C,EAAuD9S,IAAvD,CAA4D,UAAUxM,IAAV,EAAgB;AACxEqP,mBAAGknD,SAAH,GAAev2D,IAAf;;AAEA,oBAAI,CAACA,KAAKa,MAAV,EACI;;AAEJ,oBAAIwO,GAAGmnD,SAAH,KAAiB,KAArB,EAA4B;AACxBe,iCAAav3D,IAAb;AACH,iBAFD,MAEO;AACHw3D,iCAAax3D,IAAb;AACH;AACJ,aAXD;AAYH;;AAED,iBAASm3D,UAAT,GAAsB;AAClB9nD,eAAGqnD,OAAH,GAAa,CAAC;AACV5zD,uBAAO,CADG;AAEVklC,sBAAM1pC,WAAWI,SAAX,CAAqB+4D;AAFjB,aAAD,EAGV;AACC30D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBg5D;AAF5B,aAHU,EAMV;AACC50D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBi5D;AAF5B,aANU,EASV;AACC70D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBk5D;AAF5B,aATU,EAYV;AACC90D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBm5D;AAF5B,aAZU,EAeV;AACC/0D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBo5D;AAF5B,aAfU,CAAb;;AAoBA,gBAAIzoD,GAAG0nD,kBAAP,EAA2B;AACvB1nD,mBAAGqnD,OAAH,CAAWrlD,IAAX,CAAgB;AACZvO,2BAAO,CADK;AAEZklC,0BAAM1pC,WAAWI,SAAX,CAAqBq5D;AAFf,iBAAhB;AAIH;AACJ;;AAED,iBAASX,aAAT,GAAyB;AACrB/nD,eAAGonD,UAAH,GAAgB,CAAC;AACb3zD,uBAAO,CADM;AAEbklC,sBAAM1pC,WAAWI,SAAX,CAAqBs5D;AAFd,aAAD,EAGb;AACCl1D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBu5D;AAF5B,aAHa,EAMb;AACCn1D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBw5D;AAF5B,aANa,EASb;AACCp1D,uBAAO,CADR;AAECklC,sBAAM1pC,WAAWI,SAAX,CAAqBy5D;AAF5B,aATa,CAAhB;AAaH;;AAED,iBAASjB,eAAT,GAA2B;AACvB,gBAAI,CAAC7nD,GAAGknD,SAAH,CAAa11D,MAAlB,EACI;;AAEJ,gBAAIwO,GAAGmnD,SAAH,KAAiB,KAArB,EAA4B;AACxBe,6BAAaloD,GAAGknD,SAAhB;AACH,aAFD,MAEO;AACHiB,6BAAanoD,GAAGknD,SAAhB;AACH;AACJ;;AAED,iBAASU,eAAT,GAA2B;AACvB1/B;AACH;;AAED,iBAASy/B,WAAT,CAAqB13C,MAArB,EAA6B;AACzBjQ,eAAGiQ,MAAH,CAAUw3C,QAAV,GAAqBx3C,OAAOxc,KAA5B;AACAy0B;AACH;;AAED,iBAAS8/B,qBAAT,CAA+Br3D,IAA/B,EAAqC;;AAEjC,qBAASo4D,kBAAT,GAA8B;AAC1B,qBAAK,IAAIrqD,IAAI,CAAb,EAAgBA,IAAI/N,KAAKa,MAAzB,EAAiCkN,GAAjC,EAAsC;AAClC,wBAAI/N,KAAK+N,CAAL,EAAQ8X,KAAR,GAAgB,CAApB,EACI,OAAO,IAAP;AACP;;AAED,uBAAO,KAAP;AACH;;AAEDxW,eAAGunD,YAAH,GAAkBwB,oBAAlB;;AAEA14B,mBAAOC,IAAP,CAAY;AACR7rB,yBAAS,qBADD;AAER9T,sBAAMA,IAFE;AAGR6/B,sBAAM,OAHE;AAIRC,uBAAO,CAAC,OAAD,CAJC;AAKRC,wBAAQ,CAAC,OAAD,CALA;AAMRE,6BAAa,KANL;AAORC,+BAAe,aAPP;AAQRC,4BAAY,CAAC,SAAD,CARJ;AASRC,2BAAW,CATH;AAURC,2BAAW,KAVH;AAWRC,wBAAQ,IAXA;AAYRC,2BAAW;AAZH,aAAZ;AAcH;;AAED,iBAASg3B,YAAT,CAAsBc,OAAtB,EAA+B;;AAE3B,qBAASC,YAAT,CAAsBt4D,IAAtB,EAA4B;AACxB,oBAAI6lB,QAAQ,CAAZ;AACA,qBAAK,IAAI9X,IAAI,CAAb,EAAgBA,IAAI/N,KAAKa,MAAzB,EAAiCkN,GAAjC;AACI8X,6BAAS7lB,KAAK+N,CAAL,EAAQ/N,IAAjB;AADJ,iBAGA,KAAK,IAAIoR,IAAI,CAAb,EAAgBA,IAAIpR,KAAKa,MAAzB,EAAiCuQ,GAAjC,EAAsC;AAClC,wBAAInP,OAAOjC,KAAKoR,CAAL,CAAX;AACAnP,yBAAKs2D,KAAL,GAAat2D,KAAKs2D,KAAL,GAAa,IAAb,GAAoB,CAACt2D,KAAKjC,IAAL,GAAY6lB,KAAZ,GAAoB,GAArB,EAA0B20B,OAA1B,CAAkC,CAAlC,CAApB,GAA2D,GAAxE;AACH;;AAED,uBAAOx6C,IAAP;AACH;;AAEDzB,qBAAS,YAAY;;AAEjB,oBAAIyB,OAAOs4D,aAAaz6D,QAAQ4tB,IAAR,CAAa4sC,OAAb,CAAb,CAAX;;AAEAr3D,kBAAEy/B,IAAF,CAAO,qBAAP,EAA8BzgC,IAA9B,EAAoC;AAChC0gC,4BAAQ;AACJC,6BAAK;AACDna,kCAAM,IADL;AAEDoa,qCAAS;AACLC,uCAAO,MADF;AAELC,2CAAW;AAFN;AAFR;AADD,qBADwB;AAUhCC,4BAAQ;AACJva,8BAAM;AADF;AAVwB,iBAApC;AAcH,aAlBD;AAmBH;;AAED,iBAASgxC,YAAT,CAAsBa,OAAtB,EAA+B;;AAE3B,qBAASG,kBAAT,GAA8B;AAC1B,oBAAI37C,MAAM;AACN7c,0BAAM;AADA,iBAAV;;AAIA,qBAAK,IAAI+N,IAAI,CAAb,EAAgBA,IAAIsqD,QAAQx3D,MAA5B,EAAoCkN,GAApC,EAAyC;AACrC,wBAAI9L,OAAOo2D,QAAQtqD,CAAR,CAAX;;AAEA8O,wBAAI7c,IAAJ,CAASqR,IAAT,CAAc;AACVonD,2BAAGx2D,KAAKs2D,KADE;AAEVG,2BAAGz2D,KAAKjC,IAFE;AAGV6gC,+BAAO5+B,KAAK4+B,KAAL,IAAc83B;AAHX,qBAAd;AAKH;;AAED,uBAAO97C,GAAP;AACH;;AAED,qBAAS+7C,aAAT,CAAuBC,KAAvB,EAA8BN,KAA9B,EAAqC;AACjC,qBAAK,IAAIxqD,IAAI,CAAb,EAAgBA,IAAI8qD,MAAMh4D,MAA1B,EAAkCkN,GAAlC,EAAuC;AACnC,wBAAI9L,OAAO42D,MAAM9qD,CAAN,CAAX;AACA,wBAAI9L,KAAKw2D,CAAL,IAAUF,KAAd,EACI,OAAOt2D,IAAP;AACP;AACJ;;AAED1D,qBAAS,YAAY;;AAEjB,oBAAIu6D,eAAeN,oBAAnB;;AAEA,oBAAInC,QAAJ,EAAc;AACVA,6BAAS0C,OAAT,CAAiBD,aAAa94D,IAA9B;AACA;AACH;;AAEDq2D,2BAAW32B,OAAOs5B,GAAP,CAAW;AAClBllD,6BAAS,oBADS;AAElB9T,0BAAM84D,aAAa94D,IAFD;AAGlBi5D,+BAAW,mBAAUC,GAAV,EAAex4B,MAAf,EAAuBv+B,IAAvB,EAA6B;AACpC,4BAAIF,OAAO22D,cAAcE,aAAa94D,IAA3B,EAAiCk5D,IAAIX,KAArC,CAAX;AACA,+BAAOt2D,OAAOA,KAAK4+B,KAAZ,GAAoB83B,gBAA3B;AACH,qBANiB;AAOlB94B,0BAAM,GAPY;AAQlBC,2BAAO,CAAC,GAAD,CARW;AASlBC,4BAAQ,CAAC1wB,GAAGinD,WAAH,CAAe/mB,MAAhB;AATU,iBAAX,CAAX;AAWH,aApBD;AAqBH;;AAED,iBAASopB,cAAT,GAA0B;AACtB,gBAAI9+C,IAAI,EAAR;AACA,mBAAOA,EAAEhZ,MAAF,GAAW,CAAlB,EAAqB;AACjBgZ,qBAAM0J,KAAKU,MAAL,EAAD,CAAgBlT,QAAhB,CAAyB,EAAzB,EAA6BooD,MAA7B,CAAoC,CAAC,CAArC,EAAwCA,MAAxC,CAA+C,CAAC,CAAhD,CAAL;AACH;AACD,mBAAO,MAAMt/C,CAAb;AACH;;AAED,iBAAStK,iBAAT,GAA6B;;AAEzB,gBAAIigB,eAAetgB,OAAOS,MAAP,CAAc,wBAAd,EAAwC,UAAUC,QAAV,EAAoBC,QAApB,EAA8B;AACrF,oBAAI,CAACD,QAAD,IAAa,CAACC,QAAlB,EACI;;AAEJ0nB;AACH,aALkB,CAAnB;;AAOAroB,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/B2wB;AACH,aAFD;AAGH;AACJ;AACJ,CAhRD,EAgRG5xB,GAhRH;;;ACAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sBADf,EACuC;AAC/B9E,qBAAa,mEADkB;AAE/BC,oBAAYs5B,IAFmB;AAG/BnsB,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHqB,KADvC;;AAUAspB,SAAK/8B,OAAL,GAAe,CAAC,WAAD,EAAc,eAAd,EAA+B,kBAA/B,EAAmD,YAAnD,CAAf;;AAEA,aAAS+8B,IAAT,CAAc18B,SAAd,EAAyBkQ,aAAzB,EAAwCtD,gBAAxC,EAA0D9M,UAA1D,EAAsE;AAClE,YAAI+Q,KAAK,IAAT;;AAEAA,WAAGC,OAAH,GAAaA,OAAb;AACAD,WAAGqD,MAAH,GAAYA,MAAZ;AACArD,WAAG6P,MAAH,GAAYA,MAAZ;AACA7P,WAAG+pD,UAAH,GAAgBA,UAAhB;AACA/pD,WAAGgqD,UAAH,GAAgBA,UAAhB;AACAhqD,WAAGiqD,qBAAH,GAA2BA,qBAA3B;AACAjqD,WAAGkqD,cAAH,GAAoBA,cAApB;AACAlqD,WAAGmqD,cAAH;AACAnqD,WAAG8mD,UAAH,GAAgB,IAAhB;AACA9mD,WAAGoqD,sBAAH;AACApqD,WAAGqqD,qBAAH;;AAEA,iBAASpqD,OAAT,GAAmB;AACfD,eAAGmqD,cAAH,GAAoB37D,QAAQ4tB,IAAR,CAAapc,GAAGgD,WAAH,CAAeiN,MAA5B,CAApB;AACAjQ,eAAGoqD,sBAAH,GAA4BpqD,GAAGgD,WAAH,CAAeonD,sBAA3C;AACApqD,eAAGqqD,qBAAH,GAA2BrqD,GAAGgD,WAAH,CAAeqnD,qBAA1C;AACArqD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACH;;AAED,iBAAS8T,MAAT,GAAkB;AACdrD,eAAGuC,KAAH,CAASiB,OAAT;AACH;;AAED,iBAASqM,MAAT,GAAkB;AACd7P,eAAGuC,KAAH,CAASgB,KAAT,CAAe,EAAE0M,QAAQjQ,GAAGmqD,cAAb,EAA6BC,wBAAwBpqD,GAAGoqD,sBAAxD,EAAgFC,uBAAuBrqD,GAAGqqD,qBAA1G,EAAf;AACH;;AAED,iBAASN,UAAT,GAAsB;AAClB/pD,eAAGmqD,cAAH,GAAoB;AAChBtiD,sBAAM,CADU;AAEhBmX,2BAAW7rB,SAAS6M,GAAGzQ,WAAH,CAAeqF,EAAxB,CAFK;AAGhBm0C,gCAAgB,GAHA;AAIhBxH,yBAAS;AAJO,aAApB;AAMAvhC,eAAG8mD,UAAH,GAAgB,IAAhB;AACA73D,uBAAWslC,KAAX,CAAiB,cAAjB,EAAiCv0B,GAAGmqD,cAApC;AACH;;AAED,iBAASF,qBAAT,GAAiC;AAC7BjqD,eAAGoqD,sBAAH,GAA4B,CAACpqD,GAAGoqD,sBAAhC;AACApqD,eAAGmqD,cAAH,CAAkBnrC,SAAlB,GAA8B,EAA9B;AACH;;AAED,iBAASkrC,cAAT,GAA0B;AACtBlqD,eAAGqqD,qBAAH,GAA2B,CAACrqD,GAAGqqD,qBAA/B;AACArqD,eAAGmqD,cAAH,CAAkBn5C,OAAlB,GAA4B,EAA5B;AACAhR,eAAGmqD,cAAH,CAAkBj7C,MAAlB,GAA2B,EAA3B;AACH;;AAED,iBAAS86C,UAAT,GAAsB;AAClBM,8BAAkBntD,IAAlB,CAAuB,UAAUnN,IAAV,EAAgB;;AAEnC,oBAAI,CAACA,IAAL,EAAW;AACP;AACH;;AAED,oBAAI4C,OAAO;AACP5C,0BAAMA,IADC;AAEP09C,iCAAa1tC,GAAGmqD;AAFT,iBAAX;;AAKA9qD,8BAAcG,MAAd,CAAqB5M,IAArB,EAA2BuK,IAA3B,CAAgC,UAAUY,GAAV,EAAe;AAC3C9O,+BAAWslC,KAAX,CAAiB,aAAjB;AACAx4B,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBs+C,uBAA9C;AACH,iBAHD;AAIH,aAfD;AAgBH;;AAED,iBAAS2c,eAAT,GAA2B;AACvB,gBAAI/nD,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,uEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAO0C,KAAP,GAAeC,iBAAf;AACH,iBAFW;AAHW,aAAf,CAAZ;;AAQA,mBAAOD,MAAMvE,MAAb;AACH;AACJ;AACJ,CAjGD,EAiGGzP,GAjGH;;;ACAA,CAAC,UAAUA,GAAV,EAAe;AACZ;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,aADf,EAC8B;AACtB9E,qBAAa,+DADS;AAEtBC,oBAAYg4D;AAFU,KAD9B;;AAMAA,0BAAsBz7D,OAAtB,GAAgC,CAC5B,YAD4B,EAE5B,QAF4B,EAG5B,gBAH4B,EAI5B,kBAJ4B,EAK5B,UAL4B,EAM5B,aAN4B,EAO5B,kBAP4B,EAQ5B,WAR4B,EAS5B,gBAT4B,EAU5B,cAV4B,EAW5B,cAX4B,CAAhC;;AAcA,aAASy7D,qBAAT,CAA+Bt7D,UAA/B,EAA2C4Q,MAA3C,EAAmDzQ,cAAnD,EAAmE2M,gBAAnE,EAAqF7M,QAArF,EAA+F8xB,WAA/F,EAA4GqO,gBAA5G,EAA8HlgC,SAA9H,EAAyIgvB,cAAzI,EAAyJrb,YAAzJ,EAAuKW,YAAvK,EAAqL;AACjL,YAAIzD,KAAK,IAAT;;AAEA;AACAA,WAAGiqB,WAAH;AACAjqB,WAAGiQ,MAAH;AACAjQ,WAAGwqD,OAAH;AACAxqD,WAAGzQ,WAAH;AACAyQ,WAAGghB,WAAH,GAAiBA,WAAjB;AACAhhB,WAAGqe,gBAAH;AACAre,WAAGyqD,kBAAH;AACAzqD,WAAGoqD,sBAAH,GAA4B,KAA5B;AACApqD,WAAG0qD,OAAH,GAAa,EAAb;;AAEA1qD,WAAG2qD,QAAH;AACA3qD,WAAG4qD,uBAAH;;AAEA;AACA5qD,WAAG6e,oBAAH,GAA0BA,oBAA1B;AACA7e,WAAG6qD,UAAH,GAAgBA,UAAhB;AACA7qD,WAAG8qD,SAAH,GAAeA,SAAf;AACA9qD,WAAG+qD,SAAH,GAAeA,SAAf;AACA/qD,WAAGgrD,YAAH,GAAkBA,YAAlB;AACAhrD,WAAGirD,SAAH,GAAeA,SAAf;AACAjrD,WAAGkrD,aAAH,GAAmBA,aAAnB;AACAlrD,WAAGuoB,iBAAH,GAAuBA,iBAAvB;AACAvoB,WAAG0oB,iBAAH,GAAuBA,iBAAvB;AACA1oB,WAAGwoB,cAAH,GAAoBA,cAApB;AACAxoB,WAAGmrD,YAAH,GAAkBA,YAAlB;AACAnrD,WAAGorD,WAAH,GAAiBA,WAAjB;;AAEAprD,WAAGyhC,WAAH,GAAiB,CAAjB;;AAEAzhC,WAAGqrD,cAAH,GAAoBA,cAApB;AACArrD,WAAGkhB,WAAH,GAAiBA,WAAjB;AACAlhB,WAAG2rC,SAAH,GAAeA,SAAf;AACA3rC,WAAGmkD,YAAH,GAAkBA,YAAlB;AACAnkD,WAAGuhC,OAAH,GAAaA,OAAb;AACAvhC,WAAGsrD,aAAH,GAAmBA,aAAnB;AACAtrD,WAAGurD,aAAH,GAAmBA,aAAnB;AACAvrD,WAAGwrD,mBAAH,GAAyBA,mBAAzB;;AAEAxrD,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACA,gBAAI0gB,SAASvS,KAAKsd,KAAL,CAAWF,aAAaC,OAAb,CAAqB,gBAArB,CAAX,CAAb;;AAEA,gBAAI9K,MAAJ,EAAY;AACR;AACAjQ,mBAAGiQ,MAAH,GAAYA,MAAZ;AACH,aAHD,MAII85C;;AAEJ/pD,eAAGyrD,WAAH;;AAEAH;;AAEAprD;AACH,SAfD;;AAiBAF,WAAGyrD,WAAH,GAAiB,YAAY;AACzBhoD,yBAAalE,MAAb,GAAsBpC,IAAtB,CAA2B,UAAUutD,OAAV,EAAmB;AAC1C1qD,mBAAG0qD,OAAH,GAAaA,OAAb;AACH,aAFD;AAGH,SAJD;;AAMA;AACA,iBAASX,UAAT,GAAsB;AAClB/pD,eAAGiQ,MAAH,GAAY;AACRpI,sBAAM,CADE;AAERmX,2BAAW7rB,SAAS6M,GAAGzQ,WAAH,CAAeqF,EAAxB,CAFH;AAGRm0C,gCAAgB,GAHR;AAIRxH,yBAAS;AAJD,aAAZ;AAMH;;AAED,iBAAS1iB,oBAAT,GAAgC;AAC5B,gBAAI,CAAC7e,GAAGiQ,MAAH,CAAUgK,QAAf,EAAyB;AACrBja,mBAAGqe,gBAAH,GAAsB,EAAtB;AACA;AACH;;AAEDF,2BAAeW,eAAf,CAA+B9e,GAAGiQ,MAAH,CAAUgK,QAAzC,EAAmD9c,IAAnD,CAAwD,UAAU4hB,QAAV,EAAoB;AACxE/e,mBAAGqe,gBAAH,GAAsBU,QAAtB;AACH,aAFD;AAGH;;AAED,iBAASwsC,aAAT,GAAyB;AACrB,gBAAIxpB,QAAQ,CAAZ;AACA,iBAAK,IAAIrjC,IAAI,CAAb,EAAgBA,IAAIsB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,oBAAIsB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBU,CAAtB,EAAyBihB,OAA7B,EACIoiB;AACP;;AAED/hC,eAAGyqD,kBAAH,GAAwB1oB,KAAxB;AACH;;AAED,iBAAS8oB,UAAT,GAAsB;AAClB,gBAAI56C,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACAA,mBAAOpI,IAAP,GAAc7H,GAAGyhC,WAAjB;;AAGA;AACA;AACA;;AAEA5X,wBAAY5Z,MAAZ;AACAD,mCAAuBC,MAAvB;AACH;;AAED,iBAAS4Z,WAAT,CAAqB5Z,MAArB,EAA6B;AACzBjQ,eAAGgqB,OAAH,GAAa,IAAb;;AAEA;AACA,mBAAO/Z,OAAOy7C,SAAd;;AAEAt8D,2BAAe24B,OAAf,CAAuB9X,MAAvB,EAA+B9S,IAA/B,CAAoC,UAAUuV,QAAV,EAAoB;AACpD1S,mBAAGiqB,WAAH,GAAiBvX,QAAjB;;AAEA;AACA1S,mBAAGyqD,kBAAH,GAAwB,IAAxB;AACAzqD,mBAAG2qD,QAAH,GAAc,KAAd;AACA3qD,mBAAGgqB,OAAH,GAAa,KAAb;AACH,aAPD,EAOG,UAAUvuB,GAAV,EAAe;AACduE,mBAAGgqB,OAAH,GAAa,KAAb;AACH,aATD;AAUH;;AAED,iBAASha,sBAAT,CAAgCC,MAAhC,EAAwC;AACpC7gB,2BAAe4gB,sBAAf,CAAsCC,MAAtC,EAA8C9S,IAA9C,CAAmD,UAAUxM,IAAV,EAAgB;AAC/DqP,mBAAGwqD,OAAH,GAAa75D,IAAb;AACH,aAFD;AAGH;;AAED,iBAASu6D,aAAT,CAAuBt2D,EAAvB,EAA2B;AACvBkO,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBs8D,iBAA/C,EAAkE18D,WAAWI,SAAX,CAAqBu8D,aAAvF,EAAsG5tD,MAAtG,CAA6Gb,IAA7G,CAAkH,YAAY;AAC1H/N,+BAAe+M,MAAf,CAAsBvH,EAAtB,EAA0BuI,IAA1B,CAA+B,YAAY;AACvC0tD;AACA9uD,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACH,iBAHD;AAIH,aALD;AAMH;;AAED,iBAASikC,YAAT,CAAsBtnD,KAAtB,EAA6B;AACzB7D,eAAGiQ,MAAH,GAAYpM,MAAM6pC,WAAlB;AACH;;AAED,iBAAS0d,WAAT,CAAqBvnD,KAArB,EAA4B;AACxBJ,yBAAatH,MAAb,CAAoB0H,KAApB,EAA2B1G,IAA3B,CAAgC,UAAU0uD,IAAV,EAAgB;AAC5C9vD,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACAlnB,mBAAGyrD,WAAH;AACH,aAHD;AAIH;;AAED,iBAAStH,YAAT,GAAwB;AACpB,gBAAI,CAACnkD,GAAGiqB,WAAJ,IAAmB,CAACjqB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBxM,MAA9C,EACI;;AAEJ,gBAAIkoD,qBAAqB,EAAzB;;AAEA,iBAAK,IAAIh7C,IAAI,CAAb,EAAgBA,IAAIsB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,oBAAI9L,OAAOoN,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBU,CAAtB,CAAX;;AAEA,oBAAI9L,KAAK+sB,OAAT,EAAkB;AACd,wBAAI/sB,KAAKG,MAAL,KAAgBiuB,YAAYtsB,aAAZ,CAA0Bo3D,OAA1C,IAAqDl5D,KAAKG,MAAL,KAAgBiuB,YAAYtsB,aAAZ,CAA0Bq3D,QAAnG,EAA6G;AACzGrS,2CAAmB13C,IAAnB,CAAwB;AACpBpN,gCAAIhC,KAAKgC,EADW;AAEpBi4C,wCAAYt1B,WAAW3kB,KAAKa,KAAhB,CAFQ;AAGpBq5C,sCAAU9rB,YAAYtsB,aAAZ,CAA0BwxD;AAHhB,yBAAxB;AAKH,qBAND,MAMO;AACHxM,6CAAqB,EAArB;AACA;AACH;AAEJ;AACJ;;AAED,gBAAI,CAACA,mBAAmBloD,MAAxB,EAAgC;AAC5BuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBo9C,gCAA7C;AACA;AACH;;AAED3pC,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBq9C,0BAA/C,EAA2Ez9C,WAAWI,SAAX,CAAqBs9C,YAAhG,EAA8G3uC,MAA9G,CAAqHb,IAArH,CAA0H,YAAY;AAClIkyB,iCAAiB5c,mBAAjB,CAAqCinC,kBAArC,EACKv8C,IADL,CACU,YAAY;AACd0sB,gCAAY7pB,GAAGiQ,MAAf;AACAlU,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB29C,wBAA9C;AACH,iBAJL;AAKH,aAND;AAOH;;AAED,iBAASzL,OAAT,CAAiBwJ,KAAjB,EAAwB;AACpB/qC,eAAGiQ,MAAH,CAAUsxB,OAAV,GAAoBwJ,KAApB;AACA/qC,eAAGiQ,MAAH,CAAU44B,QAAV,GAAqB,CAAC7oC,GAAGiQ,MAAH,CAAU44B,QAAhC;AACAhf,wBAAY7pB,GAAGiQ,MAAf;AACH;;AAED,iBAASiR,WAAT,CAAqBtsB,EAArB,EAAyB;AACrBxF,2BAAeyD,OAAf,CAAuB+B,EAAvB,EAA2BuI,IAA3B,CAAgC,UAAUjD,OAAV,EAAmB;AAC/C3L,oBAAI2L,OAAJ,CAAYC,gBAAZ,CAA6BD,QAAQtF,EAArC,EAAyCsF,QAAQinB,QAAjD,EAA2DjnB,QAAQknB,UAAnE;AACH,aAFD;AAGH;;AAED,iBAAS4qC,eAAT,CAAyBh5D,KAAzB,EAAgC;AAC5B,gBAAIuP,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,kEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOosD,QAAP,GAAkBj5D,KAAlB;AACH,iBAHW;AAHW,aAAf,CAAZ;;AASA,mBAAOuP,MAAMvE,MAAb;AACH;;AAED,iBAAS2tC,SAAT,CAAmB/2C,EAAnB,EAAuB;AACnB;AACAxF,2BAAewgB,SAAf,CAAyBhb,EAAzB,EAA6BuI,IAA7B,CAAkC,UAAUnK,KAAV,EAAiB;AAC/Cg5D,gCAAgBh5D,KAAhB;AACH,aAFD;AAGH;;AAED,iBAASwgC,YAAT,CAAsBh1B,KAAtB,EAA6BxO,IAA7B,EAAmCyjC,WAAnC,EAAgD;AAC5C,gBAAI3sB,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;;AAEAnV,qBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;;AAEA,gBAAI5N,OAAO,IAAI8M,IAAJ,CAAS,CAACxH,KAAD,CAAT,EAAkB;AACzB1L,sBAAM2gC;AADmB,aAAlB,CAAX;;AAIA,gBAAIt8B,MAAMhG,OAAO8U,GAAP,CAAWC,eAAX,CAA2BhN,IAA3B,CAAV;;AAEA4N,cAAEjI,IAAF,GAAS1H,GAAT;AACA2P,cAAEE,MAAF,GAAW,QAAX;AACAF,cAAEG,QAAF,GAAajX,IAAb;;AAEA8W,cAAEM,KAAF;;AAEA;AACAssB,uBAAW,YAAY;AACnB5sB,kBAAE6sB,UAAF,CAAaC,WAAb,CAAyB9sB,CAAzB;AACA3V,uBAAO8U,GAAP,CAAW4tB,eAAX,CAA2B18B,GAA3B;AACH,aAHD,EAGG,IAHH;AAIH;;AAED,iBAAS2zD,SAAT,GAAqB;AACjB,gBAAI76C,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACA7gB,2BAAeg5B,UAAf,CAA0BnY,MAA1B,EAAkC9S,IAAlC,CAAuC,UAAUjE,IAAV,EAAgB;AACnD,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA1I;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,0BAA7B;AACH,aAJD;AAKH;;AAED,iBAAS43B,SAAT,GAAqB;AACjB,gBAAIh7C,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACAA,mBAAOk3B,WAAP,GAAqB,IAArB;AACA/3C,2BAAeg5B,UAAf,CAA0BnY,MAA1B,EAAkC9S,IAAlC,CAAuC,UAAUjE,IAAV,EAAgB;AACnD,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA3H,GAA+I,MAA9J;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,EAA7B;AACH,aAJD;AAKH;;AAED,iBAAS23B,YAAT,GAAwB;AACpB,gBAAI/6C,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACAA,mBAAOld,MAAP,GAAgB,CAAhB,CAFoB,CAEF;AAClB3D,2BAAei5B,YAAf,CAA4BpY,MAA5B,EAAoC9S,IAApC,CAAyC,UAAUjE,IAAV,EAAgB;AACrD,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA1I;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,4BAA7B;AACH,aAJD;AAKH;;AAED,iBAAS9K,iBAAT,GAA6B;AACzB,gBAAItY,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACA7gB,2BAAem5B,iBAAf,CAAiCtY,MAAjC,EAAyC9S,IAAzC,CAA8C,UAAUjE,IAAV,EAAgB;AAC1D,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW9kC,IAAIe,YAAJ,CAAiBgmC,QAAjB,GAA4B,GAA5B,GAAkC/mC,IAAIgB,WAAJ,CAAgB+jC,OAAlD,GAA4D,IAA5D,GAAmE/kC,IAAIgB,WAAJ,CAAgBgkC,QAAnF,GAA8F,IAA9F,GAAqGphC,IAAI2B,OAAJ,EAArG,GAAqH,GAArH,IAA4H3B,IAAI6B,QAAJ,KAAiB,CAA7I,IAAkJ,GAAlJ,GAAwJ7B,IAAI+B,WAAJ,EAAxJ,GAA4K,OAA3L;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,4BAA7B;AACH,aAJD;AAKH;;AAED,iBAAS3K,iBAAT,GAA6B;AACzB,gBAAIzY,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACA7gB,2BAAes5B,iBAAf,CAAiCzY,MAAjC,EAAyC9S,IAAzC,CAA8C,UAAUjE,IAAV,EAAgB;AAC1D,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW9kC,IAAIe,YAAJ,CAAiBgmC,QAAjB,GAA4B,GAA5B,GAAkC/mC,IAAIgB,WAAJ,CAAgB+jC,OAAlD,GAA4D,IAA5D,GAAmE/kC,IAAIgB,WAAJ,CAAgBgkC,QAAnF,GAA8F,IAA9F,GAAqGphC,IAAI2B,OAAJ,EAArG,GAAqH,GAArH,IAA4H3B,IAAI6B,QAAJ,KAAiB,CAA7I,IAAkJ,GAAlJ,GAAwJ7B,IAAI+B,WAAJ,EAAxJ,GAA4K,MAA3L;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,4BAA7B;AACH,aAJD;AAKH;;AAED,iBAAS7K,cAAT,GAA0B;AACtB,gBAAIvY,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACA7gB,2BAAeo5B,cAAf,CAA8BvY,MAA9B,EAAsC9S,IAAtC,CAA2C,UAAUjE,IAAV,EAAgB;AACvD,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW9kC,IAAIe,YAAJ,CAAiB48D,KAAjB,GAAyB,GAAzB,GAA+B39D,IAAIgB,WAAJ,CAAgB+jC,OAA/C,GAAyD,IAAzD,GAAgE/kC,IAAIgB,WAAJ,CAAgBgkC,QAAhF,GAA2F,IAA3F,GAAkGphC,IAAI2B,OAAJ,EAAlG,GAAkH,GAAlH,IAAyH3B,IAAI6B,QAAJ,KAAiB,CAA1I,IAA+I,GAA/I,GAAqJ7B,IAAI+B,WAAJ,EAArJ,GAAyK,OAAxL;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,4BAA7B;AACH,aAJD;AAKH;;AAED,iBAAS03B,SAAT,GAAqB;AACjB35D,qBAASyN,IAAT,GAAgB,iBAAhB;AACH;;AAED,iBAASwsD,cAAT,GAA0B;AACtB,iBAAK,IAAI3sD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnDsB,mBAAGiqB,WAAH,CAAejsB,MAAf,CAAsBU,CAAtB,EAAyBihB,OAAzB,GAAmC3f,GAAG2qD,QAAtC;AACH;AACDW;AACAC;AACH;;AAEDvrD,WAAGkqD,cAAH,GAAoB,YAAY;AAC5BlqD,eAAGqqD,qBAAH,GAA2B,CAACrqD,GAAGqqD,qBAA/B;AACArqD,eAAGiQ,MAAH,CAAUe,OAAV,GAAoB,EAApB;AACAhR,eAAGiQ,MAAH,CAAUf,MAAV,GAAmB,EAAnB;AACH,SAJD;;AAMAlP,WAAGiqD,qBAAH,GAA2B,YAAY;AACnCjqD,eAAGoqD,sBAAH,GAA4B,CAACpqD,GAAGoqD,sBAAhC;AACApqD,eAAGiQ,MAAH,CAAU+O,SAAV,GAAsB,EAAtB;AACH,SAHD;;AAKA,iBAASwsC,mBAAT,GAA+B;AAC3B1oD,yBAAazQ,IAAb,CAAkB,wBAAlB,EAA4C,EAAE4d,QAAQjQ,GAAGiQ,MAAb,EAAqBo6C,uBAAuBrqD,GAAGqqD,qBAA/C,EAAsED,wBAAwBpqD,GAAGoqD,sBAAjG,EAA5C,EACKpsD,MADL,CAEKb,IAFL,CAEU,UAAUa,MAAV,EAAkB;AACpB9O,yBAAS,YAAY;AACjB8Q,uBAAGiQ,MAAH,GAAYzhB,QAAQ4tB,IAAR,CAAape,OAAOiS,MAApB,CAAZ;AACAjQ,uBAAGqqD,qBAAH,GAA2BrsD,OAAOqsD,qBAAlC;AACArqD,uBAAGoqD,sBAAH,GAA4BpsD,OAAOosD,sBAAnC;AACH,iBAJD;AAKH,aARL;AASH;;AAED,iBAASkB,aAAT,GAAyB;AACrB,gBAAIa,UAAU,KAAd;AACA,gBAAI,CAACnsD,GAAGiqB,WAAJ,IAAmB,CAACjqB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBxM,MAA1C,IAAoD,CAACwO,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBiS,MAAtB,CAA6B;AAAA,uBAAKvY,EAAEioB,OAAP;AAAA,aAA7B,EAA6CnuB,MAAtG,EAA8G;AAC1G26D,0BAAU,IAAV;AACH,aAFD,MAEM;AACF,qBAAK,IAAIztD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,wBAAI9L,OAAOoN,GAAGiqB,WAAH,CAAejsB,MAAf,CAAsBU,CAAtB,CAAX;AACA,wBAAI9L,KAAK+sB,OAAL,IAAiB/sB,KAAKG,MAAL,KAAgBiuB,YAAYtsB,aAAZ,CAA0Bo3D,OAA1C,IAAsDl5D,KAAKG,MAAL,KAAgBiuB,YAAYtsB,aAAZ,CAA0Bq3D,QAArH,EACII,UAAU,IAAV;AACP;AACJ;;AAEDnsD,eAAG4qD,uBAAH,GAA6BuB,OAA7B;AACH;;AAED,iBAASjsD,iBAAT,GAA6B;AACzB,gBAAIksD,eAAevsD,OAAOS,MAAP,CAAc,uBAAd,EAAuCue,oBAAvC,CAAnB;AACA,gBAAIqL,aAAarqB,OAAOS,MAAP,CAAc,mBAAd,EAAmC,YAAY;;AAE5DuqD;AACH,aAHgB,CAAjB;AAIA,gBAAIwB,cAAcxsD,OAAOS,MAAP,CAAc,cAAd,EAA8B,UAAUW,MAAV,EAAkB;AAC9D,oBAAIA,OAAOkkB,MAAP,GAAgB,CAApB,EACI;;AAEJ0lC;;AAEA;AACA/vC,6BAAaS,OAAb,CAAqB,gBAArB,EAAuC7d,KAAKC,SAAL,CAAeqC,GAAGiQ,MAAlB,CAAvC;AACH,aARiB,EAQf,IARe,CAAlB;;AAUAhhB,uBAAWO,GAAX,CAAe,aAAf,EAA8B,YAAY;AACtCq7D;AACH,aAFD;;AAIA57D,uBAAWO,GAAX,CAAe,cAAf,EAA+B,UAAUG,KAAV,EAAiByiC,MAAjB,EAAyB;AACpD,oBAAIA,MAAJ,EACItX,aAAaS,OAAb,CAAqB,gBAArB,EAAuC7d,KAAKC,SAAL,CAAey0B,MAAf,CAAvC;AACP,aAHD;;AAKAvyB,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/B48D;AACAC;AACAniC;AACH,aAJD;;AAMAj7B,uBAAWO,GAAX,CAAe,aAAf,EAA8B,YAAY;AACtCwQ,mBAAGyrD,WAAH;AACH,aAFD;AAGH;AACJ;AACJ,CA3ZD,EA2ZGl9D,GA3ZH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAY+5D,6BADkB;AAE9Bh6D,qBAAa,uFAFiB;AAG9BoN,kBAAU;AACNumB,oBAAQ;AADF;AAHoB,KADtC;;AASAqmC,kCAA8Bx9D,OAA9B,GAAwC,CAAC,QAAD,EAAW,YAAX,EAAyB,wBAAzB,EAAmD,iBAAnD,EAAsE,gBAAtE,EAAwF,iBAAxF,EAA2G,aAA3G,EAA0H,kBAA1H,CAAxC;;AAEA,aAASw9D,6BAAT,CAAuCzsD,MAAvC,EAA+C5Q,UAA/C,EAA2D06B,sBAA3D,EAAmF5G,eAAnF,EAAoGtK,cAApG,EAAoH4R,eAApH,EAAqIrJ,WAArI,EAAkJjlB,gBAAlJ,EAAoK;AAChK,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG0kB,QAAH,GAAc,EAAd;AACA1kB,WAAGghB,WAAH,GAAiBA,WAAjB;;AAEA;AACAhhB,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBqN,mBAAGpN,IAAH,GAAUoN,GAAGimB,MAAH,CAAUrzB,IAApB;AACH,aAFD,MAEO;AACHoN,mBAAGpN,IAAH,GAAU;AACN25D,gCAAY,EADN;AAENC,+BAAW;AAFL,iBAAV;AAIH;;AAEDzpC,4BAAgBxjB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAAUunB,QAAV,EAAoB;AAC9C1kB,mBAAG0kB,QAAH,GAAcA,QAAd;AACA1kB,mBAAGysD,cAAH,GAAoB;AAChB5/C,iCAAa5d,WAAWI,SAAX,CAAqBq9D,GADlB;AAEhBC,mCAAe,MAFC;AAGhBC,oCAAgB,IAHA;AAIhBC,oCAAgB,IAJA;AAKhBC,8BAAU,KALM;AAMhBC,gCAAYroC;AANI,iBAApB;AAQH,aAVD;AAWAjM,2BAAelZ,MAAf,GAAwBpC,IAAxB,CAA6B,UAAU6vD,GAAV,EAAe;AACxChtD,mBAAGgZ,QAAH,GAAcg0C,GAAd;AACAhtD,mBAAGitD,cAAH,GAAoB;AAChBpgD,iCAAa,OAAO5d,WAAWI,SAAX,CAAqB69D,aAA5B,GAA4C,IADzC;AAEhBP,mCAAe,UAFC;AAGhBC,oCAAgB,IAHA;AAIhBC,oCAAgB,IAJA;AAKhBC,8BAAU,KALM;AAMhBC,gCAAYC;AANI,iBAApB;AAQH,aAVD;AAWA3iC,4BAAgB9qB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAAUgwD,SAAV,EAAqB;AAC/CntD,mBAAGotD,eAAH,GAAqB;AACjBvgD,iCAAa5d,WAAWI,SAAX,CAAqBq9D,GADjB;AAEjBC,mCAAe,MAFE;AAGjBC,oCAAgB,IAHC;AAIjBC,oCAAgB,IAJC;AAKjBC,8BAAU,KALO;AAMjBC,gCAAYI;AANK,iBAArB;AAQH,aATD;AAUH,SA1CD;;AA4CA,iBAAS9zC,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQy6D,IAAT,IAAiB,CAACrtD,GAAGpN,IAAH,CAAQ06D,KAA1B,IAAmC,CAACttD,GAAGpN,IAAH,CAAQ26D,MAAhD,EACI;;AAEJ,gBAAIvtD,GAAGpN,IAAH,CAAQ0B,WAAR,IAAuB0L,GAAGghB,WAAH,CAAe1sB,WAAf,CAA2BC,OAAtD,EACIyL,GAAGpN,IAAH,CAAQ25D,UAAR,GAAqB,EAArB;;AAEJ5iC,mCAAuBtQ,IAAvB,CAA4BrZ,GAAGpN,IAA/B,EAAqCuK,IAArC,CAA0C,UAAUY,GAAV,EAAe;AACrDhC,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,mBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,aAHD,EAGG,YAAY;AACXnqB,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aALD;AAMH;AACJ;AACJ,CAnFD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAYi7D,6BADkB;AAE9Bl7D,qBAAa,uFAFiB;AAG9BoN,kBAAU;AACNumB,oBAAQ;AADF;AAHoB,KADtC;;AASAunC,kCAA8B1+D,OAA9B,GAAwC,CAAC,QAAD,EAAW,YAAX,EAAyB,wBAAzB,EAAmD,aAAnD,EAAkE,kBAAlE,CAAxC;;AAEA,aAAS0+D,6BAAT,CAAuC3tD,MAAvC,EAA+C5Q,UAA/C,EAA2D06B,sBAA3D,EAAmF3I,WAAnF,EAAgGjlB,gBAAhG,EAAkH;AAC9G,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;AACAjnB,WAAGghB,WAAH,GAAiBA,WAAjB;;AAEA;AACAhhB,WAAGzH,MAAH,GAAYA,MAAZ;AACAgH;AACAS,WAAGC,OAAH,GAAa,YAAY,CAExB,CAFD;;AAKA,iBAASV,MAAT,GAAkB;AACdoqB,mCAAuBpqB,MAAvB,GAAgCpC,IAAhC,CAAqC,UAAS3J,KAAT,EAAgB;AACjDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACdoxB,mCAAuBpxB,MAAvB,CAA8ByH,GAAGinB,YAAH,CAAgBwmC,EAA9C,EAAkDtwD,IAAlD,CAAuD,YAAW;AAC9DpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,YAAY;AACXlrB,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA9CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK8D,UADL,CACgB,6BADhB,EAC+Cm7D,2BAD/C;;AAGAA,gCAA4B5+D,OAA5B,GAAsC,CAAC,mBAAD,EAAsB,UAAtB,EAAkC,YAAlC,EAAgD,gBAAhD,EAAkE,iBAAlE,EAAqF,QAArF,CAAtC;;AAEA,aAAS4+D,2BAAT,CAAqClrD,iBAArC,EAAwDtT,QAAxD,EAAkED,UAAlE,EAA8EwpB,cAA9E,EAA8F/pB,MAA9F,EAAsGmR,MAAtG,EAA8G;;AAE1G,YAAIG,KAAK,IAAT;;AAEA,YAAI2tD,OAAJ;AACA3tD,WAAG9G,IAAH,GAAUxK,OAAOwK,IAAjB;AACA8G,WAAGqD,MAAH,GAAYA,MAAZ;AACArD,WAAG4tD,SAAH,GAAeA,SAAf;;AAEA,aAAK3tD,OAAL,GAAe,YAAY;;AAEvB,gBAAIwjC,SAAS,IAAIC,UAAJ,EAAb;AACAD,mBAAOE,MAAP,GAAgB,UAAUj5B,CAAV,EAAa;AACzB,oBAAImjD,cAAcl8D,EAAE,aAAF,CAAlB;AACAk8D,4BAAYjlD,IAAZ,CAAiB,KAAjB,EAAwB8B,EAAE1D,MAAF,CAAShJ,MAAjC;;AAEA6B,uBAAOiuD,WAAP,CAAmB,YAAY;AAC3BH,+BAAWA,QAAQI,OAAR,EAAX;AACAJ,8BAAU,IAAIK,OAAJ,CAAYH,YAAY,CAAZ,CAAZ,EAA4B;AAClCI,kCAAU,KADwB;AAElCC,kCAAU,CAFwB;AAGlCC,qCAAa,KAAG;AAHkB,qBAA5B,CAAV;AAKC,iBAPL;AAQH,aAZD;;AAcA1qB,mBAAOI,aAAP,CAAqB7jC,GAAG9G,IAAxB;AAEH,SAnBD;;AAqBA,iBAAS00D,SAAT,GAAqB;AACjBprD,8BAAkBe,KAAlB,CAAwBoqD,QAAQS,OAAR,EAAxB;AACH;;AAED,iBAAS/qD,MAAT,GAAkB;AACdb,8BAAkBgB,OAAlB,CAA0B,QAA1B;AACH;AAEJ;AACJ,CA9CD,EA8CIjV,GA9CJ;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,wBADf,EACyC;AACjC7E,oBAAY87D,gCADqB;AAEjC/7D,qBAAa;AAFoB,KADzC;;AAMA+7D,qCAAiCv/D,OAAjC,GAA2C,CAAC,QAAD,CAA3C;;AAEA,aAASu/D,gCAAT,CAA0CxuD,MAA1C,EAAkD;AAC9C,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,4BADf,EAC6C;AACrC7E,oBAAY+7D,oCADyB;AAErCh8D,qBAAa,0EAFwB;AAGrCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH2B,KAD7C;;AASAqoC,yCAAqCx/D,OAArC,GAA+C,CAAC,QAAD,EAAW,YAAX,EAAyB,iBAAzB,EAA4C,kBAA5C,CAA/C;;AAEA,aAASw/D,oCAAT,CAA8CzuD,MAA9C,EAAsD5Q,UAAtD,EAAkEo7B,eAAlE,EAAmFtuB,gBAAnF,EAAqG;AACjG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB03B,gCAAgBpuB,GAAhB,CAAoB+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAnC,EAAuCuI,IAAvC,CAA4C,UAAUvK,IAAV,EAAgB;AACxDoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SARD;;AAUA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJ,gBAAIgQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB03B,gCAAgB1mB,MAAhB,CAAuB3D,GAAGpN,IAA1B,EAAgCuK,IAAhC,CAAqC,YAAY;AAC7CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHmE,gCAAgB7qB,MAAhB,CAAuBQ,GAAGpN,IAA1B,EAAgCuK,IAAhC,CAAqC,YAAY;AAC7CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAlDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,4BADf,EAC6C;AACrC7E,oBAAYg8D,oCADyB;AAErCj8D,qBAAa,0EAFwB;AAGrCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH2B,KAD7C;;AASAsoC,yCAAqCz/D,OAArC,GAA+C,CAAC,QAAD,EAAW,YAAX,EAAyB,iBAAzB,EAA4C,kBAA5C,CAA/C;;AAEA,aAASy/D,oCAAT,CAA8C1uD,MAA9C,EAAsD5Q,UAAtD,EAAkEo7B,eAAlE,EAAmFtuB,gBAAnF,EAAqG;AACjG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACd8qB,4BAAgB9qB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAAU3J,KAAV,EAAiB;AAC3CwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACd8xB,4BAAgB9xB,MAAhB,CAAuByH,GAAGinB,YAAH,CAAgBryB,EAAvC,EAA2CuI,IAA3C,CAAgD,YAAY;AACxDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAYi8D,6BADkB;AAE9Bl8D,qBAAa;AAFiB,KADtC;;AAMAk8D,kCAA8B1/D,OAA9B,GAAwC,EAAxC;;AAEA,aAAS0/D,6BAAT,GAAyC;AACrC,YAAIxuD,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,yBADf,EAC0C;AAClC7E,oBAAYk8D,iCADsB;AAElCn8D,qBAAa,uEAFqB;AAGlCoN,kBAAU;AACNumB,oBAAQ;AADF;AAHwB,KAD1C;;AASAwoC,sCAAkC3/D,OAAlC,GAA4C,CAAC,YAAD,EAAe,cAAf,EAA+B,kBAA/B,EAAmD,gBAAnD,CAA5C;;AAEA,aAAS2/D,iCAAT,CAA2Cx/D,UAA3C,EAAuDy/D,YAAvD,EAAqE3yD,gBAArE,EAAuF0c,cAAvF,EAAuG;AACnG,YAAIzY,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB+7D,6BAAazyD,GAAb,CAAiB+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAhC,EAAoCuI,IAApC,CAAyC,UAAUvK,IAAV,EAAgB;AACrDoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SARD;;AAUA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJ,gBAAIgQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClB+7D,6BAAa/qD,MAAb,CAAoB3D,GAAGpN,IAAvB,EAA6BuK,IAA7B,CAAkC,YAAY;AAC1CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHwoC,6BAAalvD,MAAb,CAAoBQ,GAAGpN,IAAvB,EAA6BuK,IAA7B,CAAkC,YAAY;AAC1CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAlDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,yBADf,EAC0C;AAClC7E,oBAAYo8D,iCADsB;AAElCr8D,qBAAa,uEAFqB;AAGlCoN,kBAAU;AACNumB,oBAAQ;AADF;AAHwB,KAD1C;;AASA0oC,sCAAkC7/D,OAAlC,GAA4C,CAAC,YAAD,EAAe,cAAf,EAA+B,kBAA/B,EAAmD,cAAnD,CAA5C;;AAEA,aAAS6/D,iCAAT,CAA2C1/D,UAA3C,EAAuDy/D,YAAvD,EAAqE3yD,gBAArE,EAAuF+G,YAAvF,EAAqG;AACjG,YAAI9C,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;AACAyH,WAAG4uD,gBAAH,GAAsBA,gBAAtB;;AAEA5uD,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACdmvD,yBAAanvD,MAAb,GAAsBpC,IAAtB,CAA2B,UAAU3J,KAAV,EAAiB;AACxCwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAED,iBAASo7D,gBAAT,CAA0BC,MAA1B,EAAkC;AAC9B/rD,yBAAazQ,IAAb,CAAkB,eAAlB,EAAmC,EAACu5B,SAASijC,MAAV,EAAnC;AACH;;AAED,iBAASt2D,MAAT,GAAkB;AACdm2D,yBAAan2D,MAAb,CAAoByH,GAAGinB,YAAH,CAAgBryB,EAApC,EAAwCuI,IAAxC,CAA6C,YAAY;AACrDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CAjDD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qBADf,EACsC;AAC9B7E,oBAAYu8D,6BADkB;AAE9Bx8D,qBAAa,+EAFiB;AAG9BoN,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHoB,KADtC;;AAUAusD,kCAA8BhgE,OAA9B,GAAwC,CAAC,aAAD,CAAxC;;AAEA,aAASggE,6BAAT,CAAuC9tC,WAAvC,EAAoD;AAChD,YAAIhhB,KAAK,IAAT;;AAEAA,WAAGosB,WAAH,GAAiBpL,YAAY/rB,WAA7B;;AAEA+K,WAAGgqB,OAAH;AACAhqB,WAAGpN,IAAH,GAAU;AACN5C,kBAAM,MAAM,IAAIoC,IAAJ,GAAW0B,OAAX,EAAN,GAA6B,GAA7B,IAAoC,IAAI1B,IAAJ,GAAW4B,QAAX,KAAwB,CAA5D,IAAiE,GAAjE,GAAuE,IAAI5B,IAAJ,GAAW8B,WAAX,EADvE;AAENqlC,mBAAO;AACH1lC,qBAAK,IAAIzB,IAAJ,GAAW0B,OAAX,EADF;AAEHC,uBAAO,IAAI3B,IAAJ,GAAW4B,QAAX,KAAwB,CAF5B;AAGHC,sBAAM,IAAI7B,IAAJ,GAAW8B,WAAX;AAHH,aAFD;AAONstD,iBAAK;AACD3tD,qBAAK,IAAIzB,IAAJ,GAAW0B,OAAX,EADJ;AAEDC,uBAAO,IAAI3B,IAAJ,GAAW4B,QAAX,KAAwB,CAF9B;AAGDC,sBAAM,IAAI7B,IAAJ,GAAW8B,WAAX;AAHL;AAPC,SAAV;AAaA8L,WAAGgD,WAAH;AACAhD,WAAGuC,KAAH;;AAEA,aAAKtC,OAAL,GAAe,YAAW;;AAEtB,gBAAID,GAAGgD,WAAH,CAAepQ,IAAnB,EAAyB;AACrBoN,mBAAGpN,IAAH,GAAUpE,QAAQ4tB,IAAR,CAAapc,GAAGgD,WAAH,CAAepQ,IAA5B,CAAV;AACAoN,mBAAGpN,IAAH,CAAQ2mC,KAAR,GAAgBv5B,GAAGpN,IAAH,CAAQ2mC,KAAxB;AACAv5B,mBAAGpN,IAAH,CAAQ4uD,GAAR,GAAcxhD,GAAGpN,IAAH,CAAQ4uD,GAAtB;AACAxhD,mBAAGpN,IAAH,CAAQw5B,WAAR,GAAsBpsB,GAAGgD,WAAH,CAAepQ,IAAf,CAAoBw5B,WAA1C;AACH,aALD,MAKO;AACHpsB,mBAAGpN,IAAH,CAAQw5B,WAAR,GAAsBpsB,GAAGgD,WAAH,CAAe+rD,wBAArC;AACH;;AAED/uD,eAAGgvD,SAAH,GAAe;AACXn7D,qBAAK,IAAIzB,IAAJ,GAAW0B,OAAX,KAAuB,CADjB;AAEXC,uBAAO,IAAI3B,IAAJ,GAAW4B,QAAX,KAAwB,CAFpB;AAGXC,sBAAM,IAAI7B,IAAJ,GAAW8B,WAAX;AAHK,aAAf;AAKH,SAhBD;;AAkBA8L,WAAGqZ,IAAH,GAAU,YAAW;AACjBrZ,eAAGuC,KAAH,CAASgB,KAAT,CAAevD,GAAGpN,IAAlB;AACH,SAFD;;AAIAoN,WAAGwD,OAAH,GAAa,YAAW;AACpBxD,eAAGuC,KAAH,CAASiB,OAAT;AACH,SAFD;AAGH;AACJ,CA9DD;;;ACAA,CAAC,YAAY;AACT;;AACAhV,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,oBADf,EACqC;AAC7B7E,oBAAY08D,4BADiB;AAE7B38D,qBAAa;AAFgB,KADrC;;AAMA28D,iCAA6BngE,OAA7B,GAAuC,CAAC,YAAD,EAAe,QAAf,EAAyB,gBAAzB,EAA2C,kBAA3C,EAA+D,aAA/D,EAA8E,WAA9E,EAA2F,cAA3F,EAA2G,cAA3G,EAA2H,kBAA3H,EAA+I,uBAA/I,CAAvC;;AAEA,aAASmgE,4BAAT,CAAsChgE,UAAtC,EAAkD4Q,MAAlD,EAA0DzQ,cAA1D,EAA0E2M,gBAA1E,EAA4FilB,WAA5F,EAAyG7xB,SAAzG,EAAoH4Q,YAApH,EAAkI+C,YAAlI,EAAgJusB,gBAAhJ,EAAkKtN,qBAAlK,EAAyL;AACrL,YAAI/hB,KAAK,IAAT;AACAA,WAAGghB,WAAH,GAAiBA,WAAjB;AACAhhB,WAAG4qD,uBAAH,GAA6B,IAA7B;;AAEA5qD,WAAGkvD,WAAH,GAAiBnvD,YAAjB;;AAEAC,WAAGosB,WAAH,GAAiBpL,YAAY/rB,WAA7B;;AAEA+K,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGzQ,WAAH,GAAiB4B,OAAO5C,GAAP,CAAWgB,WAA5B;AACAw6D;;AAEAhoC,kCAAsBC,UAAtB,GAAmC7kB,IAAnC,CAAwC,UAAUxM,IAAV,EAAgB;AACpDqP,mBAAG+uD,wBAAH,GAA8Bp+D,KAAKo+D,wBAAnC;AACH,aAFD;AAGA/uD,eAAGsrD,aAAH;AACAprD;AACH,SATD;;AAWA,iBAAS+P,MAAT,GAAkB;AACdjQ,eAAGgqB,OAAH,GAAa,IAAb;AACA56B,2BAAew5B,cAAf,CAA8B5oB,GAAGiQ,MAAjC,EAAyC9S,IAAzC,CAA8C,UAAUxM,IAAV,EAAgB;AAC1DqP,mBAAGmvD,WAAH,GAAiBx+D,IAAjB;AACAqP,mBAAGgqB,OAAH,GAAa,KAAb;AACAhqB,mBAAG2qD,QAAH,GAAc,KAAd;AACH,aAJD;AAKH;;AAED,iBAASZ,UAAT,GAAsB;AAClB/pD,eAAGiQ,MAAH,GAAY;AACRpI,sBAAM,CADE;AAERmX,2BAAW7rB,SAAS6M,GAAGzQ,WAAH,CAAeqF,EAAxB,CAFH;AAGRm0C,gCAAgB,GAHR;AAIRxH,yBAAS,MAJD;AAKRnV,6BAAa;AALL,aAAZ;AAOH;;AAEDpsB,WAAGovD,qBAAH,GAA2B,UAAUx8D,IAAV,EAAgB;AACvCA,iBAAK4uB,UAAL,GAAkB,CAAC5uB,KAAK4uB,UAAxB;;AAEA,iBAAK,IAAI9iB,IAAI,CAAb,EAAgBA,IAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,oBAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,EAAyB9J,EAAzB,IAA+BhC,KAAKgC,EAAxC,EACIoL,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,EAAyB8iB,UAAzB,GAAsC,KAAtC;AACP;;AAED,gBAAI5uB,KAAK4uB,UAAT,EAAqB;AACjB5uB,qBAAK8f,QAAL,GAAgB,EAAhB;;AAEAtjB,+BAAe65B,oBAAf,CAAoCr2B,KAAKgC,EAAzC,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB9f,yBAAK8f,QAAL,GAAgBA,QAAhB;AACH,iBAHL;AAIH;AACJ,SAhBD;;AAkBA1S,WAAGkrD,aAAH,GAAmB,UAAUmE,WAAV,EAAuBR,MAAvB,EAA+B;AAC9C/rD,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBs8D,iBAA/C,EAAkE3tD,MAAlE,CAAyEb,IAAzE,CAA8E,YAAY;AACtF/N,+BAAe+M,MAAf,CAAsB0yD,MAAtB,EAA8B1xD,IAA9B,CAAmC,UAAUY,GAAV,EAAe;AAC9CsxD,gCAAY38C,QAAZ,GAAuB,EAAvB;AACAtjB,mCAAe65B,oBAAf,CAAoComC,YAAYz6D,EAAhD,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB28C,oCAAY38C,QAAZ,GAAuBA,QAAvB;AACH,qBAHL;AAIA3W,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACH,iBAPD;AAQH,aATD;AAUH,SAXD;;AAaAlnB,WAAGkhB,WAAH,GAAiB,UAAUmuC,WAAV,EAAuBtgD,SAAvB,EAAkC;AAC/C3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EACK5R,IADL,CACU,UAAUjD,OAAV,EAAmB;AACrBxI,iCAAiB,IAAjB,EAAuBwI,QAAQtF,EAA/B,EAAmCsF,QAAQinB,QAA3C,EAAqDjnB,QAAQknB,UAA7D,EACKjkB,IADL,CACU,YAAY;AACdkyD,gCAAY38C,QAAZ,GAAuB,EAAvB;AACAtjB,mCAAe65B,oBAAf,CAAoComC,YAAYz6D,EAAhD,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB28C,oCAAY38C,QAAZ,GAAuBA,QAAvB;AACH,qBAHL;AAIH,iBAPL;AAQH,aAVL;AAWH,SAZD;;AAcA1S,WAAG8qD,SAAH,GAAe,YAAY;AACvB,gBAAI76C,SAASzhB,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAb;AACA7gB,2BAAeq5B,iBAAf,CAAiCxY,MAAjC,EAAyC9S,IAAzC,CAA8C,UAAUjE,IAAV,EAAgB;AAC1D,oBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,oBAAIihC,WAAW9kC,IAAIe,YAAJ,CAAiBggE,QAAjB,GAA4B,GAA5B,GAAkC/gE,IAAIgB,WAAJ,CAAgB+jC,OAAlD,GAA4D,IAA5D,GAAmE/kC,IAAIgB,WAAJ,CAAgBgkC,QAAnF,GAA8F,IAA9F,GAAqGphC,IAAI2B,OAAJ,EAArG,GAAqH,GAArH,IAA4H3B,IAAI6B,QAAJ,KAAiB,CAA7I,IAAkJ,GAAlJ,GAAwJ7B,IAAI+B,WAAJ,EAAxJ,GAA4K,MAA3L;AACAs/B,6BAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,4BAA7B;AACH,aAJD;AAKH,SAPD;;AASA,iBAAS3hC,gBAAT,CAA0B/B,KAA1B,EAAiCoC,GAAjC,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsDC,gBAAtD,EAAwE;AACpE,gBAAIC,MAAM,IAAIC,IAAJ,EAAV;;AAEA,mBAAOjD,UAAUkD,IAAV,CAAe;AAClBC,6BAAa,iEADK;AAElBC,4BAAY,wBAFM;AAGlBC,8BAAc,OAHI;AAIlBC,sBAAM,IAJY;AAKlBC,6BAAa,eALK;AAMlBzC,yBAAS;AACL0C,4BAAQ,kBAAY;AAChB,+BAAO,CAAC,CAACZ,GAAT;AACH,qBAHI;AAILa,0BAAMb,MAAM3C,eAAeyD,OAAf,CAAuBd,GAAvB,CAAN,GAAoC;AACtCe,8BAAMd,KADgC;AAEtCe,gCAAQd,OAF8B;AAGtCe,+BAAO,EAH+B;AAItCC,kCAAU,EAJ4B;AAKtCM,sCAAc,EALwB;AAMtCC,+BAAO,CAAC;AACJC,mCAAOhC,SADH;AAEJiC,uCAAWjC,SAFP;AAGJkC,iCAAKlC;AAHD,yBAAD,CAN+B;AAWtCmC,8BAAM;AACFC,iCAAK1B,IAAI2B,OAAJ,EADH;AAEFC,mCAAO5B,IAAI6B,QAAJ,KAAiB,CAFtB;AAGFC,kCAAM9B,IAAI+B,WAAJ;AAHJ;AAXgC,qBAJrC;AAqBLhC,sCAAkBA;AArBb;AANS,aAAf,EA6BJ8L,MA7BH;AA8BH;;AAED,iBAASguD,eAAT,CAAyBh5D,KAAzB,EAAgC;AAC5B,gBAAIuP,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,kEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOosD,QAAP,GAAkBj5D,KAAlB;AACH,iBAHW;AAHW,aAAf,CAAZ;;AASA,mBAAOuP,MAAMvE,MAAb;AACH;;AAEDgC,WAAG2rC,SAAH,GAAe,UAAU/2C,EAAV,EAAc;AACzB;AACAxF,2BAAewgB,SAAf,CAAyBhb,EAAzB,EAA6BuI,IAA7B,CAAkC,UAAUnK,KAAV,EAAiB;AAC/Cg5D,gCAAgBh5D,KAAhB;AACH,aAFD;AAGH,SALD;;AAOAgN,WAAGuvD,UAAH,GAAgB,YAAY;AACxBzsD,yBAAazQ,IAAb,CAAkB,uBAAlB,EAA2C,EAAEI,MAAM,IAAR,EAAcs8D,0BAA0B/uD,GAAG+uD,wBAA3C,EAA3C,EAAkH/wD,MAAlH,CAAyHb,IAAzH,CAA8H,UAAUvK,IAAV,EAAgB;AAC1IxD,+BAAey5B,aAAf,CAA6Bj2B,IAA7B,EAAmCuK,IAAnC,CAAwC,YAAY;AAChD8S;AACH,iBAFD;AAGH,aAJD;AAKH,SAND;;AAQAjQ,WAAGkpB,YAAH,GAAkB,UAAUK,SAAV,EAAqB;AACnCn6B,2BAAe85B,YAAf,CAA4BK,SAA5B,EAAuCpsB,IAAvC,CAA4C,YAAY;AACpD8S;AACH,aAFD;AAGH,SAJD;;AAMAjQ,WAAG8oB,WAAH,GAAiB,UAAUl2B,IAAV,EAAgB;AAC7B,gBAAI48D,SAAShhE,QAAQ4tB,IAAR,CAAaxpB,IAAb,CAAb;;AAEAkQ,yBAAazQ,IAAb,CAAkB,uBAAlB,EAA2C;AACvCI,sBAAM,IADiC;AAEvCG,sBAAM48D,MAFiC;AAGvCT,0CAA0B/uD,GAAG+uD;AAHU,aAA3C,EAIG/wD,MAJH,CAIUb,IAJV,CAIe,UAAUvK,IAAV,EAAgB;AAC3B48D,yBAAS58D,IAAT;AACAxD,+BAAe05B,WAAf,CAA2B0mC,MAA3B,EAAmCryD,IAAnC,CAAwC,YAAY;AAChD8S;AACH,iBAFD;AAGH,aATD;AAUH,SAbD;;AAeAjQ,WAAG+oB,aAAH,GAAmB,UAAUQ,SAAV,EAAqB;AACpCzmB,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBs8D,iBAA/C,EAAkE3tD,MAAlE,CAAyEb,IAAzE,CAA8E,YAAY;AACtF/N,+BAAe25B,aAAf,CAA6BQ,SAA7B,EAAwCpsB,IAAxC,CAA6C,YAAY;AACrDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACAjX;AACH,iBAHD;AAIH,aALD;AAMH,SAPD;;AASAjQ,WAAGqrD,cAAH,GAAoB,YAAY;AAC5B,iBAAK,IAAI3sD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnDsB,mBAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,EAAyBihB,OAAzB,GAAmC3f,GAAG2qD,QAAtC;AACH;;AAED3qD,eAAGsrD,aAAH;AACAtrD,eAAGurD,aAAH;AACH,SAPD;;AASAvrD,WAAGmkD,YAAH,GAAkB,YAAY;AAC1B,gBAAIsL,wBAAwB,EAA5B;;AAEA,iBAAK,IAAI/wD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,oBAAI9L,OAAOoN,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,CAAX;;AAEA,oBAAI9L,KAAK+sB,OAAT,EAAkB;AACd,wBAAI/sB,KAAK88D,aAAL,IAAsB98D,KAAKG,MAAL,KAAgBiuB,YAAYnsB,aAAZ,CAA0BC,IAApE,EAA0E;AACtE26D,8CAAsBztD,IAAtB,CAA2B;AACvBpN,gCAAIoL,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,EAAyB9J,EADN;AAEvBk4C,sCAAU9rB,YAAYtsB,aAAZ,CAA0BwxD,aAFb;AAGvB3zB,oCAAQ,CAHe,CAGb;AAHa,yBAA3B;AAKH,qBAND,MAMO;AACHx2B,yCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBsgE,sCAA7C;AACAF,gDAAwB,EAAxB;AACA;AACH;AACJ;AACJ;;AAED,gBAAI,CAACA,sBAAsBj+D,MAA3B,EAAmC;AAC/B;AACH;;AAEDsR,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBs9C,YAA/C,EAA6D3uC,MAA7D,CAAoEb,IAApE,CAAyE,YAAY;AACjFkyB,iCAAiB5c,mBAAjB,CAAqCg9C,qBAArC,EAA4DtyD,IAA5D,CAAiE,UAAUY,GAAV,EAAe;AAC5EkS;AACAlU,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB29C,wBAA9C;AACH,iBAHD,EAGG,UAAUvxC,GAAV,EAAe,CACjB,CAJD;AAKH,aAND;AAOH,SAhCD;;AAkCAuE,WAAGsrD,aAAH,GAAmB,YAAY;AAC3B,gBAAIa,UAAU,KAAd;;AAEA,gBAAI,CAACnsD,GAAGmvD,WAAJ,IAAmB,CAACnvD,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBxM,MAA1C,IAAoD,CAACwO,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBiS,MAAtB,CAA6B;AAAA,uBAAKvY,EAAEioB,OAAP;AAAA,aAA7B,EAA6CnuB,MAAtG,EACI26D,UAAU,IAAV,CADJ,KAEK;AACD,qBAAK,IAAIztD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,wBAAI9L,OAAOoN,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,CAAX;;AAEA,wBAAI9L,KAAK+sB,OAAL,IAAgB/sB,KAAKG,MAAL,IAAeiuB,YAAYnsB,aAAZ,CAA0BC,IAA7D,EACIq3D,UAAU,IAAV;AACP;AACJ;;AAEDnsD,eAAG4qD,uBAAH,GAA6BuB,OAA7B;AACH,SAfD;;AAiBAnsD,WAAGurD,aAAH,GAAmB,YAAY;AAC3B,gBAAIxpB,QAAQ,CAAZ;AACA,iBAAK,IAAIrjC,IAAI,CAAb,EAAgBA,IAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBxM,MAA1C,EAAkDkN,GAAlD,EAAuD;AACnD,oBAAIsB,GAAGmvD,WAAH,CAAenxD,MAAf,CAAsBU,CAAtB,EAAyBihB,OAA7B,EACIoiB;AACP;;AAED/hC,eAAGyqD,kBAAH,GAAwB1oB,KAAxB;AACH,SARD;;AAUA/hC,WAAGuhC,OAAH,GAAa,UAAUwJ,KAAV,EAAiB;AAC1B/qC,eAAGiQ,MAAH,CAAUsxB,OAAV,GAAoBwJ,KAApB;AACA/qC,eAAGiQ,MAAH,CAAU44B,QAAV,GAAqB,CAAC7oC,GAAGiQ,MAAH,CAAU44B,QAAhC;AACH,SAHD;;AAKA,iBAASrV,YAAT,CAAsBh1B,KAAtB,EAA6BxO,IAA7B,EAAmCyjC,WAAnC,EAAgD;AAC5C,gBAAI3sB,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;;AAEAnV,qBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;;AAEA,gBAAI5N,OAAO,IAAI8M,IAAJ,CAAS,CAACxH,KAAD,CAAT,EAAkB;AACzB1L,sBAAM2gC;AADmB,aAAlB,CAAX;;AAIA,gBAAIt8B,MAAMhG,OAAO8U,GAAP,CAAWC,eAAX,CAA2BhN,IAA3B,CAAV;;AAEA4N,cAAEjI,IAAF,GAAS1H,GAAT;AACA2P,cAAEE,MAAF,GAAW,QAAX;AACAF,cAAEG,QAAF,GAAajX,IAAb;;AAEA8W,cAAEM,KAAF;;AAEA;AACAssB,uBAAW,YAAY;AACnB5sB,kBAAE6sB,UAAF,CAAaC,WAAb,CAAyB9sB,CAAzB;AACA3V,uBAAO8U,GAAP,CAAW4tB,eAAX,CAA2B18B,GAA3B;AACH,aAHD,EAGG,IAHH;AAIH;;AAED,iBAAS+I,iBAAT,GAA6B;AACzB,gBAAImsD,cAAcxsD,OAAOS,MAAP,CAAc,cAAd,EAA8B,YAAY;AACxD2P;AACH,aAFiB,EAEf,IAFe,CAAlB;;AAIApQ,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/B68D;AACH,aAFD;AAGH;AACJ;AACJ,CAjTD;;;ACAA,CAAC,YAAY;AACT;;AACA79D,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,6BADf,EAC8C;AACtC7E,oBAAYq9D,qCAD0B;AAEtCt9D,qBAAa;AAFyB,KAD9C;;AAMAs9D,0CAAsC9gE,OAAtC,GAAgD,CAAC,QAAD,CAAhD;;AAEA,aAAS8gE,qCAAT,CAA+C/vD,MAA/C,EAAuD;AACnD,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYs9D,mCADwB;AAEpCv9D,qBAAa,+EAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASA4pC,wCAAoC/gE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,sBAAzB,EAAiD,cAAjD,EAAiE,kBAAjE,EAAqF,gBAArF,CAA9C;;AAEA,aAAS+gE,mCAAT,CAA6ChwD,MAA7C,EAAqD5Q,UAArD,EAAiE4zB,oBAAjE,EAAuFtG,YAAvF,EAAqGxgB,gBAArG,EAAuH0c,cAAvH,EAAuI;AACnI,YAAIzY,KAAK,IAAT;;AAEA;AACAA,WAAG6c,SAAH,GAAe,KAAf;AACA7c,WAAGzQ,WAAH,GAAiB,EAAjB;;AAEA;AACAyQ,WAAGqZ,IAAH,GAAUA,IAAV;AACArZ,WAAG+c,gBAAH,GAAsBA,gBAAtB;;AAEA/c,WAAGC,OAAH,GAAa,YAAW;AACpBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;;AAEA,gBAAIyQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBqN,mBAAGpN,IAAH,GAAUoN,GAAGimB,MAAH,CAAUrzB,IAApB;AACH,aAFD,MAEO;AACHoN,mBAAGpN,IAAH,GAAU;AACNk9D,kCAAc;AADR,iBAAV;AAGH;;AAEDr3C,2BAAelZ,MAAf,GAAwBpC,IAAxB,CAA6B,UAAU6vD,GAAV,EAAe;AACxChtD,mBAAGitD,cAAH,GAAoB;AAChBpgD,iCAAa,OAAO5d,WAAWI,SAAX,CAAqB69D,aAA5B,GAA4C,IADzC;AAEhBP,mCAAe,UAFC;AAGhBC,oCAAgB,IAHA;AAIhBC,oCAAgB,IAJA;AAKhBC,8BAAU,KALM;AAMhBC,gCAAYC;AANI,iBAApB;AAQH,aATD;;AAWA,gBAAIz+D,IAAIgB,WAAJ,CAAgBqoC,cAApB,EAAoC;AAChChb;AACH;AACJ,SAzBD;;AA2BA,iBAASA,WAAT,GAAuB;AACnBL,yBAAaK,WAAb,GAA2Bzf,IAA3B,CAAgC,UAAUigB,IAAV,EAAgB;AAC5Cpd,mBAAG4c,WAAH,GAAiBQ,IAAjB;AACH,aAFD;AAGH;;AAED,iBAASL,gBAAT,GAA4B;AACxB/c,eAAG6c,SAAH,GAAe,IAAf;;AAEA,gBAAI,SAAS7c,GAAGpN,IAAH,CAAQm9D,gBAAjB,KAAsC,QAAtC,IAAkD/vD,GAAGpN,IAAH,CAAQm9D,gBAAR,CAAyBv+D,MAAzB,GAAkC,CAAxF,EAA2F;AACvFwO,mBAAG6c,SAAH,GAAe,KAAf;AACA;AACH;;AAEDN,yBAAaqB,gBAAb,CAA8B5d,GAAG+vD,gBAAjC,EAAmD5yD,IAAnD,CAAwD,UAAU6yD,IAAV,EAAgB;AACpEhwD,mBAAGiwD,aAAH,GAAmBD,IAAnB;AACH,aAFD,EAEGtyC,OAFH,CAEW,YAAY;AAAE1d,mBAAG6c,SAAH,GAAe,KAAf;AAAuB,aAFhD;AAGH;;AAED,iBAASxD,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJgQ,eAAGpN,IAAH,CAAQs9D,kBAAR,GAA6BlwD,GAAGpN,IAAH,CAAQs9D,kBAAR,GAA6BlwD,GAAGpN,IAAH,CAAQs9D,kBAArC,GAA0D,IAAvF;;AAEA,gBAAIlwD,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBkwB,qCAAqBlf,MAArB,CAA4B3D,GAAGpN,IAA/B,EAAqCuK,IAArC,CAA0C,YAAY;AAClDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHrD,qCAAqBrjB,MAArB,CAA4BQ,GAAGpN,IAA/B,EAAqCuK,IAArC,CAA0C,YAAY;AAClDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAzFD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAY49D,mCADwB;AAEpC79D,qBAAa,+EAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAkqC,wCAAoCrhE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,sBAAzB,EAAiD,kBAAjD,CAA9C;;AAEA,aAASqhE,mCAAT,CAA6CtwD,MAA7C,EAAqD5Q,UAArD,EAAiE4zB,oBAAjE,EAAuF9mB,gBAAvF,EAAyG;AACrG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;AACAgH;AACAS,WAAGC,OAAH,GAAa,YAAY,CAExB,CAFD;;AAIA,iBAASV,MAAT,GAAkB;AACdsjB,iCAAqBtjB,MAArB,GAA8BpC,IAA9B,CAAmC,UAAU3J,KAAV,EAAiB;AAChDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAED,iBAAS+E,MAAT,GAAkB;AACdsqB,iCAAqBtqB,MAArB,CAA4ByH,GAAGinB,YAAH,CAAgBryB,EAA5C,EAAgDuI,IAAhD,CAAqD,YAAY;AAC7DpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD;AAKH;AACJ;AACJ,CAzCD;;;ACAA,CAAC,YAAY;AACT;;AACAz4B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EACwC;AAChC7E,oBAAY69D,+BADoB;AAEhC99D,qBAAa;AAFmB,KADxC;;AAMA89D,oCAAgCthE,OAAhC,GAA0C,CAAC,QAAD,CAA1C;;AAEA,aAASshE,+BAAT,CAAyCvwD,MAAzC,EAAiD;AAC7C,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAY89D,mCADwB;AAEpC/9D,qBAAa,yEAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAoqC,wCAAoCvhE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,gBAAzB,EAA2C,kBAA3C,CAA9C;;AAEA,aAASuhE,mCAAT,CAA6CxwD,MAA7C,EAAqD5Q,UAArD,EAAiEkvB,cAAjE,EAAiFpiB,gBAAjF,EAAmG;AAC/F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACA,gBAAIyQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBwrB,+BAAetrB,OAAf,CAAuBmN,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAtC,EAA0CuI,IAA1C,CAA+C,UAAUvK,IAAV,EAAgB;AAC3DoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SATD;;AAWA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAT,IAAiB,CAACgQ,GAAGpN,IAAH,CAAQqnB,QAA9B,EACI;;AAEJ,gBAAIja,GAAGpN,IAAH,CAAQ4+B,KAAR,IAAiB,CAACxxB,GAAGpN,IAAH,CAAQ4+B,KAAR,CAAc8+B,UAAd,CAAyB,GAAzB,CAAtB,EAAqD;AACjDtwD,mBAAGpN,IAAH,CAAQ4+B,KAAR,GAAgB,MAAOxxB,GAAGpN,IAAH,CAAQ4+B,KAA/B;AACH;;AAED,gBAAIxxB,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBwrB,+BAAexa,MAAf,CAAsB3D,GAAGpN,IAAzB,EAA+BuK,IAA/B,CAAoC,YAAY;AAC5CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACH/H,+BAAe3e,MAAf,CAAsBQ,GAAGpN,IAAzB,EAA+BuK,IAA/B,CAAoC,YAAY;AAC5CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAvDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYg+D,mCADwB;AAEpCj+D,qBAAa,yEAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAsqC,wCAAoCzhE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,gBAAzB,EAA2C,kBAA3C,CAA9C;;AAEA,aAASyhE,mCAAT,CAA6C1wD,MAA7C,EAAqD5Q,UAArD,EAAiEkvB,cAAjE,EAAiFpiB,gBAAjF,EAAmG;AAC/F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACd4e,2BAAe5e,MAAf,GAAwBpC,IAAxB,CAA6B,UAAU3J,KAAV,EAAiB;AAC1CwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACd4lB,2BAAe5lB,MAAf,CAAsByH,GAAGinB,YAAH,CAAgBryB,EAAtC,EAA0CuI,IAA1C,CAA+C,YAAY;AACvDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EACgC;AACxB7E,oBAAYi+D,aADY;AAExBl+D,qBAAa;AAFW,KADhC;;AAMAk+D,kBAAc1hE,OAAd,GAAwB,CAAC,QAAD,EAAW,eAAX,EAA4B,gBAA5B,CAAxB;;AAEA,aAAS0hE,aAAT,CAAuB3wD,MAAvB,EAA+BguB,aAA/B,EAA8Cz+B,cAA9C,EAA8D;AAC1D,YAAI4Q,KAAK,IAAT;AACAA,WAAG0mC,YAAH,GAAkB,KAAlB;AACA,YAAIv0C,MAAM,IAAIC,IAAJ,EAAV;AACA,YAAIq+D,YAAY,IAAIr+D,IAAJ,EAAhB;AACAq+D,kBAAUC,QAAV,CAAmBD,UAAUz8D,QAAV,KAAuB,CAA1C;;AAEAgM,WAAGiQ,MAAH,GAAY;AACR6X,gBAAI,EAAEj0B,KAAK1B,IAAI2B,OAAJ,EAAP,EAAsBC,OAAO5B,IAAI6B,QAAJ,KAAiB,CAA9C,EAAiDC,MAAM9B,IAAI+B,WAAJ,EAAvD,EADI;AAER2zB,kBAAM,EAAEh0B,KAAK48D,UAAU38D,OAAV,EAAP,EAA4BC,OAAO08D,UAAUz8D,QAAV,KAAuB,CAA1D,EAA6DC,MAAMw8D,UAAUv8D,WAAV,EAAnE;AAFE,SAAZ;;AAKA8L,WAAG2wD,MAAH;;AAEA3wD,WAAG6P,MAAH,GAAYA,MAAZ;;AAEA7P,WAAGC,OAAH,GAAa,YAAY;AACrB2wD;AACH,SAFD;;AAIA,iBAASA,gBAAT,GAA4B;AACxBxhE,2BAAe+4B,SAAf,GAA2BhrB,IAA3B,CAAgC,UAAUpK,MAAV,EAAkB;AAC9CiN,mBAAGs4C,aAAH,GAAmBvlD,MAAnB;AACH,aAFD;AAGH;;AAED,iBAAS8c,MAAT,GAAkB;AACd,gBAAI,CAAC7P,GAAGiQ,MAAH,CAAU4X,IAAX,IAAmB,CAAC7nB,GAAGiQ,MAAH,CAAU6X,EAAlC,EACI;;AAEJ+F,0BAAcG,gBAAd,CAA+B;AAC3BlG,oBAAI9nB,GAAGiQ,MAAH,CAAU6X,EADa;AAE3BD,sBAAM7nB,GAAGiQ,MAAH,CAAU4X,IAFW;AAG3B90B,wBAAQiN,GAAGiQ,MAAH,CAAUld,MAHS;AAI3BknB,0BAAUja,GAAGiQ,MAAH,CAAUgK,QAJO;AAK3B+E,2BAAWhf,GAAGiQ,MAAH,CAAU+O;;AALM,aAA/B,EAOG7hB,IAPH,CAOQ,UAAUwzD,MAAV,EAAkB;AACtB,oBAAIz3D,OAAO,IAAI8M,IAAJ,CAAS,CAAC2qD,MAAD,CAAT,EAAmB;AAC1B79D,0BAAM;AADoB,iBAAnB,CAAX;AAGAkN,mBAAG6wD,SAAH,GAAeF,MAAf;AACH,aAZD;AAaH;AACJ;AACJ,CAvDD;;;ACAA,CAAC,YAAY;AACT;;AACAniE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,cADf,EAC+B;AACvB7E,oBAAYu+D,YADW;AAEvBx+D,qBAAa;AAFU,KAD/B;;AAMAw+D,iBAAahiE,OAAb,GAAuB,CAAC,QAAD,EAAW,eAAX,EAA4B,aAA5B,EAA2C,gBAA3C,CAAvB;;AAEA,aAASgiE,YAAT,CAAsBjxD,MAAtB,EAA8BguB,aAA9B,EAA6C7M,WAA7C,EAA0D5xB,cAA1D,EAA0E;AACtE,YAAI4Q,KAAK,IAAT;AACAA,WAAGgP,YAAH,GAAkB,KAAlB;AACA,YAAI7c,MAAM,IAAIC,IAAJ,EAAV;AACA,YAAIq+D,YAAY,IAAIr+D,IAAJ,EAAhB;AACAq+D,kBAAUC,QAAV,CAAmBD,UAAUz8D,QAAV,KAAuB,CAA1C;;AAEAgM,WAAGiQ,MAAH,GAAY;AACR6X,gBAAI,EAAEj0B,KAAK1B,IAAI2B,OAAJ,EAAP,EAAsBC,OAAO5B,IAAI6B,QAAJ,KAAiB,CAA9C,EAAiDC,MAAM9B,IAAI+B,WAAJ,EAAvD,EADI;AAER2zB,kBAAM,EAAEh0B,KAAK48D,UAAU38D,OAAV,EAAP,EAA4BC,OAAO08D,UAAUz8D,QAAV,KAAuB,CAA1D,EAA6DC,MAAMw8D,UAAUv8D,WAAV,EAAnE,EAFE;AAGRnB,oBAAQ;AAHA,SAAZ;;AAMAiN,WAAG2wD,MAAH;AACA3wD,WAAGs4C,aAAH,GAAmB,EAAnB;AACAt4C,WAAG6P,MAAH,GAAYA,MAAZ;;AAEA7P,WAAGC,OAAH,GAAa,YAAY;AACrB2wD;AACH,SAFD;;AAIA,iBAASA,gBAAT,GAA4B;AACxBxhE,2BAAe+4B,SAAf,GAA2BhrB,IAA3B,CAAgC,UAAUpK,MAAV,EAAkB;AAC9CiN,mBAAGs4C,aAAH,GAAmBvlD,MAAnB;AACH,aAFD;AAGH;;AAED,iBAAS8c,MAAT,GAAkB;AACd,gBAAI,CAAC7P,GAAGiQ,MAAH,CAAUgK,QAAX,IAAuB,CAACja,GAAGiQ,MAAH,CAAU4X,IAAlC,IAA0C,CAAC7nB,GAAGiQ,MAAH,CAAU6X,EAAzD,EACI;;AAEJ+F,0BAAcC,eAAd,CAA8B9tB,GAAGiQ,MAAjC,EAAyC9S,IAAzC,CAA8C,UAAUwzD,MAAV,EAAkB;AAC5D,oBAAIz3D,OAAO,IAAI8M,IAAJ,CAAS,CAAC2qD,MAAD,CAAT,EAAmB;AAC1B79D,0BAAM;AADoB,iBAAnB,CAAX;AAGAkN,mBAAG6wD,SAAH,GAAeF,MAAf;AACH,aALD;AAMH;AACJ;AACJ,CAjDD;;;ACAA,CAAC,YAAY;AACT;;AACAniE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EACgC;AACxB7E,oBAAYw+D,aADY;AAExBz+D,qBAAa;AAFW,KADhC;;AAMAy+D,kBAAcjiE,OAAd,GAAwB,CAAC,QAAD,EAAW,eAAX,CAAxB;;AAEA,aAASiiE,aAAT,CAAuBlxD,MAAvB,EAA+BguB,aAA/B,EAA8C;AAC1C,YAAI7tB,KAAK,IAAT;;AAEAA,WAAG2wD,MAAH;;AAEA3wD,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAIgQ,SAASvS,KAAKsd,KAAL,CAAWF,aAAaC,OAAb,CAAqB,QAArB,CAAX,CAAb;;AAEA8S,0BAAcM,gBAAd,CAA+Ble,MAA/B,EAAuC9S,IAAvC,CAA4C,UAAUwzD,MAAV,EAAkB;AAC1D3wD,mBAAG2wD,MAAH,GAAYA,MAAZ;AACH,aAFD;AAGH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACAniE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sBADf,EACuC;AAC/B7E,oBAAYy+D,oBADmB;AAE/B1+D,qBAAa;AAFkB,KADvC;;AAMA0+D,yBAAqBliE,OAArB,GAA+B,CAAC,QAAD,EAAW,eAAX,EAA4B,aAA5B,EAA2C,gBAA3C,CAA/B;;AAEA,aAASkiE,oBAAT,CAA8BnxD,MAA9B,EAAsCguB,aAAtC,EAAqD7M,WAArD,EAAkE5xB,cAAlE,EAAkF;AAC9E,YAAI4Q,KAAK,IAAT;;AAEAA,WAAG2wD,MAAH;AACA3wD,WAAGixD,UAAH;AACAjxD,WAAG+O,SAAH;;AAEA/O,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAG+O,SAAH,GAAe5d,OAAOC,QAAP,CAAgBC,QAAhB,CAAyBoX,OAAzB,CAAiC,0BAAjC,EAA6D,EAA7D,CAAf;AACAzI,eAAGixD,UAAH,GAAgB,aAAajxD,GAAG+O,SAAhC;AACAc;AACH,SAJD;;AAMA,iBAASA,MAAT,GAAkB;;AAEdge,0BAAcE,uBAAd,CAAsC56B,SAAS6M,GAAG+O,SAAZ,CAAtC,EAA8D5R,IAA9D,CAAmE,UAAUwzD,MAAV,EAAkB;AACjF,oBAAIz3D,OAAO,IAAI8M,IAAJ,CAAS,CAAC2qD,MAAD,CAAT,EAAmB;AAC1B79D,0BAAM;AADoB,iBAAnB,CAAX;AAGAkN,mBAAG6wD,SAAH,GAAeF,MAAf;AACH,aALD;AAMH;AACJ;AACJ,CAjCD;;;ACAA,CAAC,YAAY;AACT;;AACAniE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sBADf,EACuC;AAC/B7E,oBAAY2+D,oBADmB;AAE/B5+D,qBAAa;AAFkB,KADvC;;AAMA4+D,yBAAqBpiE,OAArB,GAA+B,CAAC,QAAD,EAAW,eAAX,EAA4B,aAA5B,EAA2C,gBAA3C,CAA/B;;AAEA,aAASoiE,oBAAT,CAA8BrxD,MAA9B,EAAsCguB,aAAtC,EAAqD7M,WAArD,EAAkE5xB,cAAlE,EAAkF;AAC9E,YAAI4Q,KAAK,IAAT;;AAEAA,WAAG62C,MAAH,GAAY,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAZ;AACA72C,WAAGmxD,OAAH,GAAa,EAAb;AACAnxD,WAAGoxD,SAAH,GAAe,EAAf;AACApxD,WAAG2wD,MAAH;AACA3wD,WAAG6P,MAAH,GAAYA,MAAZ;AACA7P,WAAGqxD,QAAH;AACArxD,WAAGiQ,MAAH;AACAjQ,WAAGsxD,UAAH,GAAgBA,UAAhB;;AAIAtxD,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGqxD,QAAH,GAAc,IAAd;AACArxD,eAAGmxD,OAAH,GAAaI,cAAb;AACAvxD,eAAGoxD,SAAH,GAAeG,cAAf;;AAEA,gBAAI3qB,QAAQ,IAAIx0C,IAAJ,EAAZ;AACA,gBAAIq+D,YAAY,IAAIr+D,IAAJ,EAAhB;;AAEAq+D,sBAAUC,QAAV,CAAmB9pB,MAAM5yC,QAAN,KAAmB,CAAtC;;AAEAgM,eAAGiQ,MAAH,GAAY;AACRuhD,0BAAU5qB,MAAM1yC,WAAN,EADF;AAERu9D,wBAAQhB,UAAUv8D,WAAV,EAFA;AAGRw9D,yBAAS,IAAIt/D,IAAJ,GAAW4B,QAAX,KAAwB,CAHzB;AAIR29D,2BAAW,IAAIv/D,IAAJ,GAAW4B,QAAX;AAJH,aAAZ;AAMH,SAhBD;;AAkBA,iBAASs9D,UAAT,GAAsB;AAClB;;AAEA;AACA;AACH;;AAGD,iBAASC,YAAT,GAAwB;AACpB,gBAAI7T,QAAQ,EAAZ;AACA,gBAAIkU,aAAa,IAAIx/D,IAAJ,GAAW8B,WAAX,EAAjB;;AAEA,iBAAK,IAAIwK,IAAI,CAAb,EAAgBA,KAAKkzD,aAAa,IAAlC,EAAwClzD,GAAxC,EAA6C;AACzCg/C,sBAAM17C,IAAN,CAAW,OAAOtD,CAAlB;AACH;AACD,mBAAOg/C,KAAP;AACH;;AAED,iBAAS7tC,MAAT,GAAkB;;AAEd,gBAAI,CAAC7P,GAAGqxD,QAAJ,IAAgBrxD,GAAGiQ,MAAH,CAAUuhD,QAAV,IAAsBxxD,GAAGiQ,MAAH,CAAUwhD,MAApD,EAA4D;AACxD;AACH;;AAED,gBAAIzxD,GAAGqxD,QAAH,KAAiBrxD,GAAGiQ,MAAH,CAAUuhD,QAAV,IAAsBxxD,GAAGiQ,MAAH,CAAUwhD,MAAhC,IAA0CzxD,GAAGiQ,MAAH,CAAU0hD,SAAV,IAAuB3xD,GAAGiQ,MAAH,CAAUyhD,OAA5E,IAAyF1xD,GAAGiQ,MAAH,CAAUuhD,QAAV,GAAqBxxD,GAAGiQ,MAAH,CAAUwhD,MAAxI,CAAJ,EAAsJ;AAClJ;AACH;;AAED,gBAAI9gE,OAAOnC,QAAQ4tB,IAAR,CAAapc,GAAGiQ,MAAhB,CAAX;;AAEA,gBAAI,CAACjQ,GAAGqxD,QAAR,EAAkB;AACd1gE,qBAAK+gE,OAAL,GAAe,IAAf;AACA/gE,qBAAKghE,SAAL,GAAiB,IAAjB;AACH;;AAED9jC,0BAAcI,0BAAd,CAAyCt9B,IAAzC,EAA+CwM,IAA/C,CAAoD,UAAUwzD,MAAV,EAAkB;AAClE,oBAAIz3D,OAAO,IAAI8M,IAAJ,CAAS,CAAC2qD,MAAD,CAAT,EAAmB;AAC1B79D,0BAAM;AADoB,iBAAnB,CAAX;AAGAkN,mBAAG6wD,SAAH,GAAeF,MAAf;AACH,aALD;AAMH;AACJ;AACJ,CArFD;;;ACAA,CAAC,YAAY;AACT;;AACAniE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,WADf,EAC4B;AACpB7E,oBAAYs5B,IADQ;AAEpBv5B,qBAAa;AAFO,KAD5B;;AAMAu5B,SAAK/8B,OAAL,GAAe,CAAC,QAAD,EAAW,eAAX,EAA4B,gBAA5B,CAAf;;AAEA,aAAS+8B,IAAT,CAAchsB,MAAd,EAAsBguB,aAAtB,EAAqCz+B,cAArC,EAAqD;AACjD,YAAI4Q,KAAK,IAAT;;AAEAA,WAAG6xD,WAAH,GAAiB,CACb,EAAEj9D,IAAI,CAAN,EAASs0D,OAAO36D,IAAIe,YAAJ,CAAiBgmC,QAAjC,EADa,EAEb,EAAE1gC,IAAI,CAAN,EAASs0D,OAAO36D,IAAIe,YAAJ,CAAiBwiE,cAAjC,EAFa,EAGb,EAAEl9D,IAAI,CAAN,EAASs0D,OAAO36D,IAAIe,YAAJ,CAAiB48D,KAAjC,EAHa,EAIb,EAAEt3D,IAAI,CAAN,EAASs0D,OAAO36D,IAAIe,YAAJ,CAAiBggE,QAAjC,EAJa,EAKb,EAAE16D,IAAI,CAAN,EAASs0D,OAAO36D,IAAIe,YAAJ,CAAiByiE,aAAjC,EALa,CAAjB;;AAQA/xD,WAAGiQ,MAAH,GAAY;AACR+hD,wBAAY,CADJ;AAER9+D,uBAAW;AAFH,SAAZ;AAIA8M,WAAG8mD,UAAH,GAAgB,IAAhB;;AAEA9mD,WAAG2wD,MAAH;AACA3wD,WAAGiyD,eAAH;AACA;AACAjyD,WAAGoqD,sBAAH,GAA4B,KAA5B;AACApqD,WAAGqqD,qBAAH,GAA2B,KAA3B;AACArqD,WAAG6P,MAAH,GAAYA,MAAZ;AACA7P,WAAGC,OAAH,GAAaA,OAAb;AACAD,WAAGiqD,qBAAH,GAA2BA,qBAA3B;AACAjqD,WAAGkyD,oBAAH,GAA0BA,oBAA1B;AACAlyD,WAAGmyD,aAAH,GAAmBA,aAAnB;AACAnyD,WAAGoyD,cAAH,GAAoBA,cAApB;;AAEA,iBAASnyD,OAAT,GAAmB;AACf;AACA;AACA;AACH;;AAED,iBAAS4P,MAAT,GAAkB;;AAEdge,0BAAcO,SAAd,CAAwBpuB,GAAGiQ,MAA3B,EAAmC9S,IAAnC,CAAwC,UAAUwzD,MAAV,EAAkB;AACtD,oBAAIz3D,OAAO,IAAI8M,IAAJ,CAAS,CAAC2qD,MAAD,CAAT,EAAmB;AAC1B79D,0BAAM;AADoB,iBAAnB,CAAX;AAGAkN,mBAAG6wD,SAAH,GAAeF,MAAf;AACH,aALD;AAMH;;AAED,iBAAS1G,qBAAT,GAAiC;AAC7BjqD,eAAGoqD,sBAAH,GAA4B,CAACpqD,GAAGoqD,sBAAhC;AACApqD,eAAGiQ,MAAH,CAAU+O,SAAV,GAAsB,EAAtB;AACH;;AAED,iBAASkzC,oBAAT,GAAiC;AAC7BlyD,eAAGqqD,qBAAH,GAA2B,CAACrqD,GAAGqqD,qBAA/B;AACArqD,eAAGiQ,MAAH,CAAUe,OAAV,GAAoB,EAApB;AACAhR,eAAGiQ,MAAH,CAAUf,MAAV,GAAmB,EAAnB;AACH;;AAED,iBAASijD,aAAT,GAAyB;AACrBnyD,eAAGiQ,MAAH,CAAUsZ,SAAV,GAAsBvpB,GAAGiyD,eAAzB;AACH;;AAED,iBAASG,cAAT,CAAwBniD,MAAxB,EAAgC;AAC5B,gBAAI7S,WAAWhO,eAAek6B,2BAAf,CAA2CrZ,MAA3C,EAAmD9S,IAAnD,CAAwD,UAAU6uB,QAAV,EAAoB;AACvF,uBAAOA,QAAP;AACH,aAFc,CAAf;;AAIA,mBAAO5uB,QAAP;AACH;AACJ;AACJ,CA9ED;;;ACAA,CAAC,YAAY;AACT;;AACA5O,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EACmC;AAC3B7E,oBAAY8/D,gBADe;AAE3B//D,qBAAa;AAFc,KADnC;;AAMA+/D,qBAAiBvjE,OAAjB,GAA2B,CAAC,cAAD,EAAiB,eAAjB,CAA3B;;AAEA,aAASujE,gBAAT,CAA0BC,YAA1B,EAAwCzkC,aAAxC,EAAuD;AACnD,YAAI7tB,KAAK,IAAT;;AAEAA,WAAG2wD,MAAH;;AAEA3wD,WAAGC,OAAH,GAAa,YAAY;AACrB4tB,0BAAcK,mBAAd,CAAkCokC,aAAaC,YAA/C,EAA6Dp1D,IAA7D,CAAkE,UAAUwzD,MAAV,EAAkB;AAChF,oBAAIz3D,OAAO,IAAI8M,IAAJ,CAAS,CAAC2qD,MAAD,CAAT,EAAmB;AAC1B79D,0BAAM;AADoB,iBAAnB,CAAX;AAGAkN,mBAAG2wD,MAAH,GAAYA,MAAZ;AACH,aALD;AAMH,SAPD;AAQH;AACJ,CAxBD;;;ACAA,CAAC,YAAY;AACT;;AACAniE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EACwC;AAChC7E,oBAAYigE,+BADoB;AAEhClgE,qBAAa;AAFmB,KADxC;;AAMAkgE,oCAAgC1jE,OAAhC,GAA0C,CAAC,QAAD,CAA1C;;AAEA,aAAS0jE,+BAAT,CAAyC3yD,MAAzC,EAAiD;AAC7C,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYkgE,mCADwB;AAEpCngE,qBAAa,0EAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAwsC,wCAAoC3jE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,iBAAzB,EAA4C,cAA5C,EAA4D,kBAA5D,EAAgF,gBAAhF,CAA9C;;AAEA,aAAS2jE,mCAAT,CAA6C5yD,MAA7C,EAAqD5Q,UAArD,EAAiE8zB,eAAjE,EAAkFxG,YAAlF,EAAgGxgB,gBAAhG,EAAkHsmB,cAAlH,EAAkI;AAC9H,YAAIriB,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAGyd,aAAH;AACAzd,WAAG0yD,YAAH,GAAkB,EAAlB;AACA1yD,WAAG2yD,kBAAH,GAAwB,EAAxB;AACA3yD,WAAG6c,SAAH,GAAe,KAAf;AACA7c,WAAGzQ,WAAH,GAAiB,EAAjB;;AAEA;AACAyQ,WAAGqZ,IAAH,GAAUA,IAAV;AACArZ,WAAG+c,gBAAH,GAAsBA,gBAAtB;;AAEA/c,WAAGC,OAAH,GAAa,YAAW;AACpBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACAqjE;AACAvwC,2BAAe9iB,MAAf,GAAwBpC,IAAxB,CAA6B,UAASqN,CAAT,EAAY;AACrCxK,mBAAG0yD,YAAH,GAAkBloD,CAAlB;AACAxK,mBAAG2yD,kBAAH,GAAwBnoD,CAAxB;AACH,aAHD;;AAKA,gBAAIxK,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBowB,gCAAgB9mB,GAAhB,CAAoB+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAnC,EAAuCuI,IAAvC,CAA4C,UAASvK,IAAT,EAAe;AACvDoN,uBAAGpN,IAAH,GAAUA,IAAV;AAEH,iBAHD;AAIH,aALD,MAKO;AACHoN,mBAAGpN,IAAH,GAAU;AACN0qB,2BAAO;AADD,iBAAV;AAIH;AACD,gBAAI/uB,IAAIgB,WAAJ,CAAgBqoC,cAApB,EAAoC;AAChChb;AACH;AACJ,SAtBD;;AAwBA,YAAIg2C,cAAc,SAAdA,WAAc,GAAW;AACzB5yD,eAAG6yD,OAAH,GAAa;AACT3/D,2BAAW,EADF;AAETiyB,wBAAQ,EAFC;AAGTxyB,wBAAQ,KAHC;AAITmgE,2BAAWrhE;AAJF,aAAb;AAMH,SAPD;;AASAuO,WAAG+yD,SAAH,GAAe,YAAW;AACtB,gBAAI,CAAC/yD,GAAG6yD,OAAH,CAAW3/D,SAAZ,IAAyB8M,GAAG6yD,OAAH,CAAW1tC,MAAX,GAAoB,CAAjD,EACI;;AAEJ,gBAAI6tC,aAAahzD,GAAGpN,IAAH,CAAQ0qB,KAAR,CAAchlB,IAAd,CAAmB,UAASkS,CAAT,EAAY;AAC5C,uBAAOA,EAAEtX,SAAF,IAAe8M,GAAG6yD,OAAH,CAAW3/D,SAA1B,IAAuCsX,EAAE2a,MAAF,IAAYnlB,GAAG6yD,OAAH,CAAW1tC,MAArE;AACH,aAFgB,CAAjB;;AAIA,gBAAI6tC,UAAJ,EACI;;AAEJ,gBAAIzwC,UAAUviB,GAAG0yD,YAAH,CAAgBp6D,IAAhB,CAAqB,UAASkS,CAAT,EAAY;AAC3C,uBAAOxK,GAAG6yD,OAAH,CAAW3/D,SAAX,KAAyBsX,EAAE5V,EAAlC;AACH,aAFa,CAAd;;AAIAoL,eAAGpN,IAAH,CAAQ0qB,KAAR,CAActb,IAAd,CAAmB;AACfmjB,wBAAQnlB,GAAG6yD,OAAH,CAAW1tC,MAAX,IAAqB,CADd;AAEfjyB,2BAAW8M,GAAG6yD,OAAH,CAAW3/D,SAFP;AAGf+/D,6BAAa1wC,QAAQvyB;AAHN,aAAnB;;AAMA4iE;AACH,SAtBD;;AAwBA5yD,WAAGkzD,OAAH,GAAa,UAAUtgE,IAAV,EAAgB8F,KAAhB,EAAuB;AAChCsH,eAAG6yD,OAAH,CAAW3/D,SAAX,GAAuBN,KAAKM,SAA5B;AACA8M,eAAG6yD,OAAH,CAAW1tC,MAAX,GAAoBvyB,KAAKuyB,MAAzB;AACAnlB,eAAG6yD,OAAH,CAAWlgE,MAAX,GAAoB,IAApB;AACAqN,eAAG6yD,OAAH,CAAWC,SAAX,GAAuBp6D,KAAvB;AACH,SALD;;AAOAsH,WAAGmzD,SAAH,GAAe,UAASL,SAAT,EAAoB;AAC/B9yD,eAAGpN,IAAH,CAAQ0qB,KAAR,GAAgBtd,GAAGpN,IAAH,CAAQ0qB,KAAR,CAAcrN,MAAd,CAAqB,UAASvY,CAAT,EAAYgB,KAAZ,EAAmB;AACpD,uBAAOo6D,cAAcp6D,KAArB;AACH,aAFe,CAAhB;AAGH,SAJD;;AAMAsH,WAAGozD,YAAH,GAAkB,YAAW;AACzBR;AACH,SAFD;;AAIA5yD,WAAGqzD,QAAH,GAAc,YAAY;AACtB,gBAAIzgE,OAAOoN,GAAGpN,IAAH,CAAQ0qB,KAAR,CAActd,GAAG6yD,OAAH,CAAWC,SAAzB,CAAX;;AAEA,gBAAIE,aAAahzD,GAAGpN,IAAH,CAAQ0qB,KAAR,CAAchlB,IAAd,CAAmB,UAASkS,CAAT,EAAY;AAC5C,uBAAOA,EAAEtX,SAAF,IAAe8M,GAAG6yD,OAAH,CAAW3/D,SAA1B,IAAuCsX,EAAE2a,MAAF,IAAYnlB,GAAG6yD,OAAH,CAAW1tC,MAArE;AACH,aAFgB,CAAjB;;AAIA,gBAAI6tC,UAAJ,EACI;;AAEJ,gBAAIzwC,UAAUviB,GAAG0yD,YAAH,CAAgBp6D,IAAhB,CAAqB,UAAUkS,CAAV,EAAa;AAC5C,uBAAOxK,GAAG6yD,OAAH,CAAW3/D,SAAX,IAAwBsX,EAAE5V,EAAjC;AACH,aAFa,CAAd;;AAIAhC,iBAAKM,SAAL,GAAiB8M,GAAG6yD,OAAH,CAAW3/D,SAA5B;AACAN,iBAAKqgE,WAAL,GAAmB1wC,QAAQvyB,IAA3B;AACA4C,iBAAKuyB,MAAL,GAAcnlB,GAAG6yD,OAAH,CAAW1tC,MAAzB;;AAEAnlB,eAAGpN,IAAH,CAAQ0qB,KAAR,CAActd,GAAG6yD,OAAH,CAAWC,SAAzB,IAAsCtkE,QAAQ4tB,IAAR,CAAaxpB,IAAb,CAAtC;;AAEAggE;AACH,SArBD;;AAuBA,iBAASh2C,WAAT,GAAuB;AACnBL,yBAAaK,WAAb,GAA2Bzf,IAA3B,CAAgC,UAAUigB,IAAV,EAAgB;AAC5Cpd,mBAAG4c,WAAH,GAAiBQ,IAAjB;AACH,aAFD;AAGH;;AAED,iBAASL,gBAAT,GAA4B;AACxB/c,eAAG6c,SAAH,GAAe,IAAf;;AAEA,gBAAI,SAAS7c,GAAGpN,IAAH,CAAQ0gE,YAAjB,KAAkC,QAAlC,IAA8CtzD,GAAGpN,IAAH,CAAQ0gE,YAAR,CAAqB9hE,MAArB,GAA8B,CAAhF,EAAmF;AAC/EwO,mBAAG6c,SAAH,GAAe,KAAf;AACA;AACH;;AAEDN,yBAAaiB,WAAb,CAAyBxd,GAAGpN,IAAH,CAAQ0gE,YAAjC,EAA+Cn2D,IAA/C,CAAoD,UAAU6yD,IAAV,EAAgB;AAChEhwD,mBAAGyd,aAAH,GAAmBuyC,IAAnB;AACH,aAFD,EAEGtyC,OAFH,CAEW,YAAY;AAAE1d,mBAAG6c,SAAH,GAAe,KAAf;AAAuB,aAFhD;AAGH;;AAED,iBAASxD,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJgQ,eAAGpN,IAAH,CAAQ2gE,cAAR,GAAyBvzD,GAAGpN,IAAH,CAAQ0gE,YAAR,IAAwBtzD,GAAGpN,IAAH,CAAQ0gE,YAAR,CAAqB1+D,EAA7C,GAAkDoL,GAAGpN,IAAH,CAAQ0gE,YAAR,CAAqB1+D,EAAvE,GAA4E,IAArG;;AAEA,gBAAIoL,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBowB,gCAAgBpf,MAAhB,CAAuB3D,GAAGpN,IAA1B,EAAgCuK,IAAhC,CAAqC,YAAY;AAC7CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHnD,gCAAgBvjB,MAAhB,CAAuBQ,GAAGpN,IAA1B,EAAgCuK,IAAhC,CAAqC,YAAY;AAC7CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAnKD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYihE,mCADwB;AAEpClhE,qBAAa,0EAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAutC,wCAAoC1kE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,iBAAzB,EAA4C,kBAA5C,CAA9C;;AAEA,aAAS0kE,mCAAT,CAA6C3zD,MAA7C,EAAqD5Q,UAArD,EAAiE8zB,eAAjE,EAAkFhnB,gBAAlF,EAAoG;AAChG,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;AACAyH,WAAGmP,aAAH,GAAmBA,aAAnB;;AAEAnP,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACdwjB,4BAAgBxjB,MAAhB,CAAuB,IAAvB,EAA6B,IAA7B,EAAmCpC,IAAnC,CAAwC,UAAU3J,KAAV,EAAiB;AACrDwM,mBAAGxM,KAAH,GAAW,EAAX;AACAwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAHD;AAIH;;AAGD,iBAAS+E,MAAT,GAAkB;AACdwqB,4BAAgBxqB,MAAhB,CAAuByH,GAAGinB,YAAH,CAAgBryB,EAAvC,EAA2CuI,IAA3C,CAAgD,YAAY;AACxDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;;AAED,iBAASl0B,aAAT,CAAuBvc,IAAvB,EAA6B;AACzBmwB,4BAAgB5T,aAAhB,CAA8Bvc,KAAKgC,EAAnC,EAAuCuI,IAAvC,CAA4C,UAAUxM,IAAV,EAAgB;AACxDoL,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAla;AACH,aAHD;AAIH;AACJ;AACJ,CAtDD;;;ACAA,CAAC,YAAY;AACT;;AACA/Q,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EACmC;AAC3B7E,oBAAYkhE,0BADe;AAE3BnhE,qBAAa,6EAFc;AAG3BoN,kBAAU;AACNuQ,oBAAQ;AADF;AAHiB,KADnC;;AASAwjD,+BAA2B3kE,OAA3B,GAAqC,CAAC,QAAD,EAAW,UAAX,EAAuB,WAAvB,EAAoC,YAApC,EAAkD,kBAAlD,EAAsE,mBAAtE,EAA2F,gBAA3F,CAArC;;AAEA,aAAS2kE,0BAAT,CAAoC5zD,MAApC,EAA4C3Q,QAA5C,EAAsDC,SAAtD,EAAiEF,UAAjE,EAA6E8M,gBAA7E,EAA+F2yB,iBAA/F,EAAkHt/B,cAAlH,EAAkI;AAC9H,YAAI4Q,KAAK,IAAT;;AAEAA,WAAG0S,QAAH;AACA1S,WAAGue,WAAH;AACAve,WAAGurD,aAAH;AACAvrD,WAAG0zD,aAAH;AACA1zD,WAAG49C,eAAH;AACA59C,WAAG2zD,cAAH;;AAEA3zD,WAAGse,eAAH,GAAqBA,eAArB;AACAte,WAAG4zD,YAAH,GAAkBA,YAAlB;AACA5zD,WAAG6zD,gBAAH,GAAsBA,gBAAtB;AACA7zD,WAAG2R,mBAAH,GAAyBA,mBAAzB;AACA3R,WAAG8zD,eAAH,GAAqBA,eAArB;;AAEA;AACA5zD;AACA6F;;AAEA,iBAASA,QAAT,GAAoB;AAChB/F,eAAGue,WAAH,GAAiB,KAAjB;AACAve,eAAG49C,eAAH,GAAqB,EAArB;;AAEAjsC;AACH;;AAED,iBAASA,mBAAT,CAA6B1B,MAA7B,EAAqC;AACjCye,8BAAkB/c,mBAAlB,CAAsC3R,GAAG2zD,cAAzC,EAAyDx2D,IAAzD,CAA8D,UAAUuV,QAAV,EAAoB;AAC9ExjB,yBAAS,YAAY;AACjB8Q,uBAAG0S,QAAH,GAAcA,QAAd;AACA1S,uBAAG0zD,aAAH,GAAmB,CAAnB;AACA1zD,uBAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChCoN,2BAAG0zD,aAAH,IAAoBn8C,WAAW3kB,KAAK8jD,OAAhB,IAA2Bn/B,WAAW3kB,KAAK8jD,OAAhB,CAA3B,GAAsD,CAA1E;AACH,qBAFD;AAGH,iBAND;AAOH,aARD;AASH;;AAED,iBAASmd,gBAAT,CAA0B35D,OAA1B,EAAmC;AAC/BA,oBAAQylB,OAAR,GAAkB,CAACzlB,QAAQylB,OAA3B;AACH;;AAED,iBAASi0C,YAAT,GAAwB;AACpB,gBAAIjjE,OAAO,EAAX;AACA,gBAAI0zC,MAAM,EAAV;AACA,gBAAI0vB,WAAW,CAAf;AACA,gBAAIC,kBAAkB,EAAtB;AACA,gBAAIC,0BAA0B,EAA9B;;AAEA,gBAAI,CAACj0D,GAAG0S,QAAJ,IAAgB,CAAC1S,GAAG0S,QAAH,CAAYlhB,MAAjC,EAAyC;AACrC;AACH;;AAEDwO,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChC,oBAAIA,KAAK+sB,OAAT,EAAkB;AACd0kB,wBAAIriC,IAAJ,CAAS,EAAE+M,WAAWnc,KAAKgC,EAAlB,EAAsBs/D,eAAe38C,WAAW3kB,KAAK8jD,OAAhB,CAArC,EAAT;AACAqd,gCAAYx8C,WAAW3kB,KAAK8jD,OAAhB,IAA2Bn/B,WAAW3kB,KAAK8jD,OAAhB,CAA3B,GAAsD,CAAlE;AACAsd,oCAAgBphE,KAAK6pD,QAArB,IAAiCuX,gBAAgBphE,KAAK6pD,QAArB,IAAiCuX,gBAAgBphE,KAAK6pD,QAArB,IAAiCllC,WAAW3kB,KAAK8jD,OAAhB,CAAlE,GAA6Fn/B,WAAW3kB,KAAK8jD,OAAhB,CAA9H;AACH;AAEJ,aAPD;;AASA,iBAAK,IAAI7yB,GAAT,IAAgBmwC,eAAhB,EAAiC;AAC7BC,wCAAwBjyD,IAAxB,CAA6B,EAAEy6C,UAAU54B,GAAZ,EAAiBrN,OAAOw9C,gBAAgBnwC,GAAhB,CAAxB,EAA7B;AACH;;AAED,gBAAI,CAACwgB,IAAI7yC,MAAT,EAAiB;AACbuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB8kE,yBAA7C;AACA;AACH;;AAED,gBAAIJ,WAAW/zD,GAAG0zD,aAAlB,EAAiC;AAC7B33D,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqB+kE,wCAA7C;AACA;AACH;;AAEDjO,8BAAkBl3D,WAAWI,SAAX,CAAqBglE,0BAAvC,EAAmEJ,uBAAnE,EAA4FhlE,WAAWI,SAAX,CAAqBilE,cAAjH,EAAiIn3D,IAAjI,CAAsI,YAAY;AAC9IxM,qBAAKquB,SAAL,GAAiBhf,GAAGiQ,MAAH,CAAU+O,SAA3B;AACAruB,qBAAK6C,KAAL,GAAa6wC,GAAb;AACA3V,kCAAkB9c,cAAlB,CAAiCjhB,IAAjC,EAAuCwM,IAAvC,CAA4C,UAAUC,QAAV,EAAoB;AAC5DrB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBklE,4BAA9C;AACA5iD;AACA1iB,+BAAW8sB,UAAX,CAAsB,cAAtB;AACH,iBAJD;AAKH,aARD,EAQG,YAAY,CAAG,CARlB;AASH;;AAED,iBAASuC,eAAT,GAA2B;AACvB,gBAAI,CAACte,GAAG0S,QAAJ,IAAgB,CAAC1S,GAAG0S,QAAH,CAAYlhB,MAAjC,EACI;AACJwO,eAAGue,WAAH,GAAiB,CAACve,GAAGue,WAArB;AACAve,eAAG0S,QAAH,CAAYgN,OAAZ,CAAoB,UAAU9sB,IAAV,EAAgB;AAChCA,qBAAK+sB,OAAL,GAAe3f,GAAGue,WAAlB;AACH,aAFD;AAGH;;AAED,iBAAS4nC,iBAAT,CAA2B9jD,OAA3B,EAAoC7O,KAApC,EAA2C8O,KAA3C,EAAkD;AAC9C,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,kFAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOrM,KAAP,GAAeA,KAAf;AACAqM,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBAPW;AAHW,aAAf,CAAZ;;AAaA,mBAAOC,MAAMvE,MAAb;AAEH;;AAED,iBAAS81D,eAAT,CAAyB/kD,SAAzB,EAAoC;AAChC3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EAAkC5R,IAAlC,CAAuC,UAAUjD,OAAV,EAAmB;AACtD3L,oBAAI2L,OAAJ,CAAYC,gBAAZ,CAA6BD,QAAQtF,EAArC,EAAyCsF,QAAQinB,QAAjD,EAA2DjnB,QAAQknB,UAAnE,EAA+ElnB,QAAQ1G,KAAR,CAAchC,MAAd,GAAuB,CAAtG;AACH,aAFD;AAGH;;AAED,iBAAS0O,iBAAT,GAA6B;AACzB,gBAAIs0D,gBAAgB30D,OAAOS,MAAP,CAAc,cAAd,EAA8B,YAAW;AACzDN,mBAAG2zD,cAAH,GAAoB3zD,GAAGiQ,MAAvB;AACA0B;AACH,aAHmB,EAGjB,IAHiB,CAApB;;AAKA9R,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BglE;AACH,aAFD;AAGH;AACJ;AACJ,CAjJD,EAiJGjmE,GAjJH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,mBADf,EACoC;AAC5B7E,oBAAYkiE,2BADgB;AAE5BniE,qBAAa,+EAFe;AAG5BoN,kBAAU;AACNuQ,oBAAQ;AADF;AAHkB,KADpC;;AASAwkD,gCAA4B3lE,OAA5B,GAAsC,CAAC,QAAD,EAAW,UAAX,EAAuB,WAAvB,EAAoC,YAApC,EAAkD,kBAAlD,EAAsE,mBAAtE,CAAtC;;AAEA,aAAS2lE,2BAAT,CAAqC50D,MAArC,EAA6C3Q,QAA7C,EAAuDC,SAAvD,EAAkEF,UAAlE,EAA8E8M,gBAA9E,EAAgG2yB,iBAAhG,EAAmH;AAC/G,YAAI1uB,KAAK,IAAT;;AAEAA,WAAG00D,OAAH;AACA10D,WAAG2zD,cAAH,GAAoB,EAApB;AACA3zD,WAAGyhC,WAAH;AACAzhC,WAAG20D,iBAAH,GAAuBA,iBAAvB;AACA30D,WAAG40D,WAAH,GAAiBA,WAAjB;;AAEA;AACA10D;AACA6F;;AAEA,iBAASA,QAAT,GAAoB;AAChB/F,eAAGyhC,WAAH,GAAiB,CAAjB;AACA5vB;AACH;;AAED,iBAASA,oBAAT,GAAgC;AAC5B7R,eAAG2zD,cAAH,CAAkB9rD,IAAlB,GAA0B7H,GAAGyhC,WAAH,GAAiB,CAAlB,GAAuBzhC,GAAGyhC,WAA1B,GAAwC,CAAjE;AACA/S,8BAAkB7c,oBAAlB,CAAuC7R,GAAG2zD,cAA1C,EAA0Dx2D,IAA1D,CAA+D,UAAUu3D,OAAV,EAAmB;;AAE9ExlE,yBAAS,YAAY;AACjB8Q,uBAAG00D,OAAH,GAAaA,OAAb;AACH,iBAFD;AAGH,aALD;AAMH;;AAED,iBAASE,WAAT,CAAqBjtD,GAArB,EAA0B;AACtB3H,eAAGyhC,WAAH,IAAkB95B,GAAlB;AACAkK;AACH;;AAED,iBAAS8iD,iBAAT,CAA2B/hE,IAA3B,EAAiC;AAC7BuzD,8BAAkBl3D,WAAWI,SAAX,CAAqBwlE,yBAAvC,EAAkE5lE,WAAWI,SAAX,CAAqBylE,aAAvF,EAAsG33D,IAAtG,CAA2G,YAAY;AACnHuxB,kCAAkB5c,aAAlB,CAAgClf,IAAhC,EAAsCuK,IAAtC,CAA2C,YAAY;AACnDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB0lE,0BAA9C;AACAljD;AACH,iBAHD;AAIH,aALD,EAKG,YAAY,CAAG,CALlB;AAOH;;AAED,iBAASs0C,iBAAT,CAA2B9jD,OAA3B,EAAoCC,KAApC,EAA2C;AACvC,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,sCAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBALW;AAHW,aAAf,CAAZ;;AAWA,mBAAOC,MAAMvE,MAAb;AAEH;;AAED,iBAASkC,iBAAT,GAA6B;AACzB,gBAAIs0D,gBAAgB30D,OAAOS,MAAP,CAAc,cAAd,EAA8B,YAAW;AACzDN,mBAAG2zD,cAAH,GAAoB3zD,GAAGiQ,MAAvB;AACAjQ,mBAAG2zD,cAAH,CAAkB9rD,IAAlB,GAAyB,CAAzB;AACAgK;AACH,aAJmB,EAIjB,IAJiB,CAApB;;AAMA,gBAAImjD,cAAc/lE,WAAWO,GAAX,CAAe,cAAf,EAA+B,YAAY;AACzDwQ,mBAAG2zD,cAAH,CAAkB9rD,IAAlB,GAAyB,CAAzB;AACAgK;AACH,aAHiB,CAAlB;;AAKAhS,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BglE;AACAQ;AACH,aAHD;AAIH;AACJ;AACJ,CA1FD,EA0FGzmE,GA1FH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,eADf,EACgC;AACxB7E,oBAAY0iE,iBADY;AAExB3iE,qBAAa;AAFW,KADhC;;AAMA2iE,sBAAkBnmE,OAAlB,GAA4B,CACxB,YADwB,EACV,QADU,EACA,aADA,EACe,kBADf,EACmC,kBADnC,EACuD,WADvD,EACoE,gBADpE,EACsF,cADtF,CAA5B;;AAIA,aAASmmE,iBAAT,CACIhmE,UADJ,EACgB4Q,MADhB,EACwBmhB,WADxB,EACqCqO,gBADrC,EACuDtzB,gBADvD,EACyE5M,SADzE,EACoFC,cADpF,EACoG0T,YADpG,EAEE;AACE,YAAI9C,KAAK,IAAT;AACAA,WAAGiwB,UAAH,GAAgB,EAAhB;;AAEAjwB,WAAG4uD,gBAAH,GAAsBA,gBAAtB;;AAEA5uD,WAAGC,OAAH,GAAa,YAAY;AACrBwvB;AACH,SAFD;;AAIA,iBAASm/B,gBAAT,CAA0BC,MAA1B,EAAkC;AAC9B/rD,yBAAazQ,IAAb,CAAkB,cAAlB,EAAkC,EAAC2sB,WAAW6vC,MAAZ,EAAlC;AACH;;AAED,iBAASp/B,aAAT,GAAyB;AACrBJ,6BAAiBI,aAAjB,CAA+BzvB,GAAGiQ,MAAlC,EAA0C9S,IAA1C,CAA+C,UAAUxM,IAAV,EAAgB;AAC3DqP,mBAAGiwB,UAAH,GAAgBt/B,IAAhB;AACH,aAFD;AAGH;AACJ;AACJ,CAlCD;;;ACAA,CAAC,YAAY;AACT;;AACAnC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EACwC;AAChC7E,oBAAYs5B,IADoB;AAEhCv5B,qBAAa;AAFmB,KADxC;;AAMAu5B,SAAK/8B,OAAL,GAAe,CAAC,YAAD,EAAe,QAAf,EAAyB,aAAzB,EAAwC,kBAAxC,EAA4D,kBAA5D,EAAgF,WAAhF,EAA6F,gBAA7F,EAA+G,cAA/G,EAA+H,UAA/H,CAAf;;AAEA,aAAS+8B,IAAT,CAAc58B,UAAd,EAA0B4Q,MAA1B,EAAkCmhB,WAAlC,EAA+CqO,gBAA/C,EAAiEtzB,gBAAjE,EAAmF5M,SAAnF,EAA8FC,cAA9F,EAA8G0T,YAA9G,EAA4H5T,QAA5H,EAAsI;AAClI,YAAI8Q,KAAK,IAAT;AACAA,WAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,WAAGm1D,SAAH,GAAe,KAAf;AACAn1D,WAAGo1D,aAAH,GAAmB,IAAnB;AACAp1D,WAAGsjB,WAAH,GAAiBtC,YAAY1sB,WAA7B;AACA0L,WAAGs4C,aAAH,GAAmBt3B,YAAYtsB,aAA/B;AACAsL,WAAGosB,WAAH,GAAiBpL,YAAY/rB,WAA7B;AACA+K,WAAGtL,aAAH,GAAmBssB,YAAYtsB,aAA/B;AACAsL,WAAGhN,KAAH,GAAW,EAAX;AACAgN,WAAGiQ,MAAH,GAAY;AACRpI,kBAAM,CADE;AAERwtD,wBAAY;AAFJ,SAAZ;AAIAr1D,WAAGs1D,aAAH,GAAmB,CAAnB;AACAt1D,WAAGzQ,WAAH,GAAiB,EAAjB;AACAyQ,WAAG+3B,eAAH,GAAqB,KAArB;;AAEA/3B,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACAyQ,eAAG+3B,eAAH,GAAqBxpC,IAAIgB,WAAJ,CAAgBwoC,eAArC;;AAEA/3B,eAAG6P,MAAH,CAAU,KAAV;AACA3P;AACH,SAND;;AAQAF,WAAGu1D,QAAH,GAAc,YAAY;AACtBv1D,eAAGiQ,MAAH,CAAUpI,IAAV;;AAEA,gBAAImkB,WAAWhsB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CAAuBiS,MAAvB,CAA8B,UAAUrd,IAAV,EAAgB;AACzD,uBAAOA,KAAK2/B,MAAL,IAAe,CAAtB;AACH,aAFc,CAAf;;AAIAvyB,eAAGiQ,MAAH,CAAUolD,UAAV,GAAuBrpC,SAASE,GAAT,CAAa,UAAUspC,MAAV,EAAkB;AAClD,uBAAOA,OAAO5iE,IAAP,CAAYgC,EAAnB;AACH,aAFsB,CAAvB;;AAIAoL,eAAG6P,MAAH,CAAU,IAAV;AACH,SAZD;;AAcA7P,WAAGy1D,SAAH,GAAe,YAAY;AACvBz1D,eAAGk1D,YAAH,CAAgBl3D,MAAhB,GAAyBgC,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CAAuBkuB,GAAvB,CAA2B,UAAUxtB,CAAV,EAAa;AAC7DA,kBAAEihB,OAAF,GAAY3f,GAAGm1D,SAAf;AACA,uBAAOz2D,CAAP;AACH,aAHwB,CAAzB;;AAKAsB,eAAG01D,YAAH;AACH,SAPD;;AASA11D,WAAG21D,SAAH,GAAe,UAAUpxC,GAAV,EAAe;AAC1BvkB,eAAGhN,KAAH,GAAW,EAAX;;AAEA,gBAAI,CAACuxB,IAAIvxB,KAAL,IAAc,CAACuxB,IAAIvxB,KAAJ,CAAUxB,MAA7B,EACI;;AAEJtC,qBAAS,YAAY;AACjB8Q,mBAAGhN,KAAH,GAAWuxB,IAAIvxB,KAAf;AACAgN,mBAAG41D,kBAAH,GAAwBrxC,IAAIW,WAA5B;AACH,aAHD;AAIH,SAVD;;AAYAllB,WAAGovD,qBAAH,GAA2B,UAAUhG,CAAV,EAAa;AACpCA,cAAE5nC,UAAF,GAAe,CAAC4nC,EAAE5nC,UAAlB;;AAEA,gBAAI4nC,EAAE5nC,UAAN,EAAkB;AACd4nC,kBAAE12C,QAAF,GAAa,EAAb;;AAEAtjB,+BAAe65B,oBAAf,CAAoCmgC,EAAEx2D,IAAF,CAAOgC,EAA3C,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB02C,sBAAE12C,QAAF,GAAaA,QAAb;AACH,iBAHL;AAIH;AACJ,SAXD;;AAaA1S,WAAGkrD,aAAH,GAAmB,UAAUmE,WAAV,EAAuBR,MAAvB,EAA+B;AAC9C/rD,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBs8D,iBAA/C,EAAkE3tD,MAAlE,CAAyEb,IAAzE,CAA8E,YAAY;AACtF/N,+BAAe+M,MAAf,CAAsB0yD,MAAtB,EAA8B1xD,IAA9B,CAAmC,UAAUY,GAAV,EAAe;AAC9CsxD,gCAAY38C,QAAZ,GAAuB,EAAvB;AACAtjB,mCAAe65B,oBAAf,CAAoComC,YAAYz8D,IAAZ,CAAiBgC,EAArD,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB28C,oCAAY38C,QAAZ,GAAuB,EAAvB;AACA28C,oCAAY38C,QAAZ,GAAuBA,QAAvB;AACH,qBAJL;AAKA3W,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACH,iBARD;AASH,aAVD;AAWH,SAZD;;AAcA,iBAASx1B,gBAAT,CAA0BsnD,CAA1B,EAA6BjnD,GAA7B,EAAkCC,KAAlC,EAAyCC,OAAzC,EAAkDC,gBAAlD,EAAoE;AAChE,gBAAIC,MAAM,IAAIC,IAAJ,EAAV;;AAEA,mBAAOjD,UAAUkD,IAAV,CAAe;AAClBC,6BAAa,iEADK;AAElBC,4BAAY,wBAFM;AAGlBC,8BAAc,OAHI;AAIlBC,sBAAM,IAJY;AAKlBC,6BAAa,eALK;AAMlBzC,yBAAS;AACL0C,4BAAQ,kBAAY;AAChB,+BAAO,CAAC,CAACZ,GAAT;AACH,qBAHI;AAILa,0BAAMb,MAAM3C,eAAeyD,OAAf,CAAuBd,GAAvB,CAAN,GAAoC;AACtCe,8BAAMd,KADgC;AAEtCe,gCAAQd,OAF8B;AAGtCe,+BAAO,EAH+B;AAItCC,kCAAU,EAJ4B;AAKtCM,sCAAc,EALwB;AAMtCC,+BAAO,CAAC;AACJC,mCAAOhC,SADH;AAEJiC,uCAAWjC,SAFP;AAGJkC,iCAAKlC;AAHD,yBAAD,CAN+B;AAWtCmC,8BAAM;AACFC,iCAAK1B,IAAI2B,OAAJ,EADH;AAEFC,mCAAO5B,IAAI6B,QAAJ,KAAiB,CAFtB;AAGFC,kCAAM9B,IAAI+B,WAAJ;AAHJ;AAXgC,qBAJrC;AAqBLhC,sCAAkBA;AArBb;AANS,aAAf,EA6BJ8L,MA7BH;AA8BH;;AAEDgC,WAAGkhB,WAAH,GAAiB,UAAUmuC,WAAV,EAAuBtgD,SAAvB,EAAkC;AAC/C3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EACK5R,IADL,CACU,UAAUjD,OAAV,EAAmB;AACrBxI,iCAAiB,IAAjB,EAAuBwI,QAAQtF,EAA/B,EAAmCsF,QAAQinB,QAA3C,EAAqDjnB,QAAQknB,UAA7D,EACKjkB,IADL,CACU,YAAY;;AAEd,wBAAIkyD,YAAY98B,MAAZ,IAAsB,CAA1B,EAA6B;AACzB88B,oCAAY38C,QAAZ,GAAuB,EAAvB;;AAEAtjB,uCAAe65B,oBAAf,CAAoComC,YAAYz6D,EAAhD,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB28C,wCAAY38C,QAAZ,GAAuBA,QAAvB;AACH,yBAHL;AAIH;AACJ,iBAXL;AAYH,aAdL;AAeH,SAhBD;;AAkBA1S,WAAG61D,eAAH,GAAqB,UAAUC,QAAV,EAAoB;AACrC,gBAAI,CAACA,QAAD,IAAa,CAACA,SAASC,CAAvB,IAA4B,CAACD,SAASE,CAAtC,IAA2C,CAACF,SAASG,CAAzD,EACI,OAAO,EAAP;;AAEJ,4BAAcH,SAASC,CAAvB,SAA4BD,SAASE,CAArC,SAA0CF,SAASG,CAAnD;AACH,SALD;;AAOAj2D,WAAGk2D,aAAH,GAAmB,UAAUC,GAAV,EAAepnD,SAAf,EAA0B;AACzC,gBAAIqnD,WAAW,EAAf;AACA,gBAAIC,eAAe;AACfzhE,oBAAIma,SADW;AAEf;AACA+9B,0BAAU9sC,GAAGs4C,aAAH,CAAiByT;AAHZ,aAAnB;AAKAqK,qBAASp0D,IAAT,CAAcq0D,YAAd;AACAC,+BAAmBrnE,WAAWI,SAAX,CAAqBiqD,oBAAxC,EACIrqD,WAAWI,SAAX,CAAqBkqD,0BADzB,EACqDp8C,IADrD,CAC0D,UAAUxM,IAAV,EAAgB;;AAElE0lE,6BAAand,MAAb,GAAsBvoD,KAAKmH,OAA3B;AACAu3B,iCAAiB5c,mBAAjB,CAAqC2jD,QAArC,EACKj5D,IADL,CACU,UAAUY,GAAV,EAAe;AACjB3O,mCAAe65B,oBAAf,CAAoCktC,IAAIvjE,IAAJ,CAASgC,EAA7C,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtByjD,4BAAIzjD,QAAJ,GAAeA,QAAf;AACH,qBAHL;AAIH,iBANL;AAOH,aAXL;AAYH,SApBD;;AAsBA1S,WAAGu2D,eAAH,GAAqB,UAAUJ,GAAV,EAAepnD,SAAf,EAA0B;AAC3C,gBAAIghB,aAAa,EAAjB;AACA,gBAAIymC,iBAAiB;AACjB5hE,oBAAIma,SADa;AAEjBmqC,wBAAQid,IAAIvjE,IAAJ,CAAS6jE,iBAAT,IAA8B,WAFrB;AAGjB3pB,0BAAU9sC,GAAGs4C,aAAH,CAAiBqL;AAHV,aAArB;AAKA5zB,uBAAW/tB,IAAX,CAAgBw0D,cAAhB;AACArQ,8BAAkBl3D,WAAWI,SAAX,CAAqBsqD,sBAAvC,EACI1qD,WAAWI,SAAX,CAAqBuqD,4BADzB,EACuDz8C,IADvD,CAC4D,YAAY;AAChE6C,mBAAGgqB,OAAH,GAAa,IAAb;AACAqF,iCAAiB5c,mBAAjB,CAAqCsd,UAArC,EACK5yB,IADL,CACU,UAAUY,GAAV,EAAe;AACjB3O,mCAAe65B,oBAAf,CAAoCktC,IAAIvjE,IAAJ,CAASgC,EAA7C,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtByjD,4BAAIzjD,QAAJ,GAAeA,QAAf;AACA1S,2BAAGgqB,OAAH,GAAa,KAAb;AACH,qBAJL;AAKH,iBAPL;AAQH,aAXL;AAYH,SApBD;;AAsBAhqB,WAAGtP,MAAH,GAAY,YAAY;AACpB,gBAAI0lE,WAAWp2D,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACViS,MADU,CACH,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHU,EAIVuM,GAJU,CAIN,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACH9V,wBAAI8V,EAAE9X,IAAF,CAAOgC,EADR;AAEHskD,4BAAQxuC,EAAE9X,IAAF,CAAO6jE,iBAFZ;AAGH3pB,8BAAU9sC,GAAGs4C,aAAH,CAAiByT,QAHxB;AAIHx5B,4BAAQ7nB,EAAE6nB;AAJP,iBAAP;AAMH,aAXU,CAAf;;AAaA,gBAAI,CAAC6jC,SAAS5kE,MAAd,EAAsB;AAClBuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBypD,8BAA7C;AACA;AACH;;AAED,gBAAI4d,oBAAoBN,SAASnd,IAAT,CAAc,UAAUvuC,CAAV,EAAa;AAC/C,uBAAO,CAACA,EAAEwuC,MAAV;AACH,aAFuB,CAAxB;;AAIA,gBAAIwd,iBAAJ,EAAuB;AACnB36D,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBsnE,oCAA7C;AACA;AACH;;AAEDxQ,8BAAkBl3D,WAAWI,SAAX,CAAqBiqD,oBAAvC,EACIrqD,WAAWI,SAAX,CAAqBkqD,0BADzB,EACqDp8C,IADrD,CAC0D,YAAY;AAC9DkyB,iCAAiB5c,mBAAjB,CAAqC2jD,QAArC,EAA+Cj5D,IAA/C,CAAoD,UAAUY,GAAV,EAAe;AAC/DiC,uBAAG6P,MAAH;AACA7P,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,uBAAGm1D,SAAH,GAAe,KAAf;AACH,iBALD;AAMH,aARL;AASH,SArCD;;AAuCAn1D,WAAG42D,QAAH,GAAc,YAAY;AACtB,gBAAI7mC,aAAa/vB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACZiS,MADY,CACL,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACH9V,wBAAI8V,EAAE9X,IAAF,CAAOgC,EADR;AAEHskD,4BAAQxuC,EAAE9X,IAAF,CAAO6jE,iBAFZ;AAGH3pB,8BAAU9sC,GAAGs4C,aAAH,CAAiBqL,SAHxB;AAIHpxB,4BAAQ7nB,EAAE6nB,MAJP;AAKHskC,sCAAkB;AALf,iBAAP;AAOH,aAZY,CAAjB;;AAcA,gBAAI,CAAC9mC,WAAWv+B,MAAhB,EAAwB;AACpBuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBo9C,gCAA7C;AACA;AACH;;AAED0Z,8BAAkBl3D,WAAWI,SAAX,CAAqBsqD,sBAAvC,EACI1qD,WAAWI,SAAX,CAAqBuqD,4BADzB,EACuDz8C,IADvD,CAC4D,YAAY;AAChE6C,mBAAGgqB,OAAH,GAAa,IAAb;AACAqF,iCAAiB5c,mBAAjB,CAAqCsd,UAArC,EAAiD5yB,IAAjD,CAAsD,UAAUY,GAAV,EAAe;AACjEiC,uBAAG6P,MAAH;AACA7P,uBAAGgqB,OAAH,GAAa,KAAb;AACAhqB,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,uBAAGm1D,SAAH,GAAe,KAAf;AACH,iBAND,EAMG,YAAY;AACXn1D,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBARD;AASH,aAZL;AAaH,SAjCD;;AAmCAhqB,WAAG82D,eAAH,GAAqB,YAAY;AAC7B,gBAAI/mC,aAAa/vB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACZiS,MADY,CACL,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACH9V,wBAAI8V,EAAE9X,IAAF,CAAOgC,EADR;AAEHskD,4BAAQxuC,EAAE9X,IAAF,CAAO6jE,iBAFZ;AAGH3pB,8BAAU9sC,GAAGs4C,aAAH,CAAiBqL,SAHxB;AAIHpxB,4BAAQ7nB,EAAE6nB,MAJP;AAKHskC,sCAAkB;AALf,iBAAP;AAOH,aAZY,CAAjB;;AAcA,gBAAI,CAAC9mC,WAAWv+B,MAAhB,EAAwB;AACpBuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBo9C,gCAA7C;AACA;AACH;;AAED0Z,8BAAkBl3D,WAAWI,SAAX,CAAqBsqD,sBAAvC,EACI1qD,WAAWI,SAAX,CAAqBuqD,4BADzB,EACuDz8C,IADvD,CAC4D,YAAY;AAChE6C,mBAAGgqB,OAAH,GAAa,IAAb;AACAqF,iCAAiB5c,mBAAjB,CAAqCsd,UAArC,EAAiD5yB,IAAjD,CAAsD,UAAUY,GAAV,EAAe;AACjEiC,uBAAG6P,MAAH;AACA7P,uBAAGgqB,OAAH,GAAa,KAAb;AACAhqB,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,uBAAGm1D,SAAH,GAAe,KAAf;AACH,iBAND,EAMG,YAAY;AACXn1D,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBARD;AASH,aAZL;AAaH,SAjCD;;AAmCA,iBAASm8B,iBAAT,CAA2B9jD,OAA3B,EAAoCC,KAApC,EAA2C;AACvC,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,sCAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBANW;AAHW,aAAf,CAAZ;;AAYA,mBAAOC,MAAMvE,MAAb;AACH;;AAED,iBAASs4D,kBAAT,CAA4Bj0D,OAA5B,EAAqCC,KAArC,EAA4C;AACxC,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,iEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBANW;AAHW,aAAf,CAAZ;;AAYA,mBAAOC,MAAMvE,MAAb;AACH;;AAEDgC,WAAG6P,MAAH,GAAY,UAAUknD,MAAV,EAAkB;AAC1B/2D,eAAGhN,KAAH,GAAW,EAAX;AACAq8B,6BAAiBC,4BAAjB,CAA8CtvB,GAAGiQ,MAAjD,EAAyD9S,IAAzD,CAA8D,UAAUuV,QAAV,EAAoB;AAC9E,oBAAI1S,GAAGk1D,YAAH,IAAmBl1D,GAAGk1D,YAAH,CAAgBl3D,MAAnC,IAA6C+4D,MAAjD,EAAyD;AACrD,wBAAI1yB,MAAMrkC,GAAGk1D,YAAH,CAAgBl3D,MAA1B;AACA0U,6BAAS1U,MAAT,GAAkBqmC,IAAI0yB,MAAJ,CAAWrkD,SAAS1U,MAApB,CAAlB;AACAgC,uBAAGk1D,YAAH,GAAkBxiD,QAAlB;AACH,iBAJD,MAIO;AACH1S,uBAAGk1D,YAAH,GAAkBxiD,QAAlB;AACH;;AAED1S,mBAAG01D,YAAH;AACH,aAVD;AAWH,SAbD;;AAeA11D,WAAG01D,YAAH,GAAkB,YAAY;AAC1B,gBAAI3lC,aAAa/vB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACZiS,MADY,CACL,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACHssD,4CAAwBtsD,EAAE9X,IAAF,CAAOokE,sBAD5B;AAEHC,qCAAiBvsD,EAAE9X,IAAF,CAAOqkE;AAFrB,iBAAP;AAIH,aATY,CAAjB;;AAWAj3D,eAAGs1D,aAAH,GAAmBvlC,WAAWv+B,MAA9B;;AAEA69B,6BAAiBS,wBAAjB,CAA0CC,UAA1C,EAAsD5yB,IAAtD,CAA2D,UAAUC,QAAV,EAAoB;AAC3E4C,mBAAGo1D,aAAH,GAAmBh4D,QAAnB;AACH,aAFD;AAGH,SAjBD;;AAmBA,iBAAS8C,iBAAT,GAA6B;AACzBjR,uBAAWO,GAAX,CAAe,2BAAf,EAA4C,UAAUG,KAAV,EAAiBsgB,MAAjB,EAAyB;AACjEjQ,mBAAGiQ,MAAH,GAAYA,MAAZ;AACAjQ,mBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,mBAAG6P,MAAH,CAAU,KAAV;AACH,aAJD;;AAMA5gB,uBAAWO,GAAX,CAAe,yBAAf,EAA0C,UAAUG,KAAV,EAAiB;AACvDqQ,mBAAG6P,MAAH,CAAU,KAAV;AACH,aAFD;AAGH;AACJ;AACJ,CArYD;;;ACAA,CAAC,YAAY;AACT;;AACArhB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,gCADf,EACiD;AACzC7E,oBAAYs5B,IAD6B;AAEzCv5B,qBAAa;AAF4B,KADjD;;AAMAu5B,SAAK/8B,OAAL,GAAe,CAAC,YAAD,EAAe,QAAf,EAAyB,aAAzB,EAAwC,kBAAxC,EAA4D,kBAA5D,EAAgF,WAAhF,EAA6F,gBAA7F,EAA+G,cAA/G,EAA+H,UAA/H,CAAf;;AAEA,aAAS+8B,IAAT,CAAc58B,UAAd,EAA0B4Q,MAA1B,EAAkCmhB,WAAlC,EAA+CqO,gBAA/C,EAAiEtzB,gBAAjE,EAAmF5M,SAAnF,EAA8FC,cAA9F,EAA8G0T,YAA9G,EAA4H5T,QAA5H,EAAsI;AAClI,YAAI8Q,KAAK,IAAT;AACAA,WAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,WAAGm1D,SAAH,GAAe,KAAf;AACAn1D,WAAGo1D,aAAH,GAAmB,IAAnB;AACAp1D,WAAGsjB,WAAH,GAAiBtC,YAAY1sB,WAA7B;AACA0L,WAAGs4C,aAAH,GAAmBt3B,YAAYtsB,aAA/B;AACAsL,WAAGosB,WAAH,GAAiBpL,YAAY/rB,WAA7B;AACA+K,WAAGtL,aAAH,GAAmBssB,YAAYtsB,aAA/B;AACAsL,WAAGhN,KAAH,GAAW,EAAX;AACAgN,WAAGiQ,MAAH,GAAY;AACRpI,kBAAM,CADE;AAERwtD,wBAAY;AAFJ,SAAZ;AAIAr1D,WAAGs1D,aAAH,GAAmB,CAAnB;AACAt1D,WAAG+3B,eAAH,GAAqB,KAArB;;AAEA/3B,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAG6P,MAAH,CAAU,KAAV;AACA3P;AACAF,eAAG+3B,eAAH,GAAqBxpC,IAAIgB,WAAJ,CAAgBwoC,eAArC;AACH,SAJD;;AAMA/3B,WAAGu1D,QAAH,GAAc,YAAY;AACtBv1D,eAAGiQ,MAAH,CAAUpI,IAAV;;AAEA,gBAAImkB,WAAWhsB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CAAuBiS,MAAvB,CAA8B,UAAUrd,IAAV,EAAgB;AACzD,uBAAOA,KAAK2/B,MAAL,IAAe,CAAtB;AACH,aAFc,CAAf;;AAIAvyB,eAAGiQ,MAAH,CAAUolD,UAAV,GAAuBrpC,SAASE,GAAT,CAAa,UAAUspC,MAAV,EAAkB;AAClD,uBAAOA,OAAO5iE,IAAP,CAAYgC,EAAnB;AACH,aAFsB,CAAvB;;AAIAoL,eAAG6P,MAAH,CAAU,IAAV;AACH,SAZD;;AAcA7P,WAAGy1D,SAAH,GAAe,YAAY;AACvBz1D,eAAGk1D,YAAH,CAAgBl3D,MAAhB,GAAyBgC,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CAAuBkuB,GAAvB,CAA2B,UAAUxtB,CAAV,EAAa;AAC7DA,kBAAEihB,OAAF,GAAY3f,GAAGm1D,SAAf;AACA,uBAAOz2D,CAAP;AACH,aAHwB,CAAzB;;AAKAsB,eAAG01D,YAAH;AACH,SAPD;;AASA11D,WAAG21D,SAAH,GAAe,UAAUpxC,GAAV,EAAe;AAC1BvkB,eAAGhN,KAAH,GAAW,EAAX;;AAEA,gBAAI,CAACuxB,IAAIvxB,KAAL,IAAc,CAACuxB,IAAIvxB,KAAJ,CAAUxB,MAA7B,EACI;;AAEJtC,qBAAS,YAAY;AACjB8Q,mBAAGhN,KAAH,GAAWuxB,IAAIvxB,KAAf;AACAgN,mBAAG41D,kBAAH,GAAwBrxC,IAAIW,WAA5B;AACH,aAHD;AAIH,SAVD;;AAYAllB,WAAGovD,qBAAH,GAA2B,UAAUhG,CAAV,EAAa;AACpCA,cAAE5nC,UAAF,GAAe,CAAC4nC,EAAE5nC,UAAlB;;AAEA,gBAAI4nC,EAAE5nC,UAAN,EAAkB;AACd4nC,kBAAE12C,QAAF,GAAa,EAAb;;AAEAtjB,+BAAe65B,oBAAf,CAAoCmgC,EAAEx2D,IAAF,CAAOgC,EAA3C,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB02C,sBAAE12C,QAAF,GAAaA,QAAb;AACH,iBAHL;AAIH;AACJ,SAXD;;AAaA1S,WAAGkrD,aAAH,GAAmB,UAAUmE,WAAV,EAAuBR,MAAvB,EAA+B;AAC9C/rD,yBAAaM,YAAb,CAA0BnU,WAAWI,SAAX,CAAqBs8D,iBAA/C,EAAkE3tD,MAAlE,CAAyEb,IAAzE,CAA8E,YAAY;AACtF/N,+BAAe+M,MAAf,CAAsB0yD,MAAtB,EAA8B1xD,IAA9B,CAAmC,UAAUY,GAAV,EAAe;AAC9CsxD,gCAAY38C,QAAZ,GAAuB,EAAvB;AACAtjB,mCAAe65B,oBAAf,CAAoComC,YAAYz8D,IAAZ,CAAiBgC,EAArD,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB28C,oCAAY38C,QAAZ,GAAuB,EAAvB;AACA28C,oCAAY38C,QAAZ,GAAuBA,QAAvB;AACH,qBAJL;AAKA3W,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACH,iBARD;AASH,aAVD;AAWH,SAZD;;AAcA,iBAASx1B,gBAAT,CAA0BsnD,CAA1B,EAA6BjnD,GAA7B,EAAkCC,KAAlC,EAAyCC,OAAzC,EAAkDC,gBAAlD,EAAoE;AAChE,gBAAIC,MAAM,IAAIC,IAAJ,EAAV;;AAEA,mBAAOjD,UAAUkD,IAAV,CAAe;AAClBC,6BAAa,iEADK;AAElBC,4BAAY,wBAFM;AAGlBC,8BAAc,OAHI;AAIlBC,sBAAM,IAJY;AAKlBC,6BAAa,eALK;AAMlBzC,yBAAS;AACL0C,4BAAQ,kBAAY;AAChB,+BAAO,CAAC,CAACZ,GAAT;AACH,qBAHI;AAILa,0BAAMb,MAAM3C,eAAeyD,OAAf,CAAuBd,GAAvB,CAAN,GAAoC;AACtCe,8BAAMd,KADgC;AAEtCe,gCAAQd,OAF8B;AAGtCe,+BAAO,EAH+B;AAItCC,kCAAU,EAJ4B;AAKtCM,sCAAc,EALwB;AAMtCC,+BAAO,CAAC;AACJC,mCAAOhC,SADH;AAEJiC,uCAAWjC,SAFP;AAGJkC,iCAAKlC;AAHD,yBAAD,CAN+B;AAWtCmC,8BAAM;AACFC,iCAAK1B,IAAI2B,OAAJ,EADH;AAEFC,mCAAO5B,IAAI6B,QAAJ,KAAiB,CAFtB;AAGFC,kCAAM9B,IAAI+B,WAAJ;AAHJ;AAXgC,qBAJrC;AAqBLhC,sCAAkBA;AArBb;AANS,aAAf,EA6BJ8L,MA7BH;AA8BH;;AAEDgC,WAAGkhB,WAAH,GAAiB,UAAUmuC,WAAV,EAAuBtgD,SAAvB,EAAkC;AAC/C3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EACK5R,IADL,CACU,UAAUjD,OAAV,EAAmB;AACrBxI,iCAAiB,IAAjB,EAAuBwI,QAAQtF,EAA/B,EAAmCsF,QAAQinB,QAA3C,EAAqDjnB,QAAQknB,UAA7D,EACKjkB,IADL,CACU,YAAY;;AAEd,wBAAIkyD,YAAY98B,MAAZ,IAAsB,CAA1B,EAA6B;AACzB88B,oCAAY38C,QAAZ,GAAuB,EAAvB;;AAEAtjB,uCAAe65B,oBAAf,CAAoComC,YAAYz6D,EAAhD,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtB28C,wCAAY38C,QAAZ,GAAuBA,QAAvB;AACH,yBAHL;AAIH;AACJ,iBAXL;AAYH,aAdL;AAeH,SAhBD;;AAkBA1S,WAAG61D,eAAH,GAAqB,UAAUC,QAAV,EAAoB;AACrC,gBAAI,CAACA,QAAD,IAAa,CAACA,SAASC,CAAvB,IAA4B,CAACD,SAASE,CAAtC,IAA2C,CAACF,SAASG,CAAzD,EACI,OAAO,EAAP;;AAEJ,4BAAcH,SAASC,CAAvB,SAA4BD,SAASE,CAArC,SAA0CF,SAASG,CAAnD;AACH,SALD;;AAOAj2D,WAAGk2D,aAAH,GAAmB,UAAUC,GAAV,EAAepnD,SAAf,EAA0B;AACzC,gBAAIqnD,WAAW,EAAf;AACA,gBAAIC,eAAe;AACfzhE,oBAAIma,SADW;AAEf;AACA+9B,0BAAU9sC,GAAGs4C,aAAH,CAAiByT;AAHZ,aAAnB;AAKAqK,qBAASp0D,IAAT,CAAcq0D,YAAd;AACAC,+BAAmBrnE,WAAWI,SAAX,CAAqBiqD,oBAAxC,EACIrqD,WAAWI,SAAX,CAAqBkqD,0BADzB,EACqDp8C,IADrD,CAC0D,UAAUxM,IAAV,EAAgB;;AAElE0lE,6BAAand,MAAb,GAAsBvoD,KAAKmH,OAA3B;AACAu3B,iCAAiB5c,mBAAjB,CAAqC2jD,QAArC,EACKj5D,IADL,CACU,UAAUY,GAAV,EAAe;AACjB3O,mCAAe65B,oBAAf,CAAoCktC,IAAIvjE,IAAJ,CAASgC,EAA7C,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtByjD,4BAAIzjD,QAAJ,GAAeA,QAAf;AACH,qBAHL;AAIH,iBANL;AAOH,aAXL;AAYH,SApBD;;AAsBA1S,WAAGu2D,eAAH,GAAqB,UAAUJ,GAAV,EAAepnD,SAAf,EAA0B;AAC3C,gBAAIghB,aAAa,EAAjB;AACA,gBAAIymC,iBAAiB;AACjB5hE,oBAAIma,SADa;AAEjBmqC,wBAAQid,IAAIvjE,IAAJ,CAAS6jE,iBAAT,IAA8B,sBAFrB;AAGjB3pB,0BAAU9sC,GAAGs4C,aAAH,CAAiB4e;AAHV,aAArB;AAKAnnC,uBAAW/tB,IAAX,CAAgBw0D,cAAhB;AACArQ,8BAAkBl3D,WAAWI,SAAX,CAAqBsqD,sBAAvC,EACI1qD,WAAWI,SAAX,CAAqBuqD,4BADzB,EACuDz8C,IADvD,CAC4D,YAAY;AAChE6C,mBAAGgqB,OAAH,GAAa,IAAb;AACAqF,iCAAiB5c,mBAAjB,CAAqCsd,UAArC,EACK5yB,IADL,CACU,UAAUY,GAAV,EAAe;AACjB3O,mCAAe65B,oBAAf,CAAoCktC,IAAIvjE,IAAJ,CAASgC,EAA7C,EACKuI,IADL,CACU,UAAUuV,QAAV,EAAoB;AACtByjD,4BAAIzjD,QAAJ,GAAeA,QAAf;AACA1S,2BAAGgqB,OAAH,GAAa,KAAb;AACH,qBAJL;AAKH,iBAPL;AAQH,aAXL;AAYH,SApBD;;AAsBAhqB,WAAGtP,MAAH,GAAY,YAAY;AACpB,gBAAI0lE,WAAWp2D,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACViS,MADU,CACH,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHU,EAIVuM,GAJU,CAIN,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACH9V,wBAAI8V,EAAE9X,IAAF,CAAOgC,EADR;AAEHskD,4BAAQxuC,EAAE9X,IAAF,CAAO6jE,iBAFZ;AAGH3pB,8BAAU9sC,GAAGs4C,aAAH,CAAiByT,QAHxB;AAIHx5B,4BAAQ7nB,EAAE6nB;AAJP,iBAAP;AAMH,aAXU,CAAf;;AAaA,gBAAI,CAAC6jC,SAAS5kE,MAAd,EAAsB;AAClBuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBypD,8BAA7C;AACA;AACH;;AAED,gBAAI4d,oBAAoBN,SAASnd,IAAT,CAAc,UAAUvuC,CAAV,EAAa;AAC/C,uBAAO,CAACA,EAAEwuC,MAAV;AACH,aAFuB,CAAxB;;AAIA,gBAAIwd,iBAAJ,EAAuB;AACnB36D,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBsnE,oCAA7C;AACA;AACH;;AAEDxQ,8BAAkBl3D,WAAWI,SAAX,CAAqBiqD,oBAAvC,EACIrqD,WAAWI,SAAX,CAAqBkqD,0BADzB,EACqDp8C,IADrD,CAC0D,YAAY;AAC9DkyB,iCAAiB5c,mBAAjB,CAAqC2jD,QAArC,EAA+Cj5D,IAA/C,CAAoD,UAAUY,GAAV,EAAe;AAC/DiC,uBAAG6P,MAAH;AACA7P,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,uBAAGm1D,SAAH,GAAe,KAAf;AACH,iBALD;AAMH,aARL;AASH,SArCD;;AAuCAn1D,WAAG42D,QAAH,GAAc,YAAY;AACtB,gBAAI7mC,aAAa/vB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACZiS,MADY,CACL,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACH9V,wBAAI8V,EAAE9X,IAAF,CAAOgC,EADR;AAEHskD,4BAAQxuC,EAAE9X,IAAF,CAAO6jE,iBAFZ;AAGH3pB,8BAAU9sC,GAAGs4C,aAAH,CAAiB4e,kBAHxB;AAIH3kC,4BAAQ7nB,EAAE6nB,MAJP;AAKHskC,sCAAkB;AALf,iBAAP;AAOH,aAZY,CAAjB;;AAcA,gBAAI,CAAC9mC,WAAWv+B,MAAhB,EAAwB;AACpBuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBo9C,gCAA7C;AACA;AACH;;AAED0Z,8BAAkBl3D,WAAWI,SAAX,CAAqBsqD,sBAAvC,EACI1qD,WAAWI,SAAX,CAAqBuqD,4BADzB,EACuDz8C,IADvD,CAC4D,YAAY;AAChE6C,mBAAGgqB,OAAH,GAAa,IAAb;AACAqF,iCAAiB5c,mBAAjB,CAAqCsd,UAArC,EAAiD5yB,IAAjD,CAAsD,UAAUY,GAAV,EAAe;AACjEiC,uBAAG6P,MAAH;AACA7P,uBAAGgqB,OAAH,GAAa,KAAb;AACAhqB,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,uBAAGm1D,SAAH,GAAe,KAAf;AACH,iBAND,EAMG,YAAY;AACXn1D,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBARD;AASH,aAZL;AAaH,SAjCD;;AAmCAhqB,WAAG82D,eAAH,GAAqB,YAAY;AAC7B,gBAAI/mC,aAAa/vB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACZiS,MADY,CACL,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACH9V,wBAAI8V,EAAE9X,IAAF,CAAOgC,EADR;AAEHskD,4BAAQxuC,EAAE9X,IAAF,CAAO6jE,iBAFZ;AAGH3pB,8BAAU9sC,GAAGs4C,aAAH,CAAiB4e,kBAHxB;AAIH3kC,4BAAQ7nB,EAAE6nB,MAJP;AAKHskC,sCAAkB;AALf,iBAAP;AAOH,aAZY,CAAjB;;AAcA,gBAAI,CAAC9mC,WAAWv+B,MAAhB,EAAwB;AACpBuK,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBo9C,gCAA7C;AACA;AACH;;AAED0Z,8BAAkBl3D,WAAWI,SAAX,CAAqBsqD,sBAAvC,EACI1qD,WAAWI,SAAX,CAAqBuqD,4BADzB,EACuDz8C,IADvD,CAC4D,YAAY;AAChE6C,mBAAGgqB,OAAH,GAAa,IAAb;AACAqF,iCAAiB5c,mBAAjB,CAAqCsd,UAArC,EAAiD5yB,IAAjD,CAAsD,UAAUY,GAAV,EAAe;AACjEiC,uBAAG6P,MAAH;AACA7P,uBAAGgqB,OAAH,GAAa,KAAb;AACAhqB,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAGk1D,YAAH,GAAkB,EAAlB;AACAl1D,uBAAGm1D,SAAH,GAAe,KAAf;AACH,iBAND,EAMG,YAAY;AACXn1D,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBARD;AASH,aAZL;AAaH,SAjCD;;AAoCA,iBAASm8B,iBAAT,CAA2B9jD,OAA3B,EAAoCC,KAApC,EAA2C;AACvC,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,sCAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBANW;AAHW,aAAf,CAAZ;;AAYA,mBAAOC,MAAMvE,MAAb;AACH;;AAED,iBAASs4D,kBAAT,CAA4Bj0D,OAA5B,EAAqCC,KAArC,EAA4C;AACxC,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,iEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBANW;AAHW,aAAf,CAAZ;;AAYA,mBAAOC,MAAMvE,MAAb;AACH;;AAEDgC,WAAG6P,MAAH,GAAY,UAAUknD,MAAV,EAAkB;AAC1B/2D,eAAGhN,KAAH,GAAW,EAAX;AACAq8B,6BAAiBE,iCAAjB,CAAmDvvB,GAAGiQ,MAAtD,EAA8D9S,IAA9D,CAAmE,UAAUuV,QAAV,EAAoB;AACnF,oBAAI1S,GAAGk1D,YAAH,IAAmBl1D,GAAGk1D,YAAH,CAAgBl3D,MAAnC,IAA6C+4D,MAAjD,EAAyD;AACrD,wBAAI1yB,MAAMrkC,GAAGk1D,YAAH,CAAgBl3D,MAA1B;AACA0U,6BAAS1U,MAAT,GAAkBqmC,IAAI0yB,MAAJ,CAAWrkD,SAAS1U,MAApB,CAAlB;AACAgC,uBAAGk1D,YAAH,GAAkBxiD,QAAlB;AACH,iBAJD,MAIO;AACH1S,uBAAGk1D,YAAH,GAAkBxiD,QAAlB;AACH;;AAED1S,mBAAG01D,YAAH;AACH,aAVD;AAWH,SAbD;;AAeA11D,WAAG01D,YAAH,GAAkB,YAAY;AAC1B,gBAAI3lC,aAAa/vB,GAAGk1D,YAAH,CAAgBl3D,MAAhB,CACZiS,MADY,CACL,UAAUvF,CAAV,EAAa;AACjB,uBAAOA,EAAEiV,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUxhB,CAAV,EAAa;AACd,uBAAO;AACHssD,4CAAwBtsD,EAAE9X,IAAF,CAAOokE,sBAD5B;AAEHC,qCAAiBvsD,EAAE9X,IAAF,CAAOqkE;AAFrB,iBAAP;AAIH,aATY,CAAjB;;AAWAj3D,eAAGs1D,aAAH,GAAmBvlC,WAAWv+B,MAA9B;;AAEA69B,6BAAiBS,wBAAjB,CAA0CC,UAA1C,EAAsD5yB,IAAtD,CAA2D,UAAUC,QAAV,EAAoB;AAC3E4C,mBAAGo1D,aAAH,GAAmBh4D,QAAnB;AACH,aAFD;AAGH,SAjBD;;AAmBA,iBAAS8C,iBAAT,GAA6B;AACzBjR,uBAAWO,GAAX,CAAe,2BAAf,EAA4C,UAAUG,KAAV,EAAiBsgB,MAAjB,EAAyB;AACjEjQ,mBAAGiQ,MAAH,GAAYA,MAAZ;AACAjQ,mBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,mBAAG6P,MAAH,CAAU,KAAV;AACH,aAJD;;AAMA5gB,uBAAWO,GAAX,CAAe,yBAAf,EAA0C,UAAUG,KAAV,EAAiB;AACvDqQ,mBAAG6P,MAAH,CAAU,KAAV;AACH,aAFD;AAGH;AACJ;AACJ,CAnYD;;;ACAA,CAAC,YAAY;AACT;;AACArhB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,kBADf,EACmC;AAC3B7E,oBAAY4kE,2BADe;AAE3B7kE,qBAAa;AAFc,KADnC;;AAMA6kE,gCAA4BroE,OAA5B,GAAsC,CAAC,QAAD,CAAtC;;AAEA,aAASqoE,2BAAT,CAAqCt3D,MAArC,EAA6C;AACzC,YAAIG,KAAK,IAAT;;AAEAA,WAAGiQ,MAAH,GAAY;AACR+O,uBAAW,EADH;AAER/E,sBAAU,EAFF;AAGRgF,uBAAW;AAHH,SAAZ;;AAMAjf,WAAGC,OAAH,GAAa,YAAY,CACxB,CADD;;AAGAD,WAAGkqD,cAAH,GAAoB,YAAY;AAC5BlqD,eAAGqqD,qBAAH,GAA2B,CAACrqD,GAAGqqD,qBAA/B;AACArqD,eAAGiQ,MAAH,CAAUe,OAAV,GAAoB,EAApB;AACAhR,eAAGiQ,MAAH,CAAUf,MAAV,GAAmB,EAAnB;AACH,SAJD;;AAMAlP,WAAG6P,MAAH,GAAY,YAAY;AACpBhQ,mBAAO00B,KAAP,CAAa,2BAAb,EAA0Cv0B,GAAGiQ,MAA7C;AACH,SAFD;AAGH;AACJ,CAhCD;;;ACAA,CAAC,YAAY;AACT;;AACAzhB,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,sBADf,EACuC;AAC/B7E,oBAAY6kE,wBADmB;AAE/B9kE,qBAAa;AAFkB,KADvC;;AAMA8kE,6BAAyBtoE,OAAzB,GAAmC,CAAC,YAAD,EAAe,QAAf,EAAyB,aAAzB,EAAwC,kBAAxC,EAA4D,kBAA5D,EAAgF,WAAhF,EAA6F,gBAA7F,EAA+G,cAA/G,EAA+H,oBAA/H,EAAqJ,UAArJ,CAAnC;;AAEA,aAASsoE,wBAAT,CAAkCnoE,UAAlC,EAA8C4Q,MAA9C,EAAsDmhB,WAAtD,EAAmEqO,gBAAnE,EAAqFtzB,gBAArF,EAAuG5M,SAAvG,EAAkHC,cAAlH,EAAkI0T,YAAlI,EAAgJ6vB,kBAAhJ,EAAoKzjC,QAApK,EAA8K;AAC1K,YAAI8Q,KAAK,IAAT;AACAA,WAAGrP,IAAH,GAAU,EAAV;AACAqP,WAAGhN,KAAH,GAAW,EAAX;AACAgN,WAAGq3D,aAAH,GAAmB,CAAnB;AACAr3D,WAAGo1D,aAAH,GAAmB,CAAnB;AACAp1D,WAAGm1D,SAAH,GAAe,KAAf;AACAn1D,WAAGgqB,OAAH,GAAa,KAAb;AACAhqB,WAAGsjB,WAAH,GAAiBtC,YAAY1sB,WAA7B;AACA0L,WAAGs4C,aAAH,GAAmBt3B,YAAYtsB,aAA/B;AACAsL,WAAGtL,aAAH,GAAmBssB,YAAYtsB,aAA/B;;AAEAsL,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGiQ,MAAH,GAAY;AACRpI,sBAAM;AADE,aAAZ;;AAIA7H,eAAG6P,MAAH,CAAU,KAAV;AACA3P;;AAEAF,eAAGs3D,qBAAH,GAA2B/oE,IAAIgB,WAAJ,CAAgB+nE,qBAA3C;AACH,SATD;;AAWAt3D,WAAGu1D,QAAH,GAAc,YAAY;AACtBv1D,eAAGm1D,SAAH,GAAe,KAAf;AACAn1D,eAAGiQ,MAAH,CAAUpI,IAAV;AACA7H,eAAG6P,MAAH,CAAU,IAAV;AACH,SAJD;;AAMA7P,WAAGy1D,SAAH,GAAe,YAAY;AACvBz1D,eAAGrP,IAAH,CAAQqN,MAAR,GAAiBgC,GAAGrP,IAAH,CAAQqN,MAAR,CAAekuB,GAAf,CAAmB,UAAUxtB,CAAV,EAAa;AAC7CA,kBAAEihB,OAAF,GAAY3f,GAAGm1D,SAAf;AACA,uBAAOz2D,CAAP;AACH,aAHgB,CAAjB;;AAKA64D;AACH,SAPD;;AASAv3D,WAAGw3D,cAAH,GAAoB,YAAY;AAC5Bx3D,eAAGm1D,SAAH,GAAe,KAAf;AACAoC;AACH,SAHD;;AAKA,iBAASA,cAAT,GAA0B;AACtB,gBAAI/jE,QAAQ,EAAZ;;AAEAA,oBAAQwM,GAAGrP,IAAH,CAAQqN,MAAR,CACHiS,MADG,CACI,UAAUm5C,CAAV,EAAa;AACjB,uBAAOA,EAAEzpC,OAAT;AACH,aAHG,CAAR;;AAKA3f,eAAGo1D,aAAH,GAAmB5hE,MAAMhC,MAAzB;;AAEAwO,eAAGq3D,aAAH,GAAmB7jE,MAAM04B,GAAN,CAAU,UAAUk9B,CAAV,EAAa;AACtC,uBAAOA,EAAEqO,cAAT;AACH,aAFkB,EAEhBC,MAFgB,CAET,UAAUC,EAAV,EAAcC,EAAd,EAAkB;AACxB,uBAAOD,KAAKC,EAAZ;AACH,aAJkB,EAIhB,CAJgB,CAAnB;AAKH;;AAED,iBAASlmE,gBAAT,CAA0B/B,KAA1B,EAAiCoC,GAAjC,EAAsCC,KAAtC,EAA6CC,OAA7C,EAAsDC,gBAAtD,EAAwE;AACpE,gBAAIC,MAAM,IAAIC,IAAJ,EAAV;;AAEA,mBAAOjD,UAAUkD,IAAV,CAAe;AAClBC,6BAAa,iEADK;AAElBC,4BAAY,wBAFM;AAGlBC,8BAAc,OAHI;AAIlBC,sBAAM,IAJY;AAKlBC,6BAAa,eALK;AAMlBzC,yBAAS;AACL0C,4BAAQ,kBAAY;AAChB,+BAAO,CAAC,CAACZ,GAAT;AACH,qBAHI;AAILa,0BAAMb,MAAM3C,eAAeyD,OAAf,CAAuBd,GAAvB,CAAN,GAAoC;AACtCe,8BAAMd,KADgC;AAEtCe,gCAAQd,OAF8B;AAGtCe,+BAAO,EAH+B;AAItCC,kCAAU,EAJ4B;AAKtCM,sCAAc,EALwB;AAMtCC,+BAAO,CAAC;AACJC,mCAAOhC,SADH;AAEJiC,uCAAWjC,SAFP;AAGJkC,iCAAKlC;AAHD,yBAAD,CAN+B;AAWtCmC,8BAAM;AACFC,iCAAK1B,IAAI2B,OAAJ,EADH;AAEFC,mCAAO5B,IAAI6B,QAAJ,KAAiB,CAFtB;AAGFC,kCAAM9B,IAAI+B,WAAJ;AAHJ;AAXgC,qBAJrC;AAqBLhC,sCAAkBA;AArBb;AANS,aAAf,EA6BJ8L,MA7BH;AA8BH;;AAEDgC,WAAGkhB,WAAH,GAAiB,UAAUnS,SAAV,EAAqB;AAClC3f,2BAAeyD,OAAf,CAAuBkc,SAAvB,EACK5R,IADL,CACU,UAAUjD,OAAV,EAAmB;AACrBxI,iCAAiB,IAAjB,EAAuBwI,QAAQtF,EAA/B,EAAmCsF,QAAQinB,QAA3C,EAAqDjnB,QAAQknB,UAA7D;AACH,aAHL;AAIH,SALD;;AAOAphB,WAAGk2D,aAAH,GAAmB,UAAUnnD,SAAV,EAAqBqrC,aAArB,EAAoC;AACnD,gBAAI1nC,WAAW,EAAf;AACAA,qBAAS1Q,IAAT,CAAc;AACVpN,oBAAIma,SADM;AAEVmqC,wBAAQkB,aAFE;AAGVtN,0BAAU9rB,YAAYtsB,aAAZ,CAA0Bq3D;AAH1B,aAAd;;AAMA5F,8BAAkBl3D,WAAWI,SAAX,CAAqBiqD,oBAAvC,EACIrqD,WAAWI,SAAX,CAAqBkqD,0BADzB,EACqDp8C,IADrD,CAC0D,YAAY;AAC9DkyB,iCAAiB5c,mBAAjB,CAAqCC,QAArC,EACKvV,IADL,CACU,UAAUY,GAAV,EAAe;AACjBhC,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBwoE,2BAA9C;AACA73D,uBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,uBAAG6P,MAAH,CAAU,KAAV;AACH,iBALL;AAMH,aARL;AASH,SAjBD;;AAmBA,iBAAS2jB,YAAT,CAAsBh1B,KAAtB,EAA6BxO,IAA7B,EAAmCyjC,WAAnC,EAAgD;AAC5C,gBAAIv6B,OAAO,IAAI8M,IAAJ,CAAS,CAACxH,KAAD,CAAT,EAAkB;AACzB1L,sBAAM2gC;AADmB,aAAlB,CAAX;;AAIA,gBAAItiC,OAAO8J,SAAP,IAAoB9J,OAAO8J,SAAP,CAAiB68D,gBAAzC,EAA2D;AACvD3mE,uBAAO8J,SAAP,CAAiB68D,gBAAjB,CAAkC5+D,IAAlC,EAAwClJ,IAAxC;AACH,aAFD,MAEO;AACH,oBAAI8W,IAAIlV,SAASmV,aAAT,CAAuB,GAAvB,CAAR;;AAEAnV,yBAASsV,IAAT,CAAcC,WAAd,CAA0BL,CAA1B;;AAEA,oBAAI3P,MAAMhG,OAAO8U,GAAP,CAAWC,eAAX,CAA2BhN,IAA3B,CAAV;;AAEA4N,kBAAEjI,IAAF,GAAS1H,GAAT;AACA2P,kBAAEE,MAAF,GAAW,QAAX;AACAF,kBAAEG,QAAF,GAAajX,IAAb;;AAEA8W,kBAAEM,KAAF;;AAEA;AACAssB,2BAAW,YAAY;AACnB5sB,sBAAE6sB,UAAF,CAAaC,WAAb,CAAyB9sB,CAAzB;AACA3V,2BAAO8U,GAAP,CAAW4tB,eAAX,CAA2B18B,GAA3B;AACH,iBAHD,EAGG,IAHH;AAIH;AACJ;;AAED6I,WAAG+3D,MAAH,GAAY,UAAUC,UAAV,EAAsBC,QAAtB,EAAgC;AACxC,gBAAIrT,aAAa5kD,GAAGrP,IAAH,CAAQqN,MAAR,CACZiS,MADY,CACL,UAAUm5C,CAAV,EAAa;AACjB,uBAAOA,EAAEzpC,OAAT;AACH,aAHY,EAIZuM,GAJY,CAIR,UAAUk9B,CAAV,EAAa;AACd,uBAAOA,EAAEx0D,EAAT;AACH,aANY,CAAjB;;AAQA,gBAAI,CAACoL,GAAGiQ,MAAR,EACIjQ,GAAGiQ,MAAH,GAAY;AACRld,wBAAQ,CADA;AAER6xD,4BAAYA;AAFJ,aAAZ;;AAKJ5kD,eAAGiQ,MAAH,CAAUld,MAAV,GAAmB,CAAnB,CAfwC,CAelB;AACtBiN,eAAGiQ,MAAH,CAAU20C,UAAV,GAAuBA,UAAvB;;AAEA,gBAAI,CAAC5kD,GAAGiQ,MAAH,CAAU20C,UAAX,IAAyB,CAAC5kD,GAAGiQ,MAAH,CAAU20C,UAAV,CAAqBpzD,MAAnD,EACI;;AAEJ,gBAAI,CAACwmE,UAAL,EACIh4D,GAAGiQ,MAAH,CAAUk3B,WAAV,GAAwB,IAAxB;;AAEJnnC,eAAGgqB,OAAH,GAAa,IAAb;;AAEA,gBAAIz7B,IAAIgB,WAAJ,CAAgByoC,oBAApB,EAA0C;AACtCrF,mCAAmBQ,IAAnB,CAAwByxB,UAAxB,EAAoCznD,IAApC,CAAyC,UAAUa,MAAV,EAAkB;AACvDjC,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB6oE,2BAA9C;AACAl4D,uBAAG6P,MAAH,CAAU,KAAV;AACH,iBAHD,EAIK6N,OAJL,CAIa,YAAY;AACjB1d,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBANL;AAOH,aARD,MAQO,IAAIz7B,IAAIgB,WAAJ,CAAgB4oE,4BAApB,EAAkD;AACrD/oE,+BAAeu5B,mBAAf,CAAmCi8B,UAAnC,EAA+CznD,IAA/C,CAAoD,UAAUjE,IAAV,EAAgB;AAChE,wBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,wBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA3H,GAA+I,MAA9J;AACAs/B,iCAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B,4BAA7B;AACArzB,uBAAG6P,MAAH,CAAU,KAAV;AACH,iBALD,EAMK6N,OANL,CAMa,YAAY;AACjB1d,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBARL;AASH,aAVM,MAUA,IAAIiuC,QAAJ,EAAc;AACjB7oE,+BAAei5B,YAAf,CAA4BroB,GAAGiQ,MAA/B,EAAuC20C,UAAvC,EAAmDznD,IAAnD,CAAwD,UAAUjE,IAAV,EAAgB;AACpE,wBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,wBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA3H,GAA+I,MAA9J;AACAs/B,iCAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B2kC,UAA7B;AACAh4D,uBAAG6P,MAAH,CAAU,KAAV;AACH,iBALD,EAMK6N,OANL,CAMa,YAAY;AACjB1d,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBARL;AASH,aAVM,MAUA;AACC56B,+BAAeg5B,UAAf,CAA0BpoB,GAAGiQ,MAA7B,EAAqC9S,IAArC,CAA0C,UAAUjE,IAAV,EAAgB;AACtD,wBAAI/G,MAAM,IAAIC,IAAJ,EAAV;AACA,wBAAIihC,WAAW,KAAK9kC,IAAIgB,WAAJ,CAAgB+jC,OAArB,GAA+B,IAA/B,GAAsC/kC,IAAIgB,WAAJ,CAAgBgkC,QAAtD,GAAiE,IAAjE,GAAwEphC,IAAI2B,OAAJ,EAAxE,GAAwF,GAAxF,IAA+F3B,IAAI6B,QAAJ,KAAiB,CAAhH,IAAqH,GAArH,GAA2H7B,IAAI+B,WAAJ,EAA3H,GAA+I,MAA9J;AACA,wBAAI,CAAC8jE,UAAL,EACI3kC,YAAY,MAAZ;AACJG,iCAAat6B,IAAb,EAAmBm6B,QAAnB,EAA6B2kC,UAA7B;AACAh4D,uBAAG6P,MAAH,CAAU,KAAV;AACH,iBAPD,EAQK6N,OARL,CAQa,YAAY;AACjB1d,uBAAGgqB,OAAH,GAAa,KAAb;AACH,iBAVL;AAWH;AAER,SApED;;AAsEAhqB,WAAG6P,MAAH,GAAY,UAAUknD,MAAV,EAAkB;AAC1B/2D,eAAGgqB,OAAH,GAAa,IAAb;AACAqF,6BAAiBG,oBAAjB,CAAsCxvB,GAAGiQ,MAAzC,EAAiD9S,IAAjD,CAAsD,UAAUuV,QAAV,EAAoB;AACtE,oBAAI1S,GAAGrP,IAAH,IAAWqP,GAAGrP,IAAH,CAAQqN,MAAnB,IAA6B+4D,MAAjC,EAAyC;AACrC,wBAAI1yB,MAAMrkC,GAAGrP,IAAH,CAAQqN,MAAlB;AACA0U,6BAAS1U,MAAT,GAAkBqmC,IAAI0yB,MAAJ,CAAWrkD,SAAS1U,MAApB,CAAlB;AACAgC,uBAAGrP,IAAH,GAAU+hB,QAAV;AACH,iBAJD,MAIO;AACH1S,uBAAGrP,IAAH,GAAU+hB,QAAV;AACH;AACJ,aARD,EASKgL,OATL,CASa,YAAY;AACjB1d,mBAAGgqB,OAAH,GAAa,KAAb;AACH,aAXL;AAYH,SAdD;;AAgBAhqB,WAAG21D,SAAH,GAAe,UAAUpxC,GAAV,EAAe;AAC1BvkB,eAAGhN,KAAH,GAAW,EAAX;;AAEA,gBAAI,CAACuxB,IAAIvxB,KAAL,IAAc,CAACuxB,IAAIvxB,KAAJ,CAAUxB,MAA7B,EACI;;AAEJtC,qBAAS,YAAY;AACjB8Q,mBAAGhN,KAAH,GAAWuxB,IAAIvxB,KAAf;AACAgN,mBAAG41D,kBAAH,GAAwBrxC,IAAIW,WAA5B;AACH,aAHD;AAIH,SAVD;;AAYA,iBAAShlB,iBAAT,GAA6B;AACzBL,mBAAOrQ,GAAP,CAAW,2BAAX,EAAwC,UAAUG,KAAV,EAAiBsgB,MAAjB,EAAyB;AAC7DjQ,mBAAGiQ,MAAH,GAAYA,MAAZ;AACAjQ,mBAAGiQ,MAAH,CAAUpI,IAAV,GAAiB,CAAjB;AACA7H,mBAAG6P,MAAH,CAAU,KAAV;AACA7P,mBAAGq3D,aAAH,GAAmB,CAAnB;AACAr3D,mBAAGo4D,OAAH,GAAa,CAAb;AACAp4D,mBAAGo1D,aAAH,GAAmB,CAAnB;AACAp1D,mBAAGm1D,SAAH,GAAe,KAAf;AACH,aARD;AASH;;AAED,iBAAShP,iBAAT,CAA2B9jD,OAA3B,EAAoCC,KAApC,EAA2C;AACvC,gBAAIC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,sCAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;;AAE7E3C,2BAAOxQ,SAAP,GAAmBJ,WAAWI,SAA9B;AACAwQ,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOwC,OAAP,GAAiBA,OAAjB;AACAxC,2BAAOyC,KAAP,GAAeA,KAAf;AACH,iBANW;AAHW,aAAf,CAAZ;;AAYA,mBAAOC,MAAMvE,MAAb;AAEH;AACJ;AACJ,CA9RD,EA8RGzP,GA9RH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,yBADf,EAC0C;AAClC7E,oBAAY8lE,2BADsB;AAElC/lE,qBAAa,4EAFqB;AAGlCoN,kBAAU;AACN1M,mBAAO,GADD;AAEN4iE,gCAAmB;AAFb;AAHwB,KAD1C;;AAUAyC,gCAA4BvpE,OAA5B,GAAsC,CAAC,QAAD,EAAW,gBAAX,EAA6B,WAA7B,CAAtC;;AAEA,aAASupE,2BAAT,CAAqCx4D,MAArC,EAA6CzQ,cAA7C,EAA6DD,SAA7D,EAAwE;AACpE,YAAI6Q,KAAK,IAAT;;AAEAA,WAAGhN,KAAH,GAAW,EAAX;AACAgN,WAAG2rC,SAAH,GAAeA,SAAf;;AAEA3rC,WAAGC,OAAH,GAAa,YAAY,CACxB,CADD;;AAGA,iBAAS0rC,SAAT,GAAqB;AACjB,gBAAIppC,QAAQpT,UAAUkD,IAAV,CAAe;AACvBI,sBAAM,IADiB;AAEvBH,6BAAa,kEAFU;AAGvBC,4BAAY,CAAC,QAAD,EAAW,mBAAX,EAAgC,UAAUsN,MAAV,EAAkB2C,iBAAlB,EAAqC;AAC7E3C,2BAAO0C,KAAP,GAAeC,iBAAf;AACA3C,2BAAOosD,QAAP,GAAkBjsD,GAAGhN,KAArB;AACH,iBAHW;AAHW,aAAf,CAAZ;;AASA,mBAAOuP,MAAMvE,MAAb;AACH;AACJ;AACJ,CApCD;;;ACAA,CAAC,YAAY;AACT;;AACAxP,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,iCADf,EACkD;AAC1C7E,oBAAY+lE,yCAD8B;AAE1ChmE,qBAAa;AAF6B,KADlD;;AAMAgmE,8CAA0CxpE,OAA1C,GAAoD,CAAC,QAAD,CAApD;;AAEA,aAASwpE,yCAAT,CAAmDz4D,MAAnD,EAA2D;AACvD,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qCADf,EACsD;AAC9C7E,oBAAYgmE,6CADkC;AAE9CjmE,qBAAa,mFAFiC;AAG9CoN,kBAAU;AACNumB,oBAAQ;AADF;AAHoC,KADtD;;AASAsyC,kDAA8CzpE,OAA9C,GAAwD,CAAC,QAAD,EAAW,YAAX,EAAyB,0BAAzB,EAAqD,kBAArD,CAAxD;;AAEA,aAASypE,6CAAT,CAAuD14D,MAAvD,EAA+D5Q,UAA/D,EAA2EkhC,wBAA3E,EAAqGp0B,gBAArG,EAAuH;AACnH,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAW;AACpB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBw9B,yCAAyBl0B,GAAzB,CAA6B+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAA5C,EAAgDuI,IAAhD,CAAqD,UAASvK,IAAT,EAAe;AAChEoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH;AACJ,SAND;;AAQA,iBAASymB,IAAT,GAAgB;AACZ,gBAAIrZ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBw9B,yCAAyBxsB,MAAzB,CAAgC3D,GAAGpN,IAAnC,EAAyCuK,IAAzC,CAA8C,YAAY;AACtDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHiK,yCAAyB3wB,MAAzB,CAAgCQ,GAAGpN,IAAnC,EAAyCuK,IAAzC,CAA8C,YAAY;AACtDpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,qCADf,EACsD;AAC9C7E,oBAAYimE,6CADkC;AAE9ClmE,qBAAa,mFAFiC;AAG9CoN,kBAAU;AACNumB,oBAAQ;AADF;AAHoC,KADtD;;AASAuyC,kDAA8C1pE,OAA9C,GAAwD,CAAC,QAAD,EAAW,YAAX,EAAyB,0BAAzB,EAAqD,kBAArD,CAAxD;;AAEA,aAAS0pE,6CAAT,CAAuD34D,MAAvD,EAA+D5Q,UAA/D,EAA2EkhC,wBAA3E,EAAqGp0B,gBAArG,EAAuH;AACnH,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACd4wB,qCAAyB5wB,MAAzB,GAAkCpC,IAAlC,CAAuC,UAAU3J,KAAV,EAAiB;AACpDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACd43B,qCAAyB53B,MAAzB,CAAgCyH,GAAGinB,YAAH,CAAgBryB,EAAhD,EAAoDuI,IAApD,CAAyD,YAAY;AACjEpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAA,CAAC,YAAY;AACT;;AACA70C,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,uBADf,EACwC;AAChC7E,oBAAYkmE,+BADoB;AAEhCnmE,qBAAa;AAFmB,KADxC;;AAMAmmE,oCAAgC3pE,OAAhC,GAA0C,CAAC,QAAD,CAA1C;;AAEA,aAAS2pE,+BAAT,CAAyC54D,MAAzC,EAAiD;AAC7C,YAAIG,KAAK,IAAT;;AAEAA,WAAGimB,MAAH;;AAEAjmB,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGimB,MAAH,GAAY;AACRrzB,sBAAM,EADE;AAERD,wBAAQ,KAFA;AAGRuzB,0BAAU;AAHF,aAAZ;AAKH,SAND;AAOH;AACJ,CAvBD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYmmE,mCADwB;AAEpCpmE,qBAAa,yEAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASAyyC,wCAAoC5pE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,gBAAzB,EAA2C,kBAA3C,CAA9C;;AAEA,aAAS4pE,mCAAT,CAA6C74D,MAA7C,EAAqD5Q,UAArD,EAAiE2iC,cAAjE,EAAiF71B,gBAAjF,EAAmG;AAC/F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAG6c,SAAH,GAAe,KAAf;AACA7c,WAAGzQ,WAAH,GAAiB,EAAjB;;AAEA;AACAyQ,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAW;AACpBD,eAAGzQ,WAAH,GAAiBhB,IAAIgB,WAArB;AACA,gBAAIyQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBi/B,+BAAe31B,GAAf,CAAmB+D,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAAlC,EAAsCuI,IAAtC,CAA2C,UAAUvK,IAAV,EAAgB;AACvDoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SATD;;AAWA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJ,gBAAIgQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBi/B,+BAAejuB,MAAf,CAAsB3D,GAAGpN,IAAzB,EAA+BuK,IAA/B,CAAoC,YAAY;AAC5CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACH0L,+BAAepyB,MAAf,CAAsBQ,GAAGpN,IAAzB,EAA+BuK,IAA/B,CAAoC,YAAY;AAC5CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CApDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,2BADf,EAC4C;AACpC7E,oBAAYomE,mCADwB;AAEpCrmE,qBAAa,yEAFuB;AAGpCoN,kBAAU;AACNumB,oBAAQ;AADF;AAH0B,KAD5C;;AASA0yC,wCAAoC7pE,OAApC,GAA8C,CAAC,QAAD,EAAW,YAAX,EAAyB,gBAAzB,EAA2C,kBAA3C,CAA9C;;AAEA,aAAS6pE,mCAAT,CAA6C94D,MAA7C,EAAqD5Q,UAArD,EAAiE2iC,cAAjE,EAAiF71B,gBAAjF,EAAmG;AAC/F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;;AAEAyH,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAKA,iBAASA,MAAT,GAAkB;AACdqyB,2BAAeryB,MAAf,GAAwBpC,IAAxB,CAA6B,UAAU3J,KAAV,EAAiB;AAC1CwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAGD,iBAAS+E,MAAT,GAAkB;AACdq5B,2BAAer5B,MAAf,CAAsByH,GAAGinB,YAAH,CAAgBryB,EAAtC,EAA0CuI,IAA1C,CAA+C,YAAY;AACvDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CA7CD;;;ACAC,WAAU1xC,CAAV,EAAa;AACV;AACAA,MAAE0wC,EAAF,CAAKwE,gBAAL,GAAwB,UAAU7sC,cAAV,EAA0B;AAC9C,YAAI8Y,OAAO,IAAX;;AAEA9Y,yBAAiBA,kBAAkB,EAAnC;;AAEA;AACA,YAAIvG,QAAQuG,eAAe+sC,QAAf,GAA0B/sC,eAAevG,KAAzC,GAAkDuG,eAAevG,KAAf,IAAwB,IAAIrB,IAAJ,EAAtF;AACA,YAAIwmE,WAAW5+D,eAAe4+D,QAAf,IAA2B,IAA1C;AACA,YAAItiB,MAAMt8C,eAAes8C,GAAf,IAAsB/nD,IAAI2pB,eAAJ,CAAoBC,OAApD;AACA,YAAI2uB,MAAM9sC,eAAe8sC,GAAf,IAAsBv4C,IAAI2pB,eAAJ,CAAoBE,OAApD;AACA,YAAI9c,SAAStB,eAAesB,MAAf,IAAyB,IAAtC;;AAEA,YAAIwX,KAAK+lD,UAAL,MAAqBpnE,SAAzB,EAAoC;AAChCqhB,iBAAKgmD,aAAL,CAAmBxiB,GAAnB;AACAxjC,iBAAKimD,aAAL,CAAmBjyB,GAAnB;AACAh0B,iBAAKo2B,eAAL,CAAqBz1C,KAArB;AACA;AACH;;AAED;AACAqf,aAAKkmD,eAAL,CAAqB;AACjBvlE,mBAAOA,KADU;AAEjBwpB,oBAAQ1uB,IAAIskB,eAAJ,GAAsBG,UAAtB,EAFS;AAGjBD,qBAASxkB,IAAIskB,eAAJ,GAAsBE,OAHd;AAIjB+zB,iBAAKA,GAJY;AAKjBwP,iBAAKA,GALY;AAMjBh7C,oBAAQA;AANS,SAArB;;AASAwX,aAAKyC,IAAL,CAAU,UAAV,EAAsBqjD,QAAtB;;AAEA,YAAI5+D,eAAe+sC,QAAnB,EAA6B;AACzBj0B,iBAAKmmD,IAAL,CAAU,WAAV,EACK74D,KADL,CACW,0DAA0D0S,KAAKlK,IAAL,CAAU,IAAV,CAA1D,GAA4E,oDADvF;AAEH;AAEJ,KApCD;;AAsCAjX,MAAE0wC,EAAF,CAAKw2B,UAAL,GAAkB,YAAY;AAC1B,YAAI/lD,OAAO,IAAX;AACA,eAAOA,KAAKniB,IAAL,CAAU,iBAAV,CAAP;AACH,KAHD;;AAKA;AACAgB,MAAE0wC,EAAF,CAAK6G,eAAL,GAAuB,UAAUz1C,KAAV,EAAiB;AACpC,YAAIqf,OAAO,IAAX;;AAEAA,aAAKrf,KAAL,GAAaA,KAAb;;AAEA,YAAIqf,KAAKrf,KAAT,EAAgB;AACZqf,iBAAK+lD,UAAL,GAAkBplE,KAAlB,CAAwBA,KAAxB;AACA;AACH;;AAED,eAAOqf,KAAK+lD,UAAL,GAAkBplE,KAAlB,KAA4B,IAAIrB,IAAJ,CAAS0gB,KAAK+lD,UAAL,GAAkBplE,KAAlB,EAAT,CAA5B,GAAkEhC,SAAzE;AACH,KAXD;;AAaAE,MAAE0wC,EAAF,CAAKy2B,aAAL,GAAqB,UAAUrlE,KAAV,EAAiB;AAClC,YAAIqf,OAAO,IAAX;AACAA,aAAK+lD,UAAL,GAAkBviB,GAAlB,CAAsB7iD,KAAtB;AACH,KAHD;;AAKA9B,MAAE0wC,EAAF,CAAK02B,aAAL,GAAqB,UAAUtlE,KAAV,EAAiB;AAClC,YAAIqf,OAAO,IAAX;AACAA,aAAK+lD,UAAL,GAAkB/xB,GAAlB,CAAsBrzC,KAAtB;AACH,KAHD;;AAKA9B,MAAE0wC,EAAF,CAAK+F,UAAL,GAAkB,YAAY;;AAE1B,YAAIt1B,OAAO,IAAX;AACA,YAAIrf,QAAQqf,KAAKo2B,eAAL,EAAZ;;AAEA,eAAOz1C,QAAQ;AACXI,iBAAKJ,MAAMK,OAAN,EADM;AAEXC,mBAAON,MAAMO,QAAN,KAAmB,CAFf;AAGXC,kBAAMR,MAAMS,WAAN;AAHK,SAAR,GAIH,EAJJ;AAKH,KAVD;;AAYAvC,MAAEC,QAAF,EAAYE,EAAZ,CAAe,OAAf,EAAwB,qBAAxB,EAA+C,UAAUnC,KAAV,EAAiB;AAC5D,YAAIupE,QAAQvnE,EAAE,IAAF,CAAZ;AACA,YAAIwnE,eAAeD,MAAMtwD,IAAN,CAAW,oBAAX,CAAnB;AACA,YAAIwwD,cAAcznE,EAAE,MAAMwnE,YAAR,CAAlB;AACAC,oBAAYzoE,IAAZ,CAAiB,iBAAjB,EAAoC8C,KAApC,CAA0C,EAA1C;AACA2lE,oBAAYh/D,OAAZ,CAAoB,QAApB;AACH,KAND;AAQH,CAzFA,EAyFCwoC,MAzFD,CAAD;;;ACAC,WAAUjxC,CAAV,EAAa;AACV;AACAA,MAAE0wC,EAAF,CAAKg3B,oBAAL,GAA4B,UAAUr/D,cAAV,EAA0B;AAClD,YAAI8Y,OAAO,IAAX;;AAEA9Y,yBAAiBA,kBAAkB,EAAnC;;AAEA;AACA,YAAIvG,QAAQuG,eAAevG,KAAf,IAAwB,IAAIrB,IAAJ,EAApC;AACA,YAAIwmE,WAAW5+D,eAAe4+D,QAAf,IAA2B,IAA1C;AACA,YAAItiB,MAAMt8C,eAAes8C,GAAf,IAAsB/nD,IAAI2pB,eAAJ,CAAoBC,OAApD;AACA,YAAI2uB,MAAM9sC,eAAe8sC,GAAf,IAAsBv4C,IAAI2pB,eAAJ,CAAoBE,OAApD;AACA,YAAIkhD,WAAW/qE,IAAIyL,cAAJ,CAAmBs/D,QAAnB,IAA+B,EAA9C;AACA,YAAIh+D,SAAStB,eAAesB,MAAf,IAAyB,IAAtC;;AAEA;AACAwX,aAAKymD,mBAAL,CAAyB;AACrB9lE,mBAAOA,KADc;AAErBwpB,oBAAQ1uB,IAAIskB,eAAJ,GAAsBK,cAAtB,EAFa;AAGrBD,wBAAY1kB,IAAIskB,eAAJ,GAAsBI,UAAtB,EAHS;AAIrBF,qBAASxkB,IAAIskB,eAAJ,GAAsBE,OAJV;AAKrBumD,sBAAUA,QALW;AAMrBxyB,iBAAKA,GANgB;AAOrBwP,iBAAKA,GAPgB;AAQrBh7C,oBAAQA;AARa,SAAzB;;AAWAwX,aAAKyC,IAAL,CAAU,UAAV,EAAsBqjD,QAAtB;AACH,KA1BD;;AA4BAjnE,MAAE0wC,EAAF,CAAKm3B,cAAL,GAAsB,YAAY;AAC9B,YAAI1mD,OAAO,IAAX;AACA,eAAOA,KAAKniB,IAAL,CAAU,qBAAV,CAAP;AACH,KAHD;;AAKA;AACAgB,MAAE0wC,EAAF,CAAKo3B,mBAAL,GAA2B,UAAUhmE,KAAV,EAAgB;AACvC,YAAIqf,OAAO,IAAX;;AAEAA,aAAKrf,KAAL,GAAaA,KAAb;;AAEA,YAAIqf,KAAKrf,KAAT,EAAgB;AACZqf,iBAAK0mD,cAAL,GAAsB/lE,KAAtB,CAA4BA,KAA5B;AACA;AACH;;AAED,eAAO,IAAIrB,IAAJ,CAAS0gB,KAAK0mD,cAAL,GAAsB/lE,KAAtB,EAAT,CAAP;AACH,KAXD;;AAaA9B,MAAE0wC,EAAF,CAAKq3B,iBAAL,GAAyB,UAAUjmE,KAAV,EAAiB;AACtC,YAAIqf,OAAO,IAAX;AACAA,aAAK0mD,cAAL,GAAsBljB,GAAtB,CAA0B7iD,KAA1B;AACH,KAHD;;AAKA9B,MAAE0wC,EAAF,CAAKs3B,iBAAL,GAAyB,UAAUlmE,KAAV,EAAiB;AACtC,YAAIqf,OAAO,IAAX;AACAA,aAAK0mD,cAAL,GAAsB1yB,GAAtB,CAA0BrzC,KAA1B;AACH,KAHD;AAIH,CA1DA,EA0DCmvC,MA1DD,CAAD;;;ACAA,CAAC,UAAUjxC,CAAV,EAAa;AACV;AACAA,MAAE0wC,EAAF,CAAKu3B,kBAAL,GAA0B,UAAU5/D,cAAV,EAA0B;;AAEhD,YAAI8Y,OAAO,IAAX;;AAEAA,aAAK+mD,iBAAL,CAAuB;AACnBC,2BAAe9/D,eAAe8/D,aADX;AAEnB5iE,sBAAU8C,eAAe9C,QAFN;AAGnB61D,wBAAY;AACRgN,2BAAW;AACPC,0BAAM;AACF/nD,kCAAU,OADR;AAEF9a,6BAAK6C,eAAeigE;AAFlB;AADC;AADH,aAHO;AAWnBzyD,oBAAQxN,eAAewN,MAAf,IAAyB;AAXd,SAAvB;;AAcAsL,aAAKniB,IAAL,CAAU,mBAAV,EAA+BupE,aAA/B,CAA6ClgE,eAAe+yD,UAA5D;AACH,KAnBD;;AAqBAp7D,MAAE0wC,EAAF,CAAK83B,sBAAL,GAA8B,YAAY;AACtC,YAAIrnD,OAAO,IAAX;AACA,eAAOA,KAAKniB,IAAL,CAAU,mBAAV,CAAP;AACH,KAHD;;AAKAgB,MAAE0wC,EAAF,CAAK+3B,SAAL,GAAiB,UAAUC,KAAV,EAAiBC,UAAjB,EAA6B;AAC1C,YAAIxnD,OAAO,IAAX;;AAEAnhB,UAAE8G,IAAF,CAAOqa,KAAKqnD,sBAAL,GAA8BpN,UAA9B,CAAyCp8D,IAAzC,EAAP,EAAwD,UAAU+H,KAAV,EAAiB9F,IAAjB,EAAuB;AAC3E,gBAAGynE,MAAMznE,IAAN,EAAW0nE,UAAX,CAAH,EAA0B;AACtBxnD,qBAAKqnD,sBAAL,GAA8B1mE,KAA9B,CAAoCb,IAApC;AACH;AACJ,SAJD;AAKH,KARD;AASH,CArCD,EAqCGgwC,MArCH;;;ACAC,WAAUjxC,CAAV,EAAa;AACV;AACAA,MAAE0wC,EAAF,CAAKk4B,eAAL,GAAuB,UAAUvgE,cAAV,EAA0B;AAC7C,YAAI8Y,OAAO,IAAX;;AAEA,YAAIi6C,aAAa/yD,eAAe+yD,UAAhC;AACA,YAAI91D,QAAQ+C,eAAe/C,KAA3B;AACA,YAAIkZ,QAAQnW,eAAemW,KAA3B;AACA,YAAIqqD,YAAYxgE,eAAewgE,SAA/B;;AAEA1nD,aAAK2nD,cAAL,CAAoB;AAChBC,qBAAS,CAAC,KAAD,CADO;AAEhBC,2BAAehpE,EAAE,iBAAF,EAAqB0nC,IAArB,EAFC;AAGhBuhC,iBAAK;AACDvnC,0BAAU,+BADT;AAEDwnC,0BAAU;AAFT,aAHW;AAOhBC,uBAAW,IAAI1oE,IAAJ,CAAS,oBAAT,CAPK;AAQhBwB,kBAAM,IAAIxB,IAAJ,EARU;AAShB2oE,2BAAe,IATC;AAUhBC,0BAAc,IAAI5oE,IAAJ,CAAS,oBAAT,CAVE;AAWhB6oE,wBAAY,IAAI7oE,IAAJ,CAAS,oBAAT,CAXI;AAYhB8oE,uBAAW,EAZK;AAahBjkE,mBAAOA,KAbS;AAchBkkE,sBAAU;AACNjkE,0BAAUvF,EAAE,uBAAF,EAA2B0nC,IAA3B;AADJ,aAdM;AAiBhB+hC,wBAAY,KAjBI;AAkBhBC,yBAAarhE,eAAeqhE,WAlBZ;AAmBhBC,uBAAWthE,eAAeshE,SAnBV;AAoBhBjiD,kBAAMrf,eAAeqf,IApBL;AAqBhB9gB,oBAAQyB,eAAezB,MArBP;AAsBhB4tB,kBAAMnsB,eAAemsB,IAtBL;AAuBhBthB,iBAAK7K,eAAe6K,GAvBJ;AAwBhBxB,oBAAQrJ,eAAeqJ,MAxBP;AAyBhB/H,oBAAQtB,eAAesB,MAzBP;AA0BhBigE,uBAAWvhE,eAAeuhE,SA1BV;AA2BhBC,kBAAMxhE,eAAewhE,IA3BL;AA4BhBC,2BAAezhE,eAAeyhE,aA5Bd;AA6BhBC,qBAAS1hE,eAAe0hE,OA7BR;AA8BhBC,yBAAa3hE,eAAe2hE,WA9BZ;AA+BhB1qC,oBAAQj3B,eAAei3B,MA/BP;AAgChB2qC,uBAAW5hE,eAAe4hE,SAhCV;AAiChBC,sBAAU7hE,eAAe6hE,QAjCT;AAkChB9O,wBAAYA,UAlCI;AAmChB58C,mBAAOA,KAnCS;AAoChBqqD,uBAAWA;AApCK,SAApB;AAsCH,KA9CD;AA+CH,CAjDA,EAiDC53B,MAjDD,CAAD;;;ACAC,WAAUjxC,CAAV,EAAa;AACV;AACAA,MAAE0wC,EAAF,CAAKy5B,gBAAL,GAAwB,UAAU9hE,cAAV,EAA0B;AAC9C,YAAI8Y,OAAO,IAAX;;AAEA9Y,yBAAiBA,kBAAkB,EAAnC;;AAEA;AACA,YAAI4+D,WAAW5+D,eAAe4+D,QAAf,IAA2B,IAA1C;AACA,YAAIU,WAAW/qE,IAAIyL,cAAJ,CAAmBs/D,QAAnB,IAA+B,EAA9C;AACA,YAAIh+D,SAAStB,eAAesB,MAAf,IAAyB,IAAtC;;AAEA,YAAIwX,KAAKipD,UAAL,MAAqBtqE,SAAzB,EAAoC;AAChC;AACH;;AAED;AACAqhB,aAAKkpD,eAAL,CAAqB;AACjB/+C,oBAAQ1uB,IAAIskB,eAAJ,GAAsBI,UAAtB,EADS;AAEjBF,qBAASxkB,IAAIskB,eAAJ,GAAsBE,OAFd;AAGjBumD,sBAAUA,QAHO;AAIjBh+D,oBAAQA;AAJS,SAArB;;AAOAwX,aAAKyC,IAAL,CAAU,UAAV,EAAsBqjD,QAAtB;AACH,KAvBD;;AAyBAjnE,MAAE0wC,EAAF,CAAK05B,UAAL,GAAkB,YAAY;AAC1B,YAAIjpD,OAAO,IAAX;AACA,eAAOA,KAAKniB,IAAL,CAAU,iBAAV,CAAP;AACH,KAHD;;AAKA;AACAgB,MAAE0wC,EAAF,CAAK45B,eAAL,GAAuB,UAAUxoE,KAAV,EAAgB;AACnC,YAAIqf,OAAO,IAAX;;AAEAA,aAAKrf,KAAL,GAAaA,KAAb;;AAEA,YAAIqf,KAAKrf,KAAT,EAAgB;AACZqf,iBAAKipD,UAAL,GAAkBtoE,KAAlB,CAAwBA,KAAxB;AACA;AACH;;AAED,eAAO,IAAIrB,IAAJ,CAAS0gB,KAAKipD,UAAL,GAAkBtoE,KAAlB,EAAT,CAAP;AACH,KAXD;;AAaA9B,MAAE0wC,EAAF,CAAK65B,cAAL,GAAsB,YAAY;;AAE9B,YAAIppD,OAAO,IAAX;AACA,YAAIrf,QAAQqf,KAAKmpD,eAAL,EAAZ;;AAEA,eAAO;AACHpoE,iBAAKJ,MAAMK,OAAN,EADF;AAEHC,mBAAON,MAAMO,QAAN,KAAmB,CAFvB;AAGHC,kBAAMR,MAAMS,WAAN,EAHH;AAIHioE,kBAAM1oE,MAAMghB,QAAN,EAJH;AAKH2nD,oBAAQ3oE,MAAMihB,UAAN,EALL,EAAP;AAMH,KAXD;AAYH,CA1DA,EA0DCkuB,MA1DD,CAAD;;;ACAA,CAAC,YAAY;AACT;;AAEAr0C,QAAI8tE,sBAAJ,GAA6B,YAAY;;AAErC;AACA,YAAIlzB,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;AACA,YAAI6pC,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI0Z,eAAe1d,IAAIgE,OAAJ,CAAY,qBAAZ,CAAnB;AACA,YAAIgd,mBAAmBhhB,IAAIgE,OAAJ,CAAY,mBAAZ,CAAvB;;AAEA;AACA,YAAIihE,iBAAiB3qE,EAAE,mBAAF,CAArB;AACA,YAAI4qE,oBAAoB5qE,EAAE,uBAAF,CAAxB;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,CAAU7c,WAAV,EAAuB;AAC9B/0B,gBAAIiuE,qBAAJ,GAA4Br8B,IAA5B,CAAiC,QAAjC,EAA2C7c,WAA3C;AACAg5C,2BAAej9B,GAAf,GAAqBvtC,EAArB,CAAwB,OAAxB,EAAiCunB,IAAjC;AACAkjD,8BAAkBl9B,GAAlB,GAAwBvtC,EAAxB,CAA2B,OAA3B,EAAoC2qE,mBAApC;AACH,SAJD;;AAMA,YAAIpjD,OAAO,SAAPA,IAAO,GAAY;AACnB,gBAAInf,UAAU3L,IAAIiuE,qBAAJ,GAA4BE,UAA5B,EAAd;;AAEA;AACA,gBAAI,CAACrkD,iBAAiBE,wBAAjB,CAA0Cre,OAA1C,CAAL,EAAyD;AACrD,uBAAO,KAAP;AACH;;AAEDgrC,4BAAgB1lC,MAAhB,CAAuBtF,OAAvB,EAAgCqB,IAAhC,CAAqC,UAAU5K,IAAV,EAAgB;AACjDokB,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiBmqB,iBAA1C;AACAlrB,oBAAIiuE,qBAAJ,GAA4BnvB,UAA5B;AACA9+C,oBAAIs2C,sBAAJ,GAA6B50B,MAA7B;AACH,aAJD;AAKH,SAbD;;AAeA,YAAIwsD,sBAAsB,SAAtBA,mBAAsB,GAAY;AAClC,gBAAIviE,UAAU3L,IAAIiuE,qBAAJ,GAA4BE,UAA5B,EAAd;;AAEA;AACA,gBAAI,CAACrkD,iBAAiBE,wBAAjB,CAA0Cre,OAA1C,CAAL,EAAyD;AACrD,uBAAO,KAAP;AACH;;AAEDgrC,4BAAgB1lC,MAAhB,CAAuBtF,OAAvB,EAAgCqB,IAAhC,CAAqC,UAAU5K,IAAV,EAAgB;AACjDokB,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiBmqB,iBAA1C;AACAlrB,oBAAIiuE,qBAAJ,GAA4BnvB,UAA5B;;AAEA,oBAAI,CAAC9+C,IAAIgB,WAAJ,CAAgBkf,QAAhB,CAAyB8K,cAAzB,CAAwClD,gBAAxC,EAAL,EAAiE;AAC7D9nB,wBAAI0yD,uBAAJ,GAA8B9gB,IAA9B,CAAmCxvC,KAAKiE,EAAxC,EAA4CjE,KAAK8C,KAAjD,EAAwDlF,IAAIs2C,sBAAJ,GAA6B50B,MAArF;AACH,iBAFD,MAGK;AACD1hB,wBAAIs2C,sBAAJ,GAA6B50B,MAA7B;AACH;AACJ,aAVD;AAWH,SAnBD;;AAqBA,eAAO;AACHkwB,kBAAMA;AADH,SAAP;AAGH,KAzDD;AA0DH,CA7DD;;;ACAA,CAAC,YAAY;AACT;;AACA5xC,QAAIouE,sBAAJ,GAA6B,YAAY;;AAErC;AACA,YAAIz3B,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI0Z,eAAe1d,IAAIgE,OAAJ,CAAY,qBAAZ,CAAnB;;AAEA;AACA,YAAIuhE,0BAA0BjrE,EAAE,yBAAF,CAA9B;AACA,YAAIkrE,qBAAqBlrE,EAAE,uBAAF,CAAzB;AACA,YAAImrE,sBAAsBnrE,EAAE,wBAAF,CAA1B;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,GAAY;AACnB08B,+BAAmBt6D,KAAnB;AACAu6D,gCAAoBz9B,GAApB,GAA0BvtC,EAA1B,CAA6B,OAA7B,EAAsCirE,gBAAtC;;AAEAH,oCAAwBv9B,GAAxB,GAA8BvtC,EAA9B,CAAiC,OAAjC,EAA0CsK,OAA1C;AACH,SALD;;AAOA,YAAI2gE,mBAAmB,SAAnBA,gBAAmB,GAAY;AAC/BF,+BAAmBt6D,KAAnB,CAAyB,MAAzB;AACH,SAFD;;AAIA,YAAInG,UAAU,SAAVA,OAAU,GAAY;AACtB,gBAAIlC,UAAU3L,IAAIiuE,qBAAJ,GAA4BE,UAA5B,EAAd;AACAx3B,4BAAgB/oC,MAAhB,CAAuBjC,QAAQtF,EAA/B,EACC2G,IADD,CACM,UAAU5K,IAAV,EAAgB;AAClB;AACApC,oBAAIs2C,sBAAJ,GAA6B50B,MAA7B;AACA8E,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiBmqB,iBAA1C;AACAlrB,oBAAIiuE,qBAAJ,GAA4BnvB,UAA5B;AACA0vB;AACH,aAPD;AAQH,SAVD;;AAYA,eAAO;AACH58B,kBAAMA;AADH,SAAP;AAGH,KArCD;AAuCH,CAzCD;;;ACAA,CAAC,YAAY;AACT;;AAEA5xC,QAAIqqD,sBAAJ,GAA6B,YAAY;;AAErC;AACA,YAAI1T,kBAAkB7tC,IAAIgE,OAAJ,CAAY,iBAAZ,CAAtB;AACA,YAAI0Z,eAAe1d,IAAIgE,OAAJ,CAAY,qBAAZ,CAAnB;AACA,YAAI8tC,oBAAoB9xC,IAAIgE,OAAJ,CAAY,mBAAZ,CAAxB;AACA,YAAIgd,mBAAmBhhB,IAAIgE,OAAJ,CAAY,mBAAZ,CAAvB;;AAEA;AACA,YAAIihE,iBAAiB3qE,EAAE,mBAAF,CAArB;AACA,YAAIqrE,mBAAmBrrE,EAAE,qBAAF,CAAvB;AACA,YAAIsrE,kBAAkBtrE,EAAE,qBAAF,CAAtB;;AAEA,YAAIwuC,OAAO,SAAPA,IAAO,CAAUpxB,SAAV,EAAqBuU,WAArB,EAAkCg1B,aAAlC,EAAiD4kB,eAAjD,EAAkE;AACzE3uE,gBAAIiuE,qBAAJ,GAA4Br8B,IAA5B,CAAiC,QAAjC,EAA2C7c,WAA3C,EAAwDvU,SAAxD,EAAmEupC,aAAnE;;AAEAxlC,iBAAKsuC,SAAL,GAAiBryC,SAAjB;AACA+D,iBAAKoqD,eAAL,GAAuBA,eAAvB;;AAEAh4B,4BAAgBjpC,GAAhB,CAAoB8S,SAApB,EAA+BxT,IAA/B,CAAoC,UAAUrB,OAAV,EAAmB;AACnD3L,oBAAIiuE,qBAAJ,GAA4BW,mBAA5B,CAAgDjjE,OAAhD;AACA3L,oBAAI6uE,gBAAJ,GAAuBC,SAAvB,CAAiCnjE,QAAQlH,KAAzC;AACAzE,oBAAI+uE,mBAAJ,GAA0BD,SAA1B,CAAoCnjE,QAAQjH,QAA5C;AACA1E,oBAAIgvE,oBAAJ,GAA2Bp9B,IAA3B,CAAgCjmC,QAAQtF,EAAxC;AACArG,oBAAIivE,sBAAJ,GAA6Br9B,IAA7B,CAAkCjmC,QAAQmsD,QAA1C,EAAoDnsD,QAAQosD,SAA5D,EAAuEpsD,QAAQtB,OAA/E;AACArK,oBAAIiuE,qBAAJ,GAA4BW,mBAA5B,CAAgDjjE,OAAhD;;AAEA4Y,qBAAKrf,KAAL,GAAayG,QAAQzG,KAArB;AACH,aATD;;AAWA6oE,2BAAej9B,GAAf,GAAqBvtC,EAArB,CAAwB,OAAxB,EAAiCunB,IAAjC;AACA2jD,6BAAiB39B,GAAjB,GAAuBvtC,EAAvB,CAA0B,OAA1B,EAAmCo5D,aAAnC;AACA+R,4BAAgB59B,GAAhB,GAAsBvtC,EAAtB,CAAyB,OAAzB,EAAkCqyD,YAAlC;AACH,SApBD;;AAsBA,YAAI9qC,OAAO,SAAPA,IAAO,GAAY;AACnB,gBAAInf,UAAU3L,IAAIiuE,qBAAJ,GAA4BE,UAA5B,EAAd;;AAEA;AACA,gBAAI,CAACrkD,iBAAiBE,wBAAjB,CAA0Cre,OAA1C,CAAL,EAAyD;AACrD,uBAAO,KAAP;AACH;;AAEDgrC,4BAAgBvhC,MAAhB,CAAuBzJ,OAAvB,EAAgCqB,IAAhC,CAAqC,UAAU5K,IAAV,EAAgB;AACjD;AACApC,oBAAIs2C,sBAAJ,GAA6B50B,MAA7B;AACA8E,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiBmqB,iBAA1C;AACAlrB,oBAAIiuE,qBAAJ,GAA4BnvB,UAA5B;AACA,oBAAIv6B,KAAKoqD,eAAT,EACIpqD,KAAKoqD,eAAL,CAAqBvsE,KAAKiE,EAA1B;AACP,aAPD;AAQH,SAhBD;;AAkBA,YAAIs2D,gBAAgB,SAAhBA,aAAgB,GAAY;AAC5B38D,gBAAIouE,sBAAJ,GAA6Bx8B,IAA7B;AACH,SAFD;;AAIA,YAAIgkB,eAAe,SAAfA,YAAe,GAAY;AAC3Bhb,8BAAkB32B,eAAlB,CAAkC;AAC9B5d,oBAAIke,KAAKsuC,SADqB;AAE9BtU,0BAAU,CAFoB;AAG9BD,4BAAY/5B,KAAKrf;AAHa,aAAlC,EAIG8H,IAJH,CAIQ,YAAY;AAChBwZ,6BAAaC,WAAb,CAAyBzmB,IAAIe,YAAJ,CAAiB09C,wBAA1C;AACAz+C,oBAAIs2C,sBAAJ,GAA6B50B,MAA7B;AACAgtD,gCAAgB7lD,IAAhB;AACH,aARD;AASH,SAVD;;AAYA,eAAO;AACH+oB,kBAAMA;AADH,SAAP;AAIH,KAzED;AA0EH,CA7ED;;;ACAA,CAAC,YAAY;AACT;;AACA3xC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,0BADf,EAC2C;AACnC7E,oBAAYkrE,kCADuB;AAEnCnrE,qBAAa,6EAFsB;AAGnCoN,kBAAU;AACNumB,oBAAQ;AADF;AAHyB,KAD3C;;AASAw3C,uCAAmC3uE,OAAnC,GAA6C,CAAC,QAAD,EAAW,YAAX,EAAyB,eAAzB,EAA0C,kBAA1C,CAA7C;;AAEA,aAAS2uE,kCAAT,CAA4C59D,MAA5C,EAAoD5Q,UAApD,EAAgEivB,aAAhE,EAA+EniB,gBAA/E,EAAiG;AAC7F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGxM,KAAH;AACAwM,WAAGinB,YAAH;;AAEA;AACAjnB,WAAGzH,MAAH,GAAYA,MAAZ;AACAyH,WAAGmP,aAAH,GAAmBA,aAAnB;;AAEAnP,WAAGC,OAAH,GAAa,YAAY;AACrBV;AACH,SAFD;;AAIA,iBAASA,MAAT,GAAkB;AACd2e,0BAAc3e,MAAd,CAAqB,IAArB,EAA2B,IAA3B,EAAiCpC,IAAjC,CAAsC,UAAU3J,KAAV,EAAiB;AACnDwM,mBAAGxM,KAAH,GAAWA,KAAX;AACH,aAFD;AAGH;;AAED,iBAAS2b,aAAT,CAAuBvc,IAAvB,EAA6B;AACzBsrB,0BAAc/O,aAAd,CAA4Bvc,KAAKgC,EAAjC,EAAqCuI,IAArC,CAA0C,UAAUxM,IAAV,EAAgB;AACtDoL,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAla;AAEH,aAJD;AAKH;;AAED,iBAAShH,MAAT,GAAkB;AACd2lB,0BAAc3lB,MAAd,CAAqByH,GAAGinB,YAAH,CAAgBryB,EAArC,EAAyCuI,IAAzC,CAA8C,YAAY;AACtDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqB63B,mBAA9C;AACA3nB;AACAS,mBAAGinB,YAAH,GAAkB,IAAlB;AACH,aAJD,EAIG,UAAUxrB,GAAV,EAAe;AACdM,iCAAiBmC,MAAjB,CAAwBjP,WAAWI,SAAX,CAAqBg0C,KAA7C;AACH,aAND;AAOH;AACJ;AACJ,CApDD,EAoDG90C,GApDH;;;ACAA,CAAC,YAAY;AACT;;AACAC,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,0BADf,EAC2C;AACnC7E,oBAAYmrE,kCADuB;AAEnCprE,qBAAa,6EAFsB;AAGnCoN,kBAAU;AACNumB,oBAAQ;AADF;AAHyB,KAD3C;;AASAy3C,uCAAmC5uE,OAAnC,GAA6C,CAAC,QAAD,EAAW,YAAX,EAAyB,eAAzB,EAA0C,kBAA1C,CAA7C;;AAEA,aAAS4uE,kCAAT,CAA4C79D,MAA5C,EAAoD5Q,UAApD,EAAgEivB,aAAhE,EAA+EniB,gBAA/E,EAAiG;AAC7F,YAAIiE,KAAK,IAAT;;AAEA;AACAA,WAAGpN,IAAH;AACAoN,WAAGgqB,OAAH;AACAhqB,WAAG6c,SAAH,GAAe,KAAf;;AAEA;AACA7c,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrB,gBAAID,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBurB,8BAAcrrB,OAAd,CAAsBmN,GAAGimB,MAAH,CAAUrzB,IAAV,CAAegC,EAArC,EAAyCuI,IAAzC,CAA8C,UAAUvK,IAAV,EAAgB;AAC1DoN,uBAAGpN,IAAH,GAAUA,IAAV;AACH,iBAFD;AAGH,aAJD,MAIO;AACHoN,mBAAGpN,IAAH,GAAU,EAAV;AACH;AACJ,SARD;;AAUA,iBAASymB,IAAT,GAAgB;AACZ,gBAAI,CAACrZ,GAAGpN,IAAH,CAAQ5C,IAAb,EACI;;AAEJ,gBAAIgQ,GAAGimB,MAAH,CAAUtzB,MAAd,EAAsB;AAClBurB,8BAAcva,MAAd,CAAqB3D,GAAGpN,IAAxB,EAA8BuK,IAA9B,CAAmC,YAAY;AAC3CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH,aALD,MAKO;AACHhI,8BAAc1e,MAAd,CAAqBQ,GAAGpN,IAAxB,EAA8BuK,IAA9B,CAAmC,YAAY;AAC3CpB,qCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,uBAAGimB,MAAH,CAAUC,QAAV,GAAqB,KAArB;AACH,iBAHD;AAIH;AACJ;AACJ;AACJ,CAnDD;;;ACAA,CAAC,YAAY;AACT;;AACA13B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,aADf,EAC8B;AACtB7E,oBAAYorE,eADU;AAEtBrrE,qBAAa,qEAFS;AAGtBoN,kBAAU;AACN9M,kBAAM;AADA;AAHY,KAD9B;;AASA+qE,oBAAgB7uE,OAAhB,GAA0B,CAAC,QAAD,EAAW,UAAX,EAAuB,YAAvB,CAA1B;;AAEA,aAAS6uE,eAAT,CAAyB99D,MAAzB,EAAiC3Q,QAAjC,EAA2CD,UAA3C,EAAuD;;AAEnD,YAAI+Q,KAAK,IAAT;;AAEA;AACAA,WAAGlI,OAAH;;AAEA;AACAkI,WAAGnI,UAAH,GAAgBA,UAAhB;AACAmI,WAAG49D,aAAH,GAAmBA,aAAnB;;AAEA,iBAAS/lE,UAAT,GAAsB;AAClB,gBAAI,CAACmI,GAAGlI,OAAR,EACI;;AAEJ,gBAAI,CAACkI,GAAGpN,IAAH,CAAQK,QAAT,IAAqB,CAAC+M,GAAGpN,IAAH,CAAQK,QAAR,CAAiBzB,MAA3C,EACIwO,GAAGpN,IAAH,CAAQK,QAAR,GAAmB,EAAnB;;AAEJ,gBAAId,MAAM,IAAIC,IAAJ,EAAV;;AAEA,gBAAI0F,UAAU;AACVA,yBAASkI,GAAGlI,OADF;AAEVlE,sBAAM,EAFI;AAGV+E,8BAAc1J,WAAWI,SAAX,CAAqBwuE,aAHzB;AAIVjlE,yBAAS3J,WAAWM,WAJV;AAKV2I,kCAAkB;AALR,aAAd;;AAQA8H,eAAGpN,IAAH,CAAQK,QAAR,CAAiB+O,IAAjB,CAAsBlK,OAAtB;;AAEAkI,eAAGlI,OAAH,GAAa,EAAb;AACH;;AAED,iBAAS8lE,aAAT,CAAuB/2C,MAAvB,EAA+B;AAC3B7mB,eAAGpN,IAAH,CAAQK,QAAR,CAAiBsyB,MAAjB,CAAwBsB,MAAxB,EAAgC,CAAhC;AACH;AACJ;AACJ,CAlDD;;;ACAA,CAAC,YAAY;AACT;;AACAr4B,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,iBADf,EACkC;AAC1B7E,oBAAYurE,mBADc;AAE1BxrE,qBAAa,yEAFa;AAG1BoN,kBAAU;AACNnM,0BAAc,GADR;AAENX,kBAAM,GAFA;AAGND,oBAAQ,GAHF;AAINe,uBAAW;AAJL;AAHgB,KADlC;;AAYAoqE,wBAAoBhvE,OAApB,GAA8B,CAAC,QAAD,EAAW,UAAX,EAAuB,qBAAvB,EAA8C,aAA9C,CAA9B;;AAEA,aAASgvE,mBAAT,CAA6Bj+D,MAA7B,EAAqC3Q,QAArC,EAA+C82B,mBAA/C,EAAoEhF,WAApE,EAAiF;;AAE7E,YAAIhhB,KAAK,IAAT;;AAEAA,WAAGghB,WAAH,GAAiBA,WAAjB;;AAEA,aAAK/gB,OAAL,GAAe,YAAY;AACvBC;AACA69D;AACH,SAHD;;AAKA,iBAASA,eAAT,GAA2B;AACvB,gBAAIr5C,WAAW1kB,GAAGpN,IAAH,CAAQY,KAAR,CAAcyc,MAAd,CAAqB;AAAA,uBAAKvY,EAAEhE,SAAP;AAAA,aAArB,EAAuCw4B,GAAvC,CAA2C;AAAA,uBAAKx0B,EAAEhE,SAAP;AAAA,aAA3C,CAAf;;AAEAsyB,gCAAoBI,cAApB,CAAmCpmB,GAAGpN,IAAH,CAAQE,IAA3C,EAAiD4xB,QAAjD,EAA2DvnB,IAA3D,CAAgE,UAAU5J,YAAV,EAAwB;AACpF,oBAAIyM,GAAGrN,MAAP,EAAe;AACXqrE,kCAAczqE,YAAd;AACH,iBAFD,MAEO;AACH0qE,qCAAiB1qE,YAAjB;AACH;AAEJ,aAPD;AAQH;;AAED,iBAASyqE,aAAT,CAAuBzqE,YAAvB,EAAqC;;AAEjC,iBAAK,IAAImL,IAAI,CAAb,EAAgBA,IAAInL,aAAa/B,MAAjC,EAAyCkN,GAAzC,EAA8C;AAC1C,oBAAIqa,aAAa,IAAjB;AACA,oBAAImlD,kBAAkB3qE,aAAamL,CAAb,CAAtB;;AAEA,qBAAK,IAAIqD,IAAI,CAAb,EAAgBA,IAAI/B,GAAGpN,IAAH,CAAQW,YAAR,CAAqB/B,MAAzC,EAAiDuQ,GAAjD,EAAsD;AAClD,wBAAIo8D,yBAAyBn+D,GAAGpN,IAAH,CAAQW,YAAR,CAAqBwO,CAArB,CAA7B;;AAEA;AACA,wBAAIm8D,gBAAgBtpE,EAAhB,IAAsBupE,uBAAuBC,aAAjD,EAAgE;AAC5DrlD,qCAAa,KAAb;AACA;AACH;AACJ;;AAED;AACA,oBAAIA,UAAJ,EAAgB;AACZ,wBAAIslD,WAAW;AACXvrE,8BAAMorE,gBAAgBprE,IADX;AAEXW,+BAAOyqE,gBAAgBI,YAFZ;AAGXF,uCAAeF,gBAAgBtpE,EAHpB;AAIX5E,8BAAMkuE,gBAAgBluE,IAJX;AAKX6a,iCAASqzD,gBAAgBrzD;AALd,qBAAf;;AAQA7K,uBAAGpN,IAAH,CAAQW,YAAR,CAAqByO,IAArB,CAA0Bq8D,QAA1B;AACH;AACJ;AACJ;;AAED,iBAASJ,gBAAT,CAA0B1qE,YAA1B,EAAwC;;AAEpCyM,eAAGpN,IAAH,CAAQW,YAAR,GAAuB,EAAvB;;AAEA,iBAAK,IAAImL,IAAI,CAAb,EAAgBA,IAAInL,aAAa/B,MAAjC,EAAyCkN,GAAzC,EAA8C;;AAE1C,oBAAI9L,OAAOW,aAAamL,CAAb,CAAX;;AAEA,oBAAI2/D,WAAW;AACXvrE,0BAAMF,KAAKE,IADA;AAEXW,2BAAOb,KAAK0rE,YAFD;AAGXF,mCAAexrE,KAAKgC,EAHT;AAIX5E,0BAAM4C,KAAK5C,IAJA;AAKX6a,6BAASjY,KAAKiY;AALH,iBAAf;;AAQA7K,mBAAGpN,IAAH,CAAQW,YAAR,CAAqByO,IAArB,CAA0Bq8D,QAA1B;AACH;AACJ;;AAED,iBAASn+D,iBAAT,GAA6B;AACzBL,mBAAOS,MAAP,CAAc,kBAAd,EAAkC,UAAUW,MAAV,EAAkBC,MAAlB,EAA0B;AACxD,oBAAID,UAAUC,MAAd,EAAsB;AAClB68D;AACH;AACJ,aAJD,EAIG,IAJH;AAKH;AAEJ;AACJ,CApGD;;;ACAA,CAAC,YAAY;AACT;;AACAvvE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,UADf,EAC2B;AACnB7E,oBAAYgsE,YADO;AAEnBjsE,qBAAa,kEAFM;AAGnBoN,kBAAU;AACN9M,kBAAM;AADA;AAHS,KAD3B;;AASA2rE,iBAAazvE,OAAb,GAAuB,CAAC,QAAD,EAAW,UAAX,EAAuB,YAAvB,CAAvB;;AAEA,aAASyvE,YAAT,CAAsB1+D,MAAtB,EAA8B3Q,QAA9B,EAAwCD,UAAxC,EAAoD;;AAEhD,YAAI+Q,KAAK,IAAT;;AAEAA,WAAGw+D,QAAH,GAAc,IAAd;AACAx+D,WAAGy+D,YAAH,GAAkB,EAAlB;;AAEA;AACAz+D,WAAGyuC,UAAH,GAAgBA,UAAhB;AACAzuC,WAAG0+D,iBAAH,GAAuBA,iBAAvB;AACA1+D,WAAG2+D,YAAH,GAAkBA,YAAlB;AACA3+D,WAAG4+D,UAAH,GAAgBA,UAAhB;;AAEA,aAAK3+D,OAAL,GAAe,YAAY;AACvBgiD;AACH,SAFD;;AAIA,iBAASA,YAAT,GAAwB;AACpBlU,qBAASC,YAAT,GAAwB,KAAxB;AACAD,qBAASljC,OAAT,CAAiBojC,iBAAjB,GAAqC,KAArC;;AAEA,gBAAIC,aAAa,IAAIH,QAAJ,CAAa,YAAb,CAAjB;;AAEAG,uBAAWrjC,OAAX,CAAmBujC,cAAnB,GAAoC,IAApC;AACAF,uBAAWrjC,OAAX,CAAmBwjC,WAAnB,GAAiC,CAAjC;AACAH,uBAAWrjC,OAAX,CAAmByjC,QAAnB,GAA8B,EAA9B;AACAJ,uBAAWrjC,OAAX,CAAmB0jC,aAAnB,GAAmC,0EAAnC;;AAEA;AACAL,uBAAW7O,GAAX,GAAiBvtC,EAAjB,CAAoB,SAApB,EAA+B,UAAUoH,IAAV,EAAgB;;AAE3C,oBAAIA,KAAK+jC,GAAL,CAAS7/B,QAAT,IAAqBlE,KAAK+jC,GAAL,CAAS7/B,QAAT,IAAqB,EAA9C,EAAkD;AAC9C,wBAAIA,WAAWsxC,KAAK,MAAMx1C,KAAK+jC,GAAL,CAAS7/B,QAAf,GAA0B,GAA/B,CAAf;;AAEA;AACA0wC,0CAAsB1wC,SAASzM,IAA/B,EAAqCuI,IAArC;AACA;AACA;AACH;AACJ,aAVD;AAWH;;AAED,iBAAS40C,qBAAT,CAA+B9pB,IAA/B,EAAqC66C,YAArC,EAAmD;AAC/C,gBAAI1sE,MAAM,IAAIC,IAAJ,EAAV;;AAEA,gBAAI8G,OAAO;AACPlJ,sBAAM6uE,aAAa7uE,IADZ;AAEPg0B,sBAAMA,IAFC;AAGPpwB,sBAAMzB,GAHC;AAIPwG,8BAAcxG,IAAIwG,YAAJ,EAJP;AAKPmmE,0BAAU7vE,WAAWM,WAAX,CAAuBgkC,QAL1B;AAMPj6B,2BAAWC,aAAaslE,aAAa7uE,IAA1B;AANJ,aAAX;;AASAd,qBAAS,YAAY;AACjB8Q,mBAAGpN,IAAH,CAAQI,KAAR,CAAcgP,IAAd,CAAmB9I,IAAnB;AACH,aAFD;AAGH;;AAED,iBAASK,YAAT,CAAsBwlE,QAAtB,EAAgC;AAC5B,gBAAIzlE,YAAYylE,SAASztE,KAAT,CAAe,GAAf,EAAoB0tE,GAApB,EAAhB;AACA,mBAAO1lE,YAAYA,UAAUgd,WAAV,EAAZ,GAAsChd,SAA7C;AACH;;AAED,iBAASolE,iBAAT,CAA2BplE,SAA3B,EAAsC;AAClC,gBAAI2lE,MAAM3lE,YAAYA,UAAUgd,WAAV,EAAZ,GAAsChd,SAAhD;AACA2lE,kBAAMA,IAAIx2D,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAN;AACA,oBAAQw2D,GAAR;AACI,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,MAAL;AACI,2BAAO,eAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,MAAL;AACI,2BAAO,eAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ,qBAAK,KAAL;AACI,2BAAO,cAAP;;AAEJ;AAAS;AACL,2BAAO,cAAP;AAvBR;AAyBH;;AAED,iBAASxwB,UAAT,CAAoB5nB,MAApB,EAA4B;AACxB7mB,eAAGpN,IAAH,CAAQI,KAAR,CAAcuyB,MAAd,CAAqBsB,MAArB,EAA6B,CAA7B;AACH;;AAED,iBAAS83C,YAAT,GAAwB;AACpB3+D,eAAGw+D,QAAH,GAAc,IAAd;AACH;;AAED,iBAASI,UAAT,GAAsB;AAClB5+D,eAAGy+D,YAAH,GAAkBz+D,GAAGpN,IAAH,CAAQI,KAAR,CAAcid,MAAd,CAAqB,UAAS/W,IAAT,EAAe;AAClD,oBAAIm6B,WAAWn6B,KAAKlJ,IAAL,CAAUsmB,WAAV,EAAf;;AAEA,uBAAO+c,SAAS6rC,WAAT,CAAqB,OAArB,KAAiC,CAAC,CAAlC,IACA7rC,SAAS6rC,WAAT,CAAqB,MAArB,KAAgC,CAAC,CADjC,IAEA7rC,SAAS6rC,WAAT,CAAqB,MAArB,KAAgC,CAAC,CAFjC,IAGA7rC,SAAS6rC,WAAT,CAAqB,MAArB,KAAgC,CAAC,CAHxC;AAIH,aAPiB,CAAlB;AAQAl/D,eAAGw+D,QAAH,GAAc,KAAd;AACH;AACJ;AACJ,CA/HD;;;ACAA,CAAC,YAAY;AACT;;AACAhwE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,UADf,EAC2B;AACnB7E,oBAAY4sE,YADO;AAEnB7sE,qBAAa,kEAFM;AAGnBoN,kBAAU;AACN9M,kBAAM;AADA;AAHS,KAD3B;;AASAusE,iBAAarwE,OAAb,GAAuB,CAAC,QAAD,EAAW,UAAX,EAAuB,YAAvB,EAAqC,YAArC,EAAmD,iBAAnD,CAAvB;;AAEA,aAASqwE,YAAT,CAAsBt/D,MAAtB,EAA8B3Q,QAA9B,EAAwCD,UAAxC,EAAoD6zB,UAApD,EAAgEC,eAAhE,EAAiF;;AAE7E,YAAI/iB,KAAK,IAAT;;AAEAA,WAAG00B,UAAH,GAAgBA,UAAhB;AACA10B,WAAG6E,GAAH,GAASA,GAAT;AACA7E,WAAGo/D,0BAAH,GAAgCA,0BAAhC;;AAEAp/D,WAAGmjB,OAAH,GAAa,EAAb;AACAnjB,WAAGijB,WAAH,GAAiB,EAAjB;AACAjjB,WAAGwkB,UAAH,GAAgB,EAAhB;AACAxkB,WAAGq/D,cAAH;;AAEA,aAAKp/D,OAAL,GAAe,YAAY;AACvB;AACAymB;AACA44C;AACH,SAJD;;AAMA,iBAAS5qC,UAAT,CAAoB7N,MAApB,EAA4B;;AAExB,gBAAI7mB,GAAGpN,IAAH,CAAQY,KAAR,CAAchC,MAAd,GAAuB,CAA3B,EAA8B;AAC1BwO,mBAAGpN,IAAH,CAAQY,KAAR,CAAc+xB,MAAd,CAAqBsB,MAArB,EAA6B,CAA7B;AACH;AACJ;;AAED,iBAASlX,QAAT,GAAoB;AAChBmT,uBAAWvjB,MAAX,GAAoBpC,IAApB,CAAyB,UAAUwnB,IAAV,EAAgB;AACrC3kB,mBAAGmjB,OAAH,GAAawB,IAAb;AACH,aAFD;AAGH;;AAED,iBAAS+B,WAAT,GAAuB;AACnB3D,4BAAgBxjB,MAAhB,GAAyBpC,IAAzB,CAA8B,UAAUunB,QAAV,EAAoB;AAC9C1kB,mBAAGijB,WAAH,GAAiByB,QAAjB;AACH,aAFD;AAGH;;AAED,iBAAS7f,GAAT,GAAe;AACX,gBAAI2gD,WAAW+Z,cAAf;AACA,gBAAI,CAAC/Z,QAAL,EAAe;AACXxlD,mBAAGpN,IAAH,CAAQY,KAAR,CAAcwO,IAAd,CAAmB,EAAEtO,WAAWjC,SAAb,EAAwBkC,KAAKlC,SAA7B,EAAwCgC,OAAOhC,SAA/C,EAAnB;AACH;AACJ;;AAED,iBAAS2tE,0BAAT,CAAoC1rE,SAApC,EAA+CR,SAA/C,EAA0D;AACtD,mBAAOQ,aAAasM,GAAGijB,WAAH,CAAehT,MAAf,CAAsB;AAAA,uBAAKm5C,EAAEx0D,EAAF,IAAQlB,SAAb;AAAA,aAAtB,EAA8C,CAA9C,CAAb,GACHsM,GAAGijB,WAAH,CAAehT,MAAf,CAAsB;AAAA,uBAAKm5C,EAAEx0D,EAAF,IAAQlB,SAAb;AAAA,aAAtB,EAA8C,CAA9C,EAAiD4pB,KAAjD,CAAuDrN,MAAvD,CAA8D;AAAA,uBAAKm5C,EAAEl2D,SAAF,IAAeA,SAAf,IAA4Bk2D,EAAEoW,SAAnC;AAAA,aAA9D,CADG,GAC2G,EADlH;AAEH;;AAED,iBAASD,YAAT,GAAwB;AACpB,gBAAI/Z,WAAW,KAAf;;AAEA,iBAAK,IAAI9mD,IAAI,CAAb,EAAgBA,IAAIsB,GAAGpN,IAAH,CAAQY,KAAR,CAAchC,MAAlC,EAA0CkN,GAA1C,EAA+C;AAC3C,oBAAI9L,OAAOoN,GAAGpN,IAAH,CAAQY,KAAR,CAAckL,CAAd,CAAX;AACA,oBAAI+mD,UAAU,CAAC7yD,KAAKc,SAAN,IAAoBd,KAAKe,GAAL,IAAYlC,SAAZ,IAAyBmB,KAAKe,GAAL,IAAY,IAArC,IAA6Cf,KAAKe,GAAL,GAAW,CAA5E,IAAkF,CAACf,KAAKa,KAAtG;AACA,oBAAIgyD,OAAJ,EAAa;AACTD,+BAAW,IAAX;AACH;AACJ;;AAEDxlD,eAAGq/D,cAAH,GAAoB7Z,QAApB;AACH;;AAED,iBAAS8Z,iBAAT,GAA6B;AACzB,gBAAIG,aAAa5/D,OAAOS,MAAP,CAAc,kBAAd,EAAkCi/D,YAAlC,EAAgD,IAAhD,CAAjB;;AAEA1/D,mBAAOS,MAAP,CAAc,sBAAd,EAAsC,UAAUW,MAAV,EAAkBC,MAAlB,EAA0B;;AAE5D,oBAAID,WAAWC,MAAf,EACI,KAAK,IAAIxC,IAAI,CAAb,EAAgBA,IAAIsB,GAAGpN,IAAH,CAAQY,KAAR,CAAchC,MAAlC,EAA0CkN,GAA1C,EAA+C;AAC3CsB,uBAAGpN,IAAH,CAAQY,KAAR,CAAckL,CAAd,EAAiB/K,GAAjB,GAAuBlC,SAAvB;AACH;AACR,aAND;;AAQAoO,mBAAOrQ,GAAP,CAAW,UAAX,EAAuB,YAAY;AAC/BiwE;AACH,aAFD;AAGH;AACJ;AACJ,CA7FD;;;ACAA,CAAC,YAAY;AACT;;AACAjxE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,iBADf,EACkC;AAC1B7E,oBAAYmtE,mBADc;AAE1BptE,qBAAa,yEAFa;AAG1BoN,kBAAU;AACN9M,kBAAM;AADA;AAHgB,KADlC;;AASA8sE,wBAAoB5wE,OAApB,GAA8B,CAAC,gBAAD,CAA9B;;AAEA,aAAS4wE,mBAAT,CAA6BtwE,cAA7B,EAA6C;;AAEzC,YAAI4Q,KAAK,IAAT;AACAA,WAAG2/D,mBAAH,GAAyB,EAAzB;AACA3/D,WAAG4/D,WAAH,GAAiB,EAAjB;;AAEA5/D,WAAG6/D,cAAH,GAAoBA,cAApB;AACA7/D,WAAG8/D,iBAAH,GAAuBA,iBAAvB;;AAEA,aAAK7/D,OAAL,GAAe,YAAY;AACvBD,eAAGpN,IAAH,CAAQ0yD,YAAR,GAAuBtlD,GAAGpN,IAAH,CAAQ0yD,YAAR,IAAwB,EAA/C;AACH,SAFD;;AAIA,iBAASua,cAAT,GAA0B;AACtB7/D,eAAGpN,IAAH,CAAQ0yD,YAAR,CAAqBtjD,IAArB,CAA0BhC,GAAG2/D,mBAA7B;AACA3/D,eAAG2/D,mBAAH,GAAyB,EAAzB;AACH;;AAED,iBAASG,iBAAT,CAA2BpnE,KAA3B,EAAkC;AAC9BsH,eAAGpN,IAAH,CAAQ0yD,YAAR,CAAqB//B,MAArB,CAA4B7sB,KAA5B,EAAmC,CAAnC;AACH;AACJ;AACJ,CAnCD;;;ACAA,CAAC,YAAY;AACT;;AACAlK,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,WADf,EAC4B;AACpB7E,oBAAYwtE,aADQ;AAEpBztE,qBAAa,mEAFO;AAGpBoN,kBAAU;AACN9M,kBAAM;AADA;AAHU,KAD5B;;AASAmtE,kBAAcjxE,OAAd,GAAwB,CAAC,cAAD,EAAiB,UAAjB,CAAxB;;AAEA,aAASixE,aAAT,CAAuBj9D,YAAvB,EAAqC5T,QAArC,EAA+C;AAC3C,YAAI8Q,KAAK,IAAT;;AAEAA,WAAGggE,eAAH,GAAqB,CAArB;AACAhgE,WAAGigE,UAAH,GAAgB,EAAhB;;AAEAjgE,WAAGC,OAAH,GAAa,YAAY;AACrBD,eAAGpN,IAAH,CAAQ2yD,YAAR,GAAuBvlD,GAAGpN,IAAH,CAAQ2yD,YAAR,IAAwB,EAA/C;AACAvlD,eAAGkgE,eAAH,GAAqB,IAAIx1C,OAAOC,IAAP,CAAYw1C,qBAAhB,EAArB;;AAEAngE,eAAGogE,wBAAH;AACApgE,eAAGqgE,cAAH;AACH,SAND;;AAQArgE,WAAGogE,wBAAH,GAA8B,YAAY;AACtCpgE,eAAGggE,eAAH,GAAqB,CAArB;;AAEA,gBAAI,CAAChgE,GAAGpN,IAAH,CAAQ2yD,YAAT,IAAyBvlD,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAArB,GAA8B,CAA3D,EACI;;AAEJ,gBAAI,CAACwO,GAAGpN,IAAH,CAAQgC,EAAb,EACIoL,GAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBC,KAAjB,GAAyB,CAAzB;;AAEJ,iBAAK,IAAIiL,IAAI,CAAb,EAAgBA,KAAKsB,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAArB,GAA8B,CAAnD,EAAsDkN,GAAtD,EAA2D;AACvDsB,mBAAGsgE,mCAAH,CAAuCtgE,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB7mD,CAArB,CAAvC,EAAgEsB,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB7mD,IAAI,CAAzB,CAAhE;AACH;AACJ,SAZD;;AAcAsB,WAAGsgE,mCAAH,GAAyC,UAAUx5D,CAAV,EAAamvD,CAAb,EAAgB;AACrDj2D,eAAGkgE,eAAH,CAAmBK,iBAAnB,CAAqC;AACjCC,yBAAS,CAAC15D,EAAE25D,WAAH,CADwB;AAEjCC,8BAAc,CAACzK,EAAEwK,WAAH,CAFmB;AAGjCE,4BAAY;AAHqB,aAArC,EAIG,UAAShwE,IAAT,EAAe;AACd,oBAAIA,QAAQA,KAAKiwE,IAAb,IAAqBjwE,KAAKiwE,IAAL,CAAUpvE,MAAnC,EAA2C;AACvC,wBAAIwM,SAASrN,KAAKiwE,IAAL,CAAU,CAAV,CAAb;;AAEA,wBAAI5iE,OAAO6iE,QAAP,IAAmB7iE,OAAO6iE,QAAP,CAAgBrvE,MAAnC,IAA6CwM,OAAO6iE,QAAP,CAAgB,CAAhB,EAAmBC,QAApE,EAA8E;AAC1E5xE,iCAAS,YAAW;AAChB8Q,+BAAGggE,eAAH,IAAsBhiE,OAAO6iE,QAAP,CAAgB,CAAhB,EAAmBC,QAAnB,CAA4BrtE,KAAlD;;AAEA,gCAAI,CAACuM,GAAGpN,IAAH,CAAQgC,EAAb,EACIoL,GAAGpN,IAAH,CAAQY,KAAR,CAAc,CAAd,EAAiBC,KAAjB,IAA4BuK,OAAO6iE,QAAP,CAAgB,CAAhB,EAAmBC,QAAnB,CAA4BrtE,KAA5B,GAAkC,IAA9D;AACP,yBALD;AAMH;AACJ;AACJ,aAjBD;AAkBH,SAnBD;;AAqBAuM,WAAG+gE,SAAH,GAAe,UAAUnuE,IAAV,EAAgB8F,KAAhB,EAAuB;AAClCoK,yBAAazQ,IAAb,CAAkB,2BAAlB,EAA+C;AAC3CO,sBAAMA,KAAK6tE,WADgC;AAE3ChuE,sBAAM;AAFqC,aAA/C,EAGGuL,MAHH,CAGUb,IAHV,CAGe,UAAUvK,IAAV,EAAgB;AAC3B,oBAAIouE,WAAW;AACXP,iCAAa7tE,KAAKquE,iBADP;AAEXj/B,2BAAOpvC,KAAKovC,KAFD,EAEQ;AACnBk/B,mCAAetuE,KAAKs4B,QAHT;AAIXm7B,8BAAUzzD,KAAKuuE,QAAL,CAAc/vE,QAAd,CAAuBgwE,GAJtB;AAKX9a,+BAAW1zD,KAAKuuE,QAAL,CAAc/vE,QAAd,CAAuBiwE,GALvB;AAMXtyD,+BAAW/O,GAAGpN,IAAH,CAAQgC;AANR,iBAAf;;AASAoL,mBAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB7sD,KAArB,IAA8BsoE,QAA9B;;AAEAhhE,mBAAGogE,wBAAH;AACApgE,mBAAGqgE,cAAH;AACH,aAjBD;AAkBH,SAnBD;;AAqBArgE,WAAGshE,WAAH,GAAiB,YAAY;AACzBx+D,yBAAazQ,IAAb,CAAkB,2BAAlB,EAA+C;AAC3CO,sBAAMnB,SADqC;AAE3CgB,sBAAM;AAFqC,aAA/C,EAGGuL,MAHH,CAGUb,IAHV,CAGe,UAAUvK,IAAV,EAAgB;AAC3B,oBAAIouE,WAAW;AACXP,iCAAa7tE,KAAKquE,iBADP;AAEXj/B,2BAAOhiC,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAArB,GAA8B,CAF1B;AAGX0vE,mCAAetuE,KAAKs4B,QAHT;AAIXm7B,8BAAUzzD,KAAKuuE,QAAL,CAAc/vE,QAAd,CAAuBgwE,GAAvB,EAJC;AAKX9a,+BAAW1zD,KAAKuuE,QAAL,CAAc/vE,QAAd,CAAuBiwE,GAAvB,EALA;AAMXtyD,+BAAW/O,GAAGpN,IAAH,CAAQgC;AANR,iBAAf;;AASAoL,mBAAGpN,IAAH,CAAQ2yD,YAAR,CAAqBvjD,IAArB,CAA0Bg/D,QAA1B;;AAEAhhE,mBAAGogE,wBAAH;AACApgE,mBAAGqgE,cAAH;AACH,aAjBD;AAkBH,SAnBD;;AAqBArgE,WAAGuhE,WAAH,GAAiB,UAAU7oE,KAAV,EAAiB;AAC9BsH,eAAGpN,IAAH,CAAQ2yD,YAAR,CAAqBhgC,MAArB,CAA4B7sB,KAA5B,EAAmC,CAAnC;;AAEAsH,eAAGogE,wBAAH;AACApgE,eAAGqgE,cAAH;AACH,SALD;;AAOArgE,WAAGwhE,YAAH,GAAkB,UAAU5uE,IAAV,EAAgB;AAC9B,mBAAO,sDAAsDA,KAAKsuE,aAAlE;AACH,SAFD;;AAIAlhE,WAAGyhE,QAAH,GAAc,UAAU56C,MAAV,EAAkB66C,QAAlB,EAA4B;AACtC,gBAAI9uE,OAAOoN,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB1+B,MAArB,CAAX;;AAEA,gBAAI66C,QAAJ,EAAc;AACV9uE,qBAAKovC,KAAL,GAAapvC,KAAKovC,KAAL,GAAa,CAA1B;AACAhiC,mBAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB1+B,SAAS,CAA9B,EAAiCmb,KAAjC,GAAyChiC,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB1+B,SAAS,CAA9B,EAAiCmb,KAAjC,GAAyC,CAAlF;AACH,aAHD,MAGO;AACHpvC,qBAAKovC,KAAL,GAAapvC,KAAKovC,KAAL,GAAa,CAA1B;AACAhiC,mBAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB1+B,SAAS,CAA9B,EAAiCmb,KAAjC,GAAyChiC,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB1+B,SAAS,CAA9B,EAAiCmb,KAAjC,GAAyC,CAAlF;AACH;;AAEDhiC,eAAGpN,IAAH,CAAQ2yD,YAAR,CAAqBoc,IAArB,CAA0B,UAAU76D,CAAV,EAAamvD,CAAb,EAAgB;AACtC,uBAAOnvD,EAAEk7B,KAAF,IAAWi0B,EAAEj0B,KAAb,GAAqB,CAAC,CAAtB,GAA0B,CAAjC;AACH,aAFD;;AAIAhiC,eAAGqgE,cAAH;AACArgE,eAAGogE,wBAAH;AACH,SAjBD;;AAmBApgE,WAAGqgE,cAAH,GAAoB,YAAY;AAC5B,gBAAI,CAACrgE,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAA1B,EACI;;AAEJwO,eAAGigE,UAAH,GAAgB;AACZ2B,sBAAM,EADM;AAEZC,wBAAQ7hE,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB,CAArB,EAAwBc,QAAxB,GAAmC,GAAnC,GAAyCrmD,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB,CAArB,EAAwBe,SAF7D;AAGZnwC,wBAAQnW,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB,CAArB,EAAwBc,QAAxB,GAAmC,GAAnC,GAAyCrmD,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB,CAArB,EAAwBe,SAH7D;AAIZwb,6BAAa9hE,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqBvlD,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAArB,GAA8B,CAAnD,EAAsD60D,QAAtD,GAAiE,GAAjE,GAAuErmD,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqBvlD,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAArB,GAA8B,CAAnD,EAAsD80D,SAJ9H;AAKZyb,2BAAW;AALC,aAAhB;;AAQA,iBAAK,IAAIrjE,IAAI,CAAb,EAAgBA,KAAKsB,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB/zD,MAArB,GAA8B,CAAnD,EAAsDkN,GAAtD,EAA2D;AACvD,oBAAIsjE,QAAQhiE,GAAGpN,IAAH,CAAQ2yD,YAAR,CAAqB7mD,CAArB,CAAZ;;AAEAsB,mBAAGigE,UAAH,CAAc8B,SAAd,CAAwB//D,IAAxB,CAA6B;AACzB5Q,8BAAU,EAAEgwE,KAAKY,MAAM3b,QAAb,EAAuBgb,KAAKW,MAAM1b,SAAlC,EADe;AAEzB2b,8BAAU;AAFe,iBAA7B;AAIH;AACJ,SApBD;AAqBH;AACJ,CA5JD;;;ACAA,CAAC,YAAY;AACT;;AACAzzE,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,aADf,EAC8B;AACtB7E,oBAAY2vE,eADU;AAEtB5vE,qBAAa,qEAFS;AAGtBoN,kBAAU;AACN9M,kBAAM;AADA;AAHY,KAD9B;;AASAsvE,oBAAgBpzE,OAAhB,GAA0B,CAAC,QAAD,EAAW,UAAX,EAAuB,aAAvB,CAA1B;;AAEA,aAASozE,eAAT,CAAyBriE,MAAzB,EAAiC3Q,QAAjC,EAA2C8xB,WAA3C,EAAwD;;AAEpD,YAAIhhB,KAAK,IAAT;;AAEAA,WAAGwjD,OAAH,GAAaA,OAAb;;AAEA,iBAASA,OAAT,CAAiBkR,OAAjB,EAA0B;AACtB,oBAAQA,QAAQ3hE,MAAhB;AACI,qBAAKiuB,YAAYtsB,aAAZ,CAA0Bo3D,OAA/B;AACI,2BAAO,sBAAP;AACJ,qBAAK9qC,YAAYtsB,aAAZ,CAA0Bq3D,QAA/B;AACI,2BAAO,uBAAP;AACJ,qBAAK/qC,YAAYtsB,aAAZ,CAA0BivD,SAA/B;AACI,2BAAO,wBAAP;AACJ;AAAS;AACL,2BAAO,sBAAP;AARR;AAUH;AAEJ;AACJ,CAjCD;;;ACAA,CAAC,YAAY;AACT;;AACAn1D,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,cADf,EAC+B;AACvB7E,oBAAY4vE,sBADW;AAEvB7vE,qBAAa,8EAFU;AAGvBoN,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHa,KAD/B;;AAUA4/D,2BAAuBrzE,OAAvB,GAAiC,CAAC,YAAD,EAAe,kBAAf,EAAmC,cAAnC,EAAmD,gBAAnD,CAAjC;;AAEA,aAASqzE,sBAAT,CAAgClzE,UAAhC,EAA4C8M,gBAA5C,EAA8D2yD,YAA9D,EAA4Ej2C,cAA5E,EAA4F;AACxF,YAAIzY,KAAK,IAAT;AACAA,WAAGsQ,aAAH,GAAmB,EAAnB;;AAEAtQ,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrBwY,2BAAelZ,MAAf,GAAwBpC,IAAxB,CAA6B,UAAS6b,QAAT,EAAmB;;AAE5ChZ,mBAAGoiE,aAAH,GAAmB;AACfv1D,iCAAa5d,WAAWI,SAAX,CAAqB69D,aADnB;AAEfP,mCAAe,UAFA;AAGfC,oCAAgB,IAHD;AAIfC,oCAAgB,IAJD;AAKfC,8BAAU,KALK;AAMfC,gCAAY/zC;AANG,iBAAnB;;AASA01C,6BAAahjC,kBAAb,CAAgC1rB,GAAGgD,WAAH,CAAe4oB,OAA/C,EAAwDzuB,IAAxD,CAA6D,UAAS6b,QAAT,EAAmB;AAC5EhZ,uBAAGsQ,aAAH,GAAmB0I,QAAnB;AACH,iBAFD;AAGH,aAdD;AAeH,SAhBD;;AAkBA,iBAASK,IAAT,GAAgB;AACZ,gBAAI1oB,OAAO;AACPiE,oBAAIoL,GAAGgD,WAAH,CAAe4oB,OADZ;AAEP5S,0BAAUhZ,GAAGsQ;AAFN,aAAX;AAIAo+C,yBAAa/iC,kBAAb,CAAgCh7B,IAAhC,EAAsCwM,IAAtC,CAA2C,YAAW;AAClDpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,mBAAGuC,KAAH,CAASgB,KAAT;AACH,aAHD;AAIH;AACJ;AACJ,CAjDD;;;ACAA,CAAC,YAAY;AACT;;AACA/U,YAAQC,MAAR,CAAe,QAAf,EACK2I,SADL,CACe,aADf,EAC8B;AACtB7E,oBAAY8vE,qBADU;AAEtB/vE,qBAAa,gFAFS;AAGtBoN,kBAAU;AACNsD,yBAAa,cADP;AAENT,mBAAO;AAFD;AAHY,KAD9B;;AAUA8/D,0BAAsBvzE,OAAtB,GAAgC,CAAC,YAAD,EAAe,kBAAf,EAAmC,cAAnC,EAAmD,kBAAnD,CAAhC;;AAEA,aAASuzE,qBAAT,CAA+BpzE,UAA/B,EAA2C8M,gBAA3C,EAA6D2yD,YAA7D,EAA2Er/B,gBAA3E,EAA6F;AACzF,YAAIrvB,KAAK,IAAT;AACAA,WAAGigD,MAAH,GAAY,EAAZ;;AAEAjgD,WAAGqZ,IAAH,GAAUA,IAAV;;AAEArZ,WAAGC,OAAH,GAAa,YAAY;AACrByuD,yBAAanvD,MAAb,GAAsBpC,IAAtB,CAA2B,UAAS8iD,MAAT,EAAiB;AACxCjgD,mBAAGoiE,aAAH,GAAmB;AACfv1D,iCAAa5d,WAAWI,SAAX,CAAqBinC,MADnB;AAEfq2B,mCAAe,MAFA;AAGfC,oCAAgB,IAHD;AAIfC,oCAAgB,IAJD;AAKfC,8BAAU,KALK;AAMfC,gCAAY9M;AANG,iBAAnB;;AASA5wB,iCAAiBK,kBAAjB,CAAoC1vB,GAAGgD,WAAH,CAAegc,SAAnD,EAA8D7hB,IAA9D,CAAmE,UAAS8iD,MAAT,EAAiB;AAChFjgD,uBAAGigD,MAAH,GAAYA,MAAZ;AACH,iBAFD;AAGH,aAbD;AAcH,SAfD;;AAiBA,iBAAS5mC,IAAT,GAAgB;AACZ,gBAAI1oB,OAAO;AACPiE,oBAAIoL,GAAGgD,WAAH,CAAegc,SADZ;AAEPihC,wBAAQjgD,GAAGigD;AAFJ,aAAX;AAIA5wB,6BAAiBM,sBAAjB,CAAwCh/B,IAAxC,EAA8CwM,IAA9C,CAAmD,YAAW;AAC1DpB,iCAAiBsB,OAAjB,CAAyBpO,WAAWI,SAAX,CAAqBoqB,iBAA9C;AACAzZ,mBAAGuC,KAAH,CAASgB,KAAT;AACH,aAHD;AAIH;AACJ;AACJ,CAhDD;;;ACAA,CAAC,UAAU5R,CAAV,EAAa;AACV;AACAA,MAAE0wC,EAAF,CAAKigC,oBAAL,GAA4B,YAAY;;AAEpC,YAAIC,gBAAgB;AAChBxV,wBAAY,CAACx+D,IAAIe,YAAJ,CAAiBkzE,GAAlB,EAAsBj0E,IAAIe,YAAJ,CAAiBmzE,GAAvC,EAA2Cl0E,IAAIe,YAAJ,CAAiBozE,GAA5D,EAAgEn0E,IAAIe,YAAJ,CAAiBqzE,EAAjF,EAAoFp0E,IAAIe,YAAJ,CAAiBszE,GAArG,CADI;AAEhB9I,2BAAe,qIACX,mFAHY;AAIhB5iE,sBAAU,6GACE,kEADF,GAEE,sFAFF,GAGE,gCAPI;AAQhBsQ,oBAAQ;AARQ,SAApB;;AAWA,YAAIsL,OAAO,IAAX;;AAEAA,aAAK8mD,kBAAL,CAAwB2I,aAAxB;AACH,KAhBD;AAiBH,CAnBD,EAmBG3/B,MAnBH","file":"app.min.js","sourcesContent":["(function (app) {\r\n 'use strict';\r\n angular.module('xpense', [\r\n 'ui.bootstrap',\r\n 'ui.bootstrap.popover',\r\n 'templates',\r\n 'kendo.directives',\r\n 'datatables',\r\n 'ngMap',\r\n 'ngTagsInput',\r\n 'color.picker',\r\n 'ui.router',\r\n ])\r\n .config(appConfig)\r\n .run(appRun);\r\n\r\n appConfig.$inject = ['$qProvider'];\r\n\r\n function appConfig($qProvider) {\r\n $qProvider.errorOnUnhandledRejections(false);\r\n }\r\n\r\n appRun.$inject = ['$rootScope', '$timeout', '$uibModal', 'ExpenseService'];\r\n\r\n function appRun($rootScope, $timeout, $uibModal, ExpenseService) {\r\n $rootScope.translate = app.localization;\r\n $rootScope.currentUser = app.currentUser;\r\n\r\n $rootScope.$on('$stateChangeStart', onChangeStart);\r\n $rootScope.$on('$stateChangeSuccess', onChangeSuccess);\r\n \r\n function onChangeStart(event, toState, toParams, fromState, fromParams) {\r\n\r\n if (toState.name === 'login') {\r\n return;\r\n }\r\n\r\n toState.resolve.promise = toStatePrimise;\r\n toStatePrimise.$inject = ['$q', '$timeout', 'accountProvider'];\r\n\r\n function toStatePrimise($q, $timeout, accountProvider) {\r\n var defer = $q.defer();\r\n\r\n $timeout(function () {\r\n var user = $rootScope.currentUser;\r\n\r\n if (!user) {\r\n $state.go('login');\r\n defer.reject();\r\n return;\r\n }\r\n \r\n if(toState.data && toState.data.roles) {\r\n var hasAccess = true;\r\n var roles = toState.data.roles;\r\n \r\n if (roles.adminRequired && !user.isAdmin)\r\n hasAccess = false;\r\n\r\n if (roles.validatorRequired && !user.isValidator)\r\n hasAccess = false;\r\n\r\n if(!hasAccess) {\r\n $state.go('restricted.expenseView');\r\n defer.reject();\r\n return;\r\n }\r\n }\r\n\r\n defer.resolve();\r\n\r\n }, 100);\r\n\r\n return defer.promise;\r\n }\r\n }\r\n \r\n function onChangeSuccess(event, toState, toParams, fromState, fromParams) { }\r\n\r\n $timeout(function () {\r\n\r\n var array = window.location.pathname.split(\"/\");\r\n\r\n if (array[1] == \"expense\") {\r\n var parameter = array[array.length - 1];\r\n\r\n if (parameter != undefined && parameter != null && parameter != \"\") {\r\n expenseOpenModel(null, parameter, null, null);\r\n }\r\n }\r\n });\r\n\r\n $(document).ready(function () {\r\n $(document).on('expense.openModal', expenseOpenModel);\r\n });\r\n\r\n function expenseOpenModel(event, _id, _type, _status, hasMultipleItems) {\r\n $timeout(function () {\r\n\r\n var now = new Date();\r\n $uibModal.open({\r\n templateUrl: '/app/components/expense/expenseModal/expenseModal.template.html',\r\n controller: 'expenseModalController',\r\n controllerAs: '$ctrl',\r\n size: 'lg',\r\n windowClass: 'expense-modal',\r\n resolve: {\r\n isEdit: function () {\r\n return !!_id;\r\n },\r\n item: _id ? ExpenseService.getById(_id) : {\r\n type: _type,\r\n status: _status,\r\n files: [],\r\n comments: [],\r\n countryId: parseInt($rootScope.currentUser.defaultCountryId),\r\n currencyId: parseInt($rootScope.currentUser.defaulCurrencyId),\r\n customFields: [],\r\n items: [{\r\n value: undefined,\r\n serviceId: undefined,\r\n tax: undefined,\r\n }],\r\n date: {\r\n day: now.getDate(),\r\n month: now.getMonth() + 1,\r\n year: now.getFullYear()\r\n }\r\n },\r\n hasMultipleItems: hasMultipleItems,\r\n }\r\n });\r\n });\r\n }\r\n }\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .value('definitions',\r\n {\r\n ExpensePolicyAction: {\r\n 1: 'Reject',\r\n 2: 'Notify',\r\n \"Reject\": 1,\r\n \"Notify\": 2\r\n },\r\n ExpensePolicyCondition: {\r\n 1: 'BiggerThan',\r\n 2: 'LessThan',\r\n 3: 'BiggerInCurrentMonth',\r\n \"BiggerThan\": 1,\r\n \"LessThan\": 2,\r\n \"BiggerInCurrentMonth\": 3\r\n },\r\n ExpensePolicyLogicOperator: {\r\n 1: 'And',\r\n 2: 'Or',\r\n \"And\": 1,\r\n \"Or\": 2,\r\n },\r\n ExpenseType: {\r\n 1: 'Expense',\r\n 2: 'Trip',\r\n Expense: 1,\r\n Trip: 2\r\n },\r\n Type: {\r\n 1: 'List',\r\n 2: 'Textbox',\r\n 'List': 1,\r\n 'Textbox': 2\r\n },\r\n ExpenseStatus: {\r\n 1: 'Started',\r\n 2: 'Rejected',\r\n 4: 'PendingReview',\r\n 8: 'Validated',\r\n 9: 'ValidatedByManager',\r\n 'Started': 1,\r\n 'Rejected': 2,\r\n 'PendingReview': 4,\r\n 'Validated': 8,\r\n 'ValidatedByManager': 9\r\n },\r\n PackageStatusSelect: [\r\n {\r\n id: 1,\r\n name: 'Open'\r\n },\r\n {\r\n id: 2,\r\n name: 'Closed'\r\n }\r\n ],\r\n PackageStatus: {\r\n 1: 'Open',\r\n 2: 'Closed',\r\n Open: 1,\r\n Closed: 2\r\n },\r\n PackageTypeSelect: [\r\n {\r\n id: 1,\r\n name: 'Normal'\r\n },\r\n {\r\n id: 2,\r\n name: 'Compensations' // keys\r\n }\r\n ],\r\n PackageType: {\r\n 1: 'Normal',\r\n 2: 'Compensations',\r\n Normal: 1,\r\n Compensation: 2\r\n },\r\n PackageCompensationConfiguration: {\r\n 1: 'Yes',\r\n 2: 'No',\r\n 3: 'Choice',\r\n Yes: 1,\r\n No: 2,\r\n Choice: 3,\r\n },\r\n PackageCompensationConfigurationSelect: [\r\n {\r\n id: 1,\r\n name: 'Yes'\r\n },\r\n {\r\n id: 2,\r\n name: 'No'\r\n },\r\n {\r\n id: 3,\r\n name: 'Choice'\r\n }\r\n ],\r\n ExpenseFormFieldName: {\r\n Description: 'Description',\r\n PackageId: 'PackageId',\r\n ClientId: 'ClientId',\r\n ProjectId: 'ProjectId',\r\n ServiceId: 'ServiceId',\r\n PaymentMethodId: 'PaymentMethodId',\r\n BaseCurrencyId: 'BaseCurrencyId',\r\n CountryId: 'CountryId',\r\n CurrencyId: 'CurrencyId',\r\n Items: 'Items',\r\n Notes: 'Notes',\r\n },\r\n DefaultExpenseFormFields: [\r\n {\r\n id: null,\r\n name: 'Description',\r\n isVisible: true,\r\n isRequired: false,\r\n },\r\n {\r\n id: null,\r\n name: 'PackageId',\r\n isVisible: true,\r\n isRequired: false,\r\n },\r\n {\r\n id: null,\r\n name: 'ServiceId',\r\n isVisible: true,\r\n isRequired: true,\r\n },\r\n {\r\n id: null,\r\n name: 'PaymentMethodId',\r\n isVisible: true,\r\n isRequired: true,\r\n },\r\n {\r\n id: null,\r\n name: 'BaseCurrencyId',\r\n isVisible: true,\r\n isRequired: false,\r\n },\r\n {\r\n id: null,\r\n name: 'CountryId',\r\n isVisible: true,\r\n isRequired: false,\r\n },\r\n {\r\n id: null,\r\n name: 'CurrencyId',\r\n isVisible: true,\r\n isRequired: true,\r\n },\r\n {\r\n id: null,\r\n name: 'Items',\r\n isVisible: true,\r\n isRequired: false,\r\n },\r\n {\r\n id: null,\r\n name: 'Notes',\r\n isVisible: true,\r\n isRequired: false,\r\n },\r\n ],\r\n });\r\n})();","(function () {\r\n 'use strict';\r\n angular\r\n .module('xpense')\r\n .config(states);\r\n\r\n states.$inject = ['$stateProvider', '$urlRouterProvider', '$locationProvider'];\r\n\r\n function states($stateProvider, $urlRouterProvider, $locationProvider) {\r\n\r\n $locationProvider.html5Mode(true);\r\n\r\n $urlRouterProvider\r\n .when('/dashboard', '/')\r\n .otherwise('/');\r\n\r\n $stateProvider\r\n // -- Restricted --\r\n .state('restricted', {\r\n abstract: true,\r\n views: {\r\n '': {\r\n template: `
`\r\n }\r\n },\r\n resolve: {}\r\n })\r\n .state('restricted.expenseAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/',\r\n component: 'expenseAdministration'\r\n })\r\n .state('restricted.openExpenseModalInAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/expense/:id',\r\n component: 'expenseAdministration'\r\n })\r\n // validator\r\n .state('restricted.pendingValidation', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/validator/pending-validation',\r\n component: 'pendingValidationContainer'\r\n })\r\n\r\n .state('restricted.expenseValidationByManager', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/validator/validation-by-manager',\r\n component: 'expenseValidationByManagerContainer'\r\n })\r\n .state('restricted.validatedExpenseList', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/validator/validated-expenses',\r\n component: 'validatedExpenseList'\r\n })\r\n .state('restricted.createManyExpenses', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n component: 'createManyExpenses'\r\n })\r\n .state('restricted.settlement', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/settlement',\r\n component: 'settlementContainer'\r\n })\r\n // administraition\r\n .state('restricted.accountAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/account',\r\n component: 'accountAdministration'\r\n })\r\n .state('restricted.groupAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/group',\r\n component: 'groupAdministration'\r\n })\r\n .state('restricted.clientAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/client',\r\n component: 'clientAdministration'\r\n })\r\n .state('restricted.projectAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/project',\r\n component: 'projectAdministration'\r\n })\r\n .state('restricted.serviceAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/service',\r\n component: 'serviceAdministration'\r\n })\r\n .state('restricted.paymentMethodAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/paymentMethod',\r\n component: 'paymentMethodAdministration'\r\n })\r\n .state('restricted.currencyAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/currency',\r\n component: 'currencyAdministration'\r\n })\r\n .state('restricted.validatorList', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/validator',\r\n component: 'validatorList'\r\n })\r\n .state('restricted.validatorDelegateAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/validator-delegate',\r\n component: 'validatorDelegateAdministration'\r\n })\r\n .state('restricted.functionAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/function',\r\n component: 'functionAdministration'\r\n })\r\n .state('restricted.vehicleAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/vehicle',\r\n component: 'vehicleAdministration'\r\n })\r\n .state('restricted.compensationTypeAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/compensationType',\r\n component: 'compensationTypeAdministration'\r\n })\r\n .state('restricted.compensationOptionAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/compensationOption',\r\n component: 'compensationOptionAdministration'\r\n })\r\n .state('restricted.compensationAdministration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/compensations',\r\n component: 'compensationAdministration'\r\n })\r\n .state('restricted.compensationLogs', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/ruleLog',\r\n component: 'compensationLogs'\r\n })\r\n .state('restricted.expensePolicies', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/policies',\r\n component: 'expensePolicies'\r\n })\r\n .state('restricted.customFields', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/custom-fields',\r\n component: 'customFields'\r\n })\r\n // company config\r\n .state('restricted.configurations', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/configurations',\r\n component: 'generalConfigurations'\r\n })\r\n .state('restricted.plugin', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/plugin',\r\n component: 'plugins'\r\n })\r\n // reports\r\n .state('restricted.clientReport', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/report/client',\r\n component: 'clientReport'\r\n })\r\n .state('restricted.accountReport', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/report/account',\r\n component: 'accountReport'\r\n })\r\n .state('restricted.settlementReport', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: true\r\n }\r\n },\r\n url: '/report/settlement/:settlementId',\r\n component: 'settlementReport'\r\n })\r\n .state('restricted.expenseHistoryReport', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/report/historical-expense',\r\n component: 'expenseHistoryReport'\r\n })\r\n .state('restricted.expenseDetailsReport', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/report/expense-details/:id',\r\n component: 'expenseDetailsReport'\r\n })\r\n .state('restricted.exportPdf', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/report/export-pdf',\r\n component: 'exportPdf'\r\n })\r\n // exportation\r\n .state('restricted.winbizConfiguration', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/winbiz/configuration',\r\n component: 'winbizConfiguration'\r\n })\r\n .state('restricted.docECMConfiguration', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/doc-ecm',\r\n component: 'docecmConfiguration'\r\n })\r\n .state('restricted.docEcmExpensePendingSynchronization', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/expense-pending-synchronization-docecm',\r\n component: 'docecmExpensePendingSynchronization'\r\n })\r\n // bexio\r\n .state('restricted.bexioConfiguration', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/bexio-configuration',\r\n component: 'bexioConfiguration'\r\n })\r\n .state('restricted.bexioExpensePendingSynchronization', {\r\n data: {\r\n roles: {\r\n adminRequired: false,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/expense-pending-synchronization-bexio',\r\n component: 'bexioExpensePendingSynchronization'\r\n })\r\n .state('restricted.exportedExpenses', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/exported-expenses',\r\n component: 'exportedExpenses'\r\n })\r\n // winbiz cloud\r\n .state('restricted.winbizCloudConfiguration', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/winbiz-cloud/configuration',\r\n component: 'winbizCloudConfiguration'\r\n })\r\n .state('restricted.winbizCloudExpenseSynchronization', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/winbiz-cloud/expense-sync',\r\n component: 'winbizCloudExpensePendingSynchronization'\r\n })\r\n .state('restricted.activeDirectoryConfiguration', {\r\n data: {\r\n roles: {\r\n adminRequired: true,\r\n validatorRequired: false\r\n }\r\n },\r\n url: '/active-directory/configuration',\r\n component: 'activeDirectoryConfiguration'\r\n })\r\n }\r\n})();\r\n","(function () {\r\n 'use strict'\r\n Pod.define(\"confirm-modal-component\", confirmModalComponent);\r\n\r\n function confirmModalComponent() {\r\n\r\n var templateModal = \"\";\r\n\r\n function build() {\r\n\r\n var template = new t(templateModal);\r\n\r\n return template.render();\r\n }\r\n\r\n return {\r\n build: build,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict'\r\n Pod.define(\"expense-comment-component\", function () {\r\n\r\n var commentTemplate = \"
  • \"\r\n + \"Profile Picture
    \"\r\n + \"
    \"\r\n + \"
    {{=currentUser}}\"\r\n + \"

    {{=comment}}

    {{=date}}

  • \"\r\n \r\n var addComment = function (comment, expenseCommentList, handlerDeleteComment) {\r\n \r\n comment.commentSide = comment.isAccountComment ? \"media-left\" : \"media-right\";\r\n\r\n comment.commentBodySide = comment.isAccountComment ? \"media-body pad-hor\" : \"media-body pad-hor speech-right\";\r\n\r\n comment.guid = app.guid();\r\n\r\n var template = new t(commentTemplate);\r\n\r\n expenseCommentList.append(template.render(comment));\r\n\r\n if (!comment.isAccountComment) {\r\n expenseCommentList.find(\"li:last button\").remove();\r\n }\r\n\r\n expenseCommentList.find(\"li:last button\").on(\"click\", handlerDeleteComment);\r\n };\r\n\r\n var addComments = function (expenseCommentList, comments, handlerDeleteComment) {\r\n\r\n $.each(comments, function (index, comment) {\r\n comment.date = new Date(comment.date).formatedDate();\r\n comment.currentUser = comment.account.surname + \" \" + comment.account.name;\r\n comment.imagePath = comment.account.imagePath;\r\n comment.isAccountComment = comment.isAccountComment;\r\n addComment(comment, expenseCommentList, handlerDeleteComment);\r\n });\r\n }\r\n\r\n return {\r\n addComment: addComment,\r\n addComments: addComments,\r\n }\r\n });\r\n})(); \r\n\r\n\r\n","(function () {\r\n 'use strict'\r\n Pod.define(\"file-expense-component\", function () {\r\n\r\n var fileRowTemplate = \"

    \"\r\n + \"{{=formatedName}}\"\r\n + \"{{=uploader}}{{=date}}\"\r\n + \"\";\r\n \r\n var addRow = function (filesTable, file, deleteHandler) {\r\n\r\n file.deleteMessage = app.localization.Delete;\r\n file.extension = getExtension(file.name.getExtension());\r\n file.guid = app.guid();\r\n\r\n var template = new t(fileRowTemplate);\r\n\r\n filesTable.append(template.render(file));\r\n\r\n attachActionsToRow(filesTable, deleteHandler, file.guid);\r\n\r\n nifty.loadToolTip();\r\n };\r\n\r\n\r\n var addRows = function (filesTable, files, deleteHandler) {\r\n\r\n $.each(files, function (index, file) {\r\n file.date = new Date(file.date).formatedDate();\r\n file.formatedName = file.name.formatedFileName();\r\n addRow(filesTable, file, deleteHandler);\r\n });\r\n }\r\n\r\n var getExtension = function (extension) {\r\n\r\n switch (extension) {\r\n case \"xls\":\r\n return \"log-icon-xls\";\r\n\r\n case \"xlsx\":\r\n return \"log-icon-xlsx\";\r\n\r\n case \"doc\":\r\n return \"log-icon-doc\";\r\n\r\n case \"docx\":\r\n return \"log-icon-docx\";\r\n\r\n case \"pdf\":\r\n return \"log-icon-pdf\";\r\n\r\n case \"png\":\r\n return \"log-icon-png\";\r\n\r\n case \"jpg\":\r\n return \"log-icon-jpg\";\r\n\r\n default:\r\n case \"txt\":\r\n return \"log-icon-txt\";\r\n }\r\n }\r\n\r\n var attachActionsToRow = function (table, action, guid) {\r\n table.find(\"tr[data-guid='\" + guid + \"'] button[data-action='delete']\").on(\"click\", action);\r\n }\r\n\r\n return {\r\n addRow: addRow,\r\n addRows: addRows,\r\n attachActionsToRow : attachActionsToRow,\r\n }\r\n });\r\n})();","'use strict';\r\n(function () {\r\n\r\n // global configurations\r\n app.configurations = {\r\n useMock: true,\r\n };\r\n\r\n app.expense = {\r\n openExpenseModal: function (id, type, status, hasMultipleItems) {\r\n $(document).trigger('expense.openModal', [id, type, status, hasMultipleItems]);\r\n }\r\n }\r\n\r\n app.ChangeMainNavToogle = function () {\r\n var principalContainer = $(\"#container\");\r\n\r\n if (!$.cookie)\r\n return;\r\n\r\n if (principalContainer.hasClass(\"mainnav-lg\")) {\r\n // change to mainnav-sm\r\n $.cookie(\"MyExpensesPrincipalNavFormat\", \"mainnav-sm\", {\r\n expires: 200\r\n });\r\n } else {\r\n // change to mainnav-lg\r\n $.cookie(\"MyExpensesPrincipalNavFormat\", \"mainnav-lg\", {\r\n expires: 200\r\n });\r\n }\r\n };\r\n\r\n // check menu cookie\r\n var checkMenuCookie = function () {\r\n if ($.cookie) {\r\n // get cookie or set default\r\n var myExpensesPrincipalNavFormat = $.cookie(\"MyExpensesPrincipalNavFormat\");\r\n if (myExpensesPrincipalNavFormat == null) {\r\n myExpensesPrincipalNavFormat = \"mainnav-sm\"; // default\r\n }\r\n\r\n var principalContainer = $(\"#container\");\r\n\r\n // clean container\r\n if (principalContainer.hasClass(\"mainnav-lg\")) {\r\n principalContainer.removeClass(\"mainnav-lg\");\r\n }\r\n if (principalContainer.hasClass(\"mainnav-sm\")) {\r\n principalContainer.removeClass(\"mainnav-sm\");\r\n }\r\n\r\n // set value\r\n principalContainer.addClass(myExpensesPrincipalNavFormat);\r\n }\r\n };\r\n\r\n // check culture cookie\r\n var checkCultureCookie = function () {\r\n if ($.cookie) {\r\n var cultureCookie = $.cookie(\"XpenseUserCulture\");\r\n\r\n if (!cultureCookie || cultureCookie == null || cultureCookie == \"\") {\r\n\r\n try {\r\n var userLang = navigator.language || navigator.userLanguage;\r\n\r\n var language = userLang.split(\"-\")[0];\r\n\r\n if (language != \"en\") {\r\n\r\n var cultureService = Pod.require(\"cultureService\");\r\n\r\n // if culture is not defined then check if the system can detect the current culture\r\n cultureService.change(language)\r\n .done(function (data) {\r\n location.reload();\r\n });\r\n }\r\n } catch (err) {}\r\n\r\n }\r\n }\r\n };\r\n\r\n // set document DOM events\r\n $(document).ready(function () {\r\n checkMenuCookie(); // check menu cookie\r\n checkCultureCookie(); // check culture\r\n\r\n //// notification HTTP long poolling\r\n //var myVar = setInterval(function () { getNotifications() }, 10000);\r\n //function getNotifications() {\r\n\r\n // // span to set the number\r\n // var controlNotificationCount = $(\"#notification-count\");\r\n // var alert = $(\"#notification-alert\");\r\n\r\n // // notification\r\n // app.notificationService()\r\n // .get()\r\n // .done(function (data) {\r\n // controlNotificationCount.html(data.notReadedNotification);\r\n // alert.html(data.youHaveManyNotification);\r\n // });\r\n //};\r\n\r\n //// fuction to show all notification when user press click on notification\r\n //$(\"#notification-trigger\").click(function () {\r\n // // notification\r\n // app.notificationService()\r\n // .getNotification()\r\n // .done(function (data) {\r\n\r\n // // remove all li\r\n // $('#notification-list li').remove();\r\n\r\n // $.each(data.result, function (index, value) {\r\n\r\n // // notification\r\n // var notification = data.result[index];\r\n // template = \"\";\r\n\r\n // if (notification.type == \"total-rejected\") {\r\n\r\n // // tempalte\r\n // var template = \"

  • \"\r\n // + \"
    \"\r\n // + \"\"\r\n // + \"\"\r\n // + \"\"\r\n // + \"
    \"\r\n // + \"
    \"\r\n // + \"
    \" + notification.description + \"
    \"\r\n // + \"
  • \";\r\n // }\r\n\r\n // // set ul\r\n // $(\"#notification-list\").append(template);\r\n // });\r\n // });\r\n //});\r\n\r\n //// init\r\n //getNotifications();\r\n });\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('$CoreService', CoreService);\r\n\r\n CoreService.$inject = ['$http', '$window', '$httpParamSerializer', 'messagesServices', '$q', '$rootScope'];\r\n\r\n function CoreService($http, $window, $httpParamSerializer, messagesServices, $q, $rootScope) {\r\n\r\n var core = this;\r\n\r\n core.get = get;\r\n core.post = post;\r\n core.delete = _delete;\r\n core.put = put;\r\n core.postFile = postFile;\r\n core.postCancellable = postCancellable;\r\n core.getFileBytes = getFileBytes;\r\n\r\n var baseUrl = '/';\r\n\r\n //// possibles status\r\n var STATUS = {\r\n SUCCESS: 'success',\r\n ERROR: 'error',\r\n FATAL: 'fatal-error',\r\n ACCESS_ERROR: 'access-error',\r\n };\r\n\r\n /////////////\r\n function get(urlEntity, data, config) {\r\n\r\n var url = baseUrl + urlEntity + '?' + $httpParamSerializer(data);\r\n var req = {\r\n method: 'GET',\r\n url: url,\r\n cache: false,\r\n };\r\n var defer = $q.defer();\r\n\r\n $http(req).then(function (response) {\r\n success(response, defer, config);\r\n }, function (response) {\r\n fail(response, defer, config);\r\n });\r\n\r\n return defer.promise;\r\n };\r\n\r\n function post(urlEntity, data, config) {\r\n\r\n var defer = $q.defer();\r\n\r\n var url = baseUrl + urlEntity;\r\n\r\n $http.post(url, data).then(function (response) {\r\n success(response, defer, config);\r\n }, function (response) {\r\n fail(response, defer, config);\r\n });\r\n\r\n return defer.promise;\r\n };\r\n\r\n function _delete(urlEntity, data, config) {\r\n\r\n var url = baseUrl + urlEntity + '?' + $httpParamSerializer(data);\r\n var req = {\r\n method: 'DELETE',\r\n url: url,\r\n cache: false,\r\n };\r\n var defer = $q.defer();\r\n\r\n $http(req).then(function (response) {\r\n success(response, defer, config);\r\n }, function (response) {\r\n fail(response, defer, config);\r\n });\r\n\r\n return defer.promise;\r\n };\r\n\r\n function put(urlEntity, data, config) {\r\n\r\n var defer = $q.defer();\r\n\r\n var url = baseUrl + urlEntity;\r\n\r\n $http.put(url, data).then(function (response) {\r\n success(response, defer, config);\r\n }, function (response) {\r\n fail(response, defer, config);\r\n });\r\n\r\n return defer.promise;\r\n };\r\n\r\n function postCancellable(urlEntity, data, config) {\r\n\r\n var defer = $q.defer();\r\n\r\n var url = baseUrl + urlEntity;\r\n\r\n $http.post(url, data).then(function (response) {\r\n success(response, defer);\r\n }, function (response) {\r\n fail(response, defer);\r\n });\r\n\r\n return defer;\r\n };\r\n\r\n function postFile(urlEntity, file, json) {\r\n\r\n var defer = $q.defer();\r\n\r\n var url = baseUrl + urlEntity;\r\n\r\n var fd = new FormData();\r\n fd.append('file', file);\r\n\r\n if (json)\r\n fd.append('json', JSON.stringify(json));\r\n\r\n $http.post(url, fd, {\r\n headers: {\r\n 'Content-Type': undefined\r\n }\r\n }).then(function (response) {\r\n success(response, defer);\r\n }, function (response) {\r\n fail(response, defer);\r\n });\r\n\r\n return defer.promise;\r\n };\r\n\r\n function getFileBytes(urlEntity, data) {\r\n var defer = $q.defer();\r\n\r\n var url = baseUrl + urlEntity;\r\n $rootScope.showProgressBar = true;\r\n $http.post(url, data)\r\n .then(function (response) {\r\n byteArraySuccess(response, defer);\r\n }, function (response) {\r\n fail(response, defer);\r\n });\r\n\r\n return defer.promise;\r\n }\r\n\r\n function byteArraySuccess(response, defer) {\r\n\r\n var res = response.data;\r\n $rootScope.showProgressBar = false;\r\n if (res.result === STATUS.SUCCESS) {\r\n defer.resolve(_toArrayBuffer(res.data));\r\n } else {\r\n messagesServices.danger(res.errorMessage);\r\n defer.reject(res.errorMessage);\r\n }\r\n }\r\n\r\n function _toArrayBuffer(base64) {\r\n var binary_string = window.atob(base64);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n return bytes.buffer;\r\n }\r\n\r\n\r\n // rest success response based on custom\r\n // http response framework\r\n function success(response, defer, config) {\r\n\r\n var res = response.data;\r\n\r\n if (res.result === STATUS.SUCCESS) {\r\n defer.resolve(res.data);\r\n } else if (res.result === STATUS.ACCESS_ERROR) {\r\n window.href(\"/error?type=500\");\r\n } else {\r\n if (!config || !config.hideToaster) {\r\n if (res.result == 'fatal-error')\r\n messagesServices.danger($rootScope.translate.UnkowError);\r\n else\r\n messagesServices.danger(res.errorMessage);\r\n }\r\n\r\n defer.reject(res.errorMessage);\r\n }\r\n };\r\n\r\n // rest fail response not handled by custom fwk\r\n // this handle http fails like 404, 500, 400\r\n function fail(res, defer, config) {\r\n if (res.status === 401) { } else if (res.status === 404) {\r\n\r\n }\r\n\r\n messagesServices.danger(\"Désolé, erreur inattendue!\");\r\n defer.reject();\r\n };\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('$DateHandler', DateHandler);\r\n\r\n DateHandler.$inject = [];\r\n\r\n function DateHandler() {\r\n\r\n this.fromDto = fromDto;\r\n this.toDto = toDto;\r\n\r\n function fromDto(dto) {\r\n if (dto) {\r\n let day = `0${dto.day}`.slice(-2);\r\n let month = `0${dto.month}`.slice(-2);\r\n let year = `${dto.year}`;\r\n\r\n return new Date(`${year}-${month}-${day}T12:00:00.000Z`);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function toDto(date) {\r\n if(date)\r\n return {\r\n day: date.getDate(),\r\n month: date.getMonth() + 1,\r\n year: date.getFullYear()\r\n };\r\n\r\n return null;\r\n }\r\n\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('FilterService', FilterService);\r\n\r\n FilterService.$inject = ['$CoreService'];\r\n\r\n function FilterService($CoreService) {\r\n\r\n var service = this;\r\n var baseUrl = 'query';\r\n\r\n this.getAll = getAll;\r\n this.getById = getById;\r\n this.create = create;\r\n this.delete = _delete;\r\n\r\n function getAll() {\r\n return $CoreService.get(baseUrl + \"/get-all\");\r\n }\r\n\r\n function getById(id) {\r\n return $CoreService.get(baseUrl + \"/get/\" + id);\r\n }\r\n\r\n function create(data) {\r\n return $CoreService.post(baseUrl + \"/create\", data);\r\n }\r\n\r\n function _delete(data) {\r\n return $CoreService.post(baseUrl + \"/delete\", data);\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('inputDate', {\r\n controller: inputDateController,\r\n template: '',\r\n bindings: {\r\n model: \"=ngModel\",\r\n id: \"@\",\r\n disabled: \"');\r\n\r\n $(document).on('click', '#clear-' + vm.id, function (event) {\r\n $timeout(function () {\r\n vm.model = null;\r\n });\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n function subscribeToEvents() {\r\n var watchModel = $scope.$watch('$ctrl.model', function (newValue, oldValue) {\r\n if (!!newValue && !angular.equals(newValue, oldValue)) {\r\n vm.componentModel = $DateHandler.fromDto(newValue);\r\n } else if (!newValue) {\r\n vm.componentModel = null;\r\n }\r\n });\r\n\r\n var watchInternal = $scope.$watch('$ctrl.componentModel', function (newValue, oldValue) {\r\n if (!!newValue && !angular.equals(newValue, oldValue)) {\r\n vm.model = $DateHandler.toDto(newValue);\r\n } else if (!newValue) {\r\n vm.ngModel = null;\r\n }\r\n });\r\n\r\n $scope.$on(\"$destroy\", function () {\r\n watchInternal();\r\n watchModel();\r\n });\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular\r\n .module('xpense')\r\n .component('timePicker', {\r\n controller: inputDateController,\r\n template: `\r\n
    \r\n \r\n
    \r\n `,\r\n bindings: {\r\n model: \"=ngModel\",\r\n id: \"@\",\r\n disabled: \" {\r\n modalConfig = modalConfig || {};\r\n\r\n return $uibModal.open({\r\n template: `<${componentName} modal-config=\"$ctrl.data\" modal-instance=\"$ctrl.modalInstance\">`,\r\n controller: ['$uibModalInstance', function ($uibModalInstance) {\r\n this.data = modalConfig;\r\n this.modalInstance = $uibModalInstance;\r\n }],\r\n controllerAs: '$ctrl',\r\n size: modalConfig.size || 'lg',\r\n keyboard: ('keyboard' in modalConfig) ? modalConfig.keyboard : true,\r\n windowClass: componentName,\r\n backdrop: modalConfig.backdrop || 'static',\r\n });\r\n }\r\n\r\n this.confirmModal = (message, modalConfig) => {\r\n modalConfig = modalConfig || {};\r\n return $uibModal.open({\r\n template: `\r\n
    \r\n
    \r\n \r\n

    {{$root.translate.Confirmation}}

    \r\n
    \r\n
    \r\n {{$ctrl.message}}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n `,\r\n controller: ['$uibModalInstance', function ($uibModalInstance) {\r\n var vm = this;\r\n vm.cancel = cancel;\r\n vm.confirm = confirm;\r\n vm.message = message;\r\n\r\n function confirm() {\r\n $uibModalInstance.close(true);\r\n }\r\n\r\n function cancel() {\r\n $uibModalInstance.dismiss();\r\n }\r\n }],\r\n controllerAs: '$ctrl',\r\n size: modalConfig.size || 'md',\r\n backdrop: modalConfig.backdrop || 'static',\r\n });\r\n }\r\n\r\n // this.showPdf = (config) => {\r\n // config = config || {};\r\n // return $uibModal.open({\r\n // template: `\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // `,\r\n // controller: ['$uibModalInstance', function ($uibModalInstance) {\r\n // var vm = this;\r\n // vm.data = config.data;\r\n // vm.cancel = cancel;\r\n\r\n // function cancel() {\r\n // $uibModalInstance.dismiss();\r\n // }\r\n // }],\r\n // controllerAs: '$ctrl',\r\n // windowTopClass: \"pdf-viewer-modal\",\r\n // size: config.size || 'lg',\r\n // backdrop: config.backdrop || 'static',\r\n // });\r\n\r\n // }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('QueryService', QueryService);\r\n\r\n QueryService.$inject = ['$CoreService'];\r\n\r\n function QueryService($CoreService) {\r\n\r\n var queryBaseUrl = 'query';\r\n\r\n this.getAll = getAll;\r\n this.get = get;\r\n this.create = create;\r\n this.update = update;\r\n this.delete = _delete;\r\n\r\n function getAll() {\r\n return $CoreService.get(queryBaseUrl + \"/get-all\");\r\n };\r\n\r\n function get(id) {\r\n return $CoreService.post(queryBaseUrl + '/get/' + encodeURIComponent(id));\r\n };\r\n\r\n function create(data) {\r\n return $CoreService.post(queryBaseUrl + \"/create\", data);\r\n };\r\n\r\n function update(query) {\r\n return $CoreService.post(queryBaseUrl + '/update/' + encodeURIComponent(query.id), query);\r\n };\r\n\r\n function _delete(data) {\r\n return $CoreService.post(queryBaseUrl + \"/delete\", data);\r\n };\r\n\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('xpense')\r\n .directive('pdfViewer', pdfViewer);\r\n\r\n pdfViewer.$inject = [];\r\n\r\n function pdfViewer() {\r\n var pdfViewer = {\r\n link: link,\r\n restrict: 'EA',\r\n templateUrl: '/app/directives/v_pdfViewer.html',\r\n scope: {\r\n doc: \"=\",\r\n viewerClass: \"=\",\r\n pdfName: '@pdfName',\r\n scale: '=?',\r\n fileUrl: '=',\r\n },\r\n controller: controller,\r\n controllerAs: 'pdfViewer',\r\n bindToController: true\r\n };\r\n\r\n return pdfViewer;\r\n\r\n ////////////////////////////////////////////\r\n function link(scope, element, attrs, ctrl) {\r\n element.find('.pdf-viewer__content')[0].classList.add(attrs.viewerClass);\r\n\r\n ctrl.canvas = element.find('.pdf-viewer__canvas')[0];\r\n ctrl.ctx = ctrl.canvas.getContext('2d');\r\n }\r\n }\r\n\r\n controller.$inject = ['$scope'];\r\n\r\n function controller($scope) {\r\n var vm = this;\r\n\r\n vm.pdfDoc = null;\r\n vm.pageNum = 0;\r\n vm.pageCount = 0;\r\n vm.pageRendering = false;\r\n vm.pageNumPending = null;\r\n vm.docUrl;\r\n\r\n vm.scale = angular.isDefined(vm.scale)\r\n ? vm.scale\r\n : 2;\r\n\r\n //Funcs\r\n vm.onPrevPage = onPrevPage;\r\n vm.onNextPage = onNextPage;\r\n vm.renderPdf = renderPdf;\r\n vm.downloadPdf = downloadPdf;\r\n vm.printPdf = printPdf;\r\n vm.zoomOut = zoomOut;\r\n vm.zoomIn = zoomIn;\r\n activate();\r\n\r\n function activate() {\r\n\r\n var file = new Blob([vm.doc], {\r\n type: 'application/pdf'\r\n });\r\n\r\n vm.docUrl = URL.createObjectURL(file);\r\n\r\n subscribeToEvents();\r\n }\r\n\r\n function renderPdf() {\r\n //support for bytearray or physical path of the document\r\n var source = vm.fileUrl ?\r\n vm.fileUrl :\r\n (vm.doc instanceof ArrayBuffer ?\r\n { data: vm.doc } :\r\n vm.doc.$$unwrapTrustedValue()\r\n );\r\n\r\n PDFJS.getDocument(source).then(function (pdfDoc_) {\r\n $scope.$apply(function () {\r\n vm.pdfDoc = pdfDoc_;\r\n vm.pageCount = vm.pdfDoc.numPages;\r\n\r\n // Initial/first page rendering\r\n renderPage(vm.pageNum = 1);\r\n });\r\n })\r\n }\r\n\r\n function printPdf() {\r\n\r\n if (vm.fileUrl) {\r\n var wnd = window.open(vm.fileUrl);\r\n wnd.print();\r\n } else {\r\n var file = new Blob([vm.doc], {\r\n type: 'application/pdf'\r\n });\r\n\r\n var url = URL.createObjectURL(file);\r\n\r\n var wnd = window.open(url);\r\n wnd.print();\r\n }\r\n }\r\n\r\n\r\n function downloadPdf() {\r\n\r\n if (vm.fileUrl) {\r\n\r\n var a = document.createElement('a');\r\n a.href = vm.fileUrl;\r\n a.target = '_blank';\r\n a.download = vm.pdfName || 'document';\r\n document.body.appendChild(a);\r\n a.click();\r\n\r\n } else {\r\n var file = new Blob([vm.doc], {\r\n type: 'application/pdf'\r\n });\r\n\r\n var url = URL.createObjectURL(file);\r\n\r\n var a = document.createElement('a');\r\n a.href = url;\r\n a.target = '_blank';\r\n a.download = vm.pdfName || 'document';\r\n document.body.appendChild(a);\r\n a.click();\r\n }\r\n }\r\n\r\n function subscribeToEvents() {\r\n var docWatcher = $scope.$watch('pdfViewer.doc', function (newValue, oldValue) {\r\n if (newValue)\r\n renderPdf();\r\n else if (vm.ctx)\r\n vm.ctx.clearRect(0, 0, vm.canvas.width, vm.canvas.height)\r\n });\r\n\r\n var urlWatcher = $scope.$watch('pdfViewer.fileUrl', function (newValue, oldValue) {\r\n if (newValue)\r\n renderPdf();\r\n else if (vm.ctx)\r\n vm.ctx.clearRect(0, 0, vm.canvas.width, vm.canvas.height)\r\n });\r\n }\r\n\r\n function zoomOut() {\r\n vm.scale = vm.scale - 0.5;\r\n\r\n if (vm.scale < 0.5)\r\n vm.scale = 0.5;\r\n\r\n queueRenderPage(vm.pageNum);\r\n }\r\n\r\n function zoomIn() {\r\n vm.scale = vm.scale + 0.5;\r\n queueRenderPage(vm.pageNum);\r\n }\r\n\r\n /**\r\n * Get page info from document, resize vm.canvas accordingly, and render page.\r\n * @param num Page number.\r\n */\r\n function renderPage(num) {\r\n vm.pageRendering = true;\r\n // Using promise to fetch the page\r\n vm.pdfDoc.getPage(num).then(function (page) {\r\n var viewport = page.getViewport(vm.scale);\r\n\r\n var aspectRelation = viewport.height / viewport.width;\r\n\r\n vm.canvas.height = viewport.height;\r\n vm.canvas.width = viewport.width;\r\n\r\n // Render PDF page into vm.canvas context\r\n var renderContext = {\r\n canvasContext: vm.ctx,\r\n viewport: viewport\r\n };\r\n var renderTask = page.render(renderContext);\r\n\r\n // Wait for rendering to finish\r\n renderTask.promise.then(function () {\r\n vm.pageRendering = false;\r\n if (vm.pageNumPending !== null) {\r\n // New page rendering is pending\r\n renderPage(vm.pageNumPending);\r\n vm.pageNumPending = null;\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * If another page rendering in progress, waits until the rendering is\r\n * finised. Otherwise, executes rendering immediately.\r\n */\r\n function queueRenderPage(num) {\r\n if (vm.pageRendering) {\r\n vm.pageNumPending = num;\r\n } else {\r\n renderPage(num);\r\n }\r\n }\r\n\r\n /**\r\n * Displays previous page.\r\n */\r\n function onPrevPage() {\r\n if (vm.pageNum <= 1) {\r\n return;\r\n }\r\n vm.pageNum--;\r\n queueRenderPage(vm.pageNum);\r\n }\r\n\r\n\r\n /**\r\n * Displays next page.\r\n */\r\n function onNextPage() {\r\n if (vm.pageNum >= vm.pdfDoc.numPages) {\r\n return;\r\n }\r\n vm.pageNum++;\r\n queueRenderPage(vm.pageNum);\r\n }\r\n }\r\n})();","(function () {\r\n'use strict';\r\nangular\r\n .module('xpense')\r\n .directive('fileModel', fileModel);\r\n\r\n fileModel.$inject = ['$parse'];\r\n\r\n function fileModel($parse) {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, element, attrs) {\r\n var model = $parse(attrs.fileModel);\r\n var modelSetter = model.assign;\r\n\r\n element.bind('change', function (event) {\r\n scope.$apply(function () {\r\n modelSetter(scope, event.target.files[0]);\r\n });\r\n });\r\n }\r\n };\r\n };\r\n\r\n\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense').directive('flexSlider', [\r\n '$parse', '$timeout',\r\n function ($parse, $timeout) {\r\n return {\r\n restrict: 'AE',\r\n scope: false,\r\n replace: true,\r\n transclude: true,\r\n template: '
    ',\r\n compile: function (element, attr, linker) {\r\n return function ($scope, $element) {\r\n var addSlide, collectionString, flexsliderDiv, getTrackFromItem, indexString, match, removeSlide, slidesItems, trackBy;\r\n match = (attr.slide || attr.flexSlide || attr.flexslide).match(/^\\s*(.+)\\s+in\\s+(.*?)(?:\\s+track\\s+by\\s+(.+?))?\\s*$/);\r\n indexString = match[1];\r\n collectionString = match[2];\r\n trackBy = angular.isDefined(match[3]) ? $parse(match[3]) : $parse(\"\" + indexString);\r\n flexsliderDiv = null;\r\n slidesItems = {};\r\n getTrackFromItem = function (collectionItem, index) {\r\n var locals;\r\n locals = {};\r\n locals[indexString] = collectionItem;\r\n locals['$index'] = index;\r\n return trackBy($scope, locals);\r\n };\r\n addSlide = function (collectionItem, index, callback) {\r\n var childScope, track;\r\n track = getTrackFromItem(collectionItem, index);\r\n if (slidesItems[track] != null) {\r\n throw \"Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys.\";\r\n }\r\n childScope = $scope.$new();\r\n childScope[indexString] = collectionItem;\r\n childScope['$index'] = index;\r\n return linker(childScope, function (clone) {\r\n var slideItem;\r\n slideItem = {\r\n collectionItem: collectionItem,\r\n childScope: childScope,\r\n element: clone\r\n };\r\n slidesItems[track] = slideItem;\r\n return typeof callback === \"function\" ? callback(slideItem) : void 0;\r\n });\r\n };\r\n removeSlide = function (collectionItem, index) {\r\n var slideItem, track;\r\n track = getTrackFromItem(collectionItem, index);\r\n slideItem = slidesItems[track];\r\n if (slideItem == null) {\r\n return;\r\n }\r\n delete slidesItems[track];\r\n slideItem.childScope.$destroy();\r\n return slideItem;\r\n };\r\n return $scope.$watchCollection(collectionString, function (collection, oldCollection) {\r\n var attrKey, attrVal, c, currentSlidesLength, e, i, idx, n, options, slider, slides, t, toAdd, toRemove, trackCollection, _i, _j, _k, _l, _len, _len1, _len2, _len3;\r\n if (!((collection != null ? collection.length : void 0) || (oldCollection != null ? oldCollection.length : void 0))) {\r\n return;\r\n }\r\n if (flexsliderDiv != null) {\r\n slider = flexsliderDiv.data('flexslider');\r\n currentSlidesLength = Object.keys(slidesItems).length;\r\n if (collection == null) {\r\n collection = [];\r\n }\r\n trackCollection = {};\r\n for (i = _i = 0, _len = collection.length; _i < _len; i = ++_i) {\r\n c = collection[i];\r\n trackCollection[getTrackFromItem(c, i)] = c;\r\n }\r\n toAdd = (function () {\r\n var _j, _len1, _results;\r\n _results = [];\r\n for (i = _j = 0, _len1 = collection.length; _j < _len1; i = ++_j) {\r\n c = collection[i];\r\n if (slidesItems[getTrackFromItem(c, i)] == null) {\r\n _results.push({\r\n value: c,\r\n index: i\r\n });\r\n }\r\n }\r\n return _results;\r\n })();\r\n toRemove = (function () {\r\n var _results;\r\n _results = [];\r\n for (t in slidesItems) {\r\n i = slidesItems[t];\r\n if (trackCollection[t] == null) {\r\n _results.push(i.collectionItem);\r\n }\r\n }\r\n return _results;\r\n })();\r\n if ((toAdd.length === 1 && toRemove.length === 0) || toAdd.length === 0) {\r\n for (_j = 0, _len1 = toRemove.length; _j < _len1; _j++) {\r\n e = toRemove[_j];\r\n e = removeSlide(e, collection.indexOf(e));\r\n if (e) {\r\n slider.removeSlide(e.element);\r\n }\r\n }\r\n for (_k = 0, _len2 = toAdd.length; _k < _len2; _k++) {\r\n e = toAdd[_k];\r\n idx = e.index;\r\n addSlide(e.value, idx, function (item) {\r\n if (idx === currentSlidesLength) {\r\n idx = void 0;\r\n }\r\n return $scope.$evalAsync(function () {\r\n return slider.addSlide(item.element, idx);\r\n });\r\n });\r\n }\r\n return;\r\n }\r\n }\r\n slidesItems = {};\r\n if (flexsliderDiv != null) {\r\n flexsliderDiv.remove();\r\n }\r\n slides = angular.element('
      ');\r\n flexsliderDiv = angular.element('
      ');\r\n flexsliderDiv.append(slides);\r\n $element.append(flexsliderDiv);\r\n for (i = _l = 0, _len3 = collection.length; _l < _len3; i = ++_l) {\r\n c = collection[i];\r\n addSlide(c, i, function (item) {\r\n return slides.append(item.element);\r\n });\r\n }\r\n options = {};\r\n for (attrKey in attr) {\r\n attrVal = attr[attrKey];\r\n if (attrKey.indexOf('$') === 0) {\r\n continue;\r\n }\r\n if (!isNaN(n = parseInt(attrVal))) {\r\n options[attrKey] = n;\r\n continue;\r\n }\r\n if (attrVal === 'false' || attrVal === 'true') {\r\n options[attrKey] = attrVal === 'true';\r\n continue;\r\n }\r\n if (attrKey === 'start' || attrKey === 'before' || attrKey === 'after' || attrKey === 'end' || attrKey === 'added' || attrKey === 'removed') {\r\n options[attrKey] = (function (attrVal) {\r\n var f;\r\n f = $parse(attrVal);\r\n return function (slider) {\r\n return $scope.$apply(function () {\r\n return f($scope, {\r\n '$slider': {\r\n element: slider\r\n }\r\n });\r\n });\r\n };\r\n })(attrVal);\r\n continue;\r\n }\r\n if (attrKey === 'startAt') {\r\n options[attrKey] = $parse(attrVal)($scope);\r\n continue;\r\n }\r\n options[attrKey] = attrVal;\r\n }\r\n if (!options.sliderId && attr.id) {\r\n options.sliderId = \"\" + attr.id + \"-slider\";\r\n }\r\n if (options.sliderId) {\r\n flexsliderDiv.attr('id', options.sliderId);\r\n }\r\n return $timeout((function () {\r\n return flexsliderDiv.flexslider(options);\r\n }), 0);\r\n });\r\n };\r\n }\r\n };\r\n }\r\n ]);\r\n\r\n}).call(this);","(function () {\r\n 'use strict';\r\n angular\r\n .module('xpense')\r\n .directive('inputMask', inputMask);\r\n\r\n inputMask.$inject = [];\r\n\r\n function inputMask() {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n model: '=ngModel',\r\n allowMinus: '='\r\n },\r\n link: function (scope, element, attrs) {\r\n\r\n element.inputmask({\r\n alias: 'decimal',\r\n allowMinus: scope.allowMinus || false,\r\n groupSeparator: '.',\r\n autoGroup: false,\r\n digits: 2,\r\n digitsOptional: false,\r\n placeholder: '0.00',\r\n integerDigits: '',\r\n rightAlign: false\r\n });\r\n\r\n if (scope.model !== undefined && scope.model !== '')\r\n element.val(scope.model);\r\n\r\n element.bind('input', function () {\r\n scope.model = $(this).val();\r\n });\r\n }\r\n };\r\n };\r\n\r\n\r\n})();","'use strict';\r\n// show all resources from server\r\napp.localization = function () {\r\n return {\r\n\r\n };\r\n};","(function () {\r\n 'use strict';\r\n // comment provider\r\n Pod.define('comment-provider', function () {\r\n\r\n var commentCollectionKey = \"comment-collection\";\r\n\r\n // add comment to collection in localstorage\r\n var push = function (comment) {\r\n Lockr.sadd(commentCollectionKey, comment);\r\n }\r\n\r\n var remove = function (id) {\r\n Lockr.sremwithpredicate(commentCollectionKey, function (att) { return att.guid == id });\r\n }\r\n\r\n var cleanAll = function () {\r\n Lockr.rm(commentCollectionKey);\r\n }\r\n\r\n // get collection of files\r\n function getAll() {\r\n var obj = Lockr.smembers(commentCollectionKey);\r\n\r\n $.each(obj, function (index, item) {\r\n item.date = null;\r\n });\r\n\r\n return obj;\r\n }\r\n\r\n var set = function (comments) {\r\n Lockr.set(commentCollectionKey, comments);\r\n }\r\n\r\n return {\r\n push: push,\r\n getAll: getAll,\r\n remove: remove,\r\n cleanAll: cleanAll,\r\n set: set,\r\n };\r\n });\r\n})();","(function () {\r\n 'use strict';\r\n // file provider\r\n Pod.define('file-provider', function () {\r\n\r\n var fileCollectionKey = \"file-collection\";\r\n\r\n // add file to collection in localstorage\r\n var push = function (file) {\r\n Lockr.sadd(fileCollectionKey, file);\r\n }\r\n\r\n var remove = function (id) {\r\n Lockr.sremwithpredicate(fileCollectionKey, function (att) { return att.guid == id });\r\n }\r\n\r\n var cleanAll = function () {\r\n Lockr.rm(fileCollectionKey);\r\n }\r\n\r\n // get collection of files\r\n function getAll() {\r\n var obj = Lockr.smembers(fileCollectionKey);\r\n\r\n $.each(obj, function (index, item) {\r\n item.date = null;\r\n });\r\n\r\n return obj;\r\n };\r\n\r\n var set = function (files) {\r\n Lockr.set(fileCollectionKey, files);\r\n }\r\n\r\n return {\r\n push: push,\r\n getAll: getAll,\r\n remove: remove,\r\n cleanAll: cleanAll,\r\n set: set,\r\n };\r\n });\r\n})();","(function () {\r\n 'use strict';\r\n // pending validation expenses provider\r\n Pod.define('pending-validation-expenses-provider', pendingValidationExpensesProvider);\r\n\r\n function pendingValidationExpensesProvider() {\r\n\r\n // const\r\n var pendingValidationExpensesCollectionKey = \"file-collection\";\r\n\r\n function push(file) {\r\n Lockr.sadd(pendingValidationExpensesCollectionKey, file);\r\n }\r\n\r\n function remove(id) {\r\n Lockr.sremwithpredicate(pendingValidationExpensesCollectionKey, function (att) { return att.guid == id });\r\n }\r\n\r\n function cleanAll() {\r\n Lockr.rm(pendingValidationExpensesCollectionKey);\r\n }\r\n\r\n function getAll() {\r\n return Lockr.smembers(pendingValidationExpensesCollectionKey);\r\n }\r\n\r\n return {\r\n push: push,\r\n getAll: getAll,\r\n remove: remove,\r\n cleanAll: cleanAll,\r\n };\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n // account services\r\n Pod.define(\"accountServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/account';\r\n\r\n // get account by id\r\n var get = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get/' + encodeURIComponent(id),\r\n })\r\n };\r\n\r\n // get all accounts\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all',\r\n })\r\n };\r\n\r\n // get all accounts\r\n var getCanValidate = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-can-validate',\r\n })\r\n };\r\n\r\n // create account\r\n var create = function (newAccount) {\r\n return rest.post({\r\n url: baseUrl + '/create',\r\n data: newAccount\r\n })\r\n };\r\n\r\n // delete account\r\n var _delete = function (data) {\r\n return rest.post({\r\n url: baseUrl + '/delete',\r\n data: data\r\n })\r\n };\r\n\r\n // update account\r\n var update = function (account) {\r\n return rest.post({\r\n url: baseUrl + '/update/' + encodeURIComponent(account.id),\r\n data: account\r\n })\r\n };\r\n\r\n // login\r\n var login = function (username, password) {\r\n return rest.post({\r\n url: '/default/login',\r\n data:\r\n {\r\n username: username,\r\n password: password\r\n }\r\n })\r\n };\r\n\r\n var loginWithAzureActiveDirectory = function (data) {\r\n return rest.post({\r\n url: '/default/login/' + data.companyId +'/companies',\r\n data: data, \r\n })\r\n };\r\n\r\n var changeLoggedUser = function (token) {\r\n return rest.post({\r\n url: '/default/change-user/' + encodeURIComponent(token),\r\n data: token\r\n });\r\n };\r\n\r\n // change password\r\n var changePassword = function (changePassword) {\r\n return rest.post({\r\n url: '/change-password',\r\n data: changePassword\r\n })\r\n };\r\n\r\n // save settings\r\n var saveGeneralSettings = function (settings) {\r\n return rest.post({\r\n url: '/settings',\r\n data: settings\r\n })\r\n };\r\n\r\n // recover password\r\n var recoverPassword = function (mail) {\r\n return rest.get({\r\n url: '/default/recover-password-mail?mail=' + encodeURIComponent(mail),\r\n })\r\n };\r\n\r\n // change settings\r\n var changeSettings = function (settings) {\r\n return rest.post({\r\n url: baseUrl + '/set-settings',\r\n data: settings\r\n })\r\n };\r\n\r\n var getSettings = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-settings',\r\n })\r\n };\r\n\r\n return {\r\n recoverPassword: recoverPassword,\r\n saveGeneralSettings: saveGeneralSettings,\r\n changePassword: changePassword,\r\n changeSettings: changeSettings,\r\n get: get,\r\n getAll: getAll,\r\n create: create,\r\n delete: _delete,\r\n update: update,\r\n login: login,\r\n loginWithAzureActiveDirectory: loginWithAzureActiveDirectory,\r\n changeLoggedUser: changeLoggedUser,\r\n getCanValidate: getCanValidate,\r\n getSettings: getSettings,\r\n };\r\n });\r\n})(app);","(function () {\r\n 'use strict';\r\n // account services\r\n Pod.define(\"activeDirectoryServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/active-directory';\r\n\r\n var getSettingsByCompanyId = function (companyId) {\r\n return rest.get({\r\n url: baseUrl + '/' + encodeURIComponent(companyId) + '/settings',\r\n })\r\n };\r\n\r\n return {\r\n getSettingsByCompanyId: getSettingsByCompanyId,\r\n };\r\n });\r\n})(app);","'use strict';\r\n(function () {\r\n // client services\r\n Pod.define(\"clientServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/client';\r\n\r\n // get all clients\r\n var getAll = function (expenseId, viewDisabled) {\r\n return rest.get({\r\n url: baseUrl + '/get-all', \r\n data: {expenseId: expenseId, viewDisabled: viewDisabled}\r\n });\r\n };\r\n\r\n // get client by id\r\n var get = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n // create client\r\n var create = function (newClient) {\r\n return rest.post({\r\n url: baseUrl + '/create',\r\n data: newClient\r\n });\r\n };\r\n\r\n // delete client\r\n var _delete = function (id) {\r\n return rest.post({\r\n url: baseUrl + '/delete',\r\n data: id,\r\n });\r\n };\r\n\r\n // update client\r\n var update = function (client) {\r\n return rest.post({\r\n url: baseUrl + '/update/' + encodeURIComponent(client.id),\r\n data: client\r\n });\r\n };\r\n\r\n var toggleEnabled = function(id) {\r\n return rest.get({\r\n url: baseUrl + '/' + encodeURIComponent(id) + '/enable',\r\n });\r\n }\r\n\r\n return {\r\n get: get,\r\n getAll: getAll,\r\n create: create,\r\n delete: _delete,\r\n update: update,\r\n toggleEnabled: toggleEnabled\r\n };\r\n });\r\n})(app);","(function () {\r\n 'use strict';\r\n Pod.define(\"companyServices\", [\"shell-rest\"], companyServices);\r\n\r\n function companyServices(rest) {\r\n\r\n // firstContact\r\n var firstContact = function (contact) {\r\n return rest.post({\r\n url: '/default/client-first-contact',\r\n data: contact\r\n });\r\n };\r\n\r\n // verify mail code\r\n var verifyMailCode = function (code) {\r\n return rest.get({\r\n url: '/default/check-verify-mail?code=' + encodeURIComponent(code),\r\n });\r\n };\r\n\r\n // register\r\n var register = function (inputForRegister) {\r\n return rest.post({\r\n url: '/default/complete-register',\r\n data: inputForRegister\r\n });\r\n };\r\n\r\n // get taxes\r\n var getTaxes = function () {\r\n return rest.get({\r\n url: '/tax/get-all',\r\n });\r\n };\r\n\r\n return {\r\n getTaxes: getTaxes,\r\n firstContact: firstContact,\r\n register: register,\r\n verifyMailCode: verifyMailCode,\r\n };\r\n };\r\n})();","'use strict';\r\n(function () {\r\n // country services\r\n Pod.define(\"countryServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/country';\r\n\r\n // get all countries\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all'\r\n });\r\n };\r\n\r\n // get country by id\r\n var get = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n return {\r\n get: get,\r\n getAll: getAll\r\n };\r\n });\r\n})(app);","(function () {\r\n 'use strict';\r\n Pod.define(\"cultureService\", [\"shell-rest\"], cultureService);\r\n\r\n // culture services\r\n function cultureService(rest) {\r\n\r\n var baseUrl = '/culture';\r\n\r\n // get all countries\r\n var change = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/change/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n return {\r\n change: change\r\n };\r\n };\r\n})(app);","'use strict';\r\n(function () {\r\n // currency services\r\n Pod.define(\"currencyServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/currency';\r\n\r\n // get all countries\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all'\r\n });\r\n };\r\n\r\n return {\r\n getAll: getAll\r\n };\r\n });\r\n})(app);","\"use strict\";\r\n(function() {\r\n // expense services\r\n Pod.define(\"expenseServices\",\r\n [\"shell-rest\"],\r\n function(rest) {\r\n\r\n //base url\r\n var baseUrl = \"/expenses\";\r\n\r\n // get expense\r\n var get = function(id) {\r\n return rest.get({\r\n url: baseUrl + \"/get/\" + encodeURIComponent(id)\r\n });\r\n };\r\n\r\n var getImages = function(expenseId) {\r\n return rest.get({\r\n url: baseUrl + \"/get-images/\" + encodeURIComponent(expenseId)\r\n });\r\n };\r\n\r\n // create expense\r\n var create = function(expense) {\r\n return rest.post({\r\n url: baseUrl + \"/create\",\r\n data: expense\r\n });\r\n };\r\n\r\n // delete expense\r\n var _delete = function(id) {\r\n return rest.post({\r\n url: baseUrl + \"/delete\",\r\n data: {\r\n id: id\r\n }\r\n });\r\n };\r\n\r\n // update expense\r\n var update = function(expense) {\r\n return rest.post({\r\n url: baseUrl + \"/update/\" + encodeURIComponent(expense.id),\r\n data: expense\r\n });\r\n };\r\n\r\n // create expense\r\n var addComment = function(comment) {\r\n return rest.post({\r\n url: baseUrl + \"/add-comment/\" + encodeURIComponent(comment.expenseId),\r\n data: comment\r\n });\r\n };\r\n\r\n var search = function(buildFilter) {\r\n return rest.get({\r\n url: baseUrl + \"/getlist\",\r\n data: buildFilter\r\n });\r\n };\r\n\r\n\r\n // submit expense for validate\r\n var submitForValidate = function(action) {\r\n return rest.put({\r\n url: baseUrl + \"/submitForValidate/\" + encodeURIComponent(action.id),\r\n data: action\r\n });\r\n };\r\n\r\n var getTotalAmountFiltered = function(filter) {\r\n return rest.post({\r\n url: baseUrl + \"/get-total-by-currency\",\r\n data: filter\r\n });\r\n };\r\n\r\n var quickSearch = function(filter) {\r\n return rest.get({\r\n url: baseUrl + \"/search/\" + encodeURIComponent(filter)\r\n });\r\n };\r\n\r\n return {\r\n create: create,\r\n addComment: addComment,\r\n get: get,\r\n update: update,\r\n delete: _delete,\r\n submitForValidate: submitForValidate,\r\n getImages: getImages,\r\n getTotalAmountFiltered: getTotalAmountFiltered,\r\n quickSearch: quickSearch\r\n };\r\n });\r\n\r\n})(app);","'use strict';\r\n(function () {\r\n // group services\r\n Pod.define(\"groupServices\", [\"shell-rest\"], function (rest) {\r\n\r\n //base url\r\n var baseUrl = \"/group\";\r\n\r\n // get all group\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all',\r\n });\r\n };\r\n\r\n // get group\r\n var get = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n // create group\r\n var create = function (group) {\r\n return rest.post({\r\n url: baseUrl + '/create',\r\n data: group\r\n });\r\n };\r\n\r\n // delete group\r\n var _delete = function (group) {\r\n return rest.post({\r\n url: baseUrl + '/delete',\r\n data: group\r\n });\r\n };\r\n\r\n // update group\r\n var update = function (group) {\r\n return rest.post({\r\n url: baseUrl + '/update/' + encodeURIComponent(group.id),\r\n data: group\r\n });\r\n };\r\n\r\n // get group accounts\r\n var getGroupAccounts = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get-group-accounts/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n var createGroupAccounts = function (groupAccounts) {\r\n return rest.post({\r\n url: baseUrl + '/create-group-accounts',\r\n data: groupAccounts\r\n });\r\n };\r\n\r\n return {\r\n create: create,\r\n delete: _delete,\r\n update: update,\r\n getAll: getAll,\r\n get: get,\r\n getGroupAccounts: getGroupAccounts,\r\n createGroupAccounts: createGroupAccounts\r\n };\r\n });\r\n\r\n})(app);","(function () {\r\n 'use strict';\r\n Pod.define(\"notificationServices\", [\"shell-rest\"], notificationServices);\r\n\r\n // culture services\r\n function notificationServices(rest) {\r\n\r\n var baseUrl = \"/notification\";\r\n\r\n // firstContact\r\n var getUserNotifications = function (page, referenceId) {\r\n return rest.get({\r\n url: baseUrl + '/get?page=' + encodeURIComponent(page) + \"&referenceId=\" + encodeURIComponent(referenceId)\r\n });\r\n };\r\n\r\n return {\r\n getUserNotifications: getUserNotifications\r\n };\r\n };\r\n})();","'use strict';\r\n(function () {\r\n Pod.define(\"paymentMethodServices\", [\"shell-rest\"], function (rest) {\r\n\r\n //base url\r\n var baseUrl = \"/paymentMethod\";\r\n\r\n // payment method delete\r\n var _delete = function (paymentMethod) {\r\n return rest.post({\r\n url: baseUrl + '/delete',\r\n data: paymentMethod\r\n });\r\n };\r\n\r\n // payment method create\r\n var create = function (newService) {\r\n return rest.post({\r\n url: baseUrl + '/create',\r\n data: newService\r\n });\r\n };\r\n\r\n // payment method update\r\n var update = function (paymentMethod) {\r\n return rest.post({\r\n url: baseUrl + '/update/' + encodeURIComponent(paymentMethod.id),\r\n data: paymentMethod\r\n });\r\n };\r\n\r\n // get all payment methods\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all',\r\n });\r\n };\r\n\r\n return {\r\n delete: _delete,\r\n create: create,\r\n update: update,\r\n getAll: getAll,\r\n };\r\n });\r\n})(app);","(function () {\r\n 'use strict';\r\n Pod.define(\"paymentServices\", [\"shell-rest\"], paymentServices);\r\n\r\n function paymentServices(rest) {\r\n\r\n // create payment\r\n var create = function (payment) {\r\n return rest.post({\r\n url: '/payment/create',\r\n data: payment\r\n });\r\n };\r\n\r\n return {\r\n create:create,\r\n };\r\n };\r\n})();","'use strict';\r\n(function () {\r\n // project services\r\n Pod.define(\"projectServices\", [\"shell-rest\"], function (rest) {\r\n\r\n //base url\r\n var baseUrl = \"/project\";\r\n\r\n // get all project\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all',\r\n });\r\n };\r\n\r\n // get open project\r\n var getOpen = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get-open/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n // get project\r\n var get = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n // create project\r\n var create = function (newProject) {\r\n return rest.post({\r\n url: baseUrl + '/create',\r\n data: newProject\r\n });\r\n };\r\n\r\n // delete project\r\n var _delete = function (project) {\r\n return rest.post({\r\n url: baseUrl + '/delete',\r\n data: project\r\n });\r\n };\r\n\r\n // update project\r\n var update = function (project) {\r\n return rest.post({\r\n url: baseUrl + '/update/' + encodeURIComponent(project.id),\r\n data: project\r\n });\r\n };\r\n\r\n return {\r\n create: create,\r\n delete: _delete,\r\n update: update,\r\n getAll: getAll,\r\n getOpen: getOpen,\r\n get: get\r\n };\r\n });\r\n\r\n})(app);","'use strict';\r\n(function () {\r\n // role services\r\n app.roleServices = function () {\r\n\r\n //base url\r\n var baseUrl = \"/role\";\r\n\r\n // get all role\r\n var getAll = function () {\r\n return baseServices().get({\r\n url: baseUrl + '/get-all',\r\n });\r\n };\r\n\r\n // get role\r\n var get = function (id) {\r\n return baseServices().get({\r\n url: baseUrl + '/get/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n // create role\r\n var create = function (newRole) {\r\n return baseServices().post({\r\n url: baseUrl + '/create',\r\n data: newRole\r\n });\r\n };\r\n\r\n // delete role\r\n var _delete = function (role) {\r\n return baseServices().delete({\r\n url: baseUrl + '/delete',\r\n data: role\r\n });\r\n };\r\n\r\n // update role\r\n var update = function (role) {\r\n return baseServices().put({\r\n url: baseUrl + '/update/' + encodeURIComponent(role.id),\r\n data: role\r\n });\r\n };\r\n\r\n return {\r\n create: create,\r\n delete: _delete,\r\n update: update,\r\n getAll: getAll,\r\n get: get\r\n };\r\n };\r\n\r\n})(app);","'use strict';\r\n(function () {\r\n // roleServiceValues services\r\n app.roleServiceValueServices = function () {\r\n\r\n //base url\r\n var baseUrl = \"/roleServiceValues\";\r\n\r\n // get all\r\n var getAll = function () {\r\n return baseServices().get({\r\n url: baseUrl + '/get-all',\r\n });\r\n };\r\n\r\n // get\r\n var get = function (id) {\r\n return baseServices().get({\r\n url: baseUrl + '/get/' + encodeURIComponent(id),\r\n });\r\n };\r\n\r\n // create \r\n var create = function (newRoleServiceValue) {\r\n return baseServices().post({\r\n url: baseUrl + '/create',\r\n data: newRoleServiceValue\r\n });\r\n };\r\n\r\n // delete \r\n var _delete = function (roleServiceValue) {\r\n return baseServices().delete({\r\n url: baseUrl + '/delete',\r\n data: roleServiceValue\r\n });\r\n };\r\n\r\n // update\r\n var update = function (roleServiceValue) {\r\n return baseServices().put({\r\n url: baseUrl + '/update/' + encodeURIComponent(roleServiceValue.id),\r\n data: roleServiceValue\r\n });\r\n };\r\n\r\n return {\r\n create: create,\r\n delete: _delete,\r\n update: update,\r\n getAll: getAll,\r\n get: get\r\n };\r\n };\r\n\r\n})(app);","'use strict';\r\n(function () {\r\n Pod.define(\"serviceServices\", [\"shell-rest\"], function (rest) {\r\n\r\n //base url\r\n var baseUrl = \"/service\";\r\n\r\n // service delete\r\n var _delete = function (service) {\r\n return rest.post({\r\n url: baseUrl + '/delete',\r\n data: service\r\n });\r\n };\r\n\r\n // service create\r\n var create = function (newService) {\r\n return rest.post({\r\n url: baseUrl + '/create',\r\n data: newService\r\n });\r\n };\r\n\r\n // service update\r\n var update = function (service) {\r\n return rest.post({\r\n url: baseUrl + '/update/' + encodeURIComponent(service.id),\r\n data: service\r\n });\r\n };\r\n\r\n // get all services\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all',\r\n });\r\n };\r\n\r\n return {\r\n delete: _delete,\r\n create: create,\r\n update: update,\r\n getAll: getAll,\r\n };\r\n });\r\n})(app);","'use strict';\r\n(function () {\r\n // Settle services\r\n Pod.define(\"settlementServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var settlementbaseUrl = '/settlement';\r\n var settlementHistoryBaseUrl= \"/settlement-history\";\r\n\r\n var getSettleStatusTypes = function () {\r\n return rest.get({\r\n url: settlementbaseUrl + \"/get-status\"\r\n })\r\n };\r\n\r\n var getExpensesToSettle = function(filter) {\r\n return rest.post({\r\n url: settlementbaseUrl + \"/get-expenses\",\r\n data: filter\r\n })\r\n }\r\n\r\n var saveSettlement = function(data) {\r\n return rest.post({\r\n url: settlementbaseUrl + \"/save\",\r\n data: data\r\n })\r\n }\r\n\r\n var getSettlementHistory = function(filter) {\r\n return rest.post({\r\n url: settlementHistoryBaseUrl + \"/get\",\r\n data: filter\r\n })\r\n }\r\n\r\n var paySettlement = function(settlement) {\r\n return rest.post({\r\n url: settlementHistoryBaseUrl + \"/pay-settlement\",\r\n data: settlement\r\n })\r\n }\r\n\r\n return {\r\n getSettleStatusTypes: getSettleStatusTypes,\r\n getExpensesToSettle: getExpensesToSettle,\r\n saveSettlement: saveSettlement,\r\n getSettlementHistory: getSettlementHistory,\r\n paySettlement: paySettlement,\r\n };\r\n });\r\n})(app);","'use strict';\r\n(function () {\r\n // validator services\r\n Pod.define(\"validatorServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/validator';\r\n\r\n // get updated item\r\n var getUpdatedItem = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get-expense-item/' + encodeURIComponent(id),\r\n dataType: 'html',\r\n });\r\n };\r\n\r\n // get updated item\r\n var getValidatedItem = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get-validated-expense/' + encodeURIComponent(id),\r\n dataType: 'html',\r\n });\r\n };\r\n\r\n // get groups assign to validator\r\n var getAssignedGroups = function (id) {\r\n return rest.get({\r\n url: baseUrl + '/get-validator-groups/' + encodeURIComponent(id)\r\n });\r\n };\r\n\r\n // asign groups to validator\r\n var assignGroups = function (validatorGroups) {\r\n return rest.post({\r\n url: baseUrl + '/create-validator-groups',\r\n data: validatorGroups\r\n });\r\n };\r\n\r\n // validate\r\n var validateJustOne = function (action) {\r\n return rest.post({\r\n url: baseUrl + '/validate-just-one/',\r\n data: action\r\n });\r\n };\r\n\r\n // reject one expense\r\n var rejectJustOne = function (action) {\r\n return rest.post({\r\n url: baseUrl + '/reject-just-one/',\r\n data: action\r\n });\r\n };\r\n\r\n // execute workflow\r\n var executeWorkflow = function (action) {\r\n return rest.post({\r\n url: baseUrl + '/execute-workflow',\r\n data: action\r\n });\r\n };\r\n\r\n var executeManyWorkflow = function (expenses) {\r\n return rest.post({\r\n url: baseUrl + '/execute-many-workflow',\r\n data: {\r\n expenses: expenses\r\n }\r\n });\r\n };\r\n\r\n return {\r\n getAssignedGroups: getAssignedGroups,\r\n assignGroups: assignGroups,\r\n validateJustOne: validateJustOne,\r\n rejectJustOne: rejectJustOne,\r\n executeWorkflow: executeWorkflow,\r\n executeManyWorkflow: executeManyWorkflow,\r\n getUpdatedItem: getUpdatedItem,\r\n getValidatedItem: getValidatedItem\r\n };\r\n });\r\n})(app);","'use strict';\r\n(function () {\r\n Pod.define(\"winbizConfigurationsServices\", [\"shell-rest\"], function (rest) {\r\n\r\n //base url\r\n var baseUrl = \"/winbiz\";\r\n\r\n // update winbiz csv \r\n var updateWinBizCsv = function (winbizCsv) {\r\n return rest.post({\r\n url: baseUrl + '/update-winbizcsv',\r\n data: winbizCsv\r\n });\r\n }\r\n\r\n return {\r\n updateWinBizCsv : updateWinBizCsv,\r\n };\r\n });\r\n})(app);","'use strict';\r\n(function () {\r\n // zone services\r\n Pod.define(\"zoneServices\", [\"shell-rest\"], function (rest) {\r\n\r\n var baseUrl = '/zone';\r\n\r\n // get all zones\r\n var getAll = function () {\r\n return rest.get({\r\n url: baseUrl + '/get-all'\r\n });\r\n };\r\n\r\n return {\r\n getAll: getAll\r\n };\r\n });\r\n})(app);","(function () {\r\n 'use strict';\r\n\r\n app.cultureProvider = function () {\r\n var self = this;\r\n\r\n self.culture = app.currentUser.culture;\r\n\r\n self.dateFormat = function () {\r\n var dateFormat;\r\n\r\n switch (self.culture) {\r\n case \"fr-CH\":\r\n case \"es-ES\":\r\n dateFormat = \"dd/MM/yyyy\";\r\n break;\r\n case \"en-US\":\r\n dateFormat: \"M/d/yyyy\";\r\n break;\r\n }\r\n\r\n return dateFormat;\r\n };\r\n\r\n self.timeFormat = function () {\r\n var timeFormat;\r\n\r\n switch (self.culture) {\r\n case \"fr-CH\":\r\n case \"es-ES\":\r\n timeFormat = \"HH:mm\";\r\n break;\r\n case \"en-US\":\r\n timeFormat = \"h:mm:ss tt\";\r\n break;\r\n }\r\n\r\n return timeFormat;\r\n };\r\n\r\n self.dateTimeFormat = function () {\r\n var dateTimeFormat;\r\n\r\n switch (self.culture) {\r\n case \"fr-CH\":\r\n case \"es-ES\":\r\n dateTimeFormat = \"dd/MM/yyyy HH:mm\";\r\n break;\r\n case \"en-US\":\r\n dateTimeFormat = \"M/d/yyyy h:mm:ss tt\";\r\n break;\r\n }\r\n\r\n return dateTimeFormat;\r\n };\r\n\r\n return self;\r\n }\r\n})();","Date.prototype.subtractDays = function (days) {\r\n\r\n var self = this;\r\n\r\n var milliseconds = parseInt(days * 24 * 60 * 60 * 1000);\r\n\r\n self.setTime(self.getTime() - milliseconds);\r\n};\r\n\r\nDate.prototype.addDays = function (days) {\r\n var self = this;\r\n\r\n var milliseconds = parseInt(days * 24 * 60 * 60 * 1000);\r\n\r\n self.setTime(self.getTime() + milliseconds);\r\n};\r\n\r\n// return date without time\r\nDate.prototype.withoutTime = function () {\r\n var self = this;\r\n\r\n self.d = new Date(self);\r\n\r\n self.d.setHours(0, 0, 0, 0, 0);\r\n\r\n return self.d;\r\n};\r\n\r\nDate.prototype.getDifferenceOfDays = function (param) {\r\n var self = this;\r\n\r\n var dateToSubtract = Date.UTC(param.dateToSubtract.getFullYear(), param.dateToSubtract.getMonth() - 1, param.dateToSubtract.getDate());\r\n var date = Date.UTC(self.getFullYear(), self.getMonth() - 1, self.getDate());\r\n\r\n var difference = date - dateToSubtract;\r\n var days = Math.floor(difference / (1000 * 60 * 60 * 24));\r\n\r\n return days * -1;\r\n};\r\n\r\nDate.prototype.ddMMyyyy = function () {\r\n var yyyy = this.getFullYear().toString();\r\n var mm = (this.getMonth() + 1).toString(); // getMonth() is zero-based\r\n var dd = this.getDate().toString();\r\n return (dd[1] ? dd : \"0\" + dd[0]) + \"/\" + (mm[1] ? mm : \"0\" + mm[0]) + \"/\" + yyyy; // padding\r\n};\r\n\r\nDate.prototype.compareDateWithOutTime = function (dateToCompare) {\r\n var self = this;\r\n\r\n return self.withoutTime().getTime() == dateToCompare.withoutTime().getTime();\r\n};\r\n\r\nDate.prototype.formatedDate = function () {\r\n var self = this;\r\n\r\n var day = self.getDate() > 9 ? self.getDate() + \"/\" : \"0\" + self.getDate() + \"/\";\r\n var month = (self.getMonth() + 1) > 9 ? (self.getMonth() + 1) + \"/\" : \"0\" + (self.getMonth() + 1) + \"/\";\r\n var year = self.getFullYear() + \" \";\r\n var hours = self.getHours() > 9 ? self.getHours() : \"0\" + self.getHours();\r\n var minutes = self.getMinutes() > 9 ? \":\" + self.getMinutes() : \":0\" + self.getMinutes();\r\n\r\n var formatedDate = day + month + year + hours + minutes;\r\n\r\n return formatedDate;\r\n};\r\n\r\n","(function () {\r\n // guid\r\n app.guid = function () {\r\n\r\n function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n\r\n // generate new guid\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r\n s4() + '-' + s4() + s4() + s4();\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n $(document).ready(function () {\r\n // ajax default is false\r\n $.ajaxSetup({ cache: false });\r\n });\r\n\r\n})(app);","(function () {\r\n 'use strict';\r\n Pod.define('notification-helper', notification);\r\n\r\n function notification() {\r\n\r\n return {\r\n showSuccess: showSuccess,\r\n showWarning: showWarning,\r\n showError: showError,\r\n showInfo: showInfo,\r\n };\r\n\r\n function showInfo(message, title) {\r\n toastr['info'](message, title);\r\n }\r\n\r\n function showSuccess(message, title) {\r\n toastr['success'](message, title);\r\n };\r\n\r\n function showWarning(message, title) {\r\n toastr['warning'](message, title || app.localization[\"Alert\"]);\r\n };\r\n\r\n function showError(message) {\r\n toastr['error'](message);\r\n }\r\n }\r\n})();\r\n\r\n","(function () {\r\n 'use strict';\r\n Pod.define('serializer', serializer);\r\n\r\n function serializer() {\r\n\r\n return {\r\n objectToUri: objectToUri,\r\n };\r\n\r\n // serialize javascript object to uri\r\n function objectToUri(obj, prefix) {\r\n var str = [], prop;\r\n\r\n for (prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n var pref = prefix ? prefix + \"[\" + prop + \"]\" : prop;\r\n var val = obj[prop];\r\n\r\n var part = (val !== null && typeof val === \"object\") ?\r\n objectToUri(val, pref) :\r\n encodeURIComponent(pref) + \"=\" + encodeURIComponent(val);\r\n\r\n str.push(part);\r\n }\r\n }\r\n return str.join(\"&\");\r\n }\r\n }\r\n})();\r\n","(function () {\r\n 'use strict';\r\n Pod.define('shell-page-loader', function () {\r\n\r\n // base page loader\r\n var load = function (url, divToReplace, callBack) {\r\n\r\n // div to replace\r\n $(divToReplace).load(url, function (responseText, textStatus, XMLHttpRequest) {\r\n\r\n if (XMLHttpRequest.getResponseHeader(\"error\") !== null) {\r\n window.location.href = window.location.origin + '/error?type=500';\r\n return;\r\n }\r\n\r\n // callback\r\n if (!!callBack && callBack !== null && callBack !== undefined) {\r\n callBack(); // call\r\n }\r\n });\r\n };\r\n\r\n return {\r\n load: load\r\n };\r\n });\r\n})();\r\n","String.prototype.convertToBoolean = function () {\r\n var self = this;\r\n return self.toLowerCase() == \"true\";\r\n};\r\n\r\nString.prototype.getExtension = function () {\r\n var self = this;\r\n var array = self.split(\".\");\r\n\r\n return array[(array.length)-1];\r\n};\r\n\r\nString.prototype.formatedFileName = function (length) {\r\n var self = this;\r\n return self.length > 19 ? self.substring(0, 17) + \"...\" + self.getExtension() : self;\r\n};","'use strict';\r\n(function () {\r\n // get page count based on total and pageSize\r\n app.getPageCount = function (total, pageSize) {\r\n\r\n var totalPage = total / pageSize;\r\n\r\n //add the last page, ugly\r\n if (total % pageSize != 0) totalPage++;\r\n\r\n return totalPage;\r\n };\r\n\r\n // show message and reload\r\n app.refresh = function (message, type) {\r\n\r\n // well done\r\n toastr[(type || 'success')](message);\r\n\r\n setInterval(function () {\r\n location.reload();\r\n }, 2000);\r\n };\r\n\r\n /* Show Toast Info */\r\n\r\n // show success\r\n app.showSuccess = function (message) {\r\n toastr['success'](message, app.localization[\"WellDone\"]);\r\n };\r\n\r\n app.showWarning = function (message) {\r\n toastr['warning'](message, app.localization[\"Alert\"]);\r\n };\r\n /* Show Toast Info */\r\n\r\n // check if element has ko binding\r\n app.hasKoBinding = function (element) {\r\n return (element && (element.length > 0)) ? !!ko.dataFor(element[0]) : false;\r\n };\r\n\r\n // recerse visibility\r\n app.reverseVisibility = function (toShow, toHide) {\r\n toShow.show('slow');\r\n toHide.hide('slow');\r\n\r\n // try to clean any ko node to hiden element\r\n // if element has valid binding\r\n if (app.hasKoBinding(toHide)) {\r\n ko.cleanNode(toHide[0]);\r\n }\r\n };\r\n\r\n /* Numbers */\r\n app.FixedToLocalization = function (str) {\r\n str = str.replace(',', '.'); // replace , for point to decimal string\r\n return parseFloat(str);\r\n };\r\n\r\n // set input as decimal only\r\n app.setInputAsDecimal = function (id) {\r\n var that = $(\"#\" + id);\r\n\r\n // only accept decimal values\r\n that.keypress(function (evt) {\r\n\r\n // check if the value is valid decimal\r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n });\r\n };\r\n\r\n // check mail\r\n app.checkMail = function (value) {\r\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(value);\r\n };\r\n\r\n app.datePickerConst = {\r\n minDate: new Date(1900, 1, 1),\r\n maxDate: new Date(2099, 12, 31),\r\n };\r\n\r\n})();","(function () {\r\n 'use strict';\r\n // expense validator\r\n Pod.define(\"expense-validator\", [\"notification-helper\"], expenseValidator);\r\n\r\n /*\r\n -- Expense validator\r\n */\r\n function expenseValidator(notificationHelper) {\r\n\r\n /*\r\n -- Validate project and client\r\n */\r\n function validateProjectAndClient(expense) {\r\n if (!expense.project.id) {\r\n notificationHelper.showError(app.localization.ProjectIsRequired);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return {\r\n validateProjectAndClient: validateProjectAndClient,\r\n };\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('AccountService', AccountService);\r\n\r\n AccountService.$inject = ['$CoreService'];\r\n\r\n function AccountService($CoreService) {\r\n\r\n var baseUrl = 'account';\r\n\r\n this.get = get;\r\n this.getAll = getAll; \r\n this.remove = remove;\r\n this.create = create;\r\n this.update = update;\r\n this.changePassword = changePassword;\r\n this.verifyUser = verifyUser;\r\n this.changeLoggedUser = changeLoggedUser;\r\n this.getSettings = getSettings;\r\n this.setSettings = setSettings;\r\n this.toggleEnabled = toggleEnabled;\r\n\r\n function create(item) {\r\n return $CoreService.post(baseUrl + \"/create\", item);\r\n }\r\n\r\n function get(id) {\r\n return $CoreService.get(baseUrl + '/get/' + encodeURIComponent(id));\r\n }\r\n\r\n function getAll(expenseId, viewDisabled) {\r\n return $CoreService.get(baseUrl + \"/get-all\", { expenseId: expenseId, viewDisabled: viewDisabled });\r\n }\r\n \r\n function remove(id) {\r\n return $CoreService.post(baseUrl + \"/delete\", id);\r\n }\r\n\r\n function update(item) {\r\n return $CoreService.post(baseUrl + \"/update/\" + item.id, item);\r\n }\r\n\r\n function changePassword(model) {\r\n return $CoreService.post(baseUrl + \"/change-password\", model);\r\n }\r\n\r\n function verifyUser(model) {\r\n return $CoreService.post('default' + \"/verifyUser\", model);\r\n }\r\n\r\n function changeLoggedUser(token) {\r\n return $CoreService.post('default' + \"/change-user\", { token: token });\r\n }\r\n\r\n function setSettings(model) {\r\n return $CoreService.post(baseUrl + '/set-settings', model);\r\n }\r\n\r\n function getSettings() {\r\n return $CoreService.get(baseUrl + '/get-settings');\r\n }\r\n\r\n function toggleEnabled(id) {\r\n return $CoreService.get(baseUrl + \"/\" + id + \"/enable\");\r\n }\r\n }\r\n})();","(function (app) {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('accountSelect', {\r\n controller: accountSelectController,\r\n templateUrl: '/app/components/account/accountSelect.template.html',\r\n bindings: {\r\n model: \"=ngModel\",\r\n localFlag: \" p.id != item.id);\r\n\r\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(accountsWithoutThis));\r\n\r\n vm.accounts = accountsWithoutThis;\r\n }\r\n }\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .controller('addAccountModalController', addAccountModalController);\r\n\r\n addAccountModalController.$inject = ['$uibModalInstance', '$timeout', '$rootScope', 'AccountService']\r\n\r\n function addAccountModalController($uibModalInstance, $timeout, $rootScope, AccountService) {\r\n\r\n var LOCAL_STORAGE_KEY = \"xpense-accounts\";\r\n\r\n var vm = this;\r\n\r\n vm.item;\r\n vm.currentUser;\r\n\r\n vm.cancel = cancel;\r\n vm.addAccount = addAccount;\r\n vm.isUserAdded = isUserAdded;\r\n\r\n this.$onInit = function () {\r\n $timeout(function () {\r\n vm.currentUser = app.currentUser;\r\n });\r\n }\r\n\r\n function addAccount(form) {\r\n if (form.$invalid) {\r\n form.username.$dirty = true;\r\n form.password.$dirty = true;\r\n return;\r\n }\r\n\r\n if (vm.item.username == vm.currentUser.username) {\r\n return;\r\n }\r\n\r\n if (isUserAdded(vm.item)) {\r\n return;\r\n }\r\n\r\n AccountService.verifyUser({\r\n username: vm.item.username,\r\n password: vm.item.password\r\n }).then(function (user) {\r\n addAccountLocalStorage(user);\r\n $rootScope.$broadcast('account-added');\r\n cancel();\r\n });\r\n };\r\n\r\n function cancel() {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n\r\n function isUserAdded(user) {\r\n var accounts = getAddedUsers();\r\n\r\n var userAdded = false;\r\n\r\n if (!!user) {\r\n for (var i = 0; i < accounts.length; i++) {\r\n if (user.username == accounts[i].username && user.username != vm.currentUser.username) {\r\n userAdded = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return userAdded;\r\n }\r\n\r\n function addAccountLocalStorage(user) {\r\n var accounts = getAddedUsers();\r\n\r\n accounts.push(user);\r\n pushCurrentUserIfNecessary(accounts);\r\n\r\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(accounts));\r\n }\r\n\r\n function getAddedUsers() {\r\n var accounts = localStorage.getItem(LOCAL_STORAGE_KEY);\r\n if (accounts) {\r\n accounts = JSON.parse(accounts);\r\n } else {\r\n accounts = [];\r\n }\r\n\r\n return accounts;\r\n }\r\n\r\n function pushCurrentUserIfNecessary(accounts) {\r\n var shouldAdd = true;\r\n for (var i = 0; i < accounts.length; i++) {\r\n if (vm.currentUser.id == accounts[i].id) {\r\n accounts[i] = angular.copy(vm.currentUser);\r\n shouldAdd = false;\r\n break;\r\n }\r\n }\r\n\r\n if (shouldAdd) {\r\n accounts.push(vm.currentUser);\r\n }\r\n }\r\n }\r\n})(app);","(function() {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('appPolicies',\r\n {\r\n controller: appPoliciesController,\r\n templateUrl: '/app/components/appPolicies/appPolicies.template.html'\r\n });\r\n\r\n appPoliciesController.$inject = [];\r\n\r\n function appPoliciesController() {};\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('bexioConfiguration', {\r\n controller: BexioController,\r\n templateUrl: '/App/components/bexio/bexio.template.html'\r\n });\r\n\r\n BexioController.$inject = ['$timeout', 'BexioService', 'messagesServices', '$rootScope'];\r\n\r\n function BexioController($timeout, BexioService,messagesServices, $rootScope) {\r\n var vm = this;\r\n var bexioURL = 'https://office.bexio.com/oauth/authorize?client_id={0}&redirect_uri={1}&state=12312345678&scope=general kb_expense_edit contact_show';\r\n var redirectUri = location.origin + \"/bexio\";\r\n\r\n vm.item;\r\n vm.bexioTaxes;\r\n vm.bexioCurrencies;\r\n vm.isConnected;\r\n vm.isLoading = false;\r\n\r\n //funcs\r\n vm.save = save;\r\n vm.connect = connect;\r\n vm.getBexioAccounts = getBexioAccounts;\r\n\r\n vm.$onInit = function () {\r\n isConnected();\r\n getConfig();\r\n \r\n }\r\n\r\n function connect() {\r\n bexioURL = String.format(bexioURL, vm.item.bexioClientId, redirectUri);\r\n BexioService.saveConfig(vm.item).then(function () {\r\n window.location.href = bexioURL;\r\n });\r\n }\r\n\r\n function isConnected() {\r\n BexioService.isConnected().then(function (conn) {\r\n vm.isConnected = conn;\r\n if(conn)\r\n getBexioTaxes();\r\n });\r\n }\r\n\r\n function getBexioTaxes() {\r\n BexioService.getTaxes().then(function (taxes) {\r\n vm.bexioTaxes = taxes;\r\n });\r\n }\r\n\r\n //function getBexioCurrencies() {\r\n // BexioService.getCurrencies().then(function (currencies) {\r\n // vm.bexioCurrencies = currencies;\r\n // });\r\n //}\r\n\r\n function getConfig() {\r\n BexioService.getConfig().then(function (data) {\r\n vm.item = data ? data : {};\r\n });\r\n }\r\n\r\n function getBexioAccounts() {\r\n vm.isLoading = true;\r\n\r\n if (!typeof (vm.item.bexioAccountTrip) == \"string\" || vm.item.bexioAccountTrip.length < 3) {\r\n vm.isLoading = false;\r\n return;\r\n }\r\n\r\n BexioService.getAccounts(vm.item.bexioAccountTrip).then(function (accounts) {\r\n vm.bexioAccounts = accounts;\r\n }).finally(function () { vm.isLoading = false; });\r\n }\r\n\r\n function save() {\r\n if (!vm.item.bexioClientId || !vm.item.bexioClientSecret)\r\n return;\r\n\r\n vm.item.bexioAccountTrip = vm.item.bexioAccountTrip && vm.item.bexioAccountTrip.id ? vm.item.bexioAccountTrip : null;\r\n\r\n BexioService.saveConfig(vm.item).then(function () {\r\n messagesServices.success($rootScope.translate.SavedSuccessfully);\r\n });\r\n }\r\n };\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('BexioService', BexioService);\r\n\r\n BexioService.$inject = ['$CoreService'];\r\n\r\n function BexioService($CoreService) {\r\n\r\n var service = this;\r\n var baseUrl = 'bexio';\r\n\r\n service.saveConfig = saveConfig;\r\n service.getConfig = getConfig;\r\n service.getAccounts = getAccounts;\r\n service.getPaymentsTypes = getPaymentsTypes;\r\n service.getContacts = getContacts;\r\n service.getCurrencies = getCurrencies;\r\n service.getTaxes = getTaxes;\r\n service.isConnected = isConnected;\r\n service.getExpensePendingSynchronization = getExpensePendingSynchronization;\r\n service.syncWithBexio = syncWithBexio;\r\n\r\n function getConfig() {\r\n return $CoreService.get(baseUrl + '/get-configurations');\r\n }\r\n\r\n function saveConfig(item) {\r\n return $CoreService.post(baseUrl + '/save-configurations', item);\r\n }\r\n\r\n function getContacts(filter) {\r\n return $CoreService.get(baseUrl + '/get-contacts', { filter: filter });\r\n }\r\n\r\n function getAccounts(filter) {\r\n return $CoreService.get(baseUrl + '/get-accounts', { filter: filter });\r\n }\r\n\r\n function getPaymentsTypes(filter) {\r\n return $CoreService.get(baseUrl + '/get-payment-types', { filter: filter });\r\n }\r\n\r\n function getExpensePendingSynchronization(filter) {\r\n return $CoreService.get(baseUrl + '/get-expenses-pending-synchronization', filter);\r\n }\r\n\r\n function getCurrencies() {\r\n return $CoreService.get(baseUrl + '/get-currencies');\r\n }\r\n\r\n function getTaxes() {\r\n return $CoreService.get(baseUrl + '/get-taxes');\r\n }\r\n\r\n function isConnected() {\r\n return $CoreService.get(baseUrl + '/is-connected');\r\n }\r\n\r\n function syncWithBexio(expenses) {\r\n return $CoreService.post(baseUrl + '/sync-with-bexio', expenses);\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('bexioExpensePendingSynchronization', {\r\n controller: BexioExpensePendingSynchronizationController,\r\n templateUrl: '/App/components/bexio/expensePendingSynchronization.template.html'\r\n });\r\n\r\n BexioExpensePendingSynchronizationController.$inject = ['$scope', '$timeout', 'BexioService', 'ClientService'\r\n , 'ProjectService', '$DateHandler', '$uibModal', '$rootScope', 'messagesServices'];\r\n\r\n function BexioExpensePendingSynchronizationController($scope, $timeout, BexioService, ClientService\r\n , ProjectService, $DateHandler, $uibModal, $rootScope, messagesServices) {\r\n var vm = this;\r\n\r\n vm.expenses = [];\r\n vm.clients = [];\r\n vm.projectsByClient = [];\r\n vm.filter;\r\n\r\n vm.selectAllToggle = selectAllToggle;\r\n vm.allSelected = false;\r\n vm.requestSent = false;\r\n\r\n vm.SyncWithBexio = SyncWithBexio;\r\n vm.viewErrorDetails = viewErrorDetails;\r\n vm.getExpensePendingSynchronization = getExpensePendingSynchronization;\r\n\r\n vm.$onInit = function () {\r\n vm.filter = {\r\n pageNumber: 1\r\n };\r\n loadClients();\r\n getExpensePendingSynchronization();\r\n subscribeToEvents();\r\n }\r\n\r\n function loadProjectsByClient(clientId) {\r\n ProjectService.getOpenByClient(clientId).then(function (projects) {\r\n vm.projectsByClient = projects;\r\n })\r\n }\r\n\r\n function loadClients() {\r\n ClientService.getAll().then(function (clients) {\r\n vm.clients = clients;\r\n });\r\n }\r\n\r\n function getExpensePendingSynchronization() {\r\n vm.requestSent = true;\r\n\r\n BexioService.getExpensePendingSynchronization({\r\n accountId: vm.filter.accountId,\r\n clientId: vm.filter.clientId,\r\n projectId: vm.filter.projectId,\r\n fromDay: vm.filter.fromDate ? vm.filter.fromDate.getDate() : undefined,\r\n fromMonth: vm.filter.fromDate ? vm.filter.fromDate.getMonth() + 1 : undefined,\r\n fromYear: vm.filter.fromDate ? vm.filter.fromDate.getFullYear() : undefined,\r\n toDay: vm.filter.toDate ? vm.filter.toDate.getDate() : undefined,\r\n toMonth: vm.filter.toDate ? vm.filter.toDate.getMonth() + 1 : undefined,\r\n toYear: vm.filter.toDate ? vm.filter.toDate.getFullYear() : undefined,\r\n page: vm.filter.pageNumber\r\n\r\n }).then(function (expenses) {\r\n vm.expenses = expenses;\r\n }).finally(function () { vm.requestSent = false; });\r\n }\r\n\r\n function selectAllToggle() {\r\n if (!vm.expenses.result || !vm.expenses.result.length)\r\n return;\r\n\r\n vm.expenses.result.forEach(function (item) {\r\n item.checked = vm.allSelected;\r\n });\r\n }\r\n\r\n function SyncWithBexio() {\r\n vm.requestSent = true;\r\n\r\n var expensesIds = [];\r\n\r\n vm.expenses.result.forEach(function (item) {\r\n if (item.checked)\r\n expensesIds.push(item.id);\r\n });\r\n\r\n if (!expensesIds.length) {\r\n vm.requestSent = false;\r\n return;\r\n }\r\n\r\n BexioService.syncWithBexio(expensesIds).then(function (successfulSync) {\r\n if (successfulSync)\r\n messagesServices.success($rootScope.translate.SynchronizationWasSuccessful);\r\n else\r\n messagesServices.danger($rootScope.translate.SomeExpensesCouldNotBeSynchronized);\r\n\r\n vm.requestSent = false;\r\n vm.allSelected = false;\r\n getExpensePendingSynchronization();\r\n }).finally(function () {\r\n vm.requestSent = false;\r\n vm.allSelected = false;\r\n });\r\n }\r\n\r\n function viewErrorDetails(item) {\r\n var modal = $uibModal.open({\r\n size: 'lg',\r\n templateUrl: '/app/components/bexio/errorSynchronizationDetails.html',\r\n controller: ['$scope', '$uibModalInstance', function ($scope, $uibModalInstance) {\r\n\r\n $scope.item = item\r\n $scope.modal = $uibModalInstance;\r\n }]\r\n });\r\n\r\n return modal.result;\r\n }\r\n\r\n function subscribeToEvents() {\r\n var clientWatch = $scope.$watch('$ctrl.filter.clientId', function (newValue, oldValue) {\r\n\r\n if (!newValue) {\r\n vm.projectsByClient = [];\r\n return;\r\n } else {\r\n getExpensePendingSynchronization();\r\n }\r\n\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n loadProjectsByClient(newValue);\r\n });\r\n\r\n var dateFromWatch = $scope.$watch('$ctrl.filter.fromDate', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n var dateToWatch = $scope.$watch('$ctrl.filter.toDate', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n var accountWatch = $scope.$watch('$ctrl.filter.accountId', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n var projectWatch = $scope.$watch('$ctrl.filter.projectId', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n $scope.$on(\"$destroy\", function () {\r\n clientWatch();\r\n dateFromWatch();\r\n dateToWatch();\r\n accountWatch();\r\n projectWatch();\r\n });\r\n }\r\n };\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('changePassword', {\r\n controller: changePasswordController,\r\n templateUrl: '/app/components/changePassword/changePassword.template.html',\r\n bindings: {\r\n modalConfig: ' 1);\r\n });\r\n };\r\n\r\n vm.openLogExpenses = function(log) {\r\n if (!log.expensesCreated) {\r\n log.isExpanded = false;\r\n return;\r\n }\r\n log.isExpanded = !log.isExpanded;\r\n\r\n for (var i = 0; i < vm.logs.length; i++) {\r\n if (vm.logs[i].id != log.id)\r\n vm.logs[i].isExpanded = false;\r\n }\r\n\r\n if (log.isExpanded && (!log.expenses || !log.expenses.length)) {\r\n CompensationLogsService.getDetails(log.id).then(function(data) {\r\n log.expenses = data;\r\n });\r\n }\r\n }\r\n\r\n };\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('CompensationLogsService', CompensationLogsService);\r\n\r\n CompensationLogsService.$inject = ['$CoreService'];\r\n\r\n function CompensationLogsService($CoreService) {\r\n\r\n var service = this;\r\n\r\n service.getAll = getAll;\r\n service.getDetails = get;\r\n\r\n function getAll() {\r\n return $CoreService.get('ruleLog/get-all');\r\n }\r\n\r\n function get(id) {\r\n return $CoreService.get('ruleLog/' + id);\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('CompensationOptionService', CompensationOptionService);\r\n\r\n CompensationOptionService.$inject = ['$CoreService'];\r\n\r\n function CompensationOptionService($CoreService) {\r\n\r\n var service = this;\r\n\r\n service.getAll = getAll;\r\n service.get = get;\r\n service.remove = remove;\r\n service.create = create;\r\n service.update = update;\r\n\r\n function getAll() {\r\n return $CoreService.get('compensationOption/get-all');\r\n }\r\n\r\n function get(id) {\r\n return $CoreService.get('compensationOption/' + id);\r\n }\r\n\r\n function remove(id) {\r\n return $CoreService.post('compensationOption/delete/' + id);\r\n }\r\n\r\n function create(item) {\r\n return $CoreService.post('compensationOption/persist', item);\r\n }\r\n\r\n function update(item) {\r\n return $CoreService.post('compensationOption/persist', item);\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('compensationOptionSelect', {\r\n controller: ctrl,\r\n templateUrl: '/app/components/compensationOption/compensationOptionSelect.template.html',\r\n bindings: {\r\n model: '=ngModel',\r\n disabled: ' {day: 10, month: 10, year: 2017})\r\n // for (var idx = 0; idx < toSave.length; idx++) {\r\n // var e = toSave[idx];\r\n // e.date = $DateHandler.toDto(e.date);\r\n // }\r\n\r\n if (!toSave.length)\r\n return;\r\n\r\n //save expenses, and update expenses array\r\n ExpenseService.saveMany(toSave).then(function(result) {\r\n for (var i = 0; i < result.length; i++) {\r\n var resultKey = result[i].item.key;\r\n var expenseIndex = vm.expenses.findIndex(function(e) {\r\n return e.item.key == resultKey;\r\n });\r\n\r\n if (expenseIndex > -1 && expenseIndex < vm.expenses.length) {\r\n var exp = vm.expenses[expenseIndex];\r\n exp.errorMessage = result[i].errorMessage;\r\n exp.result = result[i].result;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function loadSelects() {\r\n CurrencyService.getAll().then(function(currencies) {\r\n vm.allCurrencies = currencies;\r\n });\r\n PaymentMethodService.getAll().then(function(methods) {\r\n vm.allPaymentMethods = methods;\r\n });\r\n ServicesService.getAll().then(function(services) {\r\n vm.allServices = services;\r\n });\r\n TaxService.getAll().then(function(taxs) {\r\n vm.allTaxs = taxs;\r\n });\r\n ClientService.getAll().then(function(clients) {\r\n vm.allClients = clients;\r\n });\r\n }\r\n\r\n function loadProjectsByClient(newValue, oldValue) {\r\n if (!newValue) {\r\n vm.projectsByClient = [];\r\n return;\r\n }\r\n\r\n ProjectService.getOpenByClient(newValue).then(function(projects) {\r\n vm.projectsByClient = projects;\r\n });\r\n }\r\n\r\n function expenseRow() {\r\n var pName = getProjectNameById(vm.project);\r\n var cName = getClientNameById(vm.client);\r\n\r\n return {\r\n result: null,\r\n errorMessage: '',\r\n clientName: cName,\r\n projectName: pName,\r\n item: {\r\n key: guid(),\r\n type: vm.expenseType,\r\n accountId: vm.account,\r\n currencyId: null,\r\n serviceId: null,\r\n projectId: vm.project,\r\n tax: null,\r\n description: null,\r\n amount: null,\r\n paymentMethodId: null,\r\n date: $DateHandler.toDto(new Date()),\r\n file: null,\r\n }\r\n };\r\n }\r\n\r\n //ver como tenerla en \"utils\"\r\n var guid = function() {\r\n function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n\r\n // generate new guid\r\n return s4() +\r\n s4() +\r\n '-' +\r\n s4() +\r\n '-' +\r\n s4() +\r\n '-' +\r\n s4() +\r\n '-' +\r\n s4() +\r\n s4() +\r\n s4();\r\n };\r\n\r\n function getProjectNameById(pId) {\r\n var name;\r\n var arr = vm.projectsByClient;\r\n\r\n for (var i = 0; i < arr.length; i++) {\r\n if (arr[i].id == pId) {\r\n name = arr[i].name;\r\n break;\r\n }\r\n }\r\n\r\n return name;\r\n }\r\n\r\n function getClientNameById(cId) {\r\n var name;\r\n var arr = vm.allClients;\r\n\r\n for (var i = 0; i < arr.length; i++) {\r\n if (arr[i].id == cId) {\r\n name = arr[i].name;\r\n break;\r\n }\r\n }\r\n\r\n return name;\r\n }\r\n\r\n function deleteRow(idx) {\r\n vm.expenses.splice(idx, 1);\r\n }\r\n\r\n function subscribeToEvents() {\r\n var clientWatch = $scope.$watch('$ctrl.client', loadProjectsByClient);\r\n var fileWatch = $scope.$watch('$ctrl.file',\r\n function() {\r\n if (!vm.file)\r\n return;\r\n\r\n uploadImage(vm.selectedKey);\r\n\r\n });\r\n\r\n $scope.$on('$destroy',\r\n function() {\r\n clientWatch();\r\n });\r\n }\r\n }\r\n\r\n})();","(function() {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('CurrencyService', CurrencyService);\r\n\r\n CurrencyService.$inject = ['$CoreService'];\r\n\r\n function CurrencyService($CoreService) {\r\n\r\n var service = this;\r\n\r\n service.getAll = getAll;\r\n service.getConversions = getConversions;\r\n service.saveConversions = saveConversions;\r\n service.refreshConversions = refreshConversions;\r\n\r\n function getAll() {\r\n return $CoreService.get('currency/get-all');\r\n };\r\n\r\n function getConversions() {\r\n return $CoreService.get('currency/conversions');\r\n }\r\n\r\n function saveConversions(data) {\r\n return $CoreService.post('currency/conversions', data);\r\n }\r\n\r\n function refreshConversions() {\r\n return $CoreService.post('currency/refresh');\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('currencySelect',\r\n {\r\n controller: currencySelectController,\r\n templateUrl: '/app/components/currency/currencySelect.template.html',\r\n bindings: {\r\n model: '=ngModel',\r\n localFlag: ' {\r\n messagesServices.success($rootScope.translate.SavedSuccessfully);\r\n });\r\n }\r\n\r\n // private functions\r\n function deactivateAllParameters() {\r\n vm.params.forEach(option => {\r\n option.isActive = false;\r\n });\r\n }\r\n \r\n function getWinbiz() {\r\n WinbizService.get()\r\n .then(function(winbiz) {\r\n vm.item = winbiz;\r\n });\r\n }\r\n\r\n function getParams() {\r\n WinbizService.getParams()\r\n .then(function(params) {\r\n vm.params = params;\r\n });\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('winbizCloudConfiguration', {\r\n controller: WinbizCloudController,\r\n templateUrl: '/app/components/WinbizCloud/winbizCloud.template.html'\r\n });\r\n\r\n WinbizCloudController.$inject = ['$rootScope', 'WinbizCloudService', 'messagesServices'];\r\n\r\n function WinbizCloudController($rootScope, WinbizCloudService, messagesServices) {\r\n var vm = this;\r\n\r\n vm.winbizTvaMethods = [];\r\n vm.winbizTvaTypes = [];\r\n\r\n vm.$onInit = function () {\r\n WinbizCloudService.getTvaMethods().then(function (tvaMethods) {\r\n\r\n vm.winbizTvaMethods = tvaMethods;\r\n\r\n WinbizCloudService.getTvaTypes().then(function (tvaTypes) {\r\n\r\n vm.winbizTvaTypes = tvaTypes;\r\n\r\n WinbizCloudService.getConfig().then(function (settings) {\r\n vm.item = settings;\r\n });\r\n });\r\n });\r\n\r\n }\r\n\r\n vm.save = function () {\r\n WinbizCloudService.saveConfig(vm.item).then(function () {\r\n messagesServices.success($rootScope.translate.SavedSuccessfully);\r\n });\r\n }\r\n };\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('winbizCloudExpensePendingSynchronization', {\r\n controller: WinbizCloudPendingSynchronizationController,\r\n templateUrl: '/app/components/winbizCloud/winbizCloud.pendingSynchronization.template.html'\r\n });\r\n\r\n WinbizCloudPendingSynchronizationController.$inject = ['$scope', 'WinbizCloudService', 'ClientService'\r\n , 'ProjectService', '$uibModal', '$rootScope', 'messagesServices'];\r\n\r\n function WinbizCloudPendingSynchronizationController($scope, WinbizCloudService, ClientService\r\n , ProjectService, $uibModal, $rootScope, messagesServices) {\r\n var vm = this;\r\n\r\n vm.expenses = [];\r\n vm.clients = [];\r\n vm.projectsByClient = [];\r\n vm.filter;\r\n\r\n vm.selectAllToggle = selectAllToggle;\r\n vm.allSelected = false;\r\n vm.requestSent = false;\r\n\r\n vm.sync = sync;\r\n vm.getExpensePendingSynchronization = getExpensePendingSynchronization;\r\n vm.viewErrorDetails = viewErrorDetails;\r\n vm.syncAsCSV = syncAsCSV;\r\n\r\n vm.$onInit = function () {\r\n vm.filter = {\r\n pageNumber: 1\r\n };\r\n loadClients();\r\n getExpensePendingSynchronization();\r\n subscribeToEvents();\r\n }\r\n\r\n function loadProjectsByClient(clientId) {\r\n ProjectService.getOpenByClient(clientId).then(function (projects) {\r\n vm.projectsByClient = projects;\r\n })\r\n }\r\n\r\n function loadClients() {\r\n ClientService.getAll().then(function (clients) {\r\n vm.clients = clients;\r\n });\r\n }\r\n\r\n function getExpensePendingSynchronization() {\r\n vm.requestSent = true;\r\n\r\n WinbizCloudService.getExpensePendingSynchronization({\r\n accountId: vm.filter.accountId,\r\n clientId: vm.filter.clientId,\r\n projectId: vm.filter.projectId,\r\n from: vm.filter.fromDate,\r\n to: vm.filter.toDate,\r\n page: vm.filter.pageNumber\r\n\r\n }).then(function (expenses) {\r\n vm.expenses = expenses;\r\n }).finally(function () { vm.requestSent = false; });\r\n }\r\n\r\n function selectAllToggle() {\r\n if (!vm.expenses || !vm.expenses.length)\r\n return;\r\n\r\n vm.expenses.forEach(function (item) {\r\n item.checked = vm.allSelected;\r\n });\r\n }\r\n\r\n function sync() {\r\n vm.requestSent = true;\r\n\r\n var expensesIds = [];\r\n\r\n vm.expenses.forEach(function (item) {\r\n if (item.checked)\r\n expensesIds.push(item.id);\r\n });\r\n\r\n if (!expensesIds.length) {\r\n vm.requestSent = false;\r\n return;\r\n }\r\n\r\n WinbizCloudService.sync(expensesIds).then(function (successfulSync) {\r\n if (successfulSync)\r\n messagesServices.success($rootScope.translate.SynchronizationWasSuccessful);\r\n else\r\n messagesServices.danger($rootScope.translate.SomeExpensesCouldNotBeSynchronized);\r\n\r\n vm.requestSent = false;\r\n vm.allSelected = false;\r\n getExpensePendingSynchronization();\r\n }).finally(function () {\r\n vm.requestSent = false;\r\n vm.allSelected = false;\r\n });\r\n }\r\n\r\n function syncAsCSV() {\r\n vm.requestSent = true;\r\n\r\n var expensesIds = [];\r\n\r\n vm.expenses.forEach(function (item) {\r\n if (item.checked)\r\n expensesIds.push(item.id);\r\n });\r\n\r\n if (!expensesIds.length) {\r\n vm.requestSent = false;\r\n return;\r\n }\r\n\r\n WinbizCloudService.syncAsCSV(expensesIds).then(function (file) {\r\n /*if (successfulSync)*/\r\n messagesServices.success($rootScope.translate.SynchronizationWasSuccessful);\r\n //else\r\n // messagesServices.danger($rootScope.translate.SomeExpensesCouldNotBeSynchronized);\r\n var now = new Date();\r\n var fileName = \"\" + app.currentUser.company + \"__\" + app.currentUser.fullName + \"__\" + now.getDate() + \"_\" + (now.getMonth() + 1) + \"_\" + now.getFullYear() + \".csv\";\r\n downloadFile(file, fileName, 'application/vnd.ms-excel');\r\n vm.requestSent = false;\r\n vm.allSelected = false;\r\n getExpensePendingSynchronization();\r\n }).finally(function () {\r\n vm.requestSent = false;\r\n vm.allSelected = false;\r\n });\r\n }\r\n\r\n function viewErrorDetails(item) {\r\n var modal = $uibModal.open({\r\n size: 'lg',\r\n templateUrl: '/app/components/winbizCloud/errorSynchronizationDetails.html',\r\n controller: ['$scope', '$uibModalInstance', function ($scope, $uibModalInstance) {\r\n\r\n $scope.item = item\r\n $scope.modal = $uibModalInstance;\r\n }]\r\n });\r\n\r\n return modal.result;\r\n }\r\n\r\n function downloadFile(bytes, name, contentType) {\r\n var a = document.createElement('a');\r\n\r\n document.body.appendChild(a);\r\n\r\n var file = new Blob([bytes], {\r\n type: contentType\r\n });\r\n\r\n var url = window.URL.createObjectURL(file);\r\n\r\n a.href = url;\r\n a.target = '_blank';\r\n a.download = name;\r\n\r\n a.click();\r\n\r\n //clear dom\r\n setTimeout(function () {\r\n a.parentNode.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 2000);\r\n }\r\n\r\n function subscribeToEvents() {\r\n var clientWatch = $scope.$watch('$ctrl.filter.clientId', function (newValue, oldValue) {\r\n\r\n if (!newValue) {\r\n vm.projectsByClient = [];\r\n return;\r\n } else {\r\n getExpensePendingSynchronization();\r\n }\r\n\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n loadProjectsByClient(newValue);\r\n });\r\n\r\n var dateFromWatch = $scope.$watch('$ctrl.filter.fromDate', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n var dateToWatch = $scope.$watch('$ctrl.filter.toDate', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n var accountWatch = $scope.$watch('$ctrl.filter.accountId', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n var projectWatch = $scope.$watch('$ctrl.filter.projectId', function (newValue, oldValue) {\r\n if (!newValue && !oldValue)\r\n return;\r\n\r\n getExpensePendingSynchronization();\r\n });\r\n\r\n $scope.$on(\"$destroy\", function () {\r\n clientWatch();\r\n dateFromWatch();\r\n dateToWatch();\r\n accountWatch();\r\n projectWatch();\r\n });\r\n }\r\n };\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('WinbizCloudService', WinbizCloudService);\r\n\r\n WinbizCloudService.$inject = ['$CoreService'];\r\n\r\n function WinbizCloudService($CoreService) {\r\n\r\n var service = this;\r\n var baseUrl = 'winbiz-cloud';\r\n\r\n service.saveConfig = saveConfig;\r\n service.getConfig = getConfig;\r\n service.getTvaMethods = getTvaMethods;\r\n service.getTvaTypes = getTvaTypes;\r\n service.getExpensePendingSynchronization = getExpensePendingSynchronization;\r\n service.sync = sync;\r\n service.syncAsCSV = syncAsCSV;\r\n\r\n function getConfig() {\r\n return $CoreService.get(baseUrl + '/settings');\r\n }\r\n\r\n function getTvaMethods() {\r\n return $CoreService.get(baseUrl + '/get-tva-methods');\r\n }\r\n\r\n function getTvaTypes() {\r\n return $CoreService.get(baseUrl + '/get-tva-types');\r\n }\r\n\r\n function saveConfig(item) {\r\n return $CoreService.post(baseUrl + '/settings', item);\r\n }\r\n\r\n function getExpensePendingSynchronization(filter) {\r\n return $CoreService.post(baseUrl + '/get-expenses-pending-synchronization', filter);\r\n }\r\n\r\n function sync(expenses) {\r\n return $CoreService.post(baseUrl + '/sync', expenses);\r\n }\r\n\r\n function syncAsCSV(expenses) {\r\n return $CoreService.getFileBytes(baseUrl + '/sync-as-csv', expenses);\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .service('ZoneService', ZoneService);\r\n\r\n ZoneService.$inject = ['$CoreService'];\r\n\r\n function ZoneService($CoreService) {\r\n\r\n var service = this;\r\n\r\n service.getAll = getAll;\r\n\r\n function getAll(filter) {\r\n return $CoreService.get(\"zone/get-all\");\r\n };\r\n }\r\n})();","(function (app) {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('zoneSelect', {\r\n controller: zoneSelectController,\r\n templateUrl: '/app/components/zone/zoneSelect.template.html',\r\n bindings: {\r\n model: '=ngModel',\r\n required: '$1');\r\n\r\n return $sce.trustAsHtml(text);\r\n };\r\n }\r\n ]);\r\n\r\n quickSearchController.$inject = [\"$timeout\", \"ExpenseService\"];\r\n\r\n function quickSearchController($timeout, ExpenseService) {\r\n var vm = this;\r\n\r\n //vars\r\n vm.filter;\r\n vm.expenses;\r\n vm.expenseType = {\r\n 1: \"expense_web-pressed.png\",\r\n 2: \"expense_car_web-pressed.png\"\r\n };\r\n\r\n //functions\r\n vm.searchExpenses = searchExpenses;\r\n vm.showExpense = showExpense;\r\n\r\n function showExpense(expenseId) {\r\n ExpenseService.getById(expenseId).then(function(expense) {\r\n app.expense.openExpenseModal(expense.id, expense.type, expense.status, expense.items.length > 1);\r\n vm.expenses = null;\r\n vm.filter = null;\r\n });\r\n }\r\n\r\n function searchExpenses() {\r\n if (vm.filter.length < 3) {\r\n vm.expenses = undefined;\r\n return;\r\n }\r\n\r\n ExpenseService.quickSearch(vm.filter).then(function(data) {\r\n $timeout(function() {\r\n vm.expenses = data;\r\n });\r\n });\r\n }\r\n }\r\n\r\n})(app);","//(function () {\r\n// 'use strict';\r\n// angular.module('xpense')\r\n// .component('querySidebar', {\r\n// controller: FilterSidebarController,\r\n// templateUrl: '/app/shared/sidebar/sidebar.template.html'\r\n// });\r\n\r\n// FilterSidebarController.$inject = ['$rootScope', '$timeout', 'QueryService'];\r\n\r\n// function FilterSidebarController($rootScope, $timeout, QueryService) {\r\n// var vm = this;\r\n\r\n// vm.quickFilters;\r\n// vm.ownerFilters;\r\n// vm.selecteditemIndex;\r\n// vm.selecteditemIndexQuickFilter;\r\n\r\n// vm.executeQuery = executeQuery;\r\n// vm.deleteQuery = deleteQuery;\r\n// vm.selectOwn = selectOwn;\r\n// vm.selectQuick = selectQuick;\r\n\r\n// // init\r\n// subscribeToEvents();\r\n// activate();\r\n\r\n// function activate() {\r\n// $timeout(function () {\r\n// vm.translate = app.localization;\r\n// });\r\n// loadQueries();\r\n// }\r\n\r\n// function loadQueries() {\r\n// vm.selecteditemIndex = null;\r\n// vm.selecteditemIndexQuickFilter = null;\r\n// QueryService.getAll().then(function (queries) {\r\n// $timeout(function () {\r\n// vm.ownerFilters = [];\r\n// vm.quickFilters = [];\r\n// $timeout(function () {\r\n// for (var i = 0; i < queries.length; i++) {\r\n// if (queries[i].isQuickFilter)\r\n// vm.quickFilters.push(angular.copy(queries[i]));\r\n// else\r\n// vm.ownerFilters.push(angular.copy(queries[i]));\r\n// }\r\n// });\r\n// });\r\n// });\r\n// }\r\n\r\n// function selectOwn(index) {\r\n// vm.selecteditemIndexQuickFilter = null;\r\n// vm.selecteditemIndex = index;\r\n// }\r\n\r\n// function selectQuick(index) {\r\n// vm.selecteditemIndexQuickFilter = index;\r\n// vm.selecteditemIndex = null;\r\n// }\r\n\r\n// function executeQuery(query) {\r\n// $rootScope.$emit('selectFilterFromSidebar', query.queryObject);\r\n// // app.filterExpenseViewModel().updateFilterUi(query.queryObject);\r\n// // app.listExpenseViewModel().loadView(query.queryObject);\r\n// }\r\n\r\n// function deleteQuery(query) {\r\n// QueryService.delete(query).then(function (resp) {\r\n// loadQueries();\r\n// });\r\n// }\r\n\r\n// function subscribeToEvents() {\r\n// $(document).on('xpense-update-filters', function () {\r\n// loadQueries();\r\n// });\r\n// }\r\n// };\r\n//})(app);","(function () {\r\n 'use strict';\r\n $(document).ready(function () {\r\n try {\r\n // Proxy\r\n // add event listener for receive message\r\n var notificationHubProxy = $.connection.notificationHub;\r\n\r\n // get new user notification and set pending read notifications\r\n notificationHubProxy.client.receiveMessage = function (notification , pendingReadNotifications) {\r\n toastr[\"info\"](notification);\r\n\r\n // change usernotification count\r\n $(\"#main-header-userNotification-span\").html(pendingReadNotifications);\r\n };\r\n\r\n // start connection when document is ready\r\n $.connection.hub.start().done(function () { });\r\n\r\n // if hub disconected try to reconnect in secure enviroment\r\n $.connection.hub.disconnected(function () {\r\n setTimeout(function () {\r\n $.connection.hub.start();\r\n }, 5000); // Restart connection after 5 seconds.\r\n });\r\n\r\n } catch (e) { }\r\n });\r\n})();","'use strict';\r\n(function () {\r\n\r\n // administration mode\r\n var administrationMode = {\r\n Grid: 'Grid',\r\n Filter: 'Grid',\r\n Edit: 'Edit',\r\n New: 'New'\r\n };\r\n\r\n // basic administration\r\n app.basicAdministration = function (configurations) {\r\n\r\n var self = this;\r\n\r\n self.administrationMode = administrationMode;\r\n\r\n // mode\r\n var mode = ko.observable(configurations.filterDiv || 'grid');\r\n\r\n // divs\r\n var filterDiv = $(\"#\" + (configurations.filterDiv || 'filter-div'));\r\n var gridDiv = $(\"#\" + (configurations.gridDiv || 'grid-div'));\r\n var editDiv = $(\"#\" + (configurations.editDiv || 'edit-div'));\r\n\r\n // buttons\r\n var addBtn = configurations.addButton || 'add-button';\r\n var cancelEditBtn = configurations.cancelEditButton || 'cancel-edit-button';\r\n var filterBtn = configurations.filterButton || 'filter-button';\r\n var cancelFilter = configurations.cancelFilter || 'cancel-filter-button';\r\n\r\n // change administration mode\r\n self.changeMode = function (mode) {\r\n switch (mode) {\r\n case administrationMode.Grid:\r\n showAdmin(gridDiv);\r\n hideAdmin(editDiv);\r\n hideAdmin(filterDiv);\r\n break;\r\n case administrationMode.Filter:\r\n showAdmin(filterDiv);\r\n hideAdmin(gridDiv);\r\n hideAdmin(editDiv);\r\n break;\r\n case administrationMode.Edit:\r\n showAdmin(editDiv);\r\n hideAdmin(filterDiv);\r\n hideAdmin(gridDiv);\r\n break;\r\n case administrationMode.New:\r\n showAdmin(editDiv);\r\n hideAdmin(filterDiv);\r\n hideAdmin(gridDiv);\r\n break;\r\n }\r\n\r\n mode(mode);\r\n };\r\n\r\n /* Buttons Events */\r\n // show admin\r\n var showAdmin = function (element) {\r\n //element.removeAttr(\"hidden\");\r\n //element.removeClass(\"flipOutY\");\r\n //element.addClass(\"animated flipInY\");\r\n element.show();\r\n };\r\n\r\n // hide admin\r\n var hideAdmin = function (element) {\r\n //element.removeClass(\"flipInY\");\r\n //element.addClass(\"animated flipOutY\");\r\n //element.prop('hidden', 'hidden');\r\n element.hide();\r\n };\r\n\r\n // action for add button\r\n $(\"#\" + addBtn).click(function () {\r\n\r\n // only do action if administration is not in new or edit mode\r\n if (mode() == administrationMode.Edit || mode() == administrationMode.New) {\r\n return;\r\n }\r\n\r\n // admin in new mode\r\n mode(administrationMode.New);\r\n showAdmin(editDiv);\r\n hideAdmin(gridDiv);\r\n });\r\n\r\n // action for cancel edit button\r\n $(\"#\" + cancelEditBtn).click(function () {\r\n\r\n // only do action if administration is not in grid mode\r\n if (mode() == administrationMode.Grid) {\r\n return;\r\n }\r\n\r\n // admin in new mode\r\n mode(administrationMode.Grid);\r\n showAdmin(gridDiv);\r\n hideAdmin(editDiv);\r\n });\r\n\r\n // filter button\r\n $(\"#\" + filterBtn).click(function () {\r\n\r\n // only do action if administration is not in new or edit mode\r\n if (mode() == administrationMode.Edit || mode() == administrationMode.New) {\r\n return;\r\n }\r\n\r\n // admin in filter mode\r\n mode(administrationMode.Filter);\r\n showAdmin(filterDiv);\r\n hideAdmin(gridDiv);\r\n });\r\n\r\n // cancel filter\r\n $(\"#\" + cancelFilter).click(function () {\r\n // only do action if administration is filter mode\r\n if (mode() != administrationMode.Filter) {\r\n return;\r\n }\r\n\r\n // admin in grid mode\r\n mode(administrationMode.Grid);\r\n showAdmin(gridDiv);\r\n hideAdmin(filterDiv);\r\n });\r\n };\r\n\r\n // data table\r\n app.dataTable = function (domId) {\r\n\r\n // table\r\n var table = $('#' + domId);\r\n\r\n // load datatable\r\n table.DataTable({\r\n \"responsive\": true,\r\n \"language\": {\r\n \"paginate\": {\r\n \"previous\": '',\r\n \"next\": ''\r\n }\r\n }\r\n });\r\n\r\n // paging event to fix nifty tooltip\r\n table.on('page.dt', function () {\r\n setTimeout(function () { nifty.loadToolTip(); }, 1000);\r\n });\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n Pod.define(\"shell-capslockHelper\", capslockHelper);\r\n\r\n function capslockHelper() {\r\n ///\r\n // bind jquery element with caps lock event\r\n var bind = function (jqueryElement, enableCapsCallback, disabledCapsCallback) {\r\n\r\n $(document).ready(function () {\r\n\r\n $(window).bind(\"capsOn\", function (event) {\r\n enableCapsCallback();\r\n });\r\n\r\n $(window).bind(\"capsOff capsUnknown\", function (event) {\r\n disabledCapsCallback();\r\n });\r\n\r\n jqueryElement.bind(\"focusout\", function (event) {\r\n disabledCapsCallback();\r\n });\r\n\r\n jqueryElement.bind(\"focusin\", function (event) {\r\n\r\n var capsLockStatus = $(window).capslockstate(\"state\");\r\n if (capsLockStatus === true) {\r\n enableCapsCallback();\r\n }\r\n });\r\n\r\n $(window).capslockstate();\r\n });\r\n };\r\n\r\n return {\r\n bind: bind\r\n }\r\n }\r\n})(window, document);","(function () {\r\n 'use strict';\r\n Pod.define(\"shell-input-helper\", function () {\r\n\r\n function setInputAsDecimal(jQueryObjects) {\r\n // only accept decimal values\r\n jQueryObjects.keypress(function (evt) {\r\n\r\n // check if the value is valid decimal\r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n else if (charCode == 46 && $(this).val().indexOf('.') != -1) {\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n function setInputAsInt(jQueryObjects) {\r\n jQueryObjects.keypress(function (event) {\r\n return event.charCode >= 48 && event.charCode <= 57;\r\n });\r\n };\r\n\r\n return {\r\n setInputAsDecimal: setInputAsDecimal,\r\n setInputAsInt: setInputAsInt,\r\n };\r\n })\r\n})(window, document);","(function () {\r\n 'use strict';\r\n // base services to call http calls to server\r\n Pod.define(\"shell-responseHandler\", function () {\r\n\r\n // show generic error message\r\n var showError = function (errorMessage) {\r\n // show toast error\r\n toastr.error(errorMessage, \"Error\", app.localization[\"Error\"]);\r\n };\r\n\r\n // default error message\r\n var showDefaultErrorMessage = function () {\r\n showError(app.localization[\"UnkownError\"], app.localization[\"Error\"]);\r\n };\r\n\r\n // show user alerts\r\n var showAlerts = function (alertsArray) {\r\n\r\n if (alertsArray instanceof Array) {\r\n\r\n // if array do not have any item\r\n if (alertsArray.length == 0)\r\n return;\r\n\r\n // foreach show toast warning\r\n $.each(alertsArray, function (i, item) {\r\n toastr.warning(item, app.localization[\"Alert\"]);\r\n });\r\n }\r\n };\r\n\r\n // deferred result\r\n var deferredResult = function (data, deferred) {\r\n\r\n // resolve pending promise\r\n deferred.resolve(data);\r\n };\r\n\r\n // handle\r\n var handle = function (response, deferred, ajaxConfig) {\r\n if (response) {\r\n var isHtml = ajaxConfig ? ajaxConfig.dataType == 'html' : false;\r\n\r\n if (!isHtml) {\r\n switch (response.result) {\r\n case 'success':\r\n if (response.alerts) {\r\n showAlerts(response.alerts);\r\n }\r\n deferredResult(response.data, deferred);\r\n break;\r\n case 'error':\r\n showError(response.errorMessage);\r\n deferred.reject();\r\n break;\r\n case 'fatal-error':\r\n showDefaultErrorMessage();\r\n deferred.reject();\r\n break;\r\n };\r\n }\r\n else\r\n deferredResult(response, deferred);\r\n } else {\r\n // server cant not process request\r\n showDefaultErrorMessage();\r\n }\r\n };\r\n\r\n return {\r\n handle: handle\r\n };\r\n });\r\n})();","(function () {\r\n 'use strict';\r\n // base services to call http calls to server\r\n Pod.define(\"shell-rest\", [\"shell-responseHandler\"], function (handler) {\r\n\r\n /*********************\r\n - Jquery Ajax Configurations for wrapper\r\n **********************/\r\n // const\r\n var httpVerbs = {\r\n get: 'Get',\r\n post: 'Post',\r\n delete: 'Delete',\r\n put: 'Put'\r\n };\r\n\r\n // dataType\r\n var httpDataType = {\r\n json: 'json',\r\n xml: 'xml'\r\n };\r\n\r\n // data content typ\r\n var contentType = {\r\n formUrlEncoded: 'application/x-www-form-urlencoded; charset=UTF-8',\r\n formData: 'multipart/form-data',\r\n textPlain: 'text/plain',\r\n json: 'application/json',\r\n };\r\n\r\n /*********************\r\n - Jquery Ajax Handler\r\n **********************/\r\n // call ajax function\r\n var callAjax = function (configurations, deferred) {\r\n\r\n // get configurations to call jquery ajax\r\n var buildAjax = processServicesConfiguratiosn(configurations);\r\n\r\n // unique ajax call cross system\r\n $.ajax({\r\n data: buildAjax.data,\r\n type: buildAjax.httpType,\r\n dataType: buildAjax.dataType,\r\n cache: buildAjax.cache,\r\n url: buildAjax.url,\r\n async: buildAjax.async,\r\n beforeSend: function (xhr) {\r\n xhr.setRequestHeader('Authorization', 'EX-app-format');\r\n xhr.setRequestHeader('ApplicationName', 'ExpenseReportManager');\r\n },\r\n success: function (response) {\r\n handler.handle(response, deferred, buildAjax); //resolve promise\r\n },\r\n fail: function () {\r\n handler.handle(response, deferred); //resolve promise\r\n },\r\n });\r\n };\r\n\r\n // cross process input configurations to set default values\r\n var processServicesConfiguratiosn = function (configurations) {\r\n return {\r\n cache: configurations.cache || false, //default false\r\n httpType: configurations.type || httpVerbs.get, // default get\r\n dataType: configurations.dataType || httpDataType.json, //default json\r\n async: configurations.async || true, //default async\r\n traditional: configurations.traditional || false, //default no traditional for array objects\r\n contentType: configurations.contentType || contentType.json, //default json\r\n url: configurations.url,\r\n data: configurations.data,\r\n };\r\n };\r\n\r\n /*********************\r\n - REST Api calls\r\n **********************/\r\n // build common deferred request\r\n var commonAjaxRequest = function (httpDefaultType, configurations) {\r\n var deferred = new $.Deferred();\r\n configurations.type = httpDefaultType;\r\n callAjax(configurations, deferred);\r\n return deferred.promise();\r\n };\r\n\r\n // http get\r\n var get = function (configurations) {\r\n return commonAjaxRequest(httpVerbs.get, configurations);\r\n };\r\n\r\n // http post\r\n var post = function (configurations) {\r\n return commonAjaxRequest(httpVerbs.post, configurations);\r\n };\r\n\r\n // http put\r\n var put = function (configurations) {\r\n return commonAjaxRequest(httpVerbs.put, configurations);\r\n };\r\n\r\n // http delete\r\n var _delete = function (configurations) {\r\n return commonAjaxRequest(httpVerbs.delete, configurations);\r\n };\r\n\r\n return {\r\n get: get,\r\n post: post,\r\n put: put,\r\n delete: _delete,\r\n };\r\n });\r\n\r\n})();","'use strict';\r\n(function () {\r\n // base Property for custom view models\r\n app.property = function (obj) {\r\n\r\n var self = this;\r\n\r\n // define value for observable\r\n if (obj.value instanceof Array) {\r\n\r\n // obervable array\r\n self.value = ko.observableArray(obj.value);\r\n\r\n // array is true\r\n self.isArray = true;\r\n\r\n // if exist services to load array then call here\r\n if (obj.services) {\r\n\r\n // loading array is true\r\n self.isLoadingArray = true;\r\n\r\n // -- call populate array services\r\n obj.services(function (arrayFromServices) {\r\n\r\n // set array object\r\n self.value(arrayFromServices);\r\n\r\n // finish to load array\r\n self.isLoadingArray = false;\r\n });\r\n }\r\n\r\n } else {\r\n\r\n // simple value\r\n self.value = ko.observable(obj.value === undefined ? null : obj.value);\r\n\r\n // array is false\r\n self.isArray = false;\r\n }\r\n\r\n // obj is required \r\n self.required = obj.required || false;\r\n\r\n // if validation is not defined but data is required then define validation\r\n if (!obj.validation && self.required) {\r\n\r\n obj.validation = function () {\r\n if (!((self.isArray && self.value() && self.value().length > 0) || (!self.isArray && self.value()))) {\r\n return app.localization[\"IsRequired\"];\r\n }\r\n };\r\n }\r\n\r\n // if validation is defined and data is required\r\n if (obj.validation && self.required) {\r\n\r\n var originalValidation = obj.validation;\r\n\r\n obj.validation = function () {\r\n if (!((self.isArray && self.value() && self.value().length > 0) || (!self.isArray && self.value()))) {\r\n return app.localization[\"IsRequired\"];\r\n }\r\n\r\n return originalValidation();\r\n };\r\n }\r\n\r\n // base is valid function\r\n self.isValid = ko.computed(function () {\r\n return (!obj.validation || !obj.validation());\r\n });\r\n\r\n // base is not valid function\r\n self.isNotValid = ko.computed(function () {\r\n return !(!obj.validation || !obj.validation());\r\n });\r\n\r\n // show error validation\r\n self.error = ko.computed(function () {\r\n if (!obj.validation)\r\n return '';\r\n\r\n return obj.validation();\r\n });\r\n\r\n // determina is object has error\r\n self.hasError = ko.computed(function () {\r\n return !self.error();\r\n });\r\n\r\n // Css class to input only for not array values\r\n self.css = ko.computed(function () {\r\n if (self.isValid()) {\r\n // -- for div success\r\n return \"form-group has-success\";\r\n } else {\r\n // -- for div error\r\n return \"form-group has-error\";\r\n }\r\n });\r\n\r\n // tooltip validation css\r\n self.cssValidation = ko.computed(function () {\r\n if (self.isValid()) {\r\n return {\r\n css: \"input-success\",\r\n glyphicon: \"glyphicon glyphicon-ok\"\r\n }\r\n } else {\r\n return {\r\n css: \"input-error tooltips\",\r\n glyphicon: \"glyphicon glyphicon-exclamation-sign\"\r\n }\r\n }\r\n });\r\n\r\n // is loading array\r\n self.isLoading = ko.computed(function () {\r\n return self.isLoadingArray;\r\n });\r\n }\r\n\r\n})();","'use strict';\r\n(function () {\r\n app.checkBox = function (domElement, observable) {\r\n\r\n var self = this;\r\n\r\n self.domHtmlElement = domElement;\r\n\r\n // fill css clas\r\n var fillHtmlCssClass = function (flag) {\r\n self.domHtmlElement.removeClass(\"active\");\r\n if (flag) {\r\n self.domHtmlElement.addClass(\"active\");\r\n }\r\n };\r\n\r\n // fill\r\n fillHtmlCssClass(observable.value());\r\n\r\n // add listener to update observable\r\n self.domHtmlElement.click(function () {\r\n observable.value(!observable.value());\r\n // fill\r\n fillHtmlCssClass(observable.value());\r\n });\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n Pod.define(\"modal\", [\"confirm-modal-component\"], modal);\r\n\r\n // modal\r\n function modal(confirmModalComponent) {\r\n\r\n return {\r\n confirm: confirm,\r\n }\r\n\r\n // confirm modal\r\n function confirm(configs) {\r\n\r\n // configurations\r\n var configurations = configs || {};\r\n\r\n var message = configurations.message || \"\";\r\n var messageConfirmBtn = configurations.messageConfirmBtn || app.localization.OK;\r\n var messageCancelBtn = configurations.messageCancelBtn || app.localization.Cancel;\r\n var messageTitle = configurations.title || \"\";\r\n self.confirm = configurations.confirm || function () { };\r\n self.cancel = configurations.cancel || function () { };\r\n \r\n if (!$(\"[data-custom-modal=confirmModal]\").lenght) {\r\n // esto te va a retornar el html\r\n $(document.body).append(confirmModalComponent.build());\r\n }\r\n\r\n // dom elements\r\n var confirmBtn = $(\"#confirm-action-btn\");\r\n var cancelBtn = $(\"#cancel-action-btn\");\r\n var title = $(\"#custom-modal-title\");\r\n var modalElement = $(\"#confirm-modal\");\r\n var messageElement = $(\"#custom-modal-message\");\r\n\r\n // set configurations\r\n confirmBtn.text(messageConfirmBtn);\r\n confirmBtn.off().on(\"click\", function () {\r\n self.confirm();\r\n modalElement.modal(\"hide\");\r\n });\r\n\r\n cancelBtn.text(messageCancelBtn);\r\n cancelBtn.off().on(\"click\", function () {\r\n self.cancel();\r\n modalElement.modal(\"hide\");\r\n });\r\n\r\n title.text(messageTitle);\r\n messageElement.text(message);\r\n\r\n // show modal\r\n modalElement.modal();\r\n }\r\n }\r\n})(window, document);","'use strict';\r\n(function () {\r\n app.currencyPicker = function (controlId) {\r\n var self = this;\r\n\r\n // controls\r\n var spanTriggerControl = $(\"#span-currency-picker-\" + controlId);\r\n\r\n // init control\r\n var initInputControl = function (inputControl, mode) {\r\n var _mode = mode || \"decimal\";\r\n\r\n var that = inputControl;\r\n\r\n if (_mode === \"decimal\") {\r\n\r\n // only accept decimal values\r\n that.keypress(function (evt) {\r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n });\r\n }\r\n else {\r\n // only accept integer values\r\n that.keydown(function (e) {\r\n -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) || /65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey) || 35 <= e.keyCode && 40 >= e.keyCode || (e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) && (96 > e.keyCode || 105 < e.keyCode) && e.preventDefault()\r\n });\r\n }\r\n };\r\n\r\n // set symbol value text\r\n self.setSymbol = function (symbol) {\r\n spanTriggerControl.text(symbol);\r\n };\r\n\r\n // init control\r\n self.init = function (callBackToUpdate, mode) {\r\n\r\n // controls\r\n var buttonOpenModalTrigger = $(\"#currency-picker-\" + controlId);\r\n var buttonForSelectCurrency = $(\"#currency-picker-\" + controlId + \"-save\");\r\n var buttonForCloseModal = $(\"#currency-picker-\" + controlId + \"-close\");\r\n var selectControl = $(\"#currency-picker-\" + controlId + \"-control\");\r\n\r\n // control to input ammount\r\n var inputControl = $(\"#currency-\" + controlId);\r\n initInputControl(inputControl, mode);\r\n\r\n // configure controls\r\n spanTriggerControl.click(function () {\r\n buttonOpenModalTrigger.click();\r\n });\r\n\r\n $(document).ready(function () {\r\n // set default value\r\n callBackToUpdate($(\"#default-currency-picker-\" + controlId).val());\r\n });\r\n\r\n // select click\r\n buttonForSelectCurrency.click(function () {\r\n // update observable\r\n if (!!callBackToUpdate) {\r\n\r\n // show the selected currency\r\n var text = $(\"#currency-picker-\" + controlId + \"-control option:selected\")\r\n .text()\r\n self.setSymbol(text);\r\n callBackToUpdate(selectControl.val());\r\n }\r\n\r\n buttonForCloseModal.click();\r\n\r\n //TODO : Extend for no-ko properties\r\n });\r\n };\r\n };\r\n})();","'use strict';\r\n(function () {\r\n app.dateProperty = function () {\r\n\r\n var self = this;\r\n\r\n // values\r\n self.day = {};\r\n self.month = {};\r\n self.year = {};\r\n\r\n // max days in month\r\n self.maxDaysInMonth = function (month, year) {\r\n return new Date(year, month, 0).getDate();\r\n }\r\n\r\n /* Date Picker Widget */\r\n self.init = function (propertyKey) {\r\n\r\n // picker select\r\n self.day = $(\"#day-\" + propertyKey);\r\n self.month = $(\"#month-\" + propertyKey);\r\n self.year = $(\"#year-\" + propertyKey);\r\n\r\n // add event listener to month selet to populate the days\r\n self.month.change(function () {\r\n\r\n var currentDayValue = self.day.val();\r\n var maxDays = self.maxDaysInMonth(self.month.val(), self.year.val());\r\n\r\n self.day.empty(); // clear select\r\n // complete days\r\n for (var i = 1; i <= maxDays; i++) {\r\n self.day.append(\"\");\r\n }\r\n if (currentDayValue > maxDays) {\r\n self.day.val(maxDays); // set max day like day value\r\n }\r\n else {\r\n self.day.val(currentDayValue); // set curent date like day value\r\n }\r\n });\r\n }\r\n\r\n // get date\r\n self.getDate = function () {\r\n\r\n // if date picker has not value\r\n if ((!self.day.val() || self.day.val() == \"\") && (!self.month.val() || self.month.val() == \"\")\r\n && (!self.year.val() || self.year.val() == \"\")) {\r\n return null;\r\n }\r\n\r\n return {\r\n day: self.day.val(),\r\n month: self.month.val(),\r\n year: self.year.val()\r\n };\r\n };\r\n\r\n // set date to widget\r\n self.setDate = function (dateObj) {\r\n self.day.val(dateObj.day);\r\n self.month.val(dateObj.month);\r\n self.year.val(dateObj.year);\r\n };\r\n\r\n // set today as default\r\n self.setToday = function () {\r\n var d = new Date();\r\n\r\n self.setDate({\r\n day: d.getDate(),\r\n month: d.getMonth() + 1,\r\n year: d.getFullYear(),\r\n });\r\n };\r\n\r\n /* Date Picker Widget */\r\n };\r\n})();","'use strict';\r\n(function () {\r\n app.decimalInput = function (controlId) {\r\n\r\n var control = $(\"#\" + controlId);\r\n\r\n // only accept decimal values\r\n control.keypress(function (evt) {\r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n });\r\n };\r\n})();","'use strict';\r\n(function () {\r\n // base widget for ko grid\r\n app.koGrid = function (configurations) {\r\n var self = this;\r\n\r\n // fix\r\n if (!configurations) configurations = {};\r\n\r\n // properties\r\n self.orderByDefault = ko.observable(configurations.orderDefaultBy || 'id');\r\n self.orderBy = ko.observable(self.orderByDefault());\r\n self.page = ko.observable(configurations.page || 1); //default is page 1\r\n self.pageSize = ko.observable(configurations.pageSize || 10); // page size\r\n self.data = ko.observableArray([]); //data for page\r\n self.asc = ko.observable(true);\r\n\r\n /* Computed */\r\n // current page\r\n self.currentPage = ko.computed(function () {\r\n return self.page();\r\n }, self);\r\n\r\n // current order by\r\n self.currentOrderBy = ko.computed(function () {\r\n return self.orderBy();\r\n }, self);\r\n\r\n // current order mode\r\n self.currentOrderMode = ko.computed(function () {\r\n return self.asc();\r\n }, self);\r\n\r\n // order css class\r\n self.orderIcon = ko.computed(function () {\r\n return self.asc() ? \"glyphicon glyphicon-chevron-up\" : \"glyphicon glyphicon-chevron-down\";\r\n }, self);\r\n\r\n /* Events */\r\n // start grid\r\n self.load = function (pageResult) {\r\n\r\n // set data\r\n $.each(pageResult.result, function (i, item) {\r\n self.data.push(item);\r\n });\r\n\r\n // total items\r\n var totalItems = pageResult.count;\r\n\r\n // total page\r\n var totalPage = app.getPageCount(totalItems, self.pageSize());\r\n };\r\n\r\n // order\r\n self.order = function (orderColumn) {\r\n if (self.orderBy() === orderColumn) {\r\n self.asc(!self.asc());\r\n }\r\n else {\r\n self.orderBy(orderColumn);\r\n self.asc(true);\r\n }\r\n };\r\n };\r\n})();","'use strict';\r\n(function () {\r\n app.multiSelect = function (domElement, vals) {\r\n\r\n var self = this;\r\n\r\n self.domHtmlElement = domElement;\r\n\r\n self.domHtmlElement.val(vals);\r\n self.domHtmlElement.chosen({ width: '100%' });\r\n };\r\n})();","(function ($) {\r\n\r\n // check/uncheck nifty checkbox\r\n $.fn.check = function (value) {\r\n var self = this;\r\n\r\n if (value) {\r\n self.niftyCheck('toggleOn');\r\n } else {\r\n self.niftyCheck('toggleOff');\r\n }\r\n }\r\n\r\n $.fn.isChecked = function () {\r\n var self = this;\r\n\r\n return self.niftyCheck('isChecked');\r\n }\r\n\r\n $.fn.disableCheckBox = function () {\r\n var self = this;\r\n $(this).toggleClass(\"disabled\");\r\n $(this).find('input[type=checkbox]').prop(\"disabled\", true);\r\n }\r\n\r\n $.fn.enableCheckBox = function () {\r\n var self = this;\r\n $(this).toggleClass(\"disabled\");\r\n $(this).find('input[type=checkbox]').prop(\"disabled\", false);\r\n }\r\n}(jQuery));","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('accountAdministration', {\r\n controller: accountAdministrationController,\r\n templateUrl: '/app/components/account/administration/administration.template.html'\r\n });\r\n\r\n accountAdministrationController.$inject = ['$scope'];\r\n\r\n function accountAdministrationController($scope) {\r\n var vm = this;\r\n\r\n vm.shared;\r\n\r\n vm.$onInit = function () {\r\n vm.shared = {\r\n item: {},\r\n isEdit: false,\r\n showForm: false,\r\n uploadImage: false\r\n };\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('accountAdministrationForm', {\r\n controller: accountAdministrationFormController,\r\n templateUrl: '/app/components/account/administration/administrationForm.template.html',\r\n bindings: {\r\n shared: '=',\r\n }\r\n });\r\n\r\n accountAdministrationFormController.$inject = ['$scope', '$rootScope', 'AccountService', 'BexioService', 'messagesServices'];\r\n\r\n function accountAdministrationFormController($scope, $rootScope, AccountService, BexioService, messagesServices) {\r\n var vm = this;\r\n\r\n //vars\r\n vm.item;\r\n vm.bexioContacts;\r\n vm.loading;\r\n vm.isLoading = false;\r\n\r\n //funcs\r\n vm.save = save;\r\n vm.getBexioContacts = getBexioContacts;\r\n vm.currentUser = {};\r\n\r\n vm.$onInit = function () {\r\n vm.currentUser = app.currentUser;\r\n\r\n if (vm.shared.isEdit) {\r\n AccountService.get(vm.shared.item.id).then(function (item) {\r\n vm.item = item;\r\n });\r\n } else {\r\n vm.item = {}\r\n }\r\n\r\n if (app.currentUser.hasBexioActive) {\r\n isConnected();\r\n }\r\n }\r\n\r\n function isConnected() {\r\n BexioService.isConnected().then(function (conn) {\r\n vm.isConnected = conn;\r\n });\r\n }\r\n\r\n\r\n function getBexioContacts() {\r\n vm.isLoading = true;\r\n\r\n if (!typeof (vm.item.bexioContact) == \"string\" || vm.item.bexioContact.length < 3) {\r\n vm.isLoading = false;\r\n return;\r\n }\r\n\r\n BexioService.getContacts(vm.item.bexioContact).then(function (contacts) {\r\n vm.bexioContacts = contacts;\r\n }).finally(function () { vm.isLoading = false; });\r\n }\r\n\r\n function save() {\r\n if (!vm.item.name)\r\n return;\r\n\r\n vm.item.bexioContactId = vm.item.bexioContact && vm.item.bexioContact.id ? vm.item.bexioContact.id : null;\r\n\r\n if (vm.shared.isEdit) {\r\n AccountService.update(vm.item).then(function () {\r\n messagesServices.success($rootScope.translate.SavedSuccessfully);\r\n vm.shared.showForm = false;\r\n });\r\n } else {\r\n AccountService.create(vm.item).then(function () {\r\n messagesServices.success($rootScope.translate.SavedSuccessfully);\r\n vm.shared.showForm = false;\r\n });\r\n }\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .component('accountAdministrationList', {\r\n controller: accountAdministrationListController,\r\n templateUrl: '/app/components/account/administration/administrationList.template.html',\r\n bindings: {\r\n shared: '=',\r\n }\r\n });\r\n\r\n accountAdministrationListController.$inject = ['$scope', '$rootScope', 'AccountService', 'messagesServices'];\r\n\r\n function accountAdministrationListController($scope, $rootScope, AccountService, messagesServices) {\r\n var vm = this;\r\n\r\n //vars\r\n vm.items;\r\n vm.itemToDelete;\r\n vm.currentUser = {};\r\n\r\n //funcs\r\n vm.remove = remove;\r\n vm.toggleEnabled = toggleEnabled;\r\n \r\n vm.$onInit = function () {\r\n vm.currentUser = app.currentUser;\r\n getAll();\r\n }\r\n\r\n function getAll() {\r\n AccountService.getAll(null, true).then(function (items) {\r\n vm.items = items;\r\n });\r\n }\r\n\r\n function remove() {\r\n AccountService.remove(vm.itemToDelete.id).then(function () {\r\n messagesServices.success($rootScope.translate.DeletedSuccessfully);\r\n getAll();\r\n vm.itemToDelete = null;\r\n }, function (err) {\r\n messagesServices.danger($rootScope.translate.Error);\r\n });\r\n }\r\n\r\n function toggleEnabled(item) {\r\n AccountService.toggleEnabled(item.id).then(function (data) {\r\n messagesServices.success($rootScope.translate.SavedSuccessfully);\r\n getAll();\r\n });\r\n }\r\n }\r\n})(app);","(function () {\r\n 'use strict';\r\n angular.module('xpense')\r\n .directive(\"fileread\", [function () {\r\n return {\r\n scope: {\r\n fileread: \"=\"\r\n },\r\n link: function (scope, element, attributes) {\r\n element.bind(\"change\", function (changeEvent) {\r\n var reader = new FileReader();\r\n reader.onload = function (loadEvent) {\r\n scope.$apply(function () {\r\n scope.fileread = loadEvent.target.result;\r\n });\r\n }\r\n reader.readAsDataURL(changeEvent.target.files[0]);\r\n });\r\n }\r\n }\r\n }])\r\n .component('accountUploadImage', {\r\n controller: accountUploadImageController,\r\n templateUrl: '/app/components/account/administration/uploadImage.template.html',\r\n bindings: {\r\n shared: '=',\r\n }\r\n });\r\n\r\n accountUploadImageController.$inject = ['$scope'];\r\n\r\n function accountUploadImageController($scope) {\r\n var vm = this;\r\n vm.item;\r\n vm.newImg;\r\n\r\n //func\r\n vm.save = save;\r\n\r\n vm.$onInit = function () {\r\n vm.item = angular.copy(vm.shared.item);\r\n }\r\n\r\n subscribeToEvents();\r\n\r\n function save() {\r\n $(\"#form-change-image\").attr(\"action\", \"/account/upload-image/\" + vm.item.id);\r\n \r\n $(\"#form-change-image\").submit();\r\n }\r\n\r\n function subscribeToEvents() {\r\n var watchFile = $scope.$watch(\"$ctrl.newImg\", function () {\r\n if (vm.newImg)\r\n vm.item.imagePath = vm.newImg;\r\n });\r\n }\r\n };\r\n})(app);","'use strict';\r\n(function () {\r\n // execute to show expense details\r\n app.monthlyReportConfigurationsViewModel = function (configurationsArray) {\r\n var self = this;\r\n\r\n self.configurations = ko.observable({});\r\n\r\n // change is Enabled\r\n app.changeMonthlyReportConfigurationEnabled = function (id) {\r\n var aux = self.configurations();\r\n\r\n for (var item in self.configurations()) {\r\n if (item == id) {\r\n\r\n var domCheckboxElement = $(\"#param-enabled-\" + id);\r\n // is the selected param\r\n var obj = aux[id];\r\n\r\n var isChecked = domCheckboxElement[0].checked;\r\n\r\n if (isChecked) {\r\n obj.enabled = true;\r\n } else {\r\n // disabled\r\n obj.enabled = null;\r\n }\r\n\r\n obj.enabled = isChecked;\r\n aux[id] = obj; // set\r\n }\r\n }\r\n\r\n // replace\r\n self.configurations(aux);\r\n };\r\n\r\n // push every object to validate\r\n $.each(configurationsArray, function (i, item) {\r\n\r\n var aux = self.configurations();\r\n\r\n // build action\r\n aux[item.id.toString()] = {\r\n position: item.order,\r\n id: item.id,\r\n enabled: item.enabled\r\n };\r\n\r\n // replace\r\n self.configurations(aux);\r\n });\r\n\r\n // save\r\n self.save = function () {\r\n\r\n var array = [];\r\n for (var item in self.configurations()) {\r\n\r\n var obj = self.configurations()[item];\r\n\r\n // add object to save\r\n array.push({\r\n id: obj.id,\r\n enabled: obj.enabled,\r\n order: obj.order,\r\n });\r\n }\r\n\r\n // set array\r\n self.arrayToCofirm = array;\r\n\r\n // call ajax to save excel configurations\r\n $.ajax({\r\n data: JSON.stringify({ 'list': array }),\r\n cache: false,\r\n type: 'POST',\r\n traditional: true,\r\n contentType: 'application/json',\r\n url: '/configurations/monthly-report',\r\n success: function (htmlResult) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n }\r\n });\r\n };\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n app.adminViewModel = function () {\r\n\r\n // dom elements\r\n var btnCreate = $(\"#btn-create\");\r\n\r\n var init = function () {\r\n app.filterExpenseViewModel().init();\r\n app.listExpenseViewModel().init();\r\n btnCreate.on(\"click\", initTypeSelector);\r\n }\r\n\r\n var initTypeSelector = function () {\r\n app.expenseTypeSelectorViewModel().init();\r\n }\r\n\r\n return {\r\n init: init,\r\n }\r\n };\r\n})(window, document);","(function () {\r\n 'use strict';\r\n\r\n app.expenseTypeSelectorViewModel = function () {\r\n\r\n // // dom elements\r\n // var btnCreateExpense = $(\"#btn-create-expense\");\r\n // var btnCreateTripExpense = $(\"#btn-create-trip\");\r\n\r\n // var init = function () {\r\n // btnCreateExpense.off().on(\"click\", initExpense);\r\n // btnCreateTripExpense.off().on(\"click\", initTrip);\r\n // }\r\n\r\n // var initExpense = function () {\r\n // app.createExpenseViewModel().init(\"Expense\");\r\n // }\r\n\r\n // var initTrip = function () {\r\n // app.createExpenseViewModel().init(\"Trip\");\r\n // }\r\n\r\n // return {\r\n // init: init,\r\n // }\r\n }\r\n})();","(function () {\r\n 'use strict'\r\n app.filterExpenseViewModel = function () {\r\n\r\n // modules\r\n var projectServices = Pod.require(\"projectServices\");\r\n var expenseServices = Pod.require(\"expenseServices\");\r\n var queryServices = Pod.require(\"queryServices\");\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n var settlementServices = Pod.require(\"settlementServices\");\r\n var clientServices = Pod.require(\"clientServices\");\r\n\r\n // dom elements\r\n var clientFilterSelect = $(\"#clientSelect\");\r\n var projectFilterSelect = $(\"#project-select-id\");\r\n var accountSelect = $(\"#account-select-id\");\r\n var statusSelect = $(\"#status-select-id\");\r\n var description = $(\"#expense-description\");\r\n var amount = $(\"#filter-expense-amount\");\r\n var serviceSelect = $(\"#service-select-id\");\r\n var paymentMethodSelect = $(\"#filter-payment-method-select\");\r\n var fromDate = $(\"#filter-from-date\");\r\n var toDate = $(\"#filter-to-date\");\r\n var creationFromDate = $(\"#filter-creation-date-from\");\r\n var creationToDate = $(\"#filter-creation-date-to\");\r\n var settleStatusSelect = $(\"#xpense-settlement-status-select\");\r\n var amountOperatorSelect = $(\"#xpense-amount-operator-select\");\r\n\r\n var btnSaveFilter = $(\"#save-filter\");\r\n var btnClearFilter = $(\"#clear-filter\");\r\n var btnCleanFilter = $(\"#clean-filter\");\r\n var btnExportToCsv = $(\"#btn-export-csv\");\r\n var btnExportToZip = $(\"#btn-export-zip\");\r\n var btnExportWinbiz = $(\"#btn-export-winbiz\");\r\n var btnExportPdf = $(\"#btn-export-pdf\");\r\n var btnShowFilters = $(\"#show-filter-sidebar\");\r\n\r\n var currencyFilterSelect = $(\"#currency-filter-select\");\r\n\r\n var expenseList = $(\"#expense-list\");\r\n\r\n // variables\r\n var currentUser = app.currentUser;\r\n\r\n var showDisabled = false;\r\n\r\n var init = function () {\r\n\r\n $(\"#mycheckbox\").on('click', function(e) {\r\n projectFilterSelect.empty();\r\n projectFilterSelect.attr('disabled', 'disabled');\r\n showDisabled = !showDisabled;\r\n initClientSelect();\r\n });\r\n\r\n var today = new Date();\r\n\r\n // init from and to date controls\r\n fromDate.customDatePicker({\r\n max: today,\r\n nullable: true\r\n });\r\n toDate.customDatePicker({\r\n max: today,\r\n nullable: true\r\n });\r\n\r\n //init creation from and to controls\r\n creationFromDate.customDatePicker({\r\n max: today,\r\n nullable: true\r\n });\r\n creationToDate.customDatePicker({\r\n max: today,\r\n nullable: true\r\n });\r\n\r\n // allFilters();\r\n\r\n initialControls();\r\n\r\n //perform search with default filter on init\r\n filter();\r\n\r\n $(\"form#expenses-filter :input\").on(\"change keyup\", function (event) {\r\n if (event.target.id == \"expense-description\" && event.target.value && event.target.value.length <= 3)\r\n return;\r\n app.listExpenseViewModel().loadView(buildFilter(1));\r\n });\r\n\r\n btnExportToCsv.off().on(\"click\", function() {\r\n app.exportExcelFileViewModel().download(buildFilter(0));\r\n });\r\n\r\n btnExportToZip.off().on(\"click\", function() {\r\n var filter = buildFilter(0);\r\n filter.exportToZip = true;\r\n app.exportExcelFileViewModel().download(filter);\r\n });\r\n\r\n btnExportWinbiz.off().on(\"click\", function() {\r\n app.winBizExportFileViewModel().download(buildFilter(0));\r\n });\r\n\r\n btnExportPdf.off().on(\"click\", function() {\r\n location.href = \"/report/expense\"\r\n });\r\n }\r\n\r\n var initialControls = function () {\r\n accountSelect.val(currentUser.id);\r\n if(!currentUser.isAdmin && !currentUser.isValidator)\r\n accountSelect.attr('disabled', true);\r\n projectFilterSelect.attr('disabled', true);\r\n initClientSelect();\r\n initServiceSelect();\r\n initSettleStatusSelect();\r\n\r\n btnSaveFilter.on(\"click\", saveFilters);\r\n btnCleanFilter.on(\"click\", cleanFilter);\r\n\r\n btnShowFilters.on(\"click\", function(e) {\r\n $(\"#xpense-queries\").animate({width:'toggle'},300);\r\n });\r\n }\r\n\r\n var saveFilters = function () {\r\n var filter = buildFilter(1);\r\n app.modalSaveFilterViewModel().init(filter);\r\n }\r\n\r\n var clientOnChangeHanlder = function () {\r\n var clientSelected = clientFilterSelect.val();\r\n\r\n projectFilterSelect.empty();\r\n\r\n if (!clientSelected) {\r\n projectFilterSelect.attr('disabled', 'disabled');\r\n return;\r\n }\r\n\r\n populateProjectsByClient(clientSelected, null);\r\n }\r\n\r\n var initClientSelect = function () {\r\n clientFilterSelect.unbind(\"change\");\r\n clientFilterSelect.empty();\r\n clientFilterSelect.prepend('');\r\n clientServices.getAll(null, showDisabled).done(function(clients) {\r\n for(var i = 0; i < clients.length; i++) {\r\n var client = clients[i];\r\n clientFilterSelect.append(\r\n ''\r\n )\r\n }\r\n });\r\n clientFilterSelect.on(\"change\", clientOnChangeHanlder);\r\n clientFilterSelect.on(\"change\", function (event) {\r\n app.listExpenseViewModel().loadView(buildFilter(1));\r\n });\r\n\r\n }\r\n\r\n var initServiceSelect = function () {\r\n serviceSelect.prepend('');\r\n serviceSelect.val($('#service-select-id option:first-child').val());\r\n }\r\n\r\n\r\n var initSettleStatusSelect = function () {\r\n settleStatusSelect.prepend('');\r\n settleStatusSelect.val($(\"#xpense-settle-status-select option:first-child\").val());\r\n\r\n settlementServices.getSettleStatusTypes().done(function (arrOfStatus) {\r\n $.each(arrOfStatus, function (index, item) {\r\n settleStatusSelect.append(\"\");\r\n });\r\n });\r\n\r\n }\r\n\r\n var populateProjectsByClient = function (clientSelected, setProjectId) {\r\n projectServices.getOpen(clientSelected)\r\n .done(function (projects) {\r\n\r\n //default option\r\n projectFilterSelect.append('')\r\n\r\n $.each(projects, function (index, project) {\r\n projectFilterSelect.append('');\r\n });\r\n\r\n projectFilterSelect.removeAttr('disabled');\r\n\r\n if(setProjectId) {\r\n projectFilterSelect.val(setProjectId);\r\n }\r\n });\r\n }\r\n\r\n var buildFilter = function (currentPage) {\r\n var paymentMethodId = paymentMethodSelect.val();\r\n var fromDto = fromDate.getDateDto();\r\n var toDto = toDate.getDateDto();\r\n\r\n var creationFromDto = creationFromDate.getDateDto();\r\n var creationToDto = creationToDate.getDateDto();\r\n\r\n return {\r\n page: currentPage,\r\n filter: description.val() ? description.val() : \"\",\r\n accountId: accountSelect.val(),\r\n clientId: clientFilterSelect.val(),\r\n projectId: projectFilterSelect.val(),\r\n serviceId: serviceSelect.val(),\r\n status: statusSelect.val(),\r\n paymentMethod: isNaN(paymentMethodId) ? null : paymentMethodId,\r\n fromDay: fromDto.day,\r\n fromMonth: fromDto.month,\r\n fromYear: fromDto.year,\r\n toDay: toDto.day,\r\n toMonth: toDto.month,\r\n toYear: toDto.year,\r\n fromCreatedDay: creationFromDto.day,\r\n fromCreatedMonth: creationFromDto.month,\r\n fromCreatedYear: creationFromDto.year,\r\n toCreatedDay: creationToDto.day,\r\n toCreatedMonth: creationToDto.month,\r\n toCreatedYear: creationToDto.year,\r\n amount: amount.val(),\r\n currencyId: currencyFilterSelect.val(),\r\n orderBy: \"\",\r\n orderAsc: false,\r\n settlementStatus: settleStatusSelect.val(),\r\n amountOperator: amountOperatorSelect.val()\r\n };\r\n }\r\n\r\n var filter = function () {\r\n expenseList.find(\"tr:gt(0)\").remove();\r\n app.listExpenseViewModel().loadView(buildFilter(1));\r\n }\r\n\r\n var updateFilterUi = function (filter) {\r\n projectFilterSelect.empty();\r\n projectFilterSelect.attr('disabled', 'disabled');\r\n\r\n if (filter.projectId) {\r\n populateProjectsByClient(filter.clientId, filter.projectId);\r\n }\r\n\r\n description.val(filter.filter);\r\n accountSelect.val(filter.accountId);\r\n clientFilterSelect.val(filter.clientId);\r\n serviceSelect.val(filter.serviceId);\r\n statusSelect.val(filter.statusId);\r\n paymentMethodSelect.val(filter.paymentMethod);\r\n amount.val(filter.amount);\r\n currencyFilterSelect.val(filter.currencyId);\r\n settleStatusSelect.val(filter.settlementStatus);\r\n\r\n amountOperatorSelect.val(filter.amountOperator);\r\n\r\n toDate.datePickerValue(new Date(filter.toYear, filter.toMonth - 1, filter.toDay));\r\n fromDate.datePickerValue(new Date(filter.fromYear , filter.fromMonth - 1, filter.fromDay));\r\n\r\n creationToDate.datePickerValue(new Date(filter.toCreatedYear, filter.toCreatedMonth - 1, filter.toCreatedDay));\r\n creationFromDate.datePickerValue(new Date(filter.fromCreatedYear, filter.fromCreatedMonth - 1, filter.fromCreatedDay));\r\n\r\n }\r\n\r\n var cleanFilter = function () {\r\n description.val(\"\");\r\n accountSelect.val(currentUser.id);\r\n clientFilterSelect.val($('#client-select-id option:first-child').val());\r\n projectFilterSelect.empty();\r\n projectFilterSelect.attr('disabled', true);\r\n serviceSelect.val($('#service-select-id option:first-child').val());\r\n statusSelect.val($('#status-select-id option:first-child').val());\r\n paymentMethodSelect.val($('#filter-payment-method-select option:first-child').val());\r\n amount.val(\"\");\r\n currencyFilterSelect.val($('#currency-filter-select option:first-child').val());\r\n settleStatusSelect.val($(\"#xpense-settle-status-select option:first-child\").val());\r\n amountOperatorSelect.val($(\"#xpense-amount-operator-select option:first-child\").val())\r\n\r\n toDate.data(\"kendoDatePicker\").value(\"\");\r\n fromDate.data(\"kendoDatePicker\").value(\"\");\r\n creationFromDate.data(\"kendoDatePicker\").value(\"\");\r\n creationToDate.data(\"kendoDatePicker\").value(\"\");\r\n\r\n filter();\r\n }\r\n\r\n return {\r\n init: init,\r\n clientOnChangeHanlder: clientOnChangeHanlder,\r\n filter: filter,\r\n buildFilter: buildFilter,\r\n updateFilterUi: updateFilterUi,\r\n };\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n app.listExpenseViewModel = function () {\r\n\r\n // modules\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n var validatorServices = Pod.require(\"validatorServices\");\r\n var notificationHelper = Pod.require(\"notification-helper\");\r\n var modalConfirm = Pod.require(\"modal\");\r\n var expenseServices = Pod.require(\"expenseServices\");\r\n\r\n // dom elements\r\n var expenseList = $(\"#expense-list\");\r\n var expensesToLoad = $(\"#expenses-toload-div\");\r\n var btnHasNext = $('#has-next-btn');\r\n var btnHasPrevious = $(\"#has-previous-btn\");\r\n var btnSendToValidate = $(\"#send-to-validate-expenses-button\");\r\n var modalSlider = $(\"#image-slider-modal\");\r\n var orderHidden = $(\"#order-asc\");\r\n var columnHidden = $(\"#order-by-column\");\r\n\r\n // checkbox\r\n var chkSelectAll = $(\"#select-all-expenses\");\r\n\r\n var status = {\r\n pendiewReview: 4\r\n };\r\n\r\n // hiddens\r\n var currentPage = $(\"#current-page\");\r\n\r\n var totalItems = $(\"#total-items-hidden\");\r\n\r\n /* # public functions # */\r\n\r\n var loadView = function (filter) {\r\n filter = sanatizeFilter(filter);\r\n currentPage.val(filter.page);\r\n localStorage.setItem('filter', JSON.stringify(filter));\r\n\r\n var urlToReloadView = String.format(\"/expenses/getlist?page={0}&filter={1}&accountId={2}&clientId={3}&projectId={4}\"\r\n + \"&serviceId={5}&status={6}&paymentMethod={7}&fromDay={8}&fromMonth={9}&fromYear={10}&toDay={11}&toMonth={12}\"\r\n + \"&toYear={13}&amount={14}&orderBy={15}&orderAsc={16}¤cyId={17}&fromCreatedDay={18}&fromCreatedMonth={19}&fromCreatedYear={20}\"\r\n + \"&toCreatedDay={21}&toCreatedMonth={22}&toCreatedYear={23}&settlementStatus={24}&amountOperator={25}\",\r\n\r\n encodeURIComponent(filter.page), encodeURIComponent(filter.filter), encodeURIComponent(filter.accountId),\r\n encodeURIComponent(filter.clientId), encodeURIComponent(filter.projectId), encodeURIComponent(filter.serviceId), encodeURIComponent(filter.status),\r\n filter.paymentMethod, filter.fromDay, filter.fromMonth, filter.fromYear, filter.toDay, filter.toMonth, filter.toYear, encodeURIComponent(filter.amount),\r\n filter.orderBy, filter.orderAsc, filter.currencyId, filter.fromCreatedDay, filter.fromCreatedMonth, filter.fromCreatedYear,\r\n filter.toCreatedDay, filter.toCreatedMonth, filter.toCreatedYear, filter.settlementStatus, encodeURIComponent(filter.amountOperator));\r\n\r\n pageLoader.load(urlToReloadView, expensesToLoad, loadExpenses);\r\n loadTotalByCurrencyTable(filter);\r\n tableColumnsIcons();\r\n }\r\n\r\n function init() {\r\n // -- init flexslider\r\n $(\"#flexslider\").flexslider({\r\n animation: \"slide\",\r\n useCSS: false,\r\n });\r\n\r\n btnHasNext.on(\"click\", searchNext);\r\n btnHasPrevious.on(\"click\", searchPrev);\r\n\r\n chkSelectAll.check(false);\r\n chkSelectAll.on(\"nifty.ch.checked\", checkOrUncheckAllExpenses);\r\n chkSelectAll.on(\"nifty.ch.unchecked\", checkOrUncheckAllExpenses);\r\n btnSendToValidate.off().on(\"click\", sendToValidate);\r\n\r\n $(\"[data-toggle=popover]\").popover({\r\n html: true,\r\n content: function () {\r\n var content = $(this).attr(\"data-popover-content\");\r\n return $(content).children(\".popover-body\").html();\r\n },\r\n title: function () {\r\n var title = $(this).attr(\"data-popover-content\");\r\n return $(title).children(\".popover-heading\").html();\r\n }\r\n });\r\n initTableColumnOrder();\r\n tableColumnsIcons();\r\n }\r\n\r\n /* # public functions # */\r\n\r\n /* # private functions # */\r\n\r\n var initTableColumnOrder = function () {\r\n $.each(expenseList.find(\"thead > tr\"), function (index, item) {\r\n $.each($(item).find(\"a\"), function (index, a) {\r\n $(a).off().on(\"click\", function () {\r\n orderBy($(a).parent().data(\"column\"))\r\n });\r\n });\r\n });\r\n }\r\n\r\n var tableColumnsIcons = function () {\r\n var currentField = columnHidden.val();\r\n var order = orderHidden.val();\r\n\r\n $.each($(expenseList).find(\"thead > tr\"), function (index, tr) {\r\n $.each($(tr).find(\"a\"), function (index, a) {\r\n if ($(a).parent().data(\"column\") == currentField) {\r\n $(a).find(\"i\").show();\r\n if (order == 'asc') {\r\n $(a).find(\"i\").removeClass(\"fa-caret-down\").addClass(\"fa-caret-up\");\r\n }\r\n else {\r\n $(a).find(\"i\").removeClass(\"fa-caret-up\").addClass(\"fa-caret-down\");\r\n }\r\n }\r\n else {\r\n $(a).find(\"i\").hide();\r\n }\r\n });\r\n });\r\n }\r\n\r\n var orderBy = function (field) {\r\n var order = orderHidden.val();\r\n var filter = app.filterExpenseViewModel().buildFilter(currentPage.val());\r\n\r\n filter.orderBy = field;\r\n filter.orderAsc = order == 'asc' ? false : true;\r\n columnHidden.val(field);\r\n orderHidden.val((order == 'asc' ? 'desc' : 'asc'));\r\n\r\n loadView(filter);\r\n\r\n }\r\n\r\n var loadTotalByCurrencyTable = function (filter) {\r\n var tbody = $(\"#currency-total-table tbody\");\r\n\r\n tbody.find(\"tr\").remove();\r\n\r\n expenseServices.getTotalAmountFiltered(filter).done(function (data) {\r\n\r\n var hasDefaultItem = false;\r\n\r\n $.each(data.Expenses, function (index, item) {\r\n tbody.append(\r\n \"\" + \"\" + item.Currency + \"\" + \"\" + parseFloat(Math.round(item.Total * 100) / 100).toFixed(2) + \"\" + \"\"\r\n );\r\n if (item.IsDefault) {\r\n $(\"#popover-default-currency\").text(app.localization[\"Expenses\"] + \": \" + parseFloat(Math.round(item.Total * 100) / 100).toFixed(2) + \" \" + item.Currency);\r\n hasDefaultItem = true;\r\n }\r\n });\r\n\r\n if (!hasDefaultItem)\r\n $(\"#popover-default-currency\").text(app.localization[\"Expenses\"] + \": 0.00 \" + data.DefaultCurrency);\r\n\r\n $(\"#total-trips\").html(app.localization[\"Trips\"] + \": \" + parseFloat(Math.round(data.TotalTripsConvertedToMoney * 100) / 100).toFixed(2) + \" \" + data.DefaultCurrency + \" (\" + parseFloat(Math.round(data.TotalTripsKms * 100) / 100).toFixed(2) + \" Kms)\");\r\n $(\"#total-expenses-summary\").html(app.localization[\"Total\"] + \": \" + parseFloat(Math.round(data.TotalMoney * 100) / 100).toFixed(2) + \" \" + data.DefaultCurrency);\r\n });\r\n }\r\n\r\n var loadExpenses = function () {\r\n // convert checkbox to niftycheck\r\n expensesToLoad.find(\".expense-check\").niftyCheck();\r\n // check or uncheck depending on the value of select all \r\n expensesToLoad.find(\".expense-check\").check(chkSelectAll.isChecked());\r\n\r\n expenseList.find(\"tbody > tr\").remove();\r\n\r\n if (expensesToLoad.children(\"tr\").length == 0) {\r\n expenseList.append(\"\" + app.localization.ThereArentExpensesForYourSearch + \"\");\r\n }\r\n\r\n expenseList.append(expensesToLoad.children(\"tr\"));\r\n\r\n $.each(expenseList.find(\"tbody > tr\"), function (index, item) {\r\n $(item).find(\".expense-check\").on(\"change\", changeCheckList)\r\n\r\n $(item).find(\".expense-files\").off().on(\"click\", viewFiles);\r\n\r\n $(item).find(\".expense-details\").off().on(\"click\", updateExpense);\r\n });\r\n\r\n var hasNextPage = $(\"#has-next-page-hidden\").val() === \"True\";\r\n var hasPreviousPage = $(\"#has-previous-page-hidden\").val() === \"True\";\r\n\r\n btnHasNext.attr(\"disabled\", \"disabled\");\r\n btnHasPrevious.attr(\"disabled\", \"disabled\");\r\n\r\n if (hasNextPage) {\r\n btnHasNext.attr(\"disabled\", false);\r\n }\r\n if (hasPreviousPage) {\r\n btnHasPrevious.attr(\"disabled\", false);\r\n }\r\n\r\n var pageCount = $(\"#page-count-hidden\");\r\n var paginationLabel = $(\"#pagination-page\");\r\n var pageText = pageCount.val() > 0 ? currentPage.val() : 0;\r\n\r\n var text = pageText + \" / \" + pageCount.val();\r\n paginationLabel.empty();\r\n paginationLabel.text(text);\r\n\r\n expensesToLoad.children(\"tr\").remove();\r\n }\r\n\r\n var changeCheckList = function () {\r\n btnSendToValidate.attr(\"disabled\", false);\r\n\r\n $.each(expenseList.find(\".expense-check.active\"), function (index, check) {\r\n var expenseItem = $(check).parents(\"tr\");\r\n\r\n var expenseType = expenseItem.data(\"expensestatus\");\r\n\r\n if (expenseType == \"PendingReview\" || expenseType == \"Validated\") {\r\n btnSendToValidate.attr(\"disabled\", true);\r\n }\r\n });\r\n }\r\n\r\n function changePage(num) {\r\n var aux = parseInt(currentPage.val()) + num;\r\n\r\n var val = aux > 0 ? aux : 1;\r\n\r\n currentPage.val(val);\r\n }\r\n\r\n function searchNext() {\r\n changePage(1);\r\n loadView(app.filterExpenseViewModel().buildFilter(currentPage.val()));\r\n }\r\n\r\n function searchPrev() {\r\n changePage(-1);\r\n loadView(app.filterExpenseViewModel().buildFilter(currentPage.val()));\r\n }\r\n\r\n var viewFiles = function () {\r\n\r\n var expenseId = $(this).data(\"id\");\r\n\r\n // -- get expenses images\r\n expenseServices.getImages(expenseId).done(function (files) {\r\n\r\n var slidesLength = $('#flexslider').data('flexslider').slides.length;\r\n\r\n for (var i = 0; i < slidesLength; i++) {\r\n $('#flexslider').data('flexslider').removeSlide(0);\r\n }\r\n\r\n\r\n $.each(files, function (index, file) {\r\n\r\n var img = $(\"\").attr('src', file.path);\r\n var listItem = $(\"
    • \");\r\n listItem.append(img);\r\n // -- add slide item\r\n $(\"#flexslider\").data(\"flexslider\").addSlide(listItem);\r\n });\r\n\r\n // -- show modal\r\n modalSlider.modal();\r\n\r\n setTimeout(function () {\r\n\r\n // -- resize slider content\r\n $('#flexslider').data('flexslider').resize();\r\n\r\n // -- goto slide 0\r\n $('#flexslider').data('flexslider').setProps(0);\r\n }, 1500);\r\n });\r\n }\r\n\r\n function checkOrUncheckAllExpenses() {\r\n $.each(expenseList.find(\".expense-check\"), function (index, check) {\r\n $(check).check(chkSelectAll.isChecked());\r\n });\r\n }\r\n\r\n function sendToValidate() {\r\n var expensesToSendToValidate = getExpenses();\r\n\r\n if (!expensesToSendToValidate.length) {\r\n notificationHelper.showError(app.localization.YouMustSelectAnExpenseToValidate);\r\n return;\r\n }\r\n\r\n modalConfirm.confirm({\r\n message: app.localization.MessageConfirmSendToReview,\r\n title: app.localization.SendToReview,\r\n confirm: executeWorkFlowAction,\r\n });\r\n }\r\n\r\n // get selected expenses\r\n function getExpenses() {\r\n var expenses = [];\r\n $.each(expenseList.find(\".expense-check.active\"), function (index, check) {\r\n var expenseItem = $(check).parents(\"tr\");\r\n expenses.push({\r\n id: expenseItem.data(\"id\"),\r\n fixedValue: parseFloat(expenseItem.data('expense-value')),\r\n toStatus: status.pendiewReview,\r\n });\r\n });\r\n\r\n return expenses;\r\n }\r\n\r\n var viewMoreExpenses = function () {\r\n loadView(app.filterExpenseViewModel().buildFilter(currentPage.val()));\r\n }\r\n\r\n var updateExpense = function (e) {\r\n // var expenseId = $(this).data(\"id\");\r\n // var expenseType = $(this).data(\"expensetype\");\r\n // var expenseStatus = $(this).data(\"expensestatus\");\r\n\r\n // app.updateExpenseViewModel().init(expenseId, expenseType, expenseStatus);\r\n }\r\n\r\n function executeWorkFlowAction() {\r\n var expenses = getExpenses();\r\n validatorServices.executeManyWorkflow(expenses)\r\n .done(function (result) {\r\n app.filterExpenseViewModel().filter();\r\n notificationHelper.showSuccess(app.localization.SentToReviewSuccessfully);\r\n });\r\n }\r\n\r\n /* # private functions # */\r\n\r\n function sanatizeFilter(filter) {\r\n filter.page = filter.page >= 1 ? filter.page : 1;\r\n filter.accountId = filter.accountId ? filter.accountId : \"\";\r\n filter.clientId = filter.clientId ? filter.clientId : \"\";\r\n filter.projectId = filter.projectId ? filter.projectId : null\r\n filter.serviceId = filter.serviceId ? filter.serviceId : \"\";\r\n filter.statusId = filter.statusId ? filter.statusId : \"\";\r\n filter.filter = filter.filter ? filter.filter : \"\";\r\n filter.paymentMethod = filter.paymentMethod ? filter.paymentMethod : null;\r\n filter.amount = filter.amount ? filter.amount : \"\";\r\n filter.currencyId = filter.currencyId ? filter.currencyId : \"\";\r\n filter.orderBy = filter.orderBy ? filter.orderBy : \"\";\r\n filter.orderAsc = filter.orderAsc ? true : false;\r\n\r\n return filter;\r\n }\r\n\r\n return {\r\n loadView: loadView,\r\n init: init,\r\n sanatizeFilter: sanatizeFilter,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.modalSaveFilterViewModel = function () {\r\n var self = this;\r\n\r\n var queryServices = Pod.require(\"queryServices\");\r\n var notificationHelper = Pod.require(\"notification-helper\");\r\n\r\n // dom elements\r\n var modal = $(\"#save-filter-modal\");\r\n\r\n // buttons\r\n var btnSaveQuery = $(\"#btn-save-query\");\r\n var btnCloseModal= $(\"#close-modal\");\r\n var nameInput = $(\"#filter-name\");\r\n var filterHidden = $(\"#query-filter\");\r\n\r\n /* # public functions # */\r\n\r\n var init = function (filter) {\r\n filterHidden.val(JSON.stringify(filter));\r\n nameInput.val(\"\");\r\n btnCloseModal.off().on(\"click\", closeModal);\r\n btnSaveQuery.attr(\"disabled\", true);\r\n btnSaveQuery.off().on(\"click\", saveQuery);\r\n showModal();\r\n }\r\n\r\n var onChange = function () {\r\n if (nameInput.val())\r\n btnSaveQuery.attr(\"disabled\", false);\r\n else\r\n btnSaveQuery.attr(\"disabled\", true);\r\n }\r\n\r\n var saveQuery = function() {\r\n var newQuery = {\r\n name: nameInput.val(),\r\n queryObject: app.listExpenseViewModel().sanatizeFilter(JSON.parse(filterHidden.val())),\r\n }\r\n\r\n queryServices.create(newQuery).done(function(data) {\r\n $(document).trigger('xpense-update-filters');\r\n closeModal();\r\n notificationHelper.showSuccess(app.localization.FilterSavedSuccessfully);\r\n });\r\n }\r\n\r\n var showModal = function () {\r\n modal.modal();\r\n }\r\n\r\n var closeModal = function () {\r\n modal.modal('hide');\r\n // cleanModal();\r\n }\r\n\r\n var cleanModal = function () {\r\n }\r\n\r\n /* # private functions # */\r\n\r\n\r\n return {\r\n init: init,\r\n showModal: showModal,\r\n closeModal: closeModal,\r\n onChange: onChange,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict'\r\n app.filePickerViewModel = function () {\r\n\r\n // dom elements\r\n var modal = $(\"#file-picker-modal\");\r\n\r\n var init = function (uploadSuccessCallBack) {\r\n\r\n self.uploadSuccessCallBack = uploadSuccessCallBack;\r\n \r\n Dropzone.autoDiscover = false;\r\n Dropzone.options.myAwesomeDropzone = false;\r\n \r\n var myDropzone;\r\n\r\n if (!document.getElementById(\"file-zone\").dropzone) {\r\n myDropzone = new Dropzone(\"#file-zone\");\r\n } else {\r\n myDropzone = document.getElementById(\"file-zone\").dropzone;\r\n }\r\n \r\n myDropzone.options.addRemoveLinks = true;\r\n myDropzone.options.maxFilesize = 1;\r\n myDropzone.options.maxFiles = 1;\r\n myDropzone.options.acceptedFiles = \".png,.jpg,.pdf,.doc,.docx,.xls,.xlsx,.txt\";\r\n\r\n myDropzone.on(\"maxfilesexceeded\", function (file) {\r\n var that = this;\r\n app.showWarning(app.localization.CannotUploadMoreFile);\r\n that.removeFile(file);\r\n });\r\n\r\n // event when upload an image\r\n myDropzone.on(\"addedfile\", function (file) {\r\n var that = this;\r\n });\r\n\r\n // success image\r\n myDropzone.off().on(\"success\", function (file) {\r\n\r\n if (file.xhr.response && file.xhr.response != \"\") {\r\n var response = eval('(' + file.xhr.response + ')');\r\n\r\n $.each(response.Paths, function (index, path) {\r\n var fileUpload = { path: path, name: file.name, };\r\n\r\n if (!!self.uploadSuccessCallBack) {\r\n self.uploadSuccessCallBack(fileUpload);\r\n }\r\n return; // remove if many files\r\n });\r\n }\r\n\r\n modal.modal(\"hide\");\r\n });\r\n }\r\n\r\n return {\r\n init: init,\r\n }\r\n };\r\n})();","'use strict';\r\n(function () {\r\n // View model for group\r\n app.groupAdminAccountsGroup = function (id, name, multi, finishToLoad) {\r\n\r\n //module\r\n var groupServices = Pod.require(\"groupServices\");\r\n\r\n var self = this;\r\n\r\n // group name\r\n self.name = new app.property({\r\n value: name || ''\r\n });\r\n\r\n // id to delete\r\n self.id = new app.property({\r\n value: id || ''\r\n });\r\n\r\n // save association\r\n\r\n self.save = function () {\r\n groupServices.createGroupAccounts({\r\n id: self.id.value(),\r\n accounts: self.chosenAccounts(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n }\r\n\r\n self.chosenAccounts = ko.observableArray([]);\r\n\r\n groupServices.getGroupAccounts(id).done(function (data) {\r\n $.each(data, function (i, item) {\r\n self.chosenAccounts.push(item.id);\r\n });\r\n\r\n var applyValsMultiSelect = app.multiSelect(multi, self.chosenAccounts());\r\n\r\n // show div\r\n finishToLoad();\r\n });\r\n }\r\n})();","'use strict';\r\n(function () {\r\n // execute administration when document ready\r\n // start administration\r\n app.loadGroupAdministration = function () {\r\n // divs\r\n var _deleteDiv = $(\"#group-delete\");\r\n var _listDiv = $(\"#group-list\");\r\n var _updateDiv = $(\"#group-update\");\r\n var _createDiv = $(\"#group-create\");\r\n var _groupAdminAccounts = $(\"#accounts-group\");\r\n\r\n //buttons \r\n var closeButton = $(\"#close-delete-group\");\r\n var _closeUpdateButton = $(\"#close-edit-group\");\r\n var _newButton = $(\"#new-group-button\");\r\n var _closeNewButton = $(\"#close-new-group\");\r\n var _closeAdminAccountsGroup = $(\"#close-admin-accounts-group\");\r\n\r\n var multi = $(\"#accounts-multiselect\");\r\n\r\n // table\r\n var table = $('#groups');\r\n\r\n // delete group\r\n app.deleteGroup = function (id, name) {\r\n\r\n app.reverseVisibility(_deleteDiv, _listDiv);\r\n ko.applyBindings(new app.groupDeleteViewModel(id, name), _deleteDiv[0]);\r\n\r\n // cancel to add group\r\n closeButton.click(function () {\r\n app.reverseVisibility(_listDiv, _deleteDiv);\r\n });\r\n };\r\n\r\n // update the group\r\n app.updateGroup = function (id, name) {\r\n app.reverseVisibility(_updateDiv, _listDiv);\r\n ko.applyBindings(new app.groupUpdateViewModel(id, name), _updateDiv[0]);\r\n\r\n // cancel to add group\r\n _closeUpdateButton.click(function () {\r\n app.reverseVisibility(_listDiv, _updateDiv);\r\n });\r\n };\r\n\r\n // update the group\r\n app.admAccountsGroup = function (id, name) {\r\n\r\n var finishToLoad = function () {\r\n app.reverseVisibility(_groupAdminAccounts, _listDiv);\r\n };\r\n\r\n ko.applyBindings(new app.groupAdminAccountsGroup(id, name, multi, finishToLoad), _groupAdminAccounts[0]);\r\n\r\n _closeAdminAccountsGroup.click(function () {\r\n \r\n // ----------------------------------------------\r\n $(\"#accounts_multiselect_chosen\").css('display', 'none');\r\n\r\n app.reverseVisibility(_listDiv, _groupAdminAccounts);\r\n });\r\n };\r\n\r\n // load datatable\r\n table.DataTable({\r\n \"responsive\": true,\r\n \"language\": {\r\n \"paginate\": {\r\n \"previous\": '',\r\n \"next\": ''\r\n }\r\n }\r\n });\r\n\r\n // add group button\r\n _newButton.click(function () {\r\n\r\n // new group\r\n app.reverseVisibility(_createDiv, _listDiv);\r\n ko.applyBindings(new app.groupCreateViewModel(), _createDiv[0]);\r\n\r\n // cancel to add group\r\n _closeNewButton.click(function () {\r\n app.reverseVisibility(_listDiv, _createDiv);\r\n });\r\n });\r\n };\r\n // end administration\r\n})(window, document);\r\n","'use strict';\r\n(function () {\r\n // View model for project\r\n app.groupCreateViewModel = function (name) {\r\n\r\n // modules\r\n var groupServices = Pod.require(\"groupServices\");\r\n\r\n var self = this;\r\n\r\n // role name\r\n self.name = new app.property({\r\n value: name || '',\r\n required: true,\r\n validation: function () {\r\n if (self.name) {\r\n // validate name\r\n var value = self.name.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // create action\r\n self.save = function () {\r\n groupServices.create({\r\n name: self.name.value(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n }\r\n\r\n // form is valid\r\n self.isValid = ko.computed(function () {\r\n return self.name.isValid();\r\n }, self);\r\n }\r\n})(app);","'use strict';\r\n(function () {\r\n // View model for group\r\n app.groupDeleteViewModel = function (id, name) {\r\n\r\n // module\r\n var groupServices = Pod.require(\"groupServices\");\r\n\r\n var self = this;\r\n\r\n // group name\r\n self.name = new app.property({\r\n value: name || ''\r\n });\r\n\r\n // delete group\r\n self.deleGroup = function (a) {\r\n groupServices.delete({\r\n id: self.id(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.DeletedSuccessfully);\r\n });\r\n };\r\n\r\n // id to delete\r\n self.id = ko.observable(id);\r\n }\r\n})();","'use strict';\r\n(function () {\r\n // View model for group\r\n app.groupUpdateViewModel = function (id, name) {\r\n\r\n // modules\r\n var groupServices = Pod.require(\"groupServices\");\r\n\r\n var self = this;\r\n\r\n // id to update\r\n self.id = ko.observable(id);\r\n\r\n // group name\r\n self.name = new app.property({\r\n value: name || '',\r\n required: true,\r\n validation: function () {\r\n if (self.name) {\r\n // validate name\r\n var value = self.name.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // update group\r\n self.updateGroup = function (a) {\r\n groupServices.update({\r\n id: self.id(),\r\n name: self.name.value(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n };\r\n\r\n // form is valid\r\n self.isValid = ko.computed(function () {\r\n return self.name.isValid();\r\n }, self);\r\n\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n // View model change password\r\n app.changePasswordViewModel = function () {\r\n var self = this;\r\n\r\n var configurationsServices = Pod.require(\"accountServices\");\r\n\r\n // username\r\n self.passwordAgain = new app.property({\r\n value: '',\r\n required: true,\r\n validation: function () {\r\n if (self.username) {\r\n // validate username\r\n var value = self.passwordAgain.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // password\r\n self.password = new app.property({\r\n value: '',\r\n required: true,\r\n validation: function () {\r\n if (self.username) {\r\n // validate username\r\n var value = self.passwordAgain.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // is valid\r\n self.valid = ko.computed(function () {\r\n return self.password.isValid() && self.passwordAgain.isValid();\r\n }, self);\r\n\r\n // login \r\n self.changePassword = function () {\r\n configurationsServices.changePassword({\r\n password: self.password.value(),\r\n passwordAgain: self.passwordAgain.value()\r\n })\r\n .done(function (data) {\r\n // show and reload\r\n app.showSuccess(app.localization.SavedSuccessfully);\r\n setTimeout(function () {\r\n location.href = '/'\r\n }, 1000);\r\n })\r\n .fail(function () {\r\n // clean passwords\r\n self.password.value(\"\");\r\n self.passwordAgain.value(\"\");\r\n });\r\n }\r\n }\r\n})(app);","'use strict';\r\n(function () {\r\n // View model change password\r\n app.generalSettingsViewModel = function (selectedTimeZone) {\r\n var self = this;\r\n\r\n // username\r\n self.timeZone = ko.observable(); // current\r\n self.timeZones = ko.observableArray([]);\r\n\r\n // is valid\r\n self.valid = ko.computed(function () {\r\n return true;\r\n }, self);\r\n\r\n // fill zones\r\n app.zoneServices().getAll().done(function (array) {\r\n $.each(array.result, function (i, item) {\r\n self.timeZones.push({ name: item.timeZone, id: item.id });\r\n });\r\n\r\n self.timeZone(parseInt(selectedTimeZone)); // set current\r\n });\r\n\r\n // save \r\n self.save = function () {\r\n app.accountServices().saveGeneralSettings({\r\n timeZoneId: self.timeZone(),\r\n })\r\n .done(function (data) {\r\n // show and reload\r\n app.showSuccess(app.localization.SavedSuccessfully);\r\n setTimeout(function () {\r\n location.href = '/'\r\n }, 1000);\r\n });\r\n }\r\n }\r\n})(app);","'use strict';\r\n(function () {\r\n // View model for login user\r\n app.recoverPasswordViewModel = function () {\r\n var self = this;\r\n var accountServices = Pod.require(\"accountServices\");\r\n\r\n // username\r\n self.mail = new app.property({\r\n value: '',\r\n required: true,\r\n validation: function () {\r\n if (self.mail) {\r\n // validate username\r\n var value = self.mail.value();\r\n if (!value || value == \"\") {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // is valid\r\n self.valid = ko.computed(function () {\r\n return !!self.mail.value();\r\n }, self);\r\n\r\n // login \r\n self.recover = function () {\r\n accountServices.recoverPassword(self.mail.value()).done(function (data) {\r\n\r\n // show success \r\n app.showSuccess(app.localization.MailSentWithYourPassowrd);\r\n\r\n // send to login\r\n setTimeout(function () {\r\n location.href = \"/default/signin\";\r\n }, 2000);\r\n })\r\n .fail(function () {\r\n // clean mail\r\n self.mail.value(\"\");\r\n });\r\n }\r\n }\r\n})(app);","(function () {\r\n 'use strict';\r\n // loginViewModel\r\n app.signInViwModel = function () {\r\n\r\n // dom elements\r\n var username = $('#user-input');\r\n var password = $('#password-input');\r\n var capsLockSpan = $('#caps-lock-message');\r\n var signInButton = $('#sign-in-btn');\r\n var loadingIcon = $(\"#loading-icon\");\r\n var azureActiveDirectorySignInButton = $('#azure-active-directory-sign-in-btn');\r\n var azureActiveDirectoryLoadingIcon = $(\"#azure-active-directory-loading-icon\");\r\n\r\n // modules\r\n var capsLockHelper = Pod.require(\"shell-capslockHelper\");\r\n var accountService = Pod.require(\"accountServices\");\r\n var activeDirectoryService = Pod.require(\"activeDirectoryServices\");\r\n\r\n var loading = false;\r\n var companyId = null;\r\n var msalConfig = {\r\n auth: {\r\n clientId: null,\r\n authority: null,\r\n redirectUri: null,\r\n },\r\n cache: {\r\n cacheLocation: 'localStorage', // 'localStorage' or 'sessionStorage'\r\n storeAuthStateInCookie: true // Recommended for older browsers\r\n }\r\n };\r\n \r\n // verify user credentials\r\n var signin = function () {\r\n loading = true;\r\n loadingIcon.show();\r\n signInButton.attr(\"disabled\", true);\r\n\r\n accountService.login(username.val(), password.val())\r\n .then(function () {\r\n loading = false;\r\n location.reload();\r\n signInButton.attr(\"disabled\", false);\r\n loadingIcon.hide();\r\n }, function(err) {\r\n loading = false;\r\n signInButton.attr(\"disabled\", false);\r\n loadingIcon.hide();\r\n });\r\n };\r\n\r\n var signinWithAzureActiveDirectory = function () {\r\n loading = true;\r\n azureActiveDirectoryLoadingIcon.show();\r\n azureActiveDirectorySignInButton.attr(\"disabled\", true);\r\n\r\n const msalInstance = new msal.PublicClientApplication(msalConfig);\r\n const loginRequest = {\r\n scopes: [\"User.Read\"] // Define the scopes you need\r\n };\r\n\r\n msalInstance.loginPopup(loginRequest)\r\n .then(response => {\r\n var data = { \r\n fullName: response.account.name,\r\n username: response.account.username,\r\n companyId: companyId,\r\n };\r\n\r\n accountService.loginWithAzureActiveDirectory(data)\r\n .then(function () {\r\n loading = false;\r\n location.reload();\r\n azureActiveDirectorySignInButton.attr(\"disabled\", false);\r\n azureActiveDirectoryLoadingIcon.hide();\r\n }, function(err) {\r\n loading = false;\r\n azureActiveDirectorySignInButton.attr(\"disabled\", false);\r\n azureActiveDirectoryLoadingIcon.hide();\r\n });\r\n })\r\n .catch(error => {\r\n loading = false;\r\n azureActiveDirectorySignInButton.attr(\"disabled\", false);\r\n azureActiveDirectoryLoadingIcon.hide();\r\n\r\n console.error(\"Login failed\", error);\r\n });\r\n };\r\n\r\n var setKeypressHandlers = function () {\r\n // enter key press\r\n $(\"#user-input, #password-input\").keypress(function (e) {\r\n if (e.which == 13 && !loading) {\r\n signin();\r\n }\r\n });\r\n\r\n capsLockHelper.bind(password, function () {\r\n // caps active\r\n capsLockSpan.show();\r\n\r\n }, function () {\r\n // capts inactive\r\n capsLockSpan.hide();\r\n });\r\n }\r\n\r\n const getCompanyIdFromUrl = function () {\r\n const url = window.location.href;\r\n const parts = url.split('/');\r\n\r\n return parts[parts.indexOf(\"signin\") + 1]; \r\n };\r\n\r\n // init view model\r\n var init = function () {\r\n loadingIcon.hide(); \r\n capsLockSpan.hide();\r\n azureActiveDirectoryLoadingIcon.hide();\r\n azureActiveDirectorySignInButton.hide();\r\n setKeypressHandlers();\r\n signInButton.on(\"click\", signin);\r\n \r\n companyId = getCompanyIdFromUrl();\r\n\r\n if(companyId != null && !isNaN(companyId) && companyId % 1 === 0) {\r\n loading = true;\r\n\r\n activeDirectoryService.getSettingsByCompanyId(companyId).then(function(response) {\r\n loading = false;\r\n msalConfig.auth.clientId = response.clientId;\r\n msalConfig.auth.authority = 'https://login.microsoftonline.com/' + response.tenantId;\r\n msalConfig.redirectUri = '/default/signin/' + companyId + '/companies';\r\n \r\n azureActiveDirectorySignInButton.show();\r\n azureActiveDirectorySignInButton.on(\"click\", signinWithAzureActiveDirectory)\r\n }, function(err) {\r\n loading = false;\r\n location.href = \"/default/signin/\";\r\n });\r\n } \r\n };\r\n\r\n return {\r\n init: init\r\n }\r\n };\r\n})();","'use strict';\r\n(function () {\r\n // View model for unlock user\r\n app.unlockViewModel = function (username) {\r\n var self = this;\r\n\r\n // UI detect enter key in username or password\r\n self.detectPasswordFunction = function (e) {\r\n if (e.which == 13) {\r\n $(\"#unlock-btn\").click(); // submit form\r\n }\r\n };\r\n\r\n // detect enter key in password input\r\n $(\"#password-input\").keypress(self.detectPasswordFunction);\r\n\r\n // username\r\n self.username = ko.observable(username);\r\n\r\n // password\r\n self.password = new app.property({\r\n value: '',\r\n required: true,\r\n validation: function () {\r\n\r\n // validate password\r\n if (self.username) {\r\n var value = self.password.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // is valid\r\n self.valid = ko.computed(function () {\r\n return self.password.isValid();\r\n }, self);\r\n\r\n // login \r\n self.login = function () {\r\n app.accountServices().login({\r\n username: self.username(),\r\n password: self.password.value()\r\n })\r\n .done(function (data) {\r\n location.href = \"/\"; // redirect to home\r\n })\r\n .fail(function () {\r\n // clean password\r\n self.password.value(\"\");\r\n });\r\n }\r\n }\r\n})(app);","(function () {\r\n 'use strict';\r\n // user dashboard view model\r\n app.userDashboardViewModel = function () {\r\n var self = this;\r\n\r\n function init(lastDaysExpenses, projectExpenses, servicesExpenses) {\r\n // build morris chart\r\n Morris.Line({\r\n element: 'last-expenses-chart',\r\n data: lastDaysExpenses,\r\n xkey: 'label',\r\n ykeys: ['total'],\r\n labels: [app.localization.Total],\r\n gridEnabled: false,\r\n gridLineColor: 'transparent',\r\n lineColors: ['#00796B'],\r\n lineWidth: 5,\r\n parseTime: false,\r\n resize: true,\r\n hideHover: 'auto'\r\n });\r\n\r\n\r\n // if (projectExpenses.length != 0) {\r\n // $.plot('#project-flot-donut', projectExpenses, {\r\n // series: {\r\n // pie: {\r\n // show: true,\r\n // combine: {\r\n // color: '#999',\r\n // threshold: 0.1\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // show: true\r\n // }\r\n // });\r\n // }\r\n\r\n // if (servicesExpenses.length != 0) {\r\n // $.plot('#service-flot-donut', servicesExpenses, {\r\n // series: {\r\n // pie: {\r\n // show: true,\r\n // combine: {\r\n // color: '#999',\r\n // threshold: 0.1\r\n // }\r\n // }\r\n // },\r\n // legend: {\r\n // show: true\r\n // }\r\n // });\r\n // }\r\n };\r\n\r\n return {\r\n init: init,\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict'\r\n app.myExpensesReportFilterViewModel = function () {\r\n\r\n // modules\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n var serializer = Pod.require(\"serializer\");\r\n\r\n // dom elements\r\n var expenseReportDiv = $(\"#expenses-report-div\");\r\n \r\n\r\n\r\n var init = function() {\r\n var filter = JSON.parse(localStorage.getItem('filter'));\r\n loadView(filter);\r\n }\r\n\r\n /* # public functions # */\r\n var loadView = function (filter) {\r\n // filter\r\n var formatedUrl = \"/report/my-expenses/load-report?\" + serializer.objectToUri(filter);\r\n //location.href = formatedUrl;\r\n pageLoader.load(formatedUrl, expenseReportDiv);\r\n }\r\n\r\n return {\r\n loadView: loadView,\r\n init: init\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n Pod.define(\"notification-item\", notificationItem);\r\n\r\n function notificationItem() {\r\n\r\n var notificationTemplate = '
    • ' +\r\n '' +\r\n '
      ' +\r\n '\"{{=accountFrom}}\"' +\r\n '' +\r\n '
      ' +\r\n '
      ' +\r\n '
      {{=message}}
      ' +\r\n '{{=date}}' +\r\n '
      ' +\r\n '
      ' +\r\n '
    • ';\r\n\r\n\r\n function getNotificationIcon(notification) {\r\n switch (notification.type) {\r\n case \"expense-rejected\":\r\n return \"notification-icon-rejected\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n function getNotificationAction(notification) {\r\n switch (notification.type) {\r\n case \"expense-rejected\":\r\n return \"\"; // TODO : open the rejected expense\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n var build = function (notification) {\r\n\r\n var template = new t(notificationTemplate);\r\n\r\n notification.targetId = notification.targetId;\r\n notification.readClass = notification.isReaded ? \"notification-read\" : \"notification-unread\";\r\n notification.notificationIcon = getNotificationIcon(notification);\r\n notification.notificationAction = getNotificationAction(notification);\r\n\r\n return template.render(notification);\r\n };\r\n\r\n return {\r\n build: build\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n app.userNotificationViewModel = function () {\r\n\r\n var notificationServices = Pod.require(\"notificationServices\");\r\n\r\n var self = this;\r\n self.page;\r\n self.referenceId;\r\n\r\n var list = $(\"#user-notification-list\");\r\n\r\n list.off().on('click', 'li.notification-item-link', function () {\r\n var id = $(this).attr('id');\r\n var hasManyItems = $(this).attr('items') == \"True\";\r\n app.expense.openExpenseModal(id, undefined, undefined, hasManyItems);\r\n });\r\n\r\n self.showNotifications = function () {\r\n\r\n self.page = 1;\r\n self.referenceId = '';\r\n\r\n var toggleLoadMoreBtnState = function (state) {\r\n $(\"#notifications-load-more\").prop(\"disabled\", !state);\r\n };\r\n\r\n list.html('');\r\n list.append('
    • ' +\r\n app.localization[\"Loading\"] + '...
    • ');\r\n\r\n // url to get partial view to get details\r\n var urlToReloadView = \"/notification/get-notifications?page=\" + encodeURIComponent(self.page) + \"&referenceId=\" + encodeURIComponent(self.referenceId);\r\n\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n\r\n pageLoader.load(urlToReloadView, list, function () {\r\n\r\n list.parent().parent().css(\"height\", \"265px\");\r\n notificationServices.getUserNotifications(self.page, self.referenceId).done(function (data) {\r\n toggleLoadMoreBtnState(data.hasNextPage);\r\n self.page++;\r\n $(\"#main-header-userNotification-span\").html(data.count);\r\n });\r\n });\r\n\r\n $(\"#notifications-load-more\").click(function (event) {\r\n event.stopImmediatePropagation(); //prevents nifty events that close notifications panel\r\n notificationServices.getUserNotifications(self.page, self.referenceId).done(function (data) {\r\n toggleLoadMoreBtnState(data.hasNextPage);\r\n $.each(data.result, function (i, item) {\r\n\r\n item.accountFromImagePath = item.accountFromImagePath ? item.accountFromImagePath : '/img/user.png';\r\n\r\n var notificationComponents = Pod.require(\"notification-item\");\r\n list.append(notificationComponents.build(item));\r\n //self.referenceId = item.id;\r\n });\r\n $(\"#main-header-userNotification-span\").html(data.count);\r\n self.page++;\r\n });\r\n //var lastchildren = list.children(\":last-child\");\r\n //var offset = lastchildren.offset();\r\n //list.scrollTop(offset.top);\r\n });\r\n\r\n //TODO call service, place function inside setTimeout inside .done\r\n //TODO build template from returned data and append\r\n //TODO disable 'load more' button by checking HasNextPage in returned dto\r\n\r\n // call services to read last notifications\r\n\r\n // call server with the page\r\n };\r\n\r\n return self;\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.paymentHistoryViewModel = function () {\r\n\r\n // modules\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n\r\n // dom elements\r\n var btnViewMoreHistory = $(\"#btn-view-more-history\");\r\n var historyToLoad = $(\"#history-toload-div\");\r\n var paymentHistoryTable = $(\"#payment-history\");\r\n\r\n // hiddens\r\n var currentPage = $(\"#current-page\");\r\n\r\n\r\n var init = function () {\r\n currentPage.val(1);\r\n loadView(1);\r\n }\r\n\r\n var loadView = function(currentPage) {\r\n\r\n var urlToReloadView = String.format(\"/payment/gethistory?page={0}\", currentPage);\r\n\r\n pageLoader.load(urlToReloadView, historyToLoad, loadHistory);\r\n }\r\n\r\n var loadHistory = function () {\r\n paymentHistoryTable.append(historyToLoad.children(\"tr\"));\r\n var hasNextPage = historyToLoad.children(\"input\").val();\r\n\r\n if (hasNextPage.convertToBoolean()) {\r\n btnViewMoreHistory.show();\r\n } else {\r\n btnViewMoreHistory.hide();\r\n }\r\n\r\n historyToLoad.children(\"input\").remove();\r\n historyToLoad.children(\"tr\").remove();\r\n\r\n currentPage.val(parseInt(currentPage.val()) + 1);\r\n\r\n btnViewMoreHistory.off().on(\"click\", viewMoreHistory);\r\n }\r\n\r\n var viewMoreHistory = function(){\r\n loadView(currentPage.val());\r\n }\r\n\r\n return {\r\n init: init,\r\n loadView: loadView,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.paymentViewModel = function () {\r\n\r\n var purchaseBtn = $(\"#btn-purchase\");\r\n\r\n var init = function () {\r\n purchaseBtn.off().on(\"click\", purchaseSubscription);\r\n app.paymentHistoryViewModel().init();\r\n }\r\n\r\n var purchaseSubscription = function () {\r\n app.purchaseSubscriptionViewModel().init();\r\n }\r\n\r\n return {\r\n init: init,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.purchaseSubscriptionViewModel = function () {\r\n\r\n // modules\r\n var paymentServices = Pod.require(\"paymentServices\");\r\n var inputHelper = Pod.require(\"shell-input-helper\");\r\n\r\n // variables\r\n var licenseTypes = {\r\n SmallEnterprise: 1,\r\n Enterprise: 2,\r\n BigEnterprise: 3,\r\n }\r\n self.smallEnterprise = 39;\r\n self.enterprise = 139;\r\n self.bigEnterprise = 239;\r\n\r\n // dom elements\r\n var purchaseSubscriptionModal = $(\"#purchase_subscription\");\r\n var subscriptionTo = $(\"#subscription-to\");\r\n var licenseTypeSelect = $(\"#license-type\");\r\n var btnPurchaseSubscription = $(\"#btn-purchase-subscription\");\r\n var amountSubscription = $(\"#amount-subscription\");\r\n var numberOfMonths = $(\"#number-of-months\");\r\n\r\n //input hidden\r\n var urlCancel = $(\"[name=cancel_return]\");\r\n var urlSuccess = $(\"[name=success_return]\");\r\n var hostHidden = $(\"[name=host]\");\r\n\r\n //form\r\n var paypalForm = $(\"#paypal-form\");\r\n\r\n function init() {\r\n\r\n initDatePicker();\r\n\r\n licenseTypeSelect.on(\"change\", changeHanlder);\r\n numberOfMonths.on(\"change\", changeHanlder);\r\n numberOfMonths.val(1)\r\n changeHanlder();\r\n btnPurchaseSubscription.off().on(\"click\", createPayment);\r\n\r\n inputHelper.setInputAsInt(numberOfMonths);\r\n purchaseSubscriptionModal.modal();\r\n }\r\n\r\n function initDatePicker() {\r\n var dateToSubscription = $(\"#date-to-subscription\");\r\n var day = dateToSubscription.data(\"day\");\r\n var month = dateToSubscription.data(\"month\");\r\n var year = dateToSubscription.data(\"year\");\r\n\r\n var fromDate = new Date(parseInt(year), month - 1, day);\r\n\r\n if (fromDate < new Date()) {\r\n fromDate = new Date();\r\n }\r\n\r\n subscriptionTo.customDatePicker({ min: fromDate });\r\n subscriptionTo.datePickerValue(fromDate);\r\n }\r\n\r\n function getLicenseType(value) {\r\n var license;\r\n switch (value) {\r\n case \"Small Enterprise\":\r\n return 1;\r\n break;\r\n case \"Medium Enterprise\":\r\n return 2;\r\n break;\r\n case \"Big Enterprise\":\r\n return 3;\r\n break;\r\n }\r\n }\r\n\r\n function getPayment() {\r\n var payment = {\r\n license: getLicenseType(licenseTypeSelect.val()),\r\n to: subscriptionTo.getDateDto(),\r\n ammount: parseInt(amountSubscription.text()),\r\n quantity: parseInt(numberOfMonths.val()),\r\n };\r\n return payment;\r\n }\r\n\r\n function createPayment() {\r\n var payment = getPayment();\r\n paymentServices.create(payment).done(function (data) {\r\n var host = hostHidden.val();\r\n\r\n var cancel = host + \"/payment/cancel?paymentId=\" + data.id.toString();\r\n var success = host + \"/payment/success?paymentId=\" + data.id.toString();\r\n\r\n urlCancel.val(cancel);\r\n urlSuccess.val(success);\r\n\r\n paypalForm.submit();\r\n });\r\n }\r\n\r\n function changeHanlder() {\r\n var license = getLicenseType(licenseTypeSelect.val());\r\n\r\n if (!numberOfMonths.val()) {\r\n numberOfMonths.val(1);\r\n }\r\n\r\n var months = parseInt(numberOfMonths.val());\r\n\r\n switch (license) {\r\n case licenseTypes.SmallEnterprise:\r\n amountSubscription.text((self.smallEnterprise * months).toString());\r\n break;\r\n case licenseTypes.Enterprise:\r\n amountSubscription.text((self.enterprise * months).toString());\r\n break;\r\n case licenseTypes.BigEnterprise:\r\n amountSubscription.text((self.bigEnterprise * months).toString());\r\n break;\r\n }\r\n }\r\n\r\n return {\r\n init: init,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.pendingValidationExpenseFilterViewModel = function () {\r\n\r\n // dependencies\r\n var projectServices = Pod.require(\"projectServices\");\r\n\r\n // dom elements\r\n // selects\r\n var client = $(\"#pending-validation-expense-filter-client\");\r\n var project = $(\"#pending-validation-expense-filter-project\");\r\n var account = $(\"#pending-validation-expense-filter-account\");\r\n\r\n // buttons\r\n var btnFilter = $(\"#pending-validation-expense-filter-button\");\r\n\r\n function init() {\r\n btnFilter.on(\"click\", filter);\r\n project.attr('disabled', true);\r\n initClientSelect();\r\n }\r\n\r\n function filter(currentPage) {\r\n app.pendingValidationExpenseListViewModel().loadExpenses(buildFilter(1), true);\r\n }\r\n\r\n function buildFilter(currentPage) {\r\n return {\r\n accountId: account.val(),\r\n clientId: client.val(),\r\n projectId: project.val(),\r\n Page: currentPage,\r\n };\r\n }\r\n\r\n function initClientSelect() {\r\n client.val($('#client-select-id option:first-child').val());\r\n client.on(\"change\", clientChangeHandler);\r\n }\r\n\r\n function clientChangeHandler() {\r\n project.empty();\r\n\r\n if (!client.val()) {\r\n project.attr('disabled', 'disabled');\r\n return;\r\n }\r\n\r\n populateProjectsByClient();\r\n }\r\n\r\n function populateProjectsByClient() {\r\n // populate project select with open projects to client\r\n projectServices.getOpen(client.val())\r\n .done(function (projects) {\r\n\r\n if (projects.length) {\r\n // default option\r\n project.append('')\r\n\r\n $.each(projects, function (index, proj) {\r\n project.append('');\r\n });\r\n\r\n // remove disabled attribute\r\n project.removeAttr('disabled');\r\n }\r\n });\r\n }\r\n\r\n return {\r\n filter: filter,\r\n init: init,\r\n buildFilter: buildFilter,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.pendingValidationExpenseListViewModel = function () {\r\n\r\n // dependencies\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n var serializer = Pod.require(\"serializer\");\r\n var pendingValidationExpenses = Pod.require(\"pending-validation-expenses-provider\");\r\n var validatorServices = Pod.require(\"validatorServices\");\r\n var notificationHelper = Pod.require(\"notification-helper\");\r\n var inputHelper = Pod.require(\"shell-input-helper\");\r\n var modal = Pod.require(\"modal\");\r\n var expenseServices = Pod.require(\"expenseServices\");\r\n\r\n // const\r\n var url = \"/validator/pending-expenses-list?\";\r\n var status = { rejected: 2, validated: 8 };\r\n\r\n // divs\r\n var divExpensesToLoad = $(\"#expense-pending-validation-to-load\");\r\n var listExpensesPendingValidation = $(\"#expenses-pending-validation-list\");\r\n\r\n // checkbox\r\n var chkSelectAll = $(\"#select-all-expenses\");\r\n\r\n // buttons\r\n var btnReject = $(\"#reject-expenses-button\");\r\n var btnValidate = $(\"#validate-expenses-button\");\r\n var btnViewMoreExpenses = $(\"#btn-view-more-expense-pending-validation\");\r\n\r\n // slider\r\n var modalSlider = $(\"#image-slider-modal\");\r\n\r\n // hiddens\r\n var currentPage = $(\"#pending-validation-list-current-page\");\r\n\r\n /* public functions */\r\n\r\n function init() {\r\n\r\n // -- init flexslider\r\n $(\"#flexslider\").flexslider({\r\n animation: \"slide\",\r\n useCSS: false,\r\n });\r\n\r\n chkSelectAll.check(false);\r\n chkSelectAll.on(\"nifty.ch.checked\", checkOrUncheckAllExpenses);\r\n chkSelectAll.on(\"nifty.ch.unchecked\", checkOrUncheckAllExpenses);\r\n btnReject.on(\"click\", rejectAction);\r\n btnValidate.on(\"click\", validateAction);\r\n }\r\n\r\n function loadExpenses(filter, resetList) {\r\n\r\n if (resetList) {\r\n listExpensesPendingValidation.children(\"li\").remove();\r\n }\r\n\r\n currentPage.val(filter.Page);\r\n\r\n // load partial page\r\n pageLoader.load(url + serializer.objectToUri(filter), divExpensesToLoad, function () {\r\n\r\n // convert checkbox to niftycheck\r\n divExpensesToLoad.find(\".expense-check\").niftyCheck();\r\n // check or uncheck depending on the value of select all \r\n divExpensesToLoad.find(\".expense-check\").check(chkSelectAll.isChecked());\r\n // append result to list\r\n listExpensesPendingValidation.append(divExpensesToLoad.children(\"li\"));\r\n // verify if has next page\r\n var hasNextPage = divExpensesToLoad.children(\"input\").val();\r\n // show or hide view more button \r\n if (hasNextPage.convertToBoolean()) {\r\n btnViewMoreExpenses.show();\r\n } else {\r\n btnViewMoreExpenses.hide();\r\n }\r\n // remove html\r\n divExpensesToLoad.children(\"input\").remove();\r\n divExpensesToLoad.children(\"li\").remove();\r\n // set current page\r\n currentPage.val(parseInt(currentPage.val()) + 1);\r\n // attach event\r\n btnViewMoreExpenses.off().on(\"click\", viewMoreExpenses);\r\n // convert all inputs\r\n inputHelper.setInputAsDecimal(listExpensesPendingValidation.find(\".expense-value\"));\r\n // reset button\r\n btnViewMoreExpenses.button('reset');\r\n\r\n listExpensesPendingValidation.find(\".expense-comment\").off().on(\"keyup\", removeClassInputError);\r\n listExpensesPendingValidation.find(\".expense-value\").off().on(\"keyup\", removeClassInputError);\r\n\r\n attachItemButtonsHandlers();\r\n });\r\n }\r\n\r\n function attachItemButtonsHandlers() {\r\n $.each(listExpensesPendingValidation.find(\"li\"), function (index, item) {\r\n\r\n var viewImagesButton = $(item).find(\"button.btn-view-files\");\r\n viewImagesButton.off(\"click\");\r\n viewImagesButton.on(\"click\", viewFiles);\r\n\r\n var viewExpenseButton = $(item).find(\"button.btn-view-expense\");\r\n viewExpenseButton.off(\"click\");\r\n viewExpenseButton.on(\"click\", updateExpense);\r\n });\r\n }\r\n\r\n /* public functions */\r\n\r\n // handlers\r\n function checkOrUncheckAllExpenses() {\r\n $.each(listExpensesPendingValidation.find(\".expense-check\"), function (index, check) {\r\n $(check).check(chkSelectAll.isChecked());\r\n });\r\n }\r\n\r\n function removeClassInputError(event) {\r\n var target = $(event.currentTarget);\r\n if (!!target.val().trim()) {\r\n target.removeClass(\"peding-validation-input-error\");\r\n }\r\n }\r\n\r\n //open expense edition modal\r\n var updateExpense = function (e) {\r\n var expenseId = $(this).data(\"id\");\r\n var expenseType = $(this).data(\"expense-type\");\r\n var expenseStatus = $(this).data(\"expense-status\");\r\n\r\n function replaceUpdated(id) {\r\n \r\n var itemToReplace = listExpensesPendingValidation.find(\"li[data-id=\" + id + \"]\");\r\n\r\n validatorServices.getUpdatedItem(id).then(function (data) {\r\n itemToReplace.replaceWith(data);\r\n attachItemButtonsHandlers();\r\n\r\n var replacedItem = listExpensesPendingValidation.find(\"li[data-id=\" + id + \"]\");\r\n var checks = replacedItem.find(\".expense-check\");\r\n checks.niftyCheck();\r\n checks.check(chkSelectAll.isChecked());\r\n });\r\n }\r\n\r\n app.updateExpenseViewModel().init(expenseId, expenseType, expenseStatus, replaceUpdated);\r\n }\r\n\r\n function viewFiles() {\r\n\r\n var expenseId = $(this).data(\"id\");\r\n\r\n // -- get expenses images\r\n expenseServices.getImages(expenseId).done(function (files) {\r\n\r\n var slidesLength = $('#flexslider').data('flexslider').slides.length;\r\n\r\n for (var i = 0; i < slidesLength; i++) {\r\n $('#flexslider').data('flexslider').removeSlide(0);\r\n }\r\n\r\n\r\n $.each(files, function (index, file) {\r\n\r\n var img = $(\"\").attr('src', file.path);\r\n var listItem = $(\"
    • \");\r\n listItem.append(img);\r\n // -- add slide item\r\n $(\"#flexslider\").data(\"flexslider\").addSlide(listItem);\r\n });\r\n\r\n // -- show modal\r\n modalSlider.modal();\r\n\r\n setTimeout(function () {\r\n\r\n // -- resize slider content\r\n $('#flexslider').data('flexslider').resize();\r\n\r\n // -- goto slide 0\r\n $('#flexslider').data('flexslider').setProps(0);\r\n }, 1500);\r\n });\r\n }\r\n /* # actions */\r\n\r\n // reject expenses action\r\n function rejectAction() {\r\n var expensesToReject = getExpenses(status.rejected);\r\n\r\n if (!expensesToReject.length) {\r\n notificationHelper.showError(app.localization.YouMustSelectAnExpenseToReject);\r\n return;\r\n }\r\n\r\n var anyExpenesWithOutComment = _.some(expensesToReject, function (expense) {\r\n return !expense.reason;\r\n });\r\n\r\n if (anyExpenesWithOutComment) {\r\n app.setRejectCommentViewModel().init(setComment, cancelSetComment);\r\n app.setRejectCommentViewModel().show();\r\n return;\r\n }\r\n \r\n modal.confirm({\r\n message: app.localization.MessageConfirmReject,\r\n title: app.localization.ConfirmRejectExpensesTitle,\r\n confirm: executeWorkFlowRejectAction,\r\n });\r\n }\r\n\r\n function executeWorkFlowRejectAction() {\r\n executeWorkFlow(getExpenses(status.rejected), status.rejected);\r\n }\r\n\r\n // validate expenses action\r\n function validateAction() {\r\n var expensesToValidate = getExpenses(status.validated);\r\n\r\n if (!expensesToValidate.length) {\r\n notificationHelper.showError(app.localization.YouMustSelectAnExpenseToValidate);\r\n return;\r\n }\r\n\r\n modal.confirm({\r\n message: app.localization.MessageConfirmValidate,\r\n title: app.localization.ConfirmValidateExpensesTitle,\r\n confirm: executeWorkFlowValidateAction,\r\n });\r\n }\r\n\r\n function executeWorkFlowValidateAction() {\r\n executeWorkFlow(getExpenses(status.validated), status.validated);\r\n }\r\n\r\n // view more expenses action\r\n function viewMoreExpenses() {\r\n btnViewMoreExpenses.button(\"loading\");\r\n loadExpenses(app.pendingValidationExpenseFilterViewModel().buildFilter(currentPage.val()));\r\n }\r\n\r\n /* # actions */\r\n \r\n // get selected expenses\r\n function getExpenses(toStatus) {\r\n var expenses = [];\r\n $.each(listExpensesPendingValidation.find(\".expense-check.active\"), function (index, check) {\r\n var expenseItem = $(check).parents(\"li\");\r\n expenses.push({\r\n id: expenseItem.data(\"id\"),\r\n reason: expenseItem.find(\".expense-comment\").val(),\r\n toStatus: toStatus,\r\n });\r\n });\r\n\r\n return expenses;\r\n }\r\n\r\n // execute workflow\r\n function executeWorkFlow(expenses, statusTo) {\r\n validatorServices.executeManyWorkflow(expenses)\r\n .done(function (result) {\r\n app.pendingValidationExpenseFilterViewModel().filter();\r\n\r\n switch (statusTo) {\r\n case status.validated:\r\n notificationHelper.showSuccess(app.localization.ValidatedSuccessfully);\r\n break;\r\n case status.rejected:\r\n notificationHelper.showSuccess(app.localization.RejectedSuccessfully);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n // \r\n function setComment(comment) {\r\n \r\n listExpensesPendingValidation.find(\".expense-comment\").filter(function (index) {\r\n return !$(this).val().trim();\r\n }).each(function (index, textArea) {\r\n $(textArea).val(comment);\r\n });\r\n\r\n rejectAction();\r\n }\r\n\r\n // \r\n function cancelSetComment() {\r\n\r\n listExpensesPendingValidation.find(\".expense-comment\").filter(function (index) {\r\n return !$(this).val().trim();\r\n }).each(function (index, textArea) {\r\n var listItem = $(textArea).parents(\"li\");\r\n\r\n if (!!listItem.find(\".expense-check.active\").length) {\r\n $(textArea).addClass(\"peding-validation-input-error\");\r\n }\r\n });\r\n }\r\n\r\n return {\r\n init: init,\r\n loadExpenses: loadExpenses,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.pendingValidationExpenseViewModel = function () { \r\n\r\n function init () {\r\n app.pendingValidationExpenseFilterViewModel().init();\r\n app.pendingValidationExpenseListViewModel().init();\r\n app.pendingValidationExpenseFilterViewModel().filter();\r\n }\r\n\r\n return {\r\n init: init,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.setRejectCommentViewModel = function () {\r\n\r\n // dependencies\r\n var notificationHelper = Pod.require(\"notification-helper\");\r\n\r\n // dom elements\r\n var rejectCommentModal = $(\"#set-reject-comment-modal\");\r\n var rejectComment = $(\"#reject-comment\");\r\n var btnSetRejectComment = $(\"#btn-set-reject-comment\");\r\n var btnClose = $(\"#btn-close-modal-set-reject-comment\");\r\n\r\n /* #public functions */\r\n\r\n function init(setCommentCallback, cancelCallback) {\r\n rejectComment.val(\"\");\r\n btnSetRejectComment.off().on(\"click\", setComment);\r\n btnClose.off().on(\"click\", cancel);\r\n self.setCommentCallback = setCommentCallback;\r\n self.cancelCallback = cancelCallback;\r\n }\r\n\r\n function show() {\r\n rejectCommentModal.modal();\r\n }\r\n\r\n /* #public functions */\r\n\r\n function setComment() {\r\n if (!rejectComment.val()) {\r\n notificationHelper.showError(app.localization.YouMustInputComment);\r\n return;\r\n }\r\n\r\n rejectCommentModal.modal(\"hide\");\r\n\r\n if (!!self.setCommentCallback) {\r\n self.setCommentCallback(rejectComment.val());\r\n }\r\n }\r\n\r\n function cancel() {\r\n rejectCommentModal.modal(\"hide\");\r\n\r\n if (!!self.cancelCallback) {\r\n self.cancelCallback();\r\n }\r\n }\r\n\r\n return {\r\n init: init,\r\n show: show,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.validatedExpenseFilterViewModel = function () {\r\n\r\n // dependencies\r\n var projectServices = Pod.require(\"projectServices\");\r\n\r\n // dom elements\r\n // selects\r\n var client = $(\"#validated-expense-filter-client\");\r\n var project = $(\"#validated-expense-filter-project\");\r\n var account = $(\"#validated-expense-filter-account\");\r\n\r\n // buttons\r\n var btnFilter = $(\"#validated-expense-filter-button\");\r\n\r\n function init() {\r\n btnFilter.on(\"click\", filter);\r\n project.attr('disabled', true);\r\n initClientSelect();\r\n }\r\n\r\n function filter(currentPage) {\r\n app.validatedExpenseListViewModel().loadExpenses(buildFilter(1), true);\r\n }\r\n\r\n function buildFilter(currentPage) {\r\n return {\r\n accountId: account.val(),\r\n clientId: client.val(),\r\n projectId: project.val(),\r\n Page: currentPage,\r\n };\r\n }\r\n\r\n function initClientSelect() {\r\n client.val($('#client-select-id option:first-child').val());\r\n client.on(\"change\", clientChangeHandler);\r\n }\r\n\r\n function clientChangeHandler() {\r\n project.empty();\r\n\r\n if (!client.val()) {\r\n project.attr('disabled', 'disabled');\r\n return;\r\n }\r\n\r\n populateProjectsByClient();\r\n }\r\n\r\n function populateProjectsByClient() {\r\n // populate project select with open projects to client\r\n projectServices.getOpen(client.val())\r\n .done(function (projects) {\r\n\r\n if (projects.length) {\r\n // default option\r\n project.append('')\r\n\r\n $.each(projects, function (index, proj) {\r\n project.append('');\r\n });\r\n\r\n // remove disabled attribute\r\n project.removeAttr('disabled');\r\n }\r\n });\r\n }\r\n\r\n return {\r\n filter: filter,\r\n init: init,\r\n buildFilter: buildFilter,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.validatedExpenseListViewModel = function () {\r\n\r\n // dependencies\r\n var pageLoader = Pod.require(\"shell-page-loader\");\r\n var serializer = Pod.require(\"serializer\");\r\n var validatorServices = Pod.require(\"validatorServices\");\r\n var notificationHelper = Pod.require(\"notification-helper\");\r\n var inputHelper = Pod.require(\"shell-input-helper\");\r\n var modal = Pod.require(\"modal\");\r\n var expenseServices = Pod.require(\"expenseServices\");\r\n\r\n // const\r\n var url = \"/validator/validated-expenses-list?\";\r\n var status = { rejected: 2, validated: 8 };\r\n\r\n // divs\r\n var divExpensesToLoad = $(\"#expense-validated-to-load\");\r\n var listExpensesValidated = $(\"#expenses-validated-list\");\r\n\r\n // buttons\r\n var btnViewMoreExpenses = $(\"#btn-view-more-expense-validated\");\r\n\r\n // slider\r\n var modalSlider = $(\"#image-slider-modal\");\r\n\r\n // hiddens\r\n var currentPage = $(\"#validated-list-current-page\");\r\n\r\n /* public functions */\r\n\r\n function init() {\r\n\r\n // -- init flexslider\r\n $(\"#flexslider\").flexslider({\r\n animation: \"slide\",\r\n useCSS: false,\r\n });\r\n }\r\n\r\n function loadExpenses(filter, resetList) {\r\n\r\n if (resetList) {\r\n listExpensesValidated.children(\"li\").remove();\r\n }\r\n\r\n currentPage.val(filter.Page);\r\n\r\n // load partial page\r\n pageLoader.load(url + serializer.objectToUri(filter), divExpensesToLoad, function () {\r\n\r\n // append result to list\r\n listExpensesValidated.append(divExpensesToLoad.children(\"li\"));\r\n // verify if has next page\r\n var hasNextPage = divExpensesToLoad.children(\"input\").val();\r\n // show or hide view more button \r\n if (hasNextPage.convertToBoolean()) {\r\n btnViewMoreExpenses.show();\r\n } else {\r\n btnViewMoreExpenses.hide();\r\n }\r\n // remove html\r\n divExpensesToLoad.children(\"input\").remove();\r\n divExpensesToLoad.children(\"li\").remove();\r\n // set current page\r\n currentPage.val(parseInt(currentPage.val()) + 1);\r\n // attach event\r\n btnViewMoreExpenses.off().on(\"click\", viewMoreExpenses);\r\n // convert all inputs\r\n inputHelper.setInputAsDecimal(listExpensesValidated.find(\".expense-value\"));\r\n // reset button\r\n btnViewMoreExpenses.button('reset');\r\n\r\n attachItemButtonsHandlers();\r\n });\r\n }\r\n\r\n function attachItemButtonsHandlers() {\r\n $.each(listExpensesValidated.find(\"li\"), function (index, item) {\r\n\r\n var viewImagesButton = $(item).find(\"button.btn-view-files\");\r\n viewImagesButton.off(\"click\");\r\n viewImagesButton.on(\"click\", viewFiles);\r\n\r\n var viewExpenseButton = $(item).find(\"button.btn-view-expense\");\r\n viewExpenseButton.off(\"click\");\r\n viewExpenseButton.on(\"click\", updateExpense);\r\n });\r\n }\r\n\r\n /* public functions */\r\n\r\n //open expense edition modal\r\n var updateExpense = function (e) {\r\n var expenseId = $(this).data(\"id\");\r\n var expenseType = $(this).data(\"expense-type\");\r\n var expenseStatus = $(this).data(\"expense-status\");\r\n\r\n app.updateExpenseViewModel().init(expenseId, expenseType, expenseStatus);\r\n }\r\n\r\n function viewFiles() {\r\n\r\n var expenseId = $(this).data(\"id\");\r\n\r\n // -- get expenses images\r\n expenseServices.getImages(expenseId).done(function (files) {\r\n\r\n var slidesLength = $('#flexslider').data('flexslider').slides.length;\r\n\r\n for (var i = 0; i < slidesLength; i++) {\r\n $('#flexslider').data('flexslider').removeSlide(0);\r\n }\r\n\r\n\r\n $.each(files, function (index, file) {\r\n\r\n var img = $(\"\").attr('src', file.path);\r\n var listItem = $(\"
    • \");\r\n listItem.append(img);\r\n // -- add slide item\r\n $(\"#flexslider\").data(\"flexslider\").addSlide(listItem);\r\n });\r\n\r\n // -- show modal\r\n modalSlider.modal();\r\n\r\n setTimeout(function () {\r\n\r\n // -- resize slider content\r\n $('#flexslider').data('flexslider').resize();\r\n\r\n // -- goto slide 0\r\n $('#flexslider').data('flexslider').setProps(0);\r\n }, 1500);\r\n });\r\n }\r\n /* # actions */\r\n\r\n // view more expenses action\r\n function viewMoreExpenses() {\r\n btnViewMoreExpenses.button(\"loading\");\r\n loadExpenses(app.validatedExpenseFilterViewModel().buildFilter(currentPage.val()));\r\n }\r\n\r\n /* # actions */\r\n\r\n // expenses without value\r\n function expensesWithoutValue(expenses) {\r\n var anyExpensesWithOutValue = _.some(expenses, function (expense) {\r\n return !expense.fixedValue;\r\n });\r\n\r\n if (!anyExpensesWithOutValue) {\r\n return false;\r\n }\r\n\r\n notificationHelper.showError(app.localization.ValueIsRequired);\r\n\r\n listExpensesValidated.find(\".expense-value\").filter(function (index) {\r\n return !$(this).val().trim();\r\n }).each(function (index, input) {\r\n var listItem = $(input).parents(\"li\");\r\n\r\n if (!!listItem.find(\".expense-check.active\").length) {\r\n $(input).addClass(\"peding-validation-input-error\");\r\n }\r\n });\r\n\r\n return true;\r\n }\r\n\r\n return {\r\n init: init,\r\n loadExpenses: loadExpenses,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.validatedExpenseViewModel = function () {\r\n\r\n function init () {\r\n app.validatedExpenseFilterViewModel().init();\r\n app.validatedExpenseListViewModel().init();\r\n app.validatedExpenseFilterViewModel().filter();\r\n }\r\n\r\n return {\r\n init: init,\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n app.exportExcelFileViewModel = function () {\r\n\r\n var self = this;\r\n\r\n function download(filter) {\r\n\r\n var downloadUrl = String.format(\"/export-file/download?page={0}&filter={1}&accountId={2}&clientId={3}&projectId={4}\"\r\n + \"&serviceId={5}&status={6}&paymentMethod={7}&fromDay={8}&fromMonth={9}&fromYear={10}&toDay={11}&toMonth={12}\"\r\n + \"&toYear={13}&amount={14}&orderBy={15}&orderAsc={16}¤cyId={17}&fromCreatedDay={18}&fromCreatedMonth={19}&fromCreatedYear={20}\"\r\n + \"&toCreatedDay={21}&toCreatedMonth={22}&toCreatedYear={23}&settlementStatus={24}&amountOperator={25}&exportToZip={26}\",\r\n\r\n encodeURIComponent(filter.page), encodeURIComponent(filter.filter), encodeURIComponent(filter.accountId),\r\n encodeURIComponent(filter.clientId), encodeURIComponent(filter.projectId), encodeURIComponent(filter.serviceId), encodeURIComponent(filter.status),\r\n filter.paymentMethod, filter.fromDay, filter.fromMonth, filter.fromYear, filter.toDay, filter.toMonth, filter.toYear, encodeURIComponent(filter.amount),\r\n filter.orderBy, filter.orderAsc, filter.currencyId, filter.fromCreatedDay, filter.fromCreatedMonth, filter.fromCreatedYear,\r\n filter.toCreatedDay, filter.toCreatedMonth, filter.toCreatedYear, filter.settlementStatus, encodeURIComponent(filter.amountOperator), filter.exportToZip);\r\n\r\n location.href = downloadUrl;\r\n }\r\n\r\n return {\r\n download: download\r\n };\r\n };\r\n})();","'use strict';\r\n(function () {\r\n // register view model\r\n app.mailVerificationCodeViewModel = function () {\r\n var self = this;\r\n\r\n var companyServices = Pod.require(\"companyServices\");\r\n\r\n // company\r\n self.code = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n // verify mail code\r\n self.verify = function () {\r\n companyServices.verifyMailCode(self.code.value())\r\n .done(function () {\r\n location.href = \"/\";\r\n });\r\n };\r\n\r\n // form valid\r\n self.isValid = ko.computed(function () {\r\n return !!self.code.value();\r\n }, self);\r\n };\r\n})();\r\n","'use strict';\r\n(function () {\r\n // register view model\r\n app.registerViewModel = function () {\r\n var self = this;\r\n\r\n var companyServices = Pod.require(\"companyServices\");\r\n var countryServices = Pod.require(\"countryServices\");\r\n\r\n \r\n // ** \r\n // First Step\r\n // **\r\n self.acceptConditions = ko.observable(false);\r\n\r\n // company\r\n self.company = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n // mail\r\n self.mail = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n self.phone = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n $(\"#accept-terms\").on(\"nifty.ch.checked\", function () {\r\n self.acceptConditions($(\"#accept-terms\").isChecked());\r\n });\r\n\r\n $(\"#accept-terms\").on(\"nifty.ch.unchecked\", function () {\r\n self.acceptConditions($(\"#accept-terms\").isChecked());\r\n });\r\n\r\n // save first contact\r\n self.init = function () {\r\n // call servies\r\n companyServices.firstContact({\r\n company: self.company.value(),\r\n mail: self.mail.value(),\r\n phone: self.phone.value()\r\n }).done(function (data) {\r\n // hide first steep div\r\n $(\"#initial-div\").hide('slow');\r\n $(\"#register-second-div\").show('slow');\r\n });\r\n };\r\n\r\n // no white spaces in companu\r\n $('#input-company').keyup(function () {\r\n // check company name\r\n var control = $(this);\r\n var value = control.val();\r\n\r\n // check - numbers\r\n control.val(value.replace(/ +?/g, '-'));\r\n });\r\n\r\n self.initIsValid = ko.computed(function () {\r\n return self.acceptConditions() && !!self.mail.value() && !!self.company.value() && app.checkMail(self.mail.value()) && !!self.phone.value();\r\n }, self);\r\n\r\n\r\n // ** \r\n // Second Step\r\n // **\r\n self.name = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n self.surname = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n self.username = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n self.password = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n\r\n self.acceptTerms = new app.property({\r\n value: '',\r\n required: true,\r\n });\r\n\r\n // countries\r\n self.selectedCountry = new ko.observable();\r\n self.countries = ko.observableArray([]);\r\n countryServices.getAll()\r\n .done(function (array) {\r\n $.each(array, function (i, item) {\r\n self.countries.push({ name: item.name, id: item.id });\r\n self.selectedCountry(223);\r\n });\r\n });\r\n\r\n // complete register\r\n self.register = function () {\r\n // call servies\r\n companyServices.register({\r\n company: self.company.value(),\r\n mail: self.mail.value(),\r\n name: self.name.value(),\r\n password: self.password.value(),\r\n surname: self.surname.value(),\r\n user: self.username.value(),\r\n countryId: self.selectedCountry(),\r\n }).done(function (data) {\r\n\r\n // show success and return to login\r\n app.showSuccess(app.localization.RegisterSuccessfully);\r\n\r\n setTimeout(function () {\r\n location.href = \"/default/signin\";\r\n }, 2000);\r\n });\r\n };\r\n\r\n // formated username company last\r\n self.userNameCompany = ko.computed(function () {\r\n return \".\" + self.company.value().toLowerCase();\r\n }, self);\r\n\r\n // form valid\r\n self.isValid = ko.computed(function () {\r\n return !!self.name.value() && !!self.username.value() && !!self.surname.value() && !!self.password.value();\r\n }, self);\r\n };\r\n})();\r\n","'use strict';\r\n(function () {\r\n // execute administration when document ready\r\n // start administration\r\n app.loadRoleAdministration = function () {\r\n // divs\r\n var _deleteDiv = $(\"#role-delete\");\r\n var _listDiv = $(\"#role-list\");\r\n var _updateDiv = $(\"#role-update\");\r\n var _createDiv = $(\"#role-create\");\r\n\r\n //buttons \r\n var closeButton = $(\"#close-delete-role\");\r\n var _closeUpdateButton = $(\"#close-edit-role\");\r\n var _newButton = $(\"#new-role-button\");\r\n var _closeNewButton = $(\"#close-new-role\");\r\n\r\n // configure base data table\r\n app.dataTable(\"roles\");\r\n\r\n // delete role\r\n app.deleteRole = function (id, name) {\r\n\r\n app.reverseVisibility(_deleteDiv, _listDiv);\r\n ko.applyBindings(new app.roleDeleteViewModel(id, name), _deleteDiv[0]);\r\n\r\n // cancel to add role\r\n closeButton.click(function () {\r\n app.reverseVisibility(_listDiv, _deleteDiv);\r\n });\r\n };\r\n\r\n // update the role\r\n app.updateRole = function (id, name) {\r\n app.reverseVisibility(_updateDiv, _listDiv);\r\n ko.applyBindings(new app.roleUpdateViewModel(id, name), _updateDiv[0]);\r\n\r\n // cancel to add role\r\n _closeUpdateButton.click(function () {\r\n app.reverseVisibility(_listDiv, _updateDiv);\r\n });\r\n };\r\n\r\n // add role button\r\n _newButton.click(function () {\r\n\r\n // new role\r\n app.reverseVisibility(_createDiv, _listDiv);\r\n ko.applyBindings(new app.roleCreateViewModel(), _createDiv[0]);\r\n\r\n // cancel to add role\r\n _closeNewButton.click(function () {\r\n app.reverseVisibility(_listDiv, _createDiv);\r\n });\r\n });\r\n };\r\n // end administration\r\n})(window, document);\r\n","'use strict';\r\n(function () {\r\n // View model for role\r\n app.roleCreateViewModel = function (name) {\r\n\r\n var self = this;\r\n\r\n // role name\r\n self.name = new app.property({\r\n value: name || '',\r\n required: true,\r\n validation: function () {\r\n if (self.name) {\r\n // validate name\r\n var value = self.name.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // create action\r\n self.save = function () {\r\n app.roleServices().create({\r\n name: self.name.value(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n }\r\n\r\n // form is valid\r\n self.isValid = ko.computed(function () {\r\n return self.name.isValid();\r\n }, self);\r\n }\r\n})(app);","'use strict';\r\n(function () {\r\n // View model for role\r\n app.roleDeleteViewModel = function (id, name) {\r\n\r\n var self = this;\r\n\r\n // role name\r\n self.name = new app.property({\r\n value: name || '',\r\n });\r\n\r\n // delete role\r\n self.deleteRole = function (a) {\r\n app.roleServices().delete({\r\n id: self.id(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.DeletedSuccessfully);\r\n });\r\n };\r\n\r\n // id to delete\r\n self.id = ko.observable(id);\r\n }\r\n})();","'use strict';\r\n(function () {\r\n // View model for project\r\n app.roleUpdateViewModel = function (id, name) {\r\n\r\n var self = this;\r\n\r\n // id to update\r\n self.id = ko.observable(id);\r\n\r\n // project name\r\n self.name = new app.property({\r\n value: name || '',\r\n required: true,\r\n validation: function () {\r\n if (self.name) {\r\n // validate name\r\n var value = self.name.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // update role\r\n self.updateRole = function (a) {\r\n app.roleServices().update({\r\n id: self.id(),\r\n name: self.name.value(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n };\r\n\r\n // form is valid\r\n self.isValid = ko.computed(function () {\r\n return self.name.isValid();\r\n }, self);\r\n\r\n }\r\n})();","'use strict';\r\n(function () {\r\n \r\n app.roleServiceValuesCreateViewModel = function () {\r\n\r\n var self = this;\r\n\r\n // Role\r\n self.roles = ko.observableArray([]);\r\n\r\n app.roleServices().getAll().done(function (data) {\r\n $.each(data.result, function (i, item) {\r\n self.roles.push({ name: item.name, id: item.id });\r\n });\r\n });\r\n\r\n self.selectedRole = ko.observable('');\r\n\r\n // Service\r\n self.services = ko.observableArray([]);\r\n\r\n app.serviceServices().getAll().done(function (data) {\r\n $.each(data.result, function (i, item) {\r\n self.services.push({ name: item.name, id: item.id });\r\n });\r\n });\r\n\r\n self.selectedService = ko.observable('');\r\n\r\n // To\r\n self.to = new app.dateProperty();\r\n self.to.init('to');\r\n self.to.setToday();\r\n\r\n // From\r\n self.from = new app.dateProperty();\r\n self.from.init('from');\r\n self.from.setToday();\r\n\r\n // maxPerDay\r\n self.selectedCurrency = ko.observable('');\r\n\r\n var currencyPicker = new app.currencyPicker(\"maxPerDayCreate\");\r\n currencyPicker.init(function (currency) {\r\n self.selectedCurrency(currency);\r\n });\r\n\r\n self.maxPerDay = new app.property({\r\n value: '',\r\n required: true,\r\n validation: function () {\r\n if (self.maxPerDay) {\r\n // validate maxPerDay\r\n var value = self.maxPerDay.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n\r\n // get decimal value and check if distinct of 0\r\n var decimalValue = parseFloat(value).toFixed(2);\r\n if (decimalValue <= 0) {\r\n return app.localization.TheAmmountCanNotBeZero;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // comment\r\n self.comment = new app.property({\r\n value: '',\r\n required: true\r\n });\r\n\r\n // create action\r\n self.save = function () {\r\n app.roleServiceValueServices().create({\r\n roleId: self.selectedRole(),\r\n serviceId: self.selectedService(),\r\n from: self.from.getDate(),\r\n to: self.to.getDate(),\r\n maxPerDay: self.maxPerDay.value(),\r\n currencyId: self.selectedCurrency(),\r\n comment: self.comment.value(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n }\r\n\r\n\r\n // form is valid\r\n self.isValid = ko.computed(function () {\r\n return !!self.selectedRole() && !!self.selectedCurrency()\r\n && !!self.selectedService() && self.maxPerDay.isValid();\r\n }, self);\r\n }\r\n})(app);","'use strict';\r\n(function () {\r\n \r\n app.roleServiceValuesDeleteViewModel = function (id, role, service, maxPerDay) {\r\n\r\n var self = this;\r\n\r\n self.role = new app.property({\r\n value: role || '',\r\n });\r\n\r\n self.service = new app.property({\r\n value: service || '',\r\n });\r\n\r\n self.maxPerDay = new app.property({\r\n value: maxPerDay || '',\r\n });\r\n\r\n self.deleteRoleServiceValue = function (a) {\r\n app.roleServiceValueServices().delete({\r\n id: self.id(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.DeletedSuccessfully);\r\n });\r\n };\r\n\r\n // id to delete\r\n self.id = ko.observable(id);\r\n }\r\n})();","'use strict';\r\n(function () {\r\n\r\n app.roleServiceValuesUpdateViewModel = function (id, finishToLoad) {\r\n\r\n var self = this;\r\n\r\n // Role\r\n self.roles = ko.observableArray([]);\r\n\r\n self.selectedRole = ko.observable('');\r\n\r\n // Service\r\n self.services = ko.observableArray([]);\r\n\r\n self.selectedService = ko.observable('');\r\n\r\n // To\r\n self.to = new app.dateProperty();\r\n self.to.init('dateTo');\r\n\r\n // From\r\n self.from = new app.dateProperty();\r\n self.from.init('dateFrom');\r\n\r\n // maxPerDay\r\n self.selectedCurrency = ko.observable('');\r\n\r\n // comment\r\n self.comment = new app.property({\r\n value: '',\r\n required: true\r\n });\r\n\r\n // id\r\n self.id = new app.property({\r\n value: id || ''\r\n });\r\n\r\n // services loader\r\n self.serviceLoader = function () {\r\n return app.serviceServices().getAll().done(function (data) {\r\n $.each(data.result, function (i, item) {\r\n self.services.push({ name: item.name, id: item.id });\r\n });\r\n })\r\n };\r\n\r\n // role loader\r\n self.roleLoader = function () {\r\n return app.roleServices().getAll().done(function (data) {\r\n $.each(data.result, function (i, item) {\r\n self.roles.push({ name: item.name, id: item.id });\r\n });\r\n });\r\n };\r\n\r\n // waiting for services and role loader to load de entity\r\n $.when(self.serviceLoader(), self.roleLoader())\r\n .then(function () {\r\n\r\n // load entity\r\n app.roleServiceValueServices().get(id).done(function (data) {\r\n self.selectedRole(data.roleId);\r\n self.selectedCurrency(data.currrencyId);\r\n self.selectedService(data.serviceId);\r\n self.to.setDate(data.to);\r\n self.from.setDate(data.from);\r\n self.maxPerDay.value(data.maxPerDay);\r\n self.comment.value(data.comment);\r\n });\r\n\r\n finishToLoad(); // refresh DOM\r\n });\r\n\r\n var currencyPicker = new app.currencyPicker(\"maxPerDay\");\r\n currencyPicker.init(function (currency) {\r\n self.selectedCurrency(currency);\r\n });\r\n\r\n self.maxPerDay = new app.property({\r\n value: '',\r\n required: true,\r\n validation: function () {\r\n if (self.maxPerDay) {\r\n // validate maxPerDay\r\n var value = self.maxPerDay.value();\r\n if (!value) {\r\n return app.localization.IsRequired;\r\n }\r\n\r\n // get decimal value and check if distinct of 0\r\n var decimalValue = parseFloat(value).toFixed(2);\r\n if (decimalValue <= 0) {\r\n return app.localization.TheAmmountCanNotBeZero;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // save edit entity\r\n self.updateRoleServiceValue = function () {\r\n app.roleServiceValueServices().update({\r\n id: self.id.value(),\r\n roleId: self.selectedRole(),\r\n serviceId: self.selectedService(),\r\n from: self.from.getDate(),\r\n to: self.to.getDate(),\r\n maxPerDay: self.maxPerDay.value(),\r\n currencyId: self.selectedCurrency(),\r\n comment: self.comment.value(),\r\n })\r\n .done(function (data) {\r\n app.refresh(app.localization.SavedSuccessfully);\r\n });\r\n }\r\n\r\n // form is valid\r\n self.isValid = ko.computed(function () {\r\n return !!self.selectedRole()\r\n && !!self.selectedService() && self.maxPerDay.isValid();\r\n }, self);\r\n }\r\n})(app);","'use strict';\r\n(function () {\r\n app.roleServiceValuesViewModel = function () {\r\n // divs\r\n var _listDiv = $(\"#roleServiceValue-list\");\r\n var _createDiv = $(\"#roleServiceValues-create\");\r\n var _updateDiv = $(\"#roleServiceValues-update\");\r\n var _deleteDiv = $(\"#roleServiceValues-delete\");\r\n\r\n //buttons \r\n var _closeDeleteButton = $(\"#close-delete-roleServiceValue\");\r\n var _closeUpdateButton = $(\"#close-edit-roleServiceValue\");\r\n var _newButton = $(\"#new-roleServiceValue-button\");\r\n var _closeNewButton = $(\"#close-new-roleServiceValue\");\r\n\r\n // configure base data table\r\n app.dataTable(\"roleServiceValues\");\r\n\r\n // add roleServiceValue button\r\n _newButton.click(function () {\r\n \r\n // disabled currency control\r\n $(\"#span-currency-picker-maxPerDayCreate\").attr('disabled', 'disabled');\r\n\r\n // new roleServiceValue\r\n app.reverseVisibility(_createDiv, _listDiv);\r\n ko.applyBindings(new app.roleServiceValuesCreateViewModel(), _createDiv[0]);\r\n\r\n // cancel to add roleServiceValue\r\n _closeNewButton.click(function () {\r\n app.reverseVisibility(_listDiv, _createDiv);\r\n });\r\n });\r\n\r\n // update \r\n app.updateRoleServiceValue = function (id) {\r\n\r\n var finishToLoad = function () {\r\n app.reverseVisibility(_updateDiv, _listDiv);\r\n\r\n // disabled currency control\r\n $(\"#span-currency-picker-maxPerDay\").attr('disabled', 'disabled')\r\n };\r\n \r\n ko.applyBindings(new app.roleServiceValuesUpdateViewModel(id, finishToLoad), _updateDiv[0]);\r\n\r\n // cancel\r\n _closeUpdateButton.click(function () {\r\n app.reverseVisibility(_listDiv, _updateDiv);\r\n });\r\n };\r\n\r\n // delete\r\n app.deleteRoleServiceValues = function (id, role, service, maxPerDay) {\r\n\r\n app.reverseVisibility(_deleteDiv, _listDiv);\r\n ko.applyBindings(new app.roleServiceValuesDeleteViewModel(id, role, service, maxPerDay), _deleteDiv[0]);\r\n\r\n _closeDeleteButton.click(function () {\r\n app.reverseVisibility(_listDiv, _deleteDiv);\r\n });\r\n };\r\n };\r\n})(window, document);","'use strict';\r\n(function () {\r\n // execute load pending validation filter\r\n app.statisticsFilterViewModel = function () {\r\n var self = this;\r\n\r\n // arrays\r\n self.projects = ko.observableArray([]);\r\n self.accounts = ko.observableArray([]);\r\n\r\n // dates\r\n var date = new Date();\r\n var currentYear = date.getFullYear();\r\n\r\n // month\r\n self.months = ko.observableArray([\r\n { id: 1, name: '1' }, { id: 2, name: '2' }, { id: 3, name: '3' }, { id: 4, name: '4' },\r\n { id: 5, name: '5' }, { id: 6, name: '6' }, { id: 7, name: '7' }, { id: 8, name: '8' },\r\n { id: 9, name: '9' }, { id: 10, name: '10' }, { id: 11, name: '11' }, { id: 12, name: '12' }\r\n ])\r\n\r\n // month\r\n self.years = ko.observableArray([\r\n { id: currentYear - 1, name: (currentYear - 1).toString() },\r\n { id: currentYear, name: currentYear.toString() },\r\n { id: currentYear + 1, name: (currentYear + 1).toString() },\r\n ]);\r\n\r\n // values\r\n self.selectedProject = ko.observable('');\r\n self.selectedAccount = ko.observable('');\r\n self.selectedMonth = ko.observable('');\r\n self.selectedYear = ko.observable(currentYear);\r\n\r\n // fill projects\r\n app.projectServices().getAll().done(function (array) {\r\n $.each(array.result, function (i, item) {\r\n self.projects.push({ name: item.name, id: item.id });\r\n });\r\n });\r\n\r\n // fill accounts\r\n app.accountServices().getCanValidate().done(function (array) {\r\n $.each(array.result, function (i, item) {\r\n self.accounts.push({ name: item.fullname, id: item.id });\r\n });\r\n });\r\n\r\n // filter\r\n self.find = function () {\r\n\r\n // build URI\r\n var url = \"/statistics/filter?year=\" + encodeURIComponent(self.selectedYear());\r\n\r\n if (!!self.selectedProject()) {\r\n url += \"&project=\" + encodeURIComponent(self.selectedProject());\r\n }\r\n\r\n if (!!self.selectedMonth()) {\r\n url += \"&month=\" + encodeURIComponent(self.selectedMonth());\r\n }\r\n\r\n if (!!self.selectedAccount()) {\r\n url += \"&account=\" + encodeURIComponent(self.selectedAccount());\r\n }\r\n\r\n location.href = url;\r\n };\r\n\r\n // find is valid\r\n self.isValid = ko.computed(function () {\r\n return true; // TODO\r\n }, self);\r\n }\r\n})();\r\n","(function () {\r\n 'use strict';\r\n app.settingsViewModel = function () {\r\n\r\n //Modules\r\n var accountServices = Pod.require(\"accountServices\");\r\n var notification = Pod.require(\"notification-helper\");\r\n\r\n //DOM elements\r\n var userSettingsModal = $(\"#user-settings-modal\");\r\n var chkUserSettings = $(\"#chk-user-settings\");\r\n var zoneUserSettings = $(\"#zone-user-settings\");\r\n var languageUserSettings = $(\"#language-user-settings\");\r\n var btnSave = $(\"#btn-save-user-settings\");\r\n var btnCancel = $(\"#btn-cancel-user-settings\");\r\n\r\n var zoneServices = Pod.require(\"zoneServices\");\r\n\r\n var currentSettings;\r\n\r\n var init = function () {\r\n\r\n chkUserSettings.niftyCheck();\r\n btnCancel.off().on(\"click\", closeModal);\r\n btnSave.off().on(\"click\", save);\r\n \r\n\r\n zoneServices.getAll().done(function (zones) {\r\n\r\n $.each(zones, function () {\r\n zoneUserSettings.append($(\"