{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/core/services/store/breadcrumbs.module.js","webpack:///./src/assets/js/components/image-input.js","webpack:///./node_modules/@aws-amplify/ui-vue/node_modules/@aws-amplify/ui-components/dist/esm-es5 lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///./src/App.vue?cb34","webpack:///src/App.vue","webpack:///./src/App.vue?4c2e","webpack:///./src/App.vue","webpack:///./src/router.js","webpack:///./src/core/services/jwt.service.js","webpack:///./src/core/services/api.service.js","webpack:///./src/assets/js/common/common.js","webpack:///./src/assets/js/common/treecommon.js","webpack:///./src/core/config/i18n/en.js","webpack:///./src/core/config/i18n/ch.js","webpack:///./src/core/config/i18n/es.js","webpack:///./src/core/config/i18n/jp.js","webpack:///./src/core/config/i18n/de.js","webpack:///./src/core/config/i18n/fr.js","webpack:///./src/core/plugins/vue-i18n.js","webpack:///./src/core/plugins/vuetify.js","webpack:///./src/core/plugins/sweetalert.js","webpack:///./src/core/plugins/portal-vue.js","webpack:///./src/core/plugins/bootstrap-vue.js","webpack:///./src/core/plugins/perfect-scrollbar.js","webpack:///./src/core/plugins/highlight-js.js","webpack:///./src/core/plugins/inline-svg.js","webpack:///./src/core/plugins/apexcharts.js","webpack:///./src/core/plugins/treeselect.js","webpack:///./src/assets/js/layout/base/aside.js","webpack:///./src/assets/js/layout/base/aside-menu.js","webpack:///./src/assets/js/layout/base/aside-toggle.js","webpack:///./src/assets/js/layout/base/brand.js","webpack:///./src/assets/js/layout/base/content.js","webpack:///./src/assets/js/layout/base/footer.js","webpack:///./src/assets/js/layout/base/header-topbar.js","webpack:///./src/assets/js/layout/base/sticky-card.js","webpack:///./src/assets/js/layout/base/stretched-card.js","webpack:///./src/assets/js/layout/base/subheader.js","webpack:///./src/assets/js/layout/extended/chat.js","webpack:///./src/assets/js/layout/extended/quick-actions.js","webpack:///./src/assets/js/layout/extended/quick-cart.js","webpack:///./src/assets/js/layout/extended/quick-notifications.js","webpack:///./src/assets/js/layout/extended/quick-panel.js","webpack:///./src/assets/js/layout/extended/quick-search.js","webpack:///./src/assets/js/layout/extended/search.js","webpack:///./src/core/plugins/metronic.js","webpack:///./src/core/plugins/moment-vue.js","webpack:///./src/core/plugins/multiselect.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/core/emitter.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/core/filter.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/filters/getFieldValue.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/format.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/between.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/blank.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/call.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/callback.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/choice.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/algorithms/luhn.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/creditCard.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/isValidDate.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/date.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/different.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/digits.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/emailAddress.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/file.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/greaterThan.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/identical.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/integer.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/ip.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/lessThan.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/notEmpty.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/numeric.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/promise.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/regexp.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/utils/fetch.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/remote.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/stringCase.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/stringLength.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/uri.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/validators/index.js","webpack:///./src/assets/plugins/formvalidation/dist/es6/core/Core.js","webpack:///./src/core/plugins/formvalidation.js","webpack:///./src/core/plugins/vue-session.js","webpack:///./src/core/plugins/vue-loading-overlay.js","webpack:///./src/core/plugins/vue-easytable.js","webpack:///./src/core/plugins/vue2-datepicker.js","webpack:///./src/core/plugins/vue-ellipse-progress.js","webpack:///./src/core/plugins/vue-js-modal.js","webpack:///./src/core/plugins/v-viwer.js","webpack:///./src/core/plugins/vue-json-viewer.js","webpack:///./src/core/services/filters/index.js","webpack:///./src/aws-exports.js","webpack:///./src/main.js","webpack:///./src/core/services/store/config.module.js","webpack:///./src/assets/js/components/header.js","webpack:///./src/assets/js/layout/extended/scrolltop.js","webpack:///./src/core/services/store/submission.module.js","webpack:///./src/core/services/store/project.module.js","webpack:///./src/core/services/store/history.module.js","webpack:///./src/core/services/store/vuetify.module.js","webpack:///./src/core/services/store/country.module.js","webpack:///./src/core/services/store/session-key.module.js","webpack:///./src/core/services/store/env.module.js","webpack:///./src/core/services/store/kyb.module.js","webpack:///./src/core/services/store/role.module.js","webpack:///./src/core/services/store/formattedtime.module.js","webpack:///./src/core/services/store/store.js","webpack:///./src/core/services/store/index.js","webpack:///./src/assets/js/components/menu.js","webpack:///./src/App.vue?b973","webpack:///./src/core/services/store/htmlclass.module.js","webpack:///./src/core/services/store/kyc.module.js","webpack:///./src/assets/js/layout/extended/quick-user.js","webpack:///./src/assets/js/components/dialog.js","webpack:///./src/assets/js/components/wizard.js","webpack:///./src/core/services/store/profile.module.js","webpack:///./src/assets/js/components/util.js","webpack:///./src/assets/js/layout/extended/examples.js","webpack:///./src/assets/js/components/offcanvas.js","webpack:///./src/assets/js/components/scrolltop.js","webpack:///./src/App.vue?d015","webpack:///./src/assets/js/components/toggle.js","webpack:///./src/core/config/i18n sync [A-Za-z0-9-,\\s]+.json$/","webpack:///./src/core/config/country.js","webpack:///./src/assets/js/components/card.js","webpack:///./src/assets/js/layout/base/header.js","webpack:///./src/assets/js/components/cookie.js","webpack:///./src/assets/js/layout/base/header-menu.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","APPEND_BREADCRUM","SET_BREADCRUMB","ADD_BREADCRUMB","state","breadcrumbs","getters","pageTitle","last","title","actions","payload","commit","forEach","item","mutations","KTImageInput","elementId","options","the","this","element","KTUtil","getById","getBody","defaultOptions","editMode","Plugin","construct","has","init","build","set","events","input","find","wrapper","cancel","remove","css","hidden","deepExtend","addEvent","preventDefault","files","reader","FileReader","readAsDataURL","addClass","removeClass","eventTrigger","one","handler","fired","setDefaults","on","map","webpackAsyncContext","req","ids","id","keys","render","_vm","_h","$createElement","_c","_self","completeLoading","$isEmptyObject","loginUser","staticClass","staticStyle","$event","$store","dispatch","_v","attrs","model","callback","$$v","otpCode","expression","checkOtp","_e","argosLogoImage","slot","staticRenderFns","permittedList","unsubscribeAuth","isLoadedAuth","computed","mapGetters","amplifyAuth","otpAuth","userRole","backgroundImage","process","backgroundImage3","res","Auth","currentAuthenticatedUser","attributes","userInfo","email","phoneNumber","phone_number","SET_LOGIN_USER","log","getProjectIdList","vueComp","onAuthUIStateChange","authState","authData","authChangedCallback","beforeUnmount","OVERRIDE_LAYOUT_CONFIG","methods","param","auth","adminRole","projects","isAdminUser","isUserDashboard","isGuestUser","isGuestKYC","otpSecret","otpCheck","filter","includes","$route","$router","params","requestType","token","otpVerify","statusCode","otpResult","speakEasy","totp","verify","secret","encoding","watch","projectObject","getSelectedProjectObject","component","Vue","use","Router","routes","path","redirect","children","ID_TOKEN_KEY","getToken","localStorage","getItem","saveToken","setItem","destroyToken","removeItem","ApiService","VueAxios","axios","defaults","baseURL","setHeader","headers","common","JwtService","query","resource","catch","slug","post","update","put","delete","CommonJs","install","$isValidEmail","emailReg","RegExp","test","$getSequenceText","index","$downloadURI","uri","link","download","body","click","$getPageLength","totalCount","pageSize","calc","Math","floor","$getStatusColorBootstrap","status","$getStatusIcon","$getStatusColor","$getAgeGroupColor","ageGroup","$getAgeGroupTextColor","$sortByDate","list","column_name","sort","curr","next","currDate","Date","nextDate","$getTextByteLength","str","byteLength","charCode","charCodeAt","$getAge","dob","birthdate","today","age","getFullYear","vue","$moment","format","$getFormHtml","formId","domain","html","url","obj","prop","JSON","stringify","$changeTimeFromSelectedLang","time","selectedLang","timezone","navigatorLanguage","formatter","Intl","DateTimeFormat","year","month","day","hour","minute","timeZone","date","$isAfterNovemberFirst2023","createTime","targetDate","UTC","inputDate","$addYear","dateParam","addYear","getMonth","getDate","$addDay","addDay","resultDate","dataTree","require","TreeCommon","$convertListToTree","tree","rootNode","insert","amlResult","shareholder","keyValue","nodeName","toLowerCase","inObj","nodeParent","parentKeyValue","searchNode","traverser","searchBFS","insertToNode","insertTo","exported","export","$convertListToTree2","parent","temp1","temp2","locale","TRANSLATOR","SELECT","MENU","NEW","ACTIONS","CREATE_POST","PAGES","FEATURES","APPS","DASHBOARD","AUTH","GENERAL","OR","SUBMIT_BUTTON","NO_ACCOUNT","SIGNUP_BUTTON","FORGOT_BUTTON","BACK_BUTTON","PRIVACY","LEGAL","CONTACT","LOGIN","TITLE","BUTTON","FORGOT","DESC","SUCCESS","REGISTER","INPUT","EMAIL","FULLNAME","PASSWORD","CONFIRM_PASSWORD","USERNAME","VALIDATION","INVALID","REQUIRED","MIN_LENGTH","AGREEMENT_REQUIRED","NOT_FOUND","INVALID_LOGIN","REQUIRED_FIELD","MIN_LENGTH_FIELD","MAX_LENGTH_FIELD","INVALID_FIELD","ECOMMERCE","COMMON","SELECTED_RECORDS_COUNT","ALL","SUSPENDED","ACTIVE","FILTER","BY_STATUS","BY_TYPE","BUSINESS","INDIVIDUAL","SEARCH","IN_ALL_FIELDS","CUSTOMERS","CUSTOMERS_LIST","NEW_CUSTOMER","DELETE_CUSTOMER_SIMPLE","DESCRIPTION","WAIT_DESCRIPTION","MESSAGE","DELETE_CUSTOMER_MULTY","UPDATE_STATUS","EDIT","UPDATE_MESSAGE","ADD_MESSAGE","loadLocaleMessages","locales","messages","en","ch","es","jp","de","fr","matched","match","VueI18n","langList","lang","userLang","urlSearchParams","URLSearchParams","location","search","fromEntries","entries","navigator","language","split","vueI18n","fallbackLocale","Vuetify","dense","fileInput","placeholder","color","vuetifyObj","customProperties","theme","themes","light","primary","secondary","accent","info","success","warning","VueSweetalert2","PortalVue","BootstrapVue","IconsPlugin","PerfectScrollbar","VueHighlightJS","languages","scss","javascript","json","InlineSvgPlugin","VueApexCharts","Treeselect","KTLayoutAside","_body","_element","_offcanvasObject","_init","offcanvasClass","hasClass","KTOffcanvas","baseClass","overlay","closeBy","toggleBy","getElement","getOffcanvas","isFixed","isMinimized","isHoverable","KTLayoutAsideMenu","_menuObject","scroll","menuDesktopMode","attr","rememberPosition","height","parseInt","getViewPort","isBreakpointUp","KTLayoutBrand","getHeight","KTMenu","submenu","desktop","tablet","mobile","accordion","expandAll","_initHover","insideTm","outsideTm","getMenu","scrollUpdate","scrollTop","pauseDropdownHover","closeMobileOffcanvas","isMobileDevice","hide","KTLayoutAsideToggle","_toggleObject","KTToggle","targetState","toggleState","toggle","KTLayoutStickyCard","KTLayoutHeaderMenu","KTCookie","setCookie","getState","getToggle","onToggle","_getHeight","actualHeight","KTLayoutContent","KTLayoutHeader","KTLayoutSubheader","KTLayoutFooter","KTLayoutHeaderTopbar","_toggleElement","getToggleElement","_object","offset","KTCard","sticky","zIndex","position","top","pos","isFixedForMobile","getHeightForMobile","left","card","right","cardWidth","bodyWidth","cardOffsetLeft","initSticky","addResizeHandler","updateSticky","KTLayoutStretchedCard","cardBody","cardHeader","KTLayoutChat","scrollEl","cardBodyEl","cardHeaderEl","cardFooterEl","scrollInit","windowScroll","mobileNativeScroll","desktopNativeScroll","resetHeightOnDestroy","handleWindowResize","isBreakpointDown","hasAttr","keyCode","_handeMessaging","messagesEl","textarea","node","ps","setHTML","encodeURI","hostname","getCookie","expires","getTime","setup","KTLayoutQuickActions","header","content","placement","disableForMobile","KTLayoutQuickCartPanel","footer","KTLayoutQuickNotifications","KTLayoutQuickPanel","_notificationsElement","_logsElement","_settingsElement","_getContentHeight","_initNotifications","_initLogs","_initSettings","KTLayoutQuickSearch","form","results","KTLayoutSearch","_target","_form","_input","_closeIcon","_resultWrapper","_resultDropdown","_resultDropdownToggle","_closeIconContainer","_query","_hasResult","_timeout","_isProcessing","_requestTimeout","_spinnerClass","_resultClass","_minLength","_showProgress","_hideProgress","show","_showDropdown","$","dropdown","_hideDropdown","_processSearch","ajax","HOST_URL","dataType","_handleCancel","_handleSearch","onkeypress","KTDialog","KTHeader","KTScrolltop","KTWizard","KTLayoutExamples","KTLayoutQuickUser","KTLayoutScrolltop","VueMoment","Multiselect","fns","clear","emit","f","off","indexOf","filters","add","execute","a","tagName","selectedIndex","checked","Array","isArray","replace","parseFloat","validate","valid","assign","inclusive","min","max","l10n","between","default","notInclusive","substring","pop","querySelectorAll","elements","choice","more","less","charAt","AMERICAN_EXPRESS","prefix","DANKORT","DINERS_CLUB","DINERS_CLUB_US","DISCOVER","ELO","FORBRUGSFORENINGEN","JCB","LASER","MAESTRO","MASTERCARD","SOLO","UNIONPAY","VISA","VISA_ELECTRON","meta","substr","isNaN","u","setHours","setMinutes","setSeconds","getHours","g","getMinutes","getSeconds","h","H","HH","M","MM","dd","hh","mm","ss","yy","yyyy","separator","Y","D","x","y","I","O","v","T","S","b","range","compare","multiple","extension","maxFiles","minFiles","size","lastIndexOf","ext","file","minSize","maxSize","maxTotalSize","totalSize","minTotalSize","greaterThan","decimalSeparator","thousandsSeparator","isFinite","ipv4","ipv6","ip","lessThan","trim","regexp","toString","flags","encodeURIComponent","join","crossDomain","method","now","async","addEventListener","XMLHttpRequest","open","setRequestHeader","parse","responseText","send","validKey","field","case","stringCase","upper","toUpperCase","utf8Bytes","stringLength","allowEmptyProtocol","allowLocal","protocol","blank","creditCard","different","digits","emailAddress","identical","integer","notEmpty","numeric","k","remote","C","w","constructor","ee","plugins","Map","validators","fields","registerPlugin","setCore","deregisterPlugin","uninstall","registerValidator","registerFilter","deregisterFilter","executeFilter","addField","selector","queryElements","removeField","validateField","validateElement","executeValidator","waterfall","enabled","normalizeResult","validator","getElementValue","localization","getElements","getFields","getFormElement","getLocale","getPlugin","updateFieldStatus","updateElementStatus","resetForm","resetField","reset","removeAttribute","HTMLInputElement","HTMLTextAreaElement","revalidateField","disableValidator","toggleValidator","enableValidator","updateValidatorOption","setFieldOptions","destroy","setLocale","reduce","formValidation","sessionOptions","persist","VueSession","Loading","VeTable","DatePicker","VueEllipseProgress","VModal","Viewer","JsonViewer","awsmobile","config","productionTip","ClipboardJS","Amplify","configure","aws_exports","VueSessionStorage","router","store","i18n","vuetify","App","$mount","SET_LAYOUT_CONFIG","RESET_LAYOUT_CONFIG","OVERRIDE_PAGE_LAYOUT_CONFIG","initial","layoutConfig","defaultValue","objectPath","merge","tabletAndMobile","releseOnReverse","eventTriggerState","lastScrollTop","st","getScrollTop","hasAttribute","args","speed","rejectReason","idType","submissionId","companyName","submissions","submissionTotalCount","submissionApprovedCount","directors","shareholders","companyProfileCount","setSubmissions","setDirectors","setId","setCpnyName","setShareHolders","setCompanyProfileCnt","profileInfo","setHistory","alias","context","API","queryStringParameters","getEnv","submission_data","projectId","getSubmission","shareholder_data","getShareholder","resourceId","returnValue","isDashboard","del","rest","getSelectedProjectId","admin","currentLoginUser","parma","memo","project_id","history_data","historyList","searchType","setSubmissionDirectors","setSubmissionId","setCompanyName","setShareHolderList","setCompanyProfileCount","isMadeRejectReason","rejectReasonKey","temp","text","console_text","custom_text","category","getSubmissions","getDirectors","getSubmissionId","getCompanyName","getShareHolders","getCompanyProfileCount","PROJECT_TYPE_TEXT","submissionsInfo","admins_data","getAdmins","projectData","project_data","projectList","projectIdList","downloadFile","responseType","URL","createObjectURL","Blob","decodeURI","otp_data","emailNotification","emailValue","webhookURL","webhookValue","comment","_e$response$status","_e$response","_e$response$data$mess","_e$response2","response","errorMessage","projectName","_e$response$status2","_e$response3","_e$response$data$mess2","_e$response4","ACTION_TYPE_TEXT","KYB_CREATE","KYB_COMPLETE","DIRECTOR_CREATE","DIRECTOR_COMPLETE","SHAREHOLDER_CREATE","SHAREHOLDER_COMPLETE","BADGE_COLOR","setHistoryList","callHistoryApi","AWS","region","accessKeyId","rootState","storeOption","secretAccessKey","docClient","DynamoDB","DocumentClient","TableName","ExpressionAttributeValues","KeyConditionExpression","Items","getHistories","makeCountryMap","countryObjs","countryList","country","label","makeCountryObjList","tmpList","newObj","getCountryList","localeCompare","getCountryLabelByValue","LOGIN_USER","PROJECT_ID","PROJECT_ID_KYC","SELECTED_PROJECT_ID","SELECTED_PROJECT_ID_KYC","PROJECT_OBJECT","PROJECT_ID_LIST","PROJECT_ID_LIST_KYC","PROJECT_LIST","SUBMISSION_ID","ADD_ON_ID","SUBMISSION_VALUE","mutation","s3UrlQa","s3UrlDev","s3HostQa","s3HostDev","formUrlLive","formUrlQa","formUrlDev","liveAPIBaseURL","devAPIBaseURL","host","getAPIBaseURL","env","getFormUrl","getS3Url","getS3Host","represent","isGuestKYB","selectedProjectId","selectedProjectObject","selectedProjectDetail","projectSimpleInfoList","setSelectedProjectDetail","setSelectedProject","setProjectSimpleInfoList","setSelectedProjectObject","setAdminProperties","setGuestProperties","kybProjects","project","kycProjects","pList","getProjectSimpleInfoList","getSelectedProjectDetail","getUserRole","sliceLang","getStoredTimezone","storedTz","sessionStorage","TIME_ZONE_LIST","resolvedOptions","getSelectedLang","setSelectedLanguage","issuingCountry","updatedLang","namespaced","projectValue","STATUS_TEXT","ACCESS_KEY_ID","SECRET_ACCESS_KEY","PROJECT_VALUE","MUT_PROJECT_VALUE","ACT_PROJECT_VALUE","Vuex","Store","CreatePersistedState","storage","paths","KYB_STATUS_OPTIONS","KYB_PROJECT_STATUS_OPTIONS","KYB_PROJECT_STATUS_TEXT","complete","closed","KYB_PROJECT_STATUS_KEYS","KYB_STATUS_COLOR","ID_TYPE","setEmail","htmlClass","profile","submission","projectModule","historyModule","vuetifyModule","countryModule","sessionKey","envModule","kybModule","kycModule","roleModule","formattedTimeModule","slideSpeed","autoScroll","autoScrollSpeed","eventHandlers","pauseDropdownHoverTime","uid","getUniqueID","reload","resetSubmenuProps","handleSubmenuAccordion","getSubmenuMode","isConditionalSubmenuDropdown","handleSubmenuDrodownHoverEnter","handleSubmenuDrodownHoverExit","handleSubmenuDropdownClick","handleSubmenuDropdownTabClick","handleLinkClick","scrollDestroy","el","isset","hasClasses","submenus","findAll","len","resumeDropdownHover","showSubmenuDropdown","hideSubmenuDropdown","closest","hideSubmenuDropdowns","handleSubmenuDropdownClose","shown","li","child","subnav","closables","el_","submenu_","slideUp","slideDown","scrollToItem","scrollTo","classAlso","items","cnt","contains","isOffscreen","createSubmenuDropdownClickDropoff","dropoff","stopPropagation","resetActiveItem","parents","i_","len_","setActiveItem","getBreadcrumbs","innerHTML","submenuLink","reverse","getPageTitle","removeEvent","scrollReInit","hideDropdown","hideDropdowns","getByTagName","ADD_BODY_CLASSNAME","REMOVE_BODY_CLASSNAME","ADD_CLASSNAME","SET_CLASSNAME_BY_POSITION","classes","getClasses","className","classList","submission_id","datas","base64Str","buffer","Buffer","from","imageUrl","myBucket","S3","Bucket","imageURL","urlPath","v4","uuidv4","uploadPath","putObject","Key","Body","ContentEncoding","ContentType","isCsv","invocationType","QR_code","putResult","fileData","putConfig","contentType","level","Storage","imageParams","updateResult","startStep","clickableSteps","steps","btnNext","btnPrev","btnSubmit","lastStep","currentStep","newStep","stopped","totalSteps","goTo","updateUI","setNewStep","getNextStep","getPrevStep","number","stop","resume","isLastStep","isFirstStep","isBetweenStep","stepType","stepsInfo","removeAttr","stepsContent","getNewStep","step","nested","goNext","goPrev","goLast","getLastStep","goFirst","getFirstStep","getStep","isCheckOtpAuth","$session","signOut","setLoginUser","setAmplifyAuth","setOtpAuth","setIsCheckOtpAuth","Element","matches","msMatchesSelector","webkitMatchesSelector","ancestor","documentElement","parentElement","elem","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","timeToCall","arr","configurable","writable","argArr","arguments","docFrag","createDocumentFragment","argItem","isNode","Node","createTextNode","String","insertBefore","firstChild","Document","DocumentFragment","getAttributeNames","KTUtilElementDataStore","KTUtilElementDataStoreID","KTUtilDelegatedEventHandlers","resizeHandlers","breakpoints","sm","md","lg","xl","_windowResizeHandler","timer","_runResizeHandlers","each","throttle","settings","removeResizeHandler","runResizeHandlers","resize","Event","dispatchEvent","evt","createEvent","initUIEvent","getURLParam","paramName","val","searchString","unescape","width","getBreakpoint","userAgent","isDesktopDevice","isInResponsiveRange","breakpoint","random","stone","getHighestZindex","hasFixedPositionedParent","sleep","milliseconds","start","getRandomInt","isAngularVersion","Zone","out","extend","getElementById","getByTag","getByClass","getElementsByClassName","classesArr","classNames","triggerCustomEvent","eventName","CustomEvent","detail","initCustomEvent","triggerEvent","doc","ownerDocument","nodeType","eventClass","bubbles","initEvent","synthetic","fireEvent","createEventObject","string","eventTriggered","currentTarget","dataset","triggered","querySelector","insertAfter","referenceNode","nextSibling","matchesSelector","mozMatchesSelector","oMatchesSelector","childNodes","customDataTag","outerWidth","margin","offsetWidth","rect","win","getClientRects","getBoundingClientRect","defaultView","pageYOffset","pageXOffset","outerHeight","withMargin","style","offsetHeight","getComputedStyle","marginTop","marginBottom","visible","animate","to","duration","easing","done","easings","linear","rAF","change","performance","loop","timestamp","actualCss","cache","HTMLElement","cssText","actualWidth","getScroll","self","browserSupportsBoxModel","styleProp","getPropertyValue","currentStyle","letter","oldLeft","oldRsLeft","runtimeStyle","pixelLeft","slide","dir","recalcMaxHeight","calcHeight","calcPaddingTop","calcPaddingBottom","paddingTop","paddingBottom","display","overflow","removeEventListener","eventId","targets","callee","hash","chr","animateClass","animationName","animation","animations","OAnimation","MozAnimation","WebkitAnimation","msAnimation","transitionEnd","transition","transitions","OTransition","MozTransition","WebkitTransition","msTransition","animationEnd","animateDelay","animateDuration","targetPos","scrollPos","ready","attachEvent","readyState","isEmpty","numberString","nStr","x1","x2","rgx","detectIE","ua","msie","trident","rv","edge","isRTL","pluginDefOptions","wheelSpeed","swipeEasing","wheelPropagation","minScrollbarLength","maxScrollbarLength","suppressScrollX","attrName","optionName","filterBoolean","Function","mobileHeight","scrollUpdateAll","scrollers","resetAll","setProperty","getHTML","getDocumentHeight","scrollHeight","clientHeight","scrollingElement","changeColor","col","amt","usePound","num","func","delay","debounce","btnWait","cls","disable","caption","btnRelease","direction","windowWidth","windowHeight","KTAppSettings","initDefaultMode","example","copy","clipboard","trigger","clearSelection","initCompactMode","attrCustom","classBase","classShown","classOverlay","isShown","toggleClass","classCustom","handle","toggleElement","targetElement","targetToggleMode","toggleOn","toggleOff","webpackContext","webpackContextResolve","toggleSpeed","onScrollSticky","resetSticky","setContent","getSelf","expand","collapse","destroySticky","_elementForMobile","_getHeightForMobile","idForMobile","getElementForMobile","getHeader","cookie","decodeURIComponent","toUTCString","updatedCookie","optionKey","optionValue","deleteCookie","_menuElement","_offcanvasElement","menu","menuId","offcanvasId","getMenuElement","getOffcanvasElement"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,CAAC,oBAAoB,oBAAoB,qBAAqB,qBAAqB,gBAAgB,gBAAgB,MAAQ,QAAQ,QAAU,UAAU,KAAO,QAAQ9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,oBAAoB,WAAW,qBAAqB,WAAW,gBAAgB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,MAAQ,WAAW,QAAU,WAAW,KAAO,YAAYA,GAAW,MAIvqE,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GAC7gBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,CAAC,oBAAoB,oBAAoB,qBAAqB,qBAAqB,gBAAgB,gBAAgB,MAAQ,QAAQ,QAAU,UAAU,KAAO,QAAQxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,oBAAoB,WAAW,qBAAqB,WAAW,gBAAgB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,MAAQ,WAAW,QAAU,WAAW,KAAO,YAAYA,GAAW,OAC/oEyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6mECzQF,MAAM+F,EAAmB,mBAGnBC,EAAiB,gBACjBC,EAAiB,gBAEf,QACbC,MAAO,CACLC,YAAa,IAEfC,QAAS,CAMPD,YAAYD,GACV,OAAOA,EAAMC,aAQfE,UAAUH,GACR,IAAII,EAAOJ,EAAMC,YAAYD,EAAMC,YAAY/G,OAAS,GACxD,GAAIkH,GAAQA,EAAKC,MACf,OAAOD,EAAKC,QAIlBC,QAAS,CAMP,CAACR,GAAgBE,EAAOO,GACtBP,EAAMQ,OAAOV,EAAgBS,IAQ/B,CAACR,GAAgBC,EAAOO,GACC,kBAAZA,EACTA,EAAQE,QAAQC,GAAQV,EAAMQ,OAAOX,EAAkBa,IAEvDV,EAAMQ,OAAOX,EAAkBU,KAIrCI,UAAW,CACT,CAACd,GAAkBG,EAAOO,GACxBP,EAAMC,YAAc,IAAID,EAAMC,YAAaM,IAE7C,CAACT,GAAgBE,EAAOO,GACtBP,EAAMC,YAAcM,M,4gJC7D1B,0DAKIK,EAAe,SAASC,EAAWC,GAEnC,IAAIC,EAAMC,KAINC,EAAUC,OAAOC,QAAQN,GAClBK,OAAOE,UAElB,GAAKH,EAAL,CAKA,IAAII,EAAiB,CACjBC,UAAU,GAOVC,EAAS,CAKTC,UAAW,SAASV,GAchB,OAbII,OAAOxI,KAAKuI,GAASQ,IAAI,cACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,eAI/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,aAAcb,IAGpCA,GAMXW,KAAM,SAASZ,GACXC,EAAIE,QAAUA,EACdF,EAAIc,OAAS,GAEbd,EAAIe,MAAQZ,OAAOa,KAAKd,EAAS,sBACjCF,EAAIiB,QAAUd,OAAOa,KAAKd,EAAS,wBACnCF,EAAIkB,OAASf,OAAOa,KAAKd,EAAS,0BAClCF,EAAImB,OAAShB,OAAOa,KAAKd,EAAS,0BAClCF,EAAIzE,IAAM4E,OAAOiB,IAAIpB,EAAIiB,QAAS,mBAClCjB,EAAIqB,OAASlB,OAAOa,KAAKd,EAAS,wBAGlCF,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,IAMxDa,MAAO,WAEHT,OAAOoB,SAASvB,EAAIe,MAAO,UAAU,SAAShH,GAG7C,GAFGA,EAAEyH,iBAEDxB,EAAIe,OAASf,EAAIe,MAAMU,OAASzB,EAAIe,MAAMU,MAAM,GAAI,CACpD,IAAIC,EAAS,IAAIC,WACjBD,EAAOxG,OAAS,SAASnB,GACrBoG,OAAOiB,IAAIpB,EAAIiB,QAAS,mBAAoB,OAAOlH,EAAEuB,OAAOtC,OAAQ,MAExE0I,EAAOE,cAAc5B,EAAIe,MAAMU,MAAM,IAErCtB,OAAO0B,SAAS7B,EAAIE,QAAS,uBAC1BC,OAAO2B,YAAY9B,EAAIE,QAAS,qBAGhCM,EAAOuB,aAAa,cAK5B5B,OAAOoB,SAASvB,EAAIkB,OAAQ,SAAS,SAASnH,GAC1CA,EAAEyH,iBAGFhB,EAAOuB,aAAa,UAEvB5B,OAAO2B,YAAY9B,EAAIE,QAAS,uBAC7BC,OAAO2B,YAAY9B,EAAIE,QAAS,qBACnCC,OAAOiB,IAAIpB,EAAIiB,QAAS,mBAAoBjB,EAAIzE,KAChDyE,EAAIe,MAAMlD,MAAQ,GAEXmC,EAAIqB,SACJrB,EAAIqB,OAAOxD,MAAQ,QAK3BsC,OAAOoB,SAASvB,EAAImB,OAAQ,SAAS,SAASpH,GAC1CA,EAAEyH,iBAGFhB,EAAOuB,aAAa,UAEvB5B,OAAO2B,YAAY9B,EAAIE,QAAS,uBAC7BC,OAAO0B,SAAS7B,EAAIE,QAAS,qBAChCC,OAAOiB,IAAIpB,EAAIiB,QAAS,mBAAoB,QAC5CjB,EAAIe,MAAMlD,MAAQ,GAEXmC,EAAIqB,SACJrB,EAAIqB,OAAOxD,MAAQ,SAQ/BkE,aAAc,SAASjF,GAEnB,IAAK,IAAI7E,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,GALhC,GAAmB,GAAf5E,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,MASpDuB,SAAU,SAASzE,EAAMmF,EAASD,GAQ9B,OAPAhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,IAGJlC,IAiCf,OArBAA,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAMjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAI1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,IAEtBC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAUiG,GAGNA,W,kEClMf,IAAIwC,EAAM,CACT,qCAAsC,CACrC,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,mCAAoC,CACnC,OACA,kBAED,mCAAoC,CACnC,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,6BAA8B,CAC7B,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,uCAAwC,CACvC,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,yCAA0C,CACzC,OACA,kBAED,uCAAwC,CACvC,OACA,kBAED,kCAAmC,CAClC,OACA,kBAED,+BAAgC,CAC/B,QACA,kBAED,iCAAkC,CACjC,OACA,kBAED,0BAA2B,CAC1B,OACA,kBAED,0BAA2B,CAC1B,OACA,kBAED,2BAA4B,CAC3B,OACA,kBAED,kCAAmC,CAClC,OACA,kBAED,4BAA6B,CAC5B,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,qCAAsC,CACrC,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,6BAA8B,CAC7B,OACA,kBAED,qCAAsC,CACrC,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,6BAA8B,CAC7B,OACA,mBAGF,SAASC,EAAoBC,GAC5B,IAAIjJ,EAAoBgE,EAAE+E,EAAKE,GAC9B,OAAOrI,QAAQC,UAAU4B,MAAK,WAC7B,IAAIhC,EAAI,IAAI0B,MAAM,uBAAyB8G,EAAM,KAEjD,MADAxI,EAAE2B,KAAO,mBACH3B,KAIR,IAAIyI,EAAMH,EAAIE,GAAME,EAAKD,EAAI,GAC7B,OAAOlJ,EAAoBS,EAAEyI,EAAI,IAAIzG,MAAK,WACzC,OAAOzC,EAAoBmJ,MAG7BH,EAAoBI,KAAO,WAC1B,OAAOtK,OAAOsK,KAAKL,IAEpBC,EAAoBG,GAAK,OACzB5I,EAAOD,QAAU0I,G,2DCpIbK,EAAS,WAAa,IAAIC,EAAI3C,KAAS4C,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAQD,EAAe,YAAEG,EAAG,MAAM,CAAEH,EAAIK,kBAAoBL,EAAIM,eAAgBN,EAAIO,WAAaJ,EAAG,MAAM,CAACK,YAAY,gCAAgC,CAAER,EAAW,QAAEG,EAAG,MAAM,CAACK,YAAY,SAAS,CAACL,EAAG,gBAAgB,GAAGA,EAAG,MAAM,CAACA,EAAG,MAAM,CAACK,YAAY,eAAe,CAACL,EAAG,SAAS,CAACK,YAAY,uBAAuBC,YAAY,CAAC,MAAQ,QAAQ,aAAa,WAAW,CAACN,EAAG,cAAc,CAACA,EAAG,MAAM,CAACK,YAAY,+CAA+ChB,GAAG,CAAC,MAAQ,SAASkB,GAAQ,OAAOV,EAAIW,OAAOC,SAAU,aAAc,CAACT,EAAG,OAAO,CAACH,EAAIa,GAAG,cAAcV,EAAG,KAAK,CAACK,YAAY,QAAQ,CAACR,EAAIa,GAAG,oBAAoBV,EAAG,eAAe,CAACK,YAAY,gBAAgBC,YAAY,CAAC,MAAQ,SAASK,MAAM,CAAC,GAAK,iBAAiB,aAAe,MAAM,YAAc,kBAAkBC,MAAM,CAAC9F,MAAO+E,EAAW,QAAEgB,SAAS,SAAUC,GAAMjB,EAAIkB,QAAQD,GAAKE,WAAW,aAAahB,EAAG,MAAMA,EAAG,WAAW,CAACK,YAAY,OAAOC,YAAY,CAAC,MAAQ,SAASK,MAAM,CAAC,QAAU,UAAU,KAAO,MAAMtB,GAAG,CAAC,MAAQQ,EAAIoB,WAAW,CAACpB,EAAIa,GAAG,cAAc,IAAI,IAAI,OAAOb,EAAIqB,OAAOlB,EAAG,MAAM,CAACK,YAAY,SAAS,CAACL,EAAG,MAAM,CAACK,YAAY,sEAAsE,CAACL,EAAG,MAAM,CAACM,YAAY,CAAC,MAAQ,QAAQ,OAAS,OAAO,OAAS,aAAaK,MAAM,CAAC,IAAMd,EAAIsB,kBAAkBnB,EAAG,KAAK,CAACK,YAAY,oBAAoB,CAACR,EAAIa,GAAG,sBAAsBV,EAAG,wBAAwB,CAACW,MAAM,CAAC,iBAAiB,UAAU,CAACX,EAAG,kBAAkB,CAACW,MAAM,CAAC,KAAO,UAAU,iBAAiB,SAASS,KAAK,aAAa,IAAI,MACxkDC,EAAkB,G,iHC0FP,GACftH,KAAA,gBACAnF,OACA,OAEA0M,cAAA,sCACApB,iBAAA,EACAqB,gBAAA,KAEAC,cAAA,EACAT,QAAA,KAIAU,SAAA,IAEAC,eAAA,CACAC,YAAA,cACAC,QAAA,UACAxB,UAAA,mBACAyB,SAAA,gBAEAC,kBACA,MACAC,+CAGAZ,iBACA,MACAY,2CAIAC,mBACA,MACAD,oDAIA,qBAEA,IACA,IAAAE,QAAAC,OAAAC,2BAEA,GAAAF,KAAAG,WAAA,CAEA,IAAAC,EAAA,CACAC,MAAAL,EAAAG,WAAAE,MACAC,YAAAN,EAAAG,WAAAI,oBAEA,KAAAhC,OAAAC,SAAAgC,OAAAJ,GAEA3G,QAAAgH,IAAA,6BACA,KAAAC,iBAAAV,EAAAG,WAAAE,OACA,KAAApC,iBAAA,GAIA,MAAAlJ,MAMA,gBAEA,IAAA4L,EAAA,KACA,KAAArB,gBAAAsB,eAAA,CAAAC,EAAAC,KACAA,EAIAD,GAIAF,EAAAI,oBAAAF,EAAAC,GAPA,KAAAvB,cAAA,KAaAyB,gBACAvH,QAAAgH,IAAA,2BACA,KAAAnB,mBAEA,sBAMA,KAAAf,OAAAC,SAAAyC,SASAC,QAAA,CAQA,0BAAAL,EAAAC,GAKA,GAHArH,QAAAgH,IAAA,kBAAAI,EAAAC,SACA,KAAAvC,OAAAC,SAAA,iBAAAqC,GAAA,aAAAA,IAEAA,IAAAC,EAEA,kBADA,KAAAvC,OAAAC,SAAAgC,OAAA,IAIA,IAAAJ,EAAA,CACAC,MAAAS,EAAAX,WAAAE,MACAC,YAAAQ,EAAAX,WAAAI,oBAEA,KAAAhC,OAAAC,SAAAgC,OAAAJ,SACA,KAAA7B,OAAAC,SAAA,mBAAAzH,KAAA,IAAA0C,QAAAgH,IAAA,wBAOA,WAAAI,UACA,KAAAH,iBAAA,KAAAvC,UAAAkC,OACA,KAAApC,iBAAA,IAKA,uBAAAoC,GAIA,GAFA5G,QAAAgH,IAAA,4BAEA,KAAAlB,aAIA,GAAAc,EAKA,IACA,IAAAc,EAAA,CAAAd,SACAe,QAAA,KAAA7C,OAAAC,SAAA,mBAAA2C,SAGA,KAAA5C,OAAAC,SAAA,WAAA6B,GAEAe,EAAAC,WAAAD,EAAAC,UAAAlO,OAAA,SACA,KAAAoL,OAAAC,SAAA,qBAAA4C,EAAAC,WAEAD,EAAAE,UAAAF,EAAAE,SAAAnO,OAAA,SACA,KAAAoL,OAAAC,SAAA,qBAAA4C,EAAAE,UAGA,IAAAC,EAAA,KAAA3B,SAAA4B,gBACAC,EAAA,KAAA7B,SAAA8B,WAQA,SALA,KAAAnD,OAAAC,SAAA,sBAAA4C,EAAAO,YAAAJ,IAKA,KAAA5B,QACA,GAAA4B,QACA,KAAAhD,OAAAC,SAAA,qBAEA,CAEA,IAAAoD,IAAAR,EAAAO,gBACA,KAAApD,OAAAC,SAAA,cAAAoD,GAOA,GAHAnI,QAAAgH,IAAA,6BAAAc,EAAAE,IAGAF,GAAAE,EAAA,CACAL,EAAAE,SAAAO,QAAA,SAAAlH,GACA,aAAAA,EAAA1E,QAsBA,IAAAqL,EAAAF,EAAAE,UAAA,SACA,KAAA/C,OAAAC,SAAA,2BAAA8C,GAEA,KAAA/B,cAAA,EAGAgC,GAAA,GAAAD,EAAAnO,QAAA,KAAAkM,cAAAyC,SAAA,KAAAC,OAAAjK,QAEA2B,QAAAgH,IAAA,8BAGA,KAAAuB,QAAAvO,KAAA,CAAAqE,KAAA,kBAEA,MAAA/C,SA9EA0E,QAAAgH,IAAA,uCAAAJ,IAkFA,iBACA,IAAAlC,EAAA,KAAAA,UACA,QAAAD,eAAAC,GACA1E,QAAAgH,IAAA,2BAGA,IACA,IAAAwB,EAAA,CACAC,YAAA,SACA7B,MAAAlC,EAAAkC,MACA8B,MAAA,KAAArD,SAEAsD,QAAA,KAAA7D,OAAAC,SAAA,YAAAyD,GAGA,GAFAxI,QAAAgH,IAAA,YAAA2B,GAEA,KAAAA,EAAAC,WACA5I,QAAAgH,IAAA,aACA,CACA,IAAAkB,EAAAS,EAAAT,UACAW,EAAAC,IAAAC,KAAAC,OAAA,CACAC,OAAAf,EACAgB,SAAA,QACAR,MAAA,KAAArD,QACAnF,OAAA,IAGAF,QAAAgH,IAAA,YAAA6B,SACA,KAAA/D,OAAAC,SAAA,aAAA8D,IAEA,MAAAvN,GACA0E,QAAAgH,IAAA,oBAAA1L,MAMA6N,MAAA,CAKAb,SAEA,IAAAc,EAAA,KAAAtE,OAAApE,QAAA2I,yBAOA,SAAAzD,cAAAyC,SAAA,KAAAC,OAAAjK,MAAA,CAGA,QAAAoG,eAAA2E,GAGA,OAFApJ,QAAAgH,IAAA,6BACA,KAAAuB,QAAAvO,KAAA,CAAAqE,KAAA,iBAKA,UAAA+K,EAAA5M,OAAA,KAAA8L,OAAAjK,KAAAgK,SAAA,OAGA,OAFArI,QAAAgH,IAAA,6BACA,KAAAuB,QAAAvO,KAAA,CAAAqE,KAAA,iBAKA,UAAA+K,EAAA5M,MAAA,KAAA8L,OAAAjK,KAAAgK,SAAA,OAGA,OAFArI,QAAAgH,IAAA,6BACA,KAAAuB,QAAAvO,KAAA,CAAAqE,KAAA,qBCrY6T,I,kCCSzTiL,EAAY,eACd,EACApF,EACAyB,GACA,EACA,KACA,WACA,MAIa,EAAA2D,E,oBCjBfC,aAAIC,IAAIC,QAEO,UAAIA,OAAO,CACxBnK,KAAM,UACNoK,OAAQ,CACN,CACEC,KAAM,IACNC,SAAU,0BAQXN,UAAWA,IACD,gDAETO,SAAU,CACR,CACEF,KAAM,aACNtL,KAAM,YACNiL,UAAYA,IACH,gDAETO,SAAU,CACR,CACEF,KAAM,YACNtL,KAAM,iBACNiL,UAAWA,IAAM,iDAEnB,CACEK,KAAM,eACNtL,KAAM,eACNiL,UAAWA,IAAM,iDAEnB,CACEK,KAAM,mBACNtL,KAAM,mBACNiL,UAAWA,IAAM,wJAEnB,CACEK,KAAM,WACNtL,KAAM,WACNiL,UAAWA,IAAM,kIAEnB,CACEK,KAAM,sBACNtL,KAAM,aACNiL,UAAWA,IAAM,wJAGnB,CACEK,KAAM,cACNtL,KAAM,cACNiL,UAAWA,IAAM,iDAGnB,CACEK,KAAM,OACNtL,KAAM,OACNiL,UAAWA,IAAM,iDAGnB,CACEK,KAAM,kBACNtL,KAAM,kBACNiL,UAAWA,IAAM,wJAEnB,CACEK,KAAO,wBACPtL,KAAO,wBACPiL,UAAYA,IAAM,wJAEpB,CACEK,KAAM,kBACNtL,KAAM,kBACNiL,UAAWA,IAAM,4GAEnB,CACEK,KAAM,WACNtL,KAAM,WACNiL,UAAWA,IAAM,iDAEnB,CACEK,KAAM,iBACNtL,KAAM,iBACNiL,UAAWA,IAAM,wJAEnB,CACEK,KAAM,cACNtL,KAAM,cACNiL,UAAWA,IAAM,wJAEnB,CACEK,KAAM,wCACNtL,KAAM,wBACNiL,UAAWA,IAAM,4GAEnB,CACEK,KAAM,kBACNtL,KAAM,kBACNiL,UAAWA,IAAM,wJAEnB,CACEK,KAAO,oBACPtL,KAAO,oBACPiL,UAAYA,IAAM,wJAEpB,CACEK,KAAO,wBACPtL,KAAO,wBACPiL,UAAYA,IAAM,wJAEpB,CACEK,KAAO,0BACPtL,KAAO,0BACPiL,UAAYA,IAAM,wJAUpB,CACEK,KAAM,yBACNtL,KAAM,oBACNiL,UAAWA,IAAM,wFAMvB,CACEK,KAAM,WACNtL,KAAM,UACNiL,UAAWA,IAAM,mDAKvB,CACEK,KAAM,gBACNtL,KAAM,QACNiL,UAAWA,IAAM,gDACjBO,SAAU,CACR,CACEF,KAAM,UACNtL,KAAM,UACNiL,UAAWA,IAAM,mDAsBvB,CACEK,KAAM,IACNC,SAAU,2BAEZ,CAEED,KAAM,OACNtL,KAAM,MACNiL,UAAWA,IAAM,oD,kECzLvB,MAAMQ,EAAe,WAERC,EAAWA,IACf7J,OAAO8J,aAAaC,QAAQH,GAGxBI,EAAYxB,IACvBxI,OAAO8J,aAAaG,QAAQL,EAAcpB,IAG/B0B,EAAeA,KAC1BlK,OAAO8J,aAAaK,WAAWP,IAGlB,OAAEC,WAAUG,YAAWE,gBCNtC,MAAME,EAAa,CACjBpI,OACEqH,aAAIC,IAAIe,IAAUC,KAClBjB,aAAIiB,MAAMC,SAASC,QAAU,oBAM/BC,YACEpB,aAAIiB,MAAMC,SAASG,QAAQC,OACzB,iBACE,SAASC,EAAWf,YAG1BgB,MAAMC,EAAUxC,GACd,OAAOe,aAAIiB,MAAMxL,IAAIgM,EAAUxC,GAAQyC,MAAMlN,IAE3C,MAAM,IAAIf,MAAM,mBAAmBe,MAUvCiB,IAAIgM,EAAUE,EAAO,IACnB,OAAO3B,aAAIiB,MAAMxL,IAAI,GAAGgM,KAAYE,KAAQD,MAAMlN,IAEhD,MAAM,IAAIf,MAAM,mBAAmBe,MAUvCoN,KAAKH,EAAUxC,GACb,OAAOe,aAAIiB,MAAMW,KAAK,GAAGH,EAAYxC,IAUvC4C,OAAOJ,EAAUE,EAAM1C,GACrB,OAAOe,aAAIiB,MAAMa,IAAI,GAAGL,KAAYE,IAAQ1C,IAS9C6C,IAAIL,EAAUxC,GACZ,OAAOe,aAAIiB,MAAMa,IAAI,GAAGL,EAAYxC,IAQtC8C,OAAON,GACL,OAAOzB,aAAIiB,MAAMc,OAAON,GAAUC,MAAMlN,IAEtC,MAAM,IAAIf,MAAM,oBAAoBe,OAK3BuM,Q,qBCjFR,MAAMiB,EAAW,CAGpBC,QAASjC,GAELA,EAAI3P,UAAU6R,cAAgB,SAAU7E,GAEpC,IAAKA,EACD,OAAO,EAGX,IAAI8E,EAAW,IAAIC,OAAO,uFAC1B,OAAOD,EAASE,KAAMhF,IAG1B2C,EAAI3P,UAAUiS,iBAAmB,SAAUC,GAEvC,MAAI,kBAAoBA,EACb,GAEG,IAAVA,EAAqB,MACX,IAAVA,EAAqB,MACX,IAAVA,EAAqB,MACrBA,EAAQ,EAAaA,EAAQ,UAAjC,GAQJvC,EAAI3P,UAAUmS,aAAe,SAAUC,EAAK3N,EAAO,YAE/C,IAAK2N,EAED,YADAhM,QAAQgH,IAAK,8BAGjB,IAAIiF,EAAOlQ,SAASQ,cAAe,KACnC0P,EAAKC,SAAW7N,EAChB4N,EAAKrQ,KAAOoQ,EACZjQ,SAASoQ,KAAK9O,YAAa4O,GAC3BA,EAAKG,QACLrQ,SAASoQ,KAAKhP,YAAa8O,IAS/B1C,EAAI3P,UAAUyS,eAAiB,SAAUC,EAAYC,GACjD,IAAIC,EAASF,EAAaC,GAAY,EAAI,EAAI,EAC9C,OAAOE,KAAKC,MAAOJ,EAAaC,GAAaC,GAOjDjD,EAAI3P,UAAU+S,yBAA2B,SAAUC,GAC/C,MAAiB,YAAXA,EAA8B,UACjB,aAAVA,EAA6B,UAClB,aAAXA,EAA8B,SAC3B,aAEhBrD,EAAI3P,UAAUiT,eAAiB,SAAUD,GACrC,MAAiB,YAAXA,EAA8B,0BACjB,aAAVA,EAA6B,oBAClB,aAAXA,EAA8B,gBACnB,eAAXA,EAAgC,0BAC7B,aAQhBrD,EAAI3P,UAAUkT,gBAAkB,SAAUF,GACtC,MAAiB,YAAXA,EAA8B,SACjB,aAAVA,EAA6B,QAClB,aAAXA,EAA8B,MAC3B,QAIhBrD,EAAI3P,UAAUmT,kBAAoB,SAAUC,GACxC,OAAQA,GACJ,IAAK,QACD,MAAO,UACX,IAAK,aACD,MAAO,UACX,IAAK,OACD,MAAO,UACX,IAAK,QACD,MAAO,UACX,QACI,MAAO,gBAInBzD,EAAI3P,UAAUqT,sBAAwB,SAAUD,GAC5C,OAAQA,GACJ,IAAK,QACD,MAAO,UACX,IAAK,aACD,MAAO,UACX,IAAK,OACD,MAAO,UACX,IAAK,QACD,MAAO,UACX,QACI,MAAO,gBAQnBzD,EAAI3P,UAAUsT,YAAc,SAAUC,EAAMC,EAAe,cAEvD,OAAKD,GAAuB,GAAfA,EAAKzT,QAGlBsG,QAAQgH,IAAI,WAAYmG,GACxBA,EAAKE,MAAM,SAAUC,EAAMC,GAEvB,IAAIC,EAAW,IAAIC,KAAMH,EAAMF,IAC3BM,EAAW,IAAID,KAAMF,EAAMH,IAE/B,OAAOM,EAAWF,KAEfL,GAVI,IAYf5D,EAAI3P,UAAU+T,mBAAqB,SAASC,GACxC,IAAIC,EAAa,EACjB,IAAK,IAAIrU,EAAI,EAAGA,EAAIoU,EAAIlU,OAAQF,IAAK,CACjC,MAAMsU,EAAWF,EAAIG,WAAWvU,GAC5BsU,GAAY,IACZD,IAEAA,GADOC,GAAY,KACL,EACPA,GAAY,MACL,EAEA,EAGtB,OAAOD,GAGXtE,EAAI3P,UAAUoU,QAAU,SAAUC,GAG9B,IAAKA,GAA0B,gBAAjB,IAAIR,KAAKQ,GAEnB,OADAjO,QAAQgH,IAAK,iCAAmCiH,GACzC,EAGX,IAAIC,EAAY,IAAIT,KAAMQ,GACtBE,EAAQ,IAAIV,KACZW,EAAQD,EAAME,cAAoBH,EAAUG,cAOhD,OAJIC,aAAI1U,UAAU2U,QAASJ,GAAQK,OAAQ,QAAWF,aAAI1U,UAAU2U,QAASL,GAAYM,OAAQ,QAAW,IACxGJ,GAAY,GAGTA,GAGX7E,EAAI3P,UAAU6U,aAAe,SAASC,EAAQlS,EAAK,QAE/C,IAAKkS,EAED,YADA1O,QAAQgH,IAAK,0CAA2C0H,GAS5D,IAAIC,EAAS,wCACb,GAAY,QAARnS,EAAgB,CAChB,IAAIoS,EAAO,GACX,IAAK,IAAIpV,EAAI,EAAGA,EAAIkV,EAAOhV,OAAQF,IAAK,CACpC,IAAIqV,EAAMF,EAASD,EAAOlV,GAE1BoV,GAAQ,YAAYC,MAAQA,aAGhC,OAAOD,EAIX,OAASD,EAASD,EAAO,IAQ7BnF,EAAI3P,UAAU6K,eAAiB,SAAUqK,GAErC,IAAKA,EACD,OAAO,EAGX,IAAK,IAAIC,KAAQD,EACb,GAAGA,EAAIjV,eAAekV,GAClB,OAAO,EAGf,OAAOC,KAAKC,UAAUH,KAASE,KAAKC,UAAU,KAMlD1F,EAAI3P,UAAUsV,4BAA8B,SAAUC,EAAOC,GACzD,IAAKD,EACD,MAAO,GAEX,MAAM,SAACE,EAAWjQ,MAAQkQ,GAAqBF,EACzCG,EAAY,IAAIC,KAAKC,eAAeH,EAAmB,CACzDI,KAAM,UACNC,MAAO,UACPC,IAAK,UACLC,KAAM,UACNC,OAAQ,UACRC,SAAUV,IAERW,EAAO,IAAIvC,KAAK0B,GAEtB,OAAOI,EAAUf,OAAOwB,IAIxBzG,EAAI3P,UAAUqW,0BAA4B,SAAUC,GAEhD,MAAMC,EAAa,IAAI1C,KAAKA,KAAK2C,IAAI,KAAM,GAAI,EAAG,EAAG,EAAG,IAGlDC,EAAY,IAAI5C,KAAKyC,GAG3B,OAAOG,GAAaF,GAW5B5G,EAAI3P,UAAU0W,SAAW,SAAUC,EAAWC,GAC1C,IAAKD,GAAgC,kBAAZC,GAAiD,gBAAzB,IAAI/C,KAAM8C,GAEvD,YADAvQ,QAAQgH,IAAK,cAIjB,IAAI4I,EAAM,IAAInC,KAAM8C,GAEhBb,EAAOE,EAAIvB,cACXsB,EAAQC,EAAIa,WACZT,EAAOJ,EAAIc,UACf,OAAO,IAAIjD,KAAMiC,EAAOc,EAASb,EAAOK,IAG5CzG,EAAI3P,UAAU+W,QAAU,SAAUJ,EAAWK,EAAQpC,GAEjD,IAAK+B,GAA+B,kBAAXK,GAAkD,gBAAzB,IAAInD,KAAM8C,GAExD,YADAvQ,QAAQgH,IAAK,cAIjB,IAAI4I,EAAM,IAAInC,KAAM8C,GAEhBb,EAAOE,EAAIvB,cACXsB,EAAQC,EAAIa,WACZT,EAAOJ,EAAIc,UAEXG,EAAa,IAAIpD,KAAMiC,EAAMC,EAAOK,EAAOY,GAC/C,OAAKpC,EAIEF,aAAI1U,UAAU2U,QAASsC,GAAarC,OAAQA,GAHxCqC,KCxSjBC,EAAWC,EAAQ,QAEZC,EAAa,CAEtBxF,QAASjC,GAELA,EAAI3P,UAAUqX,mBAAsB,SAAU9D,GAE1CnN,QAAQgH,IAAK,YAAamG,GAC1B,IAAI+D,EAAOJ,EAASrR,SAChB0R,EAAWD,EAAKE,OAAO,CACvB1R,IAAK,QACLN,MAAO,CACH,YAAe,GACf,MAAS,KACT,SAAY,GACZ,WAAc,GACd,YAAe,GACf,SAAY,OACZ,aAAgB,GAChB,UAAa,KACb,WAAc,GACd,YAAe,GACf,UAAa,GACb,SAAY,GACZ,OAAU,GACV,WAAc,GACd,UAAc,GACdiS,UAAY,MAIpB,IAAI,IAAIC,KAAenE,EAAK,CACxB,IAAIoE,EAAW,IAAMD,EAAYE,SAASC,cAC1CzR,QAAQgH,IAAI,cAAesK,GAC3B,IAAII,EAAQ,CACRhS,IAAK6R,EACLnS,MAAOkS,GAIX,GAA8B,QAA1BA,EAAYK,YAAyBL,EAAYK,WAMjD,CAEA,IAAIC,EAAiB,IAAMN,EAAYK,WAAWF,cAC9CI,EAAaX,EAAKY,YAAYC,WAAU,SAAS7Y,GACjD,OAAOA,EAAKwG,MAAQkS,KAExBV,EAAKc,aAAaH,EAAYH,QAX9BH,EAAW,QACXL,EAAKe,UAAS,SAAS/Y,GACnB,OAAOA,EAAKwG,KAAO6R,IACpBG,GAYX,IAAIQ,EAAWf,EAASgB,QAAO,SAASjZ,GACpC,IAAIqB,EAAS,GACT0J,EAAM,CAAE,WAAW,QAAQ,aAAa,aAAa,eACpD,YAAY,aAAa,aAAa,cACtC,YAAY,WAAW,SAAS,cAAc,YAAY,aAC/D,IAAK,IAAI/C,KAAQhI,EAAKkG,MACd6E,EAAKoE,SAAUnH,KACf3G,EAAO2G,GAAQhI,EAAKkG,MAAM8B,IAGlC,OAAO3G,KAIX,OAAO2X,EAASrI,UAIpBN,EAAI3P,UAAUwY,oBAAuB,SAAUjF,GAE3CnN,QAAQgH,IAAK,0CAA2CmG,GACxD,IAAI+D,EAAOJ,EAASrR,SAChB0R,EAAWD,EAAKE,OAAO,CACvB1R,IAAK,QACLN,MAAO,CACH,KAAQ,GACR,MAAS,GACT,OAAU,GACV,KAAS,GACT,MAAU,MAIlB,IAAI,IAAIkS,KAAenE,EAAK,CACxB,IAAIoE,EAAW,IAAMD,EAAYjT,KAAKoT,cAElCC,EAAQ,CACRhS,IAAK6R,EACLnS,MAAOkS,GAIX,GAA0B,QAAtBA,EAAYe,QAAqBf,EAAYe,OAM7C,CAEA,IAAIT,EAAiB,IAAMN,EAAYe,OAAOZ,cAC1CI,EAAaX,EAAKY,YAAYC,WAAU,SAAS7Y,GACjD,OAAOA,EAAKwG,MAAQkS,KAExBV,EAAKc,aAAaH,EAAYH,QAX9BH,EAAW,QACXL,EAAKe,UAAS,SAAS/Y,GACnB,OAAOA,EAAKwG,KAAO6R,IACpBG,GAYX,IAAIQ,EAAWf,EAASgB,QAAO,SAASjZ,GACpC,MAAO,CACHmF,KAAMnF,EAAKkG,MAAMf,KACjBgU,OAAQnZ,EAAKkG,MAAMiT,OACnBxR,MAAQ3H,EAAKkG,MAAMyB,MACnBrE,KAAOtD,EAAKkG,MAAM5C,KAClB8V,MAAQpZ,EAAKkG,MAAMkT,MACnBC,MAAQrZ,EAAKkG,MAAMmT,UAK3B,OAAOL,EAASrI,Y,2FC9HrB,MAAM2I,EAAS,CACpBC,WAAY,CACVC,OAAQ,wBAEVC,KAAM,CACJC,IAAK,MACLC,QAAS,UACTC,YAAa,kBACbC,MAAO,QACPC,SAAU,WACVC,KAAM,OACNC,UAAW,aAEbC,KAAM,CACJC,QAAS,CACPC,GAAI,KACJC,cAAe,SACfC,WAAY,yBACZC,cAAe,UACfC,cAAe,kBACfC,YAAa,OACbC,QAAS,UACTC,MAAO,QACPC,QAAS,WAEXC,MAAO,CACLC,MAAO,gBACPC,OAAQ,WAEVC,OAAQ,CACNF,MAAO,mBACPG,KAAM,0CACNC,QAAS,6CAEXC,SAAU,CACRL,MAAO,UACPG,KAAM,4CACNC,QAAS,iDAEXE,MAAO,CACLC,MAAO,QACPC,SAAU,WACVC,SAAU,WACVC,iBAAkB,mBAClBC,SAAU,YAEZC,WAAY,CACVC,QAAS,wBACTC,SAAU,uBACVC,WAAY,qCACZC,mBAAoB,4CACpBC,UAAW,sCACXC,cAAe,gCACfC,eAAgB,iBAChBC,iBAAkB,wBAClBC,iBAAkB,wBAClBC,cAAe,uBAGnBC,UAAW,CACTC,OAAQ,CACNC,uBAAwB,2BACxBC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,OAAQ,SACRC,UAAW,YACXC,QAAS,UACTC,SAAU,WACVC,WAAY,aACZC,OAAQ,SACRC,cAAe,iBAEjBZ,UAAW,YACXa,UAAW,CACTA,UAAW,YACXC,eAAgB,iBAChBC,aAAc,eACdC,uBAAwB,CACtBvC,MAAO,kBACPwC,YAAa,oDACbC,iBAAkB,0BAClBC,QAAS,6BAEXC,sBAAuB,CACrB3C,MAAO,mBACPwC,YAAa,yDACbC,iBAAkB,4BAClBC,QAAS,wCAEXE,cAAe,CACb5C,MAAO,iDACP0C,QAAS,4DAEXG,KAAM,CACJC,eAAgB,4BAChBC,YAAa,gCChGRtE,EAAS,CACpBC,WAAY,CACVC,OAAQ,UAEVC,KAAM,CACJC,IAAK,IACLC,QAAS,KACTC,YAAa,QACbC,MAAO,QACPC,SAAU,KACVC,KAAM,KACNC,UAAW,OAEbC,KAAM,CACJC,QAAS,CACPC,GAAI,KACJC,cAAe,KACfC,WAAY,QACZC,cAAe,KACfC,cAAe,OACfC,YAAa,KACbC,QAAS,KACTC,MAAO,KACPC,QAAS,MAEXC,MAAO,CACLC,MAAO,OACPC,OAAQ,MAEVC,OAAQ,CACNF,MAAO,mBACPG,KAAM,0CACNC,QAAS,6CAEXC,SAAU,CACRL,MAAO,UACPG,KAAM,4CACNC,QAAS,iDAEXE,MAAO,CACLC,MAAO,QACPC,SAAU,WACVC,SAAU,WACVC,iBAAkB,mBAClBC,SAAU,OAEZC,WAAY,CACVC,QAAS,wBACTC,SAAU,uBACVC,WAAY,qCACZC,mBAAoB,4CACpBC,UAAW,sCACXC,cAAe,gCACfC,eAAgB,iBAChBC,iBAAkB,wBAClBC,iBAAkB,wBAClBC,cAAe,uBAGnBC,UAAW,CACTC,OAAQ,CACNC,uBAAwB,2BACxBC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,OAAQ,SACRC,UAAW,YACXC,QAAS,UACTC,SAAU,WACVC,WAAY,aACZC,OAAQ,SACRC,cAAe,iBAEjBZ,UAAW,YACXa,UAAW,CACTA,UAAW,KACXC,eAAgB,OAChBC,aAAc,eACdC,uBAAwB,CACtBvC,MAAO,kBACPwC,YAAa,oDACbC,iBAAkB,0BAClBC,QAAS,6BAEXC,sBAAuB,CACrB3C,MAAO,mBACPwC,YAAa,yDACbC,iBAAkB,4BAClBC,QAAS,wCAEXE,cAAe,CACb5C,MAAO,iDACP0C,QAAS,4DAEXG,KAAM,CACJC,eAAgB,4BAChBC,YAAa,gCChGRtE,EAAS,CACpBC,WAAY,CACVC,OAAQ,mBAEVC,KAAM,CACJC,IAAK,QACLC,QAAS,iBACTC,YAAa,0BACbC,MAAO,QACPC,SAAU,kBACVC,KAAM,eACNC,UAAW,WAEbC,KAAM,CACJC,QAAS,CACPC,GAAI,IACJC,cAAe,SACfC,WAAY,wBACZC,cAAe,aACfC,cAAe,6BACfC,YAAa,UACbC,QAAS,YACTC,MAAO,QACPC,QAAS,YAEXC,MAAO,CACLC,MAAO,mBACPC,OAAQ,eAEVC,OAAQ,CACNF,MAAO,uBACPG,KAAM,+DACNC,QAAS,6CAEXC,SAAU,CACRL,MAAO,UACPG,KAAM,4CACNC,QAAS,iDAEXE,MAAO,CACLC,MAAO,QACPC,SAAU,WACVC,SAAU,WACVC,iBAAkB,mBAClBC,SAAU,WAEZC,WAAY,CACVC,QAAS,wBACTC,SAAU,uBACVC,WAAY,qCACZC,mBAAoB,4CACpBC,UAAW,sCACXC,cAAe,gCACfC,eAAgB,iBAChBC,iBAAkB,wBAClBC,iBAAkB,wBAClBC,cAAe,uBAGnBC,UAAW,CACTC,OAAQ,CACNC,uBAAwB,2BACxBC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,OAAQ,SACRC,UAAW,YACXC,QAAS,UACTC,SAAU,WACVC,WAAY,aACZC,OAAQ,SACRC,cAAe,iBAEjBZ,UAAW,YACXa,UAAW,CACTA,UAAW,YACXC,eAAgB,iBAChBC,aAAc,eACdC,uBAAwB,CACtBvC,MAAO,kBACPwC,YAAa,oDACbC,iBAAkB,0BAClBC,QAAS,6BAEXC,sBAAuB,CACrB3C,MAAO,mBACPwC,YAAa,yDACbC,iBAAkB,4BAClBC,QAAS,wCAEXE,cAAe,CACb5C,MAAO,iDACP0C,QAAS,4DAEXG,KAAM,CACJC,eAAgB,4BAChBC,YAAa,gCChGRtE,EAAS,CACpBC,WAAY,CACVC,OAAQ,oBAEVC,KAAM,CACJC,IAAK,MACLC,QAAS,KACTC,YAAa,WACbC,MAAO,QACPC,SAAU,KACVC,KAAM,MACNC,UAAW,WAEbC,KAAM,CACJC,QAAS,CACPC,GAAI,MACJC,cAAe,OACfC,WAAY,gBACZC,cAAe,SACfC,cAAe,eACfC,YAAa,MACbC,QAAS,SACTC,MAAO,KACPC,QAAS,MAEXC,MAAO,CACLC,MAAO,iBACPC,OAAQ,WAEVC,OAAQ,CACNF,MAAO,mBACPG,KAAM,0CACNC,QAAS,6CAEXC,SAAU,CACRL,MAAO,UACPG,KAAM,4CACNC,QAAS,iDAEXE,MAAO,CACLC,MAAO,QACPC,SAAU,WACVC,SAAU,WACVC,iBAAkB,mBAClBC,SAAU,SAEZC,WAAY,CACVC,QAAS,wBACTC,SAAU,uBACVC,WAAY,qCACZC,mBAAoB,4CACpBC,UAAW,sCACXC,cAAe,gCACfC,eAAgB,iBAChBC,iBAAkB,wBAClBC,iBAAkB,wBAClBC,cAAe,uBAGnBC,UAAW,CACTC,OAAQ,CACNC,uBAAwB,2BACxBC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,OAAQ,SACRC,UAAW,YACXC,QAAS,UACTC,SAAU,WACVC,WAAY,aACZC,OAAQ,SACRC,cAAe,iBAEjBZ,UAAW,YACXa,UAAW,CACTA,UAAW,YACXC,eAAgB,iBAChBC,aAAc,eACdC,uBAAwB,CACtBvC,MAAO,kBACPwC,YAAa,oDACbC,iBAAkB,0BAClBC,QAAS,6BAEXC,sBAAuB,CACrB3C,MAAO,mBACPwC,YAAa,yDACbC,iBAAkB,4BAClBC,QAAS,wCAEXE,cAAe,CACb5C,MAAO,iDACP0C,QAAS,4DAEXG,KAAM,CACJC,eAAgB,4BAChBC,YAAa,gCChGRtE,EAAS,CACpBC,WAAY,CACVC,OAAQ,uBAEVC,KAAM,CACJC,IAAK,MACLC,QAAS,WACTC,YAAa,oCACbC,MAAO,QACPC,SAAU,gBACVC,KAAM,OACNC,UAAW,qBAEbC,KAAM,CACJC,QAAS,CACPC,GAAI,OACJC,cAAe,aACfC,WAAY,sBACZC,cAAe,WACfC,cAAe,qBACfC,YAAa,SACbC,QAAS,eACTC,MAAO,QACPC,QAAS,WAEXC,MAAO,CACLC,MAAO,iBACPC,OAAQ,WAEVC,OAAQ,CACNF,MAAO,mBACPG,KAAM,0CACNC,QAAS,6CAEXC,SAAU,CACRL,MAAO,UACPG,KAAM,4CACNC,QAAS,iDAEXE,MAAO,CACLC,MAAO,QACPC,SAAU,WACVC,SAAU,WACVC,iBAAkB,mBAClBC,SAAU,cAEZC,WAAY,CACVC,QAAS,wBACTC,SAAU,uBACVC,WAAY,qCACZC,mBAAoB,4CACpBC,UAAW,sCACXC,cAAe,gCACfC,eAAgB,iBAChBC,iBAAkB,wBAClBC,iBAAkB,wBAClBC,cAAe,uBAGnBC,UAAW,CACTC,OAAQ,CACNC,uBAAwB,2BACxBC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,OAAQ,SACRC,UAAW,YACXC,QAAS,UACTC,SAAU,WACVC,WAAY,aACZC,OAAQ,SACRC,cAAe,iBAEjBZ,UAAW,YACXa,UAAW,CACTA,UAAW,YACXC,eAAgB,iBAChBC,aAAc,eACdC,uBAAwB,CACtBvC,MAAO,kBACPwC,YAAa,oDACbC,iBAAkB,0BAClBC,QAAS,6BAEXC,sBAAuB,CACrB3C,MAAO,mBACPwC,YAAa,yDACbC,iBAAkB,4BAClBC,QAAS,wCAEXE,cAAe,CACb5C,MAAO,iDACP0C,QAAS,4DAEXG,KAAM,CACJC,eAAgB,4BAChBC,YAAa,gCChGRtE,EAAS,CACpBC,WAAY,CACVC,OAAQ,2BAEVC,KAAM,CACJC,IAAK,UACLC,QAAS,QACTC,YAAa,wBACbC,MAAO,QACPC,SAAU,kBACVC,KAAM,eACNC,UAAW,mBAEbC,KAAM,CACJC,QAAS,CACPC,GAAI,KACJC,cAAe,YACfC,WAAY,0BACZC,cAAe,WACfC,cAAe,sBACfC,YAAa,OACbC,QAAS,UACTC,MAAO,QACPC,QAAS,WAEXC,MAAO,CACLC,MAAO,kBACPC,OAAQ,WAEVC,OAAQ,CACNF,MAAO,mBACPG,KAAM,0CACNC,QAAS,6CAEXC,SAAU,CACRL,MAAO,UACPG,KAAM,4CACNC,QAAS,iDAEXE,MAAO,CACLC,MAAO,QACPC,SAAU,WACVC,SAAU,eACVC,iBAAkB,mBAClBC,SAAU,qBAEZC,WAAY,CACVC,QAAS,4BACTC,SAAU,sBACVC,WAAY,qCACZC,mBAAoB,4CACpBC,UAAW,sCACXC,cAAe,gCACfC,eAAgB,iBAChBC,iBAAkB,wBAClBC,iBAAkB,wBAClBC,cAAe,uBAGnBC,UAAW,CACTC,OAAQ,CACNC,uBAAwB,0CACxBC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,OAAQ,SACRC,UAAW,YACXC,QAAS,UACTC,SAAU,WACVC,WAAY,aACZC,OAAQ,SACRC,cAAe,iBAEjBZ,UAAW,YACXa,UAAW,CACTA,UAAW,cACXC,eAAgB,oBAChBC,aAAc,iBACdC,uBAAwB,CACtBvC,MAAO,wBACPwC,YAAa,uDACbC,iBAAkB,0CAClBC,QAAS,4BAEXC,sBAAuB,CACrB3C,MAAO,wBACPwC,YACE,sEACFC,iBAAkB,6BAClBC,QAAS,8CAEXE,cAAe,CACb5C,MAAO,2DACP0C,QACE,mEAEJG,KAAM,CACJC,eAAgB,6BAChBC,YAAa,2BChErB,SAASC,IACP,MAAMC,EAAUjG,UAChB,IAAIkG,EAAW,GAUf,OATAA,EAAW,IAAKA,EAAUC,KAAIC,KAAIC,KAAIC,KAAIC,KAAIC,MAC9CP,EAAQ/S,OAAOhD,QAAQvB,IACrB,MAAM8X,EAAU9X,EAAI+X,MAAM,qBAC1B,GAAID,GAAWA,EAAQ9d,OAAS,EAAG,CACjC,MAAM8Y,EAASgF,EAAQ,GACvBP,EAASzE,GAAUwE,EAAQtX,MAIxBuX,EAdT1N,aAAIC,IAAIkO,QAiBR,IAAIC,EAAW,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAM,KAAM,KAAM,KAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAEvGC,EAAO5N,aAAaC,QAAQ,aAAe,KAE3C4N,EAAW,KAEf,MAAMC,EAAkB,IAAIC,gBAAgB7X,OAAO8X,SAASC,QACtDzP,EAAS7O,OAAOue,YAAYJ,EAAgBK,WAClDN,EAAWrP,EAAOoP,KAAOpP,EAAOoP,KAAOQ,UAAUC,SAE7CR,IACFA,EAAWA,EAASS,MAAO,KAAM,GAC7BX,EAAStP,SAAUwP,KACrBD,EAAOC,IAIX,IAAIU,GAAU,IAAIb,OAAQ,CACxBlF,OAAQoF,EACRY,eAAgBZ,EAChBX,SAAUF,MAMGwB,U,aCxEfhP,aAAIC,IAAIiP,QAAS,CACfC,OAAO,EACPC,UAAW,CAETD,OAAO,EACPE,YAAa,QACbC,MAAM,kBAIV,IAAIC,GAAa,IAAIL,QAAQ,CAS3BnX,QAAS,CACPyX,kBAAkB,GAGpBC,MAAO,CAELC,OAAQ,CACNC,MAAO,CACLC,QAAS,UACTC,UAAW,UACXC,OAAQ,UACRtb,MAAO,UACPub,KAAM,UACNC,QAAS,UACTC,QAAS,eAQFV,U,uBCxCfvP,aAAIC,IAAIiQ,S,4BCFRlQ,aAAIC,IAAIkQ,MAEOA,GAAS,EAATA,I,0BCDfnQ,aAAIC,IAAImQ,SAERpQ,aAAIC,IAAIoQ,S,4BCFRrQ,aAAIC,IAAIqQ,M,2HCORtQ,aAAIC,IAAIsQ,QAAgB,CAEtBC,UAAW,CACTC,UACAC,gBACAC,UACA5L,Y,iBCdJ/E,aAAIC,IAAI2Q,uB,4BCAR5Q,aAAIC,IAAI4Q,MAER7Q,aAAID,UAAU,YAAa8Q,M,4BCF3B7Q,aAAIC,IAAI6Q,MAER9Q,aAAID,UAAU,aAAc+Q,M,mJCHxBC,GAAgB,WAEhB,IAAIC,EACAC,EACAC,EAIHC,EAAQ,WACX,IAAIC,EAAiBjZ,OAAOkZ,SAASJ,EAAU,2BAA6B,0BAA4B,QAGxGC,EAAmB,IAAII,YAAYL,EAAU,CAC5CM,UAAWH,EACXI,SAAS,EACTC,QAAS,qBACTC,SAAU,CACTpe,OAAQ,yBACR2D,MAAO,2BAMV,MAAO,CACN0B,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,GAC1BuW,EAAQ7Y,OAAOE,UAEV4Y,GAKLE,KAGJQ,WAAY,WACR,OAAOV,GAGXW,aAAc,WACV,OAAOV,GAGXW,QAAS,WACL,OAAO1Z,OAAOkZ,SAASL,EAAO,gBAGlCc,YAAa,WACT,OAAQ3Z,OAAOkZ,SAASL,EAAO,gBAAkB7Y,OAAOkZ,SAASL,EAAO,mBAG5Ee,YAAa,WACT,OAAQ5Z,OAAOkZ,SAASL,EAAO,gBAAkB7Y,OAAOkZ,SAASL,EAAO,8BAtDhE,GA6DLD,MC7DXiB,GAAoB,WAEpB,IAAIhB,EACAC,EACAgB,EAGHd,EAAQ,WACX,IACUe,EADNC,EAAmE,MAAhDha,OAAOia,KAAKnB,EAAU,sBAAgC,WAAa,YAGxC,MAA9C9Y,OAAOia,KAAKnB,EAAU,sBACzBiB,EAAS,CACRG,kBAAkB,EAClBC,OAAQ,WACP,IAAIA,EAASC,SAASpa,OAAOqa,cAAcF,QAQ3C,OANIna,OAAOsa,eAAe,QACzBH,GAAkBI,cAAcC,aAGjCL,GAAmBC,SAASpa,OAAOiB,IAAI6X,EAAU,iBAAmBsB,SAASpa,OAAOiB,IAAI6X,EAAU,cAE3FqB,KAKVL,EAAc,IAAIW,OAAO3B,EAAU,CAElCiB,OAAQA,EAGRW,QAAS,CACRC,QAASX,EACTY,OAAQ,YACRC,OAAQ,aAITC,UAAW,CACVC,WAAW,MAKPC,EAAa,WAGlB,IAAIC,EACAC,EAFDlb,OAAOkZ,SAASL,EAAO,gBAAkB7Y,OAAOkZ,SAASL,EAAO,8BAKnE7Y,OAAOoB,SAAS0X,EAAU,cAAc,SAASlf,GAChDA,EAAEyH,kBAEkC,IAAhCrB,OAAOsa,eAAe,QAItBY,IACH5e,aAAa4e,GACbA,EAAY,MAGGD,IACf3e,aAAa2e,GACbA,EAAW,MAGZA,EAAWpe,YAAW,WACjBmD,OAAOkZ,SAASL,EAAO,mBAAqB7Y,OAAOsa,eAAe,QAErEta,OAAO0B,SAASmX,EAAO,wBAEvBgB,GAAkBsB,UAAUC,eAC5BvB,GAAkBsB,UAAUE,eAE3B,QAGJrb,OAAOoB,SAASwX,cAAcY,aAAc,cAAc,SAAS5f,GAClEA,EAAEyH,kBAEkC,IAAhCrB,OAAOsa,eAAe,QAItBW,IACH3e,aAAa2e,GACbA,EAAW,MAGIC,IACf5e,aAAa4e,GACbA,EAAY,MAGbA,EAAYre,YAAW,WACfmD,OAAOkZ,SAASL,EAAO,yBAA2B7Y,OAAOsa,eAAe,QAC3Eta,OAAO2B,YAAYkX,EAAO,wBAGXgB,GAAkBsB,UAAUC,eAC9CvB,GAAkBsB,UAAUE,eAE3B,WAMN,MAAO,CACN7a,KAAM,SAAS8B,GACLuW,EAAQ7Y,OAAOE,UACf4Y,EAAW9Y,OAAOC,QAAQqC,GAErBwW,IAKLE,IACAgC,MAGVxB,WAAY,WACX,OAAOV,GAGFqC,QAAS,WACd,OAAOrB,GAGFwB,mBAAoB,SAAS7N,GAC9BqM,GACHA,EAAYwB,mBAAmB7N,IAIjC8N,qBAAsB,WACjBzB,GAAe9Z,OAAOwb,kBACzB1B,EAAY2B,SA9IQ,GAsJT5B,MCtJX6B,GAAsB,WAEtB,IAAI7C,EACAC,EACA6C,EAGH3C,EAAQ,WACX2C,EAAgB,IAAIC,SAAS9C,EAAUD,EAAO,CAC7CgD,YAAa,iBACbC,YAAa,WAGdH,EAAc1Z,GAAG,UAAU,SAAS8Z,GAEQ,qBAAvBC,oBACPA,mBAAmBtS,SAIW,qBAAvBuS,oBACPA,mBAAmBX,mBAAmB,KAIT,qBAAtBzB,mBACPA,kBAAkByB,mBAAmB,KAIlDY,SAASC,UAAU,wBAAyBJ,EAAOK,eAMpDT,EAAc1Z,GAAG,gBAAgB,SAAS8Z,IACQ,IAA7C/b,OAAOkZ,SAASL,EAAO,mBAA+B7Y,OAAOkZ,SAASL,EAAO,yBAChF7Y,OAAO2B,YAAYkX,EAAO,4BAM7B,MAAO,CACNrY,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,GAC1BuW,EAAQ7Y,OAAOE,UAEV4Y,GAKLE,KAGJQ,WAAY,WACR,OAAOV,GAGXuD,UAAW,WAChB,OAAOV,GAGRW,SAAU,SAASxa,GACmB,qBAA1B6Z,EAAc5b,SACxB4b,EAAc1Z,GAAG,SAAUH,KAnEL,GA2EX4Z,MC3EXnB,GAAgB,WAEhB,IAAIzB,EAGAyD,EAAa,WACb,IAAIpC,EAAS,EAMb,OAJIrB,IACAqB,EAASna,OAAOwc,aAAa1D,IAG1BqB,GAId,MAAO,CACN3Z,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,IAO9BkX,WAAY,WACR,OAAOV,GAGX0B,UAAW,WACP,OAAO+B,MA9BC,GAqCLhC,MCrCXkC,GAAkB,WAElB,IAAI3D,EAGHyD,EAAa,WAChB,IAAIpC,EAYJ,OAVAA,EAASna,OAAOqa,cAAcF,OAEpBrB,IACAqB,EAASA,EAASC,SAASpa,OAAOiB,IAAI6X,EAAU,eAAiBsB,SAASpa,OAAOiB,IAAI6X,EAAU,mBAGnGqB,GAAkBuC,eAAelC,YACjCL,GAAkBwC,kBAAkBnC,YACpCL,GAAkByC,eAAepC,YAEhCL,GAIR,MAAO,CACN3Z,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,IAGpCkY,UAAW,WACV,OAAO+B,KAGF/C,WAAY,WACR,OAAOV,IAhCG,GAuCP2D,MCvCXG,GAAiB,WAEjB,IAAI9D,EAGHyD,EAAa,WAChB,IAAIpC,EAAS,EAMb,OAJUrB,IACAqB,EAASna,OAAOwc,aAAa1D,IAGhCqB,GAIR,MAAO,CACN3Z,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,IAGpCkY,UAAW,WACV,OAAO+B,KAGF/C,WAAY,WACR,OAAOV,IA1BE,GAiCN8D,M,0BCjCXC,GAAuB,WAE1B,IAAIC,EAIG9D,EAAQ,WACQ,IAAI4C,SAASkB,EAAgB9c,OAAOE,UAAW,CAC3D2b,YAAa,mBACbC,YAAa,YAKxB,MAAO,CACNtb,KAAM,SAAS8B,GACLwa,EAAiB9c,OAAOC,QAAQqC,GAEpCwa,GAKI9D,KAGJ+D,iBAAkB,WACd,OAAOD,IA3BQ,GAkCZD,MClCXb,GAAqB,WAExB,IAAIlD,EACGkE,EAGHhE,EAAQ,WACX,IAAIiE,EAAS,IAEiB,qBAAnBP,iBACVO,EAASP,eAAelC,aAGnBwC,EAAU,IAAIE,OAAOpE,EAAU,CACpCqE,OAAQ,CACPF,OAAQA,EACRG,OAAQ,GACRC,SAAU,CACTC,IAAK,WACJ,IAAIC,EAAM,EACmBvd,OAAOE,UAkBpC,OAhBIF,OAAOsa,eAAe,OACK,qBAAnBoC,gBAAkCA,eAAehD,YAC3D6D,GAAYb,eAAelC,aAGK,qBAAtBmC,mBAAqCA,kBAAkBjD,YACjE6D,GAAYZ,kBAAkBnC,cAGD,qBAAnBkC,gBAAkCA,eAAec,qBAC3DD,GAAYb,eAAee,sBAI7BF,GAAY,EAELA,GAERG,KAAM,SAASC,GACd,OAAO3d,OAAOid,OAAOnE,GAAU4E,MAEhCE,MAAO,SAASD,GACf,IAAIlT,EAAOzK,OAAOE,UAEd2d,EAAYzD,SAASpa,OAAOiB,IAAI6X,EAAU,UAC1CgF,EAAY1D,SAASpa,OAAOiB,IAAIwJ,EAAM,UACtCsT,EAAiB/d,OAAOid,OAAOnE,GAAU4E,KAE7C,OAAOI,EAAYD,EAAYE,OAMnCf,EAAQgB,aAERhe,OAAOie,kBAAiB,WACvBjB,EAAQkB,mBAKV,MAAO,CACN1d,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKdE,KAGDtP,OAAQ,WACHsT,GACHA,EAAQkB,iBA9Ea,GAsFVlC,MCtFXmC,I,UAAwB,WAE3B,IAAIrF,EAGAE,EAAQ,WACX,IAAIe,EAAS/Z,OAAOa,KAAKiY,EAAU,gBAC/BsF,EAAWpe,OAAOa,KAAKiY,EAAU,cACjCuF,EAAare,OAAOa,KAAKiY,EAAU,gBAEnCqB,EAASsC,gBAAgBjC,YAE7BL,GAAkBC,SAASpa,OAAOwc,aAAa6B,IAE/ClE,EAASA,EAASC,SAASpa,OAAOiB,IAAI6X,EAAU,cAAgBsB,SAASpa,OAAOiB,IAAI6X,EAAU,iBAC9FqB,EAASA,EAASC,SAASpa,OAAOiB,IAAI6X,EAAU,eAAiBsB,SAASpa,OAAOiB,IAAI6X,EAAU,kBAE/FqB,EAASA,EAASC,SAASpa,OAAOiB,IAAImd,EAAU,eAAiBhE,SAASpa,OAAOiB,IAAImd,EAAU,kBAC/FjE,EAASA,EAASC,SAASpa,OAAOiB,IAAImd,EAAU,cAAgBhE,SAASpa,OAAOiB,IAAImd,EAAU,iBAE9FjE,GAAkB,EAElBna,OAAOiB,IAAI8Y,EAAQ,SAAUI,EAAS,OAIvC,MAAO,CACN3Z,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,IAKdE,IAGShZ,OAAOie,kBAAiB,WAChCjF,SAIFtP,OAAQ,WACPsP,MA5CyB,IAmDbmF,MCnDXxB,GAAoB,WAEpB,IAAI7D,EAGAyD,EAAa,WACb,IAAIpC,EAAS,EAMb,OAJIrB,IACAqB,EAASna,OAAOwc,aAAa1D,IAG1BqB,GAId,MAAO,CACN3Z,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,IAO9BoX,QAAS,WACL,OAAO1Z,OAAOkZ,SAASlZ,OAAOE,UAAW,oBAG7CsZ,WAAY,WACR,OAAOV,GAGX0B,UAAW,WACP,OAAO+B,MAlCK,GAyCTI,MCxCX2B,GAAe,WAElB,IAAItF,EAAQ,SAAUjZ,GACrB,IAAIwe,EAAWve,OAAOa,KAAKd,EAAS,WAChCye,EAAaxe,OAAOa,KAAKd,EAAS,cAClC0e,EAAeze,OAAOa,KAAKd,EAAS,gBACpC2e,EAAe1e,OAAOa,KAAKd,EAAS,gBAEnCwe,IAKLve,OAAO2e,WAAWJ,EAAU,CAC3BK,cAAc,EACdC,oBAAoB,EACpBC,qBAAqB,EACrBC,sBAAsB,EACtBC,oBAAoB,EACpB9E,kBAAkB,EAClBC,OAAQ,WACP,IAAIA,EAEJ,OAAIna,OAAOif,iBAAiB,MACpBjf,OAAOkf,QAAQX,EAAU,sBAAwBnE,SAASpa,OAAOia,KAAKsE,EAAU,uBAAyB,IACtGve,OAAOsa,eAAe,OAASta,OAAOkf,QAAQX,EAAU,eAC3DnE,SAASpa,OAAOia,KAAKsE,EAAU,iBAEtCpE,EAASsC,gBAAgBjC,YAErB+D,IACHpE,EAASA,EAASC,SAASpa,OAAOiB,IAAIsd,EAAU,eAAiBnE,SAASpa,OAAOiB,IAAIsd,EAAU,mBAG5FE,IACHtE,GAAkBC,SAASpa,OAAOiB,IAAIwd,EAAc,WACpDtE,EAASA,EAASC,SAASpa,OAAOiB,IAAIwd,EAAc,eAAiBrE,SAASpa,OAAOiB,IAAIwd,EAAc,mBAGpGD,IACHrE,EAASA,EAASC,SAASpa,OAAOiB,IAAIud,EAAY,gBAAkBpE,SAASpa,OAAOiB,IAAIud,EAAY,oBAGjGE,IACHvE,GAAkBC,SAASpa,OAAOiB,IAAIyd,EAAc,WACpDvE,EAASA,EAASC,SAASpa,OAAOiB,IAAIyd,EAAc,eAAiBtE,SAASpa,OAAOiB,IAAIyd,EAAc,mBAKzGvE,GAAkB,EAEXA,MAKTna,OAAOiC,GAAGlC,EAAS,wBAAyB,WAAW,SAASnG,GAC/D,GAAiB,IAAbA,EAAEulB,QAIL,OAHAC,EAAgBrf,GAChBnG,EAAEyH,kBAEK,KAITrB,OAAOiC,GAAGlC,EAAS,0BAA2B,SAAS,SAASnG,GAC/DwlB,EAAgBrf,QAIdqf,EAAkB,SAASrf,GAC9B,IAAIsf,EAAarf,OAAOa,KAAKd,EAAS,aAClCwe,EAAWve,OAAOa,KAAKd,EAAS,WAC1Buf,EAAWtf,OAAOa,KAAKd,EAAS,YAEpC,GAA8B,IAA1Buf,EAAS5hB,MAAM1F,OAAnB,CAIN,IAAIunB,EAAOllB,SAASQ,cAAc,OAClCmF,OAAO0B,SAAS6d,EAAM,2CAEtB,IAiBIC,EAjBAtS,EAAO,GACXA,GAAQ,0CACRA,GAAQ,UACRA,GAAQ,2DACRA,GAAQ,gGACRA,GAAQ,WACRA,GAAQ,sDACRA,GAAQ,2DACRA,GAAQ,WACRA,GAAQ,SACRA,GAAQ,oHAAsHoS,EAAS5hB,MAAQ,SAE/IsC,OAAOyf,QAAQF,EAAMrS,GACrBmS,EAAW1jB,YAAY4jB,GACvBD,EAAS5hB,MAAQ,GACjB6gB,EAASlD,UAAYjB,SAASpa,OAAOiB,IAAIoe,EAAY,YAGjDG,EAAKxf,OAAOxI,KAAK+mB,GAAUjhB,IAAI,QAClCkiB,EAAG9V,SAGJ7M,YAAW,WACV,IAAI0iB,EAAOllB,SAASQ,cAAc,OAClCmF,OAAO0B,SAAS6d,EAAM,6CAEtB,IAmBIC,EAnBAtS,EAAO,GACXA,GAAQ,0CACRA,GAAQ,sDACRA,GAAQ,2DACRA,GAAQ,WACRA,GAAQ,UACRA,GAAQ,uGACRA,GAAQ,4DACRA,GAAQ,WACRA,GAAQ,SACRA,GAAQ,mHACRA,GAAQ,kEACRA,GAAQ,SAERlN,OAAOyf,QAAQF,EAAMrS,GACrBmS,EAAW1jB,YAAY4jB,GACvBD,EAAS5hB,MAAQ,GACjB6gB,EAASlD,UAAYjB,SAASpa,OAAOiB,IAAIoe,EAAY,YAGjDG,EAAKxf,OAAOxI,KAAK+mB,GAAUjhB,IAAI,QAClCkiB,EAAG9V,WAEF,OAIJ,MAAO,CACNlJ,KAAM,SAAS8B,GAEd0W,EAAMhZ,OAAOC,QAAQqC,IAGsB,kBAAvCod,UAAUlhB,OAAO8X,SAASqJ,WAAwE,sBAAvCD,UAAUlhB,OAAO8X,SAASqJ,WACxF9iB,YAAW,WACD,IAAKqf,SAAS0D,UAAU,qBAAsB,CAC1C,IAAIC,EAAU,IAAI9T,MAAK,IAAIA,MAAO+T,UAAY,MAE1D5D,SAASC,UAAU,oBAAqB,EAAG,CAAE0D,QAASA,IAElD7f,OAAOC,QAAQ,2BAClBD,OAAOC,QAAQ,0BAA0ByK,WAGnC,MAILqV,MAAO,SAAShgB,GACZiZ,EAAMjZ,KA9JC,GAqKJue,M,aCtKX0B,GAAuB,WAEvB,IAAIlH,EAIAE,EAAQ,WACR,IAAIiH,EAASjgB,OAAOa,KAAKiY,EAAU,qBAC/BoH,EAAUlgB,OAAOa,KAAKiY,EAAU,sBAEjB,IAAIK,YAAYL,EAAU,CACzCO,SAAS,EACTD,UAAW,YACX+G,UAAW,QACX7G,QAAS,yBACTC,SAAU,4BAGdvZ,OAAO2e,WAAWuB,EAAS,CACvBE,kBAAkB,EAClBrB,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,IAAIA,EAASC,SAASpa,OAAOqa,cAAcF,QAkB3C,OAhBI8F,IACA9F,GAAkBC,SAASpa,OAAOwc,aAAayD,IAC/C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,cAC9C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,kBAG9CC,IACA/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,cAC/C/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,kBAGnD/F,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,eAChDqB,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,kBAEhDqB,GAAkB,EAEXA,MAMnB,MAAO,CACH3Z,KAAM,SAAS8B,GACXwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKLE,KAGJQ,WAAY,WACR,OAAOV,IA5DQ,GAmEZkH,MCnEXK,GAAyB,WAEzB,IAAIvH,EAIAE,EAAQ,WACW,IAAIG,YAAYL,EAAU,CACzCO,SAAS,EACTD,UAAW,YACX+G,UAAW,QACX7G,QAAS,sBACTC,SAAU,yBAGd,IAAI0G,EAASjgB,OAAOa,KAAKiY,EAAU,qBAC/BoH,EAAUlgB,OAAOa,KAAKiY,EAAU,sBAChChY,EAAUd,OAAOa,KAAKiY,EAAU,sBAChCwH,EAAStgB,OAAOa,KAAKiY,EAAU,qBAEnC9Y,OAAO2e,WAAW7d,EAAS,CACvBsf,kBAAkB,EAClBrB,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,IAAIA,EAASC,SAASpa,OAAOqa,cAAcF,QA6B3C,OA3BI8F,IACA9F,GAAkBC,SAASpa,OAAOwc,aAAayD,IAC/C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,cAC9C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,kBAG9CC,IACA/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,cAC/C/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,kBAG/Cpf,IACAqZ,GAAkBC,SAASpa,OAAOiB,IAAIH,EAAS,cAC/CqZ,GAAkBC,SAASpa,OAAOiB,IAAIH,EAAS,kBAG/Cwf,IACAnG,GAAkBC,SAASpa,OAAOwc,aAAa8D,IAC/CnG,GAAkBC,SAASpa,OAAOiB,IAAIqf,EAAQ,cAC9CnG,GAAkBC,SAASpa,OAAOiB,IAAIqf,EAAQ,kBAGlDnG,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,eAChDqB,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,kBAEhDqB,GAAkB,EAEXA,MAMnB,MAAO,CACH3Z,KAAM,SAAS8B,GACXwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKLE,MArEiB,GA4EdqH,MC5EXE,GAA6B,WAE7B,IAAIzH,EAIAE,EAAQ,WACR,IAAIiH,EAASjgB,OAAOa,KAAKiY,EAAU,qBAC/BoH,EAAUlgB,OAAOa,KAAKiY,EAAU,sBAEjB,IAAIK,YAAYL,EAAU,CACzCO,SAAS,EACTD,UAAW,YACX+G,UAAW,QACX7G,QAAS,+BACTC,SAAU,kCAGdvZ,OAAO2e,WAAWuB,EAAS,CACvBE,kBAAkB,EAClBrB,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,IAAIA,EAASC,SAASpa,OAAOqa,cAAcF,QAkB3C,OAhBI8F,IACA9F,GAAkBC,SAASpa,OAAOwc,aAAayD,IAC/C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,cAC9C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,kBAG9CC,IACA/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,cAC/C/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,kBAGnD/F,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,eAChDqB,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,kBAEhDqB,GAAkB,EAEXA,MAMnB,MAAO,CACH3Z,KAAM,SAAS8B,GACXwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKLE,KAGJQ,WAAY,WACR,OAAOV,IA5Dc,GAmElByH,MCnEXC,GAAqB,WAErB,IAAI1H,EAEA2H,EACAC,EACAC,EAGAC,EAAoB,WACpB,IAEIX,EAASjgB,OAAOa,KAAKiY,EAAU,qBAC/BoH,EAAUlgB,OAAOa,KAAKiY,EAAU,sBAEhCqB,EAASC,SAASpa,OAAOqa,cAAcF,QAkB3C,OAhBI8F,IACA9F,GAAkBC,SAASpa,OAAOwc,aAAayD,IAC/C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,cAC9C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,kBAG9CC,IACA/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,cAC/C/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,kBAGnD/F,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,eAChDqB,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,kBAEhDqB,GAAkB,EAEXA,GAGPnB,EAAQ,WACW,IAAIG,YAAYL,EAAU,CACzCO,SAAS,EACTD,UAAW,YACX+G,UAAW,QACX7G,QAAS,uBACTC,SAAU,2BAIdsH,EAAqB,WACrB7gB,OAAO2e,WAAW8B,EAAuB,CACrC5B,oBAAoB,EACpBE,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,OAAOyG,QAKfE,EAAY,WACZ9gB,OAAO2e,WAAW+B,EAAc,CAC5B7B,oBAAoB,EACpBE,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,OAAOyG,QAKfG,EAAgB,WAChB/gB,OAAO2e,WAAWgC,EAAkB,CAChC9B,oBAAoB,EACpBE,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,OAAOyG,QAcnB,MAAO,CACHpgB,KAAM,SAAS8B,GACXwW,EAAW9Y,OAAOC,QAAQqC,GAC1Bme,EAAwBzgB,OAAOC,QAAQ,gCACvCygB,EAAe1gB,OAAOC,QAAQ,uBAC9B0gB,EAAmB3gB,OAAOC,QAAQ,2BAElC+Y,IACA6H,IACAC,IACAC,MAlGa,GA2GVP,MC3GXQ,GAAsB,WAEtB,IAAIlI,EAIAE,EAAQ,WACR,IAAIiH,EAASjgB,OAAOa,KAAKiY,EAAU,qBAC/BoH,EAAUlgB,OAAOa,KAAKiY,EAAU,sBAChCmI,EAAOjhB,OAAOa,KAAKiY,EAAU,sBAC7BoI,EAAUlhB,OAAOa,KAAKiY,EAAU,yBAEjB,IAAIK,YAAYL,EAAU,CACzCO,SAAS,EACTD,UAAW,YACX+G,UAAW,QACX7G,QAAS,wBACTC,SAAU,2BAGdvZ,OAAO2e,WAAWuC,EAAS,CACvBd,kBAAkB,EAClBrB,sBAAsB,EACtBC,oBAAoB,EACpB7E,OAAQ,WACJ,IAAIA,EAASC,SAASpa,OAAOqa,cAAcF,QA2B3C,OAzBI8F,IACA9F,GAAkBC,SAASpa,OAAOwc,aAAayD,IAC/C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,cAC9C9F,GAAkBC,SAASpa,OAAOiB,IAAIgf,EAAQ,kBAG9CC,IACA/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,cAC/C/F,GAAkBC,SAASpa,OAAOiB,IAAIif,EAAS,kBAG/CgB,IACA/G,GAAkBC,SAASpa,OAAOwc,aAAayE,IAC/C9G,GAAkBC,SAASpa,OAAOiB,IAAIggB,EAAM,cAC5C9G,GAAkBC,SAASpa,OAAOiB,IAAIggB,EAAM,iBAE5C9G,GAAkBC,SAASpa,OAAOiB,IAAIigB,EAAS,cAC/C/G,GAAkBC,SAASpa,OAAOiB,IAAIigB,EAAS,kBAGnD/G,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,eAChDqB,GAAkBC,SAASpa,OAAOiB,IAAI6X,EAAU,kBAEhDqB,GAAkB,EAEXA,MAMnB,MAAO,CACH3Z,KAAM,SAAS8B,GACXwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKLE,KAGJQ,WAAY,WACR,OAAOV,IAvEO,GA8EXkI,M,0BC3EXG,GAAiB,WAEjB,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEAC,EAAS,GAETC,GAAa,EACbC,GAAW,EACXC,GAAgB,EAChBC,EAAkB,IAClBC,EAAgB,qCAChBC,EAAe,0BACfC,EAAa,EAGbC,EAAgB,WAChBL,GAAgB,EAChB/hB,OAAO0B,SAASigB,EAAqBM,GAEjCV,GACAvhB,OAAOyb,KAAK8F,IAIhBc,EAAgB,WAChBN,GAAgB,EAChB/hB,OAAO2B,YAAYggB,EAAqBM,GAEpCV,IACID,EAAO5jB,MAAM1F,OAASmqB,EACtBniB,OAAOyb,KAAK8F,GAEZvhB,OAAOsiB,KAAKf,EAAY,UAKhCgB,EAAgB,WACZb,IAA0B1hB,OAAOkZ,SAASuI,EAAiB,UAC3De,EAAEd,GAAuBe,SAAS,UAClCD,EAAEd,GAAuBe,SAAS,YAItCC,EAAgB,WACZhB,GAAyB1hB,OAAOkZ,SAASuI,EAAiB,SAC1De,EAAEd,GAAuBe,SAAS,WAItCE,EAAiB,WACjB,GAAId,GAAcD,IAAWN,EAAO5jB,MAMhC,OALA2kB,IACAriB,OAAO0B,SAAS0f,EAASc,GACzBK,SACAviB,OAAOob,aAAaoG,GAKxBI,EAASN,EAAO5jB,MAEhBsC,OAAO2B,YAAYyf,EAASc,GAC5BE,IACAM,IAEA7lB,YAAW,WACP2lB,EAAEI,KAAK,CACHzV,IAAK0V,SAAW,wBAChBrrB,KAAM,CACF6R,MAAOuY,GAEXkB,SAAU,OACVjL,QAAS,SAAShT,GACdgd,GAAa,EACbQ,IACAriB,OAAO0B,SAAS0f,EAASc,GACzBliB,OAAOyf,QAAQ+B,EAAgB3c,GAC/B0d,IACAviB,OAAOob,aAAaoG,IAExBnlB,MAAO,SAASwI,GACZgd,GAAa,EACbQ,IACAriB,OAAO0B,SAAS0f,EAASc,GACzBliB,OAAOyf,QAAQ+B,EAAgB,8FAC/Be,IACAviB,OAAOob,aAAaoG,QAG7B,MAGHuB,EAAgB,SAASnpB,GACzB0nB,EAAO5jB,MAAQ,GACfkkB,EAAS,GACTC,GAAa,EACb7hB,OAAOyb,KAAK8F,GACZvhB,OAAO2B,YAAYyf,EAASc,GAC5BQ,KAGAM,EAAgB,WAChB,GAAI1B,EAAO5jB,MAAM1F,OAASmqB,EAItB,OAHAE,SACAK,IAKiB,GAAjBX,IAIAD,GACAxlB,aAAawlB,GAGjBA,EAAWjlB,YAAW,WAClB8lB,MACDX,KAIP,MAAO,CACHxhB,KAAM,SAAS8B,GACX8e,EAAUphB,OAAOC,QAAQqC,GAEpB8e,IAILC,EAAQrhB,OAAOa,KAAKugB,EAAS,sBAC7BE,EAASthB,OAAOa,KAAKugB,EAAS,iBAC9BG,EAAavhB,OAAOa,KAAKugB,EAAS,uBAClCI,EAAiBxhB,OAAOa,KAAKugB,EAAS,yBACtCK,EAAkBzhB,OAAOa,KAAKugB,EAAS,kBACvCM,EAAwB1hB,OAAOa,KAAKugB,EAAS,4BAC/BphB,OAAOa,KAAKugB,EAAS,gBACnCO,EAAsB3hB,OAAOa,KAAKugB,EAAS,oCAG3CphB,OAAOoB,SAASkgB,EAAQ,QAAS0B,GACjChjB,OAAOoB,SAASkgB,EAAQ,QAAS0B,GAGjC3B,EAAM4B,WAAa,SAASrpB,GACxB,IAAIoE,EAAMpE,EAAEwS,UAAYxS,EAAEulB,SAAW,EAC1B,IAAPnhB,GACApE,EAAEyH,kBAIVrB,OAAOoB,SAASmgB,EAAY,QAASwB,OAUlC5B,MC7Kf3iB,OAAOwB,OAASA,QAGhBxB,OAAO0e,OAASA,QAGhB1e,OAAO0d,SAAWA,QAGlB1d,OAAO0kB,SAAWA,QAGlB1kB,OAAO2kB,SAAWA,QAGlB3kB,OAAOkB,aAAeA,QAGtBlB,OAAOic,OAASA,QAGhBjc,OAAO2a,YAAcA,QAGrB3a,OAAO4kB,YAAcA,QAGrB5kB,OAAOod,SAAWA,QAGlBpd,OAAO6kB,SAAWA,QAIlB7kB,OAAOoa,cAAgBA,GAGvBpa,OAAOqb,kBAAoBA,GAG3Brb,OAAOkd,oBAAsBA,GAG7Bld,OAAO+b,cAAgBA,GAGvB/b,OAAOie,gBAAkBA,GAGzBje,OAAOoe,eAAiBA,GAGxBpe,OAAOke,eAAiBA,QAGxBle,OAAOyd,mBAAqBA,QAG5Bzd,OAAOqe,qBAAuBA,GAG9Bre,OAAOwd,mBAAqBA,GAG5Bxd,OAAO2f,sBAAwBA,GAG/B3f,OAAOme,kBAAoBA,GAI3Bne,OAAO8f,aAAeA,GAGtB9f,OAAO8kB,iBAAmBA,QAG1B9kB,OAAOwhB,qBAAuBA,GAG9BxhB,OAAO6hB,uBAAyBA,GAGhC7hB,OAAO+hB,2BAA6BA,GAGpC/hB,OAAOgiB,mBAAqBA,GAG5BhiB,OAAOwiB,oBAAsBA,GAG7BxiB,OAAO+kB,kBAAoBA,QAG3B/kB,OAAOglB,kBAAoBA,QAG3BhlB,OAAO2iB,eAAiBA,G,4BCjGxBtZ,aAAIC,IAAK2b,M,gDCCT5b,aAAID,UAAW,cAAgB8b,M,8BCJhB,SAAStqB,KAAI,MAAM,CAACuqB,IAAI,GAAGC,QAAQ9jB,KAAK6jB,IAAI,IAAIE,KAAKzqB,KAAK0qB,IAAIhkB,KAAK6jB,IAAIvqB,IAAI,IAAI8I,IAAI9I,GAAGA,EAAET,MAAMS,EAAE0qB,KAAKC,IAAI3qB,EAAE0qB,GAAG,GAAGhkB,KAAK6jB,IAAIvqB,GAAG,CAAC,MAAM8E,EAAE4B,KAAK6jB,IAAIvqB,GAAG4qB,QAAQF,GAAM5lB,GAAG,GAAG4B,KAAK6jB,IAAIvqB,GAAGF,OAAOgF,EAAE,KAAM+D,GAAG7I,EAAE0qB,IAAIhkB,KAAK6jB,IAAIvqB,GAAG0G,KAAK6jB,IAAIvqB,IAAI,IAAId,KAAKwrB,KCA5O,SAASnmB,KAAI,MAAM,CAACsmB,QAAQ,GAAGC,IAAIvmB,EAAE/D,IAAIkG,KAAKmkB,QAAQtmB,GAAGmC,KAAKmkB,QAAQtmB,IAAI,IAAIrF,KAAKsB,IAAIgqB,QAAQ9jB,KAAKmkB,QAAQ,IAAIE,QAAQxmB,EAAE/D,EAAE9B,GAAG,IAAIgI,KAAKmkB,QAAQtmB,KAAKmC,KAAKmkB,QAAQtmB,GAAG3F,OAAQ,OAAO4B,EAAE,IAAIR,EAAEQ,EAAE,MAAM2D,EAAEuC,KAAKmkB,QAAQtmB,GAAShE,EAAE4D,EAAEvF,OAAO,IAAI,IAAI2F,EAAE,EAAEA,EAAEhE,EAAEgE,IAAKvE,EAAEmE,EAAEI,GAAGhF,MAAMS,EAAEtB,GAAG,OAAOsB,GAAG4H,OAAOrD,EAAE/D,GAAMkG,KAAKmkB,QAAQtmB,KAAImC,KAAKmkB,QAAQtmB,GAAGmC,KAAKmkB,QAAQtmB,GAAG+I,OAAO/I,GAAGA,IAAI/D,MCAtW,SAASA,GAAEA,EAAE+D,EAAEJ,EAAEP,GAAG,MAAMkB,GAAGX,EAAE9C,aAAa,SAAS,IAAIsV,cAAoBqU,EAAE7mB,EAAE8mB,QAAQtU,cAAc,OAAOqU,GAAG,IAAI,WAAW,OAAO7mB,EAAEG,MAAM,IAAI,SAAS,MAAM9D,EAAE2D,EAAQI,EAAE/D,EAAE0qB,cAAc,OAAO3mB,GAAG,EAAE/D,EAAEgG,QAAQJ,KAAK7B,GAAGD,MAAM,GAAG,IAAI,QAAQ,GAAG,UAAUQ,GAAG,aAAaA,EAAE,CAAC,MAAMtE,EAAEoD,EAAE0J,OAAO9M,GAAGA,EAAE2qB,SAASvsB,OAAO,OAAW,IAAJ4B,EAAM,GAAGA,EAAE,GAAQ,OAAO2D,EAAEG,MAAM,QAAQ,MAAM,ICA9W,SAASH,GAAEA,EAAE3D,GAAG,MAAM+D,EAAE6mB,MAAMC,QAAQ7qB,GAAGA,EAAE,CAACA,GAAG,IAAIwqB,EAAE7mB,EAAsC,OAApCI,EAAE4B,QAAQhC,IAAI6mB,EAAEA,EAAEM,QAAQ,KAAKnnB,KAAY6mB,ECAnE,SAAShrB,KAAI,MAAMA,EAAEQ,GAAG+qB,YAAW,GAAG/qB,GAAI8qB,QAAQ,IAAI,MAAM,MAAM,CAACE,SAASR,GAAG,MAAMzmB,EAAEymB,EAAE1mB,MAAM,GAAO,KAAJC,EAAQ,MAAM,CAACknB,OAAM,GAAM,MAAM3mB,EAAEjG,OAAO6sB,OAAO,GAAG,CAACC,WAAU,EAAKroB,QAAQ,IAAI0nB,EAAExkB,SAAejG,EAAEP,EAAE8E,EAAE8mB,KAAW7nB,EAAE/D,EAAE8E,EAAE+mB,KAAK,OAAO/mB,EAAE6mB,UAAU,CAACroB,QAAQ9C,GAAEwqB,EAAEc,KAAKhnB,EAAExB,SAAS0nB,EAAEc,KAAKC,QAAQC,QAAQlnB,EAAExB,QAAQ,CAAC,GAAG/C,EAAI,GAAGwD,IAAM0nB,MAAMF,WAAWhnB,IAAIhE,GAAGgrB,WAAWhnB,IAAIR,GAAG,CAACT,QAAQ9C,GAAEwqB,EAAEc,KAAKhnB,EAAExB,SAAS0nB,EAAEc,KAAKC,QAAQE,aAAannB,EAAExB,QAAQ,CAAC,GAAG/C,EAAI,GAAGwD,IAAM0nB,MAAMF,WAAWhnB,GAAGhE,GAAGgrB,WAAWhnB,GAAGR,KCAngB,SAASQ,KAAI,MAAM,CAACinB,SAASjnB,GAAG,MAAM,CAACknB,OAAM,KCA7C,SAASlnB,GAAEA,EAAEO,GAAG,GAAG,oBAAoBP,EAAG,OAAOA,EAAEhF,MAAMmH,KAAK5B,GAAQ,GAAG,kBAAkBP,EAAE,CAAC,IAAI/D,EAAE+D,EAAK,OAAO/D,EAAE0rB,UAAU1rB,EAAE5B,OAAO,KAAI4B,EAAEA,EAAE0rB,UAAU,EAAE1rB,EAAE5B,OAAO,IAAG,MAAMF,EAAE8B,EAAEgd,MAAM,KAAWzZ,EAAErF,EAAEytB,MAAM,IAAIzB,EAAEtlB,OAAO,IAAI,MAAMb,KAAK7F,EAAGgsB,EAAEA,EAAEnmB,GAAG,MAAqB,qBAAPmmB,EAAE3mB,GAAiB,KAAK2mB,EAAE3mB,GAAGxE,MAAMmH,KAAK5B,ICAzQ,SAASf,KAAI,MAAM,CAACynB,SAASznB,GAAG,MAAMxD,EAAEgE,GAAER,EAAEyC,QAAQ6D,SAAS,CAACtG,IAAI,MAAM,mBAAmBxD,EAAE,CAACkrB,MAAMlrB,GAAGA,ICArG,SAASgE,KAAI,MAAM,CAACinB,SAASjnB,GAAG,MAAMR,EAAE,WAAWQ,EAAEoC,QAAQskB,QAAQtU,cAAcpS,EAAEoC,QAAQylB,iBAAiB,kBAAkBxtB,OAAO2F,EAAE8nB,SAAS/e,OAAO9M,GAAGA,EAAE2qB,SAASvsB,OAAaoB,EAAEuE,EAAEiC,QAAQolB,IAAI,GAAGrnB,EAAEiC,QAAQolB,IAAM,GAAS9mB,EAAEP,EAAEiC,QAAQqlB,IAAI,GAAGtnB,EAAEiC,QAAQqlB,IAAM,GAAG,IAAIb,EAAEzmB,EAAEunB,KAAKvnB,EAAEiC,QAAQlD,SAASiB,EAAEunB,KAAKQ,OAAON,QAAQznB,EAAEiC,QAAQlD,QAAQ,MAAM/C,IAAIP,GAAG+D,EAAEid,SAAShhB,EAAE,KAAK8E,GAAGf,EAAEid,SAASlc,EAAE,KAAK,QAAO,GAAM,MAAM9E,KAAK8E,EAAEkmB,EAAExqB,GAAE+D,EAAEunB,KAAKvnB,EAAEunB,KAAKQ,OAAOP,QAAQxnB,EAAEiC,QAAQlD,QAAQ,CAACtD,EAAE8E,IAAI,MAAM,MAAM9E,EAAEgrB,EAAExqB,GAAE+D,EAAEunB,KAAKvnB,EAAEunB,KAAKQ,OAAOC,KAAKhoB,EAAEiC,QAAQlD,QAAQtD,GAAG,MAAM,MAAM8E,EAAEkmB,EAAExqB,GAAE+D,EAAEunB,KAAKvnB,EAAEunB,KAAKQ,OAAOE,KAAKjoB,EAAEiC,QAAQlD,QAAQwB,GAAG,MAAM,QAAQ,MAAM,MAAM,CAACxB,QAAQ0nB,EAAES,MAAMlrB,KCAlqB,SAASgE,GAAEA,GAAG,IAAI/D,EAAE+D,EAAE3F,OAAO,MAAM2B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAIuE,EAAE,EAAMX,EAAE,EAAE,MAAM3D,IAAK2D,GAAG5D,EAAEuE,GAAGkc,SAASzc,EAAEkoB,OAAOjsB,GAAG,KAAKsE,EAAE,EAAEA,EAAE,OAAOX,EAAE,KAAK,GAAGA,EAAE,ECAtJ,MAAMI,GAAE,CAACmoB,iBAAiB,CAAC9tB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,KAAK,OAAOC,QAAQ,CAAChuB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,SAASE,YAAY,CAACjuB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAOG,eAAe,CAACluB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,KAAK,OAAOI,SAAS,CAACnuB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,OAAO,SAAS,SAAS,SAAS,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,QAAQ,QAAQ,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAOK,IAAI,CAACpuB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,SAASM,mBAAmB,CAACruB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,WAAWO,IAAI,CAACtuB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQQ,MAAM,CAACvuB,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI+tB,OAAO,CAAC,OAAO,OAAO,OAAO,SAASS,QAAQ,CAACxuB,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI+tB,OAAO,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,SAASU,WAAW,CAACzuB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,KAAK,KAAK,KAAK,KAAK,OAAOW,KAAK,CAAC1uB,OAAO,CAAC,GAAG,GAAG,IAAI+tB,OAAO,CAAC,OAAO,SAASY,SAAS,CAAC3uB,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI+tB,OAAO,CAAC,SAAS,SAAS,SAAS,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,QAAQ,QAAQ,SAAS,SAAS,SAAS,SAAS,SAAS,WAAWa,KAAK,CAAC5uB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,MAAMc,cAAc,CAAC7uB,OAAO,CAAC,IAAI+tB,OAAO,CAAC,OAAO,SAAS,OAAO,OAAO,OAAO,OAAO,UAAyB,SAASpsB,KAAI,MAAM,CAACirB,SAASjrB,GAAG,GAAa,KAAVA,EAAE+D,MAAY,MAAM,CAACopB,KAAK,CAAChsB,KAAK,MAAM+pB,OAAM,GAAM,GAAG,aAAa3a,KAAKvQ,EAAE+D,OAAQ,MAAM,CAACopB,KAAK,CAAChsB,KAAK,MAAM+pB,OAAM,GAAO,MAAMtnB,EAAE5D,EAAE+D,MAAMgnB,QAAQ,MAAM,IAAI,IAAI9qB,GAAE2D,GAAI,MAAM,CAACupB,KAAK,CAAChsB,KAAK,MAAM+pB,OAAM,GAAO,IAAI,MAAMjrB,KAAK3B,OAAOsK,KAAK5E,IAAI,IAAI,MAAMO,KAAKP,GAAE/D,GAAGmsB,OAAQ,GAAGpsB,EAAE+D,MAAMqpB,OAAO,EAAEppB,GAAE/D,GAAGmsB,OAAO7nB,GAAGlG,UAAU2F,GAAE/D,GAAGmsB,OAAO7nB,KAAqC,IAAjCP,GAAE/D,GAAG5B,OAAOgsB,QAAQzmB,EAAEvF,QAAc,MAAM,CAAC8uB,KAAK,CAAChsB,KAAKlB,GAAGirB,OAAM,GAAQ,MAAM,CAACiC,KAAK,CAAChsB,KAAK,MAAM+pB,OAAM,KCA55D,SAASlnB,GAAEA,EAAE/D,EAAEsE,EAAEX,GAAG,GAAGypB,MAAMrpB,IAAIqpB,MAAMptB,IAAIotB,MAAM9oB,GAAI,OAAO,EAAM,GAAGP,EAAE,KAAKA,EAAE,MAAM/D,GAAG,GAAGA,EAAE,GAAI,OAAO,EAAM,MAAMR,EAAE,CAAC,GAAGuE,EAAE,MAAM,GAAGA,EAAE,MAAM,GAAGA,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAGO,GAAG,GAAGA,EAAE9E,EAAEQ,EAAE,GAAI,OAAO,EAAM,IAAO,IAAJ2D,EAAS,CAAC,MAAMA,EAAE,IAAIwO,KAAW3S,EAAEmE,EAAEoP,cAAoByX,EAAE7mB,EAAEwR,WAAiBkY,EAAE1pB,EAAEyR,UAAU,OAAOrR,EAAEvE,GAAGuE,IAAIvE,GAAGQ,EAAE,EAAEwqB,GAAGzmB,IAAIvE,GAAGQ,EAAE,IAAIwqB,GAAGlmB,EAAE+oB,EAAE,OAAO,ECA7S,SAAS/oB,KAAI,MAAMA,EAAEA,CAACP,EAAE/D,EAAEsE,KAAK,MAAM9E,EAAEQ,EAAEoqB,QAAQ,QAAcI,EAAExqB,EAAEoqB,QAAQ,MAAYrqB,EAAEC,EAAEoqB,QAAQ,MAAM,IAAQ,IAAL5qB,IAAa,IAALgrB,IAAa,IAALzqB,EAAQ,OAAO,KAAK,MAAMwD,EAAEQ,EAAEiZ,MAAM,KAAWrZ,EAAEJ,EAAE,GAAGyZ,MAAM1Y,GAAG,GAAGX,EAAEvF,OAAO,EAAG,OAAO,KAAK,MAAMgF,EAAE,IAAI+O,KAAKqO,SAAS7c,EAAEnE,GAAG,IAAIghB,SAAS7c,EAAE6mB,GAAG,IAAI,EAAEhK,SAAS7c,EAAE5D,GAAG,KAAK,GAAGwD,EAAEnF,OAAO,EAAE,CAAC,MAAM2F,EAAER,EAAE,GAAGyZ,MAAM,KAAK5Z,EAAEkqB,SAASvpB,EAAE3F,OAAO,EAAEoiB,SAASzc,EAAE,GAAG,IAAI,GAAGX,EAAEmqB,WAAWxpB,EAAE3F,OAAO,EAAEoiB,SAASzc,EAAE,GAAG,IAAI,GAAGX,EAAEoqB,WAAWzpB,EAAE3F,OAAO,EAAEoiB,SAASzc,EAAE,GAAG,IAAI,GAAG,OAAOX,GAAS5D,EAAEA,CAACuE,EAAE/D,KAAK,MAAMsE,EAAEtE,EAAE8qB,QAAQ,KAAK,KAAKA,QAAQ,KAAK,KAAKA,QAAQ,KAAK,KAAKA,QAAQ,MAAM,MAAMA,QAAQ,OAAO,OAAOA,QAAQ,KAAK,MAAMA,QAAQ,MAAM,OAAatrB,EAAEuE,EAAEqR,UAAgBoV,EAAEhrB,EAAE,GAAG,IAAIA,EAAIA,EAAQO,EAAEgE,EAAEoR,WAAW,EAAQ5R,EAAExD,EAAE,GAAG,IAAIA,EAAIA,EAAQ4D,GAAE,GAAGI,EAAEgP,eAAgBoa,OAAO,GAAS/pB,EAAEW,EAAEgP,cAAoB7U,EAAE6F,EAAE0pB,WAAW,IAAI,GAASC,EAAExvB,EAAE,GAAG,IAAIA,EAAIA,EAAQmvB,EAAEtpB,EAAE0pB,WAAiBtqB,EAAEkqB,EAAE,GAAG,IAAIA,EAAIA,EAAQhqB,EAAEU,EAAE4pB,aAAmBzD,EAAE7mB,EAAE,GAAG,IAAIA,EAAIA,EAAQzD,EAAEmE,EAAE6pB,aAAmBC,EAAEjuB,EAAE,GAAG,IAAIA,EAAIA,EAAQgpB,EAAE,CAACkF,EAAE,GAAGT,EAAIU,GAAG,GAAG5qB,EAAI6qB,EAAE,GAAG3qB,EAAI4qB,GAAG,GAAG/D,EAAI7mB,EAAE,GAAG7D,EAAI0uB,GAAG,GAAG1D,EAAIqD,EAAE,GAAG3vB,EAAIiwB,GAAG,GAAGT,EAAIvqB,EAAE,GAAGpD,EAAIquB,GAAG,GAAG7qB,EAAI/D,EAAE,GAAGI,EAAIyuB,GAAG,GAAGR,EAAIS,GAAG,GAAG3qB,EAAI4qB,KAAK,GAAGnrB,GAAK,OAAOkB,EAAEwmB,QAAQ,uDAAuD/mB,GAAG6kB,EAAE7kB,GAAG6kB,EAAE7kB,GAAGA,EAAEe,MAAM,EAAEf,EAAE3F,OAAO,KAAK,MAAM,CAAC4sB,SAASR,GAAG,GAAa,KAAVA,EAAE1mB,MAAY,MAAM,CAACopB,KAAK,CAACxY,KAAK,MAAMuW,OAAM,GAAM,MAAMlrB,EAAE1B,OAAO6sB,OAAO,GAAG,CAAChY,OAAOsX,EAAErkB,SAA0C,SAAjCqkB,EAAErkB,QAAQtF,aAAa,QAAiB,aAAa,aAAaiC,QAAQ,IAAI0nB,EAAExkB,SAAezC,EAAEinB,EAAEc,KAAKd,EAAEc,KAAK5W,KAAK8W,QAAQzrB,EAAE+C,QAAca,EAAE,CAACb,QAAQ,GAAGS,EAAI2pB,KAAK,CAACxY,KAAK,MAAMuW,OAAM,GAAa7nB,EAAErD,EAAEmT,OAAO8J,MAAM,KAAW9e,EAAEkF,EAAEhF,OAAO,EAAEgF,EAAE,GAAG,KAAWsqB,EAAEtqB,EAAEhF,OAAO,EAAEgF,EAAE,GAAG,KAAWiqB,EAAE7C,EAAE1mB,MAAMkZ,MAAM,KAAW7Z,EAAEkqB,EAAE,GAAShqB,EAAEgqB,EAAEjvB,OAAO,EAAEivB,EAAE,GAAG,KAAK,GAAGjqB,EAAEhF,SAASivB,EAAEjvB,OAAQ,OAAOuF,EAAE,MAAMumB,EAAEnqB,EAAEyuB,aAA8B,IAAlBrrB,EAAEinB,QAAQ,KAAU,KAAsB,IAAlBjnB,EAAEinB,QAAQ,KAAU,KAAsB,IAAlBjnB,EAAEinB,QAAQ,KAAU,IAAI,KAAK,GAAO,OAAJF,IAA0B,IAAhB/mB,EAAEinB,QAAQF,GAAS,OAAOvmB,EAAE,MAAM/D,EAAEuD,EAAE6Z,MAAMkN,GAAS2D,EAAEzqB,EAAE,GAAG4Z,MAAMkN,GAAG,GAAGtqB,EAAExB,SAASyvB,EAAEzvB,OAAQ,OAAOuF,EAAE,MAAMilB,EAAEhpB,EAAEiuB,EAAEzD,QAAQ,SAAe4D,EAAEpuB,EAAEiuB,EAAEzD,QAAQ,OAAaqE,EAAE7uB,EAAEiuB,EAAEzD,QAAQ,OAAO,IAAI,QAAQ9Z,KAAKsY,KAAK,QAAQtY,KAAK0d,KAAK,QAAQ1d,KAAKme,IAAI7F,EAAExqB,OAAO,GAAG4vB,EAAE5vB,OAAO,GAAGqwB,EAAErwB,OAAO,EAAG,OAAOuF,EAAE,MAAM+qB,EAAElO,SAASoI,EAAE,IAAU+F,EAAEnO,SAASwN,EAAE,IAAUY,EAAEpO,SAASiO,EAAE,IAAI,IAAIzuB,GAAE0uB,EAAEC,EAAEC,GAAI,OAAOjrB,EAAE,MAAMkrB,EAAE,IAAI1c,KAAKuc,EAAEC,EAAE,EAAEC,GAAG,GAAG1wB,EAAE,CAAC,MAAM6F,EAAEV,EAAE2Z,MAAM,KAAK,GAAG9e,EAAE8e,MAAM,KAAK5e,SAAS2F,EAAE3F,OAAQ,OAAOuF,EAAE,MAAM3D,EAAE+D,EAAE3F,OAAO,EAAE2F,EAAE,GAAG3F,QAAQ,GAAG,QAAQkS,KAAKvM,EAAE,IAAIyc,SAASzc,EAAE,GAAG,KAAK,EAAE,EAAQO,EAAEP,EAAE3F,OAAO,EAAE2F,EAAE,GAAG3F,QAAQ,GAAG,QAAQkS,KAAKvM,EAAE,IAAIyc,SAASzc,EAAE,GAAG,KAAK,EAAE,EAAQvE,EAAEuE,EAAE3F,OAAO,EAAE2F,EAAE,GAAG3F,QAAQ,GAAG,QAAQkS,KAAKvM,EAAE,IAAIyc,SAASzc,EAAE,GAAG,KAAK,EAAE,EAAE,IAAQ,IAAL/D,IAAa,IAALsE,IAAa,IAAL9E,EAAQ,OAAOmE,EAAE,GAAGnE,EAAE,GAAGA,EAAE,GAAI,OAAOmE,EAAE,GAAG3D,EAAE,GAAGA,GAAG,IAAI0tB,GAAG1tB,EAAE,GAAI,OAAO2D,EAAE,GAAGW,EAAE,GAAGA,EAAE,GAAI,OAAOX,EAAEkrB,EAAEvB,SAASttB,GAAG6uB,EAAEtB,WAAWjpB,GAAGuqB,EAAErB,WAAWhuB,GAAG,MAAMsvB,EAAiB,oBAAR/uB,EAAEqrB,IAAiBrrB,EAAEqrB,MAAMrrB,EAAEqrB,IAAU2D,EAAED,aAAa3c,KAAK2c,EAAEA,EAAExqB,EAAEwqB,EAAEjB,EAAE3D,GAAG2E,EAAQf,EAAiB,oBAAR/tB,EAAEsrB,IAAiBtrB,EAAEsrB,MAAMtrB,EAAEsrB,IAAU2D,EAAElB,aAAa3b,KAAK2b,EAAEA,EAAExpB,EAAEwpB,EAAED,EAAE3D,GAAG2E,EAAQI,EAAEH,aAAa3c,KAAK3S,EAAEuvB,EAAEhvB,EAAEmT,QAAQ4b,EAAQI,EAAEpB,aAAa3b,KAAK3S,EAAEwvB,EAAEjvB,EAAEmT,QAAQ4a,EAAE,QAAO,GAAM,MAAMmB,IAAIC,EAAE,MAAM,CAACpsB,QAAQiB,GAAEymB,EAAEc,KAAKd,EAAEc,KAAK5W,KAAK0W,IAAI7nB,EAAE0rB,GAAG/B,KAAK,CAACxY,KAAKma,GAAG5D,MAAM4D,EAAE3I,WAAW6I,EAAE7I,WAAW,MAAMgJ,IAAID,EAAE,MAAM,CAACnsB,QAAQiB,GAAEymB,EAAEc,KAAKd,EAAEc,KAAK5W,KAAK2W,IAAI9nB,EAAE2rB,GAAGhC,KAAK,CAACxY,KAAKma,GAAG5D,MAAM4D,EAAE3I,WAAW8I,EAAE9I,WAAW,MAAMgJ,KAAKD,EAAE,MAAM,CAACnsB,QAAQiB,GAAEymB,EAAEc,KAAKd,EAAEc,KAAK5W,KAAKya,MAAM5rB,EAAE,CAAC0rB,EAAEC,IAAIhC,KAAK,CAACxY,KAAKma,GAAG5D,MAAM4D,EAAE3I,WAAW8I,EAAE9I,WAAW2I,EAAE3I,WAAW6I,EAAE7I,WAAW,QAAQ,MAAM,CAACpjB,QAAQ,GAAGS,EAAI2pB,KAAK,CAACxY,KAAKma,GAAG5D,OAAM,MCAx2G,SAAS1nB,KAAI,MAAM,CAACynB,SAASznB,GAAG,MAAMQ,EAAE,oBAAoBR,EAAEyC,QAAQopB,QAAQ7rB,EAAEyC,QAAQopB,QAAQ5wB,KAAK0H,MAAM3C,EAAEyC,QAAQopB,QAAQ,MAAM,CAACnE,MAAU,KAAJlnB,GAAQR,EAAEO,QAAQC,KCA5J,SAAS/D,KAAI,MAAM,CAACgrB,SAAShrB,GAAG,MAAM,CAACirB,MAAgB,KAAVjrB,EAAE8D,OAAY,QAAQwM,KAAKtQ,EAAE8D,UCA1E,SAASC,KAAI,MAAMA,EAAEA,CAACA,EAAE/D,KAAK,MAAMR,EAAEuE,EAAEiZ,MAAM,KAAWjd,EAAEP,EAAEpB,OAAakG,EAAE,GAAG,IAAIX,EAAE,GAAG,IAAI,IAAII,EAAE,EAAEA,EAAEhE,EAAEgE,IAAK,GAAGA,EAAE,IAAI,EAAE,CAAC,MAAMhE,EAAEP,EAAEuE,GAAGiZ,MAAMhd,GAASwqB,EAAEzqB,EAAE3B,OAAO,GAAO,IAAJosB,EAAO7mB,GAAG5D,EAAE,OAAO,CAACuE,EAAE5F,KAAKiF,EAAE5D,EAAE,IAAI,IAAI,IAAIgE,EAAE,EAAEA,EAAEymB,EAAE,EAAEzmB,IAAKO,EAAE5F,KAAKqB,EAAEgE,IAAIJ,EAAE5D,EAAEyqB,EAAE,SAAS7mB,GAAG,IAAInE,EAAEuE,GAAMA,EAAEhE,EAAE,IAAG4D,GAAG,KAAgB,OAAVW,EAAE5F,KAAKiF,GAAUW,GAAG,MAAM,CAAC0mB,SAAShrB,GAAG,GAAa,KAAVA,EAAE8D,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMzrB,EAAEnB,OAAO6sB,OAAO,GAAG,CAACmE,UAAS,EAAMb,UAAU,QAAQxuB,EAAEgG,SAAejG,EAAE,qKAA2KuE,GAAe,IAAb9E,EAAE6vB,UAAiB,GAAG7vB,EAAE6vB,WAAa,OAAO,GAAG/qB,EAAE,CAAC,MAAMA,EAAE9E,EAAEgvB,WAAW,OAAa7qB,EAAEI,EAAE/D,EAAE8D,MAAMQ,GAASkmB,EAAE7mB,EAAEvF,OAAO,IAAI,IAAI2F,EAAE,EAAEA,EAAEymB,EAAEzmB,IAAK,IAAIhE,EAAEuQ,KAAK3M,EAAEI,IAAK,MAAM,CAACknB,OAAM,GAAQ,MAAM,CAACA,OAAM,GAAW,MAAM,CAACA,MAAMlrB,EAAEuQ,KAAKtQ,EAAE8D,UCA3zB,SAAS9D,KAAI,MAAM,CAACgrB,SAAShrB,GAAG,GAAa,KAAVA,EAAE8D,MAAY,MAAM,CAACmnB,OAAM,GAAM,IAAIlnB,EAAE,MAAM7F,EAAE8B,EAAEgG,QAAQspB,UAAUtvB,EAAEgG,QAAQspB,UAAUnZ,cAAc6G,MAAM,KAAK,KAAWxd,EAAEQ,EAAEgG,QAAQ9E,KAAKlB,EAAEgG,QAAQ9E,KAAKiV,cAAc6G,MAAM,KAAK,KAAW1Y,EAAEM,OAAO,SAASA,OAAO,aAAaA,OAAO,cAAc,GAAGN,EAAE,CAAC,MAAMA,EAAEtE,EAAEmG,QAAQuB,MAAYnE,EAAEe,EAAElG,OAAO,IAAIosB,EAAE,EAAE,GAAGxqB,EAAEgG,QAAQupB,UAAUhsB,EAAEid,SAAS,GAAGxgB,EAAEgG,QAAQupB,SAAW,IAAK,MAAM,CAACrC,KAAK,CAACzqB,MAAM,qBAAqBwoB,OAAM,GAAO,GAAGjrB,EAAEgG,QAAQwpB,UAAUjsB,EAAEid,SAAS,GAAGxgB,EAAEgG,QAAQwpB,SAAW,IAAK,MAAM,CAACtC,KAAK,CAACzqB,MAAM,qBAAqBwoB,OAAM,GAAO,IAAItnB,EAAE,GAAG,IAAI,IAAI5D,EAAE,EAAEA,EAAEwD,EAAExD,IAAI,CAAiH,GAAhHyqB,GAAGlmB,EAAEvE,GAAG0vB,KAAK1rB,EAAEO,EAAEvE,GAAGgD,KAAKoqB,OAAO7oB,EAAEvE,GAAGgD,KAAK2sB,YAAY,KAAK,GAAG/rB,EAAE,CAACgsB,IAAI5rB,EAAE6rB,KAAKtrB,EAAEvE,GAAG0vB,KAAKnrB,EAAEvE,GAAG0vB,KAAKvuB,KAAKoD,EAAEvE,GAAGmB,MAASlB,EAAEgG,QAAQ6pB,SAASvrB,EAAEvE,GAAG0vB,KAAKjP,SAAS,GAAGxgB,EAAEgG,QAAQ6pB,QAAU,IAAK,MAAM,CAAC3C,KAAK7uB,OAAO6sB,OAAO,GAAG,CAACzoB,MAAM,oBAAoBkB,GAAGsnB,OAAM,GAAO,GAAGjrB,EAAEgG,QAAQ8pB,SAASxrB,EAAEvE,GAAG0vB,KAAKjP,SAAS,GAAGxgB,EAAEgG,QAAQ8pB,QAAU,IAAK,MAAM,CAAC5C,KAAK7uB,OAAO6sB,OAAO,GAAG,CAACzoB,MAAM,oBAAoBkB,GAAGsnB,OAAM,GAAO,GAAG/sB,IAAiC,IAA9BA,EAAEksB,QAAQrmB,EAAEoS,eAAqB,MAAM,CAAC+W,KAAK7uB,OAAO6sB,OAAO,GAAG,CAACzoB,MAAM,qBAAqBkB,GAAGsnB,OAAM,GAAO,GAAG3mB,EAAEvE,GAAGmB,MAAM1B,IAAyC,IAAtCA,EAAE4qB,QAAQ9lB,EAAEvE,GAAGmB,KAAKiV,eAAqB,MAAM,CAAC+W,KAAK7uB,OAAO6sB,OAAO,GAAG,CAACzoB,MAAM,gBAAgBkB,GAAGsnB,OAAM,GAAQ,GAAGjrB,EAAEgG,QAAQ+pB,cAAcvF,EAAEhK,SAAS,GAAGxgB,EAAEgG,QAAQ+pB,aAAe,IAAK,MAAM,CAAC7C,KAAK7uB,OAAO6sB,OAAO,GAAG,CAACzoB,MAAM,yBAAyButB,UAAUxF,GAAG7mB,GAAGsnB,OAAM,GAAO,GAAGjrB,EAAEgG,QAAQiqB,cAAczF,EAAEhK,SAAS,GAAGxgB,EAAEgG,QAAQiqB,aAAe,IAAK,MAAM,CAAC/C,KAAK7uB,OAAO6sB,OAAO,GAAG,CAACzoB,MAAM,yBAAyButB,UAAUxF,GAAG7mB,GAAGsnB,OAAM,QAA0D,GAA7ClnB,EAAE/D,EAAE8D,MAAMqpB,OAAOntB,EAAE8D,MAAM4rB,YAAY,KAAK,GAAMxxB,IAAiC,IAA9BA,EAAEksB,QAAQrmB,EAAEoS,eAAqB,MAAM,CAAC+W,KAAK,CAACzqB,MAAM,oBAAoBktB,IAAI5rB,GAAGknB,OAAM,GAAQ,MAAM,CAACA,OAAM,KCAzpD,SAAST,KAAI,MAAM,CAACQ,SAASR,GAAG,GAAa,KAAVA,EAAE1mB,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMzrB,EAAEnB,OAAO6sB,OAAO,GAAG,CAACC,WAAU,EAAKroB,QAAQ,IAAI0nB,EAAExkB,SAAejC,EAAEgnB,YAAW,GAAGvrB,EAAE4rB,KAAMN,QAAQ,IAAI,MAAM,OAAOtrB,EAAE2rB,UAAU,CAACroB,QAAQ9C,GAAEwqB,EAAEc,KAAK9rB,EAAEsD,SAAS0nB,EAAEc,KAAK4E,YAAY1E,QAAQhsB,EAAEsD,QAAQ,GAAGiB,GAAKknB,MAAMF,WAAWP,EAAE1mB,QAAQC,GAAG,CAACjB,QAAQ9C,GAAEwqB,EAAEc,KAAK9rB,EAAEsD,SAAS0nB,EAAEc,KAAK4E,YAAYzE,aAAajsB,EAAEsD,QAAQ,GAAGiB,GAAKknB,MAAMF,WAAWP,EAAE1mB,OAAOC,KCAvb,SAASR,KAAI,MAAM,CAACynB,SAASznB,GAAG,MAAMQ,EAAE,oBAAoBR,EAAEyC,QAAQopB,QAAQ7rB,EAAEyC,QAAQopB,QAAQ5wB,KAAK0H,MAAM3C,EAAEyC,QAAQopB,QAAQ,MAAM,CAACnE,MAAU,KAAJlnB,GAAQR,EAAEO,QAAQC,KCA5J,SAASymB,KAAI,MAAM,CAACQ,SAASR,GAAG,GAAa,KAAVA,EAAE1mB,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMjrB,EAAE3B,OAAO6sB,OAAO,GAAG,CAACiF,iBAAiB,IAAIC,mBAAmB,IAAI5F,EAAExkB,SAAejC,EAAuB,MAArB/D,EAAEmwB,iBAAuB,MAAMnwB,EAAEmwB,iBAAuBxsB,EAAyB,MAAvB3D,EAAEowB,mBAAyB,MAAMpwB,EAAEowB,mBAAyB7sB,EAAE,IAAI8M,OAAO,iBAAiB1M,eAAeI,cAAoBO,EAAE,IAAI+L,OAAO1M,EAAE,KAAK,IAAInE,EAAE,GAAGgrB,EAAE1mB,MAAQ,IAAIP,EAAE+M,KAAK9Q,GAAI,MAAM,CAACyrB,OAAM,GAAUtnB,IAAGnE,EAAEA,EAAEsrB,QAAQxmB,EAAE,KAAOP,IAAGvE,EAAEA,EAAEsrB,QAAQ/mB,EAAE,MAAK,MAAM7F,EAAE6sB,WAAWvrB,GAAG,MAAM,CAACyrB,OAAOmC,MAAMlvB,IAAImyB,SAASnyB,IAAIiT,KAAKC,MAAMlT,KAAKA,KCA1hB,SAASmF,KAAI,MAAM,CAAC2nB,SAAS3nB,GAAG,GAAa,KAAVA,EAAES,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMT,EAAEnsB,OAAO6sB,OAAO,GAAG,CAACoF,MAAK,EAAKC,MAAK,GAAMltB,EAAE2C,SAAehG,EAAE,4HAAkIR,EAAE,ylCAAylC,QAAO,GAAM,KAAKgrB,EAAE8F,OAAO9F,EAAE+F,KAAK,MAAM,CAACztB,QAAQO,EAAEioB,KAAKd,EAAE1nB,SAASO,EAAEioB,KAAKkF,GAAGF,KAAK9F,EAAE1nB,QAAQmoB,MAAMjrB,EAAEsQ,KAAKjN,EAAES,QAAQ,KAAK0mB,EAAE8F,MAAM9F,EAAE+F,KAAK,MAAM,CAACztB,QAAQO,EAAEioB,KAAKd,EAAE1nB,SAASO,EAAEioB,KAAKkF,GAAGD,KAAK/F,EAAE1nB,QAAQmoB,MAAMzrB,EAAE8Q,KAAKjN,EAAES,QAAQ,KAAK0mB,EAAE8F,MAAM9F,EAAE+F,KAAK,QAAQ,MAAM,CAACztB,QAAQO,EAAEioB,KAAKd,EAAE1nB,SAASO,EAAEioB,KAAKkF,GAAGhF,QAAQhB,EAAE1nB,QAAQmoB,MAAMjrB,EAAEsQ,KAAKjN,EAAES,QAAQtE,EAAE8Q,KAAKjN,EAAES,WCArpD,SAAStE,KAAI,MAAM,CAACwrB,SAASxrB,GAAG,GAAa,KAAVA,EAAEsE,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMT,EAAEnsB,OAAO6sB,OAAO,GAAG,CAACC,WAAU,EAAKroB,QAAQ,IAAItD,EAAEwG,SAAejG,EAAEgrB,YAAW,GAAGP,EAAEa,KAAMP,QAAQ,IAAI,MAAM,OAAON,EAAEW,UAAU,CAACroB,QAAQ9C,GAAER,EAAE8rB,KAAKd,EAAE1nB,SAAStD,EAAE8rB,KAAKmF,SAASjF,QAAQhB,EAAE1nB,QAAQ,GAAG/C,GAAKkrB,MAAMF,WAAWvrB,EAAEsE,QAAQ/D,GAAG,CAAC+C,QAAQ9C,GAAER,EAAE8rB,KAAKd,EAAE1nB,SAAStD,EAAE8rB,KAAKmF,SAAShF,aAAajB,EAAE1nB,QAAQ,GAAG/C,GAAKkrB,MAAMF,WAAWvrB,EAAEsE,OAAO/D,KCAjb,SAASgE,KAAI,MAAM,CAACinB,SAASjnB,GAAG,MAAMO,IAAIP,EAAEiC,WAAWjC,EAAEiC,QAAQ0qB,KAAWntB,EAAEQ,EAAED,MAAM,MAAM,CAACmnB,OAAO3mB,GAAO,KAAJf,GAAQe,GAAO,KAAJf,GAAmB,KAAXA,EAAEmtB,UCA5H,SAASlG,KAAI,MAAM,CAACQ,SAASR,GAAG,GAAa,KAAVA,EAAE1mB,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMjrB,EAAE3B,OAAO6sB,OAAO,GAAG,CAACiF,iBAAiB,IAAIC,mBAAmB,IAAI5F,EAAExkB,SAAS,IAAIjC,EAAE,GAAGymB,EAAE1mB,MAAWC,EAAEopB,OAAO,EAAE,KAAKntB,EAAEmwB,iBAAkBpsB,EAAE,IAAI/D,EAAEmwB,mBAAmBpsB,EAAEopB,OAAO,KAAappB,EAAEopB,OAAO,EAAE,KAAK,IAAIntB,EAAEmwB,mBAAoBpsB,EAAE,KAAK/D,EAAEmwB,mBAAmBpsB,EAAEopB,OAAO,MAAK,MAAMxpB,EAAuB,MAArB3D,EAAEmwB,iBAAuB,MAAMnwB,EAAEmwB,iBAAuB3wB,EAAyB,MAAvBQ,EAAEowB,mBAAyB,MAAMpwB,EAAEowB,mBAAyBlyB,EAAE,IAAImS,OAAO,iBAAiB7Q,eAAemE,cAAoBJ,EAAE,IAAI8M,OAAO7Q,EAAE,KAAK,IAAItB,EAAEoS,KAAKvM,GAAI,MAAM,CAACknB,OAAM,GAAUzrB,IAAGuE,EAAEA,EAAE+mB,QAAQvnB,EAAE,KAAOI,IAAGI,EAAEA,EAAE+mB,QAAQnnB,EAAE,MAAK,MAAM5D,EAAEgrB,WAAWhnB,GAAG,MAAM,CAACknB,OAAOmC,MAAMrtB,IAAIswB,SAAStwB,MCArpB,SAAS4D,KAAI,MAAM,CAACqnB,SAASrnB,GAAG,OAAOI,GAAEJ,EAAEqC,QAAQ9D,QAAQ,CAACyB,M,UCAzF,SAAS3D,KAAI,MAAM,CAACgrB,SAAShrB,GAAG,GAAa,KAAVA,EAAE8D,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMlnB,EAAE/D,EAAEgG,QAAQ2qB,OAAO,GAAG5sB,aAAasM,OAAQ,MAAM,CAAC4a,MAAMlnB,EAAEuM,KAAKtQ,EAAE8D,QAAY,CAAC,MAAMQ,EAAEP,EAAE6sB,WAAiBrtB,EAAEvD,EAAEgG,QAAQ6qB,MAAM,IAAIxgB,OAAO/L,EAAEtE,EAAEgG,QAAQ6qB,OAAO,IAAIxgB,OAAO/L,GAAG,MAAM,CAAC2mB,MAAM1nB,EAAE+M,KAAKtQ,EAAE8D,WCAvQ,SAAS9D,GAAEA,EAAE+D,GAAG,MAAMO,EAAEtE,GAAG3B,OAAOsK,KAAK3I,GAAGsI,IAAIvE,GAAG,GAAG+sB,mBAAmB/sB,MAAM+sB,mBAAmB9wB,EAAE+D,OAAOgtB,KAAK,KAAK,OAAO,IAAI5wB,QAAQ,CAACoD,EAAE/D,KAAK,MAAM6D,EAAEhF,OAAO6sB,OAAO,GAAG,CAAC8F,aAAY,EAAM1hB,QAAQ,GAAG2hB,OAAO,MAAM/jB,OAAO,IAAInJ,GAASymB,EAAEnsB,OAAOsK,KAAKtF,EAAE6J,QAAQ5E,IAAItI,GAAG,GAAG8wB,mBAAmB9wB,MAAM8wB,mBAAmBztB,EAAE6J,OAAOlN,OAAO+wB,KAAK,KAAWptB,EAAE3D,EAAEoqB,QAAQ,KAAWhnB,EAAE,QAAQC,EAAE4tB,OAAO,GAAGjxB,IAAI2D,EAAE,IAAI,MAAM6mB,IAAIxqB,EAAE,GAAGqD,EAAE2tB,YAAY,CAAC,MAAMhxB,EAAES,SAASQ,cAAc,UAAgB8C,EAAE,WAAWoO,KAAK+e,WAAWtsB,OAAOb,GAAG/D,WAAW4E,OAAOb,GAAGR,EAAEvD,IAAIA,EAAEwB,IAAI,GAAG4B,IAAIO,EAAE,IAAI,eAAeI,IAAI/D,EAAEmxB,OAAM,EAAKnxB,EAAEoxB,iBAAiB,OAAO,KAAKpxB,EAAE4B,WAAWC,YAAY7B,KAAKA,EAAEoxB,iBAAiB,QAAQ,IAAI5xB,GAAGiB,SAASqB,KAAKC,YAAY/B,OAAO,CAAC,MAAMA,EAAE,IAAIqxB,eAAerxB,EAAEsxB,KAAKjuB,EAAE4tB,OAAO7tB,GAAGpD,EAAEuxB,iBAAiB,mBAAmB,kBAAqB,SAASluB,EAAE4tB,QAAQjxB,EAAEuxB,iBAAiB,eAAe,qCAAqClzB,OAAOsK,KAAKtF,EAAEiM,SAAS3J,QAAQ5B,GAAG/D,EAAEuxB,iBAAiBxtB,EAAEV,EAAEiM,QAAQvL,KAAK/D,EAAEoxB,iBAAiB,QAAQ,WAAW7tB,EAAEmQ,KAAK8d,MAAMtrB,KAAKurB,kBAAkBzxB,EAAEoxB,iBAAiB,QAAQ,IAAI5xB,GAAGQ,EAAE0xB,KAAKptB,EAAEjB,EAAE6J,YCAhjC,SAASsd,KAAI,MAAMA,EAAE,CAACwG,aAAY,EAAMpzB,KAAK,GAAG0R,QAAQ,GAAG2hB,OAAO,MAAMU,SAAS,SAAS,MAAM,CAAC3G,SAASjnB,GAAG,GAAa,KAAVA,EAAED,MAAY,OAAO3D,QAAQC,QAAQ,CAAC6qB,OAAM,IAAO,MAAMzrB,EAAEnB,OAAO6sB,OAAO,GAAGV,EAAEzmB,EAAEiC,SAAS,IAAIrC,EAAEnE,EAAE5B,KAAQ,oBAAoB4B,EAAE5B,OAAM+F,EAAEnE,EAAE5B,KAAKY,KAAK0H,KAAKnC,IAAM,kBAAkBJ,IAAGA,EAAE+P,KAAK8d,MAAM7tB,IAAGA,EAAEnE,EAAEuD,MAAMgB,EAAE6tB,OAAO7tB,EAAED,MAAM,MAAMP,EAAE,oBAAoB/D,EAAE+T,IAAI/T,EAAE+T,IAAI/U,KAAK0H,KAAKnC,GAAGvE,EAAE+T,IAAI,OAAOvT,GAAEuD,EAAE,CAACytB,YAAYxxB,EAAEwxB,YAAY1hB,QAAQ9P,EAAE8P,QAAQ2hB,OAAOzxB,EAAEyxB,OAAO/jB,OAAOvJ,IAAI3B,KAAKhC,GAAGG,QAAQC,QAAQ,CAAC0C,QAAQ9C,EAAE8C,QAAQoqB,KAAKltB,EAAEirB,MAAM,GAAGjrB,EAAER,EAAEmyB,YAAc,UAAUhiB,MAAM3P,GAAGG,QAAQE,OAAO,CAAC4qB,OAAM,OCAhnB,SAASjrB,KAAI,MAAM,CAACgrB,SAAShrB,GAAG,GAAa,KAAVA,EAAE8D,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMT,EAAEnsB,OAAO6sB,OAAO,GAAG,CAAC2G,KAAK,SAAS7xB,EAAEgG,SAAexG,GAAGgrB,EAAEqH,MAAM,SAAS1b,cAAc,MAAM,CAACrT,QAAQ0nB,EAAE1nB,UAAU9C,EAAEsrB,KAAK,UAAU9rB,EAAEQ,EAAEsrB,KAAKwG,WAAWC,MAAM/xB,EAAEsrB,KAAKwG,WAAWtG,QAAQhB,EAAE1nB,SAASmoB,MAAM,UAAUzrB,EAAEQ,EAAE8D,QAAQ9D,EAAE8D,MAAMkuB,cAAchyB,EAAE8D,QAAQ9D,EAAE8D,MAAMqS,iBCA/S,SAASpS,KAAI,MAAMA,EAAE/D,IAAI,IAAI+D,EAAE/D,EAAE5B,OAAO,IAAI,IAAIoB,EAAEQ,EAAE5B,OAAO,EAAEoB,GAAG,EAAEA,IAAI,CAAC,MAAM8E,EAAEtE,EAAEyS,WAAWjT,GAAM8E,EAAE,KAAKA,GAAG,KAAMP,IAAYO,EAAE,MAAMA,GAAG,QAAOP,GAAG,GAAKO,GAAG,OAAOA,GAAG,OAAO9E,IAAK,MAAM,GAAGuE,GAAK,MAAM,CAACinB,SAASxrB,GAAG,MAAM8E,EAAEjG,OAAO6sB,OAAO,GAAG,CAACpoB,QAAQ,GAAG4tB,MAAK,EAAMuB,WAAU,GAAOzyB,EAAEwG,SAAewkB,GAAW,IAATlmB,EAAEosB,MAAa,GAAGpsB,EAAEosB,OAAS,OAAOlxB,EAAEsE,MAAM4sB,OAAOlxB,EAAEsE,MAAM,GAAO,KAAJ0mB,EAAQ,MAAM,CAACS,OAAM,GAAM,MAAMtnB,EAAEW,EAAE8mB,IAAI,GAAG9mB,EAAE8mB,IAAM,GAASrrB,EAAEuE,EAAE+mB,IAAI,GAAG/mB,EAAE+mB,IAAM,GAASntB,EAAEoG,EAAE2tB,UAAUluB,EAAEymB,GAAGA,EAAEpsB,OAAO,IAAIsvB,GAAE,EAASvqB,EAAE3D,EAAE8rB,KAAKhnB,EAAExB,SAAStD,EAAE8rB,KAAK4G,aAAa1G,QAAQlnB,EAAExB,QAA6D,QAAlDa,GAAGzF,EAAEsiB,SAAS7c,EAAE,KAAK5D,GAAG7B,EAAEsiB,SAASzgB,EAAE,OAAK2tB,GAAE,IAAa,GAAM,MAAM/pB,KAAK5D,EAAEoD,EAAEnD,GAAER,EAAE8rB,KAAKhnB,EAAExB,SAAStD,EAAE8rB,KAAK4G,aAAa3G,QAAQjnB,EAAExB,QAAQ,CAACa,EAAE5D,IAAI,MAAM,MAAM4D,EAAER,EAAEnD,GAAER,EAAE8rB,KAAKhnB,EAAExB,SAAStD,EAAE8rB,KAAK4G,aAAanG,KAAKznB,EAAExB,QAAQ,IAAG0d,SAAS7c,EAAE,IAAI,IAAK,MAAM,MAAM5D,EAAEoD,EAAEnD,GAAER,EAAE8rB,KAAKhnB,EAAExB,SAAStD,EAAE8rB,KAAK4G,aAAalG,KAAK1nB,EAAExB,QAAQ,IAAG0d,SAASzgB,EAAE,IAAI,IAAK,MAAM,QAAQ,MAAM,MAAM,CAAC+C,QAAQK,EAAE8nB,MAAMyC,KCA17B,SAAS3pB,KAAI,MAAMA,EAAE,CAACouB,oBAAmB,EAAMC,YAAW,EAAMC,SAAS,oBAAoB,MAAM,CAACrH,SAASznB,GAAG,GAAa,KAAVA,EAAEO,MAAY,MAAM,CAACmnB,OAAM,GAAM,MAAMT,EAAEnsB,OAAO6sB,OAAO,GAAGnnB,EAAER,EAAEyC,SAAejG,GAAiB,IAAfyqB,EAAE4H,YAAmB,GAAG5H,EAAE4H,aAAe,OAAalI,GAAyB,IAAvBM,EAAE2H,oBAA2B,GAAG3H,EAAE2H,qBAAuB,OAAa9E,EAAE7C,EAAE6H,SAASrV,MAAM,KAAK+T,KAAK,KAAKjG,QAAQ,MAAM,IAAU9qB,EAAE,IAAIqQ,OAAO,UAAagd,EAAE,SAASnD,EAAE,IAAI,IAA9B,2BAAgEnqB,EAAE,GAAG,mIAArE,6RAA6fA,EAAE,IAAI,IAAngB,gCAA6iB,KAAK,MAAM,CAACkrB,MAAMjrB,EAAEsQ,KAAK/M,EAAEO,UCA3Y,QAACynB,QAAQ5nB,GAAE2uB,MAAMnvB,GAAE0G,SAAS3L,GAAE4tB,OAAOvoB,GAAEgvB,WAAWxuB,GAAE2Q,KAAK1U,GAAEwyB,UAAU5yB,GAAE6yB,OAAOvI,GAAEwI,aAAapuB,GAAEsrB,KAAKpF,GAAE0F,YAAY1wB,GAAEmzB,UAAUtvB,GAAEuvB,QAAQ7yB,GAAEywB,GAAGptB,GAAEqtB,SAAS/C,GAAEmF,SAAShF,GAAEiF,QAAQ5D,GAAEhtB,QAAQmrB,GAAEsD,OAAOoC,GAAEC,OAAOC,GAAEnB,WAAW9C,GAAEkD,aAAavD,GAAEje,IAAIwiB,ICAlsB,MAAMnzB,GAAEozB,YAAYj1B,EAAEsB,GAAG0G,KAAK2lB,SAAS,GAAG3lB,KAAKktB,GAAGpzB,KAAIkG,KAAK4G,OAAO/I,KAAImC,KAAKmtB,QAAQ,GAAGntB,KAAKohB,QAAQ,IAAIgM,IAAIptB,KAAKqtB,WAAW,GAAGrtB,KAAKmhB,KAAKnpB,EAAEgI,KAAKstB,OAAOh0B,EAAE6I,GAAGrI,EAAE+D,GAAmB,OAAhBmC,KAAKktB,GAAG/qB,GAAGrI,EAAE+D,GAAUmC,KAAKikB,IAAInqB,EAAE+D,GAAoB,OAAjBmC,KAAKktB,GAAGjJ,IAAInqB,EAAE+D,GAAUmC,KAAK+jB,KAAKjqB,KAAK+D,GAAwB,OAArBmC,KAAKktB,GAAGnJ,KAAKjqB,KAAK+D,GAAUmC,KAAKutB,eAAezzB,EAAE+D,GAAG,GAAGmC,KAAKmtB,QAAQrzB,GAAI,MAAM,IAAI0B,MAAM,cAAc1B,mBAAiE,OAA9C+D,EAAE2vB,QAAQxtB,MAAMnC,EAAEmM,UAAUhK,KAAKmtB,QAAQrzB,GAAG+D,EAASmC,KAAKytB,iBAAiB3zB,GAAG,MAAM+D,EAAEmC,KAAKmtB,QAAQrzB,GAA8C,OAAxC+D,GAAGA,EAAE6vB,mBAAmB1tB,KAAKmtB,QAAQrzB,GAAUkG,KAAK2tB,kBAAkB7zB,EAAE+D,GAAG,GAAGmC,KAAKqtB,WAAWvzB,GAAI,MAAM,IAAI0B,MAAM,iBAAiB1B,mBAAwC,OAArBkG,KAAKqtB,WAAWvzB,GAAG+D,EAASmC,KAAK4tB,eAAe9zB,EAAE+D,GAAwB,OAArBmC,KAAK4G,OAAOwd,IAAItqB,EAAE+D,GAAUmC,KAAK6tB,iBAAiB/zB,EAAE+D,GAA2B,OAAxBmC,KAAK4G,OAAO1F,OAAOpH,EAAE+D,GAAUmC,KAAK8tB,cAAch0B,EAAE+D,EAAE7F,GAAG,OAAOgI,KAAK4G,OAAOyd,QAAQvqB,EAAE+D,EAAE7F,GAAG+1B,SAASj0B,EAAE+D,GAAG,MAAM7F,EAAEG,OAAO6sB,OAAO,GAAG,CAACgJ,SAAS,GAAGX,WAAW,IAAIxvB,GAAsR,OAAnRmC,KAAKstB,OAAOxzB,GAAGkG,KAAKstB,OAAOxzB,GAAG,CAACk0B,SAASh2B,EAAEg2B,UAAUhuB,KAAKstB,OAAOxzB,GAAGk0B,SAASX,WAAWl1B,OAAO6sB,OAAO,GAAGhlB,KAAKstB,OAAOxzB,GAAGuzB,WAAWr1B,EAAEq1B,aAAar1B,EAAEgI,KAAK2lB,SAAS7rB,GAAGkG,KAAKiuB,cAAcn0B,GAAGkG,KAAK+jB,KAAK,mBAAmB,CAAC4B,SAAS3lB,KAAK2lB,SAAS7rB,GAAG4xB,MAAM5xB,EAAEgG,QAAQE,KAAKstB,OAAOxzB,KAAYkG,KAAKkuB,YAAYp0B,GAAG,IAAIkG,KAAKstB,OAAOxzB,GAAI,MAAM,IAAI0B,MAAM,aAAa1B,wEAAwE,MAAM+D,EAAEmC,KAAK2lB,SAAS7rB,GAAS9B,EAAEgI,KAAKstB,OAAOxzB,GAAgH,cAAtGkG,KAAK2lB,SAAS7rB,UAAUkG,KAAKstB,OAAOxzB,GAAGkG,KAAK+jB,KAAK,qBAAqB,CAAC4B,SAAS9nB,EAAE6tB,MAAM5xB,EAAEgG,QAAQ9H,IAAWgI,KAAK8kB,WAA6C,OAAlC9kB,KAAK+jB,KAAK,wBAA+B/jB,KAAK4G,OAAOyd,QAAQ,eAAepqB,QAAQC,UAAU,IAAI4B,KAAK,IAAI7B,QAAQ+C,IAAI7E,OAAOsK,KAAKzC,KAAKstB,QAAQlrB,IAAItI,GAAGkG,KAAKmuB,cAAcr0B,KAAKgC,KAAKhC,IAAI,QAAO,GAAM,KAA6B,IAAxBA,EAAEoqB,QAAQ,WAA+C,OAA/BlkB,KAAK+jB,KAAK,qBAA4B9pB,QAAQC,QAAQ,WAAW,KAAkC,IAA7BJ,EAAEoqB,QAAQ,gBAAyD,OAApClkB,KAAK+jB,KAAK,0BAAiC9pB,QAAQC,QAAQ,gBAAgB,QAAqC,OAA7B8F,KAAK+jB,KAAK,mBAA0B9pB,QAAQC,QAAQ,aAAai0B,cAAcr0B,GAAG,MAAM+D,EAAEmC,KAAKohB,QAAQ5jB,IAAI1D,GAAG,GAAO,UAAJ+D,GAAiB,YAAJA,EAAe,OAAO5D,QAAQC,QAAQ2D,GAAGmC,KAAK+jB,KAAK,wBAAwBjqB,GAAG,MAAM9B,EAAEgI,KAAK2lB,SAAS7rB,GAAG,GAAc,IAAX9B,EAAEE,OAA4C,OAAhC8H,KAAK+jB,KAAK,mBAAmBjqB,GAAUG,QAAQC,QAAQ,SAAS,MAAMZ,EAAEtB,EAAE,GAAG2C,aAAa,QAAQ,MAAG,UAAUrB,GAAG,aAAaA,GAAc,IAAXtB,EAAEE,OAAmB8H,KAAKouB,gBAAgBt0B,EAAE9B,EAAE,IAAgBiC,QAAQ+C,IAAIhF,EAAEoK,IAAIvE,GAAGmC,KAAKouB,gBAAgBt0B,EAAE+D,KAAK/B,KAAK+B,IAAI,QAAO,GAAM,KAA6B,IAAxBA,EAAEqmB,QAAQ,WAAgF,OAAhElkB,KAAK+jB,KAAK,qBAAqBjqB,GAAGkG,KAAKohB,QAAQxgB,IAAI9G,EAAE,WAAkBG,QAAQC,QAAQ,WAAW,KAAkC,IAA7B2D,EAAEqmB,QAAQ,gBAAmF,OAA9DlkB,KAAK+jB,KAAK,0BAA0BjqB,GAAGkG,KAAKohB,QAAQtX,OAAOhQ,GAAUG,QAAQC,QAAQ,gBAAgB,QAAoE,OAA5D8F,KAAK+jB,KAAK,mBAAmBjqB,GAAGkG,KAAKohB,QAAQxgB,IAAI9G,EAAE,SAAgBG,QAAQC,QAAQ,YAAak0B,gBAAgBt0B,EAAE+D,GAAGmC,KAAKohB,QAAQtX,OAAOhQ,GAAG,MAAM9B,EAAEgI,KAAK2lB,SAAS7rB,GAASR,EAAE0G,KAAK4G,OAAOyd,QAAQ,mBAAkB,EAAM,CAACvqB,EAAE+D,EAAE7F,IAAI,GAAGsB,EAAoE,OAAjE0G,KAAK+jB,KAAK,uBAAuB,CAAC9jB,QAAQpC,EAAE8nB,SAAS3tB,EAAE0zB,MAAM5xB,IAAWG,QAAQC,QAAQ,WAAW,MAAML,EAAEmG,KAAKstB,OAAOxzB,GAAGuzB,WAAWrtB,KAAK+jB,KAAK,0BAA0B,CAAC9jB,QAAQpC,EAAE8nB,SAAS3tB,EAAE0zB,MAAM5xB,IAAI,MAAM2D,EAAEtF,OAAOsK,KAAK5I,GAAGuI,IAAIpK,GAAG,IAAIgI,KAAKquB,iBAAiBv0B,EAAE+D,EAAE7F,EAAE6B,EAAE7B,KAAK,OAAOgI,KAAKsuB,UAAU7wB,GAAG3B,KAAKxC,IAAI,MAAMO,GAA0B,IAAxBP,EAAE4qB,QAAQ,WAAgBlkB,KAAK+jB,KAAK,yBAAyB,CAAC9jB,QAAQpC,EAAE8nB,SAAS3tB,EAAE0zB,MAAM5xB,EAAEirB,MAAMlrB,IAAI,MAAM4D,EAAEI,EAAElD,aAAa,QAA6G,MAAlG,UAAU8C,GAAG,aAAaA,GAAc,IAAXzF,EAAEE,QAAY8H,KAAK+jB,KAAKlqB,EAAE,mBAAmB,qBAAqBC,GAAUG,QAAQC,QAAQL,EAAE,QAAQ,aAAa4P,MAAMnQ,IAAI0G,KAAK+jB,KAAK,4BAA4B,CAAC9jB,QAAQpC,EAAE8nB,SAAS3tB,EAAE0zB,MAAM5xB,IAAWG,QAAQC,QAAQZ,KAAK+0B,iBAAiBv0B,EAAE+D,EAAE7F,EAAEsB,GAAG,MAAMO,EAAEmG,KAAK2lB,SAAS7rB,GAAS2D,EAAEuC,KAAK4G,OAAOyd,QAAQ,iBAAiBrsB,EAAE,CAACA,EAAE8B,IAAmF,GAA/ER,EAAEsD,QAAQoD,KAAK4G,OAAOyd,QAAQ,oBAAoB/qB,EAAEsD,QAAQ,CAACoD,KAAKgR,OAAOlX,EAAE2D,KAAQuC,KAAKqtB,WAAW5vB,KAAgB,IAAZnE,EAAEi1B,QAAgJ,OAA/HvuB,KAAK+jB,KAAK,2BAA2B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAEf,OAAOiH,KAAKwuB,gBAAgB10B,EAAE2D,EAAE,CAACsnB,OAAM,IAAO0J,UAAUhxB,IAAWxD,QAAQC,QAAQ,SAAS,MAAMoqB,EAAEtkB,KAAKqtB,WAAW5vB,GAASN,EAAE6C,KAAK0uB,gBAAgB50B,EAAE+D,EAAEJ,GAASJ,EAAE2C,KAAK4G,OAAOyd,QAAQ,yBAAwB,EAAK,CAACvqB,EAAE+D,EAAEV,EAAEnF,IAAI,IAAIqF,EAAuF,OAApF2C,KAAK+jB,KAAK,8BAA8B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAE20B,UAAUz2B,IAAWiC,QAAQC,QAAQ,gBAAgB8F,KAAK+jB,KAAK,4BAA4B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAE20B,UAAUz2B,IAAI,MAAMoG,EAAEkmB,IAAIQ,SAAS,CAAC7kB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAEsrB,KAAKplB,KAAK2uB,aAAa7uB,QAAQxG,EAAEsE,MAAMT,IAAUwqB,EAAE,oBAAoBvpB,EAAE,QAAQ,GAAGupB,EAAG,OAAOvpB,EAAEtC,KAAKxC,IAAI,MAAMmE,EAAEuC,KAAKwuB,gBAAgB10B,EAAE9B,EAAEsB,GAA6F,OAA1F0G,KAAK+jB,KAAK,2BAA2B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAEf,OAAO0E,EAAEgxB,UAAUz2B,IAAWyF,EAAEsnB,MAAM,QAAQ,YAAgB,CAAC,MAAMzrB,EAAE0G,KAAKwuB,gBAAgB10B,EAAE9B,EAAEoG,GAA6F,OAA1F4B,KAAK+jB,KAAK,2BAA2B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAEf,OAAOO,EAAEm1B,UAAUz2B,IAAWiC,QAAQC,QAAQZ,EAAEyrB,MAAM,QAAQ,YAAY2J,gBAAgB50B,EAAE+D,EAAEvE,GAAG,MAAMO,EAAE7B,GAAEgI,KAAKmhB,KAAKrnB,EAAE+D,EAAEmC,KAAK2lB,SAAS7rB,IAAI,OAAOkG,KAAK4G,OAAOyd,QAAQ,cAAcxqB,EAAE,CAACA,EAAEC,EAAE+D,EAAEvE,IAAIs1B,YAAY90B,GAAG,OAAOkG,KAAK2lB,SAAS7rB,GAAG+0B,YAAY,OAAO7uB,KAAKstB,OAAOwB,iBAAiB,OAAO9uB,KAAKmhB,KAAK4N,YAAY,OAAO/uB,KAAKgR,OAAOge,UAAUl1B,GAAG,OAAOkG,KAAKmtB,QAAQrzB,GAAGm1B,kBAAkBn1B,EAAE+D,EAAE7F,GAAG,MAAMsB,EAAE0G,KAAK2lB,SAAS7rB,GAASD,EAAEP,EAAE,GAAGqB,aAAa,QAAc8C,EAAE,UAAU5D,GAAG,aAAaA,EAAE,CAACP,EAAE,IAAIA,EAAkD,GAAhDmE,EAAEgC,QAAQnG,GAAG0G,KAAKkvB,oBAAoBp1B,EAAER,EAAEuE,EAAE7F,KAAQA,EAAG,OAAO6F,GAAG,IAAI,eAAemC,KAAK+jB,KAAK,0BAA0BjqB,GAAGkG,KAAKohB,QAAQtX,OAAOhQ,GAAG,MAAM,IAAI,aAAakG,KAAK+jB,KAAK,wBAAwBjqB,GAAGkG,KAAKohB,QAAQtX,OAAOhQ,GAAG,MAAM,IAAI,QAAQkG,KAAK+jB,KAAK,mBAAmBjqB,GAAGkG,KAAKohB,QAAQxgB,IAAI9G,EAAE,SAAS,MAAM,IAAI,UAAUkG,KAAK+jB,KAAK,qBAAqBjqB,GAAGkG,KAAKohB,QAAQxgB,IAAI9G,EAAE,WAAW,MAAO,OAAOkG,KAAKkvB,oBAAoBp1B,EAAE+D,EAAE7F,EAAEsB,GAAG,MAAMO,EAAEmG,KAAK2lB,SAAS7rB,GAAS2D,EAAEuC,KAAKstB,OAAOxzB,GAAGuzB,WAAiB/I,EAAEhrB,EAAE,CAACA,GAAGnB,OAAOsK,KAAKhF,GAAG,OAAOzF,GAAG,IAAI,eAAessB,EAAE7kB,QAAQzH,GAAGgI,KAAK+jB,KAAK,8BAA8B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAE20B,UAAUz2B,KAAKgI,KAAK+jB,KAAK,4BAA4B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,IAAI,MAAM,IAAI,aAAawqB,EAAE7kB,QAAQzH,GAAGgI,KAAK+jB,KAAK,4BAA4B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAE20B,UAAUz2B,KAAKgI,KAAK+jB,KAAK,0BAA0B,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,IAAI,MAAM,IAAI,QAAQwqB,EAAE7kB,QAAQzH,GAAGgI,KAAK+jB,KAAK,2BAA2B,CAAC9jB,QAAQpC,EAAE6tB,MAAM5xB,EAAEf,OAAO,CAAC6D,QAAQa,EAAEzF,GAAG4E,QAAQmoB,OAAM,GAAM0J,UAAUz2B,KAAKgI,KAAK+jB,KAAK,yBAAyB,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAEirB,OAAM,IAAO,MAAM,IAAI,UAAUT,EAAE7kB,QAAQzH,GAAGgI,KAAK+jB,KAAK,2BAA2B,CAAC9jB,QAAQpC,EAAE6tB,MAAM5xB,EAAEf,OAAO,CAAC6D,QAAQa,EAAEzF,GAAG4E,QAAQmoB,OAAM,GAAO0J,UAAUz2B,KAAKgI,KAAK+jB,KAAK,yBAAyB,CAAC9jB,QAAQpC,EAAE8nB,SAAS9rB,EAAE6xB,MAAM5xB,EAAEirB,OAAM,IAAQ,MAAM,OAAO/kB,KAAKmvB,UAAUr1B,GAAoG,OAAjG3B,OAAOsK,KAAKzC,KAAKstB,QAAQ7tB,QAAQ5B,GAAGmC,KAAKovB,WAAWvxB,EAAE/D,IAAIkG,KAAK+jB,KAAK,kBAAkB,CAACsL,MAAMv1B,IAAWkG,KAAKovB,WAAWt1B,EAAE+D,GAAG,GAAGA,EAAE,CAAC,MAAMA,EAAEmC,KAAK2lB,SAAS7rB,GAAS9B,EAAE6F,EAAE,GAAGlD,aAAa,QAAQkD,EAAE4B,QAAQ3F,IAAO,UAAU9B,GAAG,aAAaA,GAAG8B,EAAEw1B,gBAAgB,YAAYx1B,EAAEw1B,gBAAgB,WAAWx1B,EAAE2qB,SAAQ,IAAW3qB,EAAEwC,aAAa,QAAQ,KAAOxC,aAAay1B,kBAAkBz1B,aAAa01B,uBAAqB11B,EAAE8D,MAAM,OAAgG,OAAzFoC,KAAKivB,kBAAkBn1B,EAAE,gBAAgBkG,KAAK+jB,KAAK,mBAAmB,CAAC2H,MAAM5xB,EAAEu1B,MAAMxxB,IAAWmC,KAAKyvB,gBAAgB31B,GAA4C,OAAzCkG,KAAKivB,kBAAkBn1B,EAAE,gBAAuBkG,KAAKmuB,cAAcr0B,GAAG41B,iBAAiB51B,EAAE+D,GAAG,OAAOmC,KAAK2vB,iBAAgB,EAAM71B,EAAE+D,GAAG+xB,gBAAgB91B,EAAE+D,GAAG,OAAOmC,KAAK2vB,iBAAgB,EAAK71B,EAAE+D,GAAGgyB,sBAAsB/1B,EAAE+D,EAAE7F,EAAEsB,GAAiH,OAA3G0G,KAAKstB,OAAOxzB,IAAIkG,KAAKstB,OAAOxzB,GAAGuzB,YAAYrtB,KAAKstB,OAAOxzB,GAAGuzB,WAAWxvB,KAAImC,KAAKstB,OAAOxzB,GAAGuzB,WAAWxvB,GAAG7F,GAAGsB,GAAS0G,KAAK8vB,gBAAgBh2B,EAAE+D,GAAoB,OAAjBmC,KAAKstB,OAAOxzB,GAAG+D,EAASmC,KAAK+vB,UAAqJ,OAA3I53B,OAAOsK,KAAKzC,KAAKmtB,SAAS1tB,QAAQ3F,GAAGkG,KAAKmtB,QAAQrzB,GAAG4zB,aAAa1tB,KAAKktB,GAAGpJ,QAAQ9jB,KAAK4G,OAAOkd,QAAQ9jB,KAAKohB,QAAQ0C,QAAQ9jB,KAAKmtB,QAAQ,GAAUntB,KAAKgwB,UAAUl2B,EAAE+D,GAAqC,OAAlCmC,KAAKgR,OAAOlX,EAAEkG,KAAK2uB,aAAa9wB,EAASmC,KAAKsuB,UAAUx0B,GAAG,OAAOA,EAAEm2B,OAAO,CAACn2B,EAAE+D,EAAE7F,EAAEsB,IAAIQ,EAAEgC,KAAKhC,GAAG+D,IAAI/B,KAAK+B,IAAI/D,EAAEtB,KAAKqF,GAAU/D,KAAKG,QAAQC,QAAQ,KAAK+zB,cAAcn0B,GAAG,MAAM+D,EAAEmC,KAAKstB,OAAOxzB,GAAGk0B,SAAS,MAAMhuB,KAAKstB,OAAOxzB,GAAGk0B,SAASjI,OAAO,GAAG,QAAQ/lB,KAAKstB,OAAOxzB,GAAGk0B,SAASxI,UAAU,OAAOxlB,KAAKstB,OAAOxzB,GAAGk0B,SAAS,UAAUl0B,MAAM,MAAM,GAAG8E,MAAMtG,KAAK0H,KAAKmhB,KAAKuE,iBAAiB7nB,IAAI2wB,gBAAgB10B,EAAE+D,EAAE7F,GAAG,MAAMsB,EAAE0G,KAAKstB,OAAOxzB,GAAGuzB,WAAWxvB,GAAG,OAAO1F,OAAO6sB,OAAO,GAAGhtB,EAAE,CAAC4E,QAAQ5E,EAAE4E,UAAUtD,EAAEA,EAAEsD,QAAQ,MAAMoD,KAAK2uB,cAAc3uB,KAAK2uB,aAAa9wB,IAAImC,KAAK2uB,aAAa9wB,GAAGynB,QAAQtlB,KAAK2uB,aAAa9wB,GAAGynB,QAAQ,KAAK,aAAaxrB,mBAAmB61B,gBAAgB71B,EAAE+D,EAAE7F,GAAG,MAAMsB,EAAE0G,KAAKstB,OAAOzvB,GAAGwvB,WAA+I,OAAjIr1B,GAAGsB,GAAGA,EAAEtB,GAAIgI,KAAKstB,OAAOzvB,GAAGwvB,WAAWr1B,GAAGu2B,QAAQz0B,EAAW9B,GAAGG,OAAOsK,KAAKnJ,GAAGmG,QAAQzH,GAAGgI,KAAKstB,OAAOzvB,GAAGwvB,WAAWr1B,GAAGu2B,QAAQz0B,GAAUkG,KAAKivB,kBAAkBpxB,EAAE,eAAe7F,IAAmB,SAASyF,GAAE3D,EAAE+D,GAAG,MAAM7F,EAAEG,OAAO6sB,OAAO,GAAG,CAACsI,OAAO,GAAGtc,OAAO,QAAQmc,QAAQ,IAAItvB,GAASJ,EAAE,IAAI5D,GAAEC,EAAE9B,EAAEs1B,QAAoO,OAA5N7vB,EAAEuyB,UAAUh4B,EAAEgZ,OAAOhZ,EAAE22B,cAAcx2B,OAAOsK,KAAKzK,EAAEm1B,SAAS1tB,QAAQ3F,GAAG2D,EAAE8vB,eAAezzB,EAAE9B,EAAEm1B,QAAQrzB,KAAK3B,OAAOsK,KAAKnJ,IAAGmG,QAAQ3F,GAAG2D,EAAEkwB,kBAAkB7zB,EAAER,GAAEQ,KAAK3B,OAAOsK,KAAKzK,EAAEs1B,QAAQ7tB,QAAQ3F,GAAG2D,EAAEswB,SAASj0B,EAAE9B,EAAEs1B,OAAOxzB,KAAY2D,ECGh6RsK,aAAIC,IAAIkoB,I,4BCAR,IAAIC,GAAiB,CACjBC,SAAS,GAGbroB,aAAIC,IAAIqoB,KAAYF,I,sCCFpBpoB,aAAIC,IAAIsoB,MAERvoB,aAAID,UAAW,UAAWwoB,M,2BCA1BvoB,aAAIC,IAAIuoB,e,2BCDRxoB,aAAIC,IAAKwoB,SACTzoB,aAAID,UAAW,aAAc0oB,S,4BCH7BzoB,aAAIC,IAAIyoB,M,4BCYR1oB,aAAIC,IAAI0oB,M,2BCXR3oB,aAAIC,IAAK2oB,SACTA,QAAOzuB,YAAa,I,4BCFpB6F,aAAIC,IAAI4oB,MCDR9jB,aAAIlG,OAAQ,kBAAkB,SAAU4H,GACpC,OAAI0Y,MAAOjb,KAAKqf,MAAO9c,IACZ,GAGJ1B,aAAI1U,UAAU2U,QAASyB,GAAOxB,OAAQ,uBAIjDF,aAAIlG,OAAQ,wBAAwB,SAAU4H,GAC1C,OAAI0Y,MAAOjb,KAAKqf,MAAO9c,IACZ,GAGJ1B,aAAI1U,UAAU2U,QAASyB,GAAOxB,OAAQ,0B,2BCdjD,MAAM6jB,GAAY,CACd,mBAAsB,YACtB,uBAA0B,CACtB,CACI,KAAQ,oBACR,SAAY,gEACZ,OAAU,cAGlB,6BAAgC,iDAChC,mBAAsB,YACtB,kBAAqB,sBACrB,6BAAgC,4BAChC,MAAS,GACT,gCAAmC,CAC/B,SAEJ,6BAAgC,GAChC,8BAAiC,CAC7B,SAEJ,8BAAiC,MACjC,sBAAyB,CACrB,OAEJ,yCAA4C,CACxC,wBAA2B,EAC3B,yBAA4B,IAEhC,oCAAuC,CACnC,SAEJ,yBAA4B,6BAC5B,gCAAmC,aAIxBA,UC9Bf9oB,aAAI+oB,OAAOC,eAAgB,EAM3BryB,OAAO2Z,iBAAmBA,OAE1B3Z,OAAOsyB,YAAcA,IAkBrBC,cAAQC,UAAUC,IAIlBroB,EAAWpI,OAkBXqH,aAAIC,IAAK+B,GACThC,aAAIC,IAAKwH,GACTzH,aAAIC,IAAIopB,KACRrpB,aAAIC,IAAIe,IAAUC,KAElB,IAAIjB,aAAI,CACNspB,SACAC,aACAC,QACAC,WAEA9uB,OAAQilB,GAAKA,EAAE8J,KACdC,OAAO,S,oCCtEV,4FAKO,MAAMC,EAAoB,kBACpBC,EAAsB,oBACtB5rB,EAAyB,uBACzB6rB,EAA8B,2BAI5B,QACb7yB,MAAO,CACL8xB,OAAQA,EACRgB,QAAShB,GAEX5xB,QAAS,CAMP6yB,aAAc/yB,GAAS,CAACmJ,EAAM6pB,IACrBC,IAAWz0B,IAAIwB,EAAM8xB,OAAQ3oB,EAAM6pB,IAG9C1yB,QAAS,CAMP,CAACqyB,GAAmB3yB,EAAOO,GACzBP,EAAMQ,OAAOmyB,EAAmBpyB,IAOlC,CAACqyB,GAAqB5yB,GACpBA,EAAMQ,OAAOoyB,IAOf,CAAC5rB,GAAwBhH,GACvBA,EAAMQ,OAAOwG,IAQf,CAAC6rB,GAA6B7yB,EAAOO,GACnCP,EAAMQ,OAAOqyB,EAA6BtyB,KAG9CI,UAAW,CACT,CAACgyB,GAAmB3yB,EAAOO,GACzBP,EAAM8xB,OAASvxB,GAEjB,CAACqyB,GAAqB5yB,GACpBA,EAAM8xB,OAAS34B,OAAO6sB,OAAO,GAAIhmB,EAAM8yB,UAEzC,CAAC9rB,GAAwBhH,GACvBA,EAAM8xB,OAAS9xB,EAAM8yB,QAAU35B,OAAO6sB,OACpC,GACAhmB,EAAM8yB,QACNtkB,KAAK8d,MAAM9iB,aAAaC,QAAQ,aAGpC,CAACopB,GAA6B7yB,EAAOO,GACnCP,EAAM8xB,OAASoB,IAAMlzB,EAAM8xB,OAAQvxB,O,uDC7EzC,sCAKI8jB,EAAW,SAASxjB,EAAWC,GAE/B,IAAIC,EAAMC,KAINC,EAAUC,OAAOC,QAAQN,GACzB8K,EAAOzK,OAAOE,UAElB,QAAgBtD,IAAZmD,EAAJ,CAKA,IAAII,EAAiB,CACjB8c,OAAQ,CACJtC,SAAS,EACTsX,iBAAiB,GAErBC,gBAAiB,CACbvX,SAAS,EACTsX,iBAAiB,IAQrB5xB,EAAS,CAKTC,UAAW,SAASV,GAahB,OAZII,OAAOxI,KAAKuI,GAASQ,IAAI,UACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,WAG/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,SAAUb,IAGhCA,GAOXW,KAAM,SAASZ,GACXC,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,IAOxDa,MAAO,WACH,IAAI0xB,GAAoB,EACpBC,EAAgB,EAEpB5zB,OAAOwsB,iBAAiB,UAAU,WAC9B,IAAgBqH,EAAZpV,EAAS,EAETjd,OAAOif,iBAAiB,QAAgD,IAAvCpf,EAAID,QAAQqd,OAAOgV,iBAIpDjyB,OAAOsa,eAAe,QAAwC,IAA/Bza,EAAID,QAAQqd,OAAOtC,UAIlD3a,OAAOsa,eAAe,MACtB2C,EAASpd,EAAID,QAAQqd,OAAOtC,QACrB3a,OAAOif,iBAAiB,QAC/BhC,EAASpd,EAAID,QAAQqd,OAAOgV,iBAGhCI,EAAKryB,OAAOsyB,eAGPtyB,OAAOif,iBAAiB,OAASpf,EAAID,QAAQsyB,gBAAgBD,iBAC7DjyB,OAAOsa,eAAe,OAASza,EAAID,QAAQsyB,gBAAgBvX,SAExD0X,EAAKpV,GAAUmV,EAAgBC,IACiB,IAA5C5nB,EAAK8nB,aAAa,uBAClB9nB,EAAKrO,aAAa,qBAAsB,MAGxC+1B,IACA9xB,EAAOuB,aAAa,WAAY/B,GAChCsyB,GAAoB,MAGwB,IAA5C1nB,EAAK8nB,aAAa,uBAClB9nB,EAAK2kB,gBAAgB,sBAGA,GAArB+C,IACA9xB,EAAOuB,aAAa,YAAa/B,GACjCsyB,GAAoB,IAI5BC,EAAgBC,GAEZA,EAAKpV,IAC2C,IAA5CxS,EAAK8nB,aAAa,uBAClB9nB,EAAKrO,aAAa,qBAAsB,MAGxC+1B,IACA9xB,EAAOuB,aAAa,WAAY/B,GAChCsyB,GAAoB,MAGwB,IAA5C1nB,EAAK8nB,aAAa,uBAClB9nB,EAAK2kB,gBAAgB,sBAGA,GAArB+C,IACA9xB,EAAOuB,aAAa,YAAa/B,GACjCsyB,GAAoB,SAUxCvwB,aAAc,SAASjF,EAAM61B,GACzB,IAAK,IAAI16B,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,EAAK2yB,GALrC,GAAmB,GAAfv3B,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,EAAK2yB,MASzDpxB,SAAU,SAASzE,EAAMmF,EAASD,GAC9BhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,MAmCnB,OAtBAlC,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAQjCzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,KAGtB,EAGAC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAU0pB,GAGNA,W,6DC/Mf,IAAIK,EAAoB,WAEpB,IAAI1K,EAIAE,EAAQ,WACE,IAAIoK,YAAYtK,EAAU,CAClCmE,OAAQ,IACRwV,MAAO,OAKhB,MAAO,CACNjyB,KAAM,SAAS8B,GACLwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKLE,KAGJQ,WAAY,WACR,OAAOV,IA3BK,GAkCT0K,U,0/CCjCA,GAKX1kB,MAAQ,CACJ4zB,aAAe,GAgCfC,OAAS,CACL,gBAAoB,iBACpB,SAAa,WACb,cAAkB,gBAClB,iBAAqB,mBACrB,iCAAqC,mCACrC,KAAS,OACT,QAAY,UACZ,QAAY,WAEhBC,aAAc,GACdC,YAAa,GACbC,YAAc,GACdC,qBAAsB,EACtBC,wBAAyB,EACzBC,UAAW,GACXC,aAAc,GACdC,oBAAqB,IAIzB1zB,UAAW,CACP2zB,eAAgBt0B,EAAO+F,GACnBvG,QAAQgH,IAAI,iBAAkBT,GAC9B/F,EAAMg0B,YAAcjuB,EACpB/F,EAAMi0B,qBAAuBluB,EAAI7M,OACjC8G,EAAMk0B,wBAA0BnuB,EAAI7M,QAExCq7B,aAAav0B,EAAO2M,GAChB3M,EAAMm0B,UAAYxnB,GAEtB6nB,MAAMx0B,EAAOwD,GACTxD,EAAM8zB,aAAetwB,GAEzBixB,YAAYz0B,EAAOnC,GACfmC,EAAM+zB,YAAcl2B,GAExB62B,gBAAgB10B,EAAO2M,GACnB3M,EAAMo0B,aAAeznB,GAEzBgoB,qBAAqB30B,EAAO40B,GACxB50B,EAAMq0B,oBAAsBO,GAEhCC,WAAW70B,EAAQ80B,GACf90B,EAAM80B,MAAQA,IAItBx0B,QAAS,CAqBL,yBAAyBy0B,EAASx0B,GAC9B,IACIxG,EADAiO,EAAS,CAAC8rB,aAAcvzB,EAAQuzB,cAEpC,IACI/5B,QAAei7B,OAAIx2B,IAAI,oBAAqB,iBAAkB,CAACy2B,sBAAuB,CAACH,MAAOC,EAAQ70B,QAAQg1B,OAAQjtB,YAAa,kBAAmBktB,gBAAiB3mB,KAAKC,UAAUzG,MAG1L,MAAOlN,GACH0E,QAAQgH,IAAK,8BAAgC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAGnD,OAAO7D,GA0BX,yBAAyBg7B,EAASx0B,GAC9Bf,QAAQgH,IAAI,gCAAiCjG,GAC7C,IAAIyH,EAAS,CAACotB,UAAW70B,EAAQ60B,WAG7BC,QAAsBL,OAAIx2B,IAAI,oBAAqB,iBAAkB,CAACy2B,sBAAuB,CAACH,MAAOC,EAAQ70B,QAAQg1B,OAAQjtB,YAAa,kBAAmBktB,gBAAiB3mB,KAAKC,UAAUzG,MAEjM,OAAIqtB,EAAc93B,OAGlBiC,QAAQgH,IAAI,oBAAqB6uB,GAC1B,IAHIA,GAwBf,gCAAgCN,EAASjB,GACrC,IAAKA,EAED,YADAt0B,QAAQgH,IAAK,yDAA0DstB,GAG3E,IAAI5sB,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,mBACbqtB,iBAAkB9mB,KAAKC,UAAU,CAAC,aAAgBqlB,KAEtDt0B,QAAQgH,IAAI,qCAAsCU,GAClD,IAAIquB,QAAuBP,OAAIx2B,IAAI,oBAAqB,kBAAmB,CAACy2B,sBAAuB/tB,IAEnG,OADA1H,QAAQgH,IAAI,iBAAkBgI,KAAKC,UAAW8mB,IACvCA,GAGX,2BAA2BR,EAASx0B,GAChC,IAAKA,EAAQi1B,WAET,OADAh2B,QAAQgH,IAAK,6DAA8DjG,EAAQi1B,YAC5E,GAGXj1B,EAAQu0B,MAAQC,EAAQ70B,QAAQg1B,OAChC11B,QAAQgH,IAAK,oCAAqCjG,GAClD,IAAIk1B,QAAoBT,OAAIx2B,IAAI,oBAAqB,kBAAmB,CAACy2B,sBAAuB10B,IAEhG,OADAf,QAAQgH,IAAI,uBAAwBivB,GAC7BA,GAIX,uBAAuBV,EAASx0B,GAC5B,IAAIyH,EAAS,CACTitB,sBAAuB,CACnBH,MAAOC,EAAQ70B,QAAQg1B,OACvBQ,aAAa,KACVn1B,IAIX,aAAay0B,OAAIW,IAAI,oBAAqB,oBAAqB3tB,IAKnE,uBAAuB+sB,EAASx0B,GAG5B,MAAM,aAACuzB,KAAkB8B,GAAQr1B,EAEjC,IAAIyH,EAAS,CACT2D,KAAM,CACFmoB,eACAgB,MAAOC,EAAQ70B,QAAQg1B,OACvBE,UAAWL,EAAQ70B,QAAQ21B,qBAC3BC,MAAOf,EAAQ70B,QAAQ61B,iBAAiB3vB,MACxC1N,KAAO,IACAk9B,KAKf,aAAaZ,OAAIrqB,KAAK,oBAAsB,oBAAqB3C,IAGrE,iBAAiB+sB,EAAQx0B,GACrB,IAAIy1B,EAAQ,CACRlB,MAAOC,EAAQ70B,QAAQg1B,OACvBpB,aAAcvzB,EAAQuzB,aACtBmC,KAAM11B,EAAQ01B,MAElB,aAAajB,OAAIrqB,KAAK,oBAAqB,qBAAsB,CAACgB,KAAMqqB,KAS5E,wBAAyBjB,EAASx0B,GAE9B,IAAKA,EAAQ21B,WAET,OADA12B,QAAQgH,IAAK,sCAAuCjG,GAC7C,GAGX,IAAIyH,EAAS,CACTitB,sBAAuB,CACnBH,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,eACbkuB,aAAc3nB,KAAKC,UAAWlO,KAGlC61B,QAAoBpB,OAAIx2B,IAAI,oBAAqB,YAAawJ,GAGlE,OAFAxI,QAAQgH,IAAI,cAAe4vB,GAEpBA,EAAYx3B,OAAS,IAGhC,qBAAqBm2B,EAASx0B,GAC1B,IAAIyH,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBmB,WAAY,OAEhB,IAAK91B,IAAaA,EAAQ60B,UAEtB,OADA51B,QAAQgH,IAAK,sDAAuDjG,EAAQ60B,WACrE,GAGX,IAMIr7B,EANA0J,EAAOtK,OAAOsK,KAAMlD,GACxBkD,EAAKhD,SAAS,SAAUvB,GACpB8I,EAAQ9I,GAAQqB,EAAQrB,MAG5BM,QAAQgH,IAAK,4BAA6BwB,GAE1C,IACIjO,QAAei7B,OAAIx2B,IAAI,oBAAqB,YAAa,CAACy2B,sBAAuBjtB,IACjFxI,QAAQgH,IAAK,8BAA+BgI,KAAKC,UAAU1U,IAE/D,MAAOe,GACH0E,QAAQgH,IAAK,qBAAsB1L,GAEvC,OAAOf,GAIX,sBAAsBg7B,EAAS3uB,GAE3B,IAAI4B,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAc,aACd7B,MAAOA,GAEX,IACI,MAAMrM,QAAei7B,OAAIx2B,IAAI,oBAAqB,WAAY,CAACy2B,sBAAuBjtB,IACtF,OAAOjO,EACT,MAAOe,GACL0E,QAAQgH,IAAI,uBAAwB1L,KAI5C,sBAAsBi6B,GAClB,IAAI/sB,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,cAEjB,IACI,aAAa+sB,OAAIx2B,IAAI,oBAAqB,SAAU,CAACy2B,sBAAuBjtB,IAC9E,MAAOlN,GACL0E,QAAQgH,IAAI,gCAAiC1L,KAIrDw7B,uBAAuBvB,EAASx0B,GACxBA,IAASA,EAAU,IACvBw0B,EAAQv0B,OAAO,eAAgBD,IAEnCg2B,gBAAgBxB,EAASx0B,GACrBw0B,EAAQv0B,OAAO,QAASD,IAE5Bi2B,eAAezB,EAASx0B,GACpBw0B,EAAQv0B,OAAO,cAAeD,IAElCk2B,mBAAmB1B,EAASx0B,GACxBw0B,EAAQv0B,OAAO,kBAAmBD,IAEtCm2B,uBAAuB3B,EAASx0B,GAC5Bw0B,EAAQv0B,OAAO,uBAAwBD,KAM/CL,QAAS,CAOL0zB,aAAe5zB,GAGX,GAAIA,EAAM22B,mBACN,OAAO32B,EAAM4zB,aAGjB5zB,EAAM22B,oBAAqB,EAE3B,IAAIC,EAAkBz9B,OAAOsK,KAAMmwB,GAiBnC,OAbAgD,EAAgBn2B,SAAS,SAAUC,GAE/B,IAAIm2B,EAAO,CACPj4B,MAAQ8B,EACRo2B,KAAOlD,EAAalzB,GAAMq2B,aAC1BC,YAAcpD,EAAalzB,GAAMs2B,aAGjCC,EAAWrD,EAAalzB,GAAMu2B,SAClCj3B,EAAM4zB,aAAaqD,GAAUz9B,KAAMq9B,MAGvCr3B,QAAQgH,IAAK,oBAAqBxG,EAAM4zB,cACjC5zB,EAAM4zB,cAIjBsD,eAAiBl3B,GACb,OAAOA,EAAMg0B,aAAe,IAEhCmD,aAAan3B,GACT,OAAOA,EAAMm0B,WAAa,IAE9BiD,gBAAgBp3B,GACZ,OAAOA,EAAM8zB,cAEjBuD,eAAer3B,GACX,OAAOA,EAAM+zB,aAEjBuD,gBAAgBt3B,GACZ,OAAOA,EAAMo0B,cAAgB,IAEjCmD,uBAAuBv3B,GACnB,OAAOA,EAAMq0B,uB,qDCjZV,G,UAAA,CAKXr0B,MAAQ,CAEJw3B,kBAAoB,CAChB,QAAW,UACX,KAAS,QAEbC,gBAAiB,IAKrB92B,UAAW,GAIXL,QAAS,CAsBL,uBAAuBy0B,EAASx0B,GAE5B,IAAKA,IAAYA,EAAQ6F,MAErB,YADA5G,QAAQgH,IAAK,kCAAmCjG,GAIpD,IAAI2G,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,cACbyvB,YAAalpB,KAAKC,UAAUlO,IAE5ByH,EAAS,CAACitB,sBAAwB/tB,GAClCywB,EAAY,GAChB,IACIA,QAAkB3C,OAAIx2B,IAAI,oBAAqB,SAAUwJ,GAE7D,MAAOlN,GACH0E,QAAQgH,IAAK,aAAc1L,GAI/B,OAAO68B,GASX,qBAAqB5C,EAASx0B,GAC1B,IAAKA,EAAQ21B,WAET,OADA12B,QAAQgH,IAAK,4CACN,KAIX,IAAIU,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,eACbmtB,UAAW70B,EAAQ21B,YAGnB0B,QAAoB5C,OAAIx2B,IAAI,oBAAqB,cAAe,CAAEy2B,sBAAuB/tB,IAE7F,OADA1H,QAAQgH,IAAI,uBAAwBgI,KAAKC,UAAWmpB,IAC7CA,GASX,wBAAwB7C,EAASx0B,GAE7B,IAAI2G,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,eACb4vB,aAAcrpB,KAAKC,UAAU,KAE7BqpB,QAAoB9C,OAAIx2B,IAAI,oBAAqB,cAAe,CAACy2B,sBAAuB/tB,IAG5F,OAAO4wB,GAWX,qBAAqB/C,EAASx0B,GAC1B,IAAKA,EAAQw3B,eAAiD,GAAhCx3B,EAAQw3B,cAAc7+B,OAChD,MAAO,GAGX,IAAIgO,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,kBACb4vB,aAAcrpB,KAAKC,UAAU,CAAEspB,cAAex3B,EAAQw3B,iBAEtDD,QAAoB9C,OAAIx2B,IAAI,oBAAqB,cAAe,CAACy2B,sBAAuB/tB,IAG5F,OAFA1H,QAAQgH,IAAI,+BAAgCgI,KAAKC,UAAWqpB,IAErDA,GAAe,IAE1BE,aAAajD,EAASx0B,GAClByJ,IAAM,CACF+hB,OAAQ,MACR1d,IAAK9N,EAAQ8N,IACb4pB,aAAc,gBACfn7B,KAAKiJ,IACJ,MAAMsI,EAAM3O,OAAOw4B,IAAIC,gBAAgB,IAAIC,KAAK,CAACryB,EAAIrN,QAC/C+S,EAAOlQ,SAASQ,cAAc,KACpC0P,EAAKrQ,KAAOiT,EACZ5C,EAAKnO,aAAa,WAAY+6B,UAAUA,UAAU93B,EAAQ8N,IAAIyJ,MAAM,KAAK2O,SACzElrB,SAASoQ,KAAK9O,YAAY4O,GAC1BA,EAAKG,UACNnB,MAAMlO,IACLiD,QAAQgH,IAAI,MAAOjK,MAI3B,gBAAgBw4B,EAASx0B,EAAU,IAC/BA,EAAQ0H,YAAc,SACtB,IAKIwtB,EALAztB,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBoD,SAAU9pB,KAAKC,UAAUlO,IAE7Bf,QAAQgH,IAAI,6BAA8BwB,GAG1C,IACIytB,QAAoBT,OAAIx2B,IAAI,oBAAqB,OAAQ,CAACy2B,sBAAuBjtB,IACjFxI,QAAQgH,IAAK,mBAAoBivB,GAErC,MAAO36B,GACH0E,QAAQgH,IAAK,uBAAyB,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAE5C,OAAO63B,GAGX,eAAeV,EAASx0B,EAAU,IAE9BA,EAAQ0H,YAAc,WACtB,IAKIwtB,EALAztB,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBoD,SAAU9pB,KAAKC,UAAUlO,IAE7Bf,QAAQgH,IAAI,6BAA8BwB,GAG1C,IACIytB,QAAoBT,OAAIx2B,IAAI,oBAAqB,OAAQ,CAACy2B,sBAAuBjtB,IACjFxI,QAAQgH,IAAK,kBAAmBivB,GAEpC,MAAO36B,GACH0E,QAAQgH,IAAK,sBAAwB,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAE3C,OAAO63B,GASX,gBAAgBV,EAASx0B,EAAU,IAC/BA,EAAQ0H,YAAc,SACtB,IAKIwtB,EALAztB,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBoD,SAAU9pB,KAAKC,UAAUlO,IAE7Bf,QAAQgH,IAAI,6BAA8BwB,GAG1C,IACIytB,QAAoBT,OAAIx2B,IAAI,oBAAqB,OAAQ,CAACy2B,sBAAuBjtB,IAErF,MAAOlN,GACH0E,QAAQgH,IAAK,uBAAyB,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAE5C,OAAO63B,GAWX,wBAAwBV,EAASx0B,GAE7B,IAAIyH,EAAS,CACTitB,sBAAuB,CACnBH,MAAOC,EAAQ70B,QAAQg1B,OACvBjtB,YAAa,qBAEjB0D,KAAM,CAAE4sB,kBAAmBh4B,EAAQg4B,oBAEnCC,EAAa,GACjB,IACIA,QAAmBxD,OAAIrqB,KAAK,oBAAqB,WAAY3C,GAC7DxI,QAAQgH,IAAI,oBAAqBgI,KAAKC,UAAW+pB,IAErD,MAAO19B,GACH0E,QAAQgH,IAAK,aAAc1L,GAG/B,OAAO09B,GAEX,qBAAqBzD,EAASx0B,GAE1B,IAAIyH,EAAS,CACTitB,sBAAuB,CACnBH,MAAOC,EAAQ70B,QAAQg1B,OACvBE,UAAW70B,EAAQ60B,WAEvBzpB,KAAM,CAAE8sB,WAAYl4B,EAAQk4B,aAG5BC,EAAe,GACnB,IACIA,QAAqB1D,OAAIrqB,KAAK,oBAAqB,gBAAiB3C,GAExE,MAAOlN,GACH0E,QAAQgH,IAAK,aAAc1L,GAE/B,OAAO49B,GAIX,oBAAoB3D,EAASx0B,GACzB,IACI,IAAIyH,EAAS,CACT2D,KAAM,CACFmpB,MAAOC,EAAQ70B,QAAQg1B,OACvBE,UAAW70B,EAAQ60B,UACnBU,MAAQv1B,EAAQu1B,MAChB6C,QAAUp4B,EAAQo4B,UAG1B,aAAa3D,OAAIrqB,KAAK,oBAAqB,2BAA4B3C,GACzE,MAAOlN,GAAG,IAAA89B,EAAAC,EAAAC,EAAAC,EACR,MAAO,CACH3wB,WAAgC,QAAtBwwB,EAAI,OAAD99B,QAAC,IAADA,GAAW,QAAV+9B,EAAD/9B,EAAGk+B,gBAAQ,IAAAH,OAAA,EAAXA,EAAazsB,cAAM,IAAAwsB,IAAI,IACpCK,aAAyC,QAA7BH,EAAI,OAADh+B,QAAC,IAADA,GAAW,QAAVi+B,EAADj+B,EAAGk+B,gBAAQ,IAAAD,GAAM,QAANA,EAAXA,EAAargC,YAAI,IAAAqgC,OAAA,EAAjBA,EAAmBn7B,eAAO,IAAAk7B,IAAI,0BAMzD,uBAAuB/D,EAAQx0B,GAC3B,IACI,IAAIyH,EAAS,CACT2D,KAAM,CACFmpB,MAAOC,EAAQ70B,QAAQg1B,OACvBE,UAAW70B,EAAQ60B,UACnB8D,YAAc34B,EAAQ24B,YACtBpD,MAAQv1B,EAAQu1B,QAGxB,aAAad,OAAIrqB,KAAK,oBAAqB,uBAAwB3C,GACrE,MAAOlN,GAAG,IAAAq+B,EAAAC,EAAAC,EAAAC,EACR,MAAO,CACHlxB,WAAgC,QAAtB+wB,EAAI,OAADr+B,QAAC,IAADA,GAAW,QAAVs+B,EAADt+B,EAAGk+B,gBAAQ,IAAAI,OAAA,EAAXA,EAAahtB,cAAM,IAAA+sB,IAAI,IACpCF,aAAyC,QAA7BI,EAAI,OAADv+B,QAAC,IAADA,GAAW,QAAVw+B,EAADx+B,EAAGk+B,gBAAQ,IAAAM,GAAM,QAANA,EAAXA,EAAa5gC,YAAI,IAAA4gC,OAAA,EAAjBA,EAAmB17B,eAAO,IAAAy7B,IAAI,2BAU7Dn5B,QAAS,KCtTE,GAKXF,MAAQ,CAKJu5B,iBAAmB,CACfC,WAAa,iBACbC,aAAe,sBACfC,gBAAkB,eAClBC,kBAAoB,oBACpBC,mBAAqB,kBACrBC,qBAAuB,wBAG3BC,YAAc,CACVN,WAAa,UACbC,aAAe,UACfC,gBAAkB,SAClBC,kBAAoB,SACpBC,mBAAqB,UACrBC,qBAAuB,WAE3BzD,YAAa,IAIjBz1B,UAAW,CAEPo5B,eAAiB/5B,EAAO2M,GACpB3M,EAAMo2B,YAAczpB,IAK5BrM,QAAS,CAOL05B,eAAiBjF,EAASx0B,GAEtB,IAAI05B,EAAM1pB,EAAQ,QAClB0pB,EAAInI,OAAOlnB,OAAO,CACdsvB,OAAQ,iBACRC,YAAapF,EAAQqF,UAAUC,YAAYF,YAC3CG,gBAAiBvF,EAAQqF,UAAUC,YAAYC,kBAGnD,MAAMC,EAAY,IAAIN,EAAIO,SAASC,eAKnC,IAAIzyB,EAAS,CACT0yB,UAAW,cACXC,0BAA2B,CAAC,aAAcp6B,EAAQ60B,WAClDwF,uBAAwB,yBAK5BL,EAAUhwB,MAAMvC,EAAQ,CAACzL,EAAK7D,KACtB6D,EAAKiD,QAAQgH,IAAIjK,GAIjBw4B,EAAQv0B,OAAO,iBAAkB9H,EAAKmiC,WAUtD36B,QAAS,CAEL46B,aAAe96B,GACX,OAAOA,EAAMo2B,aAAe,MCnFzB,GAKXp2B,MAAQ,CACJmY,UAAW,CACPD,OAAO,EACPG,MAAO,0B,wBCRnB,SAAS0iB,IAELv7B,QAAQgH,IAAK,uBACb,IAAIw0B,EAAc,GAWlB,OAJAC,OAAY73B,KAAK,SAAU83B,EAAS5vB,GAChC0vB,EAAaE,EAAQt8B,OAAUs8B,EAAQC,SAGpCH,EAGX,SAASI,IAEL,IAAIC,EAAU,GACd,IAAI,IAAI/sB,KAAO2sB,OAAY,CACvB,IAAIK,EAAS,GACbA,EAAOH,MAAQ7sB,EAAIzQ,KACnBy9B,EAAO18B,MAAQ0P,EAAI1P,MACnB08B,EAAOxE,KAAOxoB,EAAI6sB,MAClBE,EAAQ7hC,KAAK8hC,GAEjB,OAAOD,EAII,OACXr7B,MAAQ,CACJi7B,YAAaG,IACbJ,YAAcD,KAIlBp6B,UAAY,GAIZT,QAAU,CACNq7B,eAAev7B,GACX,OAAOA,EAAMi7B,YAAY73B,IAAK83B,GACL,kBAAjBA,EAAQpE,KACD,IACAoE,EACHpE,KAAM,iBAGPoE,GACRruB,KAAK,CAACyY,EAAG0E,IAAM1E,EAAEwR,KAAK0E,cAAcxR,EAAE8M,QAG7C2E,uBAAyBz7B,GAAWd,GAE3BA,GAILA,EAAMA,EAAI4tB,cAGH9sB,EAAMg7B,YAAY97B,IANd,KC3DR,GAEXc,MAAQ,CAEJ07B,WAAa,OACbC,WAAa,aACbC,eAAiB,iBACjBC,oBAAsB,sBACtBC,wBAA0B,0BAE1BC,eAAiB,iBAEjBC,gBAAkB,gBAClBC,oBAAqB,mBAErBC,aAAe,cAEfC,cAAgB,eAChBC,UAAY,UAEZC,iBAAmB,mBAIvBC,SAAW,IC1BA,GACXt8B,MAAO,CAEHu8B,QAAU,wEACVC,SAAW,wEAGXC,SAAW,iEACXC,UAAY,iEAEZC,YAAc,iCACdC,UAAY,oCACZC,WAAa,qCAEbC,eAAiB,qCACjBC,cAAgB,sCAEpB78B,QAAS,CAGLg1B,SAGI,IAAI8H,EAAOxlB,SAASwlB,KACpB,OAAIA,EAAKn1B,SAAU,cAAiBm1B,EAAKn1B,SAAU,QAAWm1B,EAAKn1B,SAAU,iBAClE,MAEFm1B,EAAKn1B,SAAU,+BAAkCm1B,EAAKn1B,SAAU,iCAGjEm1B,EAAKn1B,SAAS,4BAA8Bm1B,EAAKn1B,SAAS,6BAFvD,OAOA,OAIfo1B,cAAej9B,EAAOE,GACd,IAAIg9B,EAAMh9B,EAAQg1B,OAClB,MAAY,QAARgI,EACOl9B,EAAM+8B,cAEV/8B,EAAM88B,gBAGrBK,WAAYn9B,EAAOE,GAEf,IAAIg9B,EAAMh9B,EAAQg1B,OAElB,MAAY,QAARgI,EACOl9B,EAAM68B,WAEL,OAARK,EACOl9B,EAAM48B,UAGV58B,EAAM28B,aAGjBS,SAAWp9B,GAEP,IAAIg9B,EAAOxlB,SAASwlB,KACpB,OAAIA,EAAKn1B,SAAU,cAAiBm1B,EAAKn1B,SAAU,iBAExC7H,EAAMw8B,SAEVx8B,EAAMu8B,SAGjBc,UAAYr9B,GAER,IAAIg9B,EAAOxlB,SAASwlB,KACpB,OAAIA,EAAKn1B,SAAU,cAAiBm1B,EAAKn1B,SAAU,iBACxC7H,EAAM08B,UAEV18B,EAAMy8B,WAIrBn8B,QAAS,GAGTK,UAAW,ICpFA,GACXX,MAAQ,CAEJs9B,UAAY,CACR,IAAQ,MACR,SAAa,c,YCMV,G,UAAA,CAKXt9B,MAAQ,CACJuH,iBAAiB,EACjBg2B,YAAY,EACZ91B,YAAY,EACZ+1B,kBAAoB,GACpBC,sBAAwB,GACxBC,sBAAwB,GAGxBC,sBAAwB,IAK5Bh9B,UAAW,CAEPi9B,yBAA0B59B,EAAO4I,GACzBG,aAAI3P,UAAU6K,eAAgB2E,GAC9B5I,EAAM09B,sBAAwB,GAGlC19B,EAAM09B,sBAAwB90B,GAGlCi1B,mBAAqB79B,EAAO4I,GACxB,GAAIG,aAAI3P,UAAU6K,eAAgB2E,KACtBA,EAAcpF,GAGtB,OAFAxD,EAAMy9B,sBAAwB,QAC9Bz9B,EAAMw9B,kBAAoB,IAI9Bx9B,EAAMy9B,sBAAwB70B,EAC9B5I,EAAMw9B,kBAAoB50B,EAAcpF,GAExChE,QAAQgH,IAAK,6BAA8BxG,IAG/C89B,yBAA0B99B,EAAO83B,GACxBA,GAAsC,IAAvBA,EAAY5+B,SAGhC8G,EAAM29B,sBAAwB7F,IAGlCiG,yBAA2B/9B,EAAOO,GAC9BP,EAAM+3B,cAAgBx3B,GAQ1By9B,mBAAmBh+B,EAAOO,GAEjBA,GAA6B,GAAlBA,EAAQrH,QAIxBsG,QAAQgH,IAAI,gCAAiCjG,GAC7CP,EAAMuH,gBAAkBhH,EAAQ2kB,QAAQ,cAAgB,GAJpDllB,EAAMuH,iBAAkB,GAYhC02B,mBAAmBj+B,EAAOO,GAEtB,IAAKA,GAA6B,GAAlBA,EAAQrH,OAEpB,OADA8G,EAAMu9B,YAAa,OAAOv9B,EAAMyH,YAAa,GAIjD,IAAIy2B,EAAc39B,EAAQqH,OAAQu2B,GAA2B,OAAhBA,EAAQniC,MACjDoiC,EAAc79B,EAAQqH,OAAQu2B,GAA2B,OAAhBA,EAAQniC,MAErDgE,EAAMu9B,WAAeW,EAAYhlC,OAAS,EAC1C8G,EAAMyH,WAAe22B,EAAYllC,OAAS,IAKlDoH,QAAS,CAKL,gBAAgBy0B,EAAUx0B,GACtB,IAAIxG,QAAei7B,OAAIx2B,IAAK,oBAAoB,gBAAgB+B,EAAQ28B,IAAO,IAC/E,OAA2B,OAAjB,OAANnjC,QAAM,IAANA,OAAM,EAANA,EAAQqO,YACD,GAEE,OAANrO,QAAM,IAANA,OAAM,EAANA,EAAQuxB,IAUnBuS,mBAAoB9I,EAASx0B,GACzBw0B,EAAQv0B,OAAQ,qBAAsBD,IAQ1Cq9B,yBAA0B7I,EAASx0B,GAC/Bw0B,EAAQv0B,OAAQ,2BAA4BD,IAIhDu9B,yBAA0B/I,EAASsJ,GAC/BtJ,EAAQv0B,OAAQ,2BAA4B69B,IAGhDL,mBAAmBjJ,EAASpoB,GACxBooB,EAAQv0B,OAAO,qBAAsBmM,IAGzCsxB,mBAAmBlJ,EAASpoB,GACxBooB,EAAQv0B,OAAO,qBAAsBmM,KAQ7CzM,QAAS,CAELo+B,yBAA0Bt+B,GACtB,OAAOA,EAAM29B,uBAGjB9H,qBAAuB71B,GACnB,OAAOA,EAAMw9B,mBAGjB30B,yBAA2B7I,GACvB,OAAOA,EAAMy9B,uBAGjBc,yBAA2Bv+B,GACvB,OAAOA,EAAM09B,uBAGjBc,YAAax+B,GACT,MAAO,CACHu9B,WAAav9B,EAAMu9B,WACnB91B,WAAazH,EAAMyH,WACnBF,gBAAkBvH,EAAMuH,qB,wBC5KxC,MAAMk3B,EAAY7mB,UAAUC,SAASjY,MAAM,EAAE,GACvC8+B,EAAoBA,KACtB,MAAMC,EAAWC,eAAen1B,QAAQ,MACxC,OAAOk1B,EAAWnwB,KAAK8d,MAAMqS,GAAY,MAG9B,OACX3+B,MAAO,CACH4O,aAAc8vB,KACVG,EAAe98B,KAAM4M,GAASA,EAAKE,WAAaG,KAAKC,iBAAiB6vB,kBAAkBvvB,WACxFsvB,EAAe98B,KAAM4M,GAASA,EAAK/P,QAAUgZ,UAAUC,WACvDgnB,EAAe98B,KAAM4M,GAASA,EAAK/P,MAAMiJ,SAAS42B,KAE1Dv+B,QAAS,CACL6+B,gBAAiB/+B,GACNA,EAAM4O,cAGrBtO,QAAS,CACL0+B,qBAAoB,OAAEx+B,GAAUoO,GAC5BpO,EAAO,sBAAuBoO,GAC9BgwB,eAAej1B,QAAQ,KAAM6E,KAAKC,UAAUG,KAEhD,kBAAkBmmB,EAASx0B,GACvB,MAAMyH,EAAS,CACXitB,sBAAuB,CACnBH,MAAOC,EAAQ70B,QAAQg1B,OACvB9uB,MAAO2uB,EAAQ70B,QAAQ61B,iBAAiB3vB,MACxCpK,KAAM,QAGd,aAAag5B,OAAIx2B,IAAI,oBAAqB,YAAawJ,IAE3D,kBAAkB+sB,EAASx0B,GACvB,MAAMyH,EAAS,CACX2D,KAAM,CACFmpB,MAAOC,EAAQ70B,QAAQg1B,OACvB9uB,MAAO2uB,EAAQ70B,QAAQ61B,iBAAiB3vB,MACxCpK,KAAM,SACN6S,SAAUtO,EAAQsO,YACdtO,EAAQ0+B,gBAAmB,CAAEA,eAAgB1+B,EAAQ0+B,mBACrD1+B,EAAQ8F,aAAgB,CAAEA,YAAa9F,EAAQ8F,eAIrD2yB,QAAiBhE,OAAIrqB,KAAK,oBAAqB,YAAa3C,GAClE,GAAIgxB,EAASjgB,QAAS,CAClB,MAAMmmB,EAAcL,EAAe98B,KAAK4M,GAAQA,EAAKE,WAAatO,EAAQsO,WAAakmB,EAAQ/0B,MAAM4O,aACrGmmB,EAAQxwB,SAAS,sBAAuB26B,GACxCN,eAAej1B,QAAQ,KAAM6E,KAAKC,UAAUywB,IAEhD,OAAOlG,IAGfr4B,UAAW,CACPq+B,oBAAoBh/B,EAAO4O,GACvB5O,EAAM4O,aAAeA,K,YC3DjC,MAAMyrB,EAAc,CAClB8E,YAAY,EACZn/B,MAAO,CACLm6B,YAAa,uBACbG,gBAAiB,2CACjB8E,aAAc,GAKdC,YAAa,CACX,SAAY,WACZ,KAAQ,SAGZn/B,QAAS,CACPo/B,cAAgBt/B,GAAkBA,EAAMm6B,YACxCoF,kBAAoBv/B,GAAkBA,EAAMs6B,gBAC5CkF,cAAgBx/B,GAAkBA,EAAMo/B,cAI1Cz+B,UAAW,CACT8+B,kBAAmBA,CAACz/B,EAAOO,KACzBP,EAAMo/B,aAAe7+B,IAGzBD,QAAS,CACPo/B,kBAAmB,UAAS,OAACl/B,GAASD,GACpCC,EAAO,oBAAqBD,MAKnB85B,QCVftxB,aAAIC,IAAI22B,QAER,MAAMrN,EAAQ,IAAIqN,OAAKC,MAAM,CAE3BzR,QAAW,CACT0R,eAAsB,CACpBC,QAAUpgC,OAAOk/B,eACjBmB,MAAQ,CAAC,cAAe,aAAc,cAG1C//B,MAAQ,CAINoG,MAAO,KAGP45B,mBAAqB,CACnB,CAAEphC,MAAO,OAAQk4B,KAAM,QACvB,CAAEl4B,MAAO,WAAYk4B,KAAM,aAI7BmJ,2BAA6B,CAC3B,CAAErhC,MAAO,OAAQk4B,KAAM,QACvB,CAAEl4B,MAAO,WAAYk4B,KAAM,YAC3B,CAAEl4B,MAAO,SAAUk4B,KAAM,WAI3BoJ,wBAA0B,CACxBC,SAAW,WACX/T,KAAO,OACPgU,OAAS,UAIXC,wBAA0B,CACxBF,SAAW,WACX/T,KAAO,OACPgU,OAAS,UAGXE,iBAAmB,CACjBH,SAAW,QACX/T,KAAO,MACPgU,OAAS,UAIXG,QAAU,CACR,SAAa,WACb,cAAkB,gBAClB,gBAAoB,kBACpB,iBAAqB,mBACrB,iCAAqC,mCACrC,KAAS,OACT,QAAY,UACZ,QAAY,YAGhB5/B,UAAW,CACT6/B,SAASxgC,EAAOoG,GACdpG,EAAMoG,MAAQA,IAGlB9F,QAAS,CACPkgC,UAAS,OAAEhgC,GAAU4F,GACnB5F,EAAO,WAAY4F,KAGvB3M,QAAS,CAEPgnC,iBACA3O,cACA7xB,mBACAygC,eACAC,aACAC,gBACAC,gBACAC,gBACAC,gBACAC,aACAC,YACAC,YACAC,iBACAC,aACA/G,cACAgH,yBAIW/O,U,qCCpHf,0DAKI3W,EAAS,SAAS9a,EAAWC,GAE7B,IAAIC,EAAMC,KACNU,GAAO,EAGPT,EAAUC,OAAOC,QAAQN,GACzB8K,EAAOzK,OAAOE,UAElB,GAAKH,EAAL,CAKA,IAAII,EAAiB,CAEjB4Z,OAAQ,CACJG,kBAAkB,GAItBY,UAAW,CACPslB,WAAY,IACZC,YAAY,EACZC,gBAAiB,KACjBvlB,WAAW,GAIf0H,SAAU,CACNvmB,QAAS,MAQbmE,EAAS,CAKTC,UAAW,SAASV,GAgBhB,OAfII,OAAOxI,KAAKuI,GAASQ,IAAI,QACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,SAG/B+C,EAAOG,KAAKZ,GAGZS,EAAO8uB,QAGP9uB,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,OAAQb,IAG9BA,GAOXW,KAAM,SAASZ,GACXC,EAAIc,OAAS,GAEbd,EAAI0gC,cAAgB,GAGpB1gC,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GAGpDC,EAAI2gC,uBAAyB,EAE7B3gC,EAAI4gC,IAAMzgC,OAAO0gC,eAGrBh3B,OAAQ,SAAS9J,GAEbC,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GAGpDC,EAAI2gC,uBAAyB,EAG7BngC,EAAO8uB,QAEPtvB,EAAI0gC,cAAgB,GAGpBlgC,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,OAAQb,IAGrC8gC,OAAQ,WAEJtgC,EAAO8uB,QAGP9uB,EAAOI,QAGPJ,EAAOugC,qBAOXngC,MAAO,WAEHZ,EAAI0gC,cAAc,WAAavgC,OAAOiC,GAAIlC,EAAS,eAAgB,QAASM,EAAOwgC,yBAGnD,aAA5BxgC,EAAOygC,kBAAmCzgC,EAAO0gC,kCAEjDlhC,EAAI0gC,cAAc,WAAavgC,OAAOiC,GAAIlC,EAAS,6BAA8B,YAAaM,EAAO2gC,gCACrGnhC,EAAI0gC,cAAc,WAAavgC,OAAOiC,GAAIlC,EAAS,6BAA8B,WAAYM,EAAO4gC,+BAGpGphC,EAAI0gC,cAAc,WAAavgC,OAAOiC,GAAIlC,EAAS,kGAAmG,QAASM,EAAO6gC,4BACtKrhC,EAAI0gC,cAAc,WAAavgC,OAAOiC,GAAIlC,EAAS,8FAA+F,QAASM,EAAO8gC,gCAItKthC,EAAI0gC,cAAc,WAAavgC,OAAOiC,GAAGlC,EAAS,wEAAyE,QAASM,EAAO+gC,iBAGvIvhC,EAAID,QAAQma,QAAUla,EAAID,QAAQma,OAAOI,QACzC9Z,EAAOse,cAQfwQ,MAAO,WACHnvB,OAAO+jB,IAAKhkB,EAAS,QAASF,EAAI0gC,cAAc,YAGhDvgC,OAAO+jB,IAAKhkB,EAAS,YAAaF,EAAI0gC,cAAc,YACpDvgC,OAAO+jB,IAAKhkB,EAAS,WAAYF,EAAI0gC,cAAc,YAGnDvgC,OAAO+jB,IAAKhkB,EAAS,QAASF,EAAI0gC,cAAc,YAChDvgC,OAAO+jB,IAAKhkB,EAAS,QAASF,EAAI0gC,cAAc,YAGhDvgC,OAAO+jB,IAAIhkB,EAAS,QAASF,EAAI0gC,cAAc,aAOnD5hB,WAAY,WACH9e,EAAID,QAAQma,QAAUla,EAAID,QAAQma,OAAOI,QAC1Cna,OAAOqhC,cAActhC,GAAS,GAC9BC,OAAO2e,WAAW5e,EAAS,CAAC8e,oBAAoB,EAAMD,cAAc,EAAOG,sBAAsB,EAAMC,oBAAoB,EAAM7E,OAAQta,EAAID,QAAQma,OAAOI,OAAQD,iBAAkBra,EAAID,QAAQma,OAAOG,oBAEzMla,OAAOqhC,cAActhC,GAAS,IAOtCqb,aAAc,WACLvb,EAAID,QAAQma,QAAUla,EAAID,QAAQma,OAAOI,QAC1Cna,OAAOob,aAAarb,IAO5Bsb,UAAW,WACFxb,EAAID,QAAQma,QAAUla,EAAID,QAAQma,OAAOI,QAC1Cna,OAAOqb,UAAUtb,IAQzB+gC,eAAgB,SAASQ,GACrB,OAAKthC,OAAOsa,eAAe,MACnBgnB,GAAMthC,OAAOkf,QAAQoiB,EAAI,qBAA8D,SAAvCthC,OAAOia,KAAKqnB,EAAI,oBACzD,WAGNthC,OAAOuhC,MAAM1hC,EAAID,QAAQ8a,QAAS,sBAC9B1a,OAAOwhC,WAAW/2B,EAAM5K,EAAID,QAAQ8a,QAAQC,QAAQ7b,MAAM2L,MACpD5K,EAAID,QAAQ8a,QAAQC,QAAQ7b,MAAMlB,KAElCiC,EAAID,QAAQ8a,QAAQC,QAAQyK,QAE/BplB,OAAOuhC,MAAM1hC,EAAID,QAAQ8a,QAAS,WACnC7a,EAAID,QAAQ8a,QAAQC,aADxB,EAGC3a,OAAOsa,eAAe,OAASta,OAAOif,iBAAiB,OAASjf,OAAOuhC,MAAM1hC,EAAID,QAAQ8a,QAAS,UACnG7a,EAAID,QAAQ8a,QAAQE,UACnB5a,OAAOif,iBAAiB,QAASjf,OAAOuhC,MAAM1hC,EAAID,QAAQ8a,QAAS,YACpE7a,EAAID,QAAQ8a,QAAQG,QAUnCkmB,6BAA8B,WAC1B,SAAK/gC,OAAOsa,eAAe,QAASta,OAAOuhC,MAAM1hC,EAAID,QAAQ8a,QAAS,wBAY1EkmB,kBAAmB,SAAShnC,GACxB,IAAI6nC,EAAWzhC,OAAO0hC,QAAQ3hC,EAAS,iBACvC,GAAK0hC,EACD,IAAK,IAAI3pC,EAAI,EAAG6pC,EAAMF,EAASzpC,OAAQF,EAAI6pC,EAAK7pC,IAAK,CACjD,IAAI4iB,EAAU+mB,EAAS,GAEvBzhC,OAAOiB,IAAIyZ,EAAS,UAAW,IAC/B1a,OAAOiB,IAAIyZ,EAAS,WAAY,IAE5BA,EAAQ6X,aAAa,wBACrBvyB,OAAO2B,YAAY+Y,EAAS,qBAC5B1a,OAAO2B,YAAY+Y,EAAS,sBAC5B1a,OAAO0B,SAASgZ,EAASA,EAAQjgB,aAAa,0BAU9DumC,+BAAgC,SAASpnC,GACrC,GAAqC,cAAhCyG,EAAOygC,eAAehhC,QAIQ,IAA9BD,EAAI+hC,sBAAT,CAIA,IAAIpiC,EAAOM,KAE6B,KAAnCN,EAAK/E,aAAa,gBACnB+E,EAAK4vB,gBAAgB,cACrB9yB,aAAckD,EAAK/E,aAAa,iBAChC+E,EAAK4vB,gBAAgB,iBAGzB/uB,EAAOwhC,oBAAoBriC,KAO/ByhC,8BAA+B,SAASrnC,GACpC,IAAmC,IAA9BiG,EAAI+hC,uBAI4B,cAAhCvhC,EAAOygC,eAAehhC,MAA3B,CAIA,IAAIN,EAAOM,KACP2N,EAAO5N,EAAID,QAAQ6iB,SAASvmB,QAE5BA,EAAUW,YAAW,WACmB,KAAnC2C,EAAK/E,aAAa,eACnB4F,EAAOyhC,oBAAoBtiC,GAAM,KAEtCiO,GAEHjO,EAAKpD,aAAa,aAAc,KAChCoD,EAAKpD,aAAa,eAAgBF,KAOtCglC,2BAA4B,SAAStnC,GACjC,GAAqC,cAAhCyG,EAAOygC,eAAehhC,MAA3B,CAIA,IAAIN,EAAOM,KAAKiiC,QAAQ,cAGpBlpC,EAASwH,EAAOuB,aAAa,gBAAiB9B,KAAMlG,IACzC,IAAXf,GAIgD,aAA/C2G,EAAK/E,aAAa,6BAI2B,IAA7CuF,OAAOkZ,SAAS1Z,EAAM,oBACvBQ,OAAO0B,SAASlC,EAAM,2BACtBa,EAAOwhC,oBAAoBriC,KAE3BQ,OAAO2B,YAAYnC,EAAM,2BACzBa,EAAOyhC,oBAAoBtiC,GAAM,IAGrC5F,EAAEyH,oBAON8/B,8BAA+B,SAASvnC,GACpC,GAAoC,cAAhCyG,EAAOygC,eAAehhC,MAA1B,CAGA,IAAIN,EAAOM,KAAKiiC,QAAQ,cAGpBlpC,EAASwH,EAAOuB,aAAa,gBAAiB9B,KAAMlG,IACzC,IAAXf,GAI+C,aAA/C2G,EAAK/E,aAAa,4BAI0B,GAA5CuF,OAAOkZ,SAAS1Z,EAAM,qBACtBQ,OAAO0B,SAASlC,EAAM,2BACtBa,EAAOwhC,oBAAoBriC,IAG/B5F,EAAEyH,oBAON+/B,gBAAiB,SAASxnC,GACtB,IAAI8gB,EAAU5a,KAAKiiC,QAAQ,gCAGvBlpC,EAASwH,EAAOuB,aAAa,YAAa9B,KAAMlG,IACrC,IAAXf,GAIC6hB,GAA8C,aAAnCra,EAAOygC,eAAepmB,IAClCra,EAAO2hC,wBAQfC,2BAA4B,SAASroC,EAAG0nC,GAEpC,GAAkC,cAA9BjhC,EAAOygC,eAAeQ,GAA1B,CAIA,IAAIY,EAAQniC,EAAQylB,iBAAiB,qEAGrC,GAAI0c,EAAMlqC,OAAS,IAA4C,IAAvCgI,OAAOkZ,SAASooB,EAAI,gBAA2E,IAA/CA,EAAG9b,iBAAiB,gBAAgBxtB,OAExG,IAAK,IAAIF,EAAI,EAAG6pC,EAAMO,EAAMlqC,OAAQF,EAAI6pC,EAAK7pC,IACzCuI,EAAOyhC,oBAAoBI,EAAM,IAAI,KASjDrB,uBAAwB,SAASjnC,EAAG0nC,GAChC,IAAIj4B,EACA7J,EAAO8hC,GAAUxhC,KAGjBjH,EAASwH,EAAOuB,aAAa,gBAAiB9B,KAAMlG,GACxD,IAAe,IAAXf,EAIJ,GAAmC,aAA9BwH,EAAOygC,eAAeQ,KAAuBj4B,EAAQ7J,EAAKuiC,QAAQ,gBACf,aAAhD14B,EAAM5O,aAAa,0BACnBb,EAAEyH,qBAFV,CAOA,IAAI8gC,EAAK3iC,EAAKuiC,QAAQ,cAClBrnB,EAAU1a,OAAOoiC,MAAMD,EAAI,8BAE/B,IAAIniC,OAAOkZ,SAAS1Z,EAAKuiC,QAAQ,cAAe,0BAI3CI,GAAMznB,EAAU,CACjB9gB,EAAEyH,iBACF,IAAIoxB,EAAQ5yB,EAAID,QAAQkb,UAAUslB,WAGlC,IAA+C,IAA1CpgC,OAAOkZ,SAASipB,EAAI,kBAA8B,CAEnD,IAAyC,IAApCtiC,EAAID,QAAQkb,UAAUC,UAAsB,CAC7C,IAAIsnB,EAAS7iC,EAAKuiC,QAAQ,2BACtBO,EAAYtiC,OAAOmI,SAASk6B,EAAQ,gGAExC,GAAKA,GAAUC,EACX,IAAK,IAAIxqC,EAAI,EAAG6pC,EAAMW,EAAUtqC,OAAQF,EAAI6pC,EAAK7pC,IAAK,CAClD,IAAIyqC,EAAMD,EAAU,GAChBE,EAAWxiC,OAAOoiC,MAAMG,EAAK,iBAC5BC,GACDxiC,OAAOyiC,QAAQD,EAAU/P,GAAO,WAC5BpyB,EAAO+a,eACPpb,OAAO2B,YAAY4gC,EAAK,sBAO5CviC,OAAO0iC,UAAUhoB,EAAS+X,GAAO,WAC7BpyB,EAAOsiC,aAAanjC,GACpBa,EAAO+a,eAEP/a,EAAOuB,aAAa,gBAAiB8Y,EAAS9gB,MAGlDoG,OAAO0B,SAASygC,EAAI,uBAGpBniC,OAAOyiC,QAAQ/nB,EAAS+X,GAAO,WAC3BpyB,EAAOsiC,aAAanjC,GACpBa,EAAO+a,eACP/a,EAAOuB,aAAa,gBAAiB8Y,EAAS9gB,MAGlDoG,OAAO2B,YAAYwgC,EAAI,qBASnCQ,aAAc,SAASnjC,GAEdQ,OAAOsa,eAAe,OAAUza,EAAID,QAAQkb,UAAUulB,YAA2D,MAA7CtgC,EAAQtF,aAAa,qBAC1FuF,OAAO4iC,SAASpjC,EAAMK,EAAID,QAAQkb,UAAUwlB,kBAQpDwB,oBAAqB,SAAStiC,EAAMqjC,GAE3BA,IACD7iC,OAAO2B,YAAYnC,EAAM,mBACzBQ,OAAO2B,YAAYnC,EAAM,yBAI7BA,EAAK4vB,gBAAgB,cAEhB5vB,EAAK/E,aAAa,2BACnBuF,OAAO2B,YAAY8I,EAAMjL,EAAK/E,aAAa,2BAG/C,IAAIyB,EAAUsD,EAAK/E,aAAa,gBAChC+E,EAAK4vB,gBAAgB,gBACrB9yB,aAAaJ,IAOjB8lC,qBAAsB,WAClB,IAAIc,EACJ,GAAKA,EAAQ/iC,EAAQylB,iBAAiB,yFAClC,IAAK,IAAIxsB,EAAI,EAAG+pC,EAAMD,EAAM9qC,OAAQgB,EAAI+pC,EAAK/pC,IACzCqH,EAAOyhC,oBAAoBgB,EAAM9pC,IAAI,IASjD6oC,oBAAqB,SAASriC,GAE1B,IAAIiM,EAAO1L,EAAQylB,iBAAiB,+EAEpC,GAAK/Z,EACD,IAAK,IAAI3T,EAAI,EAAG6pC,EAAMl2B,EAAKzT,OAAQF,EAAI6pC,EAAK7pC,IAAK,CAC7C,IAAIwpC,EAAK71B,EAAK3T,GACT0H,IAAS8hC,IAA4B,IAAtBA,EAAG0B,SAASxjC,KAAyC,IAAtBA,EAAKwjC,SAAS1B,IAC7DjhC,EAAOyhC,oBAAoBR,GAAI,GAM3CthC,OAAO0B,SAASlC,EAAM,mBAGtB,IAAIkb,EAAU1a,OAAOa,KAAKrB,EAAM,iBAE5Bkb,IAA0D,IAA/CA,EAAQ6X,aAAa,wBAC5BvyB,OAAOkZ,SAASwB,EAAS,qBACzBA,EAAQte,aAAa,qBAAsB,qBACpC4D,OAAOkZ,SAASwB,EAAS,uBAChCA,EAAQte,aAAa,qBAAsB,uBAI9Cse,IAAuD,IAA5C1a,OAAOijC,YAAYvoB,EAAS,OAAQ,KAChD1a,OAAO2B,YAAY+Y,EAAS,qBAC5B1a,OAAO0B,SAASgZ,EAAS,uBACjBA,IAAwD,IAA7C1a,OAAOijC,YAAYvoB,EAAS,QAAS,MACxD1a,OAAO2B,YAAY+Y,EAAS,sBAC5B1a,OAAO0B,SAASgZ,EAAS,sBAGxBlb,EAAK/E,aAAa,2BACnBuF,OAAO0B,SAAS+I,EAAMjL,EAAK/E,aAAa,4BAQhDyoC,kCAAmC,SAAS5B,GACxC,IAAIj4B,EACA+T,GAAU/T,EAAQrJ,OAAOoiC,MAAMd,EAAI,iBAAmBthC,OAAOiB,IAAIoI,EAAO,WAAa,GAAK,EAE1F85B,EAAU9oC,SAASQ,cAAc,6HAA+HuiB,EAAS,YAE7K3S,EAAK9O,YAAYwnC,GAEjBnjC,OAAOoB,SAAS+hC,EAAS,SAAS,SAASvpC,GACvCA,EAAEwpC,kBACFxpC,EAAEyH,iBACFrB,OAAOgB,OAAOlB,MACdO,EAAOyhC,oBAAoBR,GAAI,OAQvChmB,mBAAoB,SAAS7N,GACzB,IAAIa,EAAO,IAAIvC,KAEflM,EAAI2gC,uBAAyBlyB,EAAKwR,UAAYrS,GAOlDm0B,oBAAqB,WACjB,IAAItzB,EAAO,IAAIvC,KAEf,OAAQuC,EAAKwR,UAAYjgB,EAAI2gC,wBAOjC6C,gBAAiB,SAAS7jC,GACtB,IAAIiM,EACA63B,EAEJ73B,EAAO1L,EAAQylB,iBAAiB,qBAEhC,IAAK,IAAI1tB,EAAI,EAAG6pC,EAAMl2B,EAAKzT,OAAQF,EAAI6pC,EAAK7pC,IAAK,CAC7C,IAAIwpC,EAAK71B,EAAK,GACdzL,OAAO2B,YAAY2/B,EAAI,oBACvBthC,OAAOyb,KAAMzb,OAAOoiC,MAAMd,EAAI,kBAC9BgC,EAAUtjC,OAAOsjC,QAAQhC,EAAI,uBAAyB,GAEtD,IAAK,IAAIiC,EAAK,EAAGC,EAAOF,EAAQtrC,OAAQurC,EAAKC,EAAMD,IAAM,CACrD,IAAIhB,EAAMe,EAAQxrC,GAClBkI,OAAO2B,YAAY4gC,EAAK,kBACxBviC,OAAOyb,KAAMzb,OAAOoiC,MAAMG,EAAK,mBAKvC,IAAyC,IAApC1iC,EAAID,QAAQkb,UAAUC,YAClBtP,EAAO1L,EAAQylB,iBAAiB,oBACjC,IAAS1tB,EAAI,EAAG6pC,EAAMl2B,EAAKzT,OAAQF,EAAI6pC,EAAK7pC,IACxCkI,OAAO2B,YAAY2hC,EAAQ,GAAI,mBAU/CG,cAAe,SAASjkC,GAEpBa,EAAOgjC,kBAGP,IADA,IAAIC,EAAUtjC,OAAOsjC,QAAQ9jC,EAAM,uBAAyB,GACnD1H,EAAI,EAAG6pC,EAAM2B,EAAQtrC,OAAQF,EAAI6pC,EAAK7pC,IAC3CkI,OAAO0B,SAAS4hC,EAAQxrC,GAAI,kBAGhCkI,OAAO0B,SAASlC,EAAM,qBAO1BkkC,eAAgB,SAASlkC,GACrB,IAAI6J,EACAtK,EAAc,GACdwL,EAAOvK,OAAOoiC,MAAM5iC,EAAM,cAE9BT,EAAYzG,KAAK,CACbs9B,KAAOvsB,EAAQrJ,OAAOoiC,MAAM73B,EAAM,cAAgBlB,EAAMs6B,UAAY,GACpExkC,MAAOoL,EAAK9P,aAAa,SACzBP,KAAMqQ,EAAK9P,aAAa,UAI5B,IADA,IAAI6oC,EAAUtjC,OAAOsjC,QAAQ9jC,EAAM,sBAC1B1H,EAAI,EAAG6pC,EAAM2B,EAAQtrC,OAAQF,EAAI6pC,EAAK7pC,IAAK,CAChD,IAAI8rC,EAAc5jC,OAAOoiC,MAAMkB,EAAQxrC,GAAI,cAE3CiH,EAAYzG,KAAK,CACbs9B,KAAOvsB,EAAQrJ,OAAOoiC,MAAMwB,EAAa,cAAgBv6B,EAAMs6B,UAAY,GAC3ExkC,MAAOykC,EAAYnpC,aAAa,SAChCP,KAAM0pC,EAAYnpC,aAAa,UAIvC,OAAQsE,EAAY8kC,WAOxBC,aAAc,SAAStkC,GACnB,IAAI6J,EAEJ,OAAgBrJ,OAAOoiC,MAAM5iC,EAAM,cAAgB6J,EAAMs6B,UAAY,IAMzE/hC,aAAc,SAASjF,EAAMxB,EAAQvB,GACjC,IAAK,IAAI9B,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAM,CACzC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAKmD,EAAM0B,MAAQA,EAAO,CACtB,GAAkB,GAAb1B,EAAM4G,IAMP,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAM3E,EAAQvB,GALxC,GAAoB,GAAfqB,EAAM8G,MAEP,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAM3E,EAAQvB,MAS5DwH,SAAU,SAASzE,EAAMmF,EAASD,GAC9BhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,KAIfgiC,YAAa,SAASpnC,GACdkD,EAAIc,OAAOhE,WACJkD,EAAIc,OAAOhE,KA2I9B,OA9HAkD,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAIub,aAAe,WACf,OAAO/a,EAAO+a,gBAMlBvb,EAAImkC,aAAe,WACf,OAAO3jC,EAAOse,cAMlB9e,EAAIwb,UAAY,WACZ,OAAOhb,EAAOgb,aAMlBxb,EAAI4jC,cAAgB,SAASjkC,GACzB,OAAOa,EAAOojC,cAAcjkC,IAGhCK,EAAI8gC,OAAS,WACT,OAAOtgC,EAAOsgC,UAGlB9gC,EAAI6J,OAAS,SAAS9J,GAClB,OAAOS,EAAOqJ,OAAO9J,IAMzBC,EAAI6jC,eAAiB,SAASlkC,GAC1B,OAAOa,EAAOqjC,eAAelkC,IAMjCK,EAAIikC,aAAe,SAAStkC,GACxB,OAAOa,EAAOyjC,aAAatkC,IAM/BK,EAAIihC,eAAiB,SAASQ,GAC1B,OAAOjhC,EAAOygC,eAAeQ,IAOjCzhC,EAAIokC,aAAe,SAASzkC,GACxBa,EAAOyhC,oBAAoBtiC,GAAM,IAOrCK,EAAIqkC,cAAgB,WAChB7jC,EAAO2hC,wBAOXniC,EAAIyb,mBAAqB,SAAS7N,GAC9BpN,EAAOib,mBAAmB7N,IAO9B5N,EAAI+hC,oBAAsB,WACtB,OAAOvhC,EAAOuhC,uBAMlB/hC,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAGjCjC,EAAIkkB,IAAM,SAASpnB,GACf,OAAO0D,EAAO0jC,YAAYpnC,IAG9BkD,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAQ1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,IAG7BI,OAAOie,kBAAiB,WAChBzd,GACAX,EAAI8gC,YAKZngC,GAAO,EAGAX,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAUghB,GAIrBpgB,SAAS2wB,iBAAiB,SAAS,SAAUpxB,GACzC,IACIyP,EADAoB,EAAOzK,OAAOmkC,aAAa,QAAQ,GAEvC,GAAK96B,EAAQoB,EAAK+a,iBAAiB,yGAC/B,IAAK,IAAI1tB,EAAI,EAAG6pC,EAAMt4B,EAAMrR,OAAQF,EAAI6pC,EAAK7pC,IAAK,CAC9C,IAAIiI,EAAUsJ,EAAMvR,GAAGiqC,QAAQ,aAAavmC,WAE5C,GAAKuE,EAAU,CACX,IAAIF,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,QAEnC,IAAMuC,EACF,MAGJ,IAAMA,GAAgC,aAAzBA,EAAIihC,iBACb,MAGClnC,EAAEuB,SAAW4E,IAA0C,IAA/BA,EAAQijC,SAASppC,EAAEuB,SAC5C0E,EAAIqkC,qBAOTzpB,W,+ECr4Bf,W,oJCCO,MAAM2pB,EAAqB,mBACrBC,EAAwB,sBACxBC,EAAgB,eAEhBC,EAA4B,yBAE1B,QACbzlC,MAAO,CACL0lC,QAAS,IAEXxlC,QAAS,CACPylC,WAAY3lC,GAASue,GACK,qBAAbA,EACFve,EAAM0lC,QAAQnnB,GAEhBve,EAAM0lC,SAGjBplC,QAAS,CACP,CAACglC,GAAoBvQ,EAAS6Q,GAC5BrqC,SAASoQ,KAAKk6B,UAAUzgB,IAAIwgB,IAE9B,CAACL,GAAuBxQ,EAAS6Q,GAC/BrqC,SAASoQ,KAAKk6B,UAAU3jC,OAAO0jC,IAEjC,CAACJ,GAAezQ,EAASx0B,GACvBw0B,EAAQv0B,OAAOilC,EAA2BllC,KAG9CI,UAAW,CACT,CAAC8kC,GAA2BzlC,EAAOO,GACjC,MAAM,SAAEge,EAAQ,UAAEqnB,GAAcrlC,EAC3BP,EAAM0lC,QAAQnnB,KACjBve,EAAM0lC,QAAQnnB,GAAY,IAE5Bve,EAAM0lC,QAAQnnB,GAAU/kB,KAAKosC,O,sknBChCnC3L,IAAInI,OAAOlnB,OAAO,CACduvB,YAAa,uBACbG,gBAAgB,6CAIL,QAKXt6B,MAAQ,GAIRW,UAAW,GAGXL,QAAS,CAUL,+BAAgCy0B,EAASx0B,GAGrC,GADAf,QAAQgH,IAAK,WACRjG,IAAYA,EAAQuzB,eAAiBvzB,EAAQvE,KAE9C,OADAwD,QAAQgH,IAAK,qDACN,KAEX,IAAIU,EAAQ,CACR+tB,sBAAwB,CACpB6Q,cAAgBvlC,EAAQuzB,aACxBgB,MAAQC,EAAQ70B,QAAQg1B,OACxBl5B,KAAOuE,EAAQvE,OAIvBwD,QAAQgH,IAAK,aAAcU,GAE3B,IAAInN,EAAU,KACd,IACIA,QAAgBi7B,OAAIx2B,IAAK,oBAAqB,sBAAuB0I,GAEzE,MAAMpM,GACF0E,QAAQgH,IAAK,SAAU1L,GAE3B,OAAOf,GAKX,0BAA0Bg7B,EAASx0B,GAE/B,GADAf,QAAQgH,IAAI,iCAAkCjG,GAC1CuN,aAAI1U,UAAU6K,eAAgB1D,GAAY,OAAOf,QAAQgH,IAAK,8CAA+CjG,GACjH,IAAIyH,EAAS,CACT2D,KAAM,CACFmpB,MAAOC,EAAQ70B,QAAQg1B,OACvB6Q,MAAOv3B,KAAKC,UAAUlO,KAE9B,aAAay0B,OAAIrqB,KAAK,oBAAqB,eAAgB3C,IAG/D,2BAA2B+sB,EAASx0B,GAChC,IACI,IAAIylC,EAAYzlC,EAAQylC,UAAUpgB,QAAQ,2BAA2B,IACjEqgB,EAAS,IAAIC,EAAOC,KAAKH,EAAW,UAEdzlC,EAAQ6lC,SAAStuB,MAAM,KAAK2O,MAKtD,MAAMyW,EAAMnI,EAAQ70B,QAAQg1B,OAGtBmR,EAAW,IAAIpM,IAAIqM,GAAG,CACxBt+B,OAAQ,CACJu+B,OAAgB,QAARrJ,EAAgB,2BAA4B,oBAExDhD,OAAgB,QAARgD,EAAgB,iBAAkB,cAG9C,IAAIsJ,EAAW,6CACH,QAARtJ,IACAsJ,EAAW,qEAGf,IAAIC,EAAUlmC,EAAQ6lC,SAAStuB,MAAM,KACrC,MAAO4uB,GAAIC,GAAUp2B,EAAQ,QAC7B,IAAIq2B,EAAaH,EAAQA,EAAQvtC,OAAS,GAAK,IAAMytC,IAAWF,EAAQA,EAAQvtC,OAAS,GAOzF,aANMmtC,EAASQ,UAAU,CACrBC,IAAKF,EACLG,KAAMd,EACNe,gBAAiB,SACjBC,YAAa,eACdjqC,UACIwpC,EAAWI,EACrB,MAAM9rC,GAEH,OADA0E,QAAQgH,IAAI,mBAAoB1L,IACzB,IAWf,6BAA8Bi6B,EAASx0B,GAEnC,IAAKA,IAAYA,EAAQ60B,UAErB,YADA51B,QAAQgH,IAAK,2CAA4CjG,GAI7D,IAOIxG,EAPAmN,EAAQ,CACR+tB,sBAAuB,IAChB10B,EAAS2mC,OAAO,EAAMpS,MAAOC,EAAQ70B,QAAQg1B,SAMxD,IACIn7B,QAAei7B,OAAIx2B,IAAI,oBAAqB,wBAAyB0I,GAEzE,MAAOpM,GACH0E,QAAQgH,IAAK,kCAAoC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAGvD,OAAO7D,GAIX,oBAAoBg7B,EAASx0B,GAEzB,IAIIxG,EAJAmN,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBE,UAAW70B,EAAQ60B,WAGvB,IACIr7B,QAAei7B,OAAIx2B,IAAI,oBAAqB,cAAe,CAACy2B,sBAAuB/tB,IAGvF,MAAOpM,GACH0E,QAAQgH,IAAK,yBAA2B,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAE9C,OAAO7D,GAGX,wBAAwBg7B,EAASx0B,GAE7B,IAIIxG,EAJAmN,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvB6C,cAAex3B,EAAQw3B,eAG3B,IACIh+B,QAAei7B,OAAIx2B,IAAI,oBAAqB,cAAe,CAACy2B,sBAAuB/tB,IAGvF,MAAOpM,GACH0E,QAAQgH,IAAK,6BAA+B,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAElD,OAAO7D,GASX,2BAA2Bg7B,EAASx0B,GAEhC,IAKIxG,EALAmN,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBQ,aAAc,GAIlB,IACI37B,QAAei7B,OAAIx2B,IAAI,oBAAqB,cAAe,CAACy2B,sBAAuB/tB,IAGvF,MAAOpM,GACH0E,QAAQgH,IAAK,gCAAkC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAErD,OAAO7D,GAAU,IAMrB,2BAA2Bg7B,EAASx0B,GAChC,IAGIxG,EAHAmN,EAAQ3G,EAEZ2G,EAAM4tB,MAAQC,EAAQ70B,QAAQg1B,OAE9B,IACIn7B,QAAei7B,OAAIx2B,IAAI,oBAAqB,wBAAyB,CAACy2B,sBAAuB/tB,IAEjG,MAAOpM,GACH0E,QAAQgH,IAAK,gCAAkC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAErD,OAAO7D,GAIX,oBAAoBg7B,EAASx0B,GACzB,IAIIxG,EAJAmN,EAAQ3G,EACZ2G,EAAM4tB,MAAQC,EAAQ70B,QAAQg1B,OAI9B,IACIn7B,QAAei7B,OAAIx2B,IAAI,oBAAqB,WAAY,CAACy2B,sBAAuB/tB,IAGpF,MAAOpM,GACH0E,QAAQgH,IAAK,gCAAkC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAErD,OAAO7D,GAEX,6BAA6Bg7B,EAASx0B,GAClC,IAAKA,EAAQuzB,aAET,OADAt0B,QAAQgH,IAAK,wEAAyEjG,EAAQ6F,MAAO7F,EAAQuzB,cACtG,GAEX,IAKI/5B,EALAmN,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBpB,aAAcvzB,EAAQuzB,cAI1B,IACI/5B,QAAei7B,OAAIx2B,IAAI,oBAAqB,uBAAwB,CAACy2B,sBAAuB/tB,IAGhG,MAAOpM,GACH0E,QAAQgH,IAAK,mCAAqC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAExD,OAAO7D,GAGX,iBAAiBg7B,EAASx0B,GACtB,IAAKA,EAAQ60B,UAET,OADA51B,QAAQgH,IAAK,qDAAsDjG,EAAQ60B,WACpE,GAEX,IASIr7B,EATAmN,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBE,UAAW70B,EAAQ60B,UACnBiB,WAAY91B,EAAQ81B,YAGrB91B,EAAQ4mC,iBAAgBjgC,EAAMigC,eAAiB5mC,EAAQ4mC,gBAE1D3nC,QAAQgH,IAAK,wBAAyBU,GAEtC,IACInN,QAAei7B,OAAIx2B,IAAI,oBAAqB,cAAe,CAACy2B,sBAAuB/tB,IAGvF,MAAOpM,GACH0E,QAAQgH,IAAK,uBAAyB,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAE5C,OAAO7D,GAGX,0BAA0Bg7B,EAASx0B,GAC/B,IAAKA,EAAQ6mC,QAET,OADA5nC,QAAQgH,IAAK,uDAAwDjG,EAAQ6mC,SACtE,GAEX,IAMI3R,EANAvuB,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBM,WAAYj1B,EAAQ6mC,SAExB5nC,QAAQgH,IAAK,+BAAgCU,GAG7C,IACIuuB,QAAoBT,OAAIx2B,IAAI,oBAAqB,kBAAmB,CAACy2B,sBAAuB/tB,IAGhG,MAAOpM,GACH0E,QAAQgH,IAAK,+BAAiC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAEpD,OAAO63B,GAGX,wBAAwBV,EAASx0B,GAC7B,IAAKA,EAAQ6mC,QAET,OADA5nC,QAAQgH,IAAK,uDAAwDjG,EAAQ6mC,SACtE,GAEX,IAKI3R,EALAvuB,EAAQ,CACR4tB,MAAOC,EAAQ70B,QAAQg1B,OACvBkS,QAAS7mC,EAAQ6mC,SAErB5nC,QAAQgH,IAAK,+BAAgCU,GAE7C,IACIuuB,QAAoBT,OAAIx2B,IAAI,oBAAqB,gBAAiB,CAACy2B,sBAAuB/tB,IAG9F,MAAOpM,GACH0E,QAAQgH,IAAK,8BAAgC,OAAD1L,QAAC,IAADA,OAAC,EAADA,EAAG8C,SAEnD,OAAO63B,GAEX,qBAAqBV,EAASx0B,GAE1B,IAAIyH,EAAS,CACT8sB,MAAOC,EAAQ70B,QAAQg1B,OACvBmB,WAAY,OAEhB,IAAK91B,IAAaA,EAAQ60B,UAEtB,OADA51B,QAAQgH,IAAK,sDAAuDjG,EAAQ60B,WACrE,GAGX,IAMIr7B,EANA0J,EAAOtK,OAAOsK,KAAMlD,GACxBkD,EAAKhD,SAAS,SAAUvB,GACpB8I,EAAQ9I,GAAQqB,EAAQrB,MAG5BM,QAAQgH,IAAK,4BAA6BwB,GAE1C,IACIjO,QAAei7B,OAAIx2B,IAAI,oBAAqB,YAAa,CAACy2B,sBAAuBjtB,IAGrF,MAAOlN,GACH0E,QAAQgH,IAAK,2BAA4BzM,GAE7C,OAAOA,GAGX,sBAAsBg7B,EAASx0B,GAE3B,MAAOmmC,GAAIC,GAAUp2B,EAAQ,QAC7B,IAWI82B,EAQAjB,EAnBAkB,EAAW/mC,EAAQ+mC,SACnBC,EAAY,CACZC,YAAaF,EAAStrC,KACtByrC,MAAO,UAGPb,EAAa,GACb1J,EAAMnI,EAAQ70B,QAAQg1B,OAC1B0R,EAAa1J,EAAM,IAAM38B,EAAQ60B,UAAY,SAAWuR,IAAW,IAAMW,EAASzpC,KAAKia,MAAM,KAAK2O,MAIlG,IACI4gB,QAAkBK,OAAQ78B,IAAI+7B,EAAYU,EAAUC,GACvD,MAAOhrC,GAEJ,OADAiD,QAAQgH,IAAI,4BAA6BjK,GAClCA,EAIR8qC,EAAUnoC,MACTknC,EAAW,8DAA8DiB,EAAUnoC,KAEvFM,QAAQgH,IAAI,WAAY4/B,GAExB,IAAIuB,EAAc,CACdvS,UAAW70B,EAAQ60B,UACnBgR,SAAUA,EACVpqC,KAAMsrC,EAAStrC,MAGfgM,EAAS,CACT2D,KAAM,CACFmpB,MAAOC,EAAQ70B,QAAQg1B,OACvBx8B,KAAM8V,KAAKC,UAAUk5B,KAG7B,IACI,aAAa3S,OAAIrqB,KAAK,oBAAqB,iBAAkB3C,GAChE,MAAOlN,GACJ0E,QAAQgH,IAAI,QAAS1L,KAK7B,wBAAwBi6B,EAASx0B,GAC7B,IAEI,IAAIyH,EAAS,CACTitB,sBAAuB,CACvBH,MAAOC,EAAQ70B,QAAQg1B,OAAQjtB,YAAa,iBAE5C0D,KAAO,CAAC+rB,YAAalpB,KAAKC,UAAUlO,KAExCf,QAAQgH,IAAI,kCAAmCwB,GAC/C,IAAI4/B,QAAqB5S,OAAIrqB,KAAK,oBAAqB,SAAU3C,GACjE,OAAO4/B,EACV,MAAM9sC,GACH0E,QAAQgH,IAAI,IAAK1L,MAY7BoF,QAAS,M,mFC1ab,wBAEIukB,EAAoB,WAEpB,IAAIzK,EAIAE,EAAQ,WAEKhZ,OAAOa,KAAKiY,EAAU,qBAAnC,IACIoH,EAAUlgB,OAAOa,KAAKiY,EAAU,sBAEjB,IAAIK,YAAYL,EAAU,CACzCO,SAAS,EACTD,UAAW,YACX+G,UAAW,QACX7G,QAAS,sBACTC,SAAU,yBAGdvZ,OAAO2e,WAAWuB,EAAS,CACvBE,kBAAkB,EAClBrB,sBAAsB,EACtBC,oBAAoB,KAyB5B,MAAO,CACHxe,KAAM,SAAS8B,GACXwW,EAAW9Y,OAAOC,QAAQqC,GAErBwW,GAKLE,KAGJQ,WAAY,WACR,OAAOV,IA5DK,GAmETyK,U,mCCrEf,sCAKIL,EAAW,SAAStjB,GAEpB,IAGIG,EAHAF,EAAMC,KAIN2K,EAAOzK,OAAOE,UAGdC,EAAiB,CACjB,UAAc,aACd,KAAU,SACV,MAAU,IACV,MAAU,UACV,QAAY,cAOZE,EAAS,CAKTC,UAAW,SAASV,GAGhB,OAFAS,EAAOG,KAAKZ,GAELC,GAMXW,KAAM,SAASZ,GACXC,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GAEpDC,EAAIf,OAAQ,GAMhBwjB,KAAM,WAoBF,OAnBAjiB,EAAOuB,aAAa,QAEpB7B,EAAU1F,SAASQ,cAAc,OACjCmF,OAAOyf,QAAQ1f,EAASF,EAAID,QAAQlD,SAEpCsD,OAAO0B,SAAS3B,EAAS,uBACzBC,OAAO0B,SAAS3B,EAAS,UAAYF,EAAID,QAAQd,OACjDkB,OAAO0B,SAAS3B,EAAS,UAAYF,EAAID,QAAQ9E,MAEpB,cAAzB+E,EAAID,QAAQugB,WACZngB,OAAO0B,SAAS3B,EAAS,qBAG7B0K,EAAK9O,YAAYoE,GAEjBF,EAAIf,MAAQ,QAEZuB,EAAOuB,aAAa,SAEb/B,GAMX4b,KAAM,WAUF,OATI1b,IACAM,EAAOuB,aAAa,QAEpB7B,EAAQiB,SACRnB,EAAIf,MAAQ,SAEZuB,EAAOuB,aAAa,WAGjB/B,GAMX+B,aAAc,SAASjF,GACnB,IAAK,IAAI7E,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GAEvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,GALhC,GAAmB,GAAf5E,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,MASpDuB,SAAU,SAASzE,EAAMmF,EAASD,GAQ9B,OAPAhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,IAGJlC,IA+Df,OAnDAA,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAIqiC,MAAQ,WACR,MAAoB,SAAbriC,EAAIf,OAMfe,EAAIqB,OAAS,WACT,MAAoB,UAAbrB,EAAIf,OAMfe,EAAIyiB,KAAO,WACP,OAAOjiB,EAAOiiB,QAMlBziB,EAAI4b,KAAO,WACP,OAAOpb,EAAOob,QAOlB5b,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAOjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAI1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,IAEtBC,GAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAUypB,GAGNA,W,4DC9Lf,0DAKIG,EAAW,SAAS1jB,EAAWC,GAE/B,IAAIC,EAAMC,KAINC,EAAUC,OAAOC,QAAQN,GAClBK,OAAOE,UAElB,GAAKH,EAAL,CAKA,IAAII,EAAiB,CACjBwmC,UAAW,EACXC,gBAAgB,GAOhBvmC,EAAS,CAKTC,UAAW,SAASV,GAahB,OAZII,OAAOxI,KAAKuI,GAASQ,IAAI,UACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,WAG/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,SAAUb,IAGhCA,GAMXW,KAAM,SAASZ,GACXC,EAAIE,QAAUA,EACdF,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GAGpDC,EAAIgnC,MAAQ7mC,OAAO0hC,QAAQ3hC,EAAS,6BAEpCF,EAAIinC,QAAU9mC,OAAOa,KAAKd,EAAS,oCACnCF,EAAIknC,QAAU/mC,OAAOa,KAAKd,EAAS,oCACnCF,EAAImnC,UAAYhnC,OAAOa,KAAKd,EAAS,sCAGrCF,EAAIc,OAAS,GACbd,EAAIonC,SAAW,EACfpnC,EAAIqnC,YAAc,EAClBrnC,EAAIsnC,QAAU,EACdtnC,EAAIunC,SAAU,EACdvnC,EAAIwnC,WAAaxnC,EAAIgnC,MAAM7uC,OAGvB6H,EAAID,QAAQ+mC,UAAY,GACxBtmC,EAAOinC,KAAKznC,EAAID,QAAQ+mC,WAI5BtmC,EAAOknC,YAMX9mC,MAAO,WAEHT,OAAOoB,SAASvB,EAAIinC,QAAS,SAAS,SAASltC,GAC3CA,EAAEyH,iBAGFhB,EAAOmnC,WAAWnnC,EAAOonC,gBAGa,IAAlCpnC,EAAOuB,aAAa,WACpBvB,EAAOinC,KAAKjnC,EAAOonC,kBAK3BznC,OAAOoB,SAASvB,EAAIknC,QAAS,SAAS,SAASntC,GAC3CA,EAAEyH,iBAGFhB,EAAOmnC,WAAWnnC,EAAOqnC,gBAGa,IAAlCrnC,EAAOuB,aAAa,WACpBvB,EAAOinC,KAAKjnC,EAAOqnC,mBAIQ,IAA/B7nC,EAAID,QAAQgnC,gBACZ5mC,OAAOiC,GAAGlC,EAAS,4BAA6B,SAAS,WACrD,IAAIqK,EAAQpK,OAAOoK,MAAMtK,MAAQ,EAE7BsK,IAAUvK,EAAIqnC,cACd7mC,EAAOmnC,WAAWp9B,IAGoB,IAAlC/J,EAAOuB,aAAa,WACpBvB,EAAOinC,KAAKl9B,OAO5BpK,OAAOoB,SAASvB,EAAImnC,UAAW,SAAS,SAASptC,GAC7CA,EAAEyH,iBAEFhB,EAAOuB,aAAa,cAO5B0lC,KAAM,SAASK,GAEX,IAAoB,IAAhB9nC,EAAIunC,SAMR,KAAIO,IAAW9nC,EAAIqnC,aAAeS,EAAS9nC,EAAIwnC,YAAcM,EAAS,GAgBtE,OAXAA,EAASvtB,SAASutB,GAGlB9nC,EAAIonC,SAAWpnC,EAAIqnC,YACnBrnC,EAAIqnC,YAAcS,EAClB9nC,EAAIsnC,QAAU,EAEd9mC,EAAOknC,WAEPlnC,EAAOuB,aAAa,WAEb/B,OArBHA,EAAIunC,SAAU,GA2BtBQ,KAAM,WACF/nC,EAAIunC,SAAU,GAMlBS,OAAQ,WACJhoC,EAAIunC,SAAU,GAMlBU,WAAY,WACR,OAAOjoC,EAAIqnC,cAAgBrnC,EAAIwnC,YAMnCU,YAAa,WACT,OAA2B,IAApBloC,EAAIqnC,aAMfc,cAAe,WACX,OAA+B,IAAxB3nC,EAAOynC,eAAmD,IAAzBznC,EAAO0nC,eAMnDR,SAAU,WACN,IAAIU,EAAW,GACX79B,EAAQvK,EAAIqnC,YAAc,EAG1Be,EADA5nC,EAAOynC,aACI,OACJznC,EAAO0nC,cACH,QAEA,UAGf/nC,OAAOia,KAAKpa,EAAIE,QAAS,oBAAqBkoC,GAG9C,IAAIpB,EAAQ7mC,OAAO0hC,QAAQ7hC,EAAIE,QAAS,6BAExC,GAAI8mC,GAASA,EAAM7uC,OAAS,EACxB,IAAK,IAAIF,EAAI,EAAG6pC,EAAMkF,EAAM7uC,OAAQF,EAAI6pC,EAAK7pC,IACrCA,GAAKsS,EACLpK,OAAOia,KAAK4sB,EAAM/uC,GAAI,oBAAqB,WAEvCA,EAAIsS,EACJpK,OAAOia,KAAK4sB,EAAM/uC,GAAI,oBAAqB,QAE3CkI,OAAOia,KAAK4sB,EAAM/uC,GAAI,oBAAqB,WAO3D,IAAIowC,EAAYloC,OAAO0hC,QAAQ7hC,EAAIE,QAAS,kCAC5C,GAAImoC,GAAYA,EAAUlwC,OAAS,EAC/B,IAASF,EAAI,EAAG6pC,EAAMuG,EAAUlwC,OAAQF,EAAI6pC,EAAK7pC,IACzCA,GAAKsS,EACLpK,OAAOia,KAAKiuB,EAAUpwC,GAAI,oBAAqB,WAE/CkI,OAAOmoC,WAAWD,EAAUpwC,GAAI,qBAM5C,IAAIswC,EAAepoC,OAAO0hC,QAAQ7hC,EAAIE,QAAS,qCAC/C,GAAIqoC,GAAeA,EAAapwC,OAAS,EACrC,IAASF,EAAI,EAAG6pC,EAAMyG,EAAapwC,OAAQF,EAAI6pC,EAAK7pC,IAC5CA,GAAKsS,EACLpK,OAAOia,KAAKmuB,EAAatwC,GAAI,oBAAqB,WAElDkI,OAAOmoC,WAAWC,EAAatwC,GAAI,sBASnD2vC,YAAa,WACT,OAAI5nC,EAAIwnC,YAAexnC,EAAIqnC,YAAc,EAC9BrnC,EAAIqnC,YAAc,EAElBrnC,EAAIwnC,YAOnBK,YAAa,WACT,OAAK7nC,EAAIqnC,YAAc,GAAM,EAClBrnC,EAAIqnC,YAAc,EAElB,GAOfmB,WAAY,WACR,OAAOxoC,EAAIsnC,SAMfK,WAAY,SAASc,GACjBzoC,EAAIsnC,QAAUmB,GAMlB1mC,aAAc,SAASjF,EAAM4rC,GAEzB,IAAK,IAAIzwC,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,GALhC,GAAmB,GAAf5E,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,MASpDuB,SAAU,SAASzE,EAAMmF,EAASD,GAQ9B,OAPAhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,IAGJlC,IAqHf,OAzGAA,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAI2oC,OAAS,WACT,OAAOnoC,EAAOinC,KAAKjnC,EAAOonC,gBAM9B5nC,EAAI4oC,OAAS,WACT,OAAOpoC,EAAOinC,KAAKjnC,EAAOqnC,gBAM9B7nC,EAAI6oC,OAAS,WACT,OAAOroC,EAAOinC,KAAKjnC,EAAOsoC,gBAM9B9oC,EAAI+oC,QAAU,WACV,OAAOvoC,EAAOinC,KAAKjnC,EAAOwoC,iBAM9BhpC,EAAIynC,KAAO,SAASK,GAChB,OAAOtnC,EAAOinC,KAAKK,IAMvB9nC,EAAI+nC,KAAO,WACP,OAAOvnC,EAAOunC,QAMlB/nC,EAAIgoC,OAAS,WACT,OAAOxnC,EAAOwnC,UAMlBhoC,EAAIipC,QAAU,WACV,OAAOjpC,EAAIqnC,aAMfrnC,EAAIwoC,WAAa,WACb,OAAOhoC,EAAOgoC,cAMlBxoC,EAAI2nC,WAAa,SAASG,GACtBtnC,EAAOmnC,WAAWG,IAMtB9nC,EAAIioC,WAAa,WACb,OAAOznC,EAAOynC,cAMlBjoC,EAAIkoC,YAAc,WACd,OAAO1nC,EAAO0nC,eAMlBloC,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAMjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAI1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,IAEtBC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAU4pB,GAGNA,W,2DCjcf,8DAEO,MAAMhe,EAAiB,eAGxBvG,EAAQ,CAEZkE,UAAY,GAEZuB,aAAc,EACdC,SAAU,EAEVukC,gBAAiB,GAEb/pC,EAAU,CACd61B,iBAAmB/1B,GACjB,OAAOA,EAAMkE,WAEfuB,YAAazF,GACX,OAAOA,EAAMyF,aAEfC,QAAS1F,GACP,OAAOA,EAAM0F,SAGfukC,eAAgBjqC,GACd,OAAOA,EAAMiqC,iBAIX3pC,EAAU,CAEd,eAEEd,QAAQgH,IAAK,kBAEbsH,aAAI1U,UAAU8wC,SAASplB,QACvBplB,OAAOk/B,eAAe/0B,WAAY,QAElC,UACQ7D,OAAKmkC,UAEb,MAAO5sC,GACLiC,QAAQgH,IAAI,sBAAuBjJ,GAGrCia,SAASpc,KAAK,KAGhBgvC,aAAcrV,EAASx0B,GACrBw0B,EAAQv0B,OAAQ,eAAgBD,IAIlC8pC,eAAetV,EAAS5tB,GACtB4tB,EAAQv0B,OAAQ,iBAAkB2G,IAGpCmjC,WAAWvV,EAASrvB,GAClBqvB,EAAQv0B,OAAQ,aAAckF,IAGhC6kC,kBAAmBxV,EAASkV,GAC1BlV,EAAQv0B,OAAQ,oBAAqBypC,KAInCtpC,EAAY,CAEhB4pC,kBAAmBvqC,EAAOiqC,GAExBjqC,EAAMiqC,eAAiBA,GAGzBG,aAAcpqC,EAAOkE,GACnBlE,EAAMkE,UAAY4J,aAAI1U,UAAU6K,eAAgBC,GAAc,KAAOA,GAGvEomC,WAAYtqC,EAAO0F,GAEjB,GAAI,mBAAqBA,EAGvB,OAFAlG,QAAQgH,IAAK,yCAA0Cd,QACvD1F,EAAM0F,SAAU,GAGlB1F,EAAM0F,QAAUA,GAGlB2kC,eAAgBrqC,EAAOmH,GACrB,GAAI,mBAAqBA,EAGvB,OAFA3H,QAAQgH,IAAK,yCAA0CW,QACvDnH,EAAMyF,aAAc,GAGtBzF,EAAMyF,YAAc0B,IAIT,QACbnH,QACAM,UACAK,YACAT,Y,mCCtGF,wEAWKsqC,QAAQpxC,UAAUqxC,UACtBD,QAAQpxC,UAAUqxC,QAAUD,QAAQpxC,UAAUsxC,mBAAqBF,QAAQpxC,UAAUuxC,uBAOjFH,QAAQpxC,UAAU6pC,UACjBuH,QAAQpxC,UAAUqxC,UACtBD,QAAQpxC,UAAUqxC,QAAUD,QAAQpxC,UAAUsxC,mBAAqBF,QAAQpxC,UAAUuxC,uBAEtFH,QAAQpxC,UAAU6pC,QAAU,SAAU3oC,GACrC,IAAIkoC,EAAKxhC,KACL4pC,EAAW5pC,KACf,IAAKzF,SAASsvC,gBAAgB3G,SAAS1B,GAAK,OAAO,KACnD,EAAG,CACF,GAAIoI,EAASH,QAAQnwC,GAAI,OAAOswC,EAChCA,EAAWA,EAASE,oBACC,OAAbF,GACT,OAAO;;;;;;IAUT,SAAWG,GACV,IAAK,IAAI/xC,EAAI,EAAGA,EAAI+xC,EAAK7xC,OAAQF,IAC3B0G,OAAOqrC,EAAK/xC,OAAO,WAAY0G,OAAOqrC,EAAK/xC,IAAII,aACpDsG,OAAOqrC,EAAK/xC,IAAII,UAAU8I,OAAS,WAClClB,KAAKtE,WAAWC,YAAYqE,QAJ/B,CAOG,CAAC,UAAW,gBAAiB,iBAY/B,WAGG,IAFA,IAAIgqC,EAAW,EACXC,EAAU,CAAC,SAAU,OAChBxhB,EAAI,EAAGA,EAAIwhB,EAAQ/xC,SAAWwG,OAAOwrC,wBAAyBzhB,EACnE/pB,OAAOwrC,sBAAwBxrC,OAAOurC,EAAQxhB,GAAK,yBACnD/pB,OAAOyrC,qBACHzrC,OAAOurC,EAAQxhB,GAAK,yBAA2B/pB,OAAOurC,EAAQxhB,GAAK,+BAGtE/pB,OAAOwrC,wBACRxrC,OAAOwrC,sBAAwB,SAASvmC,GACpC,IAAIymC,GAAW,IAAIn+B,MAAO+T,UACtBqqB,EAAap/B,KAAKka,IAAI,EAAG,IAAMilB,EAAWJ,IAC1CxnC,EAAK9D,OAAO3B,YAAW,WACvB4G,EAASymC,EAAWC,KACrBA,GAEH,OADAL,EAAWI,EAAWC,EACf7nC,IAGV9D,OAAOyrC,uBACRzrC,OAAOyrC,qBAAuB,SAAS3nC,GACnChG,aAAagG,KAtBxB,GA2BD,SAAU8nC,GACNA,EAAI7qC,SAAQ,SAASC,GACbA,EAAKrH,eAAe,YAGxBF,OAAOmF,eAAeoC,EAAM,UAAW,CACnC6qC,cAAc,EACdhtC,YAAY,EACZitC,UAAU,EACV5sC,MAAO,WACH,IAAI6sC,EAAS/lB,MAAMtsB,UAAUwG,MAAMtG,KAAKoyC,WACpCC,EAAUpwC,SAASqwC,yBAEvBH,EAAOhrC,SAAQ,SAASorC,GACpB,IAAIC,EAASD,aAAmBE,KAChCJ,EAAQ9uC,YAAYivC,EAASD,EAAUtwC,SAASywC,eAAeC,OAAOJ,QAG1E7qC,KAAKkrC,aAAaP,EAAS3qC,KAAKmrC,kBAlBhD,CAsBG,CAAC3B,QAAQpxC,UAAWgzC,SAAShzC,UAAWizC,iBAAiBjzC,iBAGjB0E,GAAvC0sC,QAAQpxC,UAAUkzC,oBACpB9B,QAAQpxC,UAAUkzC,kBAAoB,WAIpC,IAHA,IAAIpmC,EAAalF,KAAKkF,WAClBhN,EAASgN,EAAWhN,OACpBa,EAAS,IAAI2rB,MAAMxsB,GACdF,EAAI,EAAGA,EAAIE,EAAQF,IAC1Be,EAAOf,GAAKkN,EAAWlN,GAAG6E,KAE5B,OAAO9D,IAKX2F,OAAO6sC,uBAAyB,GAChC7sC,OAAO8sC,yBAA2B,EAClC9sC,OAAO+sC,6BAA+B,GAEtC,IAAIvrC,EAAS,WACT,IAAIwrC,EAAiB,GAGjBC,EAAc,CACdC,GAAI,EACJC,GAAI,EACJC,GAAI,IACJC,GAAI,MAOJC,EAAuB,WACvB,IAQIC,EARAC,EAAqB,WAErB,IAAK,IAAIl0C,EAAI,EAAGA,EAAI0zC,EAAexzC,OAAQF,IAAK,CAC5C,IAAIm0C,EAAOT,EAAe1zC,GAC1Bm0C,EAAK7zC,SAMboG,OAAOwsB,iBAAiB,UAAU,WAC9BhrB,EAAOksC,SAASH,GAAO,WACnBC,MACD,SAIX,MAAO,CAOHxrC,KAAM,SAAS2rC,GACPA,GAAYA,EAASV,cACrBA,EAAcU,EAASV,aAG3BK,KAOJ7tB,iBAAkB,SAASxa,GACvB+nC,EAAelzC,KAAKmL,IAOxB2oC,oBAAqB,SAAS3oC,GAC1B,IAAK,IAAI3L,EAAI,EAAGA,EAAI0zC,EAAexzC,OAAQF,IACnC2L,IAAa+nC,EAAe1zC,WACrB0zC,EAAe1zC,IAQlCu0C,kBAAmB,WACfL,sBAGJM,OAAQ,WACJ,GAAsB,oBAAXC,MAEP/tC,OAAOguC,cAAc,IAAID,MAAM,eAC5B,CAGH,IAAIE,EAAMjuC,OAAOnE,SAASqyC,YAAY,YACtCD,EAAIE,YAAY,UAAU,GAAM,EAAOnuC,OAAQ,GAC/CA,OAAOguC,cAAcC,KAS7BG,YAAa,SAASC,GAClB,IACI/0C,EAAGg1C,EADHC,EAAevuC,OAAO8X,SAASC,OAAO+O,UAAU,GACxCxe,EAASimC,EAAan2B,MAAM,KAExC,IAAK9e,EAAI,EAAGA,EAAIgP,EAAO9O,OAAQF,IAE3B,GADAg1C,EAAMhmC,EAAOhP,GAAG8e,MAAM,KAClBk2B,EAAI,IAAMD,EACV,OAAOG,SAASF,EAAI,IAI5B,OAAO,MAOXtxB,eAAgB,WACZ,IAAItR,EAAQpK,KAAKua,cAAc4yB,MAAQntC,KAAKotC,cAAc,MAO1D,OALa,IAAThjC,IAEAA,EAA6C,MAAtCwM,UAAUy2B,UAAUp3B,MAAM,UAG9B7L,GAOXkjC,gBAAiB,WACb,OAAOptC,EAAOwb,kBAQlBnB,YAAa,WACT,IAAIzgB,EAAI4E,OACJ4lB,EAAI,QAMR,MALM,eAAgB5lB,SAClB4lB,EAAI,SACJxqB,EAAIS,SAASsvC,iBAAmBtvC,SAASoQ,MAGtC,CACHwiC,MAAOrzC,EAAEwqB,EAAI,SACbjK,OAAQvgB,EAAEwqB,EAAI,YAUtBipB,oBAAqB,SAASzvC,GAC1B,IAAI0vC,EAAaxtC,KAAKua,cAAc4yB,MAEpC,MAAY,WAARrvC,IAEe,WAARA,GAAqB0vC,GAAextC,KAAKotC,cAAc,MAAQ,IAEvD,UAARtvC,GAAqB0vC,GAAextC,KAAKotC,cAAc,MAAQ,GAAMI,EAAaxtC,KAAKotC,cAAc,QAE7F,UAARtvC,GAAoB0vC,GAAcxtC,KAAKotC,cAAc,QAE7C,sBAARtvC,GAAgC0vC,GAAextC,KAAKotC,cAAc,MAAQ,IAElE,qBAARtvC,GAA+B0vC,GAAcxtC,KAAKotC,cAAc,OAExD,6BAARtvC,GAAuC0vC,GAAcxtC,KAAKotC,cAAc,YAavF5yB,eAAgB,SAAS1c,GACrB,IAAIqvC,EAAQntC,KAAKua,cAAc4yB,MACpCK,EAAaxtC,KAAKotC,cAActvC,GAEpC,OAAQqvC,GAASK,GAGlBruB,iBAAkB,SAASrhB,GACjB,IAAIqvC,EAAQntC,KAAKua,cAAc4yB,MACpCK,EAAaxtC,KAAKotC,cAActvC,GAEpC,OAAQqvC,EAAQK,GAQX5M,YAAa,SAAS3a,GAClB,OAAOA,EAAShb,KAAKC,MAAMD,KAAKwiC,UAAY,IAAIxhC,MAAQ+T,YAQ5DotB,cAAe,SAAStvC,GACpB,OAAO6tC,EAAY7tC,IASvB2jC,MAAO,SAASn0B,EAAK7K,GACjB,IAAIirC,EAIJ,GAFAjrC,EAAOA,GAAQ,IAEY,IAAvBA,EAAKyhB,QAAQ,KACb,MAAM,IAAI1oB,MAAM,qCAGpBiH,EAAOA,EAAKqU,MAAM,KAElB,EAAG,CACC,QAAYha,IAARwQ,EACA,OAAO,EAKX,GAFAogC,EAAQjrC,EAAK9J,SAER2U,EAAIjV,eAAeq1C,GACpB,OAAO,EAGXpgC,EAAMA,EAAIogC,SAELjrC,EAAKvK,QAEd,OAAO,GAQXy1C,iBAAkB,SAASnM,GACvB,IAAIjkB,EAAU3f,EAEd,MAAO4jC,GAAMA,IAAOjnC,SAAU,CAM1B,GAFAgjB,EAAWrd,EAAOiB,IAAIqgC,EAAI,aAET,aAAbjkB,GAAwC,aAAbA,GAAwC,UAAbA,KAKtD3f,EAAQ0c,SAASpa,EAAOiB,IAAIqgC,EAAI,aAE3Bta,MAAMtpB,IAAoB,IAAVA,GACjB,OAAOA,EAIf4jC,EAAKA,EAAG9lC,WAGZ,OAAO,MAQXkyC,yBAA0B,SAASpM,GAC/B,IAAIjkB,EAEJ,MAAOikB,GAAMA,IAAOjnC,SAAU,CAG1B,GAFAgjB,EAAWrd,EAAOiB,IAAIqgC,EAAI,YAET,UAAbjkB,EACA,OAAO,EAGXikB,EAAKA,EAAG9lC,WAGZ,OAAO,GAMXmyC,MAAO,SAASC,GAEZ,IADA,IAAIC,GAAQ,IAAI9hC,MAAO+T,UACdhoB,EAAI,EAAGA,EAAI,IAAKA,IACrB,IAAK,IAAIiU,MAAO+T,UAAY+tB,EAASD,EACjC,OAWZE,aAAc,SAAS9oB,EAAKC,GACxB,OAAOla,KAAKC,MAAMD,KAAKwiC,UAAYtoB,EAAMD,EAAM,IAAMA,GAOzD+oB,iBAAkB,WACd,YAAuBnxC,IAAhB4B,OAAOwvC,MAIlB7sC,WAAY,SAAS8sC,GACjBA,EAAMA,GAAO,GAEb,IAAK,IAAIn2C,EAAI,EAAGA,EAAI0yC,UAAUxyC,OAAQF,IAAK,CACvC,IAAIsV,EAAMo9B,UAAU1yC,GACpB,GAAKsV,EAEL,IAAK,IAAIpP,KAAOoP,EACPA,EAAIjV,eAAe6F,KAK0B,oBAA7C/F,OAAOC,UAAUsyB,SAASpyB,KAAKgV,EAAIpP,IAKxCiwC,EAAIjwC,GAAOoP,EAAIpP,GAJXiwC,EAAIjwC,GAAOgC,EAAOmB,WAAW8sC,EAAIjwC,GAAMoP,EAAIpP,KAQvD,OAAOiwC,GAIXC,OAAQ,SAASD,GACbA,EAAMA,GAAO,GAEb,IAAK,IAAIn2C,EAAI,EAAGA,EAAI0yC,UAAUxyC,OAAQF,IAClC,GAAK0yC,UAAU1yC,GAGf,IAAK,IAAIkG,KAAOwsC,UAAU1yC,GAClB0yC,UAAU1yC,GAAGK,eAAe6F,KAC5BiwC,EAAIjwC,GAAOwsC,UAAU1yC,GAAGkG,IAIpC,OAAOiwC,GAGXhuC,QAAS,SAASqhC,GACd,MAAkB,kBAAPA,EACAjnC,SAAS8zC,eAAe7M,GAExBA,GAIf8M,SAAU,SAAS/kC,GACf,OAAOhP,SAASC,qBAAqB+O,IAGzC86B,aAAc,SAAS96B,GACnB,OAAOhP,SAASC,qBAAqB+O,IAGzCglC,WAAY,SAAShlC,GACjB,OAAOhP,SAASi0C,uBAAuBjlC,IAG3CnJ,QAAS,WACL,OAAO7F,SAASC,qBAAqB,QAAQ,IASjDknC,WAAY,SAASF,EAAIkD,GACrB,GAAKlD,EAAL,CAMA,IAFA,IAAIiN,EAAa/J,EAAQ5tB,MAAM,KAEtB9e,EAAI,EAAGA,EAAIy2C,EAAWv2C,OAAQF,IACnC,GAAuD,GAAnDkI,EAAOkZ,SAASooB,EAAIthC,EAAOsqB,KAAKikB,EAAWz2C,KAC3C,OAAO,EAIf,OAAO,IAGXohB,SAAU,SAASooB,EAAIoD,GACnB,GAAKpD,EAIL,OAAOA,EAAGqD,UAAYrD,EAAGqD,UAAU3B,SAAS0B,GAAa,IAAIz6B,OAAO,MAAQy6B,EAAY,OAAOx6B,KAAKo3B,EAAGoD,YAG3GhjC,SAAU,SAAS4/B,EAAIoD,GACnB,GAAKpD,GAA2B,qBAAdoD,EAAlB,CAIA,IAAI8J,EAAa9J,EAAU9tB,MAAM,KAEjC,GAAI0qB,EAAGqD,UACH,IAAK,IAAI7sC,EAAI,EAAGA,EAAI02C,EAAWx2C,OAAQF,IAC/B02C,EAAW12C,IAAM02C,EAAW12C,GAAGE,OAAS,GACxCspC,EAAGqD,UAAUzgB,IAAIlkB,EAAOsqB,KAAKkkB,EAAW12C,UAG7C,IAAKkI,EAAOkZ,SAASooB,EAAIoD,GAC5B,IAAK,IAAInc,EAAI,EAAGA,EAAIimB,EAAWx2C,OAAQuwB,IACnC+Y,EAAGoD,WAAa,IAAM1kC,EAAOsqB,KAAKkkB,EAAWjmB,MAKzD5mB,YAAa,SAAS2/B,EAAIoD,GACxB,GAAKpD,GAA2B,qBAAdoD,EAAlB,CAIE,IAAI8J,EAAa9J,EAAU9tB,MAAM,KAEjC,GAAI0qB,EAAGqD,UACH,IAAK,IAAI7sC,EAAI,EAAGA,EAAI02C,EAAWx2C,OAAQF,IACnCwpC,EAAGqD,UAAU3jC,OAAOhB,EAAOsqB,KAAKkkB,EAAW12C,UAE5C,GAAIkI,EAAOkZ,SAASooB,EAAIoD,GAC3B,IAAK,IAAInc,EAAI,EAAGA,EAAIimB,EAAWx2C,OAAQuwB,IACnC+Y,EAAGoD,UAAYpD,EAAGoD,UAAUhgB,QAAQ,IAAIza,OAAO,MAAQjK,EAAOsqB,KAAKkkB,EAAWjmB,IAAM,MAAO,KAAM,MAK7GkmB,mBAAoB,SAASnN,EAAIoN,EAAWl3C,GACxC,IAAIyD,EACAuD,OAAOmwC,YACP1zC,EAAQ,IAAI0zC,YAAYD,EAAW,CAC/BE,OAAQp3C,KAGZyD,EAAQZ,SAASqyC,YAAY,eAC7BzxC,EAAM4zC,gBAAgBH,GAAW,GAAM,EAAMl3C,IAGjD8pC,EAAGkL,cAAcvxC,IAGrB6zC,aAAc,SAASvvB,EAAMmvB,GAEzB,IAAIK,EACJ,GAAIxvB,EAAKyvB,cACLD,EAAMxvB,EAAKyvB,kBACR,IAAqB,GAAjBzvB,EAAK0vB,SAIZ,MAAM,IAAI3zC,MAAM,qCAAuCikB,EAAKjd,IAF5DysC,EAAMxvB,EAKV,GAAIA,EAAKitB,cAAe,CAEpB,IAAI0C,EAAa,GAKjB,OAAQR,GACR,IAAK,QACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,UACDQ,EAAa,cACb,MAEJ,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,SACDA,EAAa,aACb,MAEJ,QACI,KAAM,sDAAwDR,EAAY,KAG9E,IAAIzzC,EAAQ8zC,EAAIrC,YAAYwC,GAExBC,EAAuB,UAAbT,EACdzzC,EAAMm0C,UAAUV,EAAWS,GAAS,GAEpCl0C,EAAMo0C,WAAY,EAElB9vB,EAAKitB,cAAcvxC,GAAO,QACvB,GAAIskB,EAAK+vB,UAAW,CAEnBr0C,EAAQ8zC,EAAIQ,oBAChBt0C,EAAMo0C,WAAY,EAClB9vB,EAAK+vB,UAAU,KAAOZ,EAAWzzC,KAIzCmP,MAAO,SAAUk3B,GAEb,IADA,IAAItkC,EAAIskC,EAAG9lC,WAAW2M,SAAUrQ,EAAI,EAC9BA,EAAIkF,EAAEhF,OAAQF,IAChB,GAAIkF,EAAElF,IAAMwpC,EAAK,OAAOxpC,GAGhCwyB,KAAM,SAASklB,GACX,OAAOA,EAAOllB,QAGlBmlB,eAAgB,SAAS71C,GACrB,QAAIA,EAAE81C,cAAcC,QAAQC,YAGxBh2C,EAAE81C,cAAcC,QAAQC,WAAY,GAE7B,IAIf5uC,OAAQ,SAASsgC,GACTA,GAAMA,EAAG9lC,YACT8lC,EAAG9lC,WAAWC,YAAY6lC,IAIlCzgC,KAAM,SAAS8P,EAAQtH,GAEnB,GADAsH,EAAS3Q,EAAOC,QAAQ0Q,GACpBA,EACA,OAAOA,EAAOk/B,cAAcxmC,IAIpCq4B,QAAS,SAAS/wB,EAAQtH,GAEtB,GADAsH,EAAS3Q,EAAOC,QAAQ0Q,GACpBA,EACA,OAAOA,EAAO6U,iBAAiBnc,IAIvCymC,YAAa,SAASxO,EAAIyO,GACtB,OAAOA,EAAcv0C,WAAWwvC,aAAa1J,EAAIyO,EAAcC,cAGnE1M,QAAS,SAASuG,EAAM/b,GAEfwb,QAAQpxC,UAAUqxC,UACnBD,QAAQpxC,UAAUqxC,QACdD,QAAQpxC,UAAU+3C,iBAClB3G,QAAQpxC,UAAUg4C,oBAClB5G,QAAQpxC,UAAUsxC,mBAClBF,QAAQpxC,UAAUi4C,kBAClB7G,QAAQpxC,UAAUuxC,uBAClB,SAASrwC,GACL,IAAImwC,GAAWzpC,KAAKzF,UAAYyF,KAAKkvC,eAAexpB,iBAAiBpsB,GACjEtB,EAAIyxC,EAAQvxC,OAChB,QAASF,GAAK,GAAKyxC,EAAQ/pC,KAAK1H,KAAOgI,MACvC,OAAOhI,GAAK,IAQxB,IAHA,IAAIwrC,EAAU,GAGNuG,GAAQA,IAASxvC,SAAUwvC,EAAOA,EAAKruC,WACvCsyB,EACI+b,EAAKN,QAAQzb,IACbwV,EAAQhrC,KAAKuxC,GAIrBvG,EAAQhrC,KAAKuxC,GAIjB,OAAOvG,GAGXn7B,SAAU,SAASm5B,EAAIxT,EAAUxoB,GAC7B,GAAKg8B,GAAOA,EAAG8O,WAAf,CAQA,IAJA,IAAIv3C,EAAS,GACTf,EAAI,EACJ6B,EAAI2nC,EAAG8O,WAAWp4C,OAEVF,EAAI6B,IAAK7B,EACgB,GAA7BwpC,EAAG8O,WAAWt4C,GAAGm3C,UAAiBjvC,EAAOupC,QAAQjI,EAAG8O,WAAWt4C,GAAIg2B,EAAUxoB,IAC7EzM,EAAOP,KAAKgpC,EAAG8O,WAAWt4C,IAIlC,OAAOe,IAGXupC,MAAO,SAASd,EAAIxT,EAAUxoB,GAC1B,IAAI6C,EAAWnI,EAAOmI,SAASm5B,EAAIxT,EAAUxoB,GAE7C,OAAO6C,EAAWA,EAAS,GAAK,MAGpCohC,QAAS,SAASjI,EAAIxT,EAAUxoB,GAC5B,IAAI9L,EAAI8vC,QAAQpxC,UACZ4rB,EAAItqB,EAAE+vC,SAAW/vC,EAAEiwC,uBAAyBjwC,EAAE02C,oBAAsB12C,EAAEgwC,mBAAqB,SAASpwC,GACpG,OAAgE,IAAzD,GAAG4qB,QAAQ5rB,KAAKiC,SAASmrB,iBAAiBpsB,GAAI0G,OAGzD,SAAIwhC,IAAMA,EAAGjd,UACFP,EAAE1rB,KAAKkpC,EAAIxT,IAM1Bt2B,KAAM,SAAS8pC,GACX,MAAO,CACH5gC,IAAK,SAAS/D,EAAMnF,GACX8pC,SAIoB1kC,IAArB0kC,EAAG+O,gBACH7xC,OAAO8sC,2BACPhK,EAAG+O,cAAgB7xC,OAAO8sC,+BAG0B1uC,IAApD4B,OAAO6sC,uBAAuB/J,EAAG+O,iBACjC7xC,OAAO6sC,uBAAuB/J,EAAG+O,eAAiB,IAGtD7xC,OAAO6sC,uBAAuB/J,EAAG+O,eAAe1zC,GAAQnF,IAG5D8F,IAAK,SAASX,GACV,GAAK2kC,EAIL,YAAyB1kC,IAArB0kC,EAAG+O,cACI,KAGJvwC,KAAKS,IAAI5D,GAAQ6B,OAAO6sC,uBAAuB/J,EAAG+O,eAAe1zC,GAAQ,MAGpF4D,IAAK,SAAS5D,GACV,QAAK2kC,SAIoB1kC,IAArB0kC,EAAG+O,kBAIC7xC,OAAO6sC,uBAAuB/J,EAAG+O,iBAAkB7xC,OAAO6sC,uBAAuB/J,EAAG+O,eAAe1zC,MAG/GqE,OAAQ,SAASrE,GACT2kC,GAAMxhC,KAAKS,IAAI5D,WACR6B,OAAO6sC,uBAAuB/J,EAAG+O,eAAe1zC,MAMvE2zC,WAAY,SAAShP,EAAIiP,GACrB,IAAItD,EAEJ,OAAe,IAAXsD,GACAtD,EAAQtoB,WAAW2c,EAAGkP,aACtBvD,GAAStoB,WAAW3kB,EAAOiB,IAAIqgC,EAAI,gBAAkB3c,WAAW3kB,EAAOiB,IAAIqgC,EAAI,iBAExE3c,WAAWsoB,KAElBA,EAAQtoB,WAAW2c,EAAGkP,aAEfvD,IAIfhwB,OAAQ,SAASqkB,GACb,IAAImP,EAAMC,EAEV,GAAMpP,EASN,OAAMA,EAAGqP,iBAAiB34C,QAK1By4C,EAAOnP,EAAGsP,wBACVF,EAAMpP,EAAG0N,cAAc6B,YAEhB,CACHvzB,IAAKmzB,EAAKnzB,IAAMozB,EAAII,YACpBpzB,KAAM+yB,EAAK/yB,KAAOgzB,EAAIK,cATf,CAAEzzB,IAAK,EAAGI,KAAM,IAa/BvD,OAAQ,SAASmnB,GACb,OAAOthC,EAAOiB,IAAIqgC,EAAI,WAG1B0P,YAAa,SAAS1P,EAAI2P,GACtB,IACIC,EADA/2B,EAASmnB,EAAG6P,aAGhB,MAA0B,qBAAfF,IAA6C,IAAfA,GACrCC,EAAQE,iBAAiB9P,GACzBnnB,GAAUC,SAAS82B,EAAMG,WAAaj3B,SAAS82B,EAAMI,cAE9Cn3B,GAEAA,GAIfo3B,QAAS,SAASjQ,GACd,QAA4B,IAAnBA,EAAGkP,aAAyC,IAApBlP,EAAG6P,eAGxCl3B,KAAM,SAASqnB,EAAI3kC,EAAMe,GACrB,QAAUd,GAAN0kC,EAIJ,YAAc1kC,IAAVc,EAGO4jC,EAAG7mC,aAAakC,QAFvB2kC,EAAGllC,aAAaO,EAAMe,IAM9BwhB,QAAS,SAASoiB,EAAI3kC,GAClB,QAAUC,GAAN0kC,EAIJ,QAAOA,EAAG7mC,aAAakC,IAG3BwrC,WAAY,SAAS7G,EAAI3kC,QACXC,GAAN0kC,GAIJA,EAAGlS,gBAAgBzyB,IAGvB60C,QAAS,SAASvM,EAAMwM,EAAIC,EAAUhoC,EAAQioC,EAAQC,GAKlD,IAAIC,EAAU,GAUd,GAPAA,EAAQC,OAAS,SAASn0C,EAAGmrB,EAAG9rB,EAAGC,GAC/B,OAAOD,EAAIW,EAAIV,EAAI6rB,GAGvB6oB,EAASE,EAAQC,OAGG,kBAAT7M,GACO,kBAAPwM,GACa,kBAAbC,GACW,oBAAXhoC,EAHX,CAQoB,oBAATkoC,IACPA,EAAO,cAIX,IAAIG,EAAMvzC,OAAOwrC,uBAAyB,SAASvmC,GAC/CjF,OAAO3B,WAAW4G,EAAU,KAK5BuuC,EAASP,EAAKxM,EAgBlBv7B,EAAOu7B,GAGP,IAAI4I,EAAQrvC,OAAOyzC,aAAezzC,OAAOyzC,YAAYnnB,IAAMtsB,OAAOyzC,YAAYnnB,OAAS,IAAI/e,KAE3FgmC,EAAIG,GAnBJ,SAASA,EAAKC,GACV,IAAI1kC,GAAQ0kC,IAAc,IAAIpmC,MAAU8hC,EAEpCpgC,GAAQ,GACR/D,EAAOioC,EAAOlkC,EAAMw3B,EAAM+M,EAAQN,IAElCjkC,GAAQ,GAAKA,GAAQikC,GACrBhoC,EAAO+nC,GACPG,KAEAG,EAAIG,KAYhBE,UAAW,SAAS9Q,EAAIj0B,EAAMglC,GAC1B,IAOQ30C,EAPJuD,EAAM,GAEV,GAAIqgC,aAAcgR,eAAgB,EAIlC,OAAKhR,EAAG7mC,aAAa,aAAe4S,KAAmB,IAAVglC,EAsBlC1tB,WAAW2c,EAAG7mC,aAAa,aAAe4S,KAjBjDpM,EAAMqgC,EAAG4P,MAAMqB,QACfjR,EAAG4P,MAAMqB,QAAU,0DAEP,SAARllC,EACA3P,EAAQ4jC,EAAGkP,YACI,UAARnjC,IACP3P,EAAQ4jC,EAAG6P,cAGf7P,EAAG4P,MAAMqB,QAAUtxC,EAGnBqgC,EAAGllC,aAAa,aAAeiR,EAAM3P,GAE9BinB,WAAWjnB,KAO1B8e,aAAc,SAAS8kB,EAAI+Q,GACvB,OAAOryC,EAAOoyC,UAAU9Q,EAAI,SAAU+Q,IAG1CG,YAAa,SAASlR,EAAI+Q,GACtB,OAAOryC,EAAOoyC,UAAU9Q,EAAI,QAAS+Q,IAGzCI,UAAW,SAAS1yC,EAAS8qB,GAGzB,OADAA,EAAS,SAAWA,EACZ9qB,GAAWvB,QAAUuB,GAAW1F,SACpCq4C,KAAgB,aAAV7nB,EAAyB,cAAgB,gBAC9C8nB,yBAA2Bt4C,SAASsvC,gBAAgB9e,IACrDxwB,SAASoQ,KAAKogB,GACd9qB,EAAQ8qB,IAGhB5pB,IAAK,SAASqgC,EAAIsR,EAAWl1C,GACzB,GAAK4jC,EAIL,QAAc1kC,IAAVc,EACA4jC,EAAG4P,MAAM0B,GAAal1C,MACnB,CACH,IAAImzC,GAAevP,EAAG0N,eAAiB30C,UAAUw2C,YAEjD,GAAIA,GAAeA,EAAYO,iBAI3B,OADAwB,EAAYA,EAAUluB,QAAQ,WAAY,OAAO3U,cAC1C8gC,EAAYO,iBAAiB9P,EAAI,MAAMuR,iBAAiBD,GAC5D,GAAItR,EAAGwR,aAOV,OALAF,EAAYA,EAAUluB,QAAQ,WAAW,SAASxY,EAAK6mC,GACnD,OAAOA,EAAOnnB,iBAElBluB,EAAQ4jC,EAAGwR,aAAaF,GAEpB,sBAAsB1oC,KAAKxM,GACnB,SAASA,GACb,IAAIs1C,EAAU1R,EAAG4P,MAAMxzB,KACnBu1B,EAAY3R,EAAG4R,aAAax1B,KAMhC,OALA4jB,EAAG4R,aAAax1B,KAAO4jB,EAAGwR,aAAap1B,KACvC4jB,EAAG4P,MAAMxzB,KAAOhgB,GAAS,EACzBA,EAAQ4jC,EAAG4P,MAAMiC,UAAY,KAC7B7R,EAAG4P,MAAMxzB,KAAOs1B,EAChB1R,EAAG4R,aAAax1B,KAAOu1B,EAChBv1C,EARH,CASLA,GAEAA,IAKnB01C,MAAO,SAAS9R,EAAI+R,EAAK5gB,EAAOhvB,EAAU6vC,GACtC,MAAKhS,GAAc,MAAP+R,IAAsC,IAAvBrzC,EAAOuxC,QAAQjQ,IAA0B,QAAP+R,IAAwC,IAAvBrzC,EAAOuxC,QAAQjQ,IAA7F,CAIA7O,EAASA,GAAgB,IACzB,IAAI8gB,EAAavzC,EAAOwc,aAAa8kB,GACjCkS,GAAiB,EACjBC,GAAoB,EAEpBzzC,EAAOiB,IAAIqgC,EAAI,iBAA+D,IAA7CthC,EAAOxI,KAAK8pC,GAAI/gC,IAAI,sBACrDP,EAAOxI,KAAK8pC,GAAI5gC,IAAI,oBAAqBV,EAAOiB,IAAIqgC,EAAI,gBAGxDthC,EAAOiB,IAAIqgC,EAAI,oBAAqE,IAAhDthC,EAAOxI,KAAK8pC,GAAI/gC,IAAI,yBACxDP,EAAOxI,KAAK8pC,GAAI5gC,IAAI,uBAAwBV,EAAOiB,IAAIqgC,EAAI,mBAG3DthC,EAAOxI,KAAK8pC,GAAI/gC,IAAI,uBACpBizC,EAAiBp5B,SAASpa,EAAOxI,KAAK8pC,GAAIhkC,IAAI,uBAG9C0C,EAAOxI,KAAK8pC,GAAI/gC,IAAI,0BACpBkzC,EAAoBr5B,SAASpa,EAAOxI,KAAK8pC,GAAIhkC,IAAI,0BAG1C,MAAP+1C,GACA/R,EAAG4P,MAAMqB,QAAU,oCAEfiB,GACAxzC,EAAOwxC,QAAQ,EAAGgC,EAAgB/gB,GAAO,SAAS/0B,GAC9C4jC,EAAG4P,MAAMwC,WAAcF,EAAiB91C,EAAS,OAClD,UAGH+1C,GACAzzC,EAAOwxC,QAAQ,EAAGiC,EAAmBhhB,GAAO,SAAS/0B,GACjD4jC,EAAG4P,MAAMyC,cAAiBF,EAAoB/1C,EAAS,OACxD,UAGPsC,EAAOwxC,QAAQ,EAAG+B,EAAY9gB,GAAO,SAAS/0B,GAC1C4jC,EAAG4P,MAAM/2B,OAAUo5B,EAAa71C,EAAS,OAC1C,UAAU,WACT4jC,EAAG4P,MAAM/2B,OAAS,GAClBmnB,EAAG4P,MAAM0C,QAAU,OAEK,oBAAbnwC,GACPA,QAKM,QAAP4vC,IACP/R,EAAG4P,MAAMqB,QAAU,oCAEfiB,GACAxzC,EAAOwxC,QAAQ,EAAGgC,EAAgB/gB,GAAO,SAAS/0B,GAC9C4jC,EAAG4P,MAAMwC,WAAah2C,EAAQ,OAC/B,UAAU,WACT4jC,EAAG4P,MAAMwC,WAAa,MAI1BD,GACAzzC,EAAOwxC,QAAQ,EAAGiC,EAAmBhhB,GAAO,SAAS/0B,GACjD4jC,EAAG4P,MAAMyC,cAAgBj2C,EAAQ,OAClC,UAAU,WACT4jC,EAAG4P,MAAMyC,cAAgB,MAIjC3zC,EAAOwxC,QAAQ,EAAG+B,EAAY9gB,GAAO,SAAS/0B,GAC1C4jC,EAAG4P,MAAM/2B,OAASzc,EAAQ,OAC3B,UAAU,WACT4jC,EAAG4P,MAAM/2B,OAAS,GAClBmnB,EAAG4P,MAAM0C,QAAU,GACnBtS,EAAG4P,MAAM2C,SAAW,GAEI,oBAAbpwC,GACPA,UAMhBg/B,QAAS,SAASnB,EAAI7O,EAAOhvB,GACzBzD,EAAOozC,MAAM9R,EAAI,KAAM7O,EAAOhvB,IAGlCi/B,UAAW,SAASpB,EAAI7O,EAAOhvB,GAC3BzD,EAAOozC,MAAM9R,EAAI,OAAQ7O,EAAOhvB,IAGpC6e,KAAM,SAASgf,EAAIsS,GACG,qBAAPtS,IACPA,EAAG4P,MAAM0C,QAAWA,GAAoB,UAIhDn4B,KAAM,SAAS6lB,GACO,qBAAPA,IACPA,EAAG4P,MAAM0C,QAAU,SAI3BxyC,SAAU,SAASkgC,EAAIxmC,EAAMgH,EAASD,GAChB,qBAAPy/B,GAA6B,OAAPA,GAC7BA,EAAGtW,iBAAiBlwB,EAAMgH,IAIlCiiC,YAAa,SAASzC,EAAIxmC,EAAMgH,GACjB,OAAPw/B,GACAA,EAAGwS,oBAAoBh5C,EAAMgH,IAIrCG,GAAI,SAASlC,EAAS+tB,EAAU7yB,EAAO6G,GACnC,GAAKgsB,EAAL,CAIA,IAAIimB,EAAU/zC,EAAO0gC,YAAY,SAmBjC,OAjBAliC,OAAO+sC,6BAA6BwI,GAAW,SAASn6C,GACpD,IAAIo6C,EAAUj0C,EAAQylB,iBAAiBsI,GACnC3yB,EAASvB,EAAEuB,OAEf,MAAOA,GAAUA,IAAW4E,EAAS,CACjC,IAAK,IAAIjI,EAAI,EAAGkB,EAAIg7C,EAAQh8C,OAAQF,EAAIkB,EAAGlB,IACnCqD,IAAW64C,EAAQl8C,IACnBgK,EAAQ1J,KAAK+C,EAAQvB,GAI7BuB,EAASA,EAAOK,aAIxBwE,EAAOoB,SAASrB,EAAS9E,EAAOuD,OAAO+sC,6BAA6BwI,IAE7DA,IAGXhwB,IAAK,SAAShkB,EAAS9E,EAAO84C,GACrBh0C,GAAYvB,OAAO+sC,6BAA6BwI,KAIrD/zC,EAAO+jC,YAAYhkC,EAAS9E,EAAOuD,OAAO+sC,6BAA6BwI,WAEhEv1C,OAAO+sC,6BAA6BwI,KAG/ClyC,IAAK,SAAiBy/B,EAAIxmC,EAAM2I,GAC5B69B,EAAGtW,iBAAiBlwB,GAAM,SAASm5C,EAAOr6C,GAYtC,OAVIA,EAAEuB,QAAUvB,EAAEuB,OAAO24C,qBACrBl6C,EAAEuB,OAAO24C,oBAAoBl6C,EAAEkB,KAAMm5C,GAIrC3S,GAAMA,EAAGwS,qBACrBl6C,EAAE81C,cAAcoE,oBAAoBl6C,EAAEkB,KAAMm5C,GAI7BxwC,EAAS7J,OAIxBs6C,KAAM,SAAShoC,GACX,IACIpU,EAAGq8C,EADHD,EAAO,EAGX,GAAmB,IAAfhoC,EAAIlU,OAAc,OAAOk8C,EAC7B,IAAKp8C,EAAI,EAAGA,EAAIoU,EAAIlU,OAAQF,IACxBq8C,EAAMjoC,EAAIG,WAAWvU,GACrBo8C,GAASA,GAAQ,GAAKA,EAAQC,EAC9BD,GAAQ,EAGZ,OAAOA,GAGXE,aAAc,SAAS9S,EAAI+S,EAAe5wC,GACtC,IAAI6wC,EACAC,EAAa,CACbD,UAAW,eACXE,WAAY,gBACZC,aAAc,kBACdC,gBAAiB,qBACjBC,YAAa,kBAGjB,IAAK,IAAIh3C,KAAK42C,OACU33C,IAAhB0kC,EAAG4P,MAAMvzC,KACT22C,EAAYC,EAAW52C,IAI/BqC,EAAO0B,SAAS4/B,EAAI,YAAc+S,GAElCr0C,EAAO6B,IAAIy/B,EAAIgT,GAAW,WACtBt0C,EAAO2B,YAAY2/B,EAAI,YAAc+S,MAGrC5wC,GACAzD,EAAO6B,IAAIy/B,EAAIgT,EAAW7wC,IAIlCmxC,cAAe,SAAStT,EAAI79B,GACxB,IAAIoxC,EACAC,EAAc,CACdD,WAAY,gBACZE,YAAa,iBACbC,cAAe,mBACfC,iBAAkB,sBAClBC,aAAc,mBAGlB,IAAK,IAAIv3C,KAAKm3C,OACUl4C,IAAhB0kC,EAAG4P,MAAMvzC,KACTk3C,EAAaC,EAAYn3C,IAIjCqC,EAAO6B,IAAIy/B,EAAIuT,EAAYpxC,IAG/B0xC,aAAc,SAAS7T,EAAI79B,GACvB,IAAI6wC,EACAC,EAAa,CACbD,UAAW,eACXE,WAAY,gBACZC,aAAc,kBACdC,gBAAiB,qBACjBC,YAAa,kBAGjB,IAAK,IAAIh3C,KAAK42C,OACU33C,IAAhB0kC,EAAG4P,MAAMvzC,KACT22C,EAAYC,EAAW52C,IAI/BqC,EAAO6B,IAAIy/B,EAAIgT,EAAW7wC,IAG9B2xC,aAAc,SAAS9T,EAAI5jC,GAEvB,IADA,IAAIqsC,EAAU,CAAC,UAAW,OAAQ,MAAO,KAAM,IACtCjyC,EAAI,EAAGA,EAAIiyC,EAAQ/xC,OAAQF,IAChCkI,EAAOiB,IAAIqgC,EAAIyI,EAAQjyC,GAAK,kBAAmB4F,IAIvD23C,gBAAiB,SAAS/T,EAAI5jC,GAE1B,IADA,IAAIqsC,EAAU,CAAC,UAAW,OAAQ,MAAO,KAAM,IACtCjyC,EAAI,EAAGA,EAAIiyC,EAAQ/xC,OAAQF,IAChCkI,EAAOiB,IAAIqgC,EAAIyI,EAAQjyC,GAAK,qBAAsB4F,IAI1DklC,SAAU,SAASznC,EAAQ8hB,EAAQy0B,GAC3BA,EAAWA,GAAsB,IAArC,IAGIzM,EAAMwM,EAFN6D,EAAYn6C,EAAS6E,EAAOid,OAAO9hB,GAAQmiB,IAAM,EACjDi4B,EAAY/2C,OAAOsyC,aAAez2C,SAASsvC,gBAAgBtuB,WAAahhB,SAASoQ,KAAK4Q,WAAa,EAGnG4B,IACAs4B,GAAat4B,GAGjBgoB,EAAOsQ,EACP9D,EAAK6D,EAELt1C,EAAOwxC,QAAQvM,EAAMwM,EAAIC,GAAU,SAASh0C,GACxCrD,SAASsvC,gBAAgBtuB,UAAY3d,EACrCrD,SAASoQ,KAAKjP,WAAW6f,UAAY3d,EACrCrD,SAASoQ,KAAK4Q,UAAY3d,MAIlC2d,UAAW,SAAS4B,EAAQy0B,GACxB1xC,EAAO4iC,SAAS,KAAM3lB,EAAQy0B,IAGlCjtB,QAAS,SAASrX,GACd,OAAOA,GAAOoX,MAAMC,QAAQrX,IAGhCooC,MAAO,SAAS/xC,IACRpJ,SAASo7C,YAAsC,aAAxBp7C,SAASq7C,WAAoD,YAAxBr7C,SAASq7C,YACrEjyC,IAEApJ,SAAS2wB,iBAAiB,mBAAoBvnB,IAItDkyC,QAAS,SAASvoC,GACd,IAAK,IAAIC,KAAQD,EACb,GAAIA,EAAIjV,eAAekV,GACnB,OAAO,EAIf,OAAO,GAGXuoC,aAAc,SAASC,GACnBA,GAAQ,GACR,IAAIttB,EAAIstB,EAAKj/B,MAAM,KACfk/B,EAAKvtB,EAAE,GACPwtB,EAAKxtB,EAAEvwB,OAAS,EAAI,IAAMuwB,EAAE,GAAK,GACjCytB,EAAM,eACV,MAAOA,EAAI9rC,KAAK4rC,GACZA,EAAKA,EAAGpxB,QAAQsxB,EAAK,SAEzB,OAAOF,EAAKC,GAGhBE,SAAU,WACN,IAAIC,EAAK13C,OAAOkY,UAAUy2B,UAgBtBgJ,EAAOD,EAAGlyB,QAAQ,SACtB,GAAImyB,EAAO,EAEP,OAAO/7B,SAAS87B,EAAG5wB,UAAU6wB,EAAO,EAAGD,EAAGlyB,QAAQ,IAAKmyB,IAAQ,IAGnE,IAAIC,EAAUF,EAAGlyB,QAAQ,YACzB,GAAIoyB,EAAU,EAAG,CAEb,IAAIC,EAAKH,EAAGlyB,QAAQ,OACpB,OAAO5J,SAAS87B,EAAG5wB,UAAU+wB,EAAK,EAAGH,EAAGlyB,QAAQ,IAAKqyB,IAAM,IAG/D,IAAIC,EAAOJ,EAAGlyB,QAAQ,SACtB,OAAIsyB,EAAO,GAEAl8B,SAAS87B,EAAG5wB,UAAUgxB,EAAO,EAAGJ,EAAGlyB,QAAQ,IAAKsyB,IAAQ,KAOvEC,MAAO,WACH,IAAIrpC,EAAOlN,EAAOmkC,aAAa,QAAQ,GAEvC,GAAIj3B,EACA,MAA0C,OAAlClN,EAAOia,KAAK/M,EAAM,cAKlCyR,WAAY,SAAS5e,EAASH,GAC1B,GAAKG,EAAL,CAKA,IAAIy2C,EAAmB,CACnBC,WAAY,GACZC,aAAa,EACbC,kBAAkB,EAClBC,mBAAoB,GACpBC,mBAAoB,IACpBC,iBAAiB,GAGrBl3C,EAAUI,EAAOmB,WAAW,GAAIq1C,EAAkB52C,GAmHlDY,IAGIZ,EAAQof,oBACRhf,EAAOie,kBAAiB,WACpBzd,OArHR,SAASA,IACL,IAAIgf,EACArF,EAGA5W,EAAQxD,EAAQqrC,oBA4BpB,GA3BI7nC,EAAMvL,OAAS,GACfuL,EAAMhE,SAAQ,SAASw3C,GAE5B,GAAK,YAAa7sC,KAAK6sC,IACwD,GAA9D,CAAC,SAAU,SAAU,iBAAiBpwC,SAASqwC,GAAsB,CACrE,IAAIA,EAAaD,EAASryB,QAAQ,QAAS,IAAI3U,cAAc2U,QAAQ,gBAAgB,SAAS3O,GACzG,OAAOA,EAAM2O,QAAQ,IAAK,IAAIkH,iBAGnBhsB,EAAQo3C,GAAch3C,EAAOi3C,cAAcl3C,EAAQtF,aAAas8C,QAO5E58B,EADAva,EAAQua,kBAAkB+8B,SACjBt3C,EAAQua,OAAO/hB,QAEQ,IAA5B4H,EAAOwb,kBAA6B5b,EAAQu3C,aACnC/8B,SAASxa,EAAQu3C,cACnBv3C,EAAQua,OACNC,SAASxa,EAAQua,QAEjBC,SAASpa,EAAOiB,IAAIlB,EAAS,YAI/B,IAAXoa,EAAJ,CASA,GAHAA,EAASC,SAASD,IAGbva,EAAQif,oBAAsBjf,EAAQwgB,oBAAiD,IAA5BpgB,EAAOwb,iBAmBnE,OAlBAgE,EAAKxf,EAAOxI,KAAKuI,GAASzC,IAAI,WAC1BkiB,GACI5f,EAAQmf,qBACR/e,EAAOiB,IAAIlB,EAAS,SAAU,SAE9BC,EAAOiB,IAAIlB,EAAS,WAAY,QAC5Boa,EAAS,GACTna,EAAOiB,IAAIlB,EAAS,SAAUoa,EAAS,OAI/CqF,EAAGqQ,UACHrQ,EAAKxf,EAAOxI,KAAKuI,GAASiB,OAAO,OAC1BmZ,EAAS,IAChBna,EAAOiB,IAAIlB,EAAS,WAAY,QAChCC,EAAOiB,IAAIlB,EAAS,SAAUoa,EAAS,QAU/C,GAJIA,EAAS,GACTna,EAAOiB,IAAIlB,EAAS,SAAUoa,EAAS,MAGvCva,EAAQkf,oBACR9e,EAAOiB,IAAIlB,EAAS,WAAY,YADpC,CAMkD,QAA9CC,EAAOia,KAAKla,EAAS,wBACpBH,EAAQgf,cAAe,GAI5BY,EAAKxf,EAAOxI,KAAKuI,GAASzC,IAAI,MAE1BkiB,EACAA,EAAG9V,UAEH1J,EAAOiB,IAAIlB,EAAS,WAAY,UAChCC,EAAO0B,SAAS3B,EAAS,UAEzByf,EAAK,IAAIrH,iBAAiBpY,EAASH,GAEnCI,EAAOxI,KAAKuI,GAASW,IAAI,KAAM8e,IAInC,IAAIihB,EAAMzgC,EAAOia,KAAKla,EAAS,MAG/B,IAAiC,IAA7BH,EAAQsa,kBAA6BgC,UAAYukB,EAAK,CACtD,GAAIvkB,SAAS0D,UAAU6gB,GAAM,CACzB,IAAIljB,EAAMnD,SAAS8B,SAAS0D,UAAU6gB,IAElCljB,EAAM,IACNxd,EAAQsb,UAAYkC,GAI5Bxd,EAAQirB,iBAAiB,eAAe,WACpC9O,SAASC,UAAUskB,EAAK1gC,EAAQsb,qBAxEpCrb,EAAOqhC,cAActhC,GAAS,KAwF1Cqb,aAAc,SAASrb,GACnB,IAAIyf,EAAKxf,EAAOxI,KAAKuI,GAASzC,IAAI,MAC9BkiB,GACAA,EAAG9V,UAIX0tC,gBAAiB,SAASzmC,GAEtB,IADA,IAAI0mC,EAAYr3C,EAAO0hC,QAAQ/wB,EAAQ,OAC9B7Y,EAAI,EAAG6pC,EAAM0V,EAAUr/C,OAAQF,EAAI6pC,EAAK7pC,IAC7CkI,EAAOob,aAAai8B,EAAUv/C,KAItCupC,cAAe,SAASthC,EAASu3C,GAC7B,IAAI93B,EAAKxf,EAAOxI,KAAKuI,GAASzC,IAAI,MAE9BkiB,IACAA,EAAGqQ,UACHrQ,EAAKxf,EAAOxI,KAAKuI,GAASiB,OAAO,OAGjCjB,GAAWu3C,IACXv3C,EAAQmxC,MAAMqG,YAAY,WAAY,IACtCx3C,EAAQmxC,MAAMqG,YAAY,SAAU,MAI5CN,cAAe,SAASnK,GAE7B,OAAY,IAARA,GAAwB,SAARA,IAIR,IAARA,GAAyB,UAARA,GAILA,GAGXrtB,QAAS,SAAS6hB,EAAIp0B,GAClBo0B,EAAGqC,UAAYz2B,GAGnBsqC,QAAS,SAASlW,GACd,GAAIA,EACA,OAAOA,EAAGqC,WAIlB8T,kBAAmB,WACf,IAAIhtC,EAAOpQ,SAASoQ,KAChByC,EAAO7S,SAASsvC,gBAEpB,OAAO5+B,KAAKka,IAAKxa,EAAKitC,aAAcjtC,EAAK0mC,aAAcjkC,EAAKyqC,aAAczqC,EAAKwqC,aAAcxqC,EAAKikC,eAGtG7e,aAAc,WACV,OAASj4B,SAASu9C,kBAAoBv9C,SAASsvC,iBAAiBtuB,WAGpEw8B,YAAa,SAASC,EAAKC,GAEvB,IAAIC,GAAW,EAED,KAAVF,EAAI,KACJA,EAAMA,EAAIp5C,MAAM,GAChBs5C,GAAW,GAGf,IAAIC,EAAM79B,SAAS09B,EAAI,IAEnBv6C,GAAK06C,GAAO,IAAMF,EAElBx6C,EAAI,IAAKA,EAAI,IACPA,EAAI,IAAGA,EAAI,GAErB,IAAIurB,GAAMmvB,GAAO,EAAK,KAAUF,EAE5BjvB,EAAI,IAAKA,EAAI,IACPA,EAAI,IAAGA,EAAI,GAErB,IAAIxB,GAAW,IAAN2wB,GAAkBF,EAK3B,OAHIzwB,EAAI,IAAKA,EAAI,IACRA,EAAI,IAAGA,EAAI,IAEZ0wB,EAAS,IAAI,KAAO1wB,EAAKwB,GAAK,EAAMvrB,GAAK,IAAKitB,SAAS,KAKnE0hB,SAAW,SAAUH,EAAOmM,EAAMC,GAE7BpM,IAKJA,EAAUlvC,YAAW,WACpBq7C,IAIAnM,OAAUnvC,IACRu7C,KAIJC,SAAU,SAAUrM,EAAOmM,EAAMC,GAEhC77C,aAAayvC,GAGbA,EAAUlvC,WAAWq7C,EAAMC,IAG5BE,QAAS,SAAS/W,EAAIgX,EAAK57C,EAAS67C,GAChC,GAAKjX,IAIkB,qBAAZiX,IAAuC,IAAZA,GAClCv4C,EAAOia,KAAKqnB,EAAI,YAAY,GAG5BgX,IACAt4C,EAAO0B,SAAS4/B,EAAIgX,GACpBt4C,EAAOia,KAAKqnB,EAAI,aAAcgX,IAG9B57C,GAAS,CACT,IAAI87C,EAAUx4C,EAAOa,KAAKygC,EAAI,gBAE1BkX,GACAx4C,EAAOxI,KAAKghD,GAAS93C,IAAI,UAAWV,EAAOw3C,QAAQgB,IACnDx4C,EAAOyf,QAAQ+4B,EAAS97C,KAExBsD,EAAOxI,KAAK8pC,GAAI5gC,IAAI,UAAWV,EAAOw3C,QAAQlW,IAC9CthC,EAAOyf,QAAQ6hB,EAAI5kC,MAK/B+7C,WAAY,SAASnX,GACjB,GAAKA,EAAL,CAKAthC,EAAOmoC,WAAW7G,EAAI,YAElBthC,EAAOkf,QAAQoiB,EAAI,eACnBthC,EAAO2B,YAAY2/B,EAAIthC,EAAOia,KAAKqnB,EAAI,eAG3C,IAAIkX,EAAUx4C,EAAOa,KAAKygC,EAAI,gBAE1BkX,GAAWx4C,EAAOxI,KAAKghD,GAASj4C,IAAI,WACpCP,EAAOyf,QAAQ+4B,EAASx4C,EAAOxI,KAAKghD,GAASl7C,IAAI,YAC1C0C,EAAOxI,KAAK8pC,GAAI/gC,IAAI,YAC3BP,EAAOyf,QAAQ6hB,EAAIthC,EAAOxI,KAAK8pC,GAAIhkC,IAAI,cAI/C2lC,YAAa,SAAS3B,EAAIoX,EAAWz7B,GACjCA,EAASA,GAAU,EAEnB,IAAI07B,EAAc34C,EAAOqa,cAAc4yB,MACnC2L,EAAe54C,EAAOqa,cAAcF,OAEpCmD,EAAMtd,EAAOid,OAAOqkB,GAAIhkB,IACxBnD,EAASna,EAAOgxC,YAAY1P,GAAMrkB,EAClCS,EAAO1d,EAAOid,OAAOqkB,GAAI5jB,KACzBuvB,EAAQjtC,EAAOswC,WAAWhP,GAAMrkB,EAEpC,GAAiB,UAAby7B,EAAuB,CACvB,GAAIE,EAAet7B,EAAMnD,EACrB,OAAO,EACJ,GAAIy+B,EAAet7B,EAAe,IAATnD,EAC5B,OAAO,EAIf,GAAiB,OAAbu+B,EAAoB,CACpB,GAAIp7B,EAAM,EACN,OAAO,EACJ,GAAIA,EAAMnD,EACb,OAAO,EAIf,MAAiB,QAAbu+B,GACIh7B,EAAO,GAQE,SAAbg7B,GACIC,EAAcj7B,EAAOuvB,IA1nD5B,GAwoDkD,qBAAnBvzC,EAAOD,UAC/CC,EAAOD,QAAUuG,GAIrBA,EAAOw1C,OAAM,WACiB,qBAAlBqD,cACV74C,EAAOQ,KAAKq4C,eAEZ74C,EAAOQ,UAKThC,OAAOzD,OAAS,WACZ,IAAIlC,EAASmH,EAAOmkC,aAAa,QAC7BtrC,GAAUA,EAAO,IACjBmH,EAAO2B,YAAY9I,EAAO,GAAI,iBAIvBmH,W,2DC9xDf,wBAEIsjB,EAAmB,WAEnB,IAAIw1B,EAAkB,SAAS/4C,GAC3B,IAAI0lB,EAAW1lB,EAKf,GAJwB,qBAAb0lB,IACPA,EAAWprB,SAASmrB,iBAAiB,2EAGrCC,GAAYA,EAASztB,OAAS,EAC9B,IAAK,IAAIF,EAAI,EAAGA,EAAI2tB,EAASztB,SAAUF,EAAG,CACtC,IAAIihD,EAAUtzB,EAAS3tB,GACnBkhD,EAAOh5C,OAAOa,KAAKk4C,EAAS,iBAEhC,GAAIC,EAAM,CACN,IAAIC,EAAY,IAAInoB,YAAYkoB,EAAM,CAClC79C,OAAQ,SAAS+9C,GACb,IAAIH,EAAUG,EAAQnX,QAAQ,YAC1BT,EAAKthC,OAAOa,KAAKk4C,EAAS,kCAM9B,OAJKzX,IACDA,EAAKthC,OAAOa,KAAKk4C,EAAS,kBAGvBzX,KAIf2X,EAAUh3C,GAAG,WAAW,SAASrI,GAC7BoG,OAAO0B,SAAS9H,EAAEs/C,QAAS,kBAC3Bt/C,EAAEu/C,iBAEFt8C,YAAW,WACPmD,OAAO2B,YAAY/H,EAAEs/C,QAAS,oBAC/B,WAOnBE,EAAkB,SAASr5C,GAC3B,IAEI0lB,EAAW1lB,EACf,GAAwB,qBAAb0lB,EACHA,EAAWprB,SAASmrB,iBAAiB,4BAG7C,GAAIC,GAAYA,EAASztB,OAAS,EAC9B,IAAK,IAAIF,EAAI,EAAGA,EAAI2tB,EAASztB,SAAUF,EAAG,CACtC,IAAIihD,EAAUtzB,EAAS3tB,GACnBikB,EAAS/b,OAAOa,KAAKk4C,EAAS,mBAC9BC,EAAOh5C,OAAOa,KAAKk4C,EAAS,iBAwBhC,GArBA/4C,OAAOoB,SAAS2a,EAAQ,SAAS,WAC7B,IAAIg9B,EAAUj5C,KAAKiiC,QAAQ,YACvBxmC,EAAQyE,OAAOa,KAAKk4C,EAAS,iBAC7Bl5C,EAAMC,KAENE,OAAOkZ,SAASpZ,KAAM,mBACtBE,OAAOyiC,QAAQlnC,EAAM,KAAK,WACtByE,OAAO2B,YAAY9B,EAAK,mBACxBG,OAAO2B,YAAYpG,EAAM,mBACzByE,OAAOyb,KAAKlgB,OAGhByE,OAAO0B,SAASnG,EAAM,mBACtByE,OAAO0B,SAAS5B,KAAM,mBACtBE,OAAO0iC,UAAUnnC,EAAM,KAAK,WACxByE,OAAOsiB,KAAK/mB,UAMpBy9C,EAAM,CACN,IAAIC,EAAY,IAAInoB,YAAYkoB,EAAM,CAClC79C,OAAQ,SAAS+9C,GACb,IAAIH,EAAUG,EAAQnX,QAAQ,YAC1BT,EAAKthC,OAAOa,KAAKk4C,EAAS,kCAM9B,OAJKzX,IACDA,EAAKthC,OAAOa,KAAKk4C,EAAS,kBAGvBzX,KAIf2X,EAAUh3C,GAAG,WAAW,SAASrI,GAC7BoG,OAAO0B,SAAS9H,EAAEs/C,QAAS,kBAC3Bt/C,EAAEu/C,iBAEFt8C,YAAW,WACPmD,OAAO2B,YAAY/H,EAAEs/C,QAAS,oBAC/B,WAOvB,MAAO,CACH14C,KAAM,SAAST,EAASH,GACpBk5C,EAAgB/4C,GAChBq5C,EAAgBr5C,KA1GL,GAiHRujB,U,mCCnHf,sCAKInK,EAAc,SAASxZ,EAAWC,GAElC,IAAIC,EAAMC,KAINC,EAAUC,OAAOC,QAAQN,GACzB8K,EAAOzK,OAAOE,UAElB,GAAKH,EAAL,CAKA,IAAII,EAAiB,CACjBk5C,WAAY,IAOZh5C,EAAS,CACTC,UAAW,SAASV,GAahB,OAZII,OAAOxI,KAAKuI,GAASQ,IAAI,aACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,cAG/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,YAAab,IAGnCA,GAGXW,KAAM,SAASZ,GACXC,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GAEpDC,EAAIy5C,UAAYz5C,EAAID,QAAQwZ,UAC5BvZ,EAAIw5C,WAAax5C,EAAID,QAAQy5C,WAC7Bx5C,EAAI05C,WAAa15C,EAAIy5C,UAAY,MACjCz5C,EAAI25C,aAAe35C,EAAIy5C,UAAY,WACnCz5C,EAAI1E,OAEJ0E,EAAIf,MAAQkB,OAAOkZ,SAASnZ,EAASF,EAAI05C,YAAc,QAAU,UAGrE94C,MAAO,WAEH,GAAIZ,EAAID,QAAQ2Z,SACZ,GAAoC,kBAAzB1Z,EAAID,QAAQ2Z,SACnBvZ,OAAOoB,SAASpB,OAAOC,QAAQJ,EAAID,QAAQ2Z,UAAW,SAAS,SAAS3f,GACpEA,EAAEyH,iBACFxB,EAAI1E,OAAS2E,KAEbO,EAAO0b,iBAER,GAAIlc,EAAID,QAAQ2Z,UAAY1Z,EAAID,QAAQ2Z,SAAS,GACpD,GAAI1Z,EAAID,QAAQ2Z,SAAS,GAAGpe,OACxB,IAAK,IAAIrD,KAAK+H,EAAID,QAAQ2Z,SACtBvZ,OAAOoB,SAASpB,OAAOC,QAAQJ,EAAID,QAAQ2Z,SAASzhB,GAAGqD,QAAS,SAAS,SAASvB,GAC9EA,EAAEyH,iBACFxB,EAAI1E,OAAS2E,KACbO,EAAO0b,iBAIf,IAAK,IAAIjkB,KAAK+H,EAAID,QAAQ2Z,SACtBvZ,OAAOoB,SAASpB,OAAOC,QAAQJ,EAAID,QAAQ2Z,SAASzhB,IAAK,SAAS,SAAS8B,GACvEA,EAAEyH,iBACFxB,EAAI1E,OAAS2E,KACbO,EAAO0b,iBAKZlc,EAAID,QAAQ2Z,UAAY1Z,EAAID,QAAQ2Z,SAASpe,QACpD6E,OAAOoB,SAAUpB,OAAOC,QAAQJ,EAAID,QAAQ2Z,SAASpe,QAAS,SAAS,SAASvB,GAC5EA,EAAEyH,iBACFxB,EAAI1E,OAAS2E,KACbO,EAAO0b,YAMnB,IAAIzC,EAAUtZ,OAAOC,QAAQJ,EAAID,QAAQ0Z,SACrCA,GACAtZ,OAAOoB,SAASkY,EAAS,SAAS,SAAS1f,GACvCA,EAAEyH,iBACFxB,EAAI1E,OAAS2E,KACbO,EAAOob,WAKnBg+B,QAAS,WACL,MAAqB,SAAb55C,EAAIf,OAGhBid,OAAQ,WACJ1b,EAAOuB,aAAa,UAEH,SAAb/B,EAAIf,MACJuB,EAAOob,OAEPpb,EAAOiiB,QAIfA,KAAM,WACe,SAAbziB,EAAIf,QAIRuB,EAAOuB,aAAa,cAEpBvB,EAAOq5C,YAAY,QAGnB15C,OAAOia,KAAKxP,EAAM,kBAAoB5K,EAAIy5C,UAAW,MACrDt5C,OAAO0B,SAAS3B,EAASF,EAAI05C,YAEzB15C,EAAIw5C,WAAWrhD,OAAS,GACxBgI,OAAOia,KAAKxP,EAAM,kBAAoB5K,EAAI85C,YAAa,MAI3D95C,EAAIf,MAAQ,QAERe,EAAID,QAAQyZ,UACZxZ,EAAIwZ,QAAUrZ,OAAO8vC,YAAYz1C,SAASQ,cAAc,OAASkF,GACjEC,OAAO0B,SAAS7B,EAAIwZ,QAASxZ,EAAI25C,cAEjCx5C,OAAOoB,SAASvB,EAAIwZ,QAAS,SAAS,SAASzf,GAE3CA,EAAEyH,iBACFhB,EAAOob,KAAK5b,EAAI1E,YAIxBkF,EAAOuB,aAAa,eAGxB6Z,KAAM,WACe,UAAb5b,EAAIf,QAIRuB,EAAOuB,aAAa,cAEpBvB,EAAOq5C,YAAY,QAEnB15C,OAAOmoC,WAAW19B,EAAM,kBAAoB5K,EAAIy5C,WAChDt5C,OAAO2B,YAAY5B,EAASF,EAAI05C,YAE5B15C,EAAIw5C,WAAWrhD,OAAS,GACxBgI,OAAOmoC,WAAW19B,EAAM,kBAAoB5K,EAAIw5C,YAGpDx5C,EAAIf,MAAQ,SAERe,EAAID,QAAQyZ,SAAWxZ,EAAIwZ,SAC3BrZ,OAAOgB,OAAOnB,EAAIwZ,SAGtBhZ,EAAOuB,aAAa,eAGxB83C,YAAa,SAAS97C,GAClB,IACI2b,EADAjX,EAAKtC,OAAOia,KAAKpa,EAAI1E,OAAQ,MAGjC,GAAI0E,EAAID,QAAQ2Z,UAAY1Z,EAAID,QAAQ2Z,SAAS,IAAM1Z,EAAID,QAAQ2Z,SAAS,GAAGpe,OAC3E,IAAK,IAAIrD,KAAK+H,EAAID,QAAQ2Z,SAClB1Z,EAAID,QAAQ2Z,SAASzhB,GAAGqD,SAAWmH,IACnCiX,EAAW1Z,EAAID,QAAQ2Z,SAASzhB,SAGjC+H,EAAID,QAAQ2Z,UAAY1Z,EAAID,QAAQ2Z,SAASpe,SACpDoe,EAAW1Z,EAAID,QAAQ2Z,UAG3B,GAAIA,EAAU,CACV,IAAI+nB,EAAKthC,OAAOC,QAAQsZ,EAASpe,QAEpB,SAATyC,GACAoC,OAAO0B,SAAS4/B,EAAI/nB,EAASza,OAGpB,SAATlB,GACAoC,OAAO2B,YAAY2/B,EAAI/nB,EAASza,SAK5C8C,aAAc,SAASjF,EAAM61B,GACzB,IAAK,IAAI16B,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,EAAK2yB,GALrC,GAAmB,GAAfv3B,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,EAAK2yB,MASzDpxB,SAAU,SAASzE,EAAMmF,EAASD,GAC9BhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,MAoEnB,OAvDAlC,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAOrBC,EAAI45C,QAAU,WACV,OAAOp5C,EAAOo5C,WAMlB55C,EAAI4b,KAAO,WACP,OAAOpb,EAAOob,QAMlB5b,EAAIyiB,KAAO,WACP,OAAOjiB,EAAOiiB,QAQlBziB,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAQjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAQ1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,KAGtB,EAGAC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAU0f,GAGNA,W,4DCjTf,sCAKIiK,EAAc,SAASzjB,EAAWC,GAElC,IAAIC,EAAMC,KAINC,EAAUC,OAAOC,QAAQN,GACzB8K,EAAOzK,OAAOE,UAElB,GAAKH,EAAL,CAKA,IAAII,EAAiB,CACjB8c,OAAQ,IACRwV,MAAO,KAOPpyB,EAAS,CAKTC,UAAW,SAASV,GAahB,OAZII,OAAOxI,KAAKuI,GAASQ,IAAI,aACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,cAG/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,YAAab,IAGnCA,GAOXW,KAAM,SAASZ,GACXC,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,IAGxDa,MAAO,WACH,IAAIsrC,EAEJvtC,OAAOwsB,iBAAiB,UAAU,WAC9BhrB,OAAOksC,SAASH,GAAO,WACnB1rC,EAAOu5C,WACR,QAIP55C,OAAOoB,SAASrB,EAAS,QAASM,EAAO0Z,SAM7C6/B,OAAQ,WACJ,IAAIr8B,EAAMvd,OAAOsyB,eAEb/U,EAAM1d,EAAID,QAAQqd,QAC0B,IAAxCxS,EAAK8nB,aAAa,mBAClB9nB,EAAKrO,aAAa,iBAAkB,OAGI,IAAxCqO,EAAK8nB,aAAa,mBAClB9nB,EAAK2kB,gBAAgB,mBAQjCrV,OAAQ,SAASngB,GACbA,EAAEyH,iBAEFrB,OAAOqb,UAAU,EAAGxb,EAAID,QAAQ6yB,QAOpC7wB,aAAc,SAASjF,EAAM61B,GACzB,IAAK,IAAI16B,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMP,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,EAAK2yB,GALpC,GAAmB,GAAfv3B,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,EAAK2yB,MASzDpxB,SAAU,SAASzE,EAAMmF,EAASD,GAC9BhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,MA2CnB,OA9BAlC,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAOjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAQ1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,KAGtB,EAGAC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAU2pB,GAGNA,W,2DC/Kf,W,mCCAA,sCAKIxH,EAAW,SAASi+B,EAAeC,EAAel6C,GAElD,IAAIC,EAAMC,KAINC,EAAU85C,EACV1+C,EAAS2+C,EAEb,GAAK/5C,EAAL,CAKA,IAAII,EAAiB,CACjB45C,iBAAkB,SAOlB15C,EAAS,CAKTC,UAAW,SAASV,GAahB,OAZII,OAAOxI,KAAKuI,GAASQ,IAAI,UACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,WAG/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,SAAUb,IAGhCA,GAMXW,KAAM,SAASZ,GACXC,EAAIE,QAAUA,EACdF,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GAGpDC,EAAI1E,OAASA,EAEb0E,EAAIgc,YAAchc,EAAID,QAAQic,YAC9Bhc,EAAIic,YAAcjc,EAAID,QAAQkc,YAEM,SAAhCjc,EAAID,QAAQm6C,iBACZl6C,EAAIf,MAAQkB,OAAOwhC,WAAW3hC,EAAI1E,OAAQ0E,EAAIgc,aAAe,KAAO,MAEpEhc,EAAIf,MAAQkB,OAAOkf,QAAQrf,EAAI1E,OAAQ,QAAU0E,EAAIgc,aAAe7b,OAAOia,KAAKpa,EAAI1E,OAAQ,QAAU0E,EAAIgc,aAAe,OAOjIpb,MAAO,WACHT,OAAOoB,SAASrB,EAAS,UAAWM,EAAO0b,SAM/CA,OAAQ,SAASniB,GAab,OAZAyG,EAAOuB,aAAa,gBAEH,OAAb/B,EAAIf,MACJuB,EAAO25C,WAEP35C,EAAO45C,YAGX55C,EAAOuB,aAAa,eAEpBhI,EAAEyH,iBAEKxB,GAMXm6C,SAAU,WAmBN,OAlBA35C,EAAOuB,aAAa,YAEgB,SAAhC/B,EAAID,QAAQm6C,iBACZ/5C,OAAO0B,SAAS7B,EAAI1E,OAAQ0E,EAAIgc,aAEhC7b,OAAOia,KAAKpa,EAAI1E,OAAQ,QAAU0E,EAAIgc,YAAa,MAGnDhc,EAAIic,aACJ9b,OAAO0B,SAAS3B,EAASF,EAAIic,aAGjCjc,EAAIf,MAAQ,KAEZuB,EAAOuB,aAAa,WAEpBvB,EAAOuB,aAAa,UAEb/B,GAMXo6C,UAAW,WAmBP,OAlBA55C,EAAOuB,aAAa,aAEgB,SAAhC/B,EAAID,QAAQm6C,iBACZ/5C,OAAO2B,YAAY9B,EAAI1E,OAAQ0E,EAAIgc,aAEnC7b,OAAOmoC,WAAWtoC,EAAI1E,OAAQ,QAAU0E,EAAIgc,aAG5Chc,EAAIic,aACJ9b,OAAO2B,YAAY5B,EAASF,EAAIic,aAGpCjc,EAAIf,MAAQ,MAEZuB,EAAOuB,aAAa,YAEpBvB,EAAOuB,aAAa,UAEb/B,GAMX+B,aAAc,SAASjF,GACnB,IAAK,IAAI7E,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GAEvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,GALhC,GAAmB,GAAf5E,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,MASpDuB,SAAU,SAASzE,EAAMmF,EAASD,GAQ9B,OAPAhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,IAGJlC,IA+Df,OAnDAA,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAIuc,SAAW,WACX,OAAOvc,EAAIf,OAMfe,EAAIkc,OAAS,WACT,OAAO1b,EAAO0b,UAMlBlc,EAAIm6C,SAAW,WACX,OAAO35C,EAAO25C,YAMlBn6C,EAAIo6C,UAAY,WACZ,OAAO55C,EAAO45C,aAOlBp6C,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAOjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAI1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,IAEtBC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAUmiB,GAGNA,W,8CCtPf,IAAI1Z,EAAM,CACT,YAAa,OACb,YAAa,QAId,SAASg4C,EAAe93C,GACvB,IAAIE,EAAK63C,EAAsB/3C,GAC/B,OAAOjJ,EAAoBmJ,GAE5B,SAAS63C,EAAsB/3C,GAC9B,IAAIjJ,EAAoBgE,EAAE+E,EAAKE,GAAM,CACpC,IAAIxI,EAAI,IAAI0B,MAAM,uBAAyB8G,EAAM,KAEjD,MADAxI,EAAE2B,KAAO,mBACH3B,EAEP,OAAOsI,EAAIE,GAEZ83C,EAAe33C,KAAO,WACrB,OAAOtK,OAAOsK,KAAKL,IAEpBg4C,EAAelgD,QAAUmgD,EACzBzgD,EAAOD,QAAUygD,EACjBA,EAAe53C,GAAK,Q,kCCvBb,MAAM03B,EAAU,CAErB,CACE,MAAS,iBACT,KAAQ,iBACR,MAAS,MACT,UAAa,UACb,QAAU,GAGZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,mCACT,KAAQ,UACR,MAAS,MACT,UAAa,WACb,QAAU,GAGZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,OACb,QAAU,GAGZ,CACE,MAAS,uCACT,KAAQ,iBACR,MAAS,MACT,UAAa,aACb,QAAU,GAEZ,CACE,MAAS,mBACT,KAAQ,mBACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,gCACT,KAAQ,gBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,oCACT,KAAQ,mBACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,sBACT,KAAQ,gBACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,mBACT,KAAQ,mBACR,MAAS,MACT,UAAa,aACb,QAAU,GAGZ,CACE,MAAS,oCACT,KAAQ,kBACR,MAAS,MACT,UAAa,kBACb,QAAU,GAGZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,oCACT,KAAQ,eACR,MAAS,MACT,UAAa,aACb,QAAU,GAGZ,CACE,MAAS,iBACT,KAAQ,WACR,MAAS,MACT,UAAa,SACb,QAAU,GAGZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,yBACT,KAAQ,mBACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAGZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,MACb,QAAU,GAGZ,CACE,MAAS,iCACT,KAAQ,2BACR,MAAS,MACT,UAAa,WACb,QAAU,GAGZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAGZ,CACE,MAAS,mBACT,KAAQ,mBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,+CACT,KAAQ,eACR,MAAS,MACT,UAAa,SACb,QAAU,GAGZ,CACE,MAAS,6BACT,KAAQ,eACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,4BACT,KAAQ,4BACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,4BACT,KAAQ,eACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,+CACT,KAAQ,gBACR,MAAS,MACT,UAAa,oBACb,QAAU,GAEZ,CACE,MAAS,yBACT,KAAQ,WACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,6CACT,KAAQ,uCACR,MAAS,MACT,UAAa,YACb,QAAU,GAEZ,CACE,MAAS,oBACT,KAAQ,oBACR,MAAS,MACT,UAAa,UACb,QAAU,GAGZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,MACb,QAAU,GAGZ,CACE,MAAS,iCACT,KAAQ,2BACR,MAAS,MACT,UAAa,cACb,QAAU,GAEZ,CACE,MAAS,iBACT,KAAQ,iBACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,SACb,QAAU,GAIZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,SACb,QAAU,GAGZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,qBACT,KAAQ,sBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,yBACT,KAAQ,yBACR,MAAS,MACT,UAAa,aACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,eACT,KAAQ,eACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,iCACT,KAAQ,2BACR,MAAS,MACT,UAAa,YACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,iBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,wBACR,MAAS,MACT,UAAa,KACb,QAAU,GAGZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,mBACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,iBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,yCACT,KAAQ,+BACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,qBACT,KAAQ,eACR,MAAS,MACT,UAAa,IACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,iBACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,2BACT,KAAQ,qBACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,sBACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,6DACT,KAAQ,iBACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,oBACT,KAAQ,oBACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,IACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,2BACT,KAAQ,yBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,eACT,KAAQ,eACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,WACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,8BACT,KAAQ,wBACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,oBACT,KAAQ,cACR,MAAS,MACT,UAAa,OACb,QAAU,GAGZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,YACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,mBACT,KAAQ,mBACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,qBACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,kCACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,SACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,eACT,KAAQ,eACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,wBACT,KAAQ,wBACR,MAAS,MACT,UAAa,eACb,QAAU,GAEZ,CACE,MAAS,eACT,KAAQ,eACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,aACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,kBACT,KAAQ,kBACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,wBACT,KAAQ,wBACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,cACT,KAAQ,cACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,eACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,eACT,KAAQ,eACR,MAAS,MACT,UAAa,UACb,QAAU,GAEZ,CACE,MAAS,OACT,KAAQ,OACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,sBACT,KAAQ,sBACR,MAAS,MACT,UAAa,YACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,6BACT,KAAQ,uBACR,MAAS,MACT,UAAa,WACb,QAAU,GAEZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,gBACT,KAAQ,gBACR,MAAS,MACT,UAAa,uCACb,QAAU,GAEZ,CACE,MAAS,+BACT,KAAQ,+BACR,MAAS,MACT,UAAa,KACb,QAAU,GAEZ,CACE,MAAS,aACT,KAAQ,YACR,MAAS,MACT,UAAa,eACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,OACb,QAAU,GAEZ,CACE,MAAS,YACT,KAAQ,YACR,MAAS,MACT,UAAa,QACb,QAAU,GAEZ,CACE,MAAS,UACT,KAAQ,UACR,MAAS,MACT,UAAa,2BACb,QAAU,GAEZ,CACE,MAAS,mCACT,KAAQ,gCACR,MAAS,MACT,UAAa,eACb,QAAU,GAEZ,CACE,MAAS,QACT,KAAQ,QACR,MAAS,MACT,UAAa,KACb,QAAU,GAGZ,CACE,MAAS,SACT,KAAQ,SACR,MAAS,MACT,UAAa,MACb,QAAU,GAEZ,CACE,MAAS,WACT,KAAQ,WACR,MAAS,MACT,UAAa,OACb,QAAU,IAICA,U,+/0BC9uDf,0DAKI9c,EAAS,SAASvd,EAAWC,GAE7B,IAAIC,EAAMC,KAINC,EAAUC,OAAOC,QAAQN,GACzB8K,EAAOzK,OAAOE,UAElB,GAAKH,EAAL,CAKA,IAAII,EAAiB,CACjBi6C,YAAa,IACbj9B,OAAQ,CACJ+U,iBAAiB,EACjBjV,OAAQ,IACRG,OAAQ,MAQZ/c,EAAS,CAKTC,UAAW,SAASV,GAahB,OAZII,OAAOxI,KAAKuI,GAASQ,IAAI,QACzBV,EAAMG,OAAOxI,KAAKuI,GAASzC,IAAI,SAG/B+C,EAAOG,KAAKZ,GAGZS,EAAOI,QAEPT,OAAOxI,KAAKuI,GAASW,IAAI,OAAQb,IAG9BA,GAMXW,KAAM,SAASZ,GACXC,EAAIE,QAAUA,EACdF,EAAIc,OAAS,GAGbd,EAAID,QAAUI,OAAOmB,WAAW,GAAIhB,EAAgBP,GACpDC,EAAIogB,OAASjgB,OAAOoiC,MAAMriC,EAAS,gBACnCF,EAAIygB,OAAStgB,OAAOoiC,MAAMriC,EAAS,gBAE/BC,OAAOoiC,MAAMriC,EAAS,cACtBF,EAAI4K,KAAOzK,OAAOoiC,MAAMriC,EAAS,cAC1BC,OAAOoiC,MAAMriC,EAAS,WAC7BF,EAAI4K,KAAOzK,OAAOoiC,MAAMriC,EAAS,WAOzCU,MAAO,WAEH,IAAIO,EAAShB,OAAOa,KAAKhB,EAAIogB,OAAQ,2BACjCjf,GACAhB,OAAOoB,SAASJ,EAAQ,SAAS,SAASpH,GACtCA,EAAEyH,iBACFhB,EAAOW,YAKf,IAAI2/B,EAAS3gC,OAAOa,KAAKhB,EAAIogB,OAAQ,2BACjC0gB,GACA3gC,OAAOoB,SAASu/B,EAAQ,SAAS,SAAS/mC,GACtCA,EAAEyH,iBACFhB,EAAOsgC,YAKf,IAAI5kB,EAAS/b,OAAOa,KAAKhB,EAAIogB,OAAQ,2BACjClE,GACA/b,OAAOoB,SAAS2a,EAAQ,SAAS,SAASniB,GACtCA,EAAEyH,iBACFhB,EAAO0b,aAQnBiC,WAAY,WAEKne,EAAID,QAAQud,OAAOF,OAE3Bpd,EAAIogB,QAIZzhB,OAAOwsB,iBAAiB,SAAU3qB,EAAOg6C,iBAM7CA,eAAgB,SAASzgD,GACxB,IAAIqjB,EAASpd,EAAID,QAAQud,OAAOF,OAEhC,IAAG+J,MAAM/J,GAAT,CAEA,IAAIoV,EAAKryB,OAAOsyB,eAEZD,GAAMpV,IAAsD,IAA5Cjd,OAAOkZ,SAASzO,EAAM,mBACzCpK,EAAOuB,aAAa,YAEpB5B,OAAO0B,SAAS+I,EAAM,kBAEtBpK,EAAO6d,gBAEO,IAAHmU,GAAWpV,GAAUjd,OAAOkZ,SAASzO,EAAM,oBAEtDpK,EAAOuB,aAAa,aAEpB5B,OAAO2B,YAAY8I,EAAM,kBAEzBpK,EAAOi6C,iBAINp8B,aAAc,WAKV,IAAIZ,EASII,EAOAE,EApBH/d,EAAIogB,SAMLjgB,OAAOkZ,SAASzO,EAAM,oBAElB6S,EADAzd,EAAID,QAAQud,OAAOE,SAASC,eAAe45B,SACrC98B,SAASva,EAAID,QAAQud,OAAOE,SAASC,IAAIllB,KAAK0H,KAAMD,IAEpDua,SAASva,EAAID,QAAQud,OAAOE,SAASC,KAK3CI,EADA7d,EAAID,QAAQud,OAAOE,SAASK,gBAAgBw5B,SACrC98B,SAASva,EAAID,QAAQud,OAAOE,SAASK,KAAKtlB,KAAK0H,KAAMD,IAErDua,SAASva,EAAID,QAAQud,OAAOE,SAASK,MAK5CE,EADA/d,EAAID,QAAQud,OAAOE,SAASO,iBAAiBs5B,SACrC98B,SAASva,EAAID,QAAQud,OAAOE,SAASO,MAAMxlB,KAAK0H,KAAMD,IAEtDua,SAASva,EAAID,QAAQud,OAAOE,SAASO,OAGjD5d,OAAOiB,IAAIpB,EAAIogB,OAAQ,UAAWpgB,EAAID,QAAQud,OAAOC,QACrDpd,OAAOiB,IAAIpB,EAAIogB,OAAQ,MAAO3C,EAAM,MACpCtd,OAAOiB,IAAIpB,EAAIogB,OAAQ,OAAQvC,EAAO,MACtC1d,OAAOiB,IAAIpB,EAAIogB,OAAQ,QAASrC,EAAQ,SAIhD08B,YAAa,WACJz6C,EAAIogB,SAIuC,IAA5CjgB,OAAOkZ,SAASzO,EAAM,oBACtBzK,OAAOiB,IAAIpB,EAAIogB,OAAQ,UAAW,IAClCjgB,OAAOiB,IAAIpB,EAAIogB,OAAQ,MAAO,IAC9BjgB,OAAOiB,IAAIpB,EAAIogB,OAAQ,OAAQ,IAC/BjgB,OAAOiB,IAAIpB,EAAIogB,OAAQ,QAAS,MAOxCjf,OAAQ,YACwC,IAAxCX,EAAOuB,aAAa,kBAIxB5B,OAAOgB,OAAOjB,GAEdM,EAAOuB,aAAa,iBAMxB24C,WAAY,SAASrtC,GACbA,IACArN,EAAI4K,KAAKk5B,UAAYz2B,IAO7BhN,QAAS,WACL,OAAOL,EAAI4K,MAMf+vC,QAAS,WACL,OAAOz6C,GAMX4gC,OAAQ,WACJtgC,EAAOuB,aAAa,WAMxBma,OAAQ,WACA/b,OAAOkZ,SAASnZ,EAAS,kBAAoBC,OAAOkZ,SAASnZ,EAAS,kBACtEM,EAAOo6C,SAEPp6C,EAAOq6C,YAOfA,SAAU,YACwC,IAA1Cr6C,EAAOuB,aAAa,oBAIxB5B,OAAOyiC,QAAQ5iC,EAAI4K,KAAM5K,EAAID,QAAQw6C,aAAa,WAC9C/5C,EAAOuB,aAAa,oBAGxB5B,OAAO0B,SAAS3B,EAAS,mBAM7B06C,OAAQ,YACwC,IAAxCp6C,EAAOuB,aAAa,kBAIxB5B,OAAO0iC,UAAU7iC,EAAI4K,KAAM5K,EAAID,QAAQw6C,aAAa,WAChD/5C,EAAOuB,aAAa,kBAGxB5B,OAAO2B,YAAY5B,EAAS,iBAC5BC,OAAO2B,YAAY5B,EAAS,oBAMhC6B,aAAc,SAASjF,GAEnB,IAAK,IAAI7E,EAAI,EAAGA,EAAI+H,EAAIc,OAAO3I,OAAQF,IAAK,CACxC,IAAImD,EAAQ4E,EAAIc,OAAO7I,GACvB,GAAImD,EAAM0B,MAAQA,EAAM,CACpB,GAAiB,GAAb1B,EAAM4G,IAMN,OAAO5G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,GALhC,GAAmB,GAAf5E,EAAM8G,MAEN,OADAlC,EAAIc,OAAO7I,GAAGiK,OAAQ,EACf9G,EAAM6G,QAAQ1J,KAAK0H,KAAMD,MASpDuB,SAAU,SAASzE,EAAMmF,EAASD,GAQ9B,OAPAhC,EAAIc,OAAOrI,KAAK,CACZqE,KAAMA,EACNmF,QAASA,EACTD,IAAKA,EACLE,OAAO,IAGJlC,IAwHf,OA5GAA,EAAImC,YAAc,SAASpC,GACvBO,EAAiBP,GAMrBC,EAAImB,OAAS,WACT,OAAOX,EAAOW,OAAOkM,OAMzBrN,EAAIme,WAAa,WACb,OAAO3d,EAAO2d,cAMlBne,EAAIqe,aAAe,WACf,OAAO7d,EAAO6d,gBAMlBre,EAAIy6C,YAAc,WACd,OAAOj6C,EAAOi6C,eAMrBz6C,EAAI86C,cAAgB,WACnBt6C,EAAOi6C,cACP97C,OAAOs1C,oBAAoB,SAAUzzC,EAAOg6C,iBAM1Cx6C,EAAI8gC,OAAS,WACT,OAAOtgC,EAAOsgC,UAMlB9gC,EAAI06C,WAAa,SAASrtC,GACtB,OAAO7M,EAAOk6C,WAAWrtC,IAM7BrN,EAAIkc,OAAS,WACT,OAAO1b,EAAO0b,UAMlBlc,EAAI66C,SAAW,WACX,OAAOr6C,EAAOq6C,YAMlB76C,EAAI46C,OAAS,WACT,OAAOp6C,EAAOo6C,UAOlB56C,EAAIK,QAAU,WACV,OAAOG,EAAOH,WAOlBL,EAAI26C,QAAU,WACV,OAAOn6C,EAAOm6C,WAMlB36C,EAAIoC,GAAK,SAAStF,EAAMmF,GACpB,OAAOzB,EAAOe,SAASzE,EAAMmF,IAMjCjC,EAAIgC,IAAM,SAASlF,EAAMmF,GACrB,OAAOzB,EAAOe,SAASzE,EAAMmF,GAAS,IAI1CzB,EAAOC,UAAU3H,MAAMkH,EAAK,CAACD,IAEtBC,IAIoD,qBAAnBnG,EAAOD,UAC/CC,EAAOD,QAAUyjB,GAGNA,W,2DChbf,IAAIR,EAAiB,WAEjB,IAAI5D,EACA8hC,EACA59B,EAIAT,EAAa,WACb,IAAIpC,EAAS,EAMb,OAJIrB,IACAqB,EAASna,OAAOwc,aAAa1D,GAAY,GAGtCqB,GAIP0gC,EAAsB,WACtB,IAAI1gC,EAIJ,OAFAA,EAASna,OAAOwc,aAAao+B,GAEtBzgC,GAId,MAAO,CACN3Z,KAAM,SAAS8B,EAAIw4C,GACThiC,EAAW9Y,OAAOC,QAAQqC,GAC1Bs4C,EAAoB56C,OAAOC,QAAQ66C,IAOvCphC,QAAS,WACL,OAAO1Z,OAAOkZ,SAASlZ,OAAOE,UAAW,iBAG7Csd,iBAAkB,WACd,OAAOxd,OAAOkZ,SAASlZ,OAAOE,UAAW,wBAG7CsZ,WAAY,WACR,OAAOV,GAGXiiC,oBAAqB,WACjB,OAAOH,GAGXI,UAAW,WACP,OAAOh+B,GAGXxC,UAAW,WACP,OAAO+B,KAGXkB,mBAAoB,WAChB,OAAOo9B,MA/DE,GAsENn+B,U,mCCxEf,0BAMIR,EAAW,WACb,MAAO,CAGL0D,UAAW,SAASjjB,GAClB,IAAI4sC,EAAUlvC,SAAS4gD,OAAOllC,MAAM,IAAI9L,OACtC,WAAatN,EAAK+nB,QAAQ,+BAAgC,QAAU,aAEtE,OAAO6kB,EAAU2R,mBAAmB3R,EAAQ,SAAM3sC,GAIpDuf,UAAW,SAASxf,EAAMe,EAAOkC,GAC1BA,IACDA,EAAU,IAGdA,EAAU3H,OAAO6sB,OAAO,GAAI,CAAC7c,KAAM,KAAMrI,GAErCA,EAAQigB,mBAAmB9T,OAC7BnM,EAAQigB,QAAUjgB,EAAQigB,QAAQs7B,eAGpC,IAAIC,EAAgB1wB,mBAAmB/tB,GAAQ,IAAM+tB,mBAAmBhtB,GAExE,IAAK,IAAI29C,KAAaz7C,EACpB,GAAKA,EAAQzH,eAAekjD,GAA5B,CAGAD,GAAiB,KAAOC,EACxB,IAAIC,EAAc17C,EAAQy7C,IACN,IAAhBC,IACFF,GAAiB,IAAME,GAI3BjhD,SAAS4gD,OAASG,GAGpBG,aAAc,SAAS5+C,GACrBwf,UAAUxf,EAAM,GAAI,CAClB,WAAY,MAzCL,GAgDgD,qBAAnBjD,EAAOD,UACjDC,EAAOD,QAAUyiB,GAGJA,W,2DCxDf,IAAID,EAAqB,WAExB,IAAIu/B,EACG1hC,EACA2hC,EACA1iC,EAGHC,EAAQ,WACXD,EAAmB,IAAII,YAAYsiC,EAAmB,CACrDpiC,SAAS,EACTD,UAAW,sBACXE,QAAS,kCACTC,SAAU,CACTpe,OAAQ,0BACR2D,MAAO,0BAITgb,EAAc,IAAIW,OAAO+gC,EAAc,CACtC9gC,QAAS,CACRC,QAAS,WACTC,OAAQ,YACRC,OAAQ,aAETC,UAAW,CACVslB,WAAY,IACZrlB,WAAW,KAKPjB,EAAY7X,GAAG,aAAa,SAASy5C,GAC7B17C,OAAOif,iBAAiB,OACxBlG,EAAiB0C,WAMhC,MAAO,CACAjb,KAAM,SAASm7C,EAAQC,GACnBJ,EAAex7C,OAAOC,QAAQ07C,GAC9BF,EAAoBz7C,OAAOC,QAAQ27C,GAE9BJ,GAKLxiC,KAGV6iC,eAAgB,WACf,OAAOL,GAGFM,oBAAqB,WAC1B,OAAOL,GAGFtgC,QAAS,WACd,OAAOrB,GAGRwB,mBAAoB,SAAS7N,GACxBqM,GACHA,EAAYwB,mBAAmB7N,IAI3BgM,aAAc,WACnB,OAAOV,GAGRwC,qBAAsB,WACjBzB,GAAe9Z,OAAOwb,kBACzBzC,EAAiB0C,SA7EI,GAqFVQ","file":"js/app.2e6fd390.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"polyfills-core-js\":\"polyfills-core-js\",\"polyfills-css-shim\":\"polyfills-css-shim\",\"polyfills-dom\":\"polyfills-dom\",\"canvg\":\"canvg\",\"pdfmake\":\"pdfmake\",\"xlsx\":\"xlsx\"}[chunkId]||chunkId) + \".\" + {\"chunk-04507dbb\":\"1675b450\",\"chunk-0706a919\":\"43235fcd\",\"chunk-0b4d2404\":\"e8e7c10a\",\"chunk-0b56efa5\":\"87e84cae\",\"chunk-0b5842b2\":\"4363cc25\",\"chunk-0dc48d80\":\"21b44efa\",\"chunk-16722cbe\":\"ed8186c7\",\"chunk-18eee2f8\":\"3e85477d\",\"chunk-196a4a46\":\"b8089f65\",\"chunk-1aad595c\":\"084a606c\",\"chunk-21bc92fa\":\"599b126b\",\"chunk-2d0b308c\":\"ef2a36fe\",\"chunk-2d0b959d\":\"4b6f5ae9\",\"chunk-2d0c0c06\":\"5e216586\",\"chunk-2d0dae66\":\"48c4eb23\",\"chunk-2d0e1b9e\":\"895b062a\",\"chunk-2d0e9704\":\"b37f411a\",\"chunk-2d207ac9\":\"e7250f73\",\"chunk-2d21e3f3\":\"5ec3f2eb\",\"chunk-2d2214a0\":\"387ed21e\",\"chunk-2d221823\":\"e1f022c7\",\"chunk-2d22496d\":\"47b308f1\",\"chunk-2d45f43e\":\"c6e68648\",\"chunk-36464361\":\"de11657e\",\"chunk-37299fec\":\"7b0ce26d\",\"chunk-28499206\":\"34f9b719\",\"chunk-1de3c50f\":\"ba565eb0\",\"chunk-5b9a6c7d\":\"543ec218\",\"chunk-6450de65\":\"36986e60\",\"chunk-0b69b78e\":\"038eb80d\",\"chunk-0dccd160\":\"3a170747\",\"chunk-11a699a8\":\"6b961eac\",\"chunk-43dabf82\":\"44ee7234\",\"chunk-4cbd15fe\":\"34a22e81\",\"chunk-6242f344\":\"d41ccb7e\",\"chunk-96197034\":\"ec36e97b\",\"chunk-c373b0da\":\"3cb1ec7a\",\"chunk-c4355f16\":\"88d8eeae\",\"chunk-671ad538\":\"b021e726\",\"chunk-6d362ed2\":\"7cb11087\",\"chunk-3196437c\":\"1523c8b7\",\"chunk-376b38d1\":\"b9e2e908\",\"chunk-3b1d36dc\":\"4cdbee73\",\"chunk-482a4768\":\"d5c62352\",\"chunk-4f917a96\":\"572759ea\",\"chunk-5293d3e6\":\"69333ccb\",\"chunk-53c481ba\":\"45c6be5f\",\"chunk-55ee6439\":\"d142144e\",\"chunk-5785b65a\":\"e996f067\",\"chunk-5a9d6ea8\":\"e5f23e3d\",\"chunk-5c3889f3\":\"ba33f703\",\"chunk-759593db\":\"36b5ab48\",\"chunk-7e515f7a\":\"9b523229\",\"chunk-9eace95a\":\"b05baaac\",\"chunk-b06965cc\":\"cef7c5dc\",\"chunk-c9150256\":\"87508dbb\",\"polyfills-core-js\":\"1be52170\",\"polyfills-css-shim\":\"704c7b44\",\"polyfills-dom\":\"2ef07e19\",\"chunk-743e4b25\":\"47398025\",\"chunk-74524b79\":\"2bcfb7ae\",\"chunk-7498e9ec\":\"ba910fca\",\"chunk-74a82e1a\":\"a73a41d7\",\"chunk-74b6aca8\":\"97ec2f39\",\"chunk-76f08193\":\"a73e0719\",\"chunk-2d216214\":\"0bbc55e6\",\"chunk-65bd46a7\":\"98fc8d42\",\"chunk-2e45f8c8\":\"5a27fc0f\",\"canvg\":\"d079b9a5\",\"pdfmake\":\"7c95550f\",\"xlsx\":\"c5ba4b09\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0706a919\":1,\"chunk-37299fec\":1,\"chunk-28499206\":1,\"chunk-1de3c50f\":1,\"chunk-5b9a6c7d\":1,\"chunk-6450de65\":1,\"chunk-0b69b78e\":1,\"chunk-0dccd160\":1,\"chunk-11a699a8\":1,\"chunk-43dabf82\":1,\"chunk-4cbd15fe\":1,\"chunk-6242f344\":1,\"chunk-96197034\":1,\"chunk-c373b0da\":1,\"chunk-c4355f16\":1,\"chunk-671ad538\":1,\"chunk-6d362ed2\":1,\"chunk-3196437c\":1,\"chunk-5293d3e6\":1,\"chunk-5a9d6ea8\":1,\"chunk-9eace95a\":1,\"chunk-743e4b25\":1,\"chunk-74524b79\":1,\"chunk-7498e9ec\":1,\"chunk-74a82e1a\":1,\"chunk-74b6aca8\":1,\"chunk-76f08193\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"polyfills-core-js\":\"polyfills-core-js\",\"polyfills-css-shim\":\"polyfills-css-shim\",\"polyfills-dom\":\"polyfills-dom\",\"canvg\":\"canvg\",\"pdfmake\":\"pdfmake\",\"xlsx\":\"xlsx\"}[chunkId]||chunkId) + \".\" + {\"chunk-04507dbb\":\"31d6cfe0\",\"chunk-0706a919\":\"bac9256a\",\"chunk-0b4d2404\":\"31d6cfe0\",\"chunk-0b56efa5\":\"31d6cfe0\",\"chunk-0b5842b2\":\"31d6cfe0\",\"chunk-0dc48d80\":\"31d6cfe0\",\"chunk-16722cbe\":\"31d6cfe0\",\"chunk-18eee2f8\":\"31d6cfe0\",\"chunk-196a4a46\":\"31d6cfe0\",\"chunk-1aad595c\":\"31d6cfe0\",\"chunk-21bc92fa\":\"31d6cfe0\",\"chunk-2d0b308c\":\"31d6cfe0\",\"chunk-2d0b959d\":\"31d6cfe0\",\"chunk-2d0c0c06\":\"31d6cfe0\",\"chunk-2d0dae66\":\"31d6cfe0\",\"chunk-2d0e1b9e\":\"31d6cfe0\",\"chunk-2d0e9704\":\"31d6cfe0\",\"chunk-2d207ac9\":\"31d6cfe0\",\"chunk-2d21e3f3\":\"31d6cfe0\",\"chunk-2d2214a0\":\"31d6cfe0\",\"chunk-2d221823\":\"31d6cfe0\",\"chunk-2d22496d\":\"31d6cfe0\",\"chunk-2d45f43e\":\"31d6cfe0\",\"chunk-36464361\":\"31d6cfe0\",\"chunk-37299fec\":\"18fd7293\",\"chunk-28499206\":\"24f19634\",\"chunk-1de3c50f\":\"a21131e2\",\"chunk-5b9a6c7d\":\"56c721d6\",\"chunk-6450de65\":\"12dc3833\",\"chunk-0b69b78e\":\"81bd0457\",\"chunk-0dccd160\":\"35af80cc\",\"chunk-11a699a8\":\"51d3bb71\",\"chunk-43dabf82\":\"a0494348\",\"chunk-4cbd15fe\":\"5c12883c\",\"chunk-6242f344\":\"e88c86bd\",\"chunk-96197034\":\"066ff3ad\",\"chunk-c373b0da\":\"81bd0457\",\"chunk-c4355f16\":\"f91a3c7e\",\"chunk-671ad538\":\"f8e300a8\",\"chunk-6d362ed2\":\"3c56c9ba\",\"chunk-3196437c\":\"9c408171\",\"chunk-376b38d1\":\"31d6cfe0\",\"chunk-3b1d36dc\":\"31d6cfe0\",\"chunk-482a4768\":\"31d6cfe0\",\"chunk-4f917a96\":\"31d6cfe0\",\"chunk-5293d3e6\":\"28b8d624\",\"chunk-53c481ba\":\"31d6cfe0\",\"chunk-55ee6439\":\"31d6cfe0\",\"chunk-5785b65a\":\"31d6cfe0\",\"chunk-5a9d6ea8\":\"a3a17709\",\"chunk-5c3889f3\":\"31d6cfe0\",\"chunk-759593db\":\"31d6cfe0\",\"chunk-7e515f7a\":\"31d6cfe0\",\"chunk-9eace95a\":\"8663d858\",\"chunk-b06965cc\":\"31d6cfe0\",\"chunk-c9150256\":\"31d6cfe0\",\"polyfills-core-js\":\"31d6cfe0\",\"polyfills-css-shim\":\"31d6cfe0\",\"polyfills-dom\":\"31d6cfe0\",\"chunk-743e4b25\":\"b821d5ad\",\"chunk-74524b79\":\"d1315986\",\"chunk-7498e9ec\":\"8c893a44\",\"chunk-74a82e1a\":\"ff604075\",\"chunk-74b6aca8\":\"2fb8d911\",\"chunk-76f08193\":\"154dd46c\",\"chunk-2d216214\":\"31d6cfe0\",\"chunk-65bd46a7\":\"31d6cfe0\",\"chunk-2e45f8c8\":\"31d6cfe0\",\"canvg\":\"31d6cfe0\",\"pdfmake\":\"31d6cfe0\",\"xlsx\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// action types\nexport const APPEND_BREADCRUM = \"appendBreadcrumb\";\n\n// mutation types\nexport const SET_BREADCRUMB = \"setBreadcrumb\";\nexport const ADD_BREADCRUMB = \"addBreadcrumb\";\n\nexport default {\n state: {\n breadcrumbs: []\n },\n getters: {\n /**\n * Get list of breadcrumbs for current page\n * @param state\n * @returns {*}\n */\n breadcrumbs(state) {\n return state.breadcrumbs;\n },\n\n /**\n * Get the page title\n * @param state\n * @returns {*}\n */\n pageTitle(state) {\n let last = state.breadcrumbs[state.breadcrumbs.length - 1];\n if (last && last.title) {\n return last.title;\n }\n }\n },\n actions: {\n /**\n * Set the breadcrumbs list\n * @param state\n * @param payload\n */\n [SET_BREADCRUMB](state, payload) {\n state.commit(SET_BREADCRUMB, payload);\n },\n\n /**\n * Add breadcrumb\n * @param state\n * @param payload\n */\n [ADD_BREADCRUMB](state, payload) {\n if (typeof payload === \"object\") {\n payload.forEach(item => state.commit(APPEND_BREADCRUM, item));\n } else {\n state.commit(APPEND_BREADCRUM, payload);\n }\n }\n },\n mutations: {\n [APPEND_BREADCRUM](state, payload) {\n state.breadcrumbs = [...state.breadcrumbs, payload];\n },\n [SET_BREADCRUMB](state, payload) {\n state.breadcrumbs = payload;\n }\n }\n};\n","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition \nvar KTImageInput = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n editMode: false\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Construct\n */\n\n construct: function(options) {\n if (KTUtil.data(element).has('imageinput')) {\n the = KTUtil.data(element).get('imageinput');\n }\n else {\n // reset menu\n Plugin.init(options);\n\n // build menu\n Plugin.build();\n\n KTUtil.data(element).set('imageinput', the);\n }\n\n return the;\n },\n\n /**\n * Init avatar\n */\n init: function(options) {\n the.element = element;\n the.events = [];\n\n the.input = KTUtil.find(element, 'input[type=\"file\"]');\n the.wrapper = KTUtil.find(element, '.image-input-wrapper');\n the.cancel = KTUtil.find(element, '[data-action=\"cancel\"]');\n the.remove = KTUtil.find(element, '[data-action=\"remove\"]');\n the.src = KTUtil.css(the.wrapper, 'backgroundImage');\n the.hidden = KTUtil.find(element, 'input[type=\"hidden\"]');\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n },\n\n /**\n * Build\n */\n build: function() {\n // Handle change\n KTUtil.addEvent(the.input, 'change', function(e) {\n e.preventDefault();\n\n\t if (the.input && the.input.files && the.input.files[0]) {\n\t var reader = new FileReader();\n\t reader.onload = function(e) {\n\t KTUtil.css(the.wrapper, 'background-image', 'url('+e.target.result +')');\n\t }\n\t reader.readAsDataURL(the.input.files[0]);\n\n\t KTUtil.addClass(the.element, 'image-input-changed');\n KTUtil.removeClass(the.element, 'image-input-empty');\n\n // Fire change event\n Plugin.eventTrigger('change');\n\t }\n });\n\n // Handle cancel\n KTUtil.addEvent(the.cancel, 'click', function(e) {\n e.preventDefault();\n\n // Fire cancel event\n Plugin.eventTrigger('cancel');\n\n\t KTUtil.removeClass(the.element, 'image-input-changed');\n KTUtil.removeClass(the.element, 'image-input-empty');\n\t KTUtil.css(the.wrapper, 'background-image', the.src);\n\t the.input.value = \"\";\n\n if (the.hidden) {\n the.hidden.value = \"0\";\n }\n });\n\n // Handle remove\n KTUtil.addEvent(the.remove, 'click', function(e) {\n e.preventDefault();\n\n // Fire cancel event\n Plugin.eventTrigger('remove');\n\n\t KTUtil.removeClass(the.element, 'image-input-changed');\n KTUtil.addClass(the.element, 'image-input-empty');\n\t KTUtil.css(the.wrapper, 'background-image', \"none\");\n\t the.input.value = \"\";\n\n if (the.hidden) {\n the.hidden.value = \"1\";\n }\n });\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name) {\n //KTUtil.triggerCustomEvent(name);\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the);\n }\n } else {\n return event.handler.call(this, the);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n\n return the;\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Attach event\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Attach event that will be fired once\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n // Construct plugin\n Plugin.construct.apply(the, [options]);\n\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTImageInput;\n}\n\nexport default KTImageInput;","var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t\"7c7c\",\n\t\t\"chunk-7e515f7a\"\n\t],\n\t\"./amplify-auth-container.entry.js\": [\n\t\t\"ca5a\",\n\t\t\"chunk-2d2214a0\"\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t\"625d\",\n\t\t\"chunk-04507dbb\"\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t\"0161\",\n\t\t\"chunk-36464361\"\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t\"8e12\",\n\t\t\"chunk-2d0e9704\"\n\t],\n\t\"./amplify-chatbot.entry.js\": [\n\t\t\"c52b\",\n\t\t\"chunk-16722cbe\"\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t\"e17b\",\n\t\t\"chunk-2d22496d\"\n\t],\n\t\"./amplify-confirm-sign-in_7.entry.js\": [\n\t\t\"46a4\",\n\t\t\"chunk-5785b65a\"\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t\"273d\",\n\t\t\"chunk-2d0b308c\"\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t\"3fb1\",\n\t\t\"chunk-55ee6439\"\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t\"b3e9\",\n\t\t\"chunk-1aad595c\"\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t\"87dc\",\n\t\t\"chunk-196a4a46\"\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t\"00ee4\",\n\t\t\"chunk-759593db\"\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t\"6e23\",\n\t\t\"chunk-2d0dae66\"\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t\"4908\",\n\t\t\"chunk-2d45f43e\"\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t\"a213\",\n\t\t\"chunk-2d207ac9\"\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t\"4689\",\n\t\t\"chunk-18eee2f8\"\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t\"5693\",\n\t\t\"chunk-0b56efa5\"\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t\"82b0\",\n\t\t\"chunk-0b5842b2\"\n\t],\n\t\"./amplify-radio-button_3.entry.js\": [\n\t\t\"12b1\",\n\t\t\"chunk-c9150256\"\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t\"4427\",\n\t\t\"chunk-3b1d36dc\"\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t\"a84e\",\n\t\t\"chunk-4f917a96\"\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t\"f2ca\",\n\t\t\"chunk-21bc92fa\"\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t\"fca7\",\n\t\t\"chunk-0dc48d80\"\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t\"c04b\",\n\t\t\"chunk-482a4768\"\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t\"a1cb\",\n\t\t\"chunk-b06965cc\"\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t\"3978\",\n\t\t\"chunk-0b4d2404\"\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t\"d56b\",\n\t\t\"chunk-2d21e3f3\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"52ee\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.amplifyAuth)?_c('div',[(_vm.completeLoading && !_vm.$isEmptyObject( _vm.loginUser ))?_c('div',{staticClass:\"d-flex flex-column flex-root\"},[(_vm.otpAuth)?_c('div',{staticClass:\"h-100\"},[_c('router-view')],1):_c('div',[_c('div',{staticClass:\"text-center\"},[_c('b-card',{staticClass:\"d-inline-block mt-16\",staticStyle:{\"width\":\"500px\",\"text-align\":\"center\"}},[_c('b-card-text',[_c('div',{staticClass:\"w-100 text-right cursor-pointer text-primary\",on:{\"click\":function($event){return _vm.$store.dispatch( 'logout' )}}},[_c('span',[_vm._v(\"Logout\")])]),_c('h3',{staticClass:\"py-5\"},[_vm._v(\"Enter OTP Code\")]),_c('b-form-input',{staticClass:\"d-inline-flex\",staticStyle:{\"width\":\"200px\"},attrs:{\"id\":\"input-otp-code\",\"autocomplete\":\"off\",\"placeholder\":\"Enter OTP Code\"},model:{value:(_vm.otpCode),callback:function ($$v) {_vm.otpCode=$$v},expression:\"otpCode\"}}),_c('br'),_c('b-button',{staticClass:\"my-3\",staticStyle:{\"width\":\"200px\"},attrs:{\"variant\":\"primary\",\"size\":\"lg\"},on:{\"click\":_vm.checkOtp}},[_vm._v(\"Confirm\")])],1)],1)],1)])]):_vm._e()]):_c('div',{staticClass:\"h-100\"},[_c('div',{staticClass:\"d-flex align-items-center flex-column justify-content-center h-100\"},[_c('img',{staticStyle:{\"width\":\"300px\",\"height\":\"auto\",\"margin\":\"30px auto\"},attrs:{\"src\":_vm.argosLogoImage}}),_c('h2',{staticClass:\"font-weight-bold\"},[_vm._v(\"Welcome ID check\")]),_c('amplify-authenticator',{attrs:{\"username-alias\":\"email\"}},[_c('amplify-sign-in',{attrs:{\"slot\":\"sign-in\",\"username-alias\":\"email\"},slot:\"sign-in\"})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=235e7fb0&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=235e7fb0&prod&lang=scss\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=235e7fb0&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"235e7fb0\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Router from \"vue-router\";\n\nVue.use(Router);\n\nexport default new Router({\n mode: \"history\",\n routes: [\n {\n path: \"/\",\n redirect: \"/dashboard/project-list\",\n\n /*\n beforeEnter: (to, from, next) => {\n console.log( \"들어왔습니다\", to, from, next )\n next(false)\n },\n */\n component: () => {\n return import(\"@/view/layout/Layout\");\n },\n children: [\n {\n path: \"/dashboard\",\n name: \"dashboard\",\n component : ()=> {\n return import(\"@/view/pages/vuetify/Vuetify.vue\");\n },\n children: [\n {\n path: \"dashboard\",\n name: \"dashboard-main\",\n component: () => import(\"@/view/pages/Main.vue\")\n },\n {\n path: \"project-list\",\n name: \"project-list\",\n component: () => import(\"@/view/pages/project/ProjectList.vue\")\n },\n {\n path: \"activity-history\",\n name: \"activity-history\",\n component: () => import(\"@/view/pages/history/ActivityHistory.vue\")\n },\n {\n path: \"kyb-main\",\n name: \"kyb-main\",\n component: () => import(\"@/view/pages/kyb/KybMain.vue\")\n },\n {\n path: \"kyb-main/kyb-detail\",\n name: \"kyb-detail\",\n component: () => import(\"@/view/pages/kyb/KybDetail.vue\")\n },\n\n {\n path: \"setting-otp\",\n name: \"setting-otp\",\n component: () => import(\"@/view/pages/setting/SettingOTP.vue\")\n },\n\n {\n path: \"auth\",\n name: \"auth\",\n component: () => import(\"@/view/pages/auth/Auth.vue\")\n },\n\n {\n path: \"kyc-submissions\",\n name: \"kyc-submissions\",\n component: () => import(\"@/view/pages/kyc/KycSubmissions.vue\")\n },\n {\n path : \"kyc-pre-verifications\",\n name : \"kyc-pre-verifications\",\n component : () => import(\"@/view/pages/kyc/PreVerificationList.vue\")\n },\n {\n path: \"kyc-aml-reports\",\n name: \"kyc-aml-reports\",\n component: () => import(\"@/view/pages/kyc/KycAmlReports.vue\")\n },\n {\n path: \"kyc-main\",\n name: \"kyc-main\",\n component: () => import(\"@/view/pages/kyc/KycMain.vue\")\n },\n {\n path: \"kyc-event-logs\",\n name: \"kyc-event-logs\",\n component: () => import(\"@/view/pages/kyc/KycEventLogs.vue\")\n },\n {\n path: \"kyc-setting\",\n name: \"kyc-setting\",\n component: () => import(\"@/view/pages/kyc/KycSetting.vue\")\n },\n {\n path: \"kyc-submissions/kyc-submission-detail\",\n name: \"kyc-submission-detail\",\n component: () => import(\"@/view/pages/kyc/KycSubmissionDetail.vue\")\n },\n {\n path: \"kyc-add-on-list\",\n name: \"kyc-add-on-list\",\n component: () => import(\"@/view/pages/addon/KycAddOnList.vue\")\n },\n {\n path : \"kyc-create-add-on\",\n name : \"kyc-create-add-on\",\n component : () => import(\"@/view/pages/addon/KycAddOnDetail.vue\")\n },\n {\n path : \"kyc-add-on-detail/:id\",\n name : \"kyc-add-on-detail/:id\",\n component : () => import(\"@/view/pages/addon/KycAddOnDetail.vue\")\n },\n {\n path : \"kyc-add-on-auth-ids/:id\",\n name : \"kyc-add-on-auth-ids/:id\",\n component : () => import(\"@/view/pages/addon/KycAddOnAuthIds.vue\")\n },\n\n\n\n /*{\n path: \"statistics\",\n name: \"statistics\",\n component: () => import(\"@/view/pages/statistics/Statistics.vue\")\n }*/\n {\n path: \"user/edit-user-profile\",\n name: \"edit-user-profile\",\n component: () => import(\"@/view/pages/user/EditUserProfile.vue\")\n }\n\n ]\n },\n\n {\n path: \"/builder\",\n name: \"builder\",\n component: () => import(\"@/view/pages/Builder.vue\")\n }\n ]\n },\n\n {\n path: \"/custom-error\",\n name: \"error\",\n component: () => import(\"@/view/pages/error/Error.vue\"),\n children: [\n {\n path: \"error-1\",\n name: \"error-1\",\n component: () => import(\"@/view/pages/error/Error-1.vue\")\n }\n ]\n },\n /*\n {\n path: \"/\",\n component: () => import(\"@/view/pages/auth/login_pages/Login-1\"),\n children: [\n {\n name: \"login\",\n path: \"/login\",\n component: () => import(\"@/view/pages/auth/login_pages/Login-1\")\n },\n {\n name: \"register\",\n path: \"/register\",\n component: () => import(\"@/view/pages/auth/login_pages/Login-1\")\n }\n ]\n },\n */\n {\n path: \"*\",\n redirect: \"/dashboard/project-list\"\n },\n {\n // the 404 route, when none of the above matches\n path: \"/404\",\n name: \"404\",\n component: () => import(\"@/view/pages/error/Error-1.vue\")\n }\n ]\n});\n","const ID_TOKEN_KEY = \"id_token\";\n\nexport const getToken = () => {\n return window.localStorage.getItem(ID_TOKEN_KEY);\n};\n\nexport const saveToken = token => {\n window.localStorage.setItem(ID_TOKEN_KEY, token);\n};\n\nexport const destroyToken = () => {\n window.localStorage.removeItem(ID_TOKEN_KEY);\n};\n\nexport default { getToken, saveToken, destroyToken };\n","import Vue from \"vue\";\nimport axios from \"axios\";\nimport VueAxios from \"vue-axios\";\nimport JwtService from \"@/core/services/jwt.service\";\n\n/**\n * Service to call HTTP request via Axios\n */\nconst ApiService = {\n init() {\n Vue.use(VueAxios, axios);\n Vue.axios.defaults.baseURL = \"http://localhost\";\n },\n\n /**\n * Set the default HTTP request headers\n */\n setHeader() {\n Vue.axios.defaults.headers.common[\n \"Authorization\"\n ] = `Token ${JwtService.getToken()}`;\n },\n\n query(resource, params) {\n return Vue.axios.get(resource, params).catch(error => {\n // console.log(error);\n throw new Error(`[KT] ApiService ${error}`);\n });\n },\n\n /**\n * Send the GET HTTP request\n * @param resource\n * @param slug\n * @returns {*}\n */\n get(resource, slug = \"\") {\n return Vue.axios.get(`${resource}/${slug}`).catch(error => {\n // console.log(error);\n throw new Error(`[KT] ApiService ${error}`);\n });\n },\n\n /**\n * Set the POST HTTP request\n * @param resource\n * @param params\n * @returns {*}\n */\n post(resource, params) {\n return Vue.axios.post(`${resource}`, params);\n },\n\n /**\n * Send the UPDATE HTTP request\n * @param resource\n * @param slug\n * @param params\n * @returns {IDBRequest | Promise}\n */\n update(resource, slug, params) {\n return Vue.axios.put(`${resource}/${slug}`, params);\n },\n\n /**\n * Send the PUT HTTP request\n * @param resource\n * @param params\n * @returns {IDBRequest | Promise}\n */\n put(resource, params) {\n return Vue.axios.put(`${resource}`, params);\n },\n\n /**\n * Send the DELETE HTTP request\n * @param resource\n * @returns {*}\n */\n delete(resource) {\n return Vue.axios.delete(resource).catch(error => {\n // console.log(error);\n throw new Error(`[RWV] ApiService ${error}`);\n });\n }\n};\n\nexport default ApiService;\n","import vue from 'vue';\n\n/**\n * 공통함수입니다.\n * @type {{install(*): void}}\n */\nexport const CommonJs = {\n\n\n install( Vue ) {\n\n Vue.prototype.$isValidEmail = function( email ) {\n\n if( !email ) {\n return false;\n }\n\n let emailReg = new RegExp(/^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,99}(?:\\.[a-z]{2})?)$/i);\n return emailReg.test( email );\n },\n\n Vue.prototype.$getSequenceText = function( index ) {\n\n if( \"number\" !== typeof index ) {\n return \"\";\n }\n if( index === 1 ) return \"1st\"\n if( index === 2 ) return \"2nd\"\n if( index === 3 ) return \"3rd\"\n if( index > 3 ) return ( index + \"th\" )\n },\n\n /**\n * @param uri : 다운로드 URL\n * @param fileName : 파일명\n * @desc uri 파일을 fileName으로 다운로드\n */\n Vue.prototype.$downloadURI = function( uri, name = \"untitled\" ) {\n\n if( !uri ) {\n console.log( \"download uri is not exist \" );\n return;\n }\n let link = document.createElement( \"a\" );\n link.download = name;\n link.href = uri;\n document.body.appendChild( link );\n link.click();\n document.body.removeChild( link );\n\n },\n\n /**\n * 페이지 길이를 가져옵니다.\n * Ex) totalCount 가 31, pageSize가 10이면 4를 return\n * totalCount 가 30, pageSize가 10이면 3을 return\n */\n Vue.prototype.$getPageLength = function( totalCount, pageSize ) {\n let calc = ( totalCount % pageSize == 0 ? 0 : 1 );\n return Math.floor( totalCount / pageSize ) + calc;\n },\n\n\n /**\n * vue bootstrap\n */\n Vue.prototype.$getStatusColorBootstrap = function( status ) {\n if ( status === \"pending\" ) return 'warning'\n else if (status ===\"approved\") return 'success'\n else if (status === \"rejected\") return 'danger'\n else return 'secondary';\n },\n Vue.prototype.$getStatusIcon = function( status ) {\n if ( status === \"pending\" ) return 'exclamation-circle-fill'\n else if (status ===\"approved\") return 'check-circle-fill'\n else if (status === \"rejected\") return 'x-circle-fill'\n else if (status === 'incomplete') return 'exclamation-circle-fill'\n else return 'secondary';\n },\n\n /**\n * vuetify\n * @param status - pending, rejected, incomplete, approved\n * @returns {string}\n */\n Vue.prototype.$getStatusColor = function( status ) {\n if ( status === \"pending\" ) return 'orange'\n else if (status ===\"approved\") return 'green'\n else if (status === \"rejected\") return 'red'\n else return 'grey';\n }\n\n\n Vue.prototype.$getAgeGroupColor = function( ageGroup ) {\n switch (ageGroup) {\n case 'minor':\n return '#FFECEA';\n case 'early-teen':\n return '#FFF7D5';\n case 'teen':\n return '#E9F2FF';\n case 'adult':\n return '#DCFFF1';\n default:\n return 'transparent'; // default background color\n }\n }\n\n Vue.prototype.$getAgeGroupTextColor = function( ageGroup ) {\n switch (ageGroup) {\n case 'minor':\n return '#AD2E24';\n case 'early-teen':\n return '#A64802';\n case 'teen':\n return '#0A5ACE';\n case 'adult':\n return '#206D4D';\n default:\n return 'transparent'; // default text color\n }\n }\n\n /**\n * 최신순으로 데이터를 나열\n * 나열 기준 : default 컬럼명 \"created_at\"\n */\n Vue.prototype.$sortByDate = function( list, column_name = \"createTime\" ) {\n\n if( !list || list.length == 0 ) {\n return [];\n }\n console.log(\"list -- \", list);\n list.sort( function( curr, next ) {\n\n let currDate = new Date( curr[ column_name ] );\n let nextDate = new Date( next[ column_name ] );\n\n return nextDate - currDate;\n });\n return list;\n },\n Vue.prototype.$getTextByteLength = function(str) {\n let byteLength = 0;\n for (let i = 0; i < str.length; i++) {\n const charCode = str.charCodeAt(i);\n if (charCode <= 0x007F) {\n byteLength++;\n } else if (charCode <= 0x07FF) {\n byteLength += 2;\n } else if (charCode <= 0xFFFF) {\n byteLength += 3;\n } else {\n byteLength += 4;\n }\n }\n return byteLength;\n },\n\n Vue.prototype.$getAge = function( dob ) {\n\n\n if( !dob || ( new Date(dob) == 'Invalid Date' ) ) {\n console.log( \"$getAge - not exist param ::: \" , dob );\n return 0;\n }\n\n let birthdate = new Date( dob );\n let today = new Date();\n let age = ( today.getFullYear() ) - ( birthdate.getFullYear() );\n\n\n if( vue.prototype.$moment( today ).format( \"MMDD\" ) - vue.prototype.$moment( birthdate ).format( \"MMDD\" ) < 0 ) {\n age = age - 1;\n }\n\n return age;\n },\n\n Vue.prototype.$getFormHtml = function(formId, type=\"html\") {\n\n if( !formId ) {\n console.log( \"잘못된 파라미터입니다. $getFormHtml >> param ::: \", formId );\n return;\n }\n\n // let html =`
`;\n // return html;\n //console.log(\"formId in getForm\", formId);\n\n //let domain = \"https://form.jotform.com/\";\n let domain = \"https://kyc.argos-solutions.io/apply/\";\n if( type == \"html\") {\n let html = ``;\n for (let i = 0; i < formId.length; i++) {\n let url = domain + formId[i];\n\n html += `${url}
`;\n }\n\n return html;\n }\n\n //@TODO 현재는 form id가 하나일 것이란 가정하에 개발\n return ( domain + formId[0] );\n },\n\n /**\n * object의 empty여부를 반환합니다.\n * @param obj\n * @returns {boolean} 비어있을 시 true, 비어있지 않을 시 false\n */\n Vue.prototype.$isEmptyObject = function( obj ) {\n\n if( !obj ) {\n return true;\n }\n\n for( let prop in obj ) {\n if(obj.hasOwnProperty(prop))\n return false;\n }\n\n return JSON.stringify(obj) === JSON.stringify({});\n },\n\n /**\n * @param time 파라미터는 2021-08-07T00:00:00.000Z 형태로 들어옴\n */\n Vue.prototype.$changeTimeFromSelectedLang = function (time , selectedLang) {\n if (!time) {\n return '';\n }\n const {timezone , value : navigatorLanguage} = selectedLang;\n const formatter = new Intl.DateTimeFormat(navigatorLanguage, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n timeZone: timezone,\n });\n const date = new Date(time);\n\n return formatter.format(date);\n },\n\n\n Vue.prototype.$isAfterNovemberFirst2023 = function (createTime) {\n // UTC 기준 2023년 11월 1일 00시를 설정합니다.\n const targetDate = new Date(Date.UTC(2023, 10, 1, 0, 0, 0));\n\n // createTime 파라미터를 Date 객체로 변환합니다.\n const inputDate = new Date(createTime);\n\n // inputDate가 targetDate 이후인지 확인합니다.\n return inputDate >= targetDate;\n }\n\n\n\n /**\n * 원하는 날짜만큼 + 하여 return\n * @param dateParam : ex) \"2021-08-07\", new Date() 등등 가능\n * @param addDay : 필수로 숫자형이여야만 함 ! ex) -1, 2\n * 사용 예 : this.$addDay( \"2021-05-24\", -3 ) => return new Date( \"2018-05-24\" )\n */\n Vue.prototype.$addYear = function( dateParam, addYear ) {\n if( !dateParam || typeof addYear !== \"number\" || new Date( dateParam ) == 'Invalid Date' ) {\n console.log( \"잘못된 호출입니다 \" );\n return;\n }\n\n let day = new Date( dateParam );\n\n let year = day.getFullYear();\n let month = day.getMonth();\n let date = day.getDate();\n return new Date( year + addYear, month, date );\n },\n\n Vue.prototype.$addDay = function( dateParam, addDay, format ) {\n\n if( !dateParam || typeof addDay !== \"number\" || ( new Date( dateParam ) == 'Invalid Date' ) ) {\n console.log( \"잘못된 호출입니다 \" );\n return;\n }\n\n let day = new Date( dateParam );\n\n let year = day.getFullYear();\n let month = day.getMonth();\n let date = day.getDate();\n\n let resultDate = new Date( year, month, date + addDay );\n if( !format ) {\n return resultDate;\n }\n\n return vue.prototype.$moment( resultDate ).format( format )\n }\n }\n}\n","const dataTree = require('data-tree');\n\nexport const TreeCommon = {\n\n install( Vue ) {\n\n Vue.prototype.$convertListToTree = function (list) {\n\n console.log( \"list ::: \", list )\n let tree = dataTree.create();\n let rootNode = tree.insert({\n key: '#root',\n value: {\n \"nationality\": \"\",\n \"ratio\": null,\n \"nodePath\": \"\",\n \"nodeStatus\": \"\",\n \"createdTime\": \"\",\n \"nodeName\": \"root\",\n \"submissionId\": \"\",\n \"nodeLevel\": null,\n \"updateTime\": \"\",\n \"documentUrl\": \"\",\n \"birthDate\": \"\",\n \"nodeType\": \"\",\n \"uniqNo\": \"\",\n \"nodeParent\": \"\",\n \"amlScreen\" : \"\",\n amlResult : [],\n }\n });\n\n for(let shareholder of list){\n let keyValue = \"#\" + shareholder.nodeName.toLowerCase();\n console.log(\"shareHolder\", shareholder);\n let inObj = {\n key: keyValue,\n value: shareholder\n }\n\n // 최상위 부모는 0000\n if( shareholder.nodeParent == \"0000\" || !shareholder.nodeParent ){\n keyValue = \"#root\";\n tree.insertTo(function(data){\n return data.key == keyValue;\n }, inObj)\n }\n else{\n // 최상위 Node가 아닐 경우 Parent Node 위치를 확인하여 insert해야 한다.\n let parentKeyValue = \"#\" + shareholder.nodeParent.toLowerCase();\n let searchNode = tree.traverser().searchBFS(function(data){\n return data.key === parentKeyValue;\n })\n tree.insertToNode(searchNode, inObj)\n }\n }\n\n var exported = rootNode.export(function(data){\n let result = {}\n let keys= [ \"nodeName\",\"ratio\",\"nodeStatus\",\"createTime\",\"submissionId\"\n ,\"nodeLevel\",\"nodeParent\",\"updateTime\",\"documentUrl\"\n ,\"birthDate\",\"nodeType\",\"uniqNo\",\"nationality\",\"amlScreen\",\"amlResult\"];\n for( let item in data.value ) {\n if( keys.includes( item ) ) {\n result[item] = data.value[item];\n }\n }\n return result;\n });\n\n //console.log(\"exported\", exported);\n return exported.children;\n },\n\n\n Vue.prototype.$convertListToTree2 = function (list) {\n\n console.log( \"$convertListToTree2 parameter list ::: \", list )\n let tree = dataTree.create();\n let rootNode = tree.insert({\n key: '#root',\n value: {\n \"name\": \"\",\n \"title\": \"\",\n \"parent\": \"\",\n \"type\" : \"\",\n \"temp1\" : \"\", // 추가데이터 1 (확장성 고려)\n }\n });\n\n for(let shareholder of list){\n let keyValue = \"#\" + shareholder.name.toLowerCase();\n // console.log(\"shareHolder\", shareholder);\n let inObj = {\n key: keyValue,\n value: shareholder\n }\n\n // 최상위 부모는 0000\n if( shareholder.parent == \"0000\" || !shareholder.parent ){\n keyValue = \"#root\";\n tree.insertTo(function(data){\n return data.key == keyValue;\n }, inObj)\n }\n else{\n // 최상위 Node가 아닐 경우 Parent Node 위치를 확인하여 insert해야 한다.\n let parentKeyValue = \"#\" + shareholder.parent.toLowerCase();\n let searchNode = tree.traverser().searchBFS(function(data){\n return data.key === parentKeyValue;\n })\n tree.insertToNode(searchNode, inObj)\n }\n }\n\n let exported = rootNode.export(function(data){\n return {\n name: data.value.name,\n parent: data.value.parent,\n title : data.value.title,\n type : data.value.type,\n temp1 : data.value.temp1,\n temp2 : data.value.temp2,\n };\n });\n\n //console.log(\"exported\", exported);\n return exported.children;\n }\n }\n\n}\n","// USA\nexport const locale = {\n TRANSLATOR: {\n SELECT: \"Select your language\"\n },\n MENU: {\n NEW: \"new\",\n ACTIONS: \"Actions\",\n CREATE_POST: \"Create New Post\",\n PAGES: \"Pages\",\n FEATURES: \"Features\",\n APPS: \"Apps\",\n DASHBOARD: \"Dashboard\"\n },\n AUTH: {\n GENERAL: {\n OR: \"Or\",\n SUBMIT_BUTTON: \"Submit\",\n NO_ACCOUNT: \"Don't have an account?\",\n SIGNUP_BUTTON: \"Sign Up\",\n FORGOT_BUTTON: \"Forgot Password\",\n BACK_BUTTON: \"Back\",\n PRIVACY: \"Privacy\",\n LEGAL: \"Legal\",\n CONTACT: \"Contact\"\n },\n LOGIN: {\n TITLE: \"Login Account\",\n BUTTON: \"Sign In\"\n },\n FORGOT: {\n TITLE: \"Forgot Password?\",\n DESC: \"Enter your email to reset your password\",\n SUCCESS: \"Your account has been successfully reset.\"\n },\n REGISTER: {\n TITLE: \"Sign Up\",\n DESC: \"Enter your details to create your account\",\n SUCCESS: \"Your account has been successfuly registered.\"\n },\n INPUT: {\n EMAIL: \"Email\",\n FULLNAME: \"Fullname\",\n PASSWORD: \"Password\",\n CONFIRM_PASSWORD: \"Confirm Password\",\n USERNAME: \"Username\"\n },\n VALIDATION: {\n INVALID: \"{{name}} is not valid\",\n REQUIRED: \"{{name}} is required\",\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\n NOT_FOUND: \"The requested {{name}} is not found\",\n INVALID_LOGIN: \"The login detail is incorrect\",\n REQUIRED_FIELD: \"Required field\",\n MIN_LENGTH_FIELD: \"Minimum field length:\",\n MAX_LENGTH_FIELD: \"Maximum field length:\",\n INVALID_FIELD: \"Field is not valid\"\n }\n },\n ECOMMERCE: {\n COMMON: {\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\n ALL: \"All\",\n SUSPENDED: \"Suspended\",\n ACTIVE: \"Active\",\n FILTER: \"Filter\",\n BY_STATUS: \"by Status\",\n BY_TYPE: \"by Type\",\n BUSINESS: \"Business\",\n INDIVIDUAL: \"Individual\",\n SEARCH: \"Search\",\n IN_ALL_FIELDS: \"in all fields\"\n },\n ECOMMERCE: \"eCommerce\",\n CUSTOMERS: {\n CUSTOMERS: \"Customers\",\n CUSTOMERS_LIST: \"Customers list\",\n NEW_CUSTOMER: \"New Customer\",\n DELETE_CUSTOMER_SIMPLE: {\n TITLE: \"Customer Delete\",\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\n WAIT_DESCRIPTION: \"Customer is deleting...\",\n MESSAGE: \"Customer has been deleted\"\n },\n DELETE_CUSTOMER_MULTY: {\n TITLE: \"Customers Delete\",\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\n WAIT_DESCRIPTION: \"Customers are deleting...\",\n MESSAGE: \"Selected customers have been deleted\"\n },\n UPDATE_STATUS: {\n TITLE: \"Status has been updated for selected customers\",\n MESSAGE: \"Selected customers status have successfully been updated\"\n },\n EDIT: {\n UPDATE_MESSAGE: \"Customer has been updated\",\n ADD_MESSAGE: \"Customer has been created\"\n }\n }\n }\n};\n","// China\nexport const locale = {\n TRANSLATOR: {\n SELECT: \"选择你的语言\"\n },\n MENU: {\n NEW: \"新\",\n ACTIONS: \"行动\",\n CREATE_POST: \"创建新帖子\",\n PAGES: \"Pages\",\n FEATURES: \"特征\",\n APPS: \"应用\",\n DASHBOARD: \"仪表板\"\n },\n AUTH: {\n GENERAL: {\n OR: \"要么\",\n SUBMIT_BUTTON: \"提交\",\n NO_ACCOUNT: \"没有账号?\",\n SIGNUP_BUTTON: \"注册\",\n FORGOT_BUTTON: \"忘记密码\",\n BACK_BUTTON: \"背部\",\n PRIVACY: \"隐私\",\n LEGAL: \"法律\",\n CONTACT: \"联系\"\n },\n LOGIN: {\n TITLE: \"创建帐号\",\n BUTTON: \"签到\"\n },\n FORGOT: {\n TITLE: \"Forgot Password?\",\n DESC: \"Enter your email to reset your password\",\n SUCCESS: \"Your account has been successfully reset.\"\n },\n REGISTER: {\n TITLE: \"Sign Up\",\n DESC: \"Enter your details to create your account\",\n SUCCESS: \"Your account has been successfuly registered.\"\n },\n INPUT: {\n EMAIL: \"Email\",\n FULLNAME: \"Fullname\",\n PASSWORD: \"Password\",\n CONFIRM_PASSWORD: \"Confirm Password\",\n USERNAME: \"用戶名\"\n },\n VALIDATION: {\n INVALID: \"{{name}} is not valid\",\n REQUIRED: \"{{name}} is required\",\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\n NOT_FOUND: \"The requested {{name}} is not found\",\n INVALID_LOGIN: \"The login detail is incorrect\",\n REQUIRED_FIELD: \"Required field\",\n MIN_LENGTH_FIELD: \"Minimum field length:\",\n MAX_LENGTH_FIELD: \"Maximum field length:\",\n INVALID_FIELD: \"Field is not valid\"\n }\n },\n ECOMMERCE: {\n COMMON: {\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\n ALL: \"All\",\n SUSPENDED: \"Suspended\",\n ACTIVE: \"Active\",\n FILTER: \"Filter\",\n BY_STATUS: \"by Status\",\n BY_TYPE: \"by Type\",\n BUSINESS: \"Business\",\n INDIVIDUAL: \"Individual\",\n SEARCH: \"Search\",\n IN_ALL_FIELDS: \"in all fields\"\n },\n ECOMMERCE: \"eCommerce\",\n CUSTOMERS: {\n CUSTOMERS: \"顾客\",\n CUSTOMERS_LIST: \"客户名单\",\n NEW_CUSTOMER: \"New Customer\",\n DELETE_CUSTOMER_SIMPLE: {\n TITLE: \"Customer Delete\",\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\n WAIT_DESCRIPTION: \"Customer is deleting...\",\n MESSAGE: \"Customer has been deleted\"\n },\n DELETE_CUSTOMER_MULTY: {\n TITLE: \"Customers Delete\",\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\n WAIT_DESCRIPTION: \"Customers are deleting...\",\n MESSAGE: \"Selected customers have been deleted\"\n },\n UPDATE_STATUS: {\n TITLE: \"Status has been updated for selected customers\",\n MESSAGE: \"Selected customers status have successfully been updated\"\n },\n EDIT: {\n UPDATE_MESSAGE: \"Customer has been updated\",\n ADD_MESSAGE: \"Customer has been created\"\n }\n }\n }\n};\n","// Spain\nexport const locale = {\n TRANSLATOR: {\n SELECT: \"Elige tu idioma\"\n },\n MENU: {\n NEW: \"nuevo\",\n ACTIONS: \"Comportamiento\",\n CREATE_POST: \"Crear nueva publicación\",\n PAGES: \"Pages\",\n FEATURES: \"Caracteristicas\",\n APPS: \"Aplicaciones\",\n DASHBOARD: \"Tablero\"\n },\n AUTH: {\n GENERAL: {\n OR: \"O\",\n SUBMIT_BUTTON: \"Enviar\",\n NO_ACCOUNT: \"No tienes una cuenta?\",\n SIGNUP_BUTTON: \"Regístrate\",\n FORGOT_BUTTON: \"Se te olvidó tu contraseña\",\n BACK_BUTTON: \"Espalda\",\n PRIVACY: \"Intimidad\",\n LEGAL: \"Legal\",\n CONTACT: \"Contacto\"\n },\n LOGIN: {\n TITLE: \"Crear una cuenta\",\n BUTTON: \"Registrarse\"\n },\n FORGOT: {\n TITLE: \"Contraseña olvidada?\",\n DESC: \"Ingrese su correo electrónico para restablecer su contraseña\",\n SUCCESS: \"Your account has been successfully reset.\"\n },\n REGISTER: {\n TITLE: \"Sign Up\",\n DESC: \"Enter your details to create your account\",\n SUCCESS: \"Your account has been successfuly registered.\"\n },\n INPUT: {\n EMAIL: \"Email\",\n FULLNAME: \"Fullname\",\n PASSWORD: \"Password\",\n CONFIRM_PASSWORD: \"Confirm Password\",\n USERNAME: \"Usuario\"\n },\n VALIDATION: {\n INVALID: \"{{name}} is not valid\",\n REQUIRED: \"{{name}} is required\",\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\n NOT_FOUND: \"The requested {{name}} is not found\",\n INVALID_LOGIN: \"The login detail is incorrect\",\n REQUIRED_FIELD: \"Required field\",\n MIN_LENGTH_FIELD: \"Minimum field length:\",\n MAX_LENGTH_FIELD: \"Maximum field length:\",\n INVALID_FIELD: \"Field is not valid\"\n }\n },\n ECOMMERCE: {\n COMMON: {\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\n ALL: \"All\",\n SUSPENDED: \"Suspended\",\n ACTIVE: \"Active\",\n FILTER: \"Filter\",\n BY_STATUS: \"by Status\",\n BY_TYPE: \"by Type\",\n BUSINESS: \"Business\",\n INDIVIDUAL: \"Individual\",\n SEARCH: \"Search\",\n IN_ALL_FIELDS: \"in all fields\"\n },\n ECOMMERCE: \"eCommerce\",\n CUSTOMERS: {\n CUSTOMERS: \"Customers\",\n CUSTOMERS_LIST: \"Customers list\",\n NEW_CUSTOMER: \"New Customer\",\n DELETE_CUSTOMER_SIMPLE: {\n TITLE: \"Customer Delete\",\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\n WAIT_DESCRIPTION: \"Customer is deleting...\",\n MESSAGE: \"Customer has been deleted\"\n },\n DELETE_CUSTOMER_MULTY: {\n TITLE: \"Customers Delete\",\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\n WAIT_DESCRIPTION: \"Customers are deleting...\",\n MESSAGE: \"Selected customers have been deleted\"\n },\n UPDATE_STATUS: {\n TITLE: \"Status has been updated for selected customers\",\n MESSAGE: \"Selected customers status have successfully been updated\"\n },\n EDIT: {\n UPDATE_MESSAGE: \"Customer has been updated\",\n ADD_MESSAGE: \"Customer has been created\"\n }\n }\n }\n};\n","// Japan\nexport const locale = {\n TRANSLATOR: {\n SELECT: \"あなたが使う言語を選んでください\"\n },\n MENU: {\n NEW: \"新しい\",\n ACTIONS: \"行動\",\n CREATE_POST: \"新しい投稿を作成\",\n PAGES: \"Pages\",\n FEATURES: \"特徴\",\n APPS: \"アプリ\",\n DASHBOARD: \"ダッシュボード\"\n },\n AUTH: {\n GENERAL: {\n OR: \"または\",\n SUBMIT_BUTTON: \"提出する\",\n NO_ACCOUNT: \"アカウントを持っていない?\",\n SIGNUP_BUTTON: \"サインアップ\",\n FORGOT_BUTTON: \"パスワードをお忘れですか\",\n BACK_BUTTON: \"バック\",\n PRIVACY: \"プライバシー\",\n LEGAL: \"法的\",\n CONTACT: \"接触\"\n },\n LOGIN: {\n TITLE: \"Create Account\",\n BUTTON: \"Sign In\"\n },\n FORGOT: {\n TITLE: \"Forgot Password?\",\n DESC: \"Enter your email to reset your password\",\n SUCCESS: \"Your account has been successfully reset.\"\n },\n REGISTER: {\n TITLE: \"Sign Up\",\n DESC: \"Enter your details to create your account\",\n SUCCESS: \"Your account has been successfuly registered.\"\n },\n INPUT: {\n EMAIL: \"Email\",\n FULLNAME: \"Fullname\",\n PASSWORD: \"Password\",\n CONFIRM_PASSWORD: \"Confirm Password\",\n USERNAME: \"ユーザー名\"\n },\n VALIDATION: {\n INVALID: \"{{name}} is not valid\",\n REQUIRED: \"{{name}} is required\",\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\n NOT_FOUND: \"The requested {{name}} is not found\",\n INVALID_LOGIN: \"The login detail is incorrect\",\n REQUIRED_FIELD: \"Required field\",\n MIN_LENGTH_FIELD: \"Minimum field length:\",\n MAX_LENGTH_FIELD: \"Maximum field length:\",\n INVALID_FIELD: \"Field is not valid\"\n }\n },\n ECOMMERCE: {\n COMMON: {\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\n ALL: \"All\",\n SUSPENDED: \"Suspended\",\n ACTIVE: \"Active\",\n FILTER: \"Filter\",\n BY_STATUS: \"by Status\",\n BY_TYPE: \"by Type\",\n BUSINESS: \"Business\",\n INDIVIDUAL: \"Individual\",\n SEARCH: \"Search\",\n IN_ALL_FIELDS: \"in all fields\"\n },\n ECOMMERCE: \"eCommerce\",\n CUSTOMERS: {\n CUSTOMERS: \"Customers\",\n CUSTOMERS_LIST: \"Customers list\",\n NEW_CUSTOMER: \"New Customer\",\n DELETE_CUSTOMER_SIMPLE: {\n TITLE: \"Customer Delete\",\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\n WAIT_DESCRIPTION: \"Customer is deleting...\",\n MESSAGE: \"Customer has been deleted\"\n },\n DELETE_CUSTOMER_MULTY: {\n TITLE: \"Customers Delete\",\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\n WAIT_DESCRIPTION: \"Customers are deleting...\",\n MESSAGE: \"Selected customers have been deleted\"\n },\n UPDATE_STATUS: {\n TITLE: \"Status has been updated for selected customers\",\n MESSAGE: \"Selected customers status have successfully been updated\"\n },\n EDIT: {\n UPDATE_MESSAGE: \"Customer has been updated\",\n ADD_MESSAGE: \"Customer has been created\"\n }\n }\n }\n};\n","// Germany\nexport const locale = {\n TRANSLATOR: {\n SELECT: \"Wähle deine Sprache\"\n },\n MENU: {\n NEW: \"Neu\",\n ACTIONS: \"Aktionen\",\n CREATE_POST: \"Erstellen Sie einen neuen Beitrag\",\n PAGES: \"Pages\",\n FEATURES: \"Eigenschaften\",\n APPS: \"Apps\",\n DASHBOARD: \"Instrumententafel\"\n },\n AUTH: {\n GENERAL: {\n OR: \"Oder\",\n SUBMIT_BUTTON: \"einreichen\",\n NO_ACCOUNT: \"Hast du kein Konto?\",\n SIGNUP_BUTTON: \"Anmelden\",\n FORGOT_BUTTON: \"Passwort vergessen\",\n BACK_BUTTON: \"Zurück\",\n PRIVACY: \"Privatsphäre\",\n LEGAL: \"Legal\",\n CONTACT: \"Kontakt\"\n },\n LOGIN: {\n TITLE: \"Create Account\",\n BUTTON: \"Sign In\"\n },\n FORGOT: {\n TITLE: \"Forgot Password?\",\n DESC: \"Enter your email to reset your password\",\n SUCCESS: \"Your account has been successfully reset.\"\n },\n REGISTER: {\n TITLE: \"Sign Up\",\n DESC: \"Enter your details to create your account\",\n SUCCESS: \"Your account has been successfuly registered.\"\n },\n INPUT: {\n EMAIL: \"Email\",\n FULLNAME: \"Fullname\",\n PASSWORD: \"Password\",\n CONFIRM_PASSWORD: \"Confirm Password\",\n USERNAME: \"Nutzername\"\n },\n VALIDATION: {\n INVALID: \"{{name}} is not valid\",\n REQUIRED: \"{{name}} is required\",\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\n NOT_FOUND: \"The requested {{name}} is not found\",\n INVALID_LOGIN: \"The login detail is incorrect\",\n REQUIRED_FIELD: \"Required field\",\n MIN_LENGTH_FIELD: \"Minimum field length:\",\n MAX_LENGTH_FIELD: \"Maximum field length:\",\n INVALID_FIELD: \"Field is not valid\"\n }\n },\n ECOMMERCE: {\n COMMON: {\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\n ALL: \"All\",\n SUSPENDED: \"Suspended\",\n ACTIVE: \"Active\",\n FILTER: \"Filter\",\n BY_STATUS: \"by Status\",\n BY_TYPE: \"by Type\",\n BUSINESS: \"Business\",\n INDIVIDUAL: \"Individual\",\n SEARCH: \"Search\",\n IN_ALL_FIELDS: \"in all fields\"\n },\n ECOMMERCE: \"eCommerce\",\n CUSTOMERS: {\n CUSTOMERS: \"Customers\",\n CUSTOMERS_LIST: \"Customers list\",\n NEW_CUSTOMER: \"New Customer\",\n DELETE_CUSTOMER_SIMPLE: {\n TITLE: \"Customer Delete\",\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\n WAIT_DESCRIPTION: \"Customer is deleting...\",\n MESSAGE: \"Customer has been deleted\"\n },\n DELETE_CUSTOMER_MULTY: {\n TITLE: \"Customers Delete\",\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\n WAIT_DESCRIPTION: \"Customers are deleting...\",\n MESSAGE: \"Selected customers have been deleted\"\n },\n UPDATE_STATUS: {\n TITLE: \"Status has been updated for selected customers\",\n MESSAGE: \"Selected customers status have successfully been updated\"\n },\n EDIT: {\n UPDATE_MESSAGE: \"Customer has been updated\",\n ADD_MESSAGE: \"Customer has been created\"\n }\n }\n }\n};\n","// France\nexport const locale = {\n TRANSLATOR: {\n SELECT: \"choisissez votre langue\"\n },\n MENU: {\n NEW: \"Nouveau\",\n ACTIONS: \"Actes\",\n CREATE_POST: \"Créer un nouveau Post\",\n PAGES: \"Pages\",\n FEATURES: \"Fonctionnalités\",\n APPS: \"Applications\",\n DASHBOARD: \"Tableau de Bord\"\n },\n AUTH: {\n GENERAL: {\n OR: \"Ou\",\n SUBMIT_BUTTON: \"Soumettre\",\n NO_ACCOUNT: \"Ne pas avoir de compte?\",\n SIGNUP_BUTTON: \"Registre\",\n FORGOT_BUTTON: \"Mot de passe oublié\",\n BACK_BUTTON: \"Back\",\n PRIVACY: \"Privacy\",\n LEGAL: \"Legal\",\n CONTACT: \"Contact\"\n },\n LOGIN: {\n TITLE: \"Créer un compte\",\n BUTTON: \"Sign In\"\n },\n FORGOT: {\n TITLE: \"Forgot Password?\",\n DESC: \"Enter your email to reset your password\",\n SUCCESS: \"Your account has been successfully reset.\"\n },\n REGISTER: {\n TITLE: \"Sign Up\",\n DESC: \"Enter your details to create your account\",\n SUCCESS: \"Your account has been successfuly registered.\"\n },\n INPUT: {\n EMAIL: \"Email\",\n FULLNAME: \"Fullname\",\n PASSWORD: \"Mot de passe\",\n CONFIRM_PASSWORD: \"Confirm Password\",\n USERNAME: \"Nom d'utilisateur\"\n },\n VALIDATION: {\n INVALID: \"{{name}} n'est pas valide\",\n REQUIRED: \"{{name}} est requis\",\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\n NOT_FOUND: \"The requested {{name}} is not found\",\n INVALID_LOGIN: \"The login detail is incorrect\",\n REQUIRED_FIELD: \"Required field\",\n MIN_LENGTH_FIELD: \"Minimum field length:\",\n MAX_LENGTH_FIELD: \"Maximum field length:\",\n INVALID_FIELD: \"Field is not valid\"\n }\n },\n ECOMMERCE: {\n COMMON: {\n SELECTED_RECORDS_COUNT: \"Nombre d'enregistrements sélectionnés: \",\n ALL: \"All\",\n SUSPENDED: \"Suspended\",\n ACTIVE: \"Active\",\n FILTER: \"Filter\",\n BY_STATUS: \"by Status\",\n BY_TYPE: \"by Type\",\n BUSINESS: \"Business\",\n INDIVIDUAL: \"Individual\",\n SEARCH: \"Search\",\n IN_ALL_FIELDS: \"in all fields\"\n },\n ECOMMERCE: \"éCommerce\",\n CUSTOMERS: {\n CUSTOMERS: \"Les clients\",\n CUSTOMERS_LIST: \"Liste des clients\",\n NEW_CUSTOMER: \"Nouveau client\",\n DELETE_CUSTOMER_SIMPLE: {\n TITLE: \"Suppression du client\",\n DESCRIPTION: \"Êtes-vous sûr de supprimer définitivement ce client?\",\n WAIT_DESCRIPTION: \"Le client est en train de supprimer ...\",\n MESSAGE: \"Le client a été supprimé\"\n },\n DELETE_CUSTOMER_MULTY: {\n TITLE: \"Supprimer les clients\",\n DESCRIPTION:\n \"Êtes-vous sûr de supprimer définitivement les clients sélectionnés?\",\n WAIT_DESCRIPTION: \"Les clients suppriment ...\",\n MESSAGE: \"Les clients sélectionnés ont été supprimés\"\n },\n UPDATE_STATUS: {\n TITLE: \"Le statut a été mis à jour pour les clients sélectionnés\",\n MESSAGE:\n \"Le statut des clients sélectionnés a été mis à jour avec succès\"\n },\n EDIT: {\n UPDATE_MESSAGE: \"Le client a été mis à jour\",\n ADD_MESSAGE: \"Le client a été créé\"\n }\n }\n }\n};\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\n\n// // Localisation language list\n// import { locale as en } from \"@/core/config/i18n/en\";\n// import { locale as ch } from \"@/core/config/i18n/ch\";\n// import { locale as es } from \"@/core/config/i18n/es\";\n// import { locale as jp } from \"@/core/config/i18n/jp\";\n// import { locale as de } from \"@/core/config/i18n/de\";ㅑ\n// import { locale as fr } from \"@/core/config/i18n/fr\";\n//\n// Vue.use(VueI18n);\n//\n// let messages = {};\n// messages = { ...messages, en, ch, es, jp, de, fr };\n//\n// // get current selected language\n// const lang = localStorage.getItem(\"language\") || \"en\";\n//\n//\n//\n// // Create VueI18n instance with options\n// const i18n = new VueI18n({\n// locale: lang, // set locale\n// messages // set locale messages\n// });\n\nimport { locale as en } from \"@/core/config/i18n/en\";\nimport { locale as ch } from \"@/core/config/i18n/ch\";\nimport { locale as es } from \"@/core/config/i18n/es\";\nimport { locale as jp } from \"@/core/config/i18n/jp\";\nimport { locale as de } from \"@/core/config/i18n/de\";\nimport { locale as fr } from \"@/core/config/i18n/fr\";\nVue.use(VueI18n);\n\nfunction loadLocaleMessages () {\n const locales = require.context('../config/i18n', true, /[A-Za-z0-9-,\\s]+.json$/i)\n let messages = {}\n messages = { ...messages, en, ch, es, jp, de, fr };\n locales.keys().forEach(key => {\n const matched = key.match(/([A-Za-z0-9-]+)./i)\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key)\n }\n });\n\n return messages;\n}\n\nlet langList = [\"cn\",\"en\",\"es\",\"jp\",\"ko\",\"pt\",\"vn\", \"ru\", \"ar\", \"fi\" , \"fr\", \"hi\", \"id\", \"pe\", \"pl\", \"th\", \"tr\"];\n\nlet lang = localStorage.getItem(\"language\") || \"en\"; //default\n\nlet userLang = null;\n// get query string\nconst urlSearchParams = new URLSearchParams(window.location.search);\nconst params = Object.fromEntries(urlSearchParams.entries());\nuserLang = params.lang ? params.lang : navigator.language;\n\nif( userLang ) {\n userLang = userLang.split( \"-\" )[0];\n if( langList.includes( userLang ) ) {\n lang = userLang;\n }\n}\n\nlet vueI18n = new VueI18n({\n locale: lang,\n fallbackLocale: lang,\n messages: loadLocaleMessages()\n}) ;\n\n\n\n\nexport default vueI18n;\n\n","import Vue from \"vue\";\n\nimport Vuetify from \"vuetify/lib/framework\";\n\nVue.use(Vuetify, {\n dense: true,\n fileInput: {\n\n dense: true,\n placeholder: \"안녕하세용\",\n color:\"red accent-4\"\n }\n});\n\nlet vuetifyObj = new Vuetify({\n\n/* dense : true,\n fileInput: {\n\n dense: true,\n placeholder: \"안녕하세용\",\n color:\"red accent-4\"\n },*/\n options: {\n customProperties: true\n },\n\n theme: {\n\n themes: {\n light: {\n primary: \"#5867dd\",\n secondary: \"#e8ecfa\",\n accent: \"#5d78ff\",\n error: \"#fd397a\",\n info: \"#5578eb\",\n success: \"#0abb87\",\n warning: \"#ffb822\"\n }\n }\n }\n});\n\n\n\nexport default vuetifyObj;\n\n//@TODO default 옵션 변경실패\n/*\nVue.component( \"v-file-input-custom\", {\n mixins : [VFileInput],\n mounted() {\n console.log( \"1111111111111111\" )\n }\n} )\n*/\n","import Vue from \"vue\";\nimport VueSweetalert2 from \"vue-sweetalert2\";\n\nimport 'sweetalert2/dist/sweetalert2.min.css';\n\nVue.use(VueSweetalert2);\n","import Vue from \"vue\";\nimport PortalVue from \"portal-vue\";\n\nVue.use(PortalVue);\n\nexport default PortalVue;\n","import Vue from \"vue\";\nimport { BootstrapVue, IconsPlugin } from \"bootstrap-vue\";\n\n// Install BootstrapVue\nVue.use(BootstrapVue);\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin);\n","import Vue from \"vue\";\nimport PerfectScrollbar from \"vue2-perfect-scrollbar\";\n\n// Perfect scrollbar\nVue.use(PerfectScrollbar);\n\n//Vue.component( \"perfect-scrollbar\", PerfectScrollbar );\n","import Vue from \"vue\";\n// Highlight js\nimport VueHighlightJS from \"vue-highlight.js\";\n// Highlight.js languages (Only required languages)\nimport scss from \"highlight.js/lib/languages/scss\";\nimport javascript from \"highlight.js/lib/languages/javascript\";\nimport json from \"highlight.js/lib/languages/json\";\nimport vue from \"vue-highlight.js/lib/languages/vue\";\nimport \"highlight.js/styles/github-gist.css\";\n\n// highlight js\nVue.use(VueHighlightJS, {\n // Register only languages that you want\n languages: {\n scss,\n javascript,\n json,\n vue\n }\n});\n","import Vue from \"vue\";\nimport { InlineSvgPlugin } from \"vue-inline-svg\";\n\nVue.use(InlineSvgPlugin);\n","import Vue from \"vue\";\nimport VueApexCharts from \"vue-apexcharts\";\n\nVue.use(VueApexCharts);\n\nVue.component(\"apexchart\", VueApexCharts);\n","import Vue from \"vue\";\nimport Treeselect from \"@riophae/vue-treeselect\";\n\nVue.use(Treeselect);\n\nVue.component(\"treeselect\", Treeselect);\n","\"use strict\";\n\nvar KTLayoutAside = function() {\n // Private properties\n var _body;\n var _element;\n var _offcanvasObject;\n\n // Private functions\n\t// Initialize\n\tvar _init = function() {\n\t\tvar offcanvasClass = KTUtil.hasClass(_element, 'aside-offcanvas-default') ? 'aside-offcanvas-default' : 'aside';\n\n // Initialize mobile aside offcanvas\n\t\t_offcanvasObject = new KTOffcanvas(_element, {\n\t\t\tbaseClass: offcanvasClass,\n\t\t\toverlay: true,\n\t\t\tcloseBy: 'kt_aside_close_btn',\n\t\t\ttoggleBy: {\n\t\t\t\ttarget: 'kt_aside_mobile_toggle',\n\t\t\t\tstate: 'mobile-toggle-active'\n\t\t\t}\n\t\t});\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n _body = KTUtil.getBody();\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n },\n\n getElement: function() {\n return _element;\n },\n\n getOffcanvas: function() {\n return _offcanvasObject;\n },\n\n isFixed: function() {\n return KTUtil.hasClass(_body, 'aside-fixed');\n },\n\n isMinimized: function() {\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize'));\n },\n\n isHoverable: function() {\n return (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable'));\n }\n\t};\n}();\n\n\n\nexport default KTLayoutAside;","\"use strict\";\n\nvar KTLayoutAsideMenu = function() {\n // Private properties\n var _body;\n var _element;\n var _menuObject;\n\n\t// Initialize\n\tvar _init = function() {\n\t\tvar menuDesktopMode = (KTUtil.attr(_element, 'data-menu-dropdown') === '1' ? 'dropdown' : 'accordion');\n var scroll;\n\n\t\tif (KTUtil.attr(_element, 'data-menu-scroll') === '1') {\n\t\t\tscroll = {\n\t\t\t\trememberPosition: true, // remember position on page reload\n\t\t\t\theight: function() { // calculate available scrollable area height\n\t\t\t\t\tvar height = parseInt(KTUtil.getViewPort().height);\n\n\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\n\t\t\t\t\t\theight = height - KTLayoutBrand.getHeight();\n\t\t\t\t\t}\n\n\t\t\t\t\theight = height - (parseInt(KTUtil.css(_element, 'marginBottom')) + parseInt(KTUtil.css(_element, 'marginTop')));\n\n\t\t\t\t\treturn height;\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t_menuObject = new KTMenu(_element, {\n\t\t\t// Vertical scroll\n\t\t\tscroll: scroll,\n\n\t\t\t// Submenu setup\n\t\t\tsubmenu: {\n\t\t\t\tdesktop: menuDesktopMode,\n\t\t\t\ttablet: 'accordion', // menu set to accordion in tablet mode\n\t\t\t\tmobile: 'accordion' // menu set to accordion in mobile mode\n\t\t\t},\n\n\t\t\t// Accordion setup\n\t\t\taccordion: {\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\n\t\t\t}\n\t\t});\n\t}\n\n var _initHover = function() {\n // Handle Minimized Aside Hover\n\t\tif (KTUtil.hasClass(_body, 'aside-fixed') && KTUtil.hasClass(_body, 'aside-minimize-hoverable')) {\n\t\t\tvar insideTm;\n\t\t\tvar outsideTm;\n\n // Handle Aside Hover Mode\n\t\t\tKTUtil.addEvent(_element, 'mouseenter', function(e) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (outsideTm) {\n\t\t\t\t\tclearTimeout(outsideTm);\n\t\t\t\t\toutsideTm = null;\n\t\t\t\t}\n\n if (insideTm) {\n\t\t\t\t\tclearTimeout(insideTm);\n\t\t\t\t\tinsideTm = null;\n\t\t\t\t}\n\n\t\t\t\tinsideTm = setTimeout(function() {\n\t\t\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') && KTUtil.isBreakpointUp('lg')) {\n\t\t\t\t\t\t// Hover class\n\t\t\t\t\t\tKTUtil.addClass(_body, 'aside-minimize-hover');\n\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollUpdate();\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\n\t\t\t\t\t}\n\t\t\t\t}, 50);\n\t\t\t});\n\n\t\t\tKTUtil.addEvent(KTLayoutAside.getElement(), 'mouseleave', function(e) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\tif (KTUtil.isBreakpointUp('lg') === false) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (insideTm) {\n\t\t\t\t\tclearTimeout(insideTm);\n\t\t\t\t\tinsideTm = null;\n\t\t\t\t}\n\n if (outsideTm) {\n\t\t\t\t\tclearTimeout(outsideTm);\n\t\t\t\t\toutsideTm = null;\n\t\t\t\t}\n\n\t\t\t\toutsideTm = setTimeout(function() {\n\t\t\t\t if (KTUtil.hasClass(_body, 'aside-minimize-hover') && KTUtil.isBreakpointUp('lg')) {\n\t\t\t\t\t KTUtil.removeClass(_body, 'aside-minimize-hover');\n\n\t\t\t\t\t\t// Hover class\n KTLayoutAsideMenu.getMenu().scrollUpdate();\n\t\t\t\t\t\tKTLayoutAsideMenu.getMenu().scrollTop();\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t});\n\t\t}\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _body = KTUtil.getBody();\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize menu\n _init();\n _initHover();\n\t\t},\n\n\t\tgetElement: function() {\n\t\t\treturn _element;\n\t\t},\n\n getMenu: function() {\n\t\t\treturn _menuObject;\n\t\t},\n\n pauseDropdownHover: function(time) {\n\t\t\tif (_menuObject) {\n\t\t\t\t_menuObject.pauseDropdownHover(time);\n\t\t\t}\n\t\t},\n\n\t\tcloseMobileOffcanvas: function() {\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\n\t\t\t\t_menuObject.hide();\n\t\t\t}\n\t\t}\n\t};\n}();\n\n\n\nexport default KTLayoutAsideMenu;","\"use strict\";\n\nvar KTLayoutAsideToggle = function() {\n // Private properties\n var _body;\n var _element;\n var _toggleObject;\n\n\t// Initialize\n\tvar _init = function() {\n\t\t_toggleObject = new KTToggle(_element, _body, {\n\t\t\ttargetState: 'aside-minimize',\n\t\t\ttoggleState: 'active'\n\t\t});\n\n\t\t_toggleObject.on('toggle', function(toggle) {\n // Update sticky card\n if (typeof KTLayoutStickyCard !== 'undefined') {\n KTLayoutStickyCard.update();\n }\n\n // Pause header menu dropdowns\n if (typeof KTLayoutHeaderMenu !== 'undefined') {\n KTLayoutHeaderMenu.pauseDropdownHover(800);\n }\n\n // Pause aside menu dropdowns\n if (typeof KTLayoutAsideMenu !== 'undefined') {\n KTLayoutAsideMenu.pauseDropdownHover(800);\n }\n\n // Remember state in cookie\n\t\t\tKTCookie.setCookie('kt_aside_toggle_state', toggle.getState());\n\t\t\t// to set default minimized left aside use this cookie value in your\n\t\t\t// server side code and add \"kt-primary--minimize aside-minimize\" classes to\n\t\t\t// the body tag in order to initialize the minimized left aside mode during page loading.\n\t\t});\n\n\t\t_toggleObject.on('beforeToggle', function(toggle) {\n\t\t\tif (KTUtil.hasClass(_body, 'aside-minimize') === false && KTUtil.hasClass(_body, 'aside-minimize-hover')) {\n\t\t\t\tKTUtil.removeClass(_body, 'aside-minimize-hover');\n\t\t\t}\n\t\t});\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n _body = KTUtil.getBody();\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n\t\t},\n\n getElement: function() {\n return _element;\n },\n\n getToggle: function() {\n\t\t\treturn _toggleObject;\n\t\t},\n\n\t\tonToggle: function(handler) {\n\t\t\tif (typeof _toggleObject.element !== 'undefined') {\n\t\t\t\t_toggleObject.on('toggle', handler);\n\t\t\t}\n\t\t}\n\t};\n}();\n\n\n\nexport default KTLayoutAsideToggle;","\"use strict\";\n\nvar KTLayoutBrand = function() {\n // Private properties\n var _element;\n\n // Private functions\n var _getHeight = function() {\n var height = 0;\n\n if (_element) {\n height = KTUtil.actualHeight(_element);\n }\n\n return height;\n }\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\t\t},\n\n getElement: function() {\n return _element;\n },\n\n getHeight: function() {\n return _getHeight();\n }\n\t};\n}();\n\n\n\nexport default KTLayoutBrand;","\"use strict\";\n\nvar KTLayoutContent = function() {\n // Private properties\n var _element;\n\n\t// Private functions\n\tvar _getHeight = function() {\n\t\tvar height;\n\n\t\theight = KTUtil.getViewPort().height;\n\n if (_element) {\n height = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\n }\n\n height = height - KTLayoutHeader.getHeight();\n height = height - KTLayoutSubheader.getHeight();\n height = height - KTLayoutFooter.getHeight();\n\n\t\treturn height;\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\t\t},\n\n\t\tgetHeight: function() {\n\t\t\treturn _getHeight();\n\t\t},\n\n getElement: function() {\n return _element;\n }\n\t};\n}();\n\n\n\nexport default KTLayoutContent;","\"use strict\";\n\nvar KTLayoutFooter = function() {\n // Private properties\n var _element;\n\n\t// Private functions\n\tvar _getHeight = function() {\n\t\tvar height = 0;\n\n if (_element) {\n height = KTUtil.actualHeight(_element);\n }\n\n\t\treturn height;\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\t\t},\n\n\t\tgetHeight: function() {\n\t\t\treturn _getHeight();\n\t\t},\n\n getElement: function() {\n return _element;\n }\n\t};\n}();\n\n\n\nexport default KTLayoutFooter;","\"use strict\";\n\nvar KTLayoutHeaderTopbar = function() {\n // Private properties\n\tvar _toggleElement;\n var _toggleObject;\n\n // Private functions\n var _init = function() {\n _toggleObject = new KTToggle(_toggleElement, KTUtil.getBody(), {\n targetState: 'topbar-mobile-on',\n toggleState: 'active',\n });\n }\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _toggleElement = KTUtil.getById(id);\n\n\t\t\tif (!_toggleElement) {\n return;\n }\n\n // Initialize\n _init();\n\t\t},\n\n getToggleElement: function() {\n return _toggleElement;\n }\n\t};\n}();\n\n\n\nexport default KTLayoutHeaderTopbar;","\"use strict\";\n\nvar KTLayoutStickyCard = function() {\n // Private properties\n\tvar _element;\n var _object;\n\n\t// Private functions\n\tvar _init = function() {\n\t\tvar offset = 300;\n\n\t\tif (typeof KTLayoutHeader !== 'undefined') {\n\t\t\toffset = KTLayoutHeader.getHeight();\n\t\t}\n\n _object = new KTCard(_element, {\n\t\t\tsticky: {\n\t\t\t\toffset: offset,\n\t\t\t\tzIndex: 90,\n\t\t\t\tposition: {\n\t\t\t\t\ttop: function() {\n\t\t\t\t\t\tvar pos = 0;\n var body = KTUtil.getBody();\n\n\t\t\t\t\t\tif (KTUtil.isBreakpointUp('lg')) {\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixed()) {\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeight();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof KTLayoutSubheader !== 'undefined' && KTLayoutSubheader.isFixed()) {\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutSubheader.getHeight();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof KTLayoutHeader !== 'undefined' && KTLayoutHeader.isFixedForMobile()) {\n\t\t\t\t\t\t\t\tpos = pos + KTLayoutHeader.getHeightForMobile();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tpos = pos - 1; // remove header border width\n\n\t\t\t\t\t\treturn pos;\n\t\t\t\t\t},\n\t\t\t\t\tleft: function(card) {\n\t\t\t\t\t\treturn KTUtil.offset(_element).left;\n\t\t\t\t\t},\n\t\t\t\t\tright: function(card) {\n\t\t\t\t\t\tvar body = KTUtil.getBody();\n\n\t\t\t\t\t\tvar cardWidth = parseInt(KTUtil.css(_element, 'width'));\n\t\t\t\t\t\tvar bodyWidth = parseInt(KTUtil.css(body, 'width'));\n\t\t\t\t\t\tvar cardOffsetLeft = KTUtil.offset(_element).left;\n\n\t\t\t\t\t\treturn bodyWidth - cardWidth - cardOffsetLeft;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t_object.initSticky();\n\n\t\tKTUtil.addResizeHandler(function() {\n\t\t\t_object.updateSticky();\n\t\t});\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n\t\t\t_init();\n\t\t},\n\n\t\tupdate: function() {\n\t\t\tif (_object) {\n\t\t\t\t_object.updateSticky();\n\t\t\t}\n\t\t}\n\t};\n}();\n\n\n\nexport default KTLayoutStickyCard;","\"use strict\";\n\nvar KTLayoutStretchedCard = function() {\n // Private properties\n\tvar _element;\n\n\t// Private functions\n\tvar _init = function() {\n\t\tvar scroll = KTUtil.find(_element, '.card-scroll');\n\t\tvar cardBody = KTUtil.find(_element, '.card-body');\n\t\tvar cardHeader = KTUtil.find(_element, '.card-header');\n\n\t\tvar height = KTLayoutContent.getHeight();\n\n\t\theight = height - parseInt(KTUtil.actualHeight(cardHeader));\n\n\t\theight = height - parseInt(KTUtil.css(_element, 'marginTop')) - parseInt(KTUtil.css(_element, 'marginBottom'));\n\t\theight = height - parseInt(KTUtil.css(_element, 'paddingTop')) - parseInt(KTUtil.css(_element, 'paddingBottom'));\n\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'paddingTop')) - parseInt(KTUtil.css(cardBody, 'paddingBottom'));\n\t\theight = height - parseInt(KTUtil.css(cardBody, 'marginTop')) - parseInt(KTUtil.css(cardBody, 'marginBottom'));\n\n\t\theight = height - 3;\n\n\t\tKTUtil.css(scroll, 'height', height + 'px');\n\t}\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n\t\t\t_init();\n\n // Re-calculate on window resize\n KTUtil.addResizeHandler(function() {\n\t\t\t\t_init();\n\t\t\t});\n\t\t},\n\n\t\tupdate: function() {\n\t\t\t_init();\n\t\t}\n\t};\n}();\n\n\n\nexport default KTLayoutStretchedCard;","\"use strict\";\n\nvar KTLayoutSubheader = function() {\n // Private properties\n var _element;\n\n // Private functions\n var _getHeight = function() {\n var height = 0;\n\n if (_element) {\n height = KTUtil.actualHeight(_element);\n }\n\n return height;\n }\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\t\t},\n\n isFixed: function() {\n return KTUtil.hasClass(KTUtil.getBody(), 'subheader-fixed');\n },\n\n getElement: function() {\n return _element;\n },\n\n getHeight: function() {\n return _getHeight();\n }\n\t};\n}();\n\n\n\nexport default KTLayoutSubheader;","\"use strict\";\n\n// Class definition\nvar KTLayoutChat = function () {\n\t// Private functions\n\tvar _init = function (element) {\n\t\tvar scrollEl = KTUtil.find(element, '.scroll');\n\t\tvar cardBodyEl = KTUtil.find(element, '.card-body');\n\t\tvar cardHeaderEl = KTUtil.find(element, '.card-header');\n\t\tvar cardFooterEl = KTUtil.find(element, '.card-footer');\n\n\t\tif (!scrollEl) {\n\t\t\treturn;\n\t\t}\n\n\t\t// initialize perfect scrollbar(see: https://github.com/utatti/perfect-scrollbar)\n\t\tKTUtil.scrollInit(scrollEl, {\n\t\t\twindowScroll: false, // allow browser scroll when the scroll reaches the end of the side\n\t\t\tmobileNativeScroll: true, // enable native scroll for mobile\n\t\t\tdesktopNativeScroll: false, // disable native scroll and use custom scroll for desktop\n\t\t\tresetHeightOnDestroy: true, // reset css height on scroll feature destroyed\n\t\t\thandleWindowResize: true, // recalculate hight on window resize\n\t\t\trememberPosition: true, // remember scroll position in cookie\n\t\t\theight: function() { // calculate height\n\t\t\t\tvar height;\n\n\t\t\t\tif (KTUtil.isBreakpointDown('lg')) { // Mobile mode\n\t\t\t\t\treturn KTUtil.hasAttr(scrollEl, 'data-mobile-height') ? parseInt(KTUtil.attr(scrollEl, 'data-mobile-height')) : 400;\n\t\t\t\t} else if (KTUtil.isBreakpointUp('lg') && KTUtil.hasAttr(scrollEl, 'data-height')) { // Desktop Mode\n\t\t\t\t\treturn parseInt(KTUtil.attr(scrollEl, 'data-height'));\n\t\t\t\t} else {\n\t\t\t\t\theight = KTLayoutContent.getHeight();\n\n\t\t\t\t\tif (scrollEl) {\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(scrollEl, 'margin-top')) - parseInt(KTUtil.css(scrollEl, 'margin-bottom'));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cardHeaderEl) {\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardHeaderEl, 'height'));\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardHeaderEl, 'margin-top')) - parseInt(KTUtil.css(cardHeaderEl, 'margin-bottom'));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cardBodyEl) {\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardBodyEl, 'padding-top')) - parseInt(KTUtil.css(cardBodyEl, 'padding-bottom'));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cardFooterEl) {\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardFooterEl, 'height'));\n\t\t\t\t\t\theight = height - parseInt(KTUtil.css(cardFooterEl, 'margin-top')) - parseInt(KTUtil.css(cardFooterEl, 'margin-bottom'));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Remove additional space\n\t\t\t\theight = height - 2;\n\n\t\t\t\treturn height;\n\t\t\t}\n\t\t});\n\n\t\t// attach events\n\t\tKTUtil.on(element, '.card-footer textarea', 'keydown', function(e) {\n\t\t\tif (e.keyCode == 13) {\n\t\t\t\t_handeMessaging(element);\n\t\t\t\te.preventDefault();\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\tKTUtil.on(element, '.card-footer .chat-send', 'click', function(e) {\n\t\t\t_handeMessaging(element);\n\t\t});\n\t}\n\n\tvar _handeMessaging = function(element) {\n\t\tvar messagesEl = KTUtil.find(element, '.messages');\n\t\tvar scrollEl = KTUtil.find(element, '.scroll');\n var textarea = KTUtil.find(element, 'textarea');\n\n if (textarea.value.length === 0 ) {\n return;\n }\n\n\t\tvar node = document.createElement(\"DIV\");\n\t\tKTUtil.addClass(node, 'd-flex flex-column mb-5 align-items-end');\n\n\t\tvar html = '';\n\t\thtml += '
';\n\t\thtml += '\t
';\n\t\thtml += '\t\t2 Hours';\n\t\thtml += '\t\tYou';\n\t\thtml += '\t
';\n\t\thtml += '\t
';\n\t\thtml += '\t\t\"Pic\"';\n\t\thtml += '\t
';\n\t\thtml += '
';\n\t\thtml += '
' + textarea.value + '
';\n\n\t\tKTUtil.setHTML(node, html);\n\t\tmessagesEl.appendChild(node);\n\t\ttextarea.value = '';\n\t\tscrollEl.scrollTop = parseInt(KTUtil.css(messagesEl, 'height'));\n\n\t\tvar ps;\n\t\tif (ps = KTUtil.data(scrollEl).get('ps')) {\n\t\t\tps.update();\n\t\t}\n\n\t\tsetTimeout(function() {\n\t\t\tvar node = document.createElement(\"DIV\");\n\t\t\tKTUtil.addClass(node, 'd-flex flex-column mb-5 align-items-start');\n\n\t\t\tvar html = '';\n\t\t\thtml += '
';\n\t\t\thtml += '\t
';\n\t\t\thtml += '\t\t\"Pic\"';\n\t\t\thtml += '\t
';\n\t\t\thtml += '\t
';\n\t\t\thtml += '\t\tMatt Pears';\n\t\t\thtml += '\t\tJust now';\n\t\t\thtml += '\t
';\n\t\t\thtml += '
';\n\t\t\thtml += '
';\n\t\t\thtml += 'Right before vacation season we have the next Big Deal for you.';\n\t\t\thtml += '
';\n\n\t\t\tKTUtil.setHTML(node, html);\n\t\t\tmessagesEl.appendChild(node);\n\t\t\ttextarea.value = '';\n\t\t\tscrollEl.scrollTop = parseInt(KTUtil.css(messagesEl, 'height'));\n\n\t\t\tvar ps;\n\t\t\tif (ps = KTUtil.data(scrollEl).get('ps')) {\n\t\t\t\tps.update();\n\t\t\t}\n\t\t}, 2000);\n\t}\n\n\t// Public methods\n\treturn {\n\t\tinit: function(id) {\n\t\t\t// Init modal chat example\n\t\t\t_init(KTUtil.getById(id));\n\n\t\t\t// Trigger click to show popup modal chat on page load\n\t\t\tif (encodeURI(window.location.hostname) == 'keenthemes.com' || encodeURI(window.location.hostname) == 'www.keenthemes.com') {\n\t\t\t\tsetTimeout(function() {\n\t\t if (!KTCookie.getCookie('kt_app_chat_shown')) {\n\t\t var expires = new Date(new Date().getTime() + 60 * 60 * 1000); // expire in 60 minutes from now\n\n\t\t\t\t\t\tKTCookie.setCookie('kt_app_chat_shown', 1, { expires: expires });\n\n\t\t\t\t\t\tif (KTUtil.getById('kt_app_chat_launch_btn')) {\n\t\t\t\t\t\t\tKTUtil.getById('kt_app_chat_launch_btn').click();\n\t\t\t\t\t\t}\n\t\t }\n\t\t }, 2000);\n\t }\n },\n\n setup: function(element) {\n _init(element);\n }\n\t};\n}();\n\n\n\nexport default KTLayoutChat;","\"use strict\";\n\nvar KTLayoutQuickActions = function() {\n // Private properties\n var _element;\n var _offcanvasObject;\n\n // Private functions\n var _init = function() {\n var header = KTUtil.find(_element, '.offcanvas-header');\n var content = KTUtil.find(_element, '.offcanvas-content');\n\n _offcanvasObject = new KTOffcanvas(_element, {\n overlay: true,\n baseClass: 'offcanvas',\n placement: 'right',\n closeBy: 'kt_quick_actions_close',\n toggleBy: 'kt_quick_actions_toggle'\n });\n\n KTUtil.scrollInit(content, {\n disableForMobile: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n var height = parseInt(KTUtil.getViewPort().height);\n\n if (header) {\n height = height - parseInt(KTUtil.actualHeight(header));\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\n }\n\n if (content) {\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\n }\n\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\n\n height = height - 2;\n\n return height;\n }\n });\n }\n\n // Public methods\n return {\n init: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n },\n\n getElement: function() {\n return _element;\n }\n };\n}();\n\n\n\nexport default KTLayoutQuickActions;","\"use strict\";\n\nvar KTLayoutQuickCartPanel = function() {\n // Private properties\n var _element;\n var _offcanvasObject;\n\n // Private functions\n var _init = function() {\n _offcanvasObject = new KTOffcanvas(_element, {\n overlay: true,\n baseClass: 'offcanvas',\n placement: 'right',\n closeBy: 'kt_quick_cart_close',\n toggleBy: 'kt_quick_cart_toggle'\n });\n\n var header = KTUtil.find(_element, '.offcanvas-header');\n var content = KTUtil.find(_element, '.offcanvas-content');\n var wrapper = KTUtil.find(_element, '.offcanvas-wrapper');\n var footer = KTUtil.find(_element, '.offcanvas-footer');\n\n KTUtil.scrollInit(wrapper, {\n disableForMobile: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n var height = parseInt(KTUtil.getViewPort().height);\n\n if (header) {\n height = height - parseInt(KTUtil.actualHeight(header));\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\n }\n\n if (content) {\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\n }\n\n if (wrapper) {\n height = height - parseInt(KTUtil.css(wrapper, 'marginTop'));\n height = height - parseInt(KTUtil.css(wrapper, 'marginBottom'));\n }\n\n if (footer) {\n height = height - parseInt(KTUtil.actualHeight(footer));\n height = height - parseInt(KTUtil.css(footer, 'marginTop'));\n height = height - parseInt(KTUtil.css(footer, 'marginBottom'));\n }\n\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\n\n height = height - 2;\n\n return height;\n }\n });\n }\n\n // Public methods\n return {\n init: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n }\n };\n}();\n\n\n\nexport default KTLayoutQuickCartPanel;","\"use strict\";\n\nvar KTLayoutQuickNotifications = function() {\n // Private properties\n var _element;\n var _offcanvasObject;\n\n // Private functions\n var _init = function() {\n var header = KTUtil.find(_element, '.offcanvas-header');\n var content = KTUtil.find(_element, '.offcanvas-content');\n\n _offcanvasObject = new KTOffcanvas(_element, {\n overlay: true,\n baseClass: 'offcanvas',\n placement: 'right',\n closeBy: 'kt_quick_notifications_close',\n toggleBy: 'kt_quick_notifications_toggle'\n });\n\n KTUtil.scrollInit(content, {\n disableForMobile: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n var height = parseInt(KTUtil.getViewPort().height);\n\n if (header) {\n height = height - parseInt(KTUtil.actualHeight(header));\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\n }\n\n if (content) {\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\n }\n\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\n\n height = height - 2;\n\n return height;\n }\n });\n }\n\n // Public methods\n return {\n init: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n },\n\n getElement: function() {\n return _element;\n }\n };\n}();\n\n\n\nexport default KTLayoutQuickNotifications;","\"use strict\";\n\nvar KTLayoutQuickPanel = function() {\n // Private properties\n var _element;\n var _offcanvasObject;\n var _notificationsElement;\n var _logsElement;\n var _settingsElement;\n\n // Private functions\n var _getContentHeight = function() {\n var height;\n\n var header = KTUtil.find(_element, '.offcanvas-header');\n var content = KTUtil.find(_element, '.offcanvas-content');\n\n var height = parseInt(KTUtil.getViewPort().height);\n\n if (header) {\n height = height - parseInt(KTUtil.actualHeight(header));\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\n }\n\n if (content) {\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\n }\n\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\n\n height = height - 2;\n\n return height;\n }\n\n var _init = function() {\n _offcanvasObject = new KTOffcanvas(_element, {\n overlay: true,\n baseClass: 'offcanvas',\n placement: 'right',\n closeBy: 'kt_quick_panel_close',\n toggleBy: 'kt_quick_panel_toggle'\n });\n }\n\n var _initNotifications = function() {\n KTUtil.scrollInit(_notificationsElement, {\n mobileNativeScroll: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n return _getContentHeight();\n }\n });\n }\n\n var _initLogs = function() {\n KTUtil.scrollInit(_logsElement, {\n mobileNativeScroll: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n return _getContentHeight();\n }\n });\n }\n\n var _initSettings = function() {\n KTUtil.scrollInit(_settingsElement, {\n mobileNativeScroll: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n return _getContentHeight();\n }\n });\n }\n\n var _updateScrollbars = function() {\n $(_element).find('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {\n KTUtil.scrollUpdate(_notificationsElement);\n KTUtil.scrollUpdate(_logsElement);\n KTUtil.scrollUpdate(_settingsElement);\n });\n }\n\n // Public methods\n return {\n init: function(id) {\n _element = KTUtil.getById(id);\n _notificationsElement = KTUtil.getById('kt_quick_panel_notifications');\n _logsElement = KTUtil.getById('kt_quick_panel_logs');\n _settingsElement = KTUtil.getById('kt_quick_panel_settings');\n\n _init();\n _initNotifications();\n _initLogs();\n _initSettings();\n\n \n }\n };\n}();\n\n\n\nexport default KTLayoutQuickPanel;","\"use strict\";\n\nvar KTLayoutQuickSearch = function() {\n // Private properties\n var _element;\n var _offcanvasObject;\n\n // Private functions\n var _init = function() {\n var header = KTUtil.find(_element, '.offcanvas-header');\n var content = KTUtil.find(_element, '.offcanvas-content');\n var form = KTUtil.find(_element, '.quick-search-form');\n var results = KTUtil.find(_element, '.quick-search-wrapper');\n\n _offcanvasObject = new KTOffcanvas(_element, {\n overlay: true,\n baseClass: 'offcanvas',\n placement: 'right',\n closeBy: 'kt_quick_search_close',\n toggleBy: 'kt_quick_search_toggle'\n });\n\n KTUtil.scrollInit(results, {\n disableForMobile: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n height: function() {\n var height = parseInt(KTUtil.getViewPort().height);\n\n if (header) {\n height = height - parseInt(KTUtil.actualHeight(header));\n height = height - parseInt(KTUtil.css(header, 'marginTop'));\n height = height - parseInt(KTUtil.css(header, 'marginBottom'));\n }\n\n if (content) {\n height = height - parseInt(KTUtil.css(content, 'marginTop'));\n height = height - parseInt(KTUtil.css(content, 'marginBottom'));\n }\n\n if (results) {\n height = height - parseInt(KTUtil.actualHeight(form));\n height = height - parseInt(KTUtil.css(form, 'marginTop'));\n height = height - parseInt(KTUtil.css(form, 'marginBottom'));\n\n height = height - parseInt(KTUtil.css(results, 'marginTop'));\n height = height - parseInt(KTUtil.css(results, 'marginBottom'));\n }\n\n height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\n height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\n\n height = height - 2;\n\n return height;\n }\n });\n }\n\n // Public methods\n return {\n init: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n },\n\n getElement: function() {\n return _element;\n }\n };\n}();\n\n\n\nexport default KTLayoutQuickSearch;","\"use strict\";\n//\n// Handle User Quick Search For Dropdown, Inline and Offcanvas Search Panels\n//\n\nvar KTLayoutSearch = function() {\n // Private properties\n var _target;\n var _form;\n var _input;\n var _closeIcon;\n var _resultWrapper;\n var _resultDropdown;\n var _resultDropdownToggle;\n var _closeIconContainer;\n var _inputGroup;\n var _query = '';\n\n var _hasResult = false;\n var _timeout = false;\n var _isProcessing = false;\n var _requestTimeout = 200; // ajax request fire timeout in milliseconds\n var _spinnerClass = 'spinner spinner-sm spinner-primary';\n var _resultClass = 'quick-search-has-result';\n var _minLength = 2;\n\n // Private functions\n var _showProgress = function() {\n _isProcessing = true;\n KTUtil.addClass(_closeIconContainer, _spinnerClass);\n\n if (_closeIcon) {\n KTUtil.hide(_closeIcon);\n }\n }\n\n var _hideProgress = function() {\n _isProcessing = false;\n KTUtil.removeClass(_closeIconContainer, _spinnerClass);\n\n if (_closeIcon) {\n if (_input.value.length < _minLength) {\n KTUtil.hide(_closeIcon);\n } else {\n KTUtil.show(_closeIcon, 'flex');\n }\n }\n }\n\n var _showDropdown = function() {\n if (_resultDropdownToggle && !KTUtil.hasClass(_resultDropdown, 'show')) {\n $(_resultDropdownToggle).dropdown('toggle');\n $(_resultDropdownToggle).dropdown('update');\n }\n }\n\n var _hideDropdown = function() {\n if (_resultDropdownToggle && KTUtil.hasClass(_resultDropdown, 'show')) {\n $(_resultDropdownToggle).dropdown('toggle');\n }\n }\n\n var _processSearch = function() {\n if (_hasResult && _query === _input.value) {\n _hideProgress();\n KTUtil.addClass(_target, _resultClass);\n _showDropdown();\n KTUtil.scrollUpdate(_resultWrapper);\n\n return;\n }\n\n _query = _input.value;\n\n KTUtil.removeClass(_target, _resultClass);\n _showProgress();\n _hideDropdown();\n\n setTimeout(function() {\n $.ajax({\n url: HOST_URL + '/api/quick_search.php',\n data: {\n query: _query\n },\n dataType: 'html',\n success: function(res) {\n _hasResult = true;\n _hideProgress();\n KTUtil.addClass(_target, _resultClass);\n KTUtil.setHTML(_resultWrapper, res);\n _showDropdown();\n KTUtil.scrollUpdate(_resultWrapper);\n },\n error: function(res) {\n _hasResult = false;\n _hideProgress();\n KTUtil.addClass(_target, _resultClass);\n KTUtil.setHTML(_resultWrapper, 'Connection error. Please try again later..');\n _showDropdown();\n KTUtil.scrollUpdate(_resultWrapper);\n }\n });\n }, 1000);\n }\n\n var _handleCancel = function(e) {\n _input.value = '';\n _query = '';\n _hasResult = false;\n KTUtil.hide(_closeIcon);\n KTUtil.removeClass(_target, _resultClass);\n _hideDropdown();\n }\n\n var _handleSearch = function() {\n if (_input.value.length < _minLength) {\n _hideProgress();\n _hideDropdown();\n\n return;\n }\n\n if (_isProcessing == true) {\n return;\n }\n\n if (_timeout) {\n clearTimeout(_timeout);\n }\n\n _timeout = setTimeout(function() {\n _processSearch();\n }, _requestTimeout);\n }\n\n // Public methods\n return {\n init: function(id) {\n _target = KTUtil.getById(id);\n\n if (!_target) {\n return;\n }\n\n _form = KTUtil.find(_target, '.quick-search-form');\n _input = KTUtil.find(_target, '.form-control');\n _closeIcon = KTUtil.find(_target, '.quick-search-close');\n _resultWrapper = KTUtil.find(_target, '.quick-search-wrapper');\n _resultDropdown = KTUtil.find(_target, '.dropdown-menu');\n _resultDropdownToggle = KTUtil.find(_target, '[data-toggle=\"dropdown\"]');\n _inputGroup = KTUtil.find(_target, '.input-group');\n _closeIconContainer = KTUtil.find(_target, '.input-group .input-group-append');\n\n // Attach input keyup handler\n KTUtil.addEvent(_input, 'keyup', _handleSearch);\n KTUtil.addEvent(_input, 'focus', _handleSearch);\n\n // Prevent enter click\n _form.onkeypress = function(e) {\n var key = e.charCode || e.keyCode || 0;\n if (key == 13) {\n e.preventDefault();\n }\n }\n\n KTUtil.addEvent(_closeIcon, 'click', _handleCancel);\n }\n };\n};\n\n\n\nvar KTLayoutSearchInline = KTLayoutSearch;\nvar KTLayoutSearchOffcanvas = KTLayoutSearch;\n\nexport default KTLayoutSearch;","// Keenthemes plugins\nimport KTUtil from \"@/assets/js/components/util.js\";\nwindow.KTUtil = KTUtil;\n\nimport KTCard from \"@/assets/js/components/card.js\";\nwindow.KTCard = KTCard;\n\nimport KTCookie from \"@/assets/js/components/cookie.js\";\nwindow.KTCookie = KTCookie;\n\nimport KTDialog from \"@/assets/js/components/dialog.js\";\nwindow.KTDialog = KTDialog;\n\nimport KTHeader from \"@/assets/js/components/header.js\";\nwindow.KTHeader = KTHeader;\n\nimport KTImageInput from \"@/assets/js/components/image-input.js\";\nwindow.KTImageInput = KTImageInput;\n\nimport KTMenu from \"@/assets/js/components/menu.js\";\nwindow.KTMenu = KTMenu;\n\nimport KTOffcanvas from \"@/assets/js/components/offcanvas.js\";\nwindow.KTOffcanvas = KTOffcanvas;\n\nimport KTScrolltop from \"@/assets/js/components/scrolltop.js\";\nwindow.KTScrolltop = KTScrolltop;\n\nimport KTToggle from \"@/assets/js/components/toggle.js\";\nwindow.KTToggle = KTToggle;\n\nimport KTWizard from \"@/assets/js/components/wizard.js\";\nwindow.KTWizard = KTWizard;\n\n// Metronic layout base js\nimport KTLayoutAside from \"@/assets/js/layout/base/aside.js\";\nwindow.KTLayoutAside = KTLayoutAside;\n\nimport KTLayoutAsideMenu from \"@/assets/js/layout/base/aside-menu.js\";\nwindow.KTLayoutAsideMenu = KTLayoutAsideMenu;\n\nimport KTLayoutAsideToggle from \"@/assets/js/layout/base/aside-toggle.js\";\nwindow.KTLayoutAsideToggle = KTLayoutAsideToggle;\n\nimport KTLayoutBrand from \"@/assets/js/layout/base/brand.js\";\nwindow.KTLayoutBrand = KTLayoutBrand;\n\nimport KTLayoutContent from \"@/assets/js/layout/base/content.js\";\nwindow.KTLayoutContent = KTLayoutContent;\n\nimport KTLayoutFooter from \"@/assets/js/layout/base/footer.js\";\nwindow.KTLayoutFooter = KTLayoutFooter;\n\nimport KTLayoutHeader from \"@/assets/js/layout/base/header.js\";\nwindow.KTLayoutHeader = KTLayoutHeader;\n\nimport KTLayoutHeaderMenu from \"@/assets/js/layout/base/header-menu.js\";\nwindow.KTLayoutHeaderMenu = KTLayoutHeaderMenu;\n\nimport KTLayoutHeaderTopbar from \"@/assets/js/layout/base/header-topbar.js\";\nwindow.KTLayoutHeaderTopbar = KTLayoutHeaderTopbar;\n\nimport KTLayoutStickyCard from \"@/assets/js/layout/base/sticky-card.js\";\nwindow.KTLayoutStickyCard = KTLayoutStickyCard;\n\nimport KTLayoutStretchedCard from \"@/assets/js/layout/base/stretched-card.js\";\nwindow.KTLayoutStretchedCard = KTLayoutStretchedCard;\n\nimport KTLayoutSubheader from \"@/assets/js/layout/base/subheader.js\";\nwindow.KTLayoutSubheader = KTLayoutSubheader;\n\n// Metronic layout extended js\nimport KTLayoutChat from \"@/assets/js/layout/extended/chat.js\";\nwindow.KTLayoutChat = KTLayoutChat;\n\nimport KTLayoutExamples from \"@/assets/js/layout/extended/examples.js\";\nwindow.KTLayoutExamples = KTLayoutExamples;\n\nimport KTLayoutQuickActions from \"@/assets/js/layout/extended/quick-actions.js\";\nwindow.KTLayoutQuickActions = KTLayoutQuickActions;\n\nimport KTLayoutQuickCartPanel from \"@/assets/js/layout/extended/quick-cart.js\";\nwindow.KTLayoutQuickCartPanel = KTLayoutQuickCartPanel;\n\nimport KTLayoutQuickNotifications from \"@/assets/js/layout/extended/quick-notifications.js\";\nwindow.KTLayoutQuickNotifications = KTLayoutQuickNotifications;\n\nimport KTLayoutQuickPanel from \"@/assets/js/layout/extended/quick-panel.js\";\nwindow.KTLayoutQuickPanel = KTLayoutQuickPanel;\n\nimport KTLayoutQuickSearch from \"@/assets/js/layout/extended/quick-search.js\";\nwindow.KTLayoutQuickSearch = KTLayoutQuickSearch;\n\nimport KTLayoutQuickUser from \"@/assets/js/layout/extended/quick-user.js\";\nwindow.KTLayoutQuickUser = KTLayoutQuickUser;\n\nimport KTLayoutScrolltop from \"@/assets/js/layout/extended/scrolltop.js\";\nwindow.KTLayoutScrolltop = KTLayoutScrolltop;\n\nimport KTLayoutSearch from \"@/assets/js/layout/extended/search.js\";\nwindow.KTLayoutSearch = KTLayoutSearch;\n","import Vue from \"vue\";\nimport VueMoment from 'vue-moment';\n\nVue.use( VueMoment );","import Vue from 'vue';\nimport Multiselect from 'vue-multiselect';\nimport \"vue-multiselect/dist/vue-multiselect.min.css\";\n\nVue.component( 'multiselect', Multiselect );","export default function s(){return{fns:{},clear(){this.fns={}},emit(s,...f){(this.fns[s]||[]).map(s=>s.apply(s,f))},off(s,f){if(this.fns[s]){const n=this.fns[s].indexOf(f);if(n>=0){this.fns[s].splice(n,1)}}},on(s,f){(this.fns[s]=this.fns[s]||[]).push(f)}}}","export default function t(){return{filters:{},add(t,e){(this.filters[t]=this.filters[t]||[]).push(e)},clear(){this.filters={}},execute(t,e,i){if(!this.filters[t]||!this.filters[t].length){return e}let s=e;const r=this.filters[t];const l=r.length;for(let t=0;tt!==e)}}}}","export default function e(e,t,r,c){const n=(r.getAttribute(\"type\")||\"\").toLowerCase();const a=r.tagName.toLowerCase();switch(a){case\"textarea\":return r.value;case\"select\":const e=r;const t=e.selectedIndex;return t>=0?e.options.item(t).value:\"\";case\"input\":if(\"radio\"===n||\"checkbox\"===n){const e=c.filter(e=>e.checked).length;return e===0?\"\":e+\"\"}else{return r.value}default:return\"\"}}","export default function r(r,e){const t=Array.isArray(e)?e:[e];let a=r;t.forEach(r=>{a=a.replace(\"%s\",r)});return a}","import e from\"../utils/format\";export default function s(){const s=e=>parseFloat(`${e}`.replace(\",\",\".\"));return{validate(a){const t=a.value;if(t===\"\"){return{valid:true}}const n=Object.assign({},{inclusive:true,message:\"\"},a.options);const l=s(n.min);const o=s(n.max);return n.inclusive?{message:e(a.l10n?n.message||a.l10n.between.default:n.message,[`${l}`,`${o}`]),valid:parseFloat(t)>=l&&parseFloat(t)<=o}:{message:e(a.l10n?n.message||a.l10n.between.notInclusive:n.message,[`${l}`,`${o}`]),valid:parseFloat(t)>l&&parseFloat(t)e.checked).length;const s=t.options.min?`${t.options.min}`:\"\";const n=t.options.max?`${t.options.max}`:\"\";let a=t.l10n?t.options.message||t.l10n.choice.default:t.options.message;const l=!(s&&oparseInt(n,10));switch(true){case!!s&&!!n:a=e(t.l10n?t.l10n.choice.between:t.options.message,[s,n]);break;case!!s:a=e(t.l10n?t.l10n.choice.more:t.options.message,s);break;case!!n:a=e(t.l10n?t.l10n.choice.less:t.options.message,n);break;default:break}return{message:a,valid:l}}}}","export default function t(t){let e=t.length;const l=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]];let n=0;let r=0;while(e--){r+=l[n][parseInt(t.charAt(e),10)];n=1-n}return r%10===0&&r>0}","import e from\"../algorithms/luhn\";const t={AMERICAN_EXPRESS:{length:[15],prefix:[\"34\",\"37\"]},DANKORT:{length:[16],prefix:[\"5019\"]},DINERS_CLUB:{length:[14],prefix:[\"300\",\"301\",\"302\",\"303\",\"304\",\"305\",\"36\"]},DINERS_CLUB_US:{length:[16],prefix:[\"54\",\"55\"]},DISCOVER:{length:[16],prefix:[\"6011\",\"622126\",\"622127\",\"622128\",\"622129\",\"62213\",\"62214\",\"62215\",\"62216\",\"62217\",\"62218\",\"62219\",\"6222\",\"6223\",\"6224\",\"6225\",\"6226\",\"6227\",\"6228\",\"62290\",\"62291\",\"622920\",\"622921\",\"622922\",\"622923\",\"622924\",\"622925\",\"644\",\"645\",\"646\",\"647\",\"648\",\"649\",\"65\"]},ELO:{length:[16],prefix:[\"4011\",\"4312\",\"4389\",\"4514\",\"4573\",\"4576\",\"5041\",\"5066\",\"5067\",\"509\",\"6277\",\"6362\",\"6363\",\"650\",\"6516\",\"6550\"]},FORBRUGSFORENINGEN:{length:[16],prefix:[\"600722\"]},JCB:{length:[16],prefix:[\"3528\",\"3529\",\"353\",\"354\",\"355\",\"356\",\"357\",\"358\"]},LASER:{length:[16,17,18,19],prefix:[\"6304\",\"6706\",\"6771\",\"6709\"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:[\"5018\",\"5020\",\"5038\",\"5868\",\"6304\",\"6759\",\"6761\",\"6762\",\"6763\",\"6764\",\"6765\",\"6766\"]},MASTERCARD:{length:[16],prefix:[\"51\",\"52\",\"53\",\"54\",\"55\"]},SOLO:{length:[16,18,19],prefix:[\"6334\",\"6767\"]},UNIONPAY:{length:[16,17,18,19],prefix:[\"622126\",\"622127\",\"622128\",\"622129\",\"62213\",\"62214\",\"62215\",\"62216\",\"62217\",\"62218\",\"62219\",\"6222\",\"6223\",\"6224\",\"6225\",\"6226\",\"6227\",\"6228\",\"62290\",\"62291\",\"622920\",\"622921\",\"622922\",\"622923\",\"622924\",\"622925\"]},VISA:{length:[16],prefix:[\"4\"]},VISA_ELECTRON:{length:[16],prefix:[\"4026\",\"417500\",\"4405\",\"4508\",\"4844\",\"4913\",\"4917\"]}};export default function l(){return{validate(l){if(l.value===\"\"){return{meta:{type:null},valid:true}}if(/[^0-9-\\s]+/.test(l.value)){return{meta:{type:null},valid:false}}const r=l.value.replace(/\\D/g,\"\");if(!e(r)){return{meta:{type:null},valid:false}}for(const e of Object.keys(t)){for(const n in t[e].prefix){if(l.value.substr(0,t[e].prefix[n].length)===t[e].prefix[n]&&t[e].length.indexOf(r.length)!==-1){return{meta:{type:e},valid:true}}}}return{meta:{type:null},valid:false}}}}export{t as CREDIT_CARD_TYPES};","export default function t(t,e,n,r){if(isNaN(t)||isNaN(e)||isNaN(n)){return false}if(t<1e3||t>9999||e<=0||e>12){return false}const s=[31,t%400===0||t%100!==0&&t%4===0?29:28,31,30,31,30,31,31,30,31,30,31];if(n<=0||n>s[e-1]){return false}if(r===true){const r=new Date;const s=r.getFullYear();const a=r.getMonth();const u=r.getDate();return t{const s=e.indexOf(\"YYYY\");const a=e.indexOf(\"MM\");const l=e.indexOf(\"DD\");if(s===-1||a===-1||l===-1){return null}const o=t.split(\" \");const r=o[0].split(n);if(r.length<3){return null}const c=new Date(parseInt(r[s],10),parseInt(r[a],10)-1,parseInt(r[l],10));if(o.length>1){const t=o[1].split(\":\");c.setHours(t.length>0?parseInt(t[0],10):0);c.setMinutes(t.length>1?parseInt(t[1],10):0);c.setSeconds(t.length>2?parseInt(t[2],10):0)}return c};const s=(t,e)=>{const n=e.replace(/Y/g,\"y\").replace(/M/g,\"m\").replace(/D/g,\"d\").replace(/:m/g,\":M\").replace(/:mm/g,\":MM\").replace(/:S/,\":s\").replace(/:SS/,\":ss\");const s=t.getDate();const a=s<10?`0${s}`:s;const l=t.getMonth()+1;const o=l<10?`0${l}`:l;const r=`${t.getFullYear()}`.substr(2);const c=t.getFullYear();const i=t.getHours()%12||12;const g=i<10?`0${i}`:i;const u=t.getHours();const m=u<10?`0${u}`:u;const d=t.getMinutes();const f=d<10?`0${d}`:d;const p=t.getSeconds();const h=p<10?`0${p}`:p;const $={H:`${u}`,HH:`${m}`,M:`${d}`,MM:`${f}`,d:`${s}`,dd:`${a}`,h:`${i}`,hh:`${g}`,m:`${l}`,mm:`${o}`,s:`${p}`,ss:`${h}`,yy:`${r}`,yyyy:`${c}`};return n.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\\1?|\"[^\"]*\"|'[^']*'/g,t=>$[t]?$[t]:t.slice(1,t.length-1))};return{validate(a){if(a.value===\"\"){return{meta:{date:null},valid:true}}const l=Object.assign({},{format:a.element&&a.element.getAttribute(\"type\")===\"date\"?\"YYYY-MM-DD\":\"MM/DD/YYYY\",message:\"\"},a.options);const o=a.l10n?a.l10n.date.default:l.message;const r={message:`${o}`,meta:{date:null},valid:false};const c=l.format.split(\" \");const i=c.length>1?c[1]:null;const g=c.length>2?c[2]:null;const u=a.value.split(\" \");const m=u[0];const d=u.length>1?u[1]:null;if(c.length!==u.length){return r}const f=l.separator||(m.indexOf(\"/\")!==-1?\"/\":m.indexOf(\"-\")!==-1?\"-\":m.indexOf(\".\")!==-1?\".\":\"/\");if(f===null||m.indexOf(f)===-1){return r}const p=m.split(f);const h=c[0].split(f);if(p.length!==h.length){return r}const $=p[h.indexOf(\"YYYY\")];const M=p[h.indexOf(\"MM\")];const Y=p[h.indexOf(\"DD\")];if(!/^\\d+$/.test($)||!/^\\d+$/.test(M)||!/^\\d+$/.test(Y)||$.length>4||M.length>2||Y.length>2){return r}const D=parseInt($,10);const x=parseInt(M,10);const y=parseInt(Y,10);if(!e(D,x,y)){return r}const I=new Date(D,x-1,y);if(i){const t=d.split(\":\");if(i.split(\":\").length!==t.length){return r}const e=t.length>0?t[0].length<=2&&/^\\d+$/.test(t[0])?parseInt(t[0],10):-1:0;const n=t.length>1?t[1].length<=2&&/^\\d+$/.test(t[1])?parseInt(t[1],10):-1:0;const s=t.length>2?t[2].length<=2&&/^\\d+$/.test(t[2])?parseInt(t[2],10):-1:0;if(e===-1||n===-1||s===-1){return r}if(s<0||s>60){return r}if(e<0||e>=24||g&&e>12){return r}if(n<0||n>59){return r}I.setHours(e);I.setMinutes(n);I.setSeconds(s)}const O=typeof l.min===\"function\"?l.min():l.min;const v=O instanceof Date?O:O?n(O,h,f):I;const H=typeof l.max===\"function\"?l.max():l.max;const T=H instanceof Date?H:H?n(H,h,f):I;const S=O instanceof Date?s(v,l.format):O;const b=H instanceof Date?s(T,l.format):H;switch(true){case!!S&&!b:return{message:t(a.l10n?a.l10n.date.min:o,S),meta:{date:I},valid:I.getTime()>=v.getTime()};case!!b&&!S:return{message:t(a.l10n?a.l10n.date.max:o,b),meta:{date:I},valid:I.getTime()<=T.getTime()};case!!b&&!!S:return{message:t(a.l10n?a.l10n.date.range:o,[S,b]),meta:{date:I},valid:I.getTime()<=T.getTime()&&I.getTime()>=v.getTime()};default:return{message:`${o}`,meta:{date:I},valid:true}}}}}","export default function o(){return{validate(o){const t=\"function\"===typeof o.options.compare?o.options.compare.call(this):o.options.compare;return{valid:t===\"\"||o.value!==t}}}}","export default function e(){return{validate(e){return{valid:e.value===\"\"||/^\\d+$/.test(e.value)}}}}","export default function t(){const t=(t,e)=>{const s=t.split(/\"/);const l=s.length;const n=[];let r=\"\";for(let t=0;t()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;const n=s.multiple===true||`${s.multiple}`===\"true\";if(n){const n=s.separator||/[,;]/;const r=t(e.value,n);const a=r.length;for(let t=0;tparseInt(`${e.options.maxFiles}`,10)){return{meta:{error:\"INVALID_MAX_FILES\"},valid:false}}if(e.options.minFiles&&oparseInt(`${e.options.maxSize}`,10)){return{meta:Object.assign({},{error:\"INVALID_MAX_SIZE\"},r),valid:false}}if(i&&i.indexOf(t.toLowerCase())===-1){return{meta:Object.assign({},{error:\"INVALID_EXTENSION\"},r),valid:false}}if(n[l].type&&s&&s.indexOf(n[l].type.toLowerCase())===-1){return{meta:Object.assign({},{error:\"INVALID_TYPE\"},r),valid:false}}}if(e.options.maxTotalSize&&a>parseInt(`${e.options.maxTotalSize}`,10)){return{meta:Object.assign({},{error:\"INVALID_MAX_TOTAL_SIZE\",totalSize:a},r),valid:false}}if(e.options.minTotalSize&&a=t}:{message:e(a.l10n?s.message||a.l10n.greaterThan.notInclusive:s.message,`${t}`),valid:parseFloat(a.value)>t}}}}","export default function o(){return{validate(o){const t=\"function\"===typeof o.options.compare?o.options.compare.call(this):o.options.compare;return{valid:t===\"\"||o.value===t}}}}","export default function a(){return{validate(a){if(a.value===\"\"){return{valid:true}}const e=Object.assign({},{decimalSeparator:\".\",thousandsSeparator:\"\"},a.options);const t=e.decimalSeparator===\".\"?\"\\\\.\":e.decimalSeparator;const r=e.thousandsSeparator===\".\"?\"\\\\.\":e.thousandsSeparator;const o=new RegExp(`^-?[0-9]{1,3}(${r}[0-9]{3})*(${t}[0-9]+)?$`);const n=new RegExp(r,\"g\");let s=`${a.value}`;if(!o.test(s)){return{valid:false}}if(r){s=s.replace(n,\"\")}if(t){s=s.replace(t,\".\")}const i=parseFloat(s);return{valid:!isNaN(i)&&isFinite(i)&&Math.floor(i)===i}}}}","export default function d(){return{validate(d){if(d.value===\"\"){return{valid:true}}const a=Object.assign({},{ipv4:true,ipv6:true},d.options);const e=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\/([0-9]|[1-2][0-9]|3[0-2]))?$/;const s=/^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*(\\/(\\d|\\d\\d|1[0-1]\\d|12[0-8]))?$/;switch(true){case a.ipv4&&!a.ipv6:return{message:d.l10n?a.message||d.l10n.ip.ipv4:a.message,valid:e.test(d.value)};case!a.ipv4&&a.ipv6:return{message:d.l10n?a.message||d.l10n.ip.ipv6:a.message,valid:s.test(d.value)};case a.ipv4&&a.ipv6:default:return{message:d.l10n?a.message||d.l10n.ip.default:a.message,valid:e.test(d.value)||s.test(d.value)}}}}}","import e from\"../utils/format\";export default function s(){return{validate(s){if(s.value===\"\"){return{valid:true}}const a=Object.assign({},{inclusive:true,message:\"\"},s.options);const l=parseFloat(`${a.max}`.replace(\",\",\".\"));return a.inclusive?{message:e(s.l10n?a.message||s.l10n.lessThan.default:a.message,`${l}`),valid:parseFloat(s.value)<=l}:{message:e(s.l10n?a.message||s.l10n.lessThan.notInclusive:a.message,`${l}`),valid:parseFloat(s.value)Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join(\"&\");return new Promise((o,s)=>{const d=Object.assign({},{crossDomain:false,headers:{},method:\"GET\",params:{}},t);const a=Object.keys(d.params).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(d.params[e])}`).join(\"&\");const r=e.indexOf(\"?\");const c=\"GET\"===d.method?`${e}${r?\"?\":\"&\"}${a}`:e;if(d.crossDomain){const e=document.createElement(\"script\");const t=`___fetch${Date.now()}___`;window[t]=e=>{delete window[t];o(e)};e.src=`${c}${r?\"&\":\"?\"}callback=${t}`;e.async=true;e.addEventListener(\"load\",()=>{e.parentNode.removeChild(e)});e.addEventListener(\"error\",()=>s);document.head.appendChild(e)}else{const e=new XMLHttpRequest;e.open(d.method,c);e.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\");if(\"POST\"===d.method){e.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\")}Object.keys(d.headers).forEach(t=>e.setRequestHeader(t,d.headers[t]));e.addEventListener(\"load\",(function(){o(JSON.parse(this.responseText))}));e.addEventListener(\"error\",()=>s);e.send(n(d.params))}})}","import e from\"../utils/fetch\";export default function a(){const a={crossDomain:false,data:{},headers:{},method:\"GET\",validKey:\"valid\"};return{validate(t){if(t.value===\"\"){return Promise.resolve({valid:true})}const s=Object.assign({},a,t.options);let r=s.data;if(\"function\"===typeof s.data){r=s.data.call(this,t)}if(\"string\"===typeof r){r=JSON.parse(r)}r[s.name||t.field]=t.value;const o=\"function\"===typeof s.url?s.url.call(this,t):s.url;return e(o,{crossDomain:s.crossDomain,headers:s.headers,method:s.method,params:r}).then(e=>Promise.resolve({message:e.message,meta:e,valid:`${e[s.validKey]}`===\"true\"})).catch(e=>Promise.reject({valid:false}))}}}","export default function e(){return{validate(e){if(e.value===\"\"){return{valid:true}}const a=Object.assign({},{case:\"lower\"},e.options);const s=(a.case||\"lower\").toLowerCase();return{message:a.message||(e.l10n?\"upper\"===s?e.l10n.stringCase.upper:e.l10n.stringCase.default:a.message),valid:\"upper\"===s?e.value===e.value.toUpperCase():e.value===e.value.toLowerCase()}}}}","import e from\"../utils/format\";export default function t(){const t=e=>{let t=e.length;for(let s=e.length-1;s>=0;s--){const n=e.charCodeAt(s);if(n>127&&n<=2047){t++}else if(n>2047&&n<=65535){t+=2}if(n>=56320&&n<=57343){s--}}return`${t}`};return{validate(s){const n=Object.assign({},{message:\"\",trim:false,utf8Bytes:false},s.options);const a=n.trim===true||`${n.trim}`===\"true\"?s.value.trim():s.value;if(a===\"\"){return{valid:true}}const r=n.min?`${n.min}`:\"\";const l=n.max?`${n.max}`:\"\";const i=n.utf8Bytes?t(a):a.length;let g=true;let m=s.l10n?n.message||s.l10n.stringLength.default:n.message;if(r&&iparseInt(l,10)){g=false}switch(true){case!!r&&!!l:m=e(s.l10n?n.message||s.l10n.stringLength.between:n.message,[r,l]);break;case!!r:m=e(s.l10n?n.message||s.l10n.stringLength.more:n.message,`${parseInt(r,10)-1}`);break;case!!l:m=e(s.l10n?n.message||s.l10n.stringLength.less:n.message,`${parseInt(l,10)+1}`);break;default:break}return{message:m,valid:g}}}}","export default function t(){const t={allowEmptyProtocol:false,allowLocal:false,protocol:\"http, https, ftp\"};return{validate(o){if(o.value===\"\"){return{valid:true}}const a=Object.assign({},t,o.options);const l=a.allowLocal===true||`${a.allowLocal}`===\"true\";const f=a.allowEmptyProtocol===true||`${a.allowEmptyProtocol}`===\"true\";const u=a.protocol.split(\",\").join(\"|\").replace(/\\s/g,\"\");const e=new RegExp(\"^\"+\"(?:(?:\"+u+\")://)\"+(f?\"?\":\"\")+\"(?:\\\\S+(?::\\\\S*)?@)?\"+\"(?:\"+(l?\"\":\"(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})\"+\"(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})\"+\"(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})\")+\"(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])\"+\"(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}\"+\"(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))\"+\"|\"+\"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)\"+\"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-?)*[a-z\\\\u00a1-\\\\uffff0-9])*\"+\"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\"+(l?\"?\":\"\")+\")\"+\"(?::\\\\d{2,5})?\"+\"(?:/[^\\\\s]*)?$\",\"i\");return{valid:e.test(o.value)}}}}","import r from\"./between\";import m from\"./blank\";import i from\"./callback\";import o from\"./choice\";import t from\"./creditCard\";import e from\"./date\";import p from\"./different\";import f from\"./digits\";import n from\"./emailAddress\";import a from\"./file\";import s from\"./greaterThan\";import d from\"./identical\";import l from\"./integer\";import c from\"./ip\";import g from\"./lessThan\";import h from\"./notEmpty\";import b from\"./numeric\";import u from\"./promise\";import k from\"./regexp\";import C from\"./remote\";import T from\"./stringCase\";import x from\"./stringLength\";import w from\"./uri\";export default{between:r,blank:m,callback:i,choice:o,creditCard:t,date:e,different:p,digits:f,emailAddress:n,file:a,greaterThan:s,identical:d,integer:l,ip:c,lessThan:g,notEmpty:h,numeric:b,promise:u,regexp:k,remote:C,stringCase:T,stringLength:x,uri:w};","import e from\"./emitter\";import t from\"./filter\";import i from\"../filters/getFieldValue\";import s from\"../validators/index\";class l{constructor(i,s){this.elements={};this.ee=e();this.filter=t();this.plugins={};this.results=new Map;this.validators={};this.form=i;this.fields=s}on(e,t){this.ee.on(e,t);return this}off(e,t){this.ee.off(e,t);return this}emit(e,...t){this.ee.emit(e,...t);return this}registerPlugin(e,t){if(this.plugins[e]){throw new Error(`The plguin ${e} is registered`)}t.setCore(this);t.install();this.plugins[e]=t;return this}deregisterPlugin(e){const t=this.plugins[e];if(t){t.uninstall()}delete this.plugins[e];return this}registerValidator(e,t){if(this.validators[e]){throw new Error(`The validator ${e} is registered`)}this.validators[e]=t;return this}registerFilter(e,t){this.filter.add(e,t);return this}deregisterFilter(e,t){this.filter.remove(e,t);return this}executeFilter(e,t,i){return this.filter.execute(e,t,i)}addField(e,t){const i=Object.assign({},{selector:\"\",validators:{}},t);this.fields[e]=this.fields[e]?{selector:i.selector||this.fields[e].selector,validators:Object.assign({},this.fields[e].validators,i.validators)}:i;this.elements[e]=this.queryElements(e);this.emit(\"core.field.added\",{elements:this.elements[e],field:e,options:this.fields[e]});return this}removeField(e){if(!this.fields[e]){throw new Error(`The field ${e} validators are not defined. Please ensure the field is added first`)}const t=this.elements[e];const i=this.fields[e];delete this.elements[e];delete this.fields[e];this.emit(\"core.field.removed\",{elements:t,field:e,options:i});return this}validate(){this.emit(\"core.form.validating\");return this.filter.execute(\"validate-pre\",Promise.resolve(),[]).then(()=>Promise.all(Object.keys(this.fields).map(e=>this.validateField(e))).then(e=>{switch(true){case e.indexOf(\"Invalid\")!==-1:this.emit(\"core.form.invalid\");return Promise.resolve(\"Invalid\");case e.indexOf(\"NotValidated\")!==-1:this.emit(\"core.form.notvalidated\");return Promise.resolve(\"NotValidated\");default:this.emit(\"core.form.valid\");return Promise.resolve(\"Valid\")}}))}validateField(e){const t=this.results.get(e);if(t===\"Valid\"||t===\"Invalid\"){return Promise.resolve(t)}this.emit(\"core.field.validating\",e);const i=this.elements[e];if(i.length===0){this.emit(\"core.field.valid\",e);return Promise.resolve(\"Valid\")}const s=i[0].getAttribute(\"type\");if(\"radio\"===s||\"checkbox\"===s||i.length===1){return this.validateElement(e,i[0])}else{return Promise.all(i.map(t=>this.validateElement(e,t))).then(t=>{switch(true){case t.indexOf(\"Invalid\")!==-1:this.emit(\"core.field.invalid\",e);this.results.set(e,\"Invalid\");return Promise.resolve(\"Invalid\");case t.indexOf(\"NotValidated\")!==-1:this.emit(\"core.field.notvalidated\",e);this.results.delete(e);return Promise.resolve(\"NotValidated\");default:this.emit(\"core.field.valid\",e);this.results.set(e,\"Valid\");return Promise.resolve(\"Valid\")}})}}validateElement(e,t){this.results.delete(e);const i=this.elements[e];const s=this.filter.execute(\"element-ignored\",false,[e,t,i]);if(s){this.emit(\"core.element.ignored\",{element:t,elements:i,field:e});return Promise.resolve(\"Ignored\")}const l=this.fields[e].validators;this.emit(\"core.element.validating\",{element:t,elements:i,field:e});const r=Object.keys(l).map(i=>()=>this.executeValidator(e,t,i,l[i]));return this.waterfall(r).then(s=>{const l=s.indexOf(\"Invalid\")===-1;this.emit(\"core.element.validated\",{element:t,elements:i,field:e,valid:l});const r=t.getAttribute(\"type\");if(\"radio\"===r||\"checkbox\"===r||i.length===1){this.emit(l?\"core.field.valid\":\"core.field.invalid\",e)}return Promise.resolve(l?\"Valid\":\"Invalid\")}).catch(s=>{this.emit(\"core.element.notvalidated\",{element:t,elements:i,field:e});return Promise.resolve(s)})}executeValidator(e,t,i,s){const l=this.elements[e];const r=this.filter.execute(\"validator-name\",i,[i,e]);s.message=this.filter.execute(\"validator-message\",s.message,[this.locale,e,r]);if(!this.validators[r]||s.enabled===false){this.emit(\"core.validator.validated\",{element:t,elements:l,field:e,result:this.normalizeResult(e,r,{valid:true}),validator:r});return Promise.resolve(\"Valid\")}const a=this.validators[r];const d=this.getElementValue(e,t,r);const o=this.filter.execute(\"field-should-validate\",true,[e,t,d,i]);if(!o){this.emit(\"core.validator.notvalidated\",{element:t,elements:l,field:e,validator:i});return Promise.resolve(\"NotValidated\")}this.emit(\"core.validator.validating\",{element:t,elements:l,field:e,validator:i});const n=a().validate({element:t,elements:l,field:e,l10n:this.localization,options:s,value:d});const h=\"function\"===typeof n[\"then\"];if(h){return n.then(s=>{const r=this.normalizeResult(e,i,s);this.emit(\"core.validator.validated\",{element:t,elements:l,field:e,result:r,validator:i});return r.valid?\"Valid\":\"Invalid\"})}else{const s=this.normalizeResult(e,i,n);this.emit(\"core.validator.validated\",{element:t,elements:l,field:e,result:s,validator:i});return Promise.resolve(s.valid?\"Valid\":\"Invalid\")}}getElementValue(e,t,s){const l=i(this.form,e,t,this.elements[e]);return this.filter.execute(\"field-value\",l,[l,e,t,s])}getElements(e){return this.elements[e]}getFields(){return this.fields}getFormElement(){return this.form}getLocale(){return this.locale}getPlugin(e){return this.plugins[e]}updateFieldStatus(e,t,i){const s=this.elements[e];const l=s[0].getAttribute(\"type\");const r=\"radio\"===l||\"checkbox\"===l?[s[0]]:s;r.forEach(s=>this.updateElementStatus(e,s,t,i));if(!i){switch(t){case\"NotValidated\":this.emit(\"core.field.notvalidated\",e);this.results.delete(e);break;case\"Validating\":this.emit(\"core.field.validating\",e);this.results.delete(e);break;case\"Valid\":this.emit(\"core.field.valid\",e);this.results.set(e,\"Valid\");break;case\"Invalid\":this.emit(\"core.field.invalid\",e);this.results.set(e,\"Invalid\");break}}return this}updateElementStatus(e,t,i,s){const l=this.elements[e];const r=this.fields[e].validators;const a=s?[s]:Object.keys(r);switch(i){case\"NotValidated\":a.forEach(i=>this.emit(\"core.validator.notvalidated\",{element:t,elements:l,field:e,validator:i}));this.emit(\"core.element.notvalidated\",{element:t,elements:l,field:e});break;case\"Validating\":a.forEach(i=>this.emit(\"core.validator.validating\",{element:t,elements:l,field:e,validator:i}));this.emit(\"core.element.validating\",{element:t,elements:l,field:e});break;case\"Valid\":a.forEach(i=>this.emit(\"core.validator.validated\",{element:t,field:e,result:{message:r[i].message,valid:true},validator:i}));this.emit(\"core.element.validated\",{element:t,elements:l,field:e,valid:true});break;case\"Invalid\":a.forEach(i=>this.emit(\"core.validator.validated\",{element:t,field:e,result:{message:r[i].message,valid:false},validator:i}));this.emit(\"core.element.validated\",{element:t,elements:l,field:e,valid:false});break}return this}resetForm(e){Object.keys(this.fields).forEach(t=>this.resetField(t,e));this.emit(\"core.form.reset\",{reset:e});return this}resetField(e,t){if(t){const t=this.elements[e];const i=t[0].getAttribute(\"type\");t.forEach(e=>{if(\"radio\"===i||\"checkbox\"===i){e.removeAttribute(\"selected\");e.removeAttribute(\"checked\");e.checked=false}else{e.setAttribute(\"value\",\"\");if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement){e.value=\"\"}}})}this.updateFieldStatus(e,\"NotValidated\");this.emit(\"core.field.reset\",{field:e,reset:t});return this}revalidateField(e){this.updateFieldStatus(e,\"NotValidated\");return this.validateField(e)}disableValidator(e,t){return this.toggleValidator(false,e,t)}enableValidator(e,t){return this.toggleValidator(true,e,t)}updateValidatorOption(e,t,i,s){if(this.fields[e]&&this.fields[e].validators&&this.fields[e].validators[t]){this.fields[e].validators[t][i]=s}return this}setFieldOptions(e,t){this.fields[e]=t;return this}destroy(){Object.keys(this.plugins).forEach(e=>this.plugins[e].uninstall());this.ee.clear();this.filter.clear();this.results.clear();this.plugins={};return this}setLocale(e,t){this.locale=e;this.localization=t;return this}waterfall(e){return e.reduce((e,t,i,s)=>e.then(e=>t().then(t=>{e.push(t);return e})),Promise.resolve([]))}queryElements(e){const t=this.fields[e].selector?\"#\"===this.fields[e].selector.charAt(0)?`[id=\"${this.fields[e].selector.substring(1)}\"]`:this.fields[e].selector:`[name=\"${e}\"]`;return[].slice.call(this.form.querySelectorAll(t))}normalizeResult(e,t,i){const s=this.fields[e].validators[t];return Object.assign({},i,{message:i.message||(s?s.message:\"\")||(this.localization&&this.localization[t]&&this.localization[t].default?this.localization[t].default:\"\")||`The field ${e} is not valid`})}toggleValidator(e,t,i){const s=this.fields[t].validators;if(i&&s&&s[i]){this.fields[t].validators[i].enabled=e}else if(!i){Object.keys(s).forEach(i=>this.fields[t].validators[i].enabled=e)}return this.updateFieldStatus(t,\"NotValidated\",i)}}export default function r(e,t){const i=Object.assign({},{fields:{},locale:\"en_US\",plugins:{}},t);const r=new l(e,i.fields);r.setLocale(i.locale,i.localization);Object.keys(i.plugins).forEach(e=>r.registerPlugin(e,i.plugins[e]));Object.keys(s).forEach(e=>r.registerValidator(e,s[e]));Object.keys(i.fields).forEach(e=>r.addField(e,i.fields[e]));return r}export{l as Core};","import Vue from \"vue\";\nimport formValidation from \"@/assets/plugins/formvalidation/dist/es6/core/Core\";\n\nVue.use(formValidation);\n","import Vue from 'vue';\nimport VueSession from 'vue-session';\n\nlet sessionOptions = {\n persist: true\n}\n\nVue.use(VueSession, sessionOptions);","import Vue from 'vue';\nimport Loading from 'vue-loading-overlay';\nimport 'vue-loading-overlay/dist/vue-loading.css';\n\n\nVue.use(Loading);\n\nVue.component( \"loading\", Loading );","import \"vue-easytable/libs/theme-default/index.css\"; // import style\n\n\n\nimport Vue from \"vue\";\nimport { VeTable } from \"vue-easytable\";\n\nVue.use(VeTable);\n\n//Vue.component( \"ve-table\", VueEasytable)\n","//https://www.npmjs.com/package/vuejs-datepicker#demo\n\nimport Vue from 'vue';\nimport DatePicker from 'vue2-datepicker';\nimport 'vue2-datepicker/index.css';\n\nVue.use( DatePicker );\nVue.component( \"datepicker\", DatePicker );","import Vue from 'vue';\nimport VueEllipseProgress from 'vue-ellipse-progress';\nimport 'vue-ellipse-progress/dist/vue-ellipse-progress.umd.min'\n\nVue.use(VueEllipseProgress);\n","/*\nimport Vue from 'vue';\nimport vmodal from 'vue-js-modal';\n\nVue.use( vmodal, { dynamic: true, dynamicDefaults: {\n draggable: false,\n scrollable : true,\n resizable: false,\n height: 'auto',\n }} )\n*/\n\n\n\nimport Vue from 'vue';\nimport VModal from 'vue-js-modal';\nVue.use(VModal)\n","import Vue from 'vue';\nimport Viewer from 'v-viewer';\nimport 'viewerjs/dist/viewer.css';\n\n\nVue.use( Viewer );\nViewer.setDefaults( {\n //zIndexInline : 2017\n})\n\n/*\nimport Vue from \"vue\";\nimport Viewer from \"v-viewer\";\nimport \"viewerjs/dist/viewer.css\";\n\n\nVue.use(Viewer.default);\n*/\n","import Vue from \"vue\";\nimport JsonViewer from 'vue-json-viewer'\n\n\nVue.use(JsonViewer)","\nimport vue from 'vue';\n\nvue.filter( \"datetimeFormat\", function( date ) {\n if( isNaN( Date.parse( date ) ) ) {\n return \"\";\n }\n\n return vue.prototype.$moment( date ).format( \"YYYY-MM-DD HH:mm\" );\n} )\n\n\nvue.filter( \"datetimeFormatSecond\", function( date ) {\n if( isNaN( Date.parse( date ) ) ) {\n return \"\";\n }\n\n return vue.prototype.$moment( date ).format( \"YYYY-MM-DD HH:mm:ss\" );\n} )\n","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"us-east-1\",\n \"aws_cloud_logic_custom\": [\n {\n \"name\": \"apiArgosDashboard\",\n \"endpoint\": \"https://l8flh1ihle.execute-api.us-east-1.amazonaws.com/master\",\n \"region\": \"us-east-1\"\n }\n ],\n \"aws_cognito_identity_pool_id\": \"us-east-1:44e7622b-1338-4d51-929d-2128ada4ffc1\",\n \"aws_cognito_region\": \"us-east-1\",\n \"aws_user_pools_id\": \"us-east-1_88CD5PUd3\",\n \"aws_user_pools_web_client_id\": \"246cnv2j13oi8r7dr0e0fau7k\",\n \"oauth\": {},\n \"aws_cognito_username_attributes\": [\n \"EMAIL\"\n ],\n \"aws_cognito_social_providers\": [],\n \"aws_cognito_signup_attributes\": [\n \"EMAIL\"\n ],\n \"aws_cognito_mfa_configuration\": \"OFF\",\n \"aws_cognito_mfa_types\": [\n \"SMS\"\n ],\n \"aws_cognito_password_protection_settings\": {\n \"passwordPolicyMinLength\": 8,\n \"passwordPolicyCharacters\": []\n },\n \"aws_cognito_verification_mechanisms\": [\n \"EMAIL\"\n ],\n \"aws_user_files_s3_bucket\": \"s3argosbucket113003-master\",\n \"aws_user_files_s3_bucket_region\": \"us-east-1\"\n};\n\n\nexport default awsmobile;\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"@/core/services/store\";\nimport ApiService from \"@/core/services/api.service\";\nimport VueSessionStorage from \"vue-sessionstorage\";\n\nimport { CommonJs } from \"@/assets/js/common/common\";\nimport { TreeCommon } from \"@/assets/js/common/treecommon\";\n\nVue.config.productionTip = false;\n\n// Global 3rd party plugins\nimport \"popper.js\";\nimport \"tooltip.js\";\nimport PerfectScrollbar from \"perfect-scrollbar\";\nwindow.PerfectScrollbar = PerfectScrollbar;\nimport ClipboardJS from \"clipboard\";\nwindow.ClipboardJS = ClipboardJS;\n\n\n// Vue 3rd party plugins\nimport i18n from \"@/core/plugins/vue-i18n\";\nimport vuetify from \"@/core/plugins/vuetify\";\n\nimport \"@/core/plugins\";\nimport \"@/core/services/filters\";\n\nimport Amplify from 'aws-amplify';\nimport \"@aws-amplify/ui-vue\";\nimport aws_exports from './aws-exports';\n\nimport axios from 'axios';\nimport VueAxios from 'vue-axios';\n\n\nAmplify.configure(aws_exports);\n\n// import * as func from \"./function\";\n// API service init\nApiService.init();\n\n// Remove this to disable mock API\n// MockService.init();\n//\n// router.beforeEach((to, from, next) => {\n// // Ensure we checked auth before each page load.\n// Promise.all([store.dispatch(VERIFY_AUTH)]).then(next);\n//\n// // reset config to initial state\n// store.dispatch(RESET_LAYOUT_CONFIG);\n//\n// // Scroll page to top on every route change\n// setTimeout(() => {\n// window.scrollTo(0, 0);\n// }, 100);\n// });\n\nVue.use( CommonJs );\nVue.use( TreeCommon );\nVue.use(VueSessionStorage);\nVue.use(VueAxios, axios);\n\nnew Vue({\n router,\n store,\n i18n,\n vuetify,\n // func,\n render: h => h(App)\n}).$mount(\"#app\");\n","import objectPath from \"object-path\";\nimport merge from \"deepmerge\";\nimport config from \"@/core/config/layout.config.json\";\n\n// action types\nexport const SET_LAYOUT_CONFIG = \"setLayoutConfig\";\nexport const RESET_LAYOUT_CONFIG = \"resetLayoutConfig\";\nexport const OVERRIDE_LAYOUT_CONFIG = \"overrideLayoutConfig\";\nexport const OVERRIDE_PAGE_LAYOUT_CONFIG = \"overridePageLayoutConfig\";\n\n// mutation types\n\nexport default {\n state: {\n config: config,\n initial: config\n },\n getters: {\n /**\n * Get config from layout config\n * @param state\n * @returns {function(path, defaultValue): *}\n */\n layoutConfig: state => (path, defaultValue) => {\n return objectPath.get(state.config, path, defaultValue);\n }\n },\n actions: {\n /**\n * Set and replace the whole config\n * @param state\n * @param payload\n */\n [SET_LAYOUT_CONFIG](state, payload) {\n state.commit(SET_LAYOUT_CONFIG, payload);\n },\n\n /**\n * Reset the config at the initial state\n * @param state\n */\n [RESET_LAYOUT_CONFIG](state) {\n state.commit(RESET_LAYOUT_CONFIG);\n },\n\n /**\n * Reset the config using saved config in the cache by the layout builder\n * @param state\n */\n [OVERRIDE_LAYOUT_CONFIG](state) {\n state.commit(OVERRIDE_LAYOUT_CONFIG);\n },\n\n /**\n * Override config by page level\n * @param state\n * @param payload\n */\n [OVERRIDE_PAGE_LAYOUT_CONFIG](state, payload) {\n state.commit(OVERRIDE_PAGE_LAYOUT_CONFIG, payload);\n }\n },\n mutations: {\n [SET_LAYOUT_CONFIG](state, payload) {\n state.config = payload;\n },\n [RESET_LAYOUT_CONFIG](state) {\n state.config = Object.assign({}, state.initial);\n },\n [OVERRIDE_LAYOUT_CONFIG](state) {\n state.config = state.initial = Object.assign(\n {},\n state.initial,\n JSON.parse(localStorage.getItem(\"config\"))\n );\n },\n [OVERRIDE_PAGE_LAYOUT_CONFIG](state, payload) {\n state.config = merge(state.config, payload);\n }\n }\n};\n","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTHeader = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (element === undefined) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n offset: {\n desktop: true,\n tabletAndMobile: true\n },\n releseOnReverse: {\n desktop: false,\n tabletAndMobile: false\n }\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Run plugin\n * @returns {KTHeader}\n */\n construct: function(options) {\n if (KTUtil.data(element).has('header')) {\n the = KTUtil.data(element).get('header');\n } else {\n // reset header\n Plugin.init(options);\n\n // build header\n Plugin.build();\n\n KTUtil.data(element).set('header', the);\n }\n\n return the;\n },\n\n /**\n * Handles subheader click toggle\n * @returns {KTHeader}\n */\n init: function(options) {\n the.events = [];\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n },\n\n /**\n * Reset header\n * @returns {KTHeader}\n */\n build: function() {\n var eventTriggerState = true;\n var lastScrollTop = 0;\n\n window.addEventListener('scroll', function() {\n var offset = 0, st, attrName;\n\n if (KTUtil.isBreakpointDown('lg') && the.options.offset.tabletAndMobile === false) {\n return;\n }\n\n if (KTUtil.isBreakpointUp('lg') && the.options.offset.desktop === false) {\n return;\n }\n\n if (KTUtil.isBreakpointUp('lg')) {\n offset = the.options.offset.desktop;\n } else if (KTUtil.isBreakpointDown('lg')) {\n offset = the.options.offset.tabletAndMobile;\n }\n\n st = KTUtil.getScrollTop();\n\n if (\n (KTUtil.isBreakpointDown('lg') && the.options.releseOnReverse.tabletAndMobile) ||\n (KTUtil.isBreakpointUp('lg') && the.options.releseOnReverse.desktop)\n ) {\n if (st > offset && lastScrollTop < st) { // down scroll mode\n if (body.hasAttribute('data-header-scroll') === false) {\n body.setAttribute('data-header-scroll', 'on');\n }\n\n if (eventTriggerState) {\n Plugin.eventTrigger('scrollOn', the);\n eventTriggerState = false;\n }\n } else { // back scroll mode\n if (body.hasAttribute('data-header-scroll') === true) {\n body.removeAttribute('data-header-scroll');\n }\n\n if (eventTriggerState == false) {\n Plugin.eventTrigger('scrollOff', the);\n eventTriggerState = true;\n }\n }\n\n lastScrollTop = st;\n } else {\n if (st > offset) { // down scroll mode\n if (body.hasAttribute('data-header-scroll') === false) {\n body.setAttribute('data-header-scroll', 'on');\n }\n\n if (eventTriggerState) {\n Plugin.eventTrigger('scrollOn', the);\n eventTriggerState = false;\n }\n } else { // back scroll mode\n if (body.hasAttribute('data-header-scroll') === true) {\n body.removeAttribute('data-header-scroll');\n }\n\n if (eventTriggerState == false) {\n Plugin.eventTrigger('scrollOff', the);\n eventTriggerState = true;\n }\n }\n }\n });\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name, args) {\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the, args);\n }\n } else {\n return event.handler.call(this, the, args);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Register event\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n ///////////////////////////////\n // ** Plugin Construction ** //\n ///////////////////////////////\n\n // Run plugin\n Plugin.construct.apply(the, [options]);\n\n // Init done\n init = true;\n\n // Return plugin instance\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTHeader;\n}\n\nexport default KTHeader;","\"use strict\";\n\nvar KTLayoutScrolltop = function() {\n // Private properties\n var _element;\n var _object;\n\n // Private functions\n var _init = function() {\n _object = new KTScrolltop(_element, {\n offset: 300,\n speed: 600,\n });\n }\n\n // Public methods\n\treturn {\n\t\tinit: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n\t\t},\n\n getElement: function() {\n return _element;\n }\n\t};\n}();\n\n\n\nexport default KTLayoutScrolltop;","import { API } from \"aws-amplify\";\nimport rejectReason from \"@/core/config/reject.reason.json\";\n\nexport default {\n\n // 모듈이 독립적이거나 재사용되기를 원한다면 namespaced를 true로\n //namespaced: true,\n\n state : {\n rejectReason : {\n\n /*automaticReject : [\n { text: 'codef 실패', value: 'codef_fail' },\n { text: 'detect face 감지되지 않음', value: 'face_image_not_detected' },\n { text: 'detect face 얼굴이 하나 이상 감지됨', value: 'face_image_more_than_one_face' },\n { text: 'face compare 가 되지 않거나 감지된 얼굴이 두 개 이상임', value: 'face_image_not_match_or_more_than_one_face' },\n { text: 'invalid image - 신분증이 아님', value: 'liveness_fail' },\n ],\n idImageReject : [ //@TODO https://maroon-headlight-09a.notion.site/524decb589d84813a8ee276480bbd54f 참고\n { text: 'invalid image - 신분증이 아님', value: 'id_image_invalidImage' },\n { text: 'invalid ID - 여권이 아님', value: 'id_image_invalidId' },\n { text: 'Error - 이미지 업로드 실패 에러', value: 'id_image_error' },\n { text: 'bad image - 읽을 수 없음.', value: 'id_image_badImage' }\n ],\n\n idInfoReject : [\n { text : 'data mismatch', value : 'id_info_dataMismatch' },\n { text : 'expired - 만료', value : 'id_info_expired' },\n { text : 'blacklisted nationality', value : 'id_info_blacklist' },\n { text : 'not of age', value : 'id_info_notOfAge' },\n { text : 'language mismatch - 신분증상 언어와 입력 언어 다름', value : 'id_info_languageMismatch' },\n ],\n\n selfieImageReject : [\n { text : 'invalid selfie - 셀피가 아님', value : 'selfie_image_invalidSelfie' },\n { text : 'selfie mismatch - 같은 사람이 아님', value : 'selfie_image_selfieMismatch' },\n { text : 'Error - 이미지 업로드 실패 에러', value : 'selfie_image_error' },\n { text : 'bad image - 얼굴 확인 불가', value : 'selfie_image_badImage' },\n ],*/\n\n },\n idType : {\n \"drivers_license\" : \"Driver License\",\n \"passport\" : \"Passport\",\n \"government_id\" : \"Government ID\",\n \"residence_permit\" : \"Residence Permit\",\n \"vehicle_registration_certificate\" : \"Vehicle Registration Certificate\",\n \"visa\" : \"VISA\",\n \"aadhaar\" : \"AADHAAR\",\n \"pancard\" : \"PANCARD\",\n },\n submissionId: \"\",\n companyName: \"\",\n submissions : [],\n submissionTotalCount: 0,\n submissionApprovedCount: 0,\n directors: [],\n shareholders: [],\n companyProfileCount: {}\n },\n\n // state를 변경할수 있는 유일한 요소, action에서 호출\n mutations: {\n setSubmissions (state, res) {\n console.log(\"setSubmissions\", res);\n state.submissions = res;\n state.submissionTotalCount = res.length;\n state.submissionApprovedCount = res.length;\n },\n setDirectors(state, list){\n state.directors = list;\n },\n setId(state, id){\n state.submissionId = id;\n },\n setCpnyName(state, name){\n state.companyName = name;\n },\n setShareHolders(state, list){\n state.shareholders = list;\n },\n setCompanyProfileCnt(state, profileInfo){\n state.companyProfileCount = profileInfo\n },\n setHistory(state , alias) {\n state.alias = alias\n },\n },\n\n actions: {\n\n /**\n * get submission detail\n * @param context\n * @param payload\n * @returns {Promise}\n */\n // async callSubmissionData(context, payload){\n // let params = {\n // project_id: payload.projectId,\n // submission_id: payload.submissionId\n // };\n // let requestParam = {\n // alias: context.getters.getEnv,\n // requestType: 'submission_data',\n // submission_data: JSON.stringify( params )\n // };\n // return await API.get('apiArgosDashboard', '/kybSubmission', {queryStringParameters: requestParam });\n // },\n\n async callSubmissionData(context, payload){\n let params = {submissionId: payload.submissionId};\n let result;\n try{\n result = await API.get('apiArgosDashboard', '/kybSubmission', {queryStringParameters: {alias: context.getters.getEnv, requestType: 'submission_data', submission_data: JSON.stringify(params)}});\n //console.log( \"callSubmissionData res ::: \", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"callSubmissionData error ::\", e?.message )\n }\n\n return result;\n },\n\n /**\n * get submission List\n * @param context\n * @param payload\n * @returns {Promise<*[]|any>}\n */\n // async callSubmissionList( context, payload ){\n // console.log(\"payload\", payload);\n // let params = {project_id: payload.projectId};\n // let requestParam = {\n // alias: context.getters.getEnv,\n // requestType: 'submission_list',\n // submission_data: JSON.stringify( params )\n // };\n // let getSubmission = await API.get('apiArgosDashboard', '/kybSubmission', {queryStringParameters: requestParam});\n // if(!getSubmission.error){\n // return getSubmission;\n // }else{\n // console.log(\"getSubmission err\", getSubmission);\n // return [];\n // }\n // },\n\n async callSubmissionList(context, payload){\n console.log(\"payload in callSubmissionList\", payload);\n let params = {projectId: payload.projectId};\n\n //@TODO\n let getSubmission = await API.get('apiArgosDashboard', '/kybSubmission', {queryStringParameters: {alias: context.getters.getEnv, requestType: 'submission_list', submission_data: JSON.stringify(params)}});\n //console.log( \"callSubmissionList :: \", JSON.stringify( getSubmission ) );\n if(!getSubmission.error){\n return getSubmission;\n }\n console.log(\"getSubmission err\", getSubmission);\n return [];\n },\n\n /**\n * get submission shareholder\n * @param context\n * @param submissionId\n * @returns {Promise}\n */\n // async getSubmissionShareHolders(context, submissionId){\n // let params = { 'submission_id': submissionId };\n // let requestParam = {\n // alias: context.getters.getEnv,\n // requestType: 'shareholder_list',\n // shareholder_data: JSON.stringify( params )\n // };\n // let getShareholder = await API.get('apiArgosDashboard', '/kybShareholder', {queryStringParameters: requestParam });\n // console.log(\"getShareholder\", getShareholder);\n // return getShareholder;\n // },\n\n async getSubmissionShareHolders(context, submissionId){\n if( !submissionId ) {\n console.log( \"In getSubmissionShareHolders > wrong request ,param : \", submissionId );\n return;\n }\n let param = {\n alias: context.getters.getEnv,\n requestType: 'shareholder_list',\n shareholder_data: JSON.stringify({'submissionId': submissionId})\n };\n console.log(\"param in getSubmissionShareHolders\", param);\n let getShareholder = await API.get('apiArgosDashboard', '/kybShareholder', {queryStringParameters: param});\n console.log(\"getShareholder\", JSON.stringify( getShareholder ));\n return getShareholder;\n },\n\n async amlKybReportDownload(context, payload){\n if( !payload.resourceId ) {\n console.log( \"amlKybReportDownload request param error - resourceId ::: \", payload.resourceId );\n return {};\n }\n\n payload.alias = context.getters.getEnv;\n console.log( \"amlKybReportDownload payload ::: \", payload );\n let returnValue = await API.get('apiArgosDashboard', '/kycAmlReport03', {queryStringParameters: payload});\n console.log(\"amlKybReportDownload\", returnValue);\n return returnValue;\n },\n\n\n async deleteSubmission(context, payload) {\n let params = {\n queryStringParameters: {\n alias: context.getters.getEnv,\n isDashboard: true,\n ...payload\n }\n }\n\n return await API.del('apiArgosDashboard', '/deleteSubmission', params);\n },\n\n\n\n async updateSubmission(context, payload) {\n\n\n const {submissionId , ...rest} = payload\n\n let params = {\n body: {\n submissionId,\n alias: context.getters.getEnv,\n projectId: context.getters.getSelectedProjectId,\n admin: context.getters.currentLoginUser.email,\n data : {\n ...rest,\n }\n }\n }\n\n return await API.post('apiArgosDashboard' , '/updateSubmission', params);\n },\n\n async updateMemo(context,payload) {\n let parma = {\n alias: context.getters.getEnv,\n submissionId: payload.submissionId,\n memo: payload.memo\n }\n return await API.post('apiArgosDashboard', '/kycSubmissionMemo', {body: parma});\n },\n\n /**\n * get project history list\n * @param context\n * @param payload\n * @returns {Promise<*[]>}\n */\n async getProjectHistory( context, payload ){\n\n if( !payload.project_id ) {\n console.log( \"require parameter is not exist ::: \", payload );\n return [];\n }\n\n let params = {\n queryStringParameters: {\n alias: context.getters.getEnv,\n requestType: 'history_list',\n history_data: JSON.stringify( payload )\n }\n };\n let historyList = await API.get('apiArgosDashboard', '/kybEvent', params);\n console.log(\"historyList\", historyList);\n\n return historyList.value || [];\n },\n\n async getKybEventLog(context, payload){\n let params = {\n alias: context.getters.getEnv,\n searchType: 'KYB'\n };\n if( !payload || !payload.projectId ) {\n console.log( \"getKybEventLog request param error - projectId ::: \", payload.projectId );\n return {};\n }\n\n let keys = Object.keys( payload );\n keys.forEach( function( key ){\n params[ key ] = payload[key];\n } );\n\n console.log( \"getKycEventLog param ::: \", params );\n let result;\n try{\n result = await API.get('apiArgosDashboard', '/kybEvent', {queryStringParameters: params} );\n console.log( \"getKybEventLog response :::\", JSON.stringify(result ) )\n }\n catch( e ) {\n console.log( \"getKybEventLog :: \", e );\n }\n return result;\n },\n\n\n async getLoginHistory(context, email) {\n\n let params = {\n alias: context.getters.getEnv,\n requestType : 'getHistory',\n email: email,\n };\n try {\n const result = await API.get('apiArgosDashboard', '/loginV2', {queryStringParameters: params})\n return result\n } catch (e) {\n console.log(\"Catch The Error ::: \", e)\n }\n },\n\n async setLoginHistory(context) {\n let params = {\n alias: context.getters.getEnv,\n requestType: 'setHistory'\n };\n try {\n return await API.get('apiArgosDashboard', '/login', {queryStringParameters: params})\n } catch (e) {\n console.log(\"Catch The Login History Error\", e)\n }\n },\n\n setSubmissionDirectors(context, payload){\n if(!payload) payload = [];\n context.commit('setDirectors', payload);\n },\n setSubmissionId(context, payload){\n context.commit('setId', payload)\n },\n setCompanyName(context, payload){\n context.commit('setCpnyName', payload);\n },\n setShareHolderList(context, payload){\n context.commit('setShareHolders', payload);\n },\n setCompanyProfileCount(context, payload){\n context.commit('setCompanyProfileCnt', payload);\n }\n },\n\n\n // 외부 컴포넌트의 computed에서 사용\n getters: {\n\n /**\n * 카테고리별 reject reason\n * @param state\n * @returns {{addressImageReject: [], automaticReject: [], idImageReject: [], selfieImageReject: [], idInfoReject: [], addressInfoReject: []}|*}\n */\n rejectReason ( state ) {\n\n // 이미 만들어져있는 경우 그대로 return\n if( state.isMadeRejectReason ) {\n return state.rejectReason;\n }\n\n state.isMadeRejectReason = true;\n\n let rejectReasonKey = Object.keys( rejectReason );\n\n\n //idImageReject,idInfoReject,selfieImageReject,automaticReject,addressImageReject,addressInfoReject\n rejectReasonKey.forEach( function( item ) {\n\n let temp = {\n value : item,\n text : rejectReason[item].console_text,\n custom_text : rejectReason[item].custom_text,\n }\n\n let category = rejectReason[item].category;\n state.rejectReason[category].push( temp );\n })\n\n console.log( \"reject Reason :::\", state.rejectReason )\n return state.rejectReason;\n\n },\n\n getSubmissions ( state ) {\n return state.submissions || [];\n },\n getDirectors(state){\n return state.directors || [];\n },\n getSubmissionId(state){\n return state.submissionId;\n },\n getCompanyName(state){\n return state.companyName;\n },\n getShareHolders(state){\n return state.shareholders || [];\n },\n getCompanyProfileCount(state) {\n return state.companyProfileCount;\n }\n },\n\n}\n","import {API} from \"aws-amplify\";\nimport axios from \"axios\";\nimport Vue from 'vue';\nimport * as queryString from \"querystring\";\n\nexport default {\n\n // 모듈이 독립적이거나 재사용되기를 원한다면 namespaced를 true로\n //namespaced: true,\n\n state : {\n\n PROJECT_TYPE_TEXT : {\n \"service\": \"Service\",\n \"test\" : \"Test\",\n },\n submissionsInfo: {},\n\n },\n\n // state를 변경할수 있는 유일한 요소, action에서 호출\n mutations: {\n\n },\n\n actions: {\n\n /**\n * project list 를 가져옵니다\n * @param context\n * @param payload\n */\n\n\n //\n // async getProjectAuth(context, payload){\n // console.log(\"getProjectAuth payload\", payload);\n //\n // let param = {\n // alias: context.getters.getEnv,\n // admins_data: JSON.stringify(payload)}\n // let params = {queryStringParameters: param};\n // let getAdmins = await API.get('apiArgosDashboard', '/admin', params);\n // console.log(\"getAdmins\", getAdmins);\n // return getAdmins;\n // },\n\n async getProjectAdmins(context, payload){\n\n if( !payload || !payload.email ) {\n console.log( \"getProjectAdmins param error ::\", payload );\n return;\n }\n\n let param = {\n alias: context.getters.getEnv,\n requestType: \"admins_list\",\n admins_data: JSON.stringify(payload)\n };\n let params = {queryStringParameters: param };\n let getAdmins = {};\n try{\n getAdmins = await API.get('apiArgosDashboard', '/admin', params);\n }\n catch( e ) {\n console.log( \"error ::: \", e );\n }\n\n\n return getAdmins;\n },\n\n /**\n * get project data\n * @param context\n * @param payload\n * @returns {Promise}\n */\n async getProjectData(context, payload){\n if( !payload.project_id ) {\n console.log( \"getProjectData param[project_id] is null\" );\n return null;\n }\n // return await API.get('apiArgosDashboard', '/project', {queryStringParameters: {project_id: payload.project_id}});\n\n let param = {\n alias: context.getters.getEnv,\n requestType: 'project_data',\n projectId: payload.project_id\n };\n\n let projectData = await API.get('apiArgosDashboard', '/kybProject', { queryStringParameters: param });\n console.log(\"projectData res ::: \", JSON.stringify( projectData ));\n return projectData;\n },\n\n /**\n * 전체 프로젝트 리스트를 가져옵니다\n * @param context\n * @param payload\n * @returns {Promise<*[]|*>}\n */\n async getProjectAllList(context, payload) {\n\n let param = {\n alias: context.getters.getEnv,\n requestType: \"project_list\",\n project_data: JSON.stringify({} )\n };\n let projectList = await API.get('apiArgosDashboard', '/kybProject', {queryStringParameters: param });\n //console.log(\"get getProjectAllList response :: \", JSON.stringify( projectList ));\n\n return projectList;\n // if(projectList.value) return projectList.value;\n // else return [];\n },\n\n /**\n * project id list로 project list 를 가져옵니다\n * @param context\n * @param payload - 필수 : projectIdList\n * @returns {Promise<*[]|*>}\n */\n async getProjectList(context, payload) {\n if( !payload.projectIdList || payload.projectIdList.length == 0 ) {\n return [];\n }\n // return await API.get('apiArgosDashboard', '/project', {queryStringParameters: {projectIdList: payload.projectIdList}});\n let param = {\n alias: context.getters.getEnv,\n requestType: \"project_id_list\",\n project_data: JSON.stringify({ projectIdList: payload.projectIdList } )\n };\n let projectList = await API.get('apiArgosDashboard', '/kybProject', {queryStringParameters: param });\n console.log(\"get projectList response :: \", JSON.stringify( projectList ));\n\n return projectList || [];\n },\n downloadFile(context, payload){\n axios({\n method: 'get',\n url: payload.url,\n responseType: 'arraybuffer'\n }).then(res => {\n const url = window.URL.createObjectURL(new Blob([res.data]))\n const link = document.createElement('a')\n link.href = url\n link.setAttribute('download', decodeURI(decodeURI(payload.url.split('/').pop()))) //or any other extension\n document.body.appendChild(link)\n link.click()\n }).catch(err => {\n console.log(\"err\", err);\n })\n },\n\n async otpVerify(context, payload = {}){\n payload.requestType = 'verify';\n let params = {\n alias: context.getters.getEnv,\n otp_data: JSON.stringify(payload)\n };\n console.log(\"params in setOtpProperties\", params);\n let returnValue;\n\n try {\n returnValue = await API.get('apiArgosDashboard', '/otp', {queryStringParameters: params })\n console.log( \"otpVerify res ::\", returnValue )\n }\n catch( e ) {\n console.log( \"otpVerify error ::: \", e?.message )\n }\n return returnValue;\n },\n\n async resetOtp(context, payload = {}){\n\n payload.requestType = 'resetOtp';\n let params = {\n alias: context.getters.getEnv,\n otp_data: JSON.stringify(payload)\n };\n console.log(\"params in setOtpProperties\", params);\n let returnValue;\n\n try {\n returnValue = await API.get('apiArgosDashboard', '/otp', {queryStringParameters: params })\n console.log( \"resetOtp res ::\", returnValue )\n }\n catch( e ) {\n console.log( \"resetOtp error ::: \", e?.message )\n }\n return returnValue;\n },\n\n /**\n * otp 생성\n * @param context\n * @param payload\n * @returns {Promise<*>}\n */\n async createOtp(context, payload = {}){\n payload.requestType = \"setOtp\";\n let params = {\n alias: context.getters.getEnv,\n otp_data: JSON.stringify(payload)\n };\n console.log(\"params in setOtpProperties\", params);\n let returnValue;\n\n try {\n returnValue = await API.get('apiArgosDashboard', '/otp', {queryStringParameters: params })\n }\n catch( e ) {\n console.log( \"createOtp error ::: \", e?.message )\n }\n return returnValue;\n },\n\n /**\n * email알림 정보를 가져옵니다\n * @param context\n * @param payload\n * @returns {Promise<*>}\n */\n\n\n async emailNotification(context, payload) {\n\n let params = {\n queryStringParameters: {\n alias: context.getters.getEnv,\n requestType: 'emailNotification'\n },\n body: { emailNotification: payload.emailNotification}\n };\n let emailValue = {};\n try{\n emailValue = await API.post('apiArgosDashboard', '/adminV2', params);\n console.log(\"getAdmins res :: \", JSON.stringify( emailValue ));\n }\n catch( e ) {\n console.log( \"error ::: \", e );\n }\n\n return emailValue;\n },\n async kybWebhookInfo(context, payload) {\n\n let params = {\n queryStringParameters: {\n alias: context.getters.getEnv,\n projectId: payload.projectId\n },\n body: { webhookURL: payload.webhookURL}\n };\n\n let webhookValue = {};\n try{\n webhookValue = await API.post('apiArgosDashboard', '/kybProjectV2', params);\n }\n catch( e ) {\n console.log( \"error ::: \", e );\n }\n return webhookValue;\n },\n\n\n async deleteProject(context, payload) {\n try {\n let params = {\n body: {\n alias: context.getters.getEnv,\n projectId: payload.projectId,\n admin : payload.admin,\n comment : payload.comment\n }\n };\n return await API.post('apiArgosDashboard', '/presetKycProjectRemoval', params);\n } catch (e) {\n return {\n statusCode : e?.response?.status ?? 400,\n errorMessage : e?.response?.data?.message ?? \"Something went wrong\"\n }\n }\n },\n\n\n async duplicateProject(context,payload) {\n try {\n let params = {\n body: {\n alias: context.getters.getEnv,\n projectId: payload.projectId,\n projectName : payload.projectName,\n admin : payload.admin,\n }\n };\n return await API.post('apiArgosDashboard', '/duplicateKycProject', params);\n } catch (e) {\n return {\n statusCode : e?.response?.status ?? 400,\n errorMessage : e?.response?.data?.message ?? \"Something went wrong\"\n }\n }\n }\n\n\n\n },\n\n\n getters: {\n\n },\n\n}\n","\nexport default {\n\n // 모듈이 독립적이거나 재사용되기를 원한다면 namespaced를 true로\n //namespaced: true,\n\n state : {\n\n /**\n * DB에 저장되어있는 KEY값으로 TEXT 추출\n */\n ACTION_TYPE_TEXT : {\n KYB_CREATE : \"New Submission\",\n KYB_COMPLETE : \"Submission Complete\",\n DIRECTOR_CREATE : \"New Director\",\n DIRECTOR_COMPLETE : \"Director Complete\",\n SHAREHOLDER_CREATE : \"New Shareholder\",\n SHAREHOLDER_COMPLETE : \"Shareholder Complete\",\n },\n\n BADGE_COLOR : {\n KYB_CREATE : \"warning\",\n KYB_COMPLETE : \"primary\",\n DIRECTOR_CREATE : \"danger\",\n DIRECTOR_COMPLETE : \"danger\",\n SHAREHOLDER_CREATE : \"success\",\n SHAREHOLDER_COMPLETE : \"success\",\n },\n historyList: [],\n },\n\n // state를 변경할수 있는 유일한 요소, action에서 호출\n mutations: {\n\n setHistoryList ( state, list ) {\n state.historyList = list;\n },\n\n },\n\n actions: {\n\n /**\n * history list를 db에서 가져옵니다\n * @param context\n * @param payload\n */\n callHistoryApi ( context, payload ) {\n\n var AWS = require('aws-sdk');\n AWS.config.update({\n region: \"ap-northeast-2\",\n accessKeyId: context.rootState.storeOption.accessKeyId,\n secretAccessKey: context.rootState.storeOption.secretAccessKey\n });\n\n const docClient = new AWS.DynamoDB.DocumentClient(); //dynamodDB client\n\n /**\n * 검색조건\n */\n let params = {\n TableName: \"kyb-history\",\n ExpressionAttributeValues: {\":projectId\": payload.projectId},\n KeyConditionExpression: \"project_id=:projectId\"\n };\n\n // console.log(\"params in callHistoryApi\", params);\n\n docClient.query(params, (err, data) => {\n if (err) console.log(err);\n else{\n //console.log( \"callHistoryApi response ::: \", data )\n // Regex PhoneNumber Format && Change Date Format\n context.commit('setHistoryList', data.Items );\n };\n });\n },\n },\n\n\n /**\n * 결과값을 계산해야하는 경우가 있을 때 사용\n */\n getters: {\n\n getHistories ( state ) {\n return state.historyList || [];\n },\n },\n\n\n\n}","/**\n * vuetify default option 설정..\n * 현재 미사용\n */\nexport default {\n\n // 모듈이 독립적이거나 재사용되기를 원한다면 namespaced를 true로\n //namespaced: true,\n\n state : {\n fileInput: {\n dense: true,\n color: \"deep-purple accent-4\"\n }\n },\n\n\n}","import countryList from '@/core/config/country.js';\nimport Vue from 'vue';\n\n\nfunction makeCountryMap() {\n\n console.log( \"make country map ::\" )\n let countryObjs = {};\n\n\n /// i18n.locale = 'en' 일때와 'ko' 일때를 구분해서 처리해야함\n\n\n\n countryList.map( function( country, index ) {\n countryObjs[ country.value ] = country.label;\n } );\n\n return countryObjs;\n}\n\nfunction makeCountryObjList() {\n\n let tmpList = [];\n for(let obj of countryList){\n let newObj = {};\n newObj.label = obj.name;\n newObj.value = obj.value;\n newObj.text = obj.label;\n tmpList.push(newObj);\n }\n return tmpList;\n}\n\n\nexport default {\n state : {\n countryList: makeCountryObjList(), //외부에서 사용\n countryObjs : makeCountryMap(),\n\n },\n\n mutations : {\n\n },\n\n getters : {\n getCountryList(state) {\n return state.countryList.map((country) => {\n if (country.text === 'United states') {\n return {\n ...country,\n text: 'United States'\n }\n }\n return country\n }).sort((a, b) => a.text.localeCompare(b.text));\n },\n\n getCountryLabelByValue : state => ( key ) => {\n\n if( !key ) {\n return \"\";\n }\n // 소문자인 경우에 대문자로 변경\n key = key.toUpperCase();\n\n // 한번 가져온 이후에는 다시 가져오지 않도록 수정\n return state.countryObjs[key];\n }\n\n }\n\n}\n","/**\n * session key 를 정의합니다\n */\nexport default {\n\n state : {\n\n LOGIN_USER : \"user\",\n PROJECT_ID : \"project_id\",\n PROJECT_ID_KYC : \"project_id_kyc\",\n SELECTED_PROJECT_ID : \"selected_project_id\", //현재 선택되어있는 프로젝트 아이디\n SELECTED_PROJECT_ID_KYC : \"selected_project_id_kyc\", //현재 선택되어있는 프로젝트 아이디\n\n PROJECT_OBJECT : \"project_object\",\n\n PROJECT_ID_LIST : \"projectIdList\",\n PROJECT_ID_LIST_KYC: \"projectIdListKyc\",\n\n PROJECT_LIST : \"projectList\",\n\n SUBMISSION_ID : \"submissionId\",\n ADD_ON_ID : \"addOnId\",\n\n SUBMISSION_VALUE : \"submissionValue\"\n\n },\n\n mutation : {\n\n },\n\n}\n","\nexport default {\n state: {\n\n s3UrlQa : \"https://kyb-console92837-qaaa.s3.ap-northeast-2.amazonaws.com/public/\",\n s3UrlDev : \"https://kyb-console130322-dev.s3.ap-northeast-2.amazonaws.com/public/\",\n\n\n s3HostQa : \"https://kyb-console92837-qaaa.s3.ap-northeast-2.amazonaws.com/\",\n s3HostDev : \"https://kyb-console130322-dev.s3.ap-northeast-2.amazonaws.com/\",\n\n formUrlLive : \"https://form.argosidentity.com\",\n formUrlQa : \"https://form-qa.argosidentity.net\",\n formUrlDev : \"https://form-dev.argosidentity.net\",\n\n liveAPIBaseURL : \"https://rest-api.argosidentity.com\",\n devAPIBaseURL : \"https://test-api.argosidentity.com\",\n },\n getters: {\n\n\n getEnv () {\n\n //dev, qa, live\n let host = location.host;\n if( host.includes( \"localhost\" ) || host.includes( \"dev\" ) || host.includes( \"idcheck-local\" )) {\n return \"dev\";\n }\n else if( host.includes( \"admin-qa.argosidentity.com\" ) || host.includes( \"idcheck-qa.argosidentity.net\" )) {\n return \"live\";\n }\n else if(host.includes('admin.argosidentity.com') || host.includes('idcheck.argosidentity.com')){\n return \"live\";\n }\n\n else {\n return \"dev\";\n }\n\n },\n getAPIBaseURL (state, getters ) {\n let env = getters.getEnv;\n if( env === \"dev\" ) {\n return state.devAPIBaseURL;\n }\n return state.liveAPIBaseURL\n },\n\n getFormUrl (state, getters ) {\n\n let env = getters.getEnv;\n\n if( env === \"dev\" ) {\n return state.formUrlDev;\n }\n if( env === \"qa\" ) {\n return state.formUrlQa;\n }\n\n return state.formUrlLive;\n },\n\n getS3Url ( state ) {\n\n let host = location.host;\n if( host.includes( \"localhost\" ) || host.includes( \"idcheck-local\" )) {\n\n return state.s3UrlDev;\n }\n return state.s3UrlQa;\n },\n\n getS3Host ( state ) {\n\n let host = location.host;\n if( host.includes( \"localhost\" ) || host.includes( \"idcheck-local\" )) {\n return state.s3HostDev;\n }\n return state.s3HostQa;\n }\n\n },\n actions: {\n\n },\n mutations: {\n }\n};\n","\nexport default {\n state : {\n\n represent : {\n \"ceo\" : \"CEO\",\n \"delegate\" : \"Delegate\"\n }\n },\n}","/**\n * 로그인 사용자가 현재 접속중인 설정값들을 저장하는 스토어입니다\n * ex)\n * selected project id,\n * selected project object ( db에서 가져온 값)\n * accessable project list\n */\n\nimport Vue from 'vue';\nimport axios from \"axios\";\nimport { API } from \"aws-amplify\";\n\nexport default {\n\n // 모듈이 독립적이거나 재사용되기를 원한다면 namespaced를 true로\n //namespaced: true,\n\n state : {\n isUserDashboard: false,\n isGuestKYB: false, // adminRole에 관리자 권한은 없지만 projects에 KYB 프로젝트가 존재\n isGuestKYC: false, // adminRole에 관리자 권한은 없지만 projects에 KYC 프로젝트가 존재\n selectedProjectId : \"\", //선택된 프로젝트 id\n selectedProjectObject : {}, //선택된 프로젝트 정보, (kyc, kyb key 형식이 같은 공통으로 사용하는 object)\n selectedProjectDetail : {}, //선택된 프로젝트 디테일정보 (kyb, kyc 형식이 다르지만 더 많은 정보를 가지고있습니다)\n\n // 사용자가 접근가능한 프로젝트 정보 (admin 테이블에서 가져오므로 디테일정보는 포함하지 않습니다)\n projectSimpleInfoList : [],\n\n },\n\n // state를 변경할수 있는 유일한 요소, action에서 호출\n mutations: {\n\n setSelectedProjectDetail( state, projectObject ) {\n if( Vue.prototype.$isEmptyObject( projectObject ) ) {\n state.selectedProjectDetail = {};\n return;\n }\n state.selectedProjectDetail = projectObject;\n },\n\n setSelectedProject ( state, projectObject ) {\n if( Vue.prototype.$isEmptyObject( projectObject )\n || !projectObject.id ) {\n state.selectedProjectObject = {};\n state.selectedProjectId = \"\";\n return;\n }\n\n state.selectedProjectObject = projectObject;\n state.selectedProjectId = projectObject.id;\n\n console.log( \"selected project 설정완료 ::: \", state )\n },\n\n setProjectSimpleInfoList( state, projectList ) {\n if( !projectList || projectList.length === 0 ) {\n return;\n }\n state.projectSimpleInfoList = projectList;\n },\n\n setSelectedProjectObject ( state, payload ) {\n state.projectIdList = payload;\n },\n\n /**\n * 관리자일 경우 set admin properties\n * @param state\n * @param payload : adminRole list\n */\n setAdminProperties(state, payload){\n\n if( !payload || payload.length == 0 ) {\n state.isUserDashboard = false;\n return;\n }\n console.log(\"payload in setAdminProperties\", payload);\n state.isUserDashboard = payload.indexOf('Dashboard') > -1;\n },\n\n /**\n * guest지만 관리하는 프로젝트가 있는경우\n * @param state\n * @param payload : project list\n */\n setGuestProperties(state, payload){\n\n if( !payload || payload.length == 0 ) {\n state.isGuestKYB = false, state.isGuestKYC = false;\n return;\n }\n\n let kybProjects = payload.filter( project => project.type == \"KYB\" );\n let kycProjects = payload.filter( project => project.type == \"KYC\" );\n\n state.isGuestKYB = ( kybProjects.length > 0 ) ;\n state.isGuestKYC = ( kycProjects.length > 0 ) ;\n }\n\n },\n\n actions: {\n\n /**\n * 나의 ip를 가져오는 api 호출\n */\n async callIpApi(context, payload) {\n let result = await API.get( 'apiArgosDashboard',`/getIp?alias=${payload.env}` ,{});\n if( result?.statusCode !== 200 ) {\n return \"\";\n }\n return result?.ip;\n },\n\n /**\n * 선택된 project 정보를 받아와 state에 저장\n * kyc, kyb 의 데이터 형식이 다르므로 아래와 같이 키값을 통일\n * example ) { id : \"111\", name : \"argos test\", type : \"KYC\" }\n * @param context\n * @param payload\n */\n setSelectedProject( context, payload ) {\n context.commit( \"setSelectedProject\", payload );\n },\n\n /**\n * 가져온 그대로의 프로젝트 정보룰 저장합니다 ( kyc, kyb type별로 key 형식이 다릅니다)\n * @param context\n * @param payload\n */\n setSelectedProjectDetail( context, payload ) {\n context.commit( \"setSelectedProjectDetail\", payload );\n },\n\n\n setProjectSimpleInfoList( context, pList ) {\n context.commit( \"setProjectSimpleInfoList\", pList );\n },\n\n setAdminProperties(context, list){\n context.commit('setAdminProperties', list);\n },\n\n setGuestProperties(context, list){\n context.commit('setGuestProperties', list);\n },\n\n\n\n },\n\n\n getters: {\n\n getProjectSimpleInfoList( state ) {\n return state.projectSimpleInfoList;\n },\n\n getSelectedProjectId ( state ) {\n return state.selectedProjectId;\n },\n\n getSelectedProjectObject ( state ) {\n return state.selectedProjectObject;\n },\n\n getSelectedProjectDetail ( state ) {\n return state.selectedProjectDetail;\n },\n\n getUserRole( state ) {\n return {\n isGuestKYB : state.isGuestKYB,\n isGuestKYC : state.isGuestKYC,\n isUserDashboard : state.isUserDashboard,\n }\n },\n\n\n },\n\n}\n","import TIME_ZONE_LIST from \"@/core/config/time.zone.json\";\nimport {API} from 'aws-amplify';\n\nconst sliceLang = navigator.language.slice(0,2);\nconst getStoredTimezone = () => {\n const storedTz = sessionStorage.getItem('tz');\n return storedTz ? JSON.parse(storedTz) : null;\n};\n\nexport default {\n state: {\n selectedLang: getStoredTimezone() ||\n TIME_ZONE_LIST.find((time) => time.timezone === Intl.DateTimeFormat().resolvedOptions().timeZone) ||\n TIME_ZONE_LIST.find((time) => time.value === navigator.language) ||\n TIME_ZONE_LIST.find((time) => time.value.includes(sliceLang)),\n },\n getters: {\n getSelectedLang: state => {\n return state.selectedLang;\n },\n },\n actions: {\n setSelectedLanguage({ commit }, selectedLang) {\n commit('setSelectedLanguage', selectedLang);\n sessionStorage.setItem('tz', JSON.stringify(selectedLang));\n },\n async getTimeZone(context, payload) {\n const params = {\n queryStringParameters: {\n alias: context.getters.getEnv,\n email: context.getters.currentLoginUser.email,\n type: 'get'\n }\n }\n return await API.get('apiArgosDashboard', '/timezone', params);\n },\n async setTimeZone(context, payload) {\n const params = {\n body: {\n alias: context.getters.getEnv,\n email: context.getters.currentLoginUser.email,\n type: 'update',\n timezone: payload.timezone,\n ...(payload.issuingCountry && ({ issuingCountry: payload.issuingCountry })),\n ...(payload.phoneNumber && ({ phoneNumber: payload.phoneNumber })),\n }\n }\n\n const response = await API.post('apiArgosDashboard', '/timezone', params);\n if (response.success) {\n const updatedLang = TIME_ZONE_LIST.find(time => time.timezone === payload.timezone) || context.state.selectedLang;\n context.dispatch('setSelectedLanguage', updatedLang);\n sessionStorage.setItem('tz', JSON.stringify(updatedLang));\n }\n return response;\n }\n },\n mutations: {\n setSelectedLanguage(state, selectedLang) {\n state.selectedLang = selectedLang;\n }\n }\n};","const storeOption = {\n namespaced: true,\n state: {\n accessKeyId: \"AKIA37O6XGDZJAF5KGMC\",\n secretAccessKey: \"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\",\n projectValue: {},\n\n\n\n\n STATUS_TEXT: {\n \"complete\": \"Complete\",\n \"open\": \"Open\"\n }\n },\n getters: {\n ACCESS_KEY_ID: (state) => {return state.accessKeyId},\n SECRET_ACCESS_KEY: (state) => {return state.secretAccessKey},\n PROJECT_VALUE: (state) => {return state.projectValue}\n // getAccessKeyId(){return this.state.accessKeyId},\n // getSecretAccessKey(){return this.state.secretAccessKey}\n },\n mutations: {\n MUT_PROJECT_VALUE: (state, payload) => {\n state.projectValue = payload;\n },\n },\n actions: {\n ACT_PROJECT_VALUE: function({commit}, payload){\n commit(\"MUT_PROJECT_VALUE\", payload);\n }\n }\n}\n\nexport default storeOption;\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\n\n//import auth from \"./auth.module\";\nimport htmlClass from \"./htmlclass.module\";\nimport config from \"./config.module\";\nimport breadcrumbs from \"./breadcrumbs.module\";\nimport profile from \"./profile.module\";\nimport submission from \"./submission.module\";\nimport projectModule from \"./project.module\";\nimport historyModule from \"./history.module\";\nimport vuetifyModule from \"./vuetify.module\";\nimport countryModule from './country.module';\nimport sessionKey from './session-key.module';\nimport envModule from './env.module';\nimport kybModule from './kyb.module';\nimport kycModule from './kyc.module';\nimport roleModule from './role.module';\nimport formattedTimeModule from './formattedtime.module'\nimport CreatePersistedState from 'vuex-persistedstate';\n\nimport storeOption from \"./store\";\n\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n\n plugins : [\n CreatePersistedState( {\n storage : window.sessionStorage, //저장소는 session storage (브라우저가 닫히면 소멸)\n paths : [\"breadcrumbs\", \"roleModule\", \"profile\"]\n } )\n ],\n state : {\n\n // user email info\n\n email: null,\n\n // kyb status 기본옵션 (submission, profile 등)\n KYB_STATUS_OPTIONS : [\n { value: \"open\", text: 'Open' },\n { value: \"complete\", text: 'Complete' },\n ],\n\n // kyb status 기본옵션 (submission, profile 등)\n KYB_PROJECT_STATUS_OPTIONS : [\n { value: \"open\", text: 'Open' },\n { value: \"complete\", text: 'Complete' },\n { value: \"closed\", text: 'Closed' },\n ],\n\n\n KYB_PROJECT_STATUS_TEXT : {\n complete : \"Complete\",// 기존의 approved\n open : \"Open\", // 기존의 pending\n closed : \"Closed\", // 기존의 rejected\n },\n\n // kyb project status는 closed 타입 존재\n KYB_PROJECT_STATUS_KEYS : {\n complete : \"complete\",// 기존의 approved\n open : \"open\", // 기존의 pending\n closed : \"closed\", // 기존의 rejected\n },\n\n KYB_STATUS_COLOR : {\n complete : \"green\",// 기존의 approved\n open : \"red\", // 기존의 pending\n closed : \"orange\", // 기존의 rejected\n },\n\n\n ID_TYPE : {\n \"passport\" : \"Passport\",\n \"government_id\" : \"Government ID\",\n \"drivers_license\" : \"Drivers License\",\n \"residence_permit\" : \"Residence Permit\",\n \"vehicle_registration_certificate\" : \"Vehicle Registration Certificate\",\n \"visa\" : \"VISA\",\n \"aadhaar\" : \"AADHAAR\",\n \"pancard\" : \"PANCARD\",\n }\n },\n mutations: {\n setEmail(state, email) {\n state.email = email;\n },\n },\n actions: {\n setEmail({ commit }, email) {\n commit(\"setEmail\", email);\n },\n },\n modules: {\n //auth,\n htmlClass,\n config,\n breadcrumbs,\n profile,\n submission,\n projectModule,\n historyModule,\n vuetifyModule,\n countryModule,\n sessionKey,\n envModule,\n kybModule,\n kycModule,\n roleModule,\n storeOption,\n formattedTimeModule,\n }\n});\n\nexport default store;\n","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTMenu = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n // scrollable area with Perfect Scroll\n scroll: {\n rememberPosition: false\n },\n\n // accordion submenu mode\n accordion: {\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\n autoScroll: false, // enable auto scrolling(focus) to the clicked menu item\n autoScrollSpeed: 1200,\n expandAll: true // allow having multiple expanded accordions in the menu\n },\n\n // dropdown submenu mode\n dropdown: {\n timeout: 500 // timeout in milliseconds to show and hide the hoverable submenu dropdown\n }\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Run plugin\n * @returns {KTMenu}\n */\n construct: function(options) {\n if (KTUtil.data(element).has('menu')) {\n the = KTUtil.data(element).get('menu');\n } else {\n // reset menu\n Plugin.init(options);\n\n // reset menu\n Plugin.reset();\n\n // build menu\n Plugin.build();\n\n KTUtil.data(element).set('menu', the);\n }\n\n return the;\n },\n\n /**\n * Handles submenu click toggle\n * @returns {KTMenu}\n */\n init: function(options) {\n the.events = [];\n\n the.eventHandlers = {};\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n\n // pause menu\n the.pauseDropdownHoverTime = 0;\n\n the.uid = KTUtil.getUniqueID();\n },\n\n update: function(options) {\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n\n // pause menu\n the.pauseDropdownHoverTime = 0;\n\n // reset menu\n Plugin.reset();\n\n the.eventHandlers = {};\n\n // build menu\n Plugin.build();\n\n KTUtil.data(element).set('menu', the);\n },\n\n reload: function() {\n // reset menu\n Plugin.reset();\n\n // build menu\n Plugin.build();\n\n // reset submenu props\n Plugin.resetSubmenuProps();\n },\n\n /**\n * Reset menu\n * @returns {KTMenu}\n */\n build: function() {\n // General accordion submenu toggle\n the.eventHandlers['event_1'] = KTUtil.on( element, '.menu-toggle', 'click', Plugin.handleSubmenuAccordion);\n\n // Dropdown mode(hoverable)\n if (Plugin.getSubmenuMode() === 'dropdown' || Plugin.isConditionalSubmenuDropdown()) {\n // dropdown submenu - hover toggle\n the.eventHandlers['event_2'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseover', Plugin.handleSubmenuDrodownHoverEnter);\n the.eventHandlers['event_3'] = KTUtil.on( element, '[data-menu-toggle=\"hover\"]', 'mouseout', Plugin.handleSubmenuDrodownHoverExit);\n\n // dropdown submenu - click toggle\n the.eventHandlers['event_4'] = KTUtil.on( element, '[data-menu-toggle=\"click\"] > .menu-toggle, [data-menu-toggle=\"click\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownClick);\n the.eventHandlers['event_5'] = KTUtil.on( element, '[data-menu-toggle=\"tab\"] > .menu-toggle, [data-menu-toggle=\"tab\"] > .menu-link .menu-toggle', 'click', Plugin.handleSubmenuDropdownTabClick);\n }\n\n // Handle general link click\n the.eventHandlers['event_6'] = KTUtil.on(element, '.menu-item > .menu-link:not(.menu-toggle):not(.menu-link-toggle-skip)', 'click', Plugin.handleLinkClick);\n\n // Init scrollable menu\n if (the.options.scroll && the.options.scroll.height) {\n Plugin.scrollInit();\n }\n },\n\n /**\n * Reset menu\n * @returns {KTMenu}\n */\n reset: function() {\n KTUtil.off( element, 'click', the.eventHandlers['event_1']);\n\n // dropdown submenu - hover toggle\n KTUtil.off( element, 'mouseover', the.eventHandlers['event_2']);\n KTUtil.off( element, 'mouseout', the.eventHandlers['event_3']);\n\n // dropdown submenu - click toggle\n KTUtil.off( element, 'click', the.eventHandlers['event_4']);\n KTUtil.off( element, 'click', the.eventHandlers['event_5']);\n\n // handle link click\n KTUtil.off(element, 'click', the.eventHandlers['event_6']);\n },\n\n /**\n * Init scroll menu\n *\n */\n scrollInit: function() {\n if ( the.options.scroll && the.options.scroll.height ) {\n KTUtil.scrollDestroy(element, true);\n KTUtil.scrollInit(element, {mobileNativeScroll: true, windowScroll: false, resetHeightOnDestroy: true, handleWindowResize: true, height: the.options.scroll.height, rememberPosition: the.options.scroll.rememberPosition});\n } else {\n KTUtil.scrollDestroy(element, true);\n }\n },\n\n /**\n * Update scroll menu\n */\n scrollUpdate: function() {\n if ( the.options.scroll && the.options.scroll.height ) {\n KTUtil.scrollUpdate(element);\n }\n },\n\n /**\n * Scroll top\n */\n scrollTop: function() {\n if ( the.options.scroll && the.options.scroll.height ) {\n KTUtil.scrollTop(element);\n }\n },\n\n /**\n * Get submenu mode for current breakpoint and menu state\n * @returns {KTMenu}\n */\n getSubmenuMode: function(el) {\n if ( KTUtil.isBreakpointUp('lg') ) {\n if (el && KTUtil.hasAttr(el, 'data-menu-toggle') && KTUtil.attr(el, 'data-menu-toggle') == 'hover') {\n return 'dropdown';\n }\n\n if ( KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\n if ( KTUtil.hasClasses(body, the.options.submenu.desktop.state.body) ) {\n return the.options.submenu.desktop.state.mode;\n } else {\n return the.options.submenu.desktop.default;\n }\n } else if ( KTUtil.isset(the.options.submenu, 'desktop') ) {\n return the.options.submenu.desktop;\n }\n } else if ( KTUtil.isBreakpointUp('md') && KTUtil.isBreakpointDown('lg') && KTUtil.isset(the.options.submenu, 'tablet') ) {\n return the.options.submenu.tablet;\n } else if ( KTUtil.isBreakpointDown('md') && KTUtil.isset(the.options.submenu, 'mobile') ) {\n return the.options.submenu.mobile;\n } else {\n return false;\n }\n },\n\n /**\n * Get submenu mode for current breakpoint and menu state\n * @returns {KTMenu}\n */\n isConditionalSubmenuDropdown: function() {\n if ( KTUtil.isBreakpointUp('lg') && KTUtil.isset(the.options.submenu, 'desktop.state.body') ) {\n return true;\n } else {\n return false;\n }\n },\n\n\n /**\n * Reset submenu attributes\n * @returns {KTMenu}\n */\n resetSubmenuProps: function(e) {\n var submenus = KTUtil.findAll(element, '.menu-submenu');\n if ( submenus ) {\n for (var i = 0, len = submenus.length; i < len; i++) {\n var submenu = submenus[0];\n\n KTUtil.css(submenu, 'display', '');\n KTUtil.css(submenu, 'overflow', '');\n\n if (submenu.hasAttribute('data-hor-direction')) {\n KTUtil.removeClass(submenu, 'menu-submenu-left');\n KTUtil.removeClass(submenu, 'menu-submenu-right');\n KTUtil.addClass(submenu, submenu.getAttribute('data-hor-direction'));\n }\n }\n }\n },\n\n /**\n * Handles submenu hover toggle\n * @returns {KTMenu}\n */\n handleSubmenuDrodownHoverEnter: function(e) {\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\n return;\n }\n\n if ( the.resumeDropdownHover() === false ) {\n return;\n }\n\n var item = this;\n\n if ( item.getAttribute('data-hover') == '1' ) {\n item.removeAttribute('data-hover');\n clearTimeout( item.getAttribute('data-timeout') );\n item.removeAttribute('data-timeout');\n }\n\n Plugin.showSubmenuDropdown(item);\n },\n\n /**\n * Handles submenu hover toggle\n * @returns {KTMenu}\n */\n handleSubmenuDrodownHoverExit: function(e) {\n if ( the.resumeDropdownHover() === false ) {\n return;\n }\n\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\n return;\n }\n\n var item = this;\n var time = the.options.dropdown.timeout;\n\n var timeout = setTimeout(function() {\n if ( item.getAttribute('data-hover') == '1' ) {\n Plugin.hideSubmenuDropdown(item, true);\n }\n }, time);\n\n item.setAttribute('data-hover', '1');\n item.setAttribute('data-timeout', timeout);\n },\n\n /**\n * Handles submenu click toggle\n * @returns {KTMenu}\n */\n handleSubmenuDropdownClick: function(e) {\n if ( Plugin.getSubmenuMode(this) === 'accordion' ) {\n return;\n }\n\n var item = this.closest('.menu-item');\n\n // Trigger click event handlers\n var result = Plugin.eventTrigger('submenuToggle', this, e);\n if (result === false) {\n return;\n }\n\n if ( item.getAttribute('data-menu-submenu-mode') == 'accordion' ) {\n return;\n }\n\n if ( KTUtil.hasClass(item, 'menu-item-hover') === false ) {\n KTUtil.addClass(item, 'menu-item-open-dropdown');\n Plugin.showSubmenuDropdown(item);\n } else {\n KTUtil.removeClass(item, 'menu-item-open-dropdown' );\n Plugin.hideSubmenuDropdown(item, true);\n }\n\n e.preventDefault();\n },\n\n /**\n * Handles tab click toggle\n * @returns {KTMenu}\n */\n handleSubmenuDropdownTabClick: function(e) {\n if (Plugin.getSubmenuMode(this) === 'accordion') {\n return;\n }\n var item = this.closest('.menu-item');\n\n // Trigger click event handlers\n var result = Plugin.eventTrigger('submenuToggle', this, e);\n if (result === false) {\n return;\n }\n\n if (item.getAttribute('data-menu-submenu-mode') == 'accordion') {\n return;\n }\n\n if (KTUtil.hasClass(item, 'menu-item-hover') == false) {\n KTUtil.addClass(item, 'menu-item-open-dropdown');\n Plugin.showSubmenuDropdown(item);\n }\n\n e.preventDefault();\n },\n\n /**\n * Handles link click\n * @returns {KTMenu}\n */\n handleLinkClick: function(e) {\n var submenu = this.closest('.menu-item.menu-item-submenu');\n\n // Trigger click event handlers\n var result = Plugin.eventTrigger('linkClick', this, e);\n if (result === false) {\n return;\n }\n\n if ( submenu && Plugin.getSubmenuMode(submenu) === 'dropdown' ) {\n Plugin.hideSubmenuDropdowns();\n }\n },\n\n /**\n * Handles submenu dropdown close on link click\n * @returns {KTMenu}\n */\n handleSubmenuDropdownClose: function(e, el) {\n // exit if its not submenu dropdown mode\n if (Plugin.getSubmenuMode(el) === 'accordion') {\n return;\n }\n\n var shown = element.querySelectorAll('.menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)');\n\n // check if currently clicked link's parent item ha\n if (shown.length > 0 && KTUtil.hasClass(el, 'menu-toggle') === false && el.querySelectorAll('.menu-toggle').length === 0) {\n // close opened dropdown menus\n for (var i = 0, len = shown.length; i < len; i++) {\n Plugin.hideSubmenuDropdown(shown[0], true);\n }\n }\n },\n\n /**\n * helper functions\n * @returns {KTMenu}\n */\n handleSubmenuAccordion: function(e, el) {\n var query;\n var item = el ? el : this;\n\n // Trigger click event handlers\n var result = Plugin.eventTrigger('submenuToggle', this, e);\n if (result === false) {\n return;\n }\n\n if ( Plugin.getSubmenuMode(el) === 'dropdown' && (query = item.closest('.menu-item') ) ) {\n if (query.getAttribute('data-menu-submenu-mode') != 'accordion' ) {\n e.preventDefault();\n return;\n }\n }\n\n var li = item.closest('.menu-item');\n var submenu = KTUtil.child(li, '.menu-submenu, .menu-inner');\n\n if (KTUtil.hasClass(item.closest('.menu-item'), 'menu-item-open-always')) {\n return;\n }\n\n if ( li && submenu ) {\n e.preventDefault();\n var speed = the.options.accordion.slideSpeed;\n var hasClosables = false;\n\n if ( KTUtil.hasClass(li, 'menu-item-open') === false ) {\n // hide other accordions\n if ( the.options.accordion.expandAll === false ) {\n var subnav = item.closest('.menu-nav, .menu-subnav');\n var closables = KTUtil.children(subnav, '.menu-item.menu-item-open.menu-item-submenu:not(.menu-item-here):not(.menu-item-open-always)');\n\n if ( subnav && closables ) {\n for (var i = 0, len = closables.length; i < len; i++) {\n var el_ = closables[0];\n var submenu_ = KTUtil.child(el_, '.menu-submenu');\n if ( submenu_ ) {\n KTUtil.slideUp(submenu_, speed, function() {\n Plugin.scrollUpdate();\n KTUtil.removeClass(el_, 'menu-item-open');\n });\n }\n }\n }\n }\n\n KTUtil.slideDown(submenu, speed, function() {\n Plugin.scrollToItem(item);\n Plugin.scrollUpdate();\n\n Plugin.eventTrigger('submenuToggle', submenu, e);\n });\n\n KTUtil.addClass(li, 'menu-item-open');\n\n } else {\n KTUtil.slideUp(submenu, speed, function() {\n Plugin.scrollToItem(item);\n Plugin.scrollUpdate();\n Plugin.eventTrigger('submenuToggle', submenu, e);\n });\n\n KTUtil.removeClass(li, 'menu-item-open');\n }\n }\n },\n\n /**\n * scroll to item function\n * @returns {KTMenu}\n */\n scrollToItem: function(item) {\n // handle auto scroll for accordion submenus\n if ( KTUtil.isBreakpointUp('lg') && the.options.accordion.autoScroll && element.getAttribute('data-menu-scroll') !== '1' ) {\n KTUtil.scrollTo(item, the.options.accordion.autoScrollSpeed);\n }\n },\n\n /**\n * Hide submenu dropdown\n * @returns {KTMenu}\n */\n hideSubmenuDropdown: function(item, classAlso) {\n // remove submenu activation class\n if ( classAlso ) {\n KTUtil.removeClass(item, 'menu-item-hover');\n KTUtil.removeClass(item, 'menu-item-active-tab');\n }\n\n // clear timeout\n item.removeAttribute('data-hover');\n\n if ( item.getAttribute('data-menu-toggle-class') ) {\n KTUtil.removeClass(body, item.getAttribute('data-menu-toggle-class'));\n }\n\n var timeout = item.getAttribute('data-timeout');\n item.removeAttribute('data-timeout');\n clearTimeout(timeout);\n },\n\n /**\n * Hide submenu dropdowns\n * @returns {KTMenu}\n */\n hideSubmenuDropdowns: function() {\n var items;\n if ( items = element.querySelectorAll('.menu-item-submenu.menu-item-hover:not(.menu-item-tabs):not([data-menu-toggle=\"tab\"])') ) {\n for (var j = 0, cnt = items.length; j < cnt; j++) {\n Plugin.hideSubmenuDropdown(items[j], true);\n }\n }\n },\n\n /**\n * helper functions\n * @returns {KTMenu}\n */\n showSubmenuDropdown: function(item) {\n // close active submenus\n var list = element.querySelectorAll('.menu-item-submenu.menu-item-hover, .menu-item-submenu.menu-item-active-tab');\n\n if ( list ) {\n for (var i = 0, len = list.length; i < len; i++) {\n var el = list[i];\n if ( item !== el && el.contains(item) === false && item.contains(el) === false ) {\n Plugin.hideSubmenuDropdown(el, true);\n }\n }\n }\n\n // add submenu activation class\n KTUtil.addClass(item, 'menu-item-hover');\n\n // Change the alignment of submenu is offscreen.\n var submenu = KTUtil.find(item, '.menu-submenu');\n\n if (submenu && submenu.hasAttribute('data-hor-direction') === false) {\n if (KTUtil.hasClass(submenu, 'menu-submenu-left')) {\n submenu.setAttribute('data-hor-direction', 'menu-submenu-left');\n } else if (KTUtil.hasClass(submenu, 'menu-submenu-right')) {\n submenu.setAttribute('data-hor-direction', 'menu-submenu-right');\n }\n }\n\n if ( submenu && KTUtil.isOffscreen(submenu, 'left', 15) === true ) {\n KTUtil.removeClass(submenu, 'menu-submenu-left');\n KTUtil.addClass(submenu, 'menu-submenu-right');\n } else if ( submenu && KTUtil.isOffscreen(submenu, 'right', 15) === true ) {\n KTUtil.removeClass(submenu, 'menu-submenu-right');\n KTUtil.addClass(submenu, 'menu-submenu-left');\n }\n\n if ( item.getAttribute('data-menu-toggle-class') ) {\n KTUtil.addClass(body, item.getAttribute('data-menu-toggle-class'));\n }\n },\n\n /**\n * Handles submenu slide toggle\n * @returns {KTMenu}\n */\n createSubmenuDropdownClickDropoff: function(el) {\n var query;\n var zIndex = (query = KTUtil.child(el, '.menu-submenu') ? KTUtil.css(query, 'z-index') : 0) - 1;\n\n var dropoff = document.createElement('
');\n\n body.appendChild(dropoff);\n\n KTUtil.addEvent(dropoff, 'click', function(e) {\n e.stopPropagation();\n e.preventDefault();\n KTUtil.remove(this);\n Plugin.hideSubmenuDropdown(el, true);\n });\n },\n\n /**\n * Handles submenu hover toggle\n * @returns {KTMenu}\n */\n pauseDropdownHover: function(time) {\n var date = new Date();\n\n the.pauseDropdownHoverTime = date.getTime() + time;\n },\n\n /**\n * Handles submenu hover toggle\n * @returns {KTMenu}\n */\n resumeDropdownHover: function() {\n var date = new Date();\n\n return (date.getTime() > the.pauseDropdownHoverTime ? true : false);\n },\n\n /**\n * Reset menu's current active item\n * @returns {KTMenu}\n */\n resetActiveItem: function(item) {\n var list;\n var parents;\n\n list = element.querySelectorAll('.menu-item-active');\n\n for (var i = 0, len = list.length; i < len; i++) {\n var el = list[0];\n KTUtil.removeClass(el, 'menu-item-active');\n KTUtil.hide( KTUtil.child(el, '.menu-submenu') );\n parents = KTUtil.parents(el, '.menu-item-submenu') || [];\n\n for (var i_ = 0, len_ = parents.length; i_ < len_; i_++) {\n var el_ = parents[i];\n KTUtil.removeClass(el_, 'menu-item-open');\n KTUtil.hide( KTUtil.child(el_, '.menu-submenu') );\n }\n }\n\n // close open submenus\n if ( the.options.accordion.expandAll === false ) {\n if ( list = element.querySelectorAll('.menu-item-open') ) {\n for (var i = 0, len = list.length; i < len; i++) {\n KTUtil.removeClass(parents[0], 'menu-item-open');\n }\n }\n }\n },\n\n /**\n * Sets menu's active item\n * @returns {KTMenu}\n */\n setActiveItem: function(item) {\n // reset current active item\n Plugin.resetActiveItem();\n\n var parents = KTUtil.parents(item, '.menu-item-submenu') || [];\n for (var i = 0, len = parents.length; i < len; i++) {\n KTUtil.addClass(parents[i], 'menu-item-open');\n }\n\n KTUtil.addClass(item, 'menu-item-active');\n },\n\n /**\n * Returns page breadcrumbs for the menu's active item\n * @returns {KTMenu}\n */\n getBreadcrumbs: function(item) {\n var query;\n var breadcrumbs = [];\n var link = KTUtil.child(item, '.menu-link');\n\n breadcrumbs.push({\n text: (query = KTUtil.child(link, '.menu-text') ? query.innerHTML : ''),\n title: link.getAttribute('title'),\n href: link.getAttribute('href')\n });\n\n var parents = KTUtil.parents(item, '.menu-item-submenu');\n for (var i = 0, len = parents.length; i < len; i++) {\n var submenuLink = KTUtil.child(parents[i], '.menu-link');\n\n breadcrumbs.push({\n text: (query = KTUtil.child(submenuLink, '.menu-text') ? query.innerHTML : ''),\n title: submenuLink.getAttribute('title'),\n href: submenuLink.getAttribute('href')\n });\n }\n\n return breadcrumbs.reverse();\n },\n\n /**\n * Returns page title for the menu's active item\n * @returns {KTMenu}\n */\n getPageTitle: function(item) {\n var query;\n\n return (query = KTUtil.child(item, '.menu-text') ? query.innerHTML : '');\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name, target, e) {\n for (var i = 0; i < the.events.length; i++ ) {\n var event = the.events[i];\n if ( event.name == name ) {\n if ( event.one == true ) {\n if ( event.fired == false ) {\n the.events[i].fired = true;\n return event.handler.call(this, target, e);\n }\n } else {\n return event.handler.call(this, target, e);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n },\n\n removeEvent: function(name) {\n if (the.events[name]) {\n delete the.events[name];\n }\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Update scroll\n */\n the.scrollUpdate = function() {\n return Plugin.scrollUpdate();\n };\n\n /**\n * Re-init scroll\n */\n the.scrollReInit = function() {\n return Plugin.scrollInit();\n };\n\n /**\n * Scroll top\n */\n the.scrollTop = function() {\n return Plugin.scrollTop();\n };\n\n /**\n * Set active menu item\n */\n the.setActiveItem = function(item) {\n return Plugin.setActiveItem(item);\n };\n\n the.reload = function() {\n return Plugin.reload();\n };\n\n the.update = function(options) {\n return Plugin.update(options);\n };\n\n /**\n * Set breadcrumb for menu item\n */\n the.getBreadcrumbs = function(item) {\n return Plugin.getBreadcrumbs(item);\n };\n\n /**\n * Set page title for menu item\n */\n the.getPageTitle = function(item) {\n return Plugin.getPageTitle(item);\n };\n\n /**\n * Get submenu mode\n */\n the.getSubmenuMode = function(el) {\n return Plugin.getSubmenuMode(el);\n };\n\n /**\n * Hide dropdown\n * @returns {Object}\n */\n the.hideDropdown = function(item) {\n Plugin.hideSubmenuDropdown(item, true);\n };\n\n /**\n * Hide dropdowns\n * @returns {Object}\n */\n the.hideDropdowns = function() {\n Plugin.hideSubmenuDropdowns();\n };\n\n /**\n * Disable menu for given time\n * @returns {Object}\n */\n the.pauseDropdownHover = function(time) {\n Plugin.pauseDropdownHover(time);\n };\n\n /**\n * Disable menu for given time\n * @returns {Object}\n */\n the.resumeDropdownHover = function() {\n return Plugin.resumeDropdownHover();\n };\n\n /**\n * Register event\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n the.off = function(name) {\n return Plugin.removeEvent(name);\n };\n\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n ///////////////////////////////\n // ** Plugin Construction ** //\n ///////////////////////////////\n\n // Run plugin\n Plugin.construct.apply(the, [options]);\n\n // Handle plugin on window resize\n KTUtil.addResizeHandler(function() {\n if (init) {\n the.reload();\n }\n });\n\n // Init done\n init = true;\n\n // Return plugin instance\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTMenu;\n}\n\n// Plugin global lazy initialization\ndocument.addEventListener(\"click\", function (e) {\n var body = KTUtil.getByTagName('body')[0];\n var query;\n if ( query = body.querySelectorAll('.menu-nav .menu-item.menu-item-submenu.menu-item-hover:not(.menu-item-tabs)[data-menu-toggle=\"click\"]') ) {\n for (var i = 0, len = query.length; i < len; i++) {\n var element = query[i].closest('.menu-nav').parentNode;\n\n if ( element ) {\n var the = KTUtil.data(element).get('menu');\n\n if ( !the ) {\n break;\n }\n\n if ( !the || the.getSubmenuMode() !== 'dropdown' ) {\n break;\n }\n\n if ( e.target !== element && element.contains(e.target) === false ) {\n the.hideDropdowns();\n }\n }\n }\n }\n});\n\nexport default KTMenu;","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=235e7fb0&prod&lang=scss\"","// action types\nexport const ADD_BODY_CLASSNAME = \"addBodyClassName\";\nexport const REMOVE_BODY_CLASSNAME = \"removeBodyClassName\";\nexport const ADD_CLASSNAME = \"addClassName\";\n// mutation types\nexport const SET_CLASSNAME_BY_POSITION = \"setClassNameByPosition\";\n\nexport default {\n state: {\n classes: {}\n },\n getters: {\n getClasses: state => position => {\n if (typeof position !== \"undefined\") {\n return state.classes[position];\n }\n return state.classes;\n }\n },\n actions: {\n [ADD_BODY_CLASSNAME](context, className) {\n document.body.classList.add(className);\n },\n [REMOVE_BODY_CLASSNAME](context, className) {\n document.body.classList.remove(className);\n },\n [ADD_CLASSNAME](context, payload) {\n context.commit(SET_CLASSNAME_BY_POSITION, payload);\n }\n },\n mutations: {\n [SET_CLASSNAME_BY_POSITION](state, payload) {\n const { position, className } = payload;\n if (!state.classes[position]) {\n state.classes[position] = [];\n }\n state.classes[position].push(className);\n }\n }\n};\n","import { API, Storage } from \"aws-amplify\";\nimport AWS from 'aws-sdk';\nimport vue from 'vue';\n\nAWS.config.update({\n accessKeyId: 'AKIA37O6XGDZALU2SV6S',\n secretAccessKey:'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'\n});\n\n\nexport default {\n\n // 모듈이 독립적이거나 재사용되기를 원한다면 namespaced를 true로\n //namespaced: true,\n\n state : {\n },\n\n // state를 변경할수 있는 유일한 요소, action에서 호출\n mutations: {\n },\n\n actions: {\n\n /**\n * submission 관련 이미지를 base64로 받아옵니다\n *\n * @param context\n * @param payload : {type : \"\", submissionId : \"\"}\n * type 은 selfieImage 또는 idImage 입니다\n * @returns {Promise}\n */\n async getSubmissionImageBase64( context, payload ) {\n\n console.log( \"호출 !!!\" )\n if( !payload || !payload.submissionId || !payload.type ) {\n console.log( \"getSubmissionImageBase64 error : payload is empty\" );\n return null;\n }\n let param = {\n queryStringParameters : {\n submission_id : payload.submissionId,\n alias : context.getters.getEnv,\n type : payload.type\n }\n };\n\n console.log( \"param ::: \", param )\n\n let result = null;\n try {\n result = await API.get( \"apiArgosDashboard\", \"/convertUrlToBase64\", param );\n }\n catch(e) {\n console.log( \"error:\", e );\n }\n return result;\n },\n\n //@TODO request param 필수파라미터 작업 !!\n // 검수완료 시 api 호출\n async kycSubmissionReview(context, payload){\n console.log(\"payload in kycSubmissionReview\", payload);\n if( vue.prototype.$isEmptyObject( payload ) ) return console.log( \"kycSubmissionReview param is not exist ::: \", payload );\n let params = {\n body: {\n alias: context.getters.getEnv,\n datas: JSON.stringify(payload)\n } };\n return await API.post('apiArgosDashboard', '/imageUpload', params);\n },\n\n async uploadFileFromBase64(context, payload){\n try{\n let base64Str = payload.base64Str.replace(/^data:image\\/\\w+;base64,/,\"\");\n let buffer = new Buffer.from(base64Str, 'base64');\n let options = {\n contentType: 'image/'+payload.imageUrl.split('.').pop(),\n metadata: null\n };\n\n\n const env = context.getters.getEnv;\n\n\n const myBucket = new AWS.S3({\n params: {\n Bucket: env === 'dev' ? 'liveformimages135940-qqa': 'argos-kyc-images'\n },\n region: env === 'dev' ? 'ap-northeast-2': 'us-east-1',\n });\n\n let imageURL = 'https://argos-kyc-images.s3.amazonaws.com/'\n if (env === 'dev') {\n imageURL = 'https://liveformimages135940-qqa.s3.ap-northeast-2.amazonaws.com/'\n }\n\n let urlPath = payload.imageUrl.split('/');\n const {v4: uuidv4} = require('uuid');\n let uploadPath = urlPath[urlPath.length - 2] + '/' + uuidv4() + urlPath[urlPath.length - 1];\n await myBucket.putObject({\n Key: uploadPath,\n Body: buffer,\n ContentEncoding: 'base64',\n ContentType: 'image/jpeg'\n }).promise();\n return imageURL + uploadPath\n }catch(e){\n console.log(`Catch The error `, e)\n return false;\n }\n },\n\n\n /**\n * kyc submissions download\n * @param context\n * @param payload\n * @returns {Promise} // response type : base64\n */\n async downloadSubmissionList( context, payload ) {\n\n if( !payload || !payload.projectId ) {\n console.log( \"downloadSubmissionList error, payload ::\", payload );\n return;\n }\n\n let param = {\n queryStringParameters: {\n ...payload, isCsv: true, alias: context.getters.getEnv\n }\n };\n\n\n let result ;\n try{\n result = await API.get('apiArgosDashboard', '/kycSubmissionListCsv', param );\n }\n catch( e ) {\n console.log( \"downloadSubmissionList error:: \", e?.message );\n }\n\n return result;\n\n },\n\n async getKycProject(context, payload){\n\n let param = {\n alias: context.getters.getEnv,\n projectId: payload.projectId\n }\n let result;\n try {\n result = await API.get('apiArgosDashboard', '/kycProject', {queryStringParameters: param})\n //console.log( \"getKycProject res ::\", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"getKycProject error ::\", e?.message );\n }\n return result;\n },\n\n async getKycProjectList(context, payload){\n\n let param = {\n alias: context.getters.getEnv,\n projectIdList: payload.projectIdList\n }\n let result;\n try {\n result = await API.get('apiArgosDashboard', '/kycProject', {queryStringParameters: param});\n //console.log( \"getKycProjectList res ::\", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"getKycProjectList error ::\", e?.message );\n }\n return result;\n },\n\n /**\n * 프로젝트 전체 리스트를 가져옵니다\n * @param context\n * @param payload\n * @returns {Promise}\n */\n async getKycProjectAllList(context, payload){\n\n let param = {\n alias: context.getters.getEnv,\n isDashboard : true\n }\n\n let result;\n try {\n result = await API.get('apiArgosDashboard', '/kycProject', {queryStringParameters: param});\n //console.log( \"getKycProjectAllList res ::\", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"getKycProjectAllList error ::\", e?.message );\n }\n return result || [];\n },\n\n\n\n\n async getKycSubmissionList(context, payload){\n let param = payload;\n\n param.alias = context.getters.getEnv\n let result;\n try{\n result = await API.get('apiArgosDashboard', '/kycSubmissionListCsv', {queryStringParameters: param})\n }\n catch( e ) {\n console.log( \"getKycSubmissionList error ::\", e?.message );\n }\n return result;\n },\n\n\n async getKycAmlList(context, payload){\n let param = payload; // key list : alias, projectId, searchText, searchStatus\n param.alias = context.getters.getEnv\n // let projectList = [];\n // return await API.get('apiKybConsole', '/kycSubmissionList', {queryStringParameters: {alias: payload.alias, projectId: payload.projectId, days: payload.days}});\n let result;\n try{\n result = await API.get('apiArgosDashboard', '/amlList', {queryStringParameters: param})\n //console.log( \"getKycSubmissionList res :::\", JSON.stringify(result) );\n }\n catch( e ) {\n console.log( \"getKycSubmissionList error ::\", e?.message );\n }\n return result;\n },\n async getKycSubmissionDetail(context, payload){\n if( !payload.submissionId ) {\n console.log( \"getKycSubmissionDetail request param error - email, submissionId ::: \", payload.email, payload.submissionId );\n return {};\n }\n let param = {\n alias: context.getters.getEnv,\n submissionId: payload.submissionId\n };\n //console.log( \"getKycSubmissionDetail param ::: \", param );\n let result;\n try{\n result = await API.get('apiArgosDashboard', '/kycSubmissionDetail', {queryStringParameters: param})\n //console.log( \"getKycSubmissionDetail result ::\", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"getKycSubmissionDetail error :: \", e?.message );\n }\n return result;\n },\n\n async kycSummary(context, payload){\n if( !payload.projectId ) {\n console.log( \"getKycSummary request param error - projectId ::: \", payload.projectId );\n return {};\n }\n let param = {\n alias: context.getters.getEnv,\n projectId: payload.projectId,\n searchType: payload.searchType\n };\n\n if(payload.invocationType) param.invocationType = payload.invocationType;\n\n console.log( \"kycSummary param ::: \", param );\n let result;\n try{\n result = await API.get('apiArgosDashboard', '/kycSummary', {queryStringParameters: param});\n //console.log( \"kycSummary res :: \", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"kycSummary error :: \", e?.message );\n }\n return result;\n },\n\n async amlReportDownloadV3(context, payload){\n if( !payload.QR_code ) {\n console.log( \"amlReportDownload request param error - QR_code ::: \", payload.QR_code );\n return {};\n }\n let param = {\n alias: context.getters.getEnv,\n resourceId: payload.QR_code\n };\n console.log( \"amlReportDownload param ::: \", param );\n\n let returnValue;\n try {\n returnValue = await API.get('apiArgosDashboard', '/kycAmlReport03', {queryStringParameters: param});\n //console.log( \"amlReportDownloadV3 res :: \", returnValue );\n }\n catch( e ) {\n console.log( \"amlReportDownloadV3 error ::\", e?.message );\n }\n return returnValue;\n },\n\n async amlReportDownload(context, payload){\n if( !payload.QR_code ) {\n console.log( \"amlReportDownload request param error - QR_code ::: \", payload.QR_code );\n return {};\n }\n let param = {\n alias: context.getters.getEnv,\n QR_code: payload.QR_code\n };\n console.log( \"amlReportDownload param ::: \", param );\n let returnValue;\n try {\n returnValue = await API.get('apiArgosDashboard', '/kycAmlReport', {queryStringParameters: param});\n //console.log( \"amlReportDownload res ::: \", returnValue );\n }\n catch( e ) {\n console.log( \"amlReportDownload error :: \", e?.message );\n }\n return returnValue;\n },\n async getKycEventLog(context, payload){\n\n let params = {\n alias: context.getters.getEnv,\n searchType: 'KYC'\n };\n if( !payload || !payload.projectId ) {\n console.log( \"getKycEventLog request param error - projectId ::: \", payload.projectId );\n return {};\n }\n\n let keys = Object.keys( payload );\n keys.forEach( function( key ){\n params[ key ] = payload[key];\n } );\n\n console.log( \"getKycEventLog param ::: \", params );\n let result;\n try {\n result = await API.get('apiArgosDashboard', '/kycEvent', {queryStringParameters: params} );\n //console.log( \"getKycEventLog res ::: \", JSON.stringify( result ) );\n }\n catch( e ) {\n console.log( \"getKycEventLog error :::\", result );\n }\n return result;\n },\n\n async uploadLogoImage(context, payload){\n\n const {v4: uuidv4} = require('uuid');\n let fileData = payload.fileData;\n let putConfig = {\n contentType: fileData.type,\n level: 'public'\n };\n\n let uploadPath = \"\";\n let env = context.getters.getEnv;\n uploadPath = env + '/' + payload.projectId + '/logo_' + uuidv4() + '.' + fileData.name.split('.').pop();\n\n\n let putResult\n try{\n putResult = await Storage.put(uploadPath, fileData, putConfig);\n }catch (err){\n console.log(\"uploadFileToS3Amplify err\", err);\n return err;\n }\n\n let imageUrl;\n if(putResult.key)\n imageUrl = `https://s3argosbucket113003-master.s3.amazonaws.com/public/${putResult.key}`;\n\n console.log(\"imageUrl\", imageUrl);\n\n let imageParams = {\n projectId: payload.projectId,\n imageUrl: imageUrl,\n type: fileData.type\n };\n\n let params = {\n body: {\n alias: context.getters.getEnv,\n data: JSON.stringify(imageParams)\n }\n };\n try{\n return await API.post('apiArgosDashboard', '/kycUploadLogo', params);\n }catch (e) {\n console.log(\"Error\", e);\n }\n },\n\n\n async updateGuestAdmins(context, payload){\n try{\n //@TODO dev 또는 qa live\n let params = {\n queryStringParameters: {\n alias: context.getters.getEnv, requestType: 'admins_update'\n },\n body : {admins_data: JSON.stringify(payload)}\n };\n console.log(\"Update params in kycGuestAdmins\", params);\n let updateResult = await API.post('apiArgosDashboard', '/admin', params);\n return updateResult;\n }catch(e){\n console.log(\"e\", e);\n }\n },\n\n\n },\n\n\n\n /**\n * 결과값을 계산해야하는 경우가 있을 때 사용\n */\n getters: {\n },\n\n}\n","\"use strict\";\n\nvar KTLayoutQuickUser = function() {\n // Private properties\n var _element;\n var _offcanvasObject;\n\n // Private functions\n var _init = function() {\n\n var header = KTUtil.find(_element, '.offcanvas-header');\n var content = KTUtil.find(_element, '.offcanvas-content');\n\n _offcanvasObject = new KTOffcanvas(_element, {\n overlay: true,\n baseClass: 'offcanvas',\n placement: 'right',\n closeBy: 'kt_quick_user_close',\n toggleBy: 'kt_quick_user_toggle'\n });\n\n KTUtil.scrollInit(content, {\n disableForMobile: true,\n resetHeightOnDestroy: true,\n handleWindowResize: true,\n // height: function() {\n // var height = parseInt(KTUtil.getViewPort().height);\n //\n // if (header) {\n // height = height - parseInt(KTUtil.actualHeight(header));\n // height = height - parseInt(KTUtil.css(header, 'marginTop'));\n // height = height - parseInt(KTUtil.css(header, 'marginBottom'));\n // }\n //\n // if (content) {\n // height = height - parseInt(KTUtil.css(content, 'marginTop'));\n // height = height - parseInt(KTUtil.css(content, 'marginBottom'));\n // }\n //\n // height = height - parseInt(KTUtil.css(_element, 'paddingTop'));\n // height = height - parseInt(KTUtil.css(_element, 'paddingBottom'));\n //\n // height = height - 200;\n // return height;\n // }\n });\n }\n\n // Public methods\n return {\n init: function(id) {\n _element = KTUtil.getById(id);\n\n if (!_element) {\n return;\n }\n\n // Initialize\n _init();\n },\n\n getElement: function() {\n return _element;\n }\n };\n}();\n\n\n\nexport default KTLayoutQuickUser;","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition \nvar KTDialog = function(options) {\n // Main object\n var the = this;\n\n // Get element object\n var element;\n var body = KTUtil.getBody();\n\n // Default options\n var defaultOptions = {\n 'placement' : 'top center',\n 'type' : 'loader',\n 'width' : 100,\n 'state' : 'default',\n 'message' : 'Loading...'\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Construct\n */\n\n construct: function(options) {\n Plugin.init(options);\n\n return the;\n },\n\n /**\n * Handles subtoggle click toggle\n */\n init: function(options) {\n the.events = [];\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n\n the.state = false;\n },\n\n /**\n * Show dialog\n */\n show: function() {\n Plugin.eventTrigger('show');\n\n element = document.createElement(\"DIV\");\n KTUtil.setHTML(element, the.options.message);\n\n KTUtil.addClass(element, 'dialog dialog-shown');\n KTUtil.addClass(element, 'dialog-' + the.options.state);\n KTUtil.addClass(element, 'dialog-' + the.options.type);\n\n if (the.options.placement == 'top center') {\n KTUtil.addClass(element, 'dialog-top-center');\n }\n\n body.appendChild(element);\n\n the.state = 'shown';\n\n Plugin.eventTrigger('shown');\n\n return the;\n },\n\n /**\n * Hide dialog\n */\n hide: function() {\n if (element) {\n Plugin.eventTrigger('hide');\n\n element.remove();\n the.state = 'hidden';\n\n Plugin.eventTrigger('hidden');\n }\n\n return the;\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name) {\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the);\n }\n } else {\n return event.handler.call(this, the);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n\n return the;\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Check shown state\n */\n the.shown = function() {\n return the.state == 'shown';\n };\n\n /**\n * Check hidden state\n */\n the.hidden = function() {\n return the.state == 'hidden';\n };\n\n /**\n * Show dialog\n */\n the.show = function() {\n return Plugin.show();\n };\n\n /**\n * Hide dialog\n */\n the.hide = function() {\n return Plugin.hide();\n };\n\n /**\n * Attach event\n * @returns {KTToggle}\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Attach event that will be fired once\n * @returns {KTToggle}\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n // Construct plugin\n Plugin.construct.apply(the, [options]);\n\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTDialog;\n}\n\nexport default KTDialog;","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTWizard = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n startStep: 1,\n clickableSteps: false // to make steps clickable this set value true and add data-wizard-clickable=\"true\" in HTML for class=\"wizard\" element\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Construct\n */\n\n construct: function(options) {\n if (KTUtil.data(element).has('wizard')) {\n the = KTUtil.data(element).get('wizard');\n } else {\n // reset menu\n Plugin.init(options);\n\n // build menu\n Plugin.build();\n\n KTUtil.data(element).set('wizard', the);\n }\n\n return the;\n },\n\n /**\n * Init wizard\n */\n init: function(options) {\n the.element = element;\n the.events = [];\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n\n // Elements\n the.steps = KTUtil.findAll(element, '[data-wizard-type=\"step\"]');\n\n the.btnNext = KTUtil.find(element, '[data-wizard-type=\"action-next\"]');\n the.btnPrev = KTUtil.find(element, '[data-wizard-type=\"action-prev\"]');\n the.btnSubmit = KTUtil.find(element, '[data-wizard-type=\"action-submit\"]');\n\n // Variables\n the.events = [];\n the.lastStep = 0;\n the.currentStep = 1;\n the.newStep = 0;\n the.stopped = false;\n the.totalSteps = the.steps.length;\n\n // Init current step\n if (the.options.startStep > 1) {\n Plugin.goTo(the.options.startStep);\n }\n\n // Init UI\n Plugin.updateUI();\n },\n\n /**\n * Build Form Wizard\n */\n build: function() {\n // Next button event handler\n KTUtil.addEvent(the.btnNext, 'click', function(e) {\n e.preventDefault();\n\n // Set new step number\n Plugin.setNewStep(Plugin.getNextStep());\n\n // Trigger change event\n if (Plugin.eventTrigger('change') !== false) {\n Plugin.goTo(Plugin.getNextStep());\n }\n });\n\n // Prev button event handler\n KTUtil.addEvent(the.btnPrev, 'click', function(e) {\n e.preventDefault();\n\n // Set new step number\n Plugin.setNewStep(Plugin.getPrevStep());\n\n // Trigger change event\n if (Plugin.eventTrigger('change') !== false) {\n Plugin.goTo(Plugin.getPrevStep());\n }\n });\n\n if (the.options.clickableSteps === true) {\n KTUtil.on(element, '[data-wizard-type=\"step\"]', 'click', function() {\n var index = KTUtil.index(this) + 1;\n\n if (index !== the.currentStep) {\n Plugin.setNewStep(index);\n\n // Trigger change event\n if (Plugin.eventTrigger('change') !== false) {\n Plugin.goTo(index);\n }\n }\n });\n }\n\n // Submit button event handler\n KTUtil.addEvent(the.btnSubmit, 'click', function(e) {\n e.preventDefault();\n\n Plugin.eventTrigger('submit');\n });\n },\n\n /**\n * Handles wizard click wizard\n */\n goTo: function(number) {\n // Skip if stopped\n if (the.stopped === true) {\n the.stopped = false;\n return;\n }\n\n // Skip if this step is already shown\n if (number === the.currentStep || number > the.totalSteps || number < 0) {\n return;\n }\n\n // Validate step number\n number = parseInt(number);\n\n // Set current step\n the.lastStep = the.currentStep;\n the.currentStep = number;\n the.newStep = 0;\n\n Plugin.updateUI();\n\n Plugin.eventTrigger('changed');\n\n return the;\n },\n\n /**\n * Stop wizard\n */\n stop: function() {\n the.stopped = true;\n },\n\n /**\n * Resume wizard\n */\n resume: function() {\n the.stopped = false;\n },\n\n /**\n * Check last step\n */\n isLastStep: function() {\n return the.currentStep === the.totalSteps;\n },\n\n /**\n * Check first step\n */\n isFirstStep: function() {\n return the.currentStep === 1;\n },\n\n /**\n * Check between step\n */\n isBetweenStep: function() {\n return Plugin.isLastStep() === false && Plugin.isFirstStep() === false;\n },\n\n /**\n * Update wizard UI after step change\n */\n updateUI: function() {\n var stepType = '';\n var index = the.currentStep - 1;\n\n if (Plugin.isLastStep()) {\n stepType = 'last';\n } else if (Plugin.isFirstStep()) {\n stepType = 'first';\n } else {\n stepType = 'between';\n }\n\n KTUtil.attr(the.element, 'data-wizard-state', stepType);\n\n // Steps\n var steps = KTUtil.findAll(the.element, '[data-wizard-type=\"step\"]');\n\n if (steps && steps.length > 0) {\n for (var i = 0, len = steps.length; i < len; i++) {\n if (i == index) {\n KTUtil.attr(steps[i], 'data-wizard-state', 'current');\n } else {\n if (i < index) {\n KTUtil.attr(steps[i], 'data-wizard-state', 'done');\n } else {\n KTUtil.attr(steps[i], 'data-wizard-state', 'pending');\n }\n }\n }\n }\n\n // Steps Info\n var stepsInfo = KTUtil.findAll(the.element, '[data-wizard-type=\"step-info\"]');\n if (stepsInfo &&stepsInfo.length > 0) {\n for (var i = 0, len = stepsInfo.length; i < len; i++) {\n if (i == index) {\n KTUtil.attr(stepsInfo[i], 'data-wizard-state', 'current');\n } else {\n KTUtil.removeAttr(stepsInfo[i], 'data-wizard-state');\n }\n }\n }\n\n // Steps Content\n var stepsContent = KTUtil.findAll(the.element, '[data-wizard-type=\"step-content\"]');\n if (stepsContent&& stepsContent.length > 0) {\n for (var i = 0, len = stepsContent.length; i < len; i++) {\n if (i == index) {\n KTUtil.attr(stepsContent[i], 'data-wizard-state', 'current');\n } else {\n KTUtil.removeAttr(stepsContent[i], 'data-wizard-state');\n }\n }\n }\n },\n\n /**\n * Get next step number\n */\n getNextStep: function() {\n if (the.totalSteps >= (the.currentStep + 1)) {\n return the.currentStep + 1;\n } else {\n return the.totalSteps;\n }\n },\n\n /**\n * Get prev step number\n */\n getPrevStep: function() {\n if ((the.currentStep - 1) >= 1) {\n return the.currentStep - 1;\n } else {\n return 1;\n }\n },\n\n /**\n * Get new step number\n */\n getNewStep: function() {\n return the.newStep;\n },\n\n /**\n * Set new step\n */\n setNewStep: function(step) {\n the.newStep = step;\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name, nested) {\n //KTUtil.triggerCustomEvent(name);\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the);\n }\n } else {\n return event.handler.call(this, the);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n\n return the;\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Go to the next step\n */\n the.goNext = function() {\n return Plugin.goTo(Plugin.getNextStep());\n };\n\n /**\n * Go to the prev step\n */\n the.goPrev = function() {\n return Plugin.goTo(Plugin.getPrevStep());\n };\n\n /**\n * Go to the last step\n */\n the.goLast = function() {\n return Plugin.goTo(Plugin.getLastStep());\n };\n\n /**\n * Go to the first step\n */\n the.goFirst = function() {\n return Plugin.goTo(Plugin.getFirstStep());\n };\n\n /**\n * Go to a step\n */\n the.goTo = function(number) {\n return Plugin.goTo(number);\n };\n\n /**\n * Stop wizard\n */\n the.stop = function() {\n return Plugin.stop();\n };\n\n /**\n * Resume wizard\n */\n the.resume = function() {\n return Plugin.resume();\n };\n\n /**\n * Get current step number\n */\n the.getStep = function() {\n return the.currentStep;\n };\n\n /**\n * Get new step number\n */\n the.getNewStep = function() {\n return Plugin.getNewStep();\n };\n\n /**\n * Set new step number\n */\n the.setNewStep = function(number) {\n Plugin.setNewStep(number);\n };\n\n /**\n * Check last step\n */\n the.isLastStep = function() {\n return Plugin.isLastStep();\n };\n\n /**\n * Check first step\n */\n the.isFirstStep = function() {\n return Plugin.isFirstStep();\n };\n\n /**\n * Attach event(\"change\", \"changed\", \"submit\")\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Attach event that will be fired once\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n // Construct plugin\n Plugin.construct.apply(the, [options]);\n\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTWizard;\n}\n\nexport default KTWizard;","import {Auth} from \"aws-amplify\";\n\nexport const SET_LOGIN_USER = \"setLoginUser\";\nimport vue from 'vue';\n\nconst state = {\n\n loginUser : {},\n\n amplifyAuth : false,\n otpAuth : false, //@TODO default는 false로 변경예정\n\n isCheckOtpAuth : true, //otp 체크여부\n};\nconst getters = {\n currentLoginUser ( state ) {\n return state.loginUser;\n },\n amplifyAuth( state ) {\n return state.amplifyAuth;\n },\n otpAuth( state ) {\n return state.otpAuth;\n },\n\n isCheckOtpAuth( state ) {\n return state.isCheckOtpAuth;\n }\n};\n\nconst actions = {\n\n async logout() {\n\n console.log( \"logout 실행 ::: \" )\n\n vue.prototype.$session.clear();\n window.sessionStorage.removeItem( \"vuex\" )\n\n try {\n await Auth.signOut();\n }\n catch (error) {\n console.log('error signing out: ', error);\n }\n\n location.href=\"/\";\n\n },\n setLoginUser( context, payload ) {\n context.commit( \"setLoginUser\", payload )\n },\n\n // amplify auth 여부\n setAmplifyAuth(context, auth) {\n context.commit( \"setAmplifyAuth\", auth );\n },\n\n setOtpAuth(context, otpAuth) {\n context.commit( \"setOtpAuth\", otpAuth );\n },\n\n setIsCheckOtpAuth( context, isCheckOtpAuth ) {\n context.commit( \"setIsCheckOtpAuth\", isCheckOtpAuth )\n }\n};\n\nconst mutations = {\n\n setIsCheckOtpAuth( state, isCheckOtpAuth ) {\n\n state.isCheckOtpAuth = isCheckOtpAuth;\n },\n\n setLoginUser( state, loginUser ) {\n state.loginUser = vue.prototype.$isEmptyObject( loginUser ) ? null : loginUser ;\n },\n\n setOtpAuth( state, otpAuth ) {\n\n if( \"boolean\" !== typeof otpAuth ) {\n console.log( \"setAmplifyAuth param is not exist ::: \", otpAuth );\n state.otpAuth = false;\n return;\n }\n state.otpAuth = otpAuth;\n },\n\n setAmplifyAuth( state, auth ) {\n if( \"boolean\" !== typeof auth ) {\n console.log( \"setAmplifyAuth param is not exist ::: \", auth );\n state.amplifyAuth = false;\n return;\n }\n state.amplifyAuth = auth;\n }\n};\n\nexport default {\n state,\n actions,\n mutations,\n getters\n};\n","\"use strict\";\n\n/**\n * @class KTUtil base utilize class that privides helper functions\n */\n\n// Polyfills\n/**\n * Element.matches() polyfill (simple version)\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n */\nif (!Element.prototype.matches) {\n\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n}\n\n/**\n * Element.closest() polyfill\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n */\nif (!Element.prototype.closest) {\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\tElement.prototype.closest = function (s) {\n\t\tvar el = this;\n\t\tvar ancestor = this;\n\t\tif (!document.documentElement.contains(el)) return null;\n\t\tdo {\n\t\t\tif (ancestor.matches(s)) return ancestor;\n\t\t\tancestor = ancestor.parentElement;\n\t\t} while (ancestor !== null);\n\t\treturn null;\n\t};\n}\n\n/**\n * ChildNode.remove() polyfill\n * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/\n * @author Chris Ferdinandi\n * @license MIT\n */\n(function (elem) {\n\tfor (var i = 0; i < elem.length; i++) {\n\t\tif (!window[elem[i]] || 'remove' in window[elem[i]].prototype) continue;\n\t\twindow[elem[i]].prototype.remove = function () {\n\t\t\tthis.parentNode.removeChild(this);\n\t\t};\n\t}\n})(['Element', 'CharacterData', 'DocumentType']);\n\n\n//\n// requestAnimationFrame polyfill by Erik Möller.\n// With fixes from Paul Irish and Tino Zijdel\n//\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\n//\n// MIT license\n//\n(function() {\n var lastTime = 0;\n var vendors = ['webkit', 'moz'];\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\n window.cancelAnimationFrame =\n window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\n }\n\n if (!window.requestAnimationFrame)\n window.requestAnimationFrame = function(callback) {\n var currTime = new Date().getTime();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n var id = window.setTimeout(function() {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n\n if (!window.cancelAnimationFrame)\n window.cancelAnimationFrame = function(id) {\n clearTimeout(id);\n };\n}());\n\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\n(function(arr) {\n arr.forEach(function(item) {\n if (item.hasOwnProperty('prepend')) {\n return;\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend() {\n var argArr = Array.prototype.slice.call(arguments),\n docFrag = document.createDocumentFragment();\n\n argArr.forEach(function(argItem) {\n var isNode = argItem instanceof Node;\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\n });\n\n this.insertBefore(docFrag, this.firstChild);\n }\n });\n });\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]);\n\n// getAttributeNames\nif (Element.prototype.getAttributeNames == undefined) {\n Element.prototype.getAttributeNames = function () {\n var attributes = this.attributes;\n var length = attributes.length;\n var result = new Array(length);\n for (var i = 0; i < length; i++) {\n result[i] = attributes[i].name;\n }\n return result;\n };\n}\n\n// Global variables\nwindow.KTUtilElementDataStore = {};\nwindow.KTUtilElementDataStoreID = 0;\nwindow.KTUtilDelegatedEventHandlers = {};\n\nvar KTUtil = function() {\n var resizeHandlers = [];\n\n /** @type {object} breakpoints The device width breakpoints **/\n var breakpoints = {\n sm: 0, // Small screen / phone\n md: 0, // Medium screen / tablet\n lg: 992, // Large screen / desktop\n xl: 1200 // Extra large screen / wide desktop\n };\n\n /**\n * Handle window resize event with some\n * delay to attach event handlers upon resize complete\n */\n var _windowResizeHandler = function() {\n var _runResizeHandlers = function() {\n // reinitialize other subscribed elements\n for (var i = 0; i < resizeHandlers.length; i++) {\n var each = resizeHandlers[i];\n each.call();\n }\n };\n\n var timer;\n\n window.addEventListener('resize', function() {\n KTUtil.throttle(timer, function() {\n _runResizeHandlers();\n }, 200);\n });\n };\n\n return {\n /**\n * Class main initializer.\n * @param {object} settings.\n * @returns null\n */\n //main function to initiate the theme\n init: function(settings) {\n if (settings && settings.breakpoints) {\n breakpoints = settings.breakpoints;\n }\n\n _windowResizeHandler();\n },\n\n /**\n * Adds window resize event handler.\n * @param {function} callback function.\n */\n addResizeHandler: function(callback) {\n resizeHandlers.push(callback);\n },\n\n /**\n * Removes window resize event handler.\n * @param {function} callback function.\n */\n removeResizeHandler: function(callback) {\n for (var i = 0; i < resizeHandlers.length; i++) {\n if (callback === resizeHandlers[i]) {\n delete resizeHandlers[i];\n }\n }\n },\n\n /**\n * Trigger window resize handlers.\n */\n runResizeHandlers: function() {\n _runResizeHandlers();\n },\n\n resize: function() {\n if (typeof(Event) === 'function') {\n // modern browsers\n window.dispatchEvent(new Event('resize'));\n } else {\n // for IE and other old browsers\n // causes deprecation warning on modern browsers\n var evt = window.document.createEvent('UIEvents');\n evt.initUIEvent('resize', true, false, window, 0);\n window.dispatchEvent(evt);\n }\n },\n\n /**\n * Get GET parameter value from URL.\n * @param {string} paramName Parameter name.\n * @returns {string}\n */\n getURLParam: function(paramName) {\n var searchString = window.location.search.substring(1),\n i, val, params = searchString.split(\"&\");\n\n for (i = 0; i < params.length; i++) {\n val = params[i].split(\"=\");\n if (val[0] == paramName) {\n return unescape(val[1]);\n }\n }\n\n return null;\n },\n\n /**\n * Checks whether current device is mobile touch.\n * @returns {boolean}\n */\n isMobileDevice: function() {\n var test = (this.getViewPort().width < this.getBreakpoint('lg') ? true : false);\n\n if (test === false) {\n // For use within normal web clients\n test = navigator.userAgent.match(/iPad/i) != null;\n }\n\n return test;\n },\n\n /**\n * Checks whether current device is desktop.\n * @returns {boolean}\n */\n isDesktopDevice: function() {\n return KTUtil.isMobileDevice() ? false : true;\n },\n\n /**\n * Gets browser window viewport size. Ref:\n * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/\n * @returns {object}\n */\n getViewPort: function() {\n var e = window,\n a = 'inner';\n if (!('innerWidth' in window)) {\n a = 'client';\n e = document.documentElement || document.body;\n }\n\n return {\n width: e[a + 'Width'],\n height: e[a + 'Height']\n };\n },\n\n /**\n * Checks whether given device mode is currently activated.\n * @param {string} mode Responsive mode name(e.g: desktop,\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\n * @returns {boolean}\n */\n isInResponsiveRange: function(mode) {\n var breakpoint = this.getViewPort().width;\n\n if (mode == 'general') {\n return true;\n } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) {\n return true;\n } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) {\n return true;\n } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) {\n return true;\n } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) {\n return true;\n } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) {\n return true;\n } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) {\n return true;\n }\n\n return false;\n },\n\n\t\t/**\n * Checks whether given device mode is currently activated.\n * @param {string} mode Responsive mode name(e.g: desktop,\n * desktop-and-tablet, tablet, tablet-and-mobile, mobile)\n * @returns {boolean}\n */\n isBreakpointUp: function(mode) {\n var width = this.getViewPort().width;\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\n\n\t\t\treturn (width >= breakpoint);\n },\n\n\t\tisBreakpointDown: function(mode) {\n var width = this.getViewPort().width;\n\t\t\tvar breakpoint = this.getBreakpoint(mode);\n\n\t\t\treturn (width < breakpoint);\n },\n\n /**\n * Generates unique ID for give prefix.\n * @param {string} prefix Prefix for generated ID\n * @returns {boolean}\n */\n getUniqueID: function(prefix) {\n return prefix + Math.floor(Math.random() * (new Date()).getTime());\n },\n\n /**\n * Gets window width for give breakpoint mode.\n * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm)\n * @returns {number}\n */\n getBreakpoint: function(mode) {\n return breakpoints[mode];\n },\n\n /**\n * Checks whether object has property matchs given key path.\n * @param {object} obj Object contains values paired with given key path\n * @param {string} keys Keys path seperated with dots\n * @returns {object}\n */\n isset: function(obj, keys) {\n var stone;\n\n keys = keys || '';\n\n if (keys.indexOf('[') !== -1) {\n throw new Error('Unsupported object path notation.');\n }\n\n keys = keys.split('.');\n\n do {\n if (obj === undefined) {\n return false;\n }\n\n stone = keys.shift();\n\n if (!obj.hasOwnProperty(stone)) {\n return false;\n }\n\n obj = obj[stone];\n\n } while (keys.length);\n\n return true;\n },\n\n /**\n * Gets highest z-index of the given element parents\n * @param {object} el jQuery element object\n * @returns {number}\n */\n getHighestZindex: function(el) {\n var position, value;\n\n while (el && el !== document) {\n // Ignore z-index if position is set to a value where z-index is ignored by the browser\n // This makes behavior of this function consistent across browsers\n // WebKit always returns auto if the element is positioned\n position = KTUtil.css(el, 'position');\n\n if (position === \"absolute\" || position === \"relative\" || position === \"fixed\") {\n // IE returns 0 when zIndex is not specified\n // other browsers return a string\n // we ignore the case of nested elements with an explicit value of 0\n //
\n value = parseInt(KTUtil.css(el, 'z-index'));\n\n if (!isNaN(value) && value !== 0) {\n return value;\n }\n }\n\n el = el.parentNode;\n }\n\n return null;\n },\n\n /**\n * Checks whether the element has any parent with fixed positionfreg\n * @param {object} el jQuery element object\n * @returns {boolean}\n */\n hasFixedPositionedParent: function(el) {\n var position;\n\n while (el && el !== document) {\n position = KTUtil.css(el, 'position');\n\n if (position === \"fixed\") {\n return true;\n }\n\n el = el.parentNode;\n }\n\n return false;\n },\n\n /**\n * Simulates delay\n */\n sleep: function(milliseconds) {\n var start = new Date().getTime();\n for (var i = 0; i < 1e7; i++) {\n if ((new Date().getTime() - start) > milliseconds) {\n break;\n }\n }\n },\n\n /**\n * Gets randomly generated integer value within given min and max range\n * @param {number} min Range start value\n * @param {number} max Range end value\n * @returns {number}\n */\n getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n\n /**\n * Checks whether Angular library is included\n * @returns {boolean}\n */\n isAngularVersion: function() {\n return window.Zone !== undefined ? true : false;\n },\n\n // Deep extend: $.extend(true, {}, objA, objB);\n deepExtend: function(out) {\n out = out || {};\n\n for (var i = 1; i < arguments.length; i++) {\n var obj = arguments[i];\n if (!obj) continue;\n\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n\n // based on https://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/\n if ( Object.prototype.toString.call(obj[key]) === '[object Object]' ) {\n out[key] = KTUtil.deepExtend(out[key], obj[key]);\n continue;\n }\n\n out[key] = obj[key];\n }\n }\n\n return out;\n },\n\n // extend: $.extend({}, objA, objB);\n extend: function(out) {\n out = out || {};\n\n for (var i = 1; i < arguments.length; i++) {\n if (!arguments[i])\n continue;\n\n for (var key in arguments[i]) {\n if (arguments[i].hasOwnProperty(key))\n out[key] = arguments[i][key];\n }\n }\n\n return out;\n },\n\n getById: function(el) {\n if (typeof el === 'string') {\n return document.getElementById(el);\n } else {\n return el;\n }\n },\n\n getByTag: function(query) {\n return document.getElementsByTagName(query);\n },\n\n getByTagName: function(query) {\n return document.getElementsByTagName(query);\n },\n\n getByClass: function(query) {\n return document.getElementsByClassName(query);\n },\n\n getBody: function() {\n return document.getElementsByTagName('body')[0];\n },\n\n /**\n * Checks whether the element has given classes\n * @param {object} el jQuery element object\n * @param {string} Classes string\n * @returns {boolean}\n */\n hasClasses: function(el, classes) {\n if (!el) {\n return;\n }\n\n var classesArr = classes.split(\" \");\n\n for (var i = 0; i < classesArr.length; i++) {\n if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) {\n return false;\n }\n }\n\n return true;\n },\n\n hasClass: function(el, className) {\n if (!el) {\n return;\n }\n\n return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\n },\n\n addClass: function(el, className) {\n if (!el || typeof className === 'undefined') {\n return;\n }\n\n var classNames = className.split(' ');\n\n if (el.classList) {\n for (var i = 0; i < classNames.length; i++) {\n if (classNames[i] && classNames[i].length > 0) {\n el.classList.add(KTUtil.trim(classNames[i]));\n }\n }\n } else if (!KTUtil.hasClass(el, className)) {\n for (var x = 0; x < classNames.length; x++) {\n el.className += ' ' + KTUtil.trim(classNames[x]);\n }\n }\n },\n\n removeClass: function(el, className) {\n if (!el || typeof className === 'undefined') {\n return;\n }\n\n var classNames = className.split(' ');\n\n if (el.classList) {\n for (var i = 0; i < classNames.length; i++) {\n el.classList.remove(KTUtil.trim(classNames[i]));\n }\n } else if (KTUtil.hasClass(el, className)) {\n for (var x = 0; x < classNames.length; x++) {\n el.className = el.className.replace(new RegExp('\\\\b' + KTUtil.trim(classNames[x]) + '\\\\b', 'g'), '');\n }\n }\n },\n\n triggerCustomEvent: function(el, eventName, data) {\n var event;\n if (window.CustomEvent) {\n event = new CustomEvent(eventName, {\n detail: data\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, true, true, data);\n }\n\n el.dispatchEvent(event);\n },\n\n triggerEvent: function(node, eventName) {\n // Make sure we use the ownerDocument from the provided node to avoid cross-window problems\n var doc;\n if (node.ownerDocument) {\n doc = node.ownerDocument;\n } else if (node.nodeType == 9) {\n // the node may be the document itself, nodeType 9 = DOCUMENT_NODE\n doc = node;\n } else {\n throw new Error(\"Invalid node passed to fireEvent: \" + node.id);\n }\n\n if (node.dispatchEvent) {\n // Gecko-style approach (now the standard) takes more work\n var eventClass = \"\";\n\n // Different events have different event classes.\n // If this switch statement can't map an eventName to an eventClass,\n // the event firing is going to fail.\n switch (eventName) {\n case \"click\": // Dispatching of 'click' appears to not work correctly in Safari. Use 'mousedown' or 'mouseup' instead.\n case \"mouseenter\":\n case \"mouseleave\":\n case \"mousedown\":\n case \"mouseup\":\n eventClass = \"MouseEvents\";\n break;\n\n case \"focus\":\n case \"change\":\n case \"blur\":\n case \"select\":\n eventClass = \"HTMLEvents\";\n break;\n\n default:\n throw \"fireEvent: Couldn't find an event class for event '\" + eventName + \"'.\";\n break;\n }\n var event = doc.createEvent(eventClass);\n\n var bubbles = eventName == \"change\" ? false : true;\n event.initEvent(eventName, bubbles, true); // All events created as bubbling and cancelable.\n\n event.synthetic = true; // allow detection of synthetic events\n // The second parameter says go ahead with the default action\n node.dispatchEvent(event, true);\n } else if (node.fireEvent) {\n // IE-old school style\n var event = doc.createEventObject();\n event.synthetic = true; // allow detection of synthetic events\n node.fireEvent(\"on\" + eventName, event);\n }\n },\n\n index: function( el ){\n var c = el.parentNode.children, i = 0;\n for(; i < c.length; i++ )\n if( c[i] == el ) return i;\n },\n\n trim: function(string) {\n return string.trim();\n },\n\n eventTriggered: function(e) {\n if (e.currentTarget.dataset.triggered) {\n return true;\n } else {\n e.currentTarget.dataset.triggered = true;\n\n return false;\n }\n },\n\n remove: function(el) {\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n },\n\n find: function(parent, query) {\n parent = KTUtil.getById(parent);\n if (parent) {\n return parent.querySelector(query);\n }\n },\n\n findAll: function(parent, query) {\n parent = KTUtil.getById(parent);\n if (parent) {\n return parent.querySelectorAll(query);\n }\n },\n\n insertAfter: function(el, referenceNode) {\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\n },\n\n parents: function(elem, selector) {\n // Element.matches() polyfill\n if (!Element.prototype.matches) {\n Element.prototype.matches =\n Element.prototype.matchesSelector ||\n Element.prototype.mozMatchesSelector ||\n Element.prototype.msMatchesSelector ||\n Element.prototype.oMatchesSelector ||\n Element.prototype.webkitMatchesSelector ||\n function(s) {\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\n i = matches.length;\n while (--i >= 0 && matches.item(i) !== this) {}\n return i > -1;\n };\n }\n\n // Set up a parent array\n var parents = [];\n\n // Push each parent element to the array\n for ( ; elem && elem !== document; elem = elem.parentNode ) {\n if (selector) {\n if (elem.matches(selector)) {\n parents.push(elem);\n }\n continue;\n }\n parents.push(elem);\n }\n\n // Return our parent array\n return parents;\n },\n\n children: function(el, selector, log) {\n if (!el || !el.childNodes) {\n return;\n }\n\n var result = [],\n i = 0,\n l = el.childNodes.length;\n\n for (var i; i < l; ++i) {\n if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) {\n result.push(el.childNodes[i]);\n }\n }\n\n return result;\n },\n\n child: function(el, selector, log) {\n var children = KTUtil.children(el, selector, log);\n\n return children ? children[0] : null;\n },\n\n matches: function(el, selector, log) {\n var p = Element.prototype;\n var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) {\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n\n if (el && el.tagName) {\n return f.call(el, selector);\n } else {\n return false;\n }\n },\n\n data: function(el) {\n return {\n set: function(name, data) {\n if (!el) {\n return;\n }\n\n if (el.customDataTag === undefined) {\n window.KTUtilElementDataStoreID++;\n el.customDataTag = window.KTUtilElementDataStoreID;\n }\n\n if (window.KTUtilElementDataStore[el.customDataTag] === undefined) {\n window.KTUtilElementDataStore[el.customDataTag] = {};\n }\n\n window.KTUtilElementDataStore[el.customDataTag][name] = data;\n },\n\n get: function(name) {\n if (!el) {\n return;\n }\n\n if (el.customDataTag === undefined) {\n return null;\n }\n\n return this.has(name) ? window.KTUtilElementDataStore[el.customDataTag][name] : null;\n },\n\n has: function(name) {\n if (!el) {\n return false;\n }\n\n if (el.customDataTag === undefined) {\n return false;\n }\n\n return (window.KTUtilElementDataStore[el.customDataTag] && window.KTUtilElementDataStore[el.customDataTag][name]) ? true : false;\n },\n\n remove: function(name) {\n if (el && this.has(name)) {\n delete window.KTUtilElementDataStore[el.customDataTag][name];\n }\n }\n };\n },\n\n outerWidth: function(el, margin) {\n var width;\n\n if (margin === true) {\n width = parseFloat(el.offsetWidth);\n width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right'));\n\n return parseFloat(width);\n } else {\n width = parseFloat(el.offsetWidth);\n\n return width;\n }\n },\n\n offset: function(el) {\n var rect, win;\n\n if ( !el ) {\n return;\n }\n\n // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n // Support: IE <=11 only\n // Running getBoundingClientRect on a\n // disconnected node in IE throws an error\n\n if ( !el.getClientRects().length ) {\n return { top: 0, left: 0 };\n }\n\n // Get document-relative position by adding viewport scroll to viewport-relative gBCR\n rect = el.getBoundingClientRect();\n win = el.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n },\n\n height: function(el) {\n return KTUtil.css(el, 'height');\n },\n\n outerHeight: function(el, withMargin) {\n var height = el.offsetHeight;\n var style;\n\n if (typeof withMargin !== 'undefined' && withMargin === true) {\n style = getComputedStyle(el);\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\n\n return height;\n } else {\n return height;\n }\n },\n\n visible: function(el) {\n return !(el.offsetWidth === 0 && el.offsetHeight === 0);\n },\n\n attr: function(el, name, value) {\n if (el == undefined) {\n return;\n }\n\n if (value !== undefined) {\n el.setAttribute(name, value);\n } else {\n return el.getAttribute(name);\n }\n },\n\n hasAttr: function(el, name) {\n if (el == undefined) {\n return;\n }\n\n return el.getAttribute(name) ? true : false;\n },\n\n removeAttr: function(el, name) {\n if (el == undefined) {\n return;\n }\n\n el.removeAttribute(name);\n },\n\n animate: function(from, to, duration, update, easing, done) {\n /**\n * TinyAnimate.easings\n * Adapted from jQuery Easing\n */\n var easings = {};\n var easing;\n\n easings.linear = function(t, b, c, d) {\n return c * t / d + b;\n };\n\n easing = easings.linear;\n\n // Early bail out if called incorrectly\n if (typeof from !== 'number' ||\n typeof to !== 'number' ||\n typeof duration !== 'number' ||\n typeof update !== 'function') {\n return;\n }\n\n // Create mock done() function if necessary\n if (typeof done !== 'function') {\n done = function() {};\n }\n\n // Pick implementation (requestAnimationFrame | setTimeout)\n var rAF = window.requestAnimationFrame || function(callback) {\n window.setTimeout(callback, 1000 / 50);\n };\n\n // Animation loop\n var canceled = false;\n var change = to - from;\n\n function loop(timestamp) {\n var time = (timestamp || +new Date()) - start;\n\n if (time >= 0) {\n update(easing(time, from, change, duration));\n }\n if (time >= 0 && time >= duration) {\n update(to);\n done();\n } else {\n rAF(loop);\n }\n }\n\n update(from);\n\n // Start animation loop\n var start = window.performance && window.performance.now ? window.performance.now() : +new Date();\n\n rAF(loop);\n },\n\n actualCss: function(el, prop, cache) {\n var css = '';\n\n if (el instanceof HTMLElement === false) {\n return;\n }\n\n if (!el.getAttribute('kt-hidden-' + prop) || cache === false) {\n var value;\n\n // the element is hidden so:\n // making the el block so we can meassure its height but still be hidden\n css = el.style.cssText;\n el.style.cssText = 'position: absolute; visibility: hidden; display: block;';\n\n if (prop == 'width') {\n value = el.offsetWidth;\n } else if (prop == 'height') {\n value = el.offsetHeight;\n }\n\n el.style.cssText = css;\n\n // store it in cache\n el.setAttribute('kt-hidden-' + prop, value);\n\n return parseFloat(value);\n } else {\n // store it in cache\n return parseFloat(el.getAttribute('kt-hidden-' + prop));\n }\n },\n\n actualHeight: function(el, cache) {\n return KTUtil.actualCss(el, 'height', cache);\n },\n\n actualWidth: function(el, cache) {\n return KTUtil.actualCss(el, 'width', cache);\n },\n\n getScroll: function(element, method) {\n // The passed in `method` value should be 'Top' or 'Left'\n method = 'scroll' + method;\n return (element == window || element == document) ? (\n self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] ||\n (browserSupportsBoxModel && document.documentElement[method]) ||\n document.body[method]\n ) : element[method];\n },\n\n css: function(el, styleProp, value) {\n if (!el) {\n return;\n }\n\n if (value !== undefined) {\n el.style[styleProp] = value;\n } else {\n var defaultView = (el.ownerDocument || document).defaultView;\n // W3C standard way:\n if (defaultView && defaultView.getComputedStyle) {\n // sanitize property name to css notation\n // (hyphen separated words eg. font-Size)\n styleProp = styleProp.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\n } else if (el.currentStyle) { // IE\n // sanitize property name to camelCase\n styleProp = styleProp.replace(/\\-(\\w)/g, function(str, letter) {\n return letter.toUpperCase();\n });\n value = el.currentStyle[styleProp];\n // convert other units to pixels on IE\n if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\n return (function(value) {\n var oldLeft = el.style.left,\n oldRsLeft = el.runtimeStyle.left;\n el.runtimeStyle.left = el.currentStyle.left;\n el.style.left = value || 0;\n value = el.style.pixelLeft + \"px\";\n el.style.left = oldLeft;\n el.runtimeStyle.left = oldRsLeft;\n return value;\n })(value);\n }\n return value;\n }\n }\n },\n\n slide: function(el, dir, speed, callback, recalcMaxHeight) {\n if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) {\n return;\n }\n\n speed = (speed ? speed : 600);\n var calcHeight = KTUtil.actualHeight(el);\n var calcPaddingTop = false;\n var calcPaddingBottom = false;\n\n if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) {\n KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top'));\n }\n\n if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) {\n KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom'));\n }\n\n if (KTUtil.data(el).has('slide-padding-top')) {\n calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top'));\n }\n\n if (KTUtil.data(el).has('slide-padding-bottom')) {\n calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom'));\n }\n\n if (dir == 'up') { // up\n el.style.cssText = 'display: block; overflow: hidden;';\n\n if (calcPaddingTop) {\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {\n el.style.paddingTop = (calcPaddingTop - value) + 'px';\n }, 'linear');\n }\n\n if (calcPaddingBottom) {\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\n el.style.paddingBottom = (calcPaddingBottom - value) + 'px';\n }, 'linear');\n }\n\n KTUtil.animate(0, calcHeight, speed, function(value) {\n el.style.height = (calcHeight - value) + 'px';\n }, 'linear', function() {\n el.style.height = '';\n el.style.display = 'none';\n\n if (typeof callback === 'function') {\n callback();\n }\n });\n\n\n } else if (dir == 'down') { // down\n el.style.cssText = 'display: block; overflow: hidden;';\n\n if (calcPaddingTop) {\n KTUtil.animate(0, calcPaddingTop, speed, function(value) {//\n el.style.paddingTop = value + 'px';\n }, 'linear', function() {\n el.style.paddingTop = '';\n });\n }\n\n if (calcPaddingBottom) {\n KTUtil.animate(0, calcPaddingBottom, speed, function(value) {\n el.style.paddingBottom = value + 'px';\n }, 'linear', function() {\n el.style.paddingBottom = '';\n });\n }\n\n KTUtil.animate(0, calcHeight, speed, function(value) {\n el.style.height = value + 'px';\n }, 'linear', function() {\n el.style.height = '';\n el.style.display = '';\n el.style.overflow = '';\n\n if (typeof callback === 'function') {\n callback();\n }\n });\n }\n },\n\n slideUp: function(el, speed, callback) {\n KTUtil.slide(el, 'up', speed, callback);\n },\n\n slideDown: function(el, speed, callback) {\n KTUtil.slide(el, 'down', speed, callback);\n },\n\n show: function(el, display) {\n if (typeof el !== 'undefined') {\n el.style.display = (display ? display : 'block');\n }\n },\n\n hide: function(el) {\n if (typeof el !== 'undefined') {\n el.style.display = 'none';\n }\n },\n\n addEvent: function(el, type, handler, one) {\n if (typeof el !== 'undefined' && el !== null) {\n el.addEventListener(type, handler);\n }\n },\n\n removeEvent: function(el, type, handler) {\n if (el !== null) {\n el.removeEventListener(type, handler);\n }\n },\n\n on: function(element, selector, event, handler) {\n if (!selector) {\n return;\n }\n\n var eventId = KTUtil.getUniqueID('event');\n\n window.KTUtilDelegatedEventHandlers[eventId] = function(e) {\n var targets = element.querySelectorAll(selector);\n var target = e.target;\n\n while (target && target !== element) {\n for (var i = 0, j = targets.length; i < j; i++) {\n if (target === targets[i]) {\n handler.call(target, e);\n }\n }\n\n target = target.parentNode;\n }\n }\n\n KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\n\n return eventId;\n },\n\n off: function(element, event, eventId) {\n if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) {\n return;\n }\n\n KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]);\n\n delete window.KTUtilDelegatedEventHandlers[eventId];\n },\n\n one: function onetime(el, type, callback) {\n el.addEventListener(type, function callee(e) {\n // remove event\n if (e.target && e.target.removeEventListener) {\n e.target.removeEventListener(e.type, callee);\n }\n\n // need to verify from https://themeforest.net/author_dashboard#comment_23615588\n if (el && el.removeEventListener) {\n\t\t\t\t e.currentTarget.removeEventListener(e.type, callee);\n\t\t\t }\n\n // call handler\n return callback(e);\n });\n },\n\n hash: function(str) {\n var hash = 0,\n i, chr;\n\n if (str.length === 0) return hash;\n for (i = 0; i < str.length; i++) {\n chr = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n\n return hash;\n },\n\n animateClass: function(el, animationName, callback) {\n var animation;\n var animations = {\n animation: 'animationend',\n OAnimation: 'oAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n WebkitAnimation: 'webkitAnimationEnd',\n msAnimation: 'msAnimationEnd',\n };\n\n for (var t in animations) {\n if (el.style[t] !== undefined) {\n animation = animations[t];\n }\n }\n\n KTUtil.addClass(el, 'animated ' + animationName);\n\n KTUtil.one(el, animation, function() {\n KTUtil.removeClass(el, 'animated ' + animationName);\n });\n\n if (callback) {\n KTUtil.one(el, animation, callback);\n }\n },\n\n transitionEnd: function(el, callback) {\n var transition;\n var transitions = {\n transition: 'transitionend',\n OTransition: 'oTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n WebkitTransition: 'webkitTransitionEnd',\n msTransition: 'msTransitionEnd'\n };\n\n for (var t in transitions) {\n if (el.style[t] !== undefined) {\n transition = transitions[t];\n }\n }\n\n KTUtil.one(el, transition, callback);\n },\n\n animationEnd: function(el, callback) {\n var animation;\n var animations = {\n animation: 'animationend',\n OAnimation: 'oAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n WebkitAnimation: 'webkitAnimationEnd',\n msAnimation: 'msAnimationEnd'\n };\n\n for (var t in animations) {\n if (el.style[t] !== undefined) {\n animation = animations[t];\n }\n }\n\n KTUtil.one(el, animation, callback);\n },\n\n animateDelay: function(el, value) {\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\n for (var i = 0; i < vendors.length; i++) {\n KTUtil.css(el, vendors[i] + 'animation-delay', value);\n }\n },\n\n animateDuration: function(el, value) {\n var vendors = ['webkit-', 'moz-', 'ms-', 'o-', ''];\n for (var i = 0; i < vendors.length; i++) {\n KTUtil.css(el, vendors[i] + 'animation-duration', value);\n }\n },\n\n scrollTo: function(target, offset, duration) {\n var duration = duration ? duration : 500;\n var targetPos = target ? KTUtil.offset(target).top : 0;\n var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n var from, to;\n\n if (offset) {\n scrollPos += offset;\n }\n\n from = scrollPos;\n to = targetPos;\n\n KTUtil.animate(from, to, duration, function(value) {\n document.documentElement.scrollTop = value;\n document.body.parentNode.scrollTop = value;\n document.body.scrollTop = value;\n }); //, easing, done\n },\n\n scrollTop: function(offset, duration) {\n KTUtil.scrollTo(null, offset, duration);\n },\n\n isArray: function(obj) {\n return obj && Array.isArray(obj);\n },\n\n ready: function(callback) {\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\") {\n callback();\n } else {\n document.addEventListener('DOMContentLoaded', callback);\n }\n },\n\n isEmpty: function(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n },\n\n numberString: function(nStr) {\n nStr += '';\n var x = nStr.split('.');\n var x1 = x[0];\n var x2 = x.length > 1 ? '.' + x[1] : '';\n var rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\n }\n return x1 + x2;\n },\n\n detectIE: function() {\n var ua = window.navigator.userAgent;\n\n // Test values; Uncomment to check result …\n\n // IE 10\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\n\n // IE 11\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\n\n // Edge 12 (Spartan)\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\n\n // Edge 13\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\n\n var msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n }\n\n // other browser\n return false;\n },\n\n isRTL: function() {\n var html = KTUtil.getByTagName('html')[0];\n\n if (html) {\n return (KTUtil.attr(html, 'direction') == 'rtl');\n }\n },\n\n // Scroller\n scrollInit: function(element, options) {\n if (!element) {\n return;\n }\n\n // Learn more: https://github.com/mdbootstrap/perfect-scrollbar#options\n var pluginDefOptions = {\n wheelSpeed: 0.5,\n swipeEasing: true,\n wheelPropagation: false,\n minScrollbarLength: 40,\n maxScrollbarLength: 300,\n suppressScrollX: true\n };\n\n options = KTUtil.deepExtend({}, pluginDefOptions, options);\n\n // Define init function\n function init() {\n var ps;\n var height;\n\n // Get extra options via data attributes\n var attrs = element.getAttributeNames();\n if (attrs.length > 0) {\n attrs.forEach(function(attrName) {\n \t\t\t// more options; https://github.com/ganlanyuan/tiny-slider#options\n \t\t\tif ((/^data-.*/g).test(attrName)) {\n if (['scroll', 'height', 'mobile-height'].includes(optionName) == false) {\n var optionName = attrName.replace('data-', '').toLowerCase().replace(/(?:[\\s-])\\w/g, function(match) {\n \t\t\t\t\treturn match.replace('-', '').toUpperCase();\n \t\t\t\t});\n\n options[optionName] = KTUtil.filterBoolean(element.getAttribute(attrName));\n }\n \t\t\t}\n \t\t});\n }\n\n if (options.height instanceof Function) {\n height = options.height.call();\n } else {\n if (KTUtil.isMobileDevice() === true && options.mobileHeight) {\n height = parseInt(options.mobileHeight);\n } else if (options.height) {\n height = parseInt(options.height);\n } else {\n height = parseInt(KTUtil.css(element, 'height'));\n }\n }\n\n if (height === false) {\n KTUtil.scrollDestroy(element, true);\n\n return;\n }\n\n height = parseInt(height);\n\n // Destroy scroll on table and mobile modes\n if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isMobileDevice() === true) {\n ps = KTUtil.data(element).get('ps');\n if (ps) {\n if (options.resetHeightOnDestroy) {\n KTUtil.css(element, 'height', 'auto');\n } else {\n KTUtil.css(element, 'overflow', 'auto');\n if (height > 0) {\n KTUtil.css(element, 'height', height + 'px');\n }\n }\n\n ps.destroy();\n ps = KTUtil.data(element).remove('ps');\n } else if (height > 0){\n KTUtil.css(element, 'overflow', 'auto');\n KTUtil.css(element, 'height', height + 'px');\n }\n\n return;\n }\n\n if (height > 0) {\n KTUtil.css(element, 'height', height + 'px');\n }\n\n if (options.desktopNativeScroll) {\n KTUtil.css(element, 'overflow', 'auto');\n return;\n }\n\n // Pass options via HTML Attributes\n if (KTUtil.attr(element, 'data-window-scroll') == 'true') {\n options.windowScroll = true;\n }\n\n // Init scroll\n ps = KTUtil.data(element).get('ps');\n\n if (ps) {\n ps.update();\n } else {\n KTUtil.css(element, 'overflow', 'hidden');\n KTUtil.addClass(element, 'scroll');\n\n ps = new PerfectScrollbar(element, options);\n\n KTUtil.data(element).set('ps', ps);\n }\n\n // Remember scroll position in cookie\n var uid = KTUtil.attr(element, 'id');\n\n // Todo:Consider using Localstorage\n if (options.rememberPosition === true && KTCookie && uid) {\n if (KTCookie.getCookie(uid)) {\n var pos = parseInt(KTCookie.getCookie(uid));\n\n if (pos > 0) {\n element.scrollTop = pos;\n }\n }\n\n element.addEventListener('ps-scroll-y', function() {\n KTCookie.setCookie(uid, element.scrollTop);\n });\n }\n }\n\n // Init\n init();\n\n // Handle window resize\n if (options.handleWindowResize) {\n KTUtil.addResizeHandler(function() {\n init();\n });\n }\n },\n\n scrollUpdate: function(element) {\n var ps = KTUtil.data(element).get('ps');\n if (ps) {\n ps.update();\n }\n },\n\n scrollUpdateAll: function(parent) {\n var scrollers = KTUtil.findAll(parent, '.ps');\n for (var i = 0, len = scrollers.length; i < len; i++) {\n KTUtil.scrollUpdate(scrollers[i]);\n }\n },\n\n scrollDestroy: function(element, resetAll) {\n var ps = KTUtil.data(element).get('ps');\n\n if (ps) {\n ps.destroy();\n ps = KTUtil.data(element).remove('ps');\n }\n\n if (element && resetAll) {\n element.style.setProperty('overflow', '');\n element.style.setProperty('height', '');\n }\n },\n\n filterBoolean: function(val) {\n // Convert string boolean\n\t\t\tif (val === true || val === 'true') {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (val === false || val === 'false') {\n\t\t\t\treturn false;\n\t\t\t}\n\n return val;\n },\n\n setHTML: function(el, html) {\n el.innerHTML = html;\n },\n\n getHTML: function(el) {\n if (el) {\n return el.innerHTML;\n }\n },\n\n getDocumentHeight: function() {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\n },\n\n getScrollTop: function() {\n return (document.scrollingElement || document.documentElement).scrollTop;\n },\n\n changeColor: function(col, amt) {\n\n var usePound = false;\n\n if (col[0] == \"#\") {\n col = col.slice(1);\n usePound = true;\n }\n\n var num = parseInt(col,16);\n\n var r = (num >> 16) + amt;\n\n if (r > 255) r = 255;\n else if (r < 0) r = 0;\n\n var b = ((num >> 8) & 0x00FF) + amt;\n\n if (b > 255) b = 255;\n else if (b < 0) b = 0;\n\n var g = (num & 0x0000FF) + amt;\n\n if (g > 255) g = 255;\n else if (g < 0) g = 0;\n\n return (usePound?\"#\":\"\") + (g | (b << 8) | (r << 16)).toString(16);\n\n },\n\n // Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds\n throttle: function (timer, func, delay) {\n \t// If setTimeout is already scheduled, no need to do anything\n \tif (timer) {\n \t\treturn;\n \t}\n\n \t// Schedule a setTimeout after delay seconds\n \ttimer = setTimeout(function () {\n \t\tfunc();\n\n \t\t// Once setTimeout function execution is finished, timerId = undefined so that in
\n \t\t// the next scroll event function execution can be scheduled by the setTimeout\n \t\ttimer = undefined;\n \t}, delay);\n },\n\n // Debounce function: Input as function which needs to be debounced and delay is the debounced time in milliseconds\n debounce: function (timer, func, delay) {\n \t// Cancels the setTimeout method execution\n \tclearTimeout(timer)\n\n \t// Executes the func after delay time.\n \ttimer = setTimeout(func, delay);\n },\n\n btnWait: function(el, cls, message, disable) {\n if (!el) {\n return;\n }\n\n if (typeof disable !== 'undefined' && disable === true) {\n KTUtil.attr(el, \"disabled\", true);\n }\n\n if (cls) {\n KTUtil.addClass(el, cls);\n KTUtil.attr(el, \"wait-class\", cls);\n }\n\n if (message) {\n var caption = KTUtil.find(el, '.btn-caption');\n\n if (caption) {\n KTUtil.data(caption).set('caption', KTUtil.getHTML(caption));\n KTUtil.setHTML(caption, message);\n } else {\n KTUtil.data(el).set('caption', KTUtil.getHTML(el));\n KTUtil.setHTML(el, message);\n }\n }\n },\n\n btnRelease: function(el) {\n if (!el) {\n return;\n }\n\n /// Show loading state on button\n KTUtil.removeAttr(el, \"disabled\");\n\n if (KTUtil.hasAttr(el, \"wait-class\")) {\n KTUtil.removeClass(el, KTUtil.attr(el, \"wait-class\"));\n }\n\n var caption = KTUtil.find(el, '.btn-caption');\n\n if (caption && KTUtil.data(caption).has('caption')) {\n KTUtil.setHTML(caption, KTUtil.data(caption).get('caption'));\n } else if (KTUtil.data(el).has('caption')) {\n KTUtil.setHTML(el, KTUtil.data(el).get('caption'));\n }\n },\n\n isOffscreen: function(el, direction, offset) {\n offset = offset || 0;\n\n var windowWidth = KTUtil.getViewPort().width;\n var windowHeight = KTUtil.getViewPort().height;\n\n var top = KTUtil.offset(el).top;\n var height = KTUtil.outerHeight(el) + offset;\n var left = KTUtil.offset(el).left;\n var width = KTUtil.outerWidth(el) + offset;\n\n if (direction == 'bottom') {\n if (windowHeight < top + height) {\n return true;\n } else if (windowHeight > top + height * 1.5) {\n return true;\n }\n }\n\n if (direction == 'top') {\n if (top < 0) {\n return true;\n } else if (top > height) {\n return true;\n }\n }\n\n if (direction == 'left') {\n if (left < 0) {\n return true;\n } else if (left * 2 > width) {\n //console.log('left 2');\n //return true;\n }\n }\n\n if (direction == 'right') {\n if (windowWidth < left + width) {\n return true;\n } else {\n //console.log('right 2');\n //return true;\n }\n }\n\n return false;\n }\n }\n}();\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTUtil;\n}\n\n// Initialize KTUtil class on document ready\nKTUtil.ready(function() {\n\tif (typeof KTAppSettings !== 'undefined') {\n\t\tKTUtil.init(KTAppSettings);\n\t} else {\n\t\tKTUtil.init();\n\t}\n});\n\n// CSS3 Transitions only after page load(.page-loading class added to body tag and remove with JS on page load)\nwindow.onload = function() {\n var result = KTUtil.getByTagName('body');\n if (result && result[0]) {\n KTUtil.removeClass(result[0], 'page-loading');\n }\n}\n\nexport default KTUtil;","\"use strict\";\n\nvar KTLayoutExamples = function() {\n\n var initDefaultMode = function(element) {\n var elements = element;\n if (typeof elements === 'undefined') {\n elements = document.querySelectorAll('.example:not(.example-compact):not(.example-hover):not(.example-basic)');\n }\n\n if (elements && elements.length > 0 ) {\n for (var i = 0; i < elements.length; ++i) {\n var example = elements[i];\n var copy = KTUtil.find(example, '.example-copy');\n\n if (copy) {\n var clipboard = new ClipboardJS(copy, {\n target: function(trigger) {\n var example = trigger.closest('.example');\n var el = KTUtil.find(example, '.example-code .tab-pane.active');\n\n if (!el) {\n el = KTUtil.find(example, '.example-code');\n }\n\n return el;\n }\n });\n\n clipboard.on('success', function(e) {\n KTUtil.addClass(e.trigger, 'example-copied');\n e.clearSelection();\n\n setTimeout(function() {\n KTUtil.removeClass(e.trigger, 'example-copied');\n }, 2000);\n });\n }\n }\n }\n }\n\n var initCompactMode = function(element) {\n var example,code,toggle,copy, clipboard;\n\n var elements = element;\n if (typeof elements === 'undefined') {\n var elements = document.querySelectorAll('.example.example-compact');\n }\n\n if (elements && elements.length > 0 ) {\n for (var i = 0; i < elements.length; ++i) {\n var example = elements[i];\n var toggle = KTUtil.find(example, '.example-toggle');\n var copy = KTUtil.find(example, '.example-copy');\n\n // Handle toggle\n KTUtil.addEvent(toggle, 'click', function() {\n var example = this.closest('.example');\n var code = KTUtil.find(example, '.example-code');\n var the = this;\n\n if (KTUtil.hasClass(this, 'example-toggled')) {\n KTUtil.slideUp(code, 300, function() {\n KTUtil.removeClass(the, 'example-toggled');\n KTUtil.removeClass(code, 'example-code-on');\n KTUtil.hide(code);\n });\n } else {\n KTUtil.addClass(code, 'example-code-on');\n KTUtil.addClass(this, 'example-toggled');\n KTUtil.slideDown(code, 300, function() {\n KTUtil.show(code);\n });\n }\n });\n\n // Handle copy\n if (copy) {\n var clipboard = new ClipboardJS(copy, {\n target: function(trigger) {\n var example = trigger.closest('.example');\n var el = KTUtil.find(example, '.example-code .tab-pane.active');\n\n if (!el) {\n el = KTUtil.find(example, '.example-code');\n }\n\n return el;\n }\n });\n\n clipboard.on('success', function(e) {\n KTUtil.addClass(e.trigger, 'example-copied');\n e.clearSelection();\n\n setTimeout(function() {\n KTUtil.removeClass(e.trigger, 'example-copied');\n }, 2000);\n });\n }\n }\n }\n }\n\n return {\n init: function(element, options) {\n initDefaultMode(element);\n initCompactMode(element);\n }\n };\n}();\n\n\n\nexport default KTLayoutExamples;","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTOffcanvas = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n attrCustom: ''\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n construct: function(options) {\n if (KTUtil.data(element).has('offcanvas')) {\n the = KTUtil.data(element).get('offcanvas');\n } else {\n // Reset offcanvas\n Plugin.init(options);\n\n // Build offcanvas\n Plugin.build();\n\n KTUtil.data(element).set('offcanvas', the);\n }\n\n return the;\n },\n\n init: function(options) {\n the.events = [];\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n\n the.classBase = the.options.baseClass;\n the.attrCustom = the.options.attrCustom;\n the.classShown = the.classBase + '-on';\n the.classOverlay = the.classBase + '-overlay';\n the.target;\n\n the.state = KTUtil.hasClass(element, the.classShown) ? 'shown' : 'hidden';\n },\n\n build: function() {\n // offcanvas toggle\n if (the.options.toggleBy) {\n if (typeof the.options.toggleBy === 'string') {\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy), 'click', function(e) {\n e.preventDefault();\n the.target = this;\n\n Plugin.toggle();\n });\n } else if (the.options.toggleBy && the.options.toggleBy[0]) {\n if (the.options.toggleBy[0].target) {\n for (var i in the.options.toggleBy) {\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i].target), 'click', function(e) {\n e.preventDefault();\n the.target = this;\n Plugin.toggle();\n });\n }\n } else {\n for (var i in the.options.toggleBy) {\n KTUtil.addEvent(KTUtil.getById(the.options.toggleBy[i]), 'click', function(e) {\n e.preventDefault();\n the.target = this;\n Plugin.toggle();\n });\n }\n }\n\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\n KTUtil.addEvent( KTUtil.getById(the.options.toggleBy.target), 'click', function(e) {\n e.preventDefault();\n the.target = this;\n Plugin.toggle();\n });\n }\n }\n\n // offcanvas close\n var closeBy = KTUtil.getById(the.options.closeBy);\n if (closeBy) {\n KTUtil.addEvent(closeBy, 'click', function(e) {\n e.preventDefault();\n the.target = this;\n Plugin.hide();\n });\n }\n },\n\n isShown: function() {\n return (the.state == 'shown' ? true : false);\n },\n\n toggle: function() {;\n Plugin.eventTrigger('toggle');\n\n if (the.state == 'shown') {\n Plugin.hide();\n } else {\n Plugin.show();\n }\n },\n\n show: function() {\n if (the.state == 'shown') {\n return;\n }\n\n Plugin.eventTrigger('beforeShow');\n\n Plugin.toggleClass('show');\n\n // Offcanvas panel\n KTUtil.attr(body, 'data-offcanvas-' + the.classBase, 'on');\n KTUtil.addClass(element, the.classShown);\n\n if (the.attrCustom.length > 0) {\n KTUtil.attr(body, 'data-offcanvas-' + the.classCustom, 'on');\n //KTUtil.addClass(body, the.classCustom);\n }\n\n the.state = 'shown';\n\n if (the.options.overlay) {\n the.overlay = KTUtil.insertAfter(document.createElement('DIV') , element );\n KTUtil.addClass(the.overlay, the.classOverlay);\n\n KTUtil.addEvent(the.overlay, 'click', function(e) {\n //e.stopPropagation();\n e.preventDefault();\n Plugin.hide(the.target);\n });\n }\n\n Plugin.eventTrigger('afterShow');\n },\n\n hide: function() {\n if (the.state == 'hidden') {\n return;\n }\n\n Plugin.eventTrigger('beforeHide');\n\n Plugin.toggleClass('hide');\n\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.classBase);\n KTUtil.removeClass(element, the.classShown);\n\n if (the.attrCustom.length > 0) {\n KTUtil.removeAttr(body, 'data-offcanvas-' + the.attrCustom);\n }\n\n the.state = 'hidden';\n\n if (the.options.overlay && the.overlay) {\n KTUtil.remove(the.overlay);\n }\n\n Plugin.eventTrigger('afterHide');\n },\n\n toggleClass: function(mode) {\n var id = KTUtil.attr(the.target, 'id');\n var toggleBy;\n\n if (the.options.toggleBy && the.options.toggleBy[0] && the.options.toggleBy[0].target) {\n for (var i in the.options.toggleBy) {\n if (the.options.toggleBy[i].target === id) {\n toggleBy = the.options.toggleBy[i];\n }\n }\n } else if (the.options.toggleBy && the.options.toggleBy.target) {\n toggleBy = the.options.toggleBy;\n }\n\n if (toggleBy) {\n var el = KTUtil.getById(toggleBy.target);\n\n if (mode === 'show') {\n KTUtil.addClass(el, toggleBy.state);\n }\n\n if (mode === 'hide') {\n KTUtil.removeClass(el, toggleBy.state);\n }\n }\n },\n\n eventTrigger: function(name, args) {\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the, args);\n }\n } else {\n return event.handler.call(this, the, args);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n * @param options\n */\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Check if canvas is shown\n * @returns {boolean}\n */\n the.isShown = function() {\n return Plugin.isShown();\n };\n\n /**\n * Set to hide the canvas\n */\n the.hide = function() {\n return Plugin.hide();\n };\n\n /**\n * Set to show the canvas\n */\n the.show = function() {\n return Plugin.show();\n };\n\n /**\n * Attach event\n * @param name\n * @param handler\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Attach event that will be fired once\n * @param name\n * @param handler\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n ///////////////////////////////\n // ** Plugin Construction ** //\n ///////////////////////////////\n\n // Run plugin\n Plugin.construct.apply(the, [options]);\n\n // Init done\n init = true;\n\n // Return plugin instance\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTOffcanvas;\n}\n\nexport default KTOffcanvas;","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTScrolltop = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n offset: 300,\n speed: 6000\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Run plugin\n * @returns {mscrolltop}\n */\n construct: function(options) {\n if (KTUtil.data(element).has('scrolltop')) {\n the = KTUtil.data(element).get('scrolltop');\n } else {\n // reset scrolltop\n Plugin.init(options);\n\n // build scrolltop\n Plugin.build();\n\n KTUtil.data(element).set('scrolltop', the);\n }\n\n return the;\n },\n\n /**\n * Handles subscrolltop click toggle\n * @returns {mscrolltop}\n */\n init: function(options) {\n the.events = [];\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n },\n\n build: function() {\n var timer;\n\n window.addEventListener('scroll', function() {\n KTUtil.throttle(timer, function() {\n Plugin.handle();\n }, 200);\n });\n\n // handle button click\n KTUtil.addEvent(element, 'click', Plugin.scroll);\n },\n\n /**\n * Handles scrolltop click scrollTop\n */\n handle: function() {\n var pos = KTUtil.getScrollTop(); // current vertical position\n\n if (pos > the.options.offset) {\n if (body.hasAttribute('data-scrolltop') === false) {\n body.setAttribute('data-scrolltop', 'on');\n }\n } else {\n if (body.hasAttribute('data-scrolltop') === true) {\n body.removeAttribute('data-scrolltop');\n }\n }\n },\n\n /**\n * Handles scrolltop click scrollTop\n */\n scroll: function(e) {\n e.preventDefault();\n\n KTUtil.scrollTop(0, the.options.speed);\n },\n\n\n /**\n * Trigger events\n */\n eventTrigger: function(name, args) {\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the, args);\n }\n } else {\n return event.handler.call(this, the, args);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Get subscrolltop mode\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Set scrolltop content\n * @returns {mscrolltop}\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n ///////////////////////////////\n // ** Plugin Construction ** //\n ///////////////////////////////\n\n // Run plugin\n Plugin.construct.apply(the, [options]);\n\n // Init done\n init = true;\n\n // Return plugin instance\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTScrolltop;\n}\n\nexport default KTScrolltop;","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=235e7fb0&prod&scoped=true&lang=css\"","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTToggle = function(toggleElement, targetElement, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = toggleElement;\n var target = targetElement;\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n targetToggleMode: 'class' // class|attribute\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Construct\n */\n\n construct: function(options) {\n if (KTUtil.data(element).has('toggle')) {\n the = KTUtil.data(element).get('toggle');\n } else {\n // reset menu\n Plugin.init(options);\n\n // build menu\n Plugin.build();\n\n KTUtil.data(element).set('toggle', the);\n }\n\n return the;\n },\n\n /**\n * Handles subtoggle click toggle\n */\n init: function(options) {\n the.element = element;\n the.events = [];\n\n // Merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n\n //alert(the.options.target.tagName);\n the.target = target;\n\n the.targetState = the.options.targetState;\n the.toggleState = the.options.toggleState;\n\n if (the.options.targetToggleMode == 'class') {\n the.state = KTUtil.hasClasses(the.target, the.targetState) ? 'on' : 'off';\n } else {\n the.state = KTUtil.hasAttr(the.target, 'data-' + the.targetState) ? KTUtil.attr(the.target, 'data-' + the.targetState) : 'off';\n }\n },\n\n /**\n * Setup toggle\n */\n build: function() {\n KTUtil.addEvent(element, 'mouseup', Plugin.toggle);\n },\n\n /**\n * Handles offcanvas click toggle\n */\n toggle: function(e) {\n Plugin.eventTrigger('beforeToggle');\n\n if (the.state == 'off') {\n Plugin.toggleOn();\n } else {\n Plugin.toggleOff();\n }\n\n Plugin.eventTrigger('afterToggle');\n\n e.preventDefault();\n\n return the;\n },\n\n /**\n * Handles toggle click toggle\n */\n toggleOn: function() {\n Plugin.eventTrigger('beforeOn');\n\n if (the.options.targetToggleMode == 'class') {\n KTUtil.addClass(the.target, the.targetState);\n } else {\n KTUtil.attr(the.target, 'data-' + the.targetState, 'on');\n }\n\n if (the.toggleState) {\n KTUtil.addClass(element, the.toggleState);\n }\n\n the.state = 'on';\n\n Plugin.eventTrigger('afterOn');\n\n Plugin.eventTrigger('toggle');\n\n return the;\n },\n\n /**\n * Handles toggle click toggle\n */\n toggleOff: function() {\n Plugin.eventTrigger('beforeOff');\n\n if (the.options.targetToggleMode == 'class') {\n KTUtil.removeClass(the.target, the.targetState);\n } else {\n KTUtil.removeAttr(the.target, 'data-' + the.targetState);\n }\n\n if (the.toggleState) {\n KTUtil.removeClass(element, the.toggleState);\n }\n\n the.state = 'off';\n\n Plugin.eventTrigger('afterOff');\n\n Plugin.eventTrigger('toggle');\n\n return the;\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name) {\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the);\n }\n } else {\n return event.handler.call(this, the);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n\n return the;\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Get toggle state\n */\n the.getState = function() {\n return the.state;\n };\n\n /**\n * Toggle\n */\n the.toggle = function() {\n return Plugin.toggle();\n };\n\n /**\n * Toggle on\n */\n the.toggleOn = function() {\n return Plugin.toggleOn();\n };\n\n /**\n * Toggle off\n */\n the.toggleOff = function() {\n return Plugin.toggleOff();\n };\n\n /**\n * Attach event\n * @returns {KTToggle}\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Attach event that will be fired once\n * @returns {KTToggle}\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n // Construct plugin\n Plugin.construct.apply(the, [options]);\n\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTToggle;\n}\n\nexport default KTToggle;","var map = {\n\t\"./en.json\": \"d142\",\n\t\"./ko.json\": \"79d8\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"d041\";","export const country = [\n\n {\n \"label\": \"American Samoa\",\n \"name\": \"american-samoa\",\n \"value\": \"ASM\",\n \"infertext\": \"아메리칸사모아\",\n \"status\": true\n },\n\n {\n \"label\": \"Anguilla\",\n \"name\": \"anguilla\",\n \"value\": \"AIA\",\n \"infertext\": \"앵귈라\",\n \"status\": true\n },\n {\n \"label\": \"Antarctica\",\n \"name\": \"antarctica\",\n \"value\": \"ATA\",\n \"infertext\": \"남극\",\n \"status\": true\n },\n {\n \"label\": \"Bonaire, Sint Eustatius and Saba\",\n \"name\": \"bonaire\",\n \"value\": \"BES\",\n \"infertext\": \"카리브 네덜란드\",\n \"status\": true\n },\n\n {\n \"label\": \"Bouvet Island\",\n \"name\": \"bouvet-island\",\n \"value\": \"BVT\",\n \"infertext\": \"부베 섬\",\n \"status\": true\n },\n\n {\n \"label\": \"British Indian Ocean Territory (the)\",\n \"name\": \"british-indian\",\n \"value\": \"IOT\",\n \"infertext\": \"영국령 인도양 지역\",\n \"status\": true\n },\n {\n \"label\": \"Christmas Island\",\n \"name\": \"christmas-island\",\n \"value\": \"CXR\",\n \"infertext\": \"크리스마스 섬\",\n \"status\": true\n },\n {\n \"label\": \"Cocos (Keeling) Islands (the)\",\n \"name\": \"cocos-islands\",\n \"value\": \"CCK\",\n \"infertext\": \"코코스 제도\",\n \"status\": true\n },\n {\n \"label\": \"Curaçao\",\n \"name\": \"curacao\",\n \"value\": \"CUW\",\n \"infertext\": \"퀴라소\",\n \"status\": true\n },\n {\n \"label\": \"Falkland Islands (the) [Malvinas]\",\n \"name\": \"falkland-islands\",\n \"value\": \"FLK\",\n \"infertext\": \"포클랜드 제도\",\n \"status\": true\n },\n {\n \"label\": \"Faroe Islands (the)\",\n \"name\": \"faroe-islands\",\n \"value\": \"FRO\",\n \"infertext\": \"페로 제도\",\n \"status\": true\n },\n {\n \"label\": \"French Guiana\",\n \"name\": \"french-guiana\",\n \"value\": \"GUF\",\n \"infertext\": \"프랑스령 기아나\",\n \"status\": true\n },\n {\n \"label\": \"French Polynesia\",\n \"name\": \"french-polynesia\",\n \"value\": \"PYF\",\n \"infertext\": \"프랑스령 폴리네시아\",\n \"status\": true\n },\n\n {\n \"label\": \"French Southern Territories (the)\",\n \"name\": \"french-southern\",\n \"value\": \"ATF\",\n \"infertext\": \"프랑스령 남방 및 남극 지역\",\n \"status\": true\n },\n\n {\n \"label\": \"Gibraltar\",\n \"name\": \"gibraltar\",\n \"value\": \"GIB\",\n \"infertext\": \"지브롤터\",\n \"status\": true\n },\n {\n \"label\": \"Greenland\",\n \"name\": \"greenland\",\n \"value\": \"GRL\",\n \"infertext\": \"그린란드\",\n \"status\": true\n },\n {\n \"label\": \"Guadeloupe\",\n \"name\": \"guadeloupe\",\n \"value\": \"GLP\",\n \"infertext\": \"과들루프\",\n \"status\": true\n },\n {\n \"label\": \"Guernsey\",\n \"name\": \"guernsey\",\n \"value\": \"GGY\",\n \"infertext\": \"건지섬\",\n \"status\": true\n },\n {\n \"label\": \"Heard Island and McDonald Islands\",\n \"name\": \"heard-island\",\n \"value\": \"HMD\",\n \"infertext\": \"허드 맥도널드 제도\",\n \"status\": true\n },\n\n {\n \"label\": \"Holy See (the)\",\n \"name\": \"holy-see\",\n \"value\": \"VAT\",\n \"infertext\": \"바티칸 시국\",\n \"status\": true\n },\n\n {\n \"label\": \"Isle of Man\",\n \"name\": \"isle-of-man\",\n \"value\": \"IMN\",\n \"infertext\": \"맨섬\",\n \"status\": true\n },\n {\n \"label\": \"Jersey\",\n \"name\": \"jersey\",\n \"value\": \"JEY\",\n \"infertext\": \"저지섬\",\n \"status\": true\n },\n {\n \"label\": \"Kiribati\",\n \"name\": \"kiribati\",\n \"value\": \"KIR\",\n \"infertext\": \"키리바시\",\n \"status\": true\n },\n {\n \"label\": \"Macao\",\n \"name\": \"macao\",\n \"value\": \"MAC\",\n \"infertext\": \"마카오\",\n \"status\": true\n },\n {\n \"label\": \"Marshall Islands (the)\",\n \"name\": \"marshall-islands\",\n \"value\": \"MHL\",\n \"infertext\": \"마셜 제도\",\n \"status\": true\n },\n {\n \"label\": \"Martinique\",\n \"name\": \"martinique\",\n \"value\": \"MTQ\",\n \"infertext\": \"마르티니크\",\n \"status\": true\n },\n {\n \"label\": \"Mayotte\",\n \"name\": \"mayotte\",\n \"value\": \"MYT\",\n \"infertext\": \"마요트\",\n \"status\": true\n },\n {\n \"label\": \"Montenegro\",\n \"name\": \"montenegro\",\n \"value\": \"MNE\",\n \"infertext\": \"몬테네그로\",\n \"status\": true\n },\n\n {\n \"label\": \"Montserrat\",\n \"name\": \"montserrat\",\n \"value\": \"MSR\",\n \"infertext\": \"몬트세랫\",\n \"status\": true\n },\n {\n \"label\": \"New Caledonia\",\n \"name\": \"new-caledonia\",\n \"value\": \"NCL\",\n \"infertext\": \"누벨칼레도니\",\n \"status\": true\n },\n {\n \"label\": \"Niue\",\n \"name\": \"niue\",\n \"value\": \"NIU\",\n \"infertext\": \"니우에\",\n \"status\": true\n },\n\n {\n \"label\": \"Northern Mariana Islands (the)\",\n \"name\": \"northern-mariana-islands\",\n \"value\": \"MNP\",\n \"infertext\": \"북마리아나 제도\",\n \"status\": true\n },\n\n {\n \"label\": \"Pitcairn\",\n \"name\": \"pitcairn\",\n \"value\": \"PCN\",\n \"infertext\": \"핏케언 제도\",\n \"status\": true\n },\n {\n \"label\": \"Réunion\",\n \"name\": \"reunion\",\n \"value\": \"REU\",\n \"infertext\": \"레위니옹\",\n \"status\": true\n },\n\n {\n \"label\": \"Saint Barthélemy\",\n \"name\": \"saint-barthelemy\",\n \"value\": \"BLM\",\n \"infertext\": \"생바르텔레미\",\n \"status\": true\n },\n {\n \"label\": \"Saint Helena, Ascension and Tristan da Cunha\",\n \"name\": \"saint-helena\",\n \"value\": \"SHN\",\n \"infertext\": \"세인트헬레나\",\n \"status\": true\n },\n\n {\n \"label\": \"Saint Martin (French part)\",\n \"name\": \"saint-martin\",\n \"value\": \"MAF\",\n \"infertext\": \"생마르탱\",\n \"status\": true\n },\n {\n \"label\": \"Saint Pierre and Miquelon\",\n \"name\": \"saint-pierre-and-miquelon\",\n \"value\": \"SPM\",\n \"infertext\": \"생피에르 미클롱\",\n \"status\": true\n },\n {\n \"label\": \"Sint Maarten (Dutch part)\",\n \"name\": \"sint-maarten\",\n \"value\": \"SXM\",\n \"infertext\": \"신트마르턴\",\n \"status\": true\n },\n {\n \"label\": \"South Georgia and the South Sandwich Islands\",\n \"name\": \"south-georgia\",\n \"value\": \"SGS\",\n \"infertext\": \"사우스조지아 사우스샌드위치 제도\",\n \"status\": true\n },\n {\n \"label\": \"Svalbard and Jan Mayen\",\n \"name\": \"svalbard\",\n \"value\": \"SJM\",\n \"infertext\": \"스발바르 얀마옌\",\n \"status\": true\n },\n {\n \"label\": \"Timor-Leste\",\n \"name\": \"timor-leste\",\n \"value\": \"TLS\",\n \"infertext\": \"동티모르\",\n \"status\": true\n },\n {\n \"label\": \"Tokelau\",\n \"name\": \"tokelau\",\n \"value\": \"TKL\",\n \"infertext\": \"토켈라우\",\n \"status\": true\n },\n {\n \"label\": \"Tuvalu\",\n \"name\": \"tuvalu\",\n \"value\": \"TUV\",\n \"infertext\": \"투발루\",\n \"status\": true\n },\n {\n \"label\": \"United States Minor Outlying Islands (the)\",\n \"name\": \"united-states-minor-outlying-islands\",\n \"value\": \"UMI\",\n \"infertext\": \"미국령 군소 제도\",\n \"status\": true\n },\n {\n \"label\": \"Wallis and Futuna\",\n \"name\": \"wallis-and-futuna\",\n \"value\": \"WLF\",\n \"infertext\": \"왈리스 푸투나\",\n \"status\": true\n },\n\n {\n \"label\": \"South Sudan\",\n \"name\": \"south-sudan\",\n \"value\": \"SSD\",\n \"infertext\": \"남수단\",\n \"status\": true\n },\n\n {\n \"label\": \"Turks and Caicos Islands (the)\",\n \"name\": \"turks-and-caicos-islands\",\n \"value\": \"TCA\",\n \"infertext\": \"터크스 케이커스 제도\",\n \"status\": true\n },\n {\n \"label\": \"Western Sahara\",\n \"name\": \"western-sahara\",\n \"value\": \"ESH\",\n \"infertext\": \"서사하라\",\n \"status\": true\n },\n {\n \"label\": \"Åland Islands\",\n \"name\": \"aland-islands\",\n \"value\": \"ALA\",\n \"infertext\": \"올란드 제도\",\n \"status\": true\n },\n\n\n {\n \"label\": \"Afghanistan\",\n \"name\": \"afghanistan\",\n \"value\": \"AFG\",\n \"infertext\": \"아프가니스탄\",\n \"status\": true\n },\n\n {\n \"label\": \"Albania\",\n \"name\": \"albania\",\n \"value\": \"ALB\",\n \"infertext\": \"알바니아\",\n \"status\": true\n },\n {\n \"label\": \"Algeria\",\n \"name\": \"algeria\",\n \"value\": \"DZA\",\n \"infertext\": \"알제리\",\n \"status\": true\n },\n {\n \"label\": \"Andorra\",\n \"name\": \"andorra\",\n \"value\": \"AND\",\n \"infertext\": \"안도라\",\n \"status\": true\n },\n {\n \"label\": \"Angola\",\n \"name\": \"angola\",\n \"value\": \"AGO\",\n \"infertext\": \"앙골라\",\n \"status\": true\n },\n {\n \"label\": \"Antiguaand barbuda\",\n \"name\": \"antigua-and-barbuda\",\n \"value\": \"ATG\",\n \"infertext\": \"앤티과바부다\",\n \"status\": true\n },\n {\n \"label\": \"Argentina\",\n \"name\": \"argentina\",\n \"value\": \"ARG\",\n \"infertext\": \"아르헨티나\",\n \"status\": true\n },\n {\n \"label\": \"Armenia\",\n \"name\": \"armenia\",\n \"value\": \"ARM\",\n \"infertext\": \"아르메니아\",\n \"status\": true\n },\n {\n \"label\": \"Aruba\",\n \"name\": \"aruba\",\n \"value\": \"ABW\",\n \"infertext\": \"아루바\",\n \"status\": true\n },\n {\n \"label\": \"Samoa\",\n \"name\": \"samoa\",\n \"value\": \"WSM\",\n \"infertext\": \"사모아\",\n \"status\": true\n },\n {\n \"label\": \"Australia\",\n \"name\": \"australia\",\n \"value\": \"AUS\",\n \"infertext\": \"오스트레일리아\",\n \"status\": true\n },\n {\n \"label\": \"Austria\",\n \"name\": \"austria\",\n \"value\": \"AUT\",\n \"infertext\": \"오스트리아\",\n \"status\": true\n },\n {\n \"label\": \"Azerbaijan\",\n \"name\": \"azerbaijan\",\n \"value\": \"AZE\",\n \"infertext\": \"아제르바이잔\",\n \"status\": true\n },\n {\n \"label\": \"Bahamas\",\n \"name\": \"bahamas\",\n \"value\": \"BHS\",\n \"infertext\": \"바하마\",\n \"status\": true\n },\n {\n \"label\": \"Bangladesh\",\n \"name\": \"bangladesh\",\n \"value\": \"BGD\",\n \"infertext\": \"방글라데시\",\n \"status\": true\n },\n {\n \"label\": \"Barbados\",\n \"name\": \"barbados\",\n \"value\": \"BRB\",\n \"infertext\": \"바베이도즈\",\n \"status\": true\n },\n {\n \"label\": \"Burundi\",\n \"name\": \"burundi\",\n \"value\": \"BDI\",\n \"infertext\": \"부룬디\",\n \"status\": true\n },\n {\n \"label\": \"Belgium\",\n \"name\": \"belgium\",\n \"value\": \"BEL\",\n \"infertext\": \"벨기에\",\n \"status\": true\n },\n {\n \"label\": \"Benin\",\n \"name\": \"benin\",\n \"value\": \"BEN\",\n \"infertext\": \"베넹\",\n \"status\": true\n },\n {\n \"label\": \"Bermuda\",\n \"name\": \"bermuda\",\n \"value\": \"BMU\",\n \"infertext\": \"버뮤다\",\n \"status\": true\n },\n {\n \"label\": \"Bhutan\",\n \"name\": \"bhutan\",\n \"value\": \"BTN\",\n \"infertext\": \"부탄\",\n \"status\": true\n },\n {\n \"label\": \"Bosnia and herzegovina\",\n \"name\": \"bosnia-and-herzegovina\",\n \"value\": \"BIH\",\n \"infertext\": \"보스니아헤르체고비나\",\n \"status\": true\n },\n {\n \"label\": \"Belize\",\n \"name\": \"belize\",\n \"value\": \"BLZ\",\n \"infertext\": \"벨리즈\",\n \"status\": true\n },\n {\n \"label\": \"Belarus\",\n \"name\": \"belarus\",\n \"value\": \"BLR\",\n \"infertext\": \"벨라루스\",\n \"status\": true\n },\n {\n \"label\": \"Bolivia\",\n \"name\": \"bolivia\",\n \"value\": \"BOL\",\n \"infertext\": \"볼리비아\",\n \"status\": true\n },\n {\n \"label\": \"Botswana\",\n \"name\": \"botswana\",\n \"value\": \"BWA\",\n \"infertext\": \"보츠와나\",\n \"status\": true\n },\n {\n \"label\": \"Brazil\",\n \"name\": \"brazil\",\n \"value\": \"BRA\",\n \"infertext\": \"브라질\",\n \"status\": true\n },\n {\n \"label\": \"Bahrain\",\n \"name\": \"bahrain\",\n \"value\": \"BHR\",\n \"infertext\": \"바레인\",\n \"status\": true\n },\n {\n \"label\": \"Brunei\",\n \"name\": \"brunei\",\n \"value\": \"BRN\",\n \"infertext\": \"브루나이\",\n \"status\": true\n },\n {\n \"label\": \"Bulgaria\",\n \"name\": \"bulgaria\",\n \"value\": \"BGR\",\n \"infertext\": \"불가리아\",\n \"status\": true\n },\n {\n \"label\": \"Burkina Faso\",\n \"name\": \"burkina-faso\",\n \"value\": \"BFA\",\n \"infertext\": \"부르키나파소\",\n \"status\": true\n },\n {\n \"label\": \"Central African Republic (the)\",\n \"name\": \"central-african-republic\",\n \"value\": \"CAF\",\n \"infertext\": \"중앙아프리카공화국\",\n \"status\": true\n },\n {\n \"label\": \"Cambodia\",\n \"name\": \"cambodia\",\n \"value\": \"KHM\",\n \"infertext\": \"캄보디아\",\n \"status\": true\n },\n {\n \"label\": \"Canada\",\n \"name\": \"canada\",\n \"value\": \"CAN\",\n \"infertext\": \"캐나다\",\n \"status\": true\n },\n {\n \"label\": \"Cayman\",\n \"name\": \"cayman-islands\",\n \"value\": \"CYM\",\n \"infertext\": \"케이먼 제도\",\n \"status\": true\n },\n {\n \"label\": \"Congo (the)\",\n \"name\": \"republic-of-the-congo\",\n \"value\": \"COG\",\n \"infertext\": \"콩고\",\n \"status\": true\n },\n\n {\n \"label\": \"Chad\",\n \"name\": \"chad\",\n \"value\": \"TCD\",\n \"infertext\": \"차드\",\n \"status\": true\n },\n {\n \"label\": \"Chile\",\n \"name\": \"chile\",\n \"value\": \"CHL\",\n \"infertext\": \"칠레\",\n \"status\": true\n },\n {\n \"label\": \"China\",\n \"name\": \"china\",\n \"value\": \"CHN\",\n \"infertext\": \"중국 中文 中国 中华人民共和国\",\n \"status\": true\n },\n {\n \"label\": \"Côte d'Ivoire\",\n \"name\": \"coted_d_ivoire\",\n \"value\": \"CIV\",\n \"infertext\": \"코트디부아르\",\n \"status\": true\n },\n {\n \"label\": \"Cameroon\",\n \"name\": \"cameroon\",\n \"value\": \"CMR\",\n \"infertext\": \"카메룬\",\n \"status\": true\n },\n {\n \"label\": \"Congo (the Democratic Republic of the)\",\n \"name\": \"democratic-republic-of-congo\",\n \"value\": \"COD\",\n \"infertext\": \"콩고민주공화국\",\n \"status\": true\n },\n {\n \"label\": \"Cook Islands (the)\",\n \"name\": \"cook-islands\",\n \"value\": \"COK\",\n \"infertext\": \"쿡\",\n \"status\": true\n },\n {\n \"label\": \"Colombia\",\n \"name\": \"colombia\",\n \"value\": \"COL\",\n \"infertext\": \"콜롬비아\",\n \"status\": true\n },\n {\n \"label\": \"Comoros (the)\",\n \"name\": \"comoros\",\n \"value\": \"COM\",\n \"infertext\": \"코모로\",\n \"status\": true\n },\n {\n \"label\": \"Cabo Verde\",\n \"name\": \"cape-verde\",\n \"value\": \"CPV\",\n \"infertext\": \"케이프베르데\",\n \"status\": true\n },\n {\n \"label\": \"Costa Rica\",\n \"name\": \"costa-rica\",\n \"value\": \"CRI\",\n \"infertext\": \"코스타리카\",\n \"status\": true\n },\n {\n \"label\": \"Croatia\",\n \"name\": \"croatia\",\n \"value\": \"HRV\",\n \"infertext\": \"크로아티아\",\n \"status\": true\n },\n {\n \"label\": \"Cuba\",\n \"name\": \"cuba\",\n \"value\": \"CUB\",\n \"infertext\": \"쿠바\",\n \"status\": true\n },\n {\n \"label\": \"Cyprus\",\n \"name\": \"cyprus\",\n \"value\": \"CYP\",\n \"infertext\": \"키프러스\",\n \"status\": true\n },\n {\n \"label\": \"Czechia\",\n \"name\": \"czech-republic\",\n \"value\": \"CZE\",\n \"infertext\": \"체코\",\n \"status\": true\n },\n {\n \"label\": \"Denmark\",\n \"name\": \"denmark\",\n \"value\": \"DNK\",\n \"infertext\": \"덴마크\",\n \"status\": true\n },\n {\n \"label\": \"Djibouti\",\n \"name\": \"djibouti\",\n \"value\": \"DJI\",\n \"infertext\": \"지부티\",\n \"status\": true\n },\n {\n \"label\": \"Dominica\",\n \"name\": \"dominica\",\n \"value\": \"DMA\",\n \"infertext\": \"도미니카 연방\",\n \"status\": true\n },\n {\n \"label\": \"Dominican Republic (the)\",\n \"name\": \"dominican-republic\",\n \"value\": \"DOM\",\n \"infertext\": \"도미니카 공화국\",\n \"status\": true\n },\n {\n \"label\": \"Ecuador\",\n \"name\": \"ecuador\",\n \"value\": \"ECU\",\n \"infertext\": \"에콰도르\",\n \"status\": true\n },\n {\n \"label\": \"Egypt\",\n \"name\": \"egypt\",\n \"value\": \"EGY\",\n \"infertext\": \"이집트\",\n \"status\": true\n },\n {\n \"label\": \"Eritrea\",\n \"name\": \"eritrea\",\n \"value\": \"ERI\",\n \"infertext\": \"에리트레아\",\n \"status\": true\n },\n {\n \"label\": \"El Salvador\",\n \"name\": \"el-salvador\",\n \"value\": \"SLV\",\n \"infertext\": \"엘살바도르\",\n \"status\": true\n },\n {\n \"label\": \"Spain\",\n \"name\": \"spain\",\n \"value\": \"ESP\",\n \"infertext\": \"스페인 Español español\",\n \"status\": true\n },\n {\n \"label\": \"Estonia\",\n \"name\": \"estonia\",\n \"value\": \"EST\",\n \"infertext\": \"에스토니아\",\n \"status\": true\n },\n {\n \"label\": \"Ethiopia\",\n \"name\": \"ethiopia\",\n \"value\": \"ETH\",\n \"infertext\": \"에티오피아\",\n \"status\": true\n },\n {\n \"label\": \"Fiji\",\n \"name\": \"fiji\",\n \"value\": \"FJI\",\n \"infertext\": \"피지\",\n \"status\": true\n },\n {\n \"label\": \"Finland\",\n \"name\": \"finland\",\n \"value\": \"FIN\",\n \"infertext\": \"핀란드\",\n \"status\": true\n },\n {\n \"label\": \"France\",\n \"name\": \"france\",\n \"value\": \"FRA\",\n \"infertext\": \"프랑스\",\n \"status\": true\n },\n {\n \"label\": \"Micronesia\",\n \"name\": \"micronesia\",\n \"value\": \"FSM\",\n \"infertext\": \"미크로네시아\",\n \"status\": true\n },\n {\n \"label\": \"Gabon\",\n \"name\": \"gabon\",\n \"value\": \"GAB\",\n \"infertext\": \"가봉\",\n \"status\": true\n },\n {\n \"label\": \"Gambia\",\n \"name\": \"gambia\",\n \"value\": \"GMB\",\n \"infertext\": \"감비아\",\n \"status\": true\n },\n {\n \"label\": \"United Kingdom of Great Britain and Northern Ireland (the)\",\n \"name\": \"united-kingdom\",\n \"value\": \"GBR\",\n \"infertext\": \"영국\",\n \"status\": true\n },\n {\n \"label\": \"Guinea Bissau\",\n \"name\": \"guinea-bissau\",\n \"value\": \"GNB\",\n \"infertext\": \"기니비사우\",\n \"status\": true\n },\n {\n \"label\": \"Georgia\",\n \"name\": \"georgia\",\n \"value\": \"GEO\",\n \"infertext\": \"조지아\",\n \"status\": true\n },\n {\n \"label\": \"Equatorial Guinea\",\n \"name\": \"equatorial-guinea\",\n \"value\": \"GNQ\",\n \"infertext\": \"적도 기니\",\n \"status\": true\n },\n {\n \"label\": \"Germany\",\n \"name\": \"germany\",\n \"value\": \"DEU\",\n \"infertext\": \"독일\",\n \"status\": true\n },\n {\n \"label\": \"Ghana\",\n \"name\": \"ghana\",\n \"value\": \"GHA\",\n \"infertext\": \"가나\",\n \"status\": true\n },\n {\n \"label\": \"Greece\",\n \"name\": \"greece\",\n \"value\": \"GRC\",\n \"infertext\": \"그리스\",\n \"status\": true\n },\n {\n \"label\": \"Grenada\",\n \"name\": \"grenada\",\n \"value\": \"GRD\",\n \"infertext\": \"그레나다\",\n \"status\": true\n },\n {\n \"label\": \"Guatemala\",\n \"name\": \"guatemala\",\n \"value\": \"GTM\",\n \"infertext\": \"과테말라\",\n \"status\": true\n },\n {\n \"label\": \"Guinea\",\n \"name\": \"guinea\",\n \"value\": \"GIN\",\n \"infertext\": \"기니\",\n \"status\": true\n },\n {\n \"label\": \"Guam\",\n \"name\": \"guam\",\n \"value\": \"GUM\",\n \"infertext\": \"괌\",\n \"status\": true\n },\n {\n \"label\": \"Guyana\",\n \"name\": \"guyana\",\n \"value\": \"GUY\",\n \"infertext\": \"가이아나\",\n \"status\": true\n },\n {\n \"label\": \"Haiti\",\n \"name\": \"haiti\",\n \"value\": \"HTI\",\n \"infertext\": \"아이티\",\n \"status\": true\n },\n {\n \"label\": \"Hong Kong\",\n \"name\": \"hong-kong\",\n \"value\": \"HKG\",\n \"infertext\": \"홍콩\",\n \"status\": true\n },\n {\n \"label\": \"Honduras\",\n \"name\": \"honduras\",\n \"value\": \"HND\",\n \"infertext\": \"온두라스\",\n \"status\": true\n },\n {\n \"label\": \"Hungary\",\n \"name\": \"hungary\",\n \"value\": \"HUN\",\n \"infertext\": \"헝가리\",\n \"status\": true\n },\n {\n \"label\": \"Indonesia\",\n \"name\": \"indonesia\",\n \"value\": \"IDN\",\n \"infertext\": \"인도네시아\",\n \"status\": true\n },\n {\n \"label\": \"India\",\n \"name\": \"india\",\n \"value\": \"IND\",\n \"infertext\": \"인도\",\n \"status\": true\n },\n {\n \"label\": \"Iran\",\n \"name\": \"iran\",\n \"value\": \"IRN\",\n \"infertext\": \"이란\",\n \"status\": false\n },\n {\n \"label\": \"Ireland\",\n \"name\": \"ireland\",\n \"value\": \"IRL\",\n \"infertext\": \"아일랜드\",\n \"status\": true\n },\n {\n \"label\": \"Iraq\",\n \"name\": \"iraq\",\n \"value\": \"IRQ\",\n \"infertext\": \"이라크\",\n \"status\": true\n },\n {\n \"label\": \"Iceland\",\n \"name\": \"iceland\",\n \"value\": \"ISL\",\n \"infertext\": \"아이슬란드\",\n \"status\": true\n },\n {\n \"label\": \"Israel\",\n \"name\": \"israel\",\n \"value\": \"ISR\",\n \"infertext\": \"이스라엘\",\n \"status\": true\n },\n {\n \"label\": \"Italy\",\n \"name\": \"italy\",\n \"value\": \"ITA\",\n \"infertext\": \"이탈리아\",\n \"status\": true\n },\n {\n \"label\": \"Virgin Islands (British)\",\n \"name\": \"british-virgin-islands\",\n \"value\": \"VGB\",\n \"infertext\": \"영국령 버진\",\n \"status\": true\n },\n {\n \"label\": \"Jamaica\",\n \"name\": \"jamaica\",\n \"value\": \"JAM\",\n \"infertext\": \"자메이카\",\n \"status\": true\n },\n {\n \"label\": \"Jordan\",\n \"name\": \"jordan\",\n \"value\": \"JOR\",\n \"infertext\": \"요르단\",\n \"status\": true\n },\n {\n \"label\": \"Japan\",\n \"name\": \"japan\",\n \"value\": \"JPN\",\n \"infertext\": \"일본 日本\",\n \"status\": true\n },\n {\n \"label\": \"Kazakhstan\",\n \"name\": \"kazakhstan\",\n \"value\": \"KAZ\",\n \"infertext\": \"카자흐스탄\",\n \"status\": true\n },\n {\n \"label\": \"Kenya\",\n \"name\": \"kenya\",\n \"value\": \"KEN\",\n \"infertext\": \"케냐\",\n \"status\": true\n },\n {\n \"label\": \"Kosovo\",\n \"name\": \"kosovo\",\n \"value\": \"XKX\",\n \"infertext\": \"코소보\",\n \"status\": true\n },\n {\n \"label\": \"Kyrgyzstan\",\n \"name\": \"kyrgyzstan\",\n \"value\": \"KGZ\",\n \"infertext\": \"키르기즈스탄\",\n \"status\": true\n },\n {\n \"label\": \"South Korea\",\n \"name\": \"south-korea\",\n \"value\": \"KOR\",\n \"infertext\": \"대한민국 한국\",\n \"status\": true\n },\n {\n \"label\": \"Saudi arabia\",\n \"name\": \"saudi-arabia\",\n \"value\": \"SAU\",\n \"infertext\": \"사우디아라비아\",\n \"status\": true\n },\n {\n \"label\": \"Kuwait\",\n \"name\": \"kuwait\",\n \"value\": \"KWT\",\n \"infertext\": \"쿠웨이트\",\n \"status\": true\n },\n {\n \"label\": \"Laos\",\n \"name\": \"laos\",\n \"value\": \"LAO\",\n \"infertext\": \"라오스\",\n \"status\": true\n },\n {\n \"label\": \"Latvia\",\n \"name\": \"latvia\",\n \"value\": \"LVA\",\n \"infertext\": \"라트비아\",\n \"status\": true\n },\n {\n \"label\": \"Libya\",\n \"name\": \"libya\",\n \"value\": \"LBY\",\n \"infertext\": \"리비아\",\n \"status\": true\n },\n {\n \"label\": \"Liberia\",\n \"name\": \"liberia\",\n \"value\": \"LBR\",\n \"infertext\": \"라이베리아\",\n \"status\": true\n },\n {\n \"label\": \"Saint Lucia\",\n \"name\": \"st-lucia\",\n \"value\": \"LCA\",\n \"infertext\": \"세인트루시아\",\n \"status\": true\n },\n {\n \"label\": \"Lesotho\",\n \"name\": \"lesotho\",\n \"value\": \"LSO\",\n \"infertext\": \"레소토\",\n \"status\": true\n },\n {\n \"label\": \"Lebanon\",\n \"name\": \"lebanon\",\n \"value\": \"LBN\",\n \"infertext\": \"레바논\",\n \"status\": true\n },\n {\n \"label\": \"Liechtenstein\",\n \"name\": \"liechtenstein\",\n \"value\": \"LIE\",\n \"infertext\": \"리히텐슈타인\",\n \"status\": true\n },\n {\n \"label\": \"Lithuania\",\n \"name\": \"lithuania\",\n \"value\": \"LTU\",\n \"infertext\": \"리투아니아\",\n \"status\": true\n },\n {\n \"label\": \"Luxembourg\",\n \"name\": \"luxembourg\",\n \"value\": \"LUX\",\n \"infertext\": \"룩셈부르크\",\n \"status\": true\n },\n {\n \"label\": \"Madagascar\",\n \"name\": \"madagascar\",\n \"value\": \"MDG\",\n \"infertext\": \"마다가스카르\",\n \"status\": true\n },\n {\n \"label\": \"Morocco\",\n \"name\": \"morocco\",\n \"value\": \"MAR\",\n \"infertext\": \"모로코\",\n \"status\": true\n },\n {\n \"label\": \"Malaysia\",\n \"name\": \"malaysia\",\n \"value\": \"MYS\",\n \"infertext\": \"말레이시아\",\n \"status\": true\n },\n {\n \"label\": \"Malawi\",\n \"name\": \"malawi\",\n \"value\": \"MWI\",\n \"infertext\": \"말라위\",\n \"status\": true\n },\n {\n \"label\": \"Moldova\",\n \"name\": \"moldova\",\n \"value\": \"MDA\",\n \"infertext\": \"몰도바\",\n \"status\": true\n },\n {\n \"label\": \"Maldives\",\n \"name\": \"maldives\",\n \"value\": \"MDV\",\n \"infertext\": \"몰디브\",\n \"status\": true\n },\n {\n \"label\": \"Mexico\",\n \"name\": \"mexico\",\n \"value\": \"MEX\",\n \"infertext\": \"멕시코\",\n \"status\": true\n },\n {\n \"label\": \"Mongolia\",\n \"name\": \"mongolia\",\n \"value\": \"MNG\",\n \"infertext\": \"몽골\",\n \"status\": true\n },\n {\n \"label\": \"Republic of North Macedonia\",\n \"name\": \"republic-of-macedonia\",\n \"value\": \"MKD\",\n \"infertext\": \"마케도니아\",\n \"status\": true\n },\n {\n \"label\": \"Mali\",\n \"name\": \"mali\",\n \"value\": \"MLI\",\n \"infertext\": \"말리\",\n \"status\": true\n },\n {\n \"label\": \"Malta\",\n \"name\": \"malta\",\n \"value\": \"MLT\",\n \"infertext\": \"몰타\",\n \"status\": true\n },\n {\n \"label\": \"Monaco\",\n \"name\": \"monaco\",\n \"value\": \"MCO\",\n \"infertext\": \"모나코\",\n \"status\": true\n },\n {\n \"label\": \"Mozambique\",\n \"name\": \"mozambique\",\n \"value\": \"MOZ\",\n \"infertext\": \"모잠비크\",\n \"status\": true\n },\n {\n \"label\": \"Mauritius\",\n \"name\": \"mauritius\",\n \"value\": \"MUS\",\n \"infertext\": \"모리셔스\",\n \"status\": true\n },\n {\n \"label\": \"Mauritania\",\n \"name\": \"mauritania\",\n \"value\": \"MRT\",\n \"infertext\": \"모리타니아\",\n \"status\": true\n },\n {\n \"label\": \"Myanmar\",\n \"name\": \"myanmar\",\n \"value\": \"MMR\",\n \"infertext\": \"미얀마\",\n \"status\": true\n },\n {\n \"label\": \"Namibia\",\n \"name\": \"namibia\",\n \"value\": \"NAM\",\n \"infertext\": \"나미비아\",\n \"status\": true\n },\n {\n \"label\": \"Nauru\",\n \"name\": \"nauru\",\n \"value\": \"NRU\",\n \"infertext\": \"나우루\",\n \"status\": true\n },\n {\n \"label\": \"Netherlands (the)\",\n \"name\": \"netherlands\",\n \"value\": \"NLD\",\n \"infertext\": \"네덜란드\",\n \"status\": true\n },\n\n {\n \"label\": \"Nepal\",\n \"name\": \"nepal\",\n \"value\": \"NPL\",\n \"infertext\": \"네팔\",\n \"status\": true\n },\n {\n \"label\": \"New Zealand\",\n \"name\": \"new-zealand\",\n \"value\": \"NZL\",\n \"infertext\": \"뉴질란드\",\n \"status\": true\n },\n {\n \"label\": \"Nicaragua\",\n \"name\": \"nicaragua\",\n \"value\": \"NIC\",\n \"infertext\": \"니카라과\",\n \"status\": true\n },\n {\n \"label\": \"Nigeria\",\n \"name\": \"nigeria\",\n \"value\": \"NGA\",\n \"infertext\": \"나이지리아\",\n \"status\": true\n },\n {\n \"label\": \"Niger\",\n \"name\": \"niger\",\n \"value\": \"NER\",\n \"infertext\": \"니제르\",\n \"status\": true\n },\n {\n \"label\": \"Norfolk\",\n \"name\": \"norfolk\",\n \"value\": \"NFK\",\n \"infertext\": \"노퍽\",\n \"status\": true\n },\n {\n \"label\": \"Norway\",\n \"name\": \"norway\",\n \"value\": \"NOR\",\n \"infertext\": \"노르웨이\",\n \"status\": true\n },\n {\n \"label\": \"Oman\",\n \"name\": \"oman\",\n \"value\": \"OMN\",\n \"infertext\": \"오만\",\n \"status\": true\n },\n {\n \"label\": \"Pakistan\",\n \"name\": \"pakistan\",\n \"value\": \"PAK\",\n \"infertext\": \"파키스탄\",\n \"status\": true\n },\n {\n \"label\": \"Panama\",\n \"name\": \"panama\",\n \"value\": \"PAN\",\n \"infertext\": \"파나마\",\n \"status\": true\n },\n {\n \"label\": \"Paraguay\",\n \"name\": \"paraguay\",\n \"value\": \"PRY\",\n \"infertext\": \"파라과이\",\n \"status\": true\n },\n {\n \"label\": \"Peru\",\n \"name\": \"peru\",\n \"value\": \"PER\",\n \"infertext\": \"페루\",\n \"status\": true\n },\n {\n \"label\": \"Philippines\",\n \"name\": \"philippines\",\n \"value\": \"PHL\",\n \"infertext\": \"필리핀 pilip\",\n \"status\": true\n },\n {\n \"label\": \"Palestine\",\n \"name\": \"palestine\",\n \"value\": \"PSE\",\n \"infertext\": \"팔레스타인\",\n \"status\": true\n },\n {\n \"label\": \"Palau\",\n \"name\": \"palau\",\n \"value\": \"PLW\",\n \"infertext\": \"팔라우\",\n \"status\": true\n },\n {\n \"label\": \"Papua New Guinea\",\n \"name\": \"papua-new-guinea\",\n \"value\": \"PNG\",\n \"infertext\": \"파푸아뉴기니\",\n \"status\": true\n },\n {\n \"label\": \"Poland\",\n \"name\": \"republic-of-poland\",\n \"value\": \"POL\",\n \"infertext\": \"폴란드\",\n \"status\": true\n },\n {\n \"label\": \"Portugal\",\n \"name\": \"portugal\",\n \"value\": \"PRT\",\n \"infertext\": \"포르투갈 portug português Português\",\n \"status\": true\n },\n {\n \"label\": \"North Korea\",\n \"name\": \"north-korea\",\n \"value\": \"PRK\",\n \"infertext\": \"북한\",\n \"status\": false\n },\n {\n \"label\": \"Puerto Rico\",\n \"name\": \"puerto-rico\",\n \"value\": \"PRI\",\n \"infertext\": \"푸에르토리코\",\n \"status\": true\n },\n {\n \"label\": \"Qatar\",\n \"name\": \"qatar\",\n \"value\": \"QAT\",\n \"infertext\": \"카타르\",\n \"status\": true\n },\n {\n \"label\": \"Romania\",\n \"name\": \"romania\",\n \"value\": \"ROU\",\n \"infertext\": \"루마니아\",\n \"status\": true\n },\n {\n \"label\": \"South Africa\",\n \"name\": \"south-africa\",\n \"value\": \"ZAF\",\n \"infertext\": \"남아프리카공화국\",\n \"status\": true\n },\n {\n \"label\": \"Russia\",\n \"name\": \"russia\",\n \"value\": \"RUS\",\n \"infertext\": \"러시아\",\n \"status\": true\n },\n {\n \"label\": \"Rwanda\",\n \"name\": \"rwanda\",\n \"value\": \"RWA\",\n \"infertext\": \"르완다\",\n \"status\": true\n },\n {\n \"label\": \"Serbia\",\n \"name\": \"serbia\",\n \"value\": \"SRB\",\n \"infertext\": \"세르비아\",\n \"status\": true\n },\n {\n \"label\": \"Senegal\",\n \"name\": \"senegal\",\n \"value\": \"SEN\",\n \"infertext\": \"세네갈\",\n \"status\": true\n },\n {\n \"label\": \"Seychelles\",\n \"name\": \"seychelles\",\n \"value\": \"SYC\",\n \"infertext\": \"세이셸\",\n \"status\": true\n },\n {\n \"label\": \"Singapore\",\n \"name\": \"singapore\",\n \"value\": \"SGP\",\n \"infertext\": \"싱가포르\",\n \"status\": true\n },\n {\n \"label\": \"Saint Kitts and Nevis\",\n \"name\": \"saint-kitts-and-nevis\",\n \"value\": \"KNA\",\n \"infertext\": \"세인트 키츠 앤 네비스\",\n \"status\": true\n },\n {\n \"label\": \"Sierra Leone\",\n \"name\": \"sierra-leone\",\n \"value\": \"SLE\",\n \"infertext\": \"시에라리온\",\n \"status\": true\n },\n {\n \"label\": \"Slovenia\",\n \"name\": \"slovenia\",\n \"value\": \"SVN\",\n \"infertext\": \"슬로베니아\",\n \"status\": true\n },\n {\n \"label\": \"San Marino\",\n \"name\": \"san-marino\",\n \"value\": \"SMR\",\n \"infertext\": \"산마리노\",\n \"status\": true\n },\n {\n \"label\": \"Solomon islands\",\n \"name\": \"solomon-islands\",\n \"value\": \"SLB\",\n \"infertext\": \"솔로몬\",\n \"status\": true\n },\n {\n \"label\": \"Somalia\",\n \"name\": \"somalia\",\n \"value\": \"SOM\",\n \"infertext\": \"소말리아\",\n \"status\": true\n },\n {\n \"label\": \"Sri Lanka\",\n \"name\": \"sri-lanka\",\n \"value\": \"LKA\",\n \"infertext\": \"스리랑카\",\n \"status\": true\n },\n {\n \"label\": \"Sao Tome And Principe\",\n \"name\": \"sao-tome-and-principe\",\n \"value\": \"STP\",\n \"infertext\": \"상투메 프린시페\",\n \"status\": true\n },\n {\n \"label\": \"Sudan\",\n \"name\": \"sudan\",\n \"value\": \"SDN\",\n \"infertext\": \"수단\",\n \"status\": true\n },\n {\n \"label\": \"Switzerland\",\n \"name\": \"switzerland\",\n \"value\": \"CHE\",\n \"infertext\": \"스위스\",\n \"status\": true\n },\n {\n \"label\": \"Suriname\",\n \"name\": \"suriname\",\n \"value\": \"SUR\",\n \"infertext\": \"수리남\",\n \"status\": true\n },\n {\n \"label\": \"Slovakia\",\n \"name\": \"slovakia\",\n \"value\": \"SVK\",\n \"infertext\": \"슬로바키아\",\n \"status\": true\n },\n {\n \"label\": \"Sweden\",\n \"name\": \"sweden\",\n \"value\": \"SWE\",\n \"infertext\": \"스웨덴\",\n \"status\": true\n },\n {\n \"label\": \"Swaziland\",\n \"name\": \"swaziland\",\n \"value\": \"SWZ\",\n \"infertext\": \"스와질랜드\",\n \"status\": true\n },\n {\n \"label\": \"Syria\",\n \"name\": \"syria\",\n \"value\": \"SYR\",\n \"infertext\": \"시리아\",\n \"status\": true\n },\n {\n \"label\": \"Tanzania\",\n \"name\": \"tanzania\",\n \"value\": \"TZA\",\n \"infertext\": \"탄자니아\",\n \"status\": true\n },\n {\n \"label\": \"Tonga\",\n \"name\": \"tonga\",\n \"value\": \"TON\",\n \"infertext\": \"통가\",\n \"status\": true\n },\n {\n \"label\": \"Thailand\",\n \"name\": \"thailand\",\n \"value\": \"THA\",\n \"infertext\": \"타이\",\n \"status\": true\n },\n {\n \"label\": \"Tajikistan\",\n \"name\": \"tadzhikistan\",\n \"value\": \"TJK\",\n \"infertext\": \"타지키스탄\",\n \"status\": true\n },\n {\n \"label\": \"Turkmenistan\",\n \"name\": \"turkmenistan\",\n \"value\": \"TKM\",\n \"infertext\": \"투르크메니스탄\",\n \"status\": true\n },\n {\n \"label\": \"Togo\",\n \"name\": \"togo\",\n \"value\": \"TGO\",\n \"infertext\": \"토고\",\n \"status\": true\n },\n {\n \"label\": \"Taiwan\",\n \"name\": \"taiwan\",\n \"value\": \"TWN\",\n \"infertext\": \"대만\",\n \"status\": true\n },\n {\n \"label\": \"Trinidad And Tobago\",\n \"name\": \"trinidad-and-tobago\",\n \"value\": \"TTO\",\n \"infertext\": \"트리니다드 토바고\",\n \"status\": true\n },\n {\n \"label\": \"Tunisia\",\n \"name\": \"tunisia\",\n \"value\": \"TUN\",\n \"infertext\": \"튀니지\",\n \"status\": true\n },\n {\n \"label\": \"Turkey\",\n \"name\": \"turkey\",\n \"value\": \"TUR\",\n \"infertext\": \"터키\",\n \"status\": true\n },\n {\n \"label\": \"United Arab Emirates (the)\",\n \"name\": \"united-arab-emirates\",\n \"value\": \"ARE\",\n \"infertext\": \"아랍 에미레이트\",\n \"status\": true\n },\n {\n \"label\": \"Uganda\",\n \"name\": \"uganda\",\n \"value\": \"UGA\",\n \"infertext\": \"우간다\",\n \"status\": true\n },\n {\n \"label\": \"Ukraine\",\n \"name\": \"ukraine\",\n \"value\": \"UKR\",\n \"infertext\": \"우크라이나\",\n \"status\": true\n },\n {\n \"label\": \"Uruguay\",\n \"name\": \"uruguay\",\n \"value\": \"URY\",\n \"infertext\": \"우루과이\",\n \"status\": true\n },\n {\n \"label\": \"United states\",\n \"name\": \"united-states\",\n \"value\": \"USA\",\n \"infertext\": \"미국 america America us US U.S USA usa\",\n \"status\": true\n },\n {\n \"label\": \"United States Virgin Islands\",\n \"name\": \"united-states-virgin-islands\",\n \"value\": \"VIR\",\n \"infertext\": \"버진\",\n \"status\": true\n },\n {\n \"label\": \"Uzbekistan\",\n \"name\": \"uzbekistn\",\n \"value\": \"UZB\",\n \"infertext\": \"우즈베키스탄 Uzbek\",\n \"status\": true\n },\n {\n \"label\": \"Vanuatu\",\n \"name\": \"vanuatu\",\n \"value\": \"VUT\",\n \"infertext\": \"바누아투\",\n \"status\": true\n },\n {\n \"label\": \"Venezuela\",\n \"name\": \"venezuela\",\n \"value\": \"VEN\",\n \"infertext\": \"베네수엘라\",\n \"status\": true\n },\n {\n \"label\": \"Vietnam\",\n \"name\": \"vietnam\",\n \"value\": \"VNM\",\n \"infertext\": \"베트남 Tiếng Việt việt viet\",\n \"status\": true\n },\n {\n \"label\": \"Saint Vincent and the Grenadines\",\n \"name\": \"st-vincent-and-the-grenadines\",\n \"value\": \"VCT\",\n \"infertext\": \"세인트 빈센트 그레나딘\",\n \"status\": true\n },\n {\n \"label\": \"Yemen\",\n \"name\": \"yemen\",\n \"value\": \"YEM\",\n \"infertext\": \"예멘\",\n \"status\": true\n },\n\n {\n \"label\": \"Zambia\",\n \"name\": \"zambia\",\n \"value\": \"ZMB\",\n \"infertext\": \"잠비아\",\n \"status\": true\n },\n {\n \"label\": \"Zimbabwe\",\n \"name\": \"zimbabwe\",\n \"value\": \"ZWE\",\n \"infertext\": \"짐바브웨\",\n \"status\": true\n }\n];\n\nexport default country;\n","\"use strict\";\n\nimport KTUtil from \"./util\";\n\n// Component Definition\nvar KTCard = function(elementId, options) {\n // Main object\n var the = this;\n var init = false;\n\n // Get element object\n var element = KTUtil.getById(elementId);\n var body = KTUtil.getBody();\n\n if (!element) {\n return;\n }\n\n // Default options\n var defaultOptions = {\n toggleSpeed: 400,\n sticky: {\n releseOnReverse: false,\n offset: 300,\n zIndex: 101\n }\n };\n\n ////////////////////////////\n // ** Private Methods ** //\n ////////////////////////////\n\n var Plugin = {\n /**\n * Construct\n */\n\n construct: function(options) {\n if (KTUtil.data(element).has('card')) {\n the = KTUtil.data(element).get('card');\n } else {\n // reset menu\n Plugin.init(options);\n\n // build menu\n Plugin.build();\n\n KTUtil.data(element).set('card', the);\n }\n\n return the;\n },\n\n /**\n * Init card\n */\n init: function(options) {\n the.element = element;\n the.events = [];\n\n // merge default and user defined options\n the.options = KTUtil.deepExtend({}, defaultOptions, options);\n the.header = KTUtil.child(element, '.card-header');\n the.footer = KTUtil.child(element, '.card-footer');\n\n if (KTUtil.child(element, '.card-body')) {\n the.body = KTUtil.child(element, '.card-body');\n } else if (KTUtil.child(element, '.form')) {\n the.body = KTUtil.child(element, '.form');\n }\n },\n\n /**\n * Build Form Wizard\n */\n build: function() {\n // Remove\n var remove = KTUtil.find(the.header, '[data-card-tool=remove]');\n if (remove) {\n KTUtil.addEvent(remove, 'click', function(e) {\n e.preventDefault();\n Plugin.remove();\n });\n }\n\n // Reload\n var reload = KTUtil.find(the.header, '[data-card-tool=reload]');\n if (reload) {\n KTUtil.addEvent(reload, 'click', function(e) {\n e.preventDefault();\n Plugin.reload();\n });\n }\n\n // Toggle\n var toggle = KTUtil.find(the.header, '[data-card-tool=toggle]');\n if (toggle) {\n KTUtil.addEvent(toggle, 'click', function(e) {\n e.preventDefault();\n Plugin.toggle();\n });\n }\n },\n\n /**\n * Enable stickt mode\n */\n initSticky: function() {\n var lastScrollTop = 0;\n var offset = the.options.sticky.offset;\n\n if (!the.header) {\n return;\n }\n\n\t window.addEventListener('scroll', Plugin.onScrollSticky);\n },\n\n\t /**\n\t * Window scroll handle event for sticky card\n\t */\n\t onScrollSticky: function(e) {\n\t\t var offset = the.options.sticky.offset;\n\n\t\t if(isNaN(offset)) return;\n\n\t\t var st = KTUtil.getScrollTop();\n\n\t\t if (st >= offset && KTUtil.hasClass(body, 'card-sticky-on') === false) {\n\t\t\t Plugin.eventTrigger('stickyOn');\n\n\t\t\t KTUtil.addClass(body, 'card-sticky-on');\n\n\t\t\t Plugin.updateSticky();\n\n\t\t } else if ((st*1.5) <= offset && KTUtil.hasClass(body, 'card-sticky-on')) {\n\t\t\t // Back scroll mode\n\t\t\t Plugin.eventTrigger('stickyOff');\n\n\t\t\t KTUtil.removeClass(body, 'card-sticky-on');\n\n\t\t\t Plugin.resetSticky();\n\t\t }\n\t },\n\n updateSticky: function() {\n if (!the.header) {\n return;\n }\n\n var top;\n\n if (KTUtil.hasClass(body, 'card-sticky-on')) {\n if (the.options.sticky.position.top instanceof Function) {\n top = parseInt(the.options.sticky.position.top.call(this, the));\n } else {\n top = parseInt(the.options.sticky.position.top);\n }\n\n var left;\n if (the.options.sticky.position.left instanceof Function) {\n left = parseInt(the.options.sticky.position.left.call(this, the));\n } else {\n left = parseInt(the.options.sticky.position.left);\n }\n\n var right;\n if (the.options.sticky.position.right instanceof Function) {\n right = parseInt(the.options.sticky.position.right.call(this, the));\n } else {\n right = parseInt(the.options.sticky.position.right);\n }\n\n KTUtil.css(the.header, 'z-index', the.options.sticky.zIndex);\n KTUtil.css(the.header, 'top', top + 'px');\n KTUtil.css(the.header, 'left', left + 'px');\n KTUtil.css(the.header, 'right', right + 'px');\n }\n },\n\n resetSticky: function() {\n if (!the.header) {\n return;\n }\n\n if (KTUtil.hasClass(body, 'card-sticky-on') === false) {\n KTUtil.css(the.header, 'z-index', '');\n KTUtil.css(the.header, 'top', '');\n KTUtil.css(the.header, 'left', '');\n KTUtil.css(the.header, 'right', '');\n }\n },\n\n /**\n * Remove card\n */\n remove: function() {\n if (Plugin.eventTrigger('beforeRemove') === false) {\n return;\n }\n\n KTUtil.remove(element);\n\n Plugin.eventTrigger('afterRemove');\n },\n\n /**\n * Set content\n */\n setContent: function(html) {\n if (html) {\n the.body.innerHTML = html;\n }\n },\n\n /**\n * Get body\n */\n getBody: function() {\n return the.body;\n },\n\n /**\n * Get self\n */\n getSelf: function() {\n return element;\n },\n\n /**\n * Reload\n */\n reload: function() {\n Plugin.eventTrigger('reload');\n },\n\n /**\n * Toggle\n */\n toggle: function() {\n if (KTUtil.hasClass(element, 'card-collapse') || KTUtil.hasClass(element, 'card-collapsed')) {\n Plugin.expand();\n } else {\n Plugin.collapse();\n }\n },\n\n /**\n * Collapse\n */\n collapse: function() {\n if (Plugin.eventTrigger('beforeCollapse') === false) {\n return;\n }\n\n KTUtil.slideUp(the.body, the.options.toggleSpeed, function() {\n Plugin.eventTrigger('afterCollapse');\n });\n\n KTUtil.addClass(element, 'card-collapse');\n },\n\n /**\n * Expand\n */\n expand: function() {\n if (Plugin.eventTrigger('beforeExpand') === false) {\n return;\n }\n\n KTUtil.slideDown(the.body, the.options.toggleSpeed, function() {\n Plugin.eventTrigger('afterExpand');\n });\n\n KTUtil.removeClass(element, 'card-collapse');\n KTUtil.removeClass(element, 'card-collapsed');\n },\n\n /**\n * Trigger events\n */\n eventTrigger: function(name) {\n //KTUtil.triggerCustomEvent(name);\n for (var i = 0; i < the.events.length; i++) {\n var event = the.events[i];\n if (event.name == name) {\n if (event.one == true) {\n if (event.fired == false) {\n the.events[i].fired = true;\n return event.handler.call(this, the);\n }\n } else {\n return event.handler.call(this, the);\n }\n }\n }\n },\n\n addEvent: function(name, handler, one) {\n the.events.push({\n name: name,\n handler: handler,\n one: one,\n fired: false\n });\n\n return the;\n }\n };\n\n //////////////////////////\n // ** Public Methods ** //\n //////////////////////////\n\n /**\n * Set default options\n */\n\n the.setDefaults = function(options) {\n defaultOptions = options;\n };\n\n /**\n * Remove card\n */\n the.remove = function() {\n return Plugin.remove(html);\n };\n\n /**\n * Init sticky card\n */\n the.initSticky = function() {\n return Plugin.initSticky();\n };\n\n /**\n * Rerender sticky layout\n */\n the.updateSticky = function() {\n return Plugin.updateSticky();\n };\n\n /**\n * Reset the sticky\n */\n the.resetSticky = function() {\n return Plugin.resetSticky();\n };\n\n\t/**\n\t * Destroy sticky card\n\t */\n\tthe.destroySticky = function() {\n\t\tPlugin.resetSticky();\n\t\twindow.removeEventListener('scroll', Plugin.onScrollSticky);\n\t};\n\n /**\n * Reload card\n */\n the.reload = function() {\n return Plugin.reload();\n };\n\n /**\n * Set card content\n */\n the.setContent = function(html) {\n return Plugin.setContent(html);\n };\n\n /**\n * Toggle card\n */\n the.toggle = function() {\n return Plugin.toggle();\n };\n\n /**\n * Collapse card\n */\n the.collapse = function() {\n return Plugin.collapse();\n };\n\n /**\n * Expand card\n */\n the.expand = function() {\n return Plugin.expand();\n };\n\n /**\n * Get cardbody\n * @returns {jQuery}\n */\n the.getBody = function() {\n return Plugin.getBody();\n };\n\n /**\n * Get cardbody\n * @returns {jQuery}\n */\n the.getSelf = function() {\n return Plugin.getSelf();\n };\n\n /**\n * Attach event\n */\n the.on = function(name, handler) {\n return Plugin.addEvent(name, handler);\n };\n\n /**\n * Attach event that will be fired once\n */\n the.one = function(name, handler) {\n return Plugin.addEvent(name, handler, true);\n };\n\n // Construct plugin\n Plugin.construct.apply(the, [options]);\n\n return the;\n};\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTCard;\n}\n\nexport default KTCard;","\"use strict\";\n\nvar KTLayoutHeader = function() {\n // Private properties\n var _element;\n var _elementForMobile;\n var _object;\n\n\t// Private functions\n // Get Height\n var _getHeight = function() {\n var height = 0;\n\n if (_element) {\n height = KTUtil.actualHeight(_element) + 1;\n }\n\n return height;\n }\n\n // Get Height\n var _getHeightForMobile = function() {\n var height;\n\n height = KTUtil.actualHeight(_elementForMobile);\n\n return height;\n }\n\n // Public Methods\n\treturn {\n\t\tinit: function(id, idForMobile) {\n _element = KTUtil.getById(id);\n _elementForMobile = KTUtil.getById(idForMobile);\n\n if (!_element) {\n return;\n }\n\t\t},\n\n isFixed: function() {\n return KTUtil.hasClass(KTUtil.getBody(), 'header-fixed')\n },\n\n isFixedForMobile: function() {\n return KTUtil.hasClass(KTUtil.getBody(), 'header-mobile-fixed')\n },\n\n getElement: function() {\n return _element;\n },\n\n getElementForMobile: function() {\n return _elementForMobile;\n },\n\n getHeader: function() {\n return _object;\n },\n\n getHeight: function() {\n return _getHeight();\n },\n\n getHeightForMobile: function() {\n return _getHeightForMobile();\n }\n\t};\n}();\n\n\n\nexport default KTLayoutHeader;","\"use strict\";\n\nimport KTUtil from \"./util\";\n// DOCS: https://javascript.info/cookie\n\n// Component Definition\nvar KTCookie = function() {\n return {\n // returns the cookie with the given name,\n // or undefined if not found\n getCookie: function(name) {\n var matches = document.cookie.match(new RegExp(\n \"(?:^|; )\" + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + \"=([^;]*)\"\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n },\n // Please note that a cookie value is encoded,\n // so getCookie uses a built-in decodeURIComponent function to decode it.\n setCookie: function(name, value, options) {\n if (!options) {\n options = {};\n }\n\n options = Object.assign({}, {path: '/'}, options);\n\n if (options.expires instanceof Date) {\n options.expires = options.expires.toUTCString();\n }\n\n var updatedCookie = encodeURIComponent(name) + \"=\" + encodeURIComponent(value);\n\n for (var optionKey in options) {\n if (!options.hasOwnProperty(optionKey)) {\n continue;\n }\n updatedCookie += \"; \" + optionKey;\n var optionValue = options[optionKey];\n if (optionValue !== true) {\n updatedCookie += \"=\" + optionValue;\n }\n }\n\n document.cookie = updatedCookie;\n },\n // To delete a cookie, we can call it with a negative expiration date:\n deleteCookie: function(name) {\n setCookie(name, \"\", {\n 'max-age': -1\n })\n }\n }\n}();\n\n// webpack support\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = KTCookie;\n}\n\nexport default KTCookie;","\"use strict\";\n\nvar KTLayoutHeaderMenu = function() {\n // Private properties\n\tvar _menuElement;\n var _menuObject;\n var _offcanvasElement;\n var _offcanvasObject;\n\n // Private functions\n\tvar _init = function() {\n\t\t_offcanvasObject = new KTOffcanvas(_offcanvasElement, {\n\t\t\toverlay: true,\n\t\t\tbaseClass: 'header-menu-wrapper',\n\t\t\tcloseBy: 'kt_header_menu_mobile_close_btn',\n\t\t\ttoggleBy: {\n\t\t\t\ttarget: 'kt_header_mobile_toggle',\n\t\t\t\tstate: 'mobile-toggle-active'\n\t\t\t}\n\t\t});\n\t\t\n\t\t_menuObject = new KTMenu(_menuElement, {\n\t\t\tsubmenu: {\n\t\t\t\tdesktop: 'dropdown',\n\t\t\t\ttablet: 'accordion',\n\t\t\t\tmobile: 'accordion'\n\t\t\t},\n\t\t\taccordion: {\n\t\t\t\tslideSpeed: 200, // accordion toggle slide speed in milliseconds\n\t\t\t\texpandAll: false // allow having multiple expanded accordions in the menu\n\t\t\t}\n\t\t});\n\n\t\t// Close aside offcanvas panel before page reload On tablet and mobile\n _menuObject.on('linkClick', function(menu) {\n if (KTUtil.isBreakpointDown('lg')) { // Tablet and mobile mode\n _offcanvasObject.hide(); // Hide offcanvas after general link click\n }\n });\n\t}\n\n // Public methods\n\treturn {\n init: function(menuId, offcanvasId) {\n _menuElement = KTUtil.getById(menuId);\n _offcanvasElement = KTUtil.getById(offcanvasId);\n\n if (!_menuElement) {\n return;\n }\n\n // Initialize menu\n _init();\n\t\t},\n\n\t\tgetMenuElement: function() {\n\t\t\treturn _menuElement;\n\t\t},\n\n getOffcanvasElement: function() {\n\t\t\treturn _offcanvasElement;\n\t\t},\n\n getMenu: function() {\n\t\t\treturn _menuObject;\n\t\t},\n\n\t\tpauseDropdownHover: function(time) {\n\t\t\tif (_menuObject) {\n\t\t\t\t_menuObject.pauseDropdownHover(time);\n\t\t\t}\n\t\t},\n\n getOffcanvas: function() {\n\t\t\treturn _offcanvasObject;\n\t\t},\n\n\t\tcloseMobileOffcanvas: function() {\n\t\t\tif (_menuObject && KTUtil.isMobileDevice()) {\n\t\t\t\t_offcanvasObject.hide();\n\t\t\t}\n\t\t}\n\t};\n}();\n\n\n\nexport default KTLayoutHeaderMenu;"],"sourceRoot":""}